• امضای دیجیتالی (قسمت اول)
      شماره: IRCAR201002051

      افراد خرابكار بسیاری در اینترنت حضور دارند كه می­توانند با سرقت هویت باعث دردسر شما و یا سازمان شما گردند. به همین دلیل شركتهایی ایجاد شده اند كه با فروش امضای دیجیتالی، در پروسه تایید هویت و اعتبار به شما كمك می­كند. در این مقاله به مفهوم امضای دیجیتالی و كاربردهای این تكنولوژی در تایید اعتبار یك كاربر خواهیم پرداخت.


      امضای دیجیتالی چیست؟


      امضای دیجیتالی عبارتست از یك فایل موجود بر روی كامپیوتر كه اعتبار هویت شما را تایید می­كند. امضاهای دیجیتالی توسط برنامه های اینترنتی و یا محلی سیستم شما مورد استفاده قرار می­گیرند تا هویت شما را به فرد دیگری اثبات نمایند. معمولا امضاهای دیجیتالی با امضاهای الكترونیكی اشتباه گرفته می­شوند. در حالی­كه امضاهای الكترونیكی صرفا عبارتند از كپی­های اسكن شده از یك امضای دستی. در برخی كشورها از جمله ایالات متحده آمریكا و كشورهای عضو اتحادیه اروپا، امضاهای الكترونیكی نیز اعتبار قانونی دارند.
      یك امضای دیجیتالی در حقیقت یك طرح ریاضی برای اثبات هویت و اعتبار یك پیغام یا سند دیجیتالی است. یك امضای دیجیتالی معتبر به گیرنده پیغام نشان می­دهد كه این پیغام توسط شخص شناخته شده ای ارسال شده و در زمان انتقال نیز تغییر نكرده است. امضاهای دیجیتالی معمولا برای انتشار نرم افزارها، نقل و انتقالات مالی، و موارد دیگری كه تشخیص جعل در آن اهمیت دارد، مورد استفاده قرار می­گیرند.
      امضاهای دیجیتالی نوعی رمزنگاری نامتقارن را به كار می­گیرند. برای پیغامهای ارسال شده از طریق یك كانال نا امن، یك امضای دیجیتالی مناسب به گیرنده این اطمینان را می­دهد كه این پیغام قطعا توسط فرد مورد نظر ارسال شده است. امضاهای دیجیتالی از بسیاری جهات مشابه امضاهای دستی سنتی هستند، با این تفاوت كه جعل یك امضای دیجیتالی خوب بسیار سخت تر از جعل یك امضای دستی است. امضاهای دیجیتالی مبتنی بر رمزنگاری هستند و باید به شكل مناسبی به كار گرفته شوند تا مفید واقع گردند. امضاهای دیجیتالی همچنین این خاصیت را دارند كه فرستنده به سادگی نمی­تواند آن را انكار نماید، مگر اینكه كلید خصوصی وی لو رفته باشد. همچنین برخی روش­ها از برچسب زمانی برای امضای دیجیتالی استفاده می­كنند، در نتیجه حتی اگر كلید خصوصی لو برود، امضا معتبر باقی می­ماند.


      طرح عمومی امضای دیجیتالی

      یك طرح امضای دیجیتالی نوعا از سه الگوریتم تشكیل شده است:

      • یك الگوریتم تولید كلید كه كلید خصوصی را به طور یكنواخت و تصادفی از مجموعه ای از كلیدهای خصوصی ممكن انتخاب می­كند. این الگوریتم كلید خصوصی و یك كلید عمومی مرتبط با آن را ایجاد می­كند.
      • یك الگوریتم امضا كه یك پیغام و یك كلید خصوصی را دریافت كرده و با رمز كردن پیغام توسط كلید خصوصی فرستنده، امضا را تولید می­كند.
      • یك الگوریتم اعتبار یابی امضا كه یك پیغام، كلید عمومی و یك امضا را دریافت كرده و اعتبار پیغام را با رمزگشایی امضا توسط كلید عمومی فرستنده و مقایسه حاصل با پیغام اصلی، تایید و یا رد می­كند.

      در این میان دو ویژگی اساسی مورد نیاز است. نخست اینكه امضای تولید شده از یك پیغام ثابت و یك كلید خصوصی ثابت، باید بتواند هویت و اعتبار آن پیغام را با استفاده از كلید عمومی مربوطه مشخص نماید. دوم اینكه تولید یك امضای معتبر برای كسی كه كلید خصوصی را در اختیار ندارد از لحاظ محاسباتی باید غیر ممكن باشد.


      تاریخچه


      در سال 1976، «ویتفیلد دیفی» و «مارتین هلمن» برای اولین بار طرح یك امضای دیجیتالی را شرح دادند. پس از مدت كمی، «رونالد ریوست»، «ادی شامیر»، و «لن آدلمن» الگوریتم RSA را اختراع كردند كه می­توانست برای امضاهای دیجیتالی اولیه مورد استفاده قرار گیرد. البته امضاهای RSA خالص امن نیستند. نخستین بسته نرم افزاری كه به طور گسترده ای برای امضای دیجیتالی به فروش رفت Lotus Notes 1.0 بود كه در سال 1989 عرضه شد و از الگوریتم RSA استفاده می­كرد.

      امضاهای اولیه RSA به صورت زیر محاسبه می­شوند:


      برای تولید كلیدهای امضای RSA ابتدا به سادگی یك زوج كلید RSA شامل قدر مطلق N تولید می شود كه حاصلضرب دو عدد اول بزرگ است به طوریكه:

      در این رابطه phi تابع اویلر است و e و d نیز دو عدد صحیح هستند. كلید عمومی امضا از N و e تشكیل شده است و كلید خصوصی امضا نیز d را در بر دارد.

      برای امضای پیغام m، امضا كننده رابطه زیر را محاسبه می كند:

      گیرنده نیز برای تعیین اعتبار امضا، درستی عبارت زیر را بررسی می نماید:

      البته همانطور كه اشاره شد، این روش اولیه چندان امن نیست. برای جلوگیری از حملات، فرد می­تواند ابتدا یك تابع درهم سازی رمزنگاری را به پیغام m اعمال نماید و سپس الگوریتم RSA را كه توضیح داده شده، به نتیجه آن كه خلاصه ای از پیغام اصلی است، اعمال كند. امنیت این روش در مدل اوراكل تصادفی قابل اثبات است.

      مدت كمی پس از RSA، روشهای دیگری نیز برای امضای دیجیتالی معرفی شدند كه از آن جمله می­توان به روشهای امضای Lamport، امضای Merkle (كه به نام درختهای Merkle یا درختهای درهم سازی نیز شناخته می­شود)، و امضای Rabin اشاره كرد.

      در سال 1984 «شافی گلدواسر»، «سیلویو میكالی» و «رونالد رایوست» برای نخستین بار لوازم مورد نیاز برای یك امضای دیجیتالی را تعریف كردند. آنها یك سلسله مراتب از مدلهای حمله برای امضاهای دیجیتالی را توصیف كردند و مدل امضای دیجیتالی GMR را نیز ارائه نمودند. این مدل، اولین مدلی است كه می­تواند حتی از حمله جعل علیه یك پیغام انتخاب شده جلوگیری نماید.

      اغلب مدلهای اولیه امضای دیجیتالی از یك نوع مشابه بودند: همه آنها شامل یك تابع trapdoor مانند تابع RSA بودند (توابع trapdoor به توابعی اطلاق می­گردد كه از یك طرف به راحتی قابل محاسبه هستند. اما از طرف دیگر بدون داشتن برخی اطلاعات خاص، یعنی كلید خصوصی، قابل محاسبه نیستند. این توابع در رمزنگاری مورد استفاده قرار می­گیرند).

      اما استفاده مستقیم از این روش، قابلیت جعل امضا را افزایش می­دهد. به همین دلیل، ابتدا پیغامی كه قرار است امضا گردد درهم سازی می­شود تا خلاصه ای از آن ایجاد شده و سپس امضا گردد. توابع درهم سازی از این خصوصیت برخوردارند كه یكطرفه هستند. یعنی از خلاصه به دست آمده، نمی توان به پیغام اصلی دست یافت.

      دلایل متعددی برای امضای خلاصه پیغام به جای كل آن وجود دارد:

      • كارآیی: این امضا بسیار كوتاهتر بوده و به همین دلیل، در زمان صرفه جویی می­گردد. چرا كه عملیات درهم سازی نسبت به امضا، به زمان كمتری نیاز دارد.
      • سازگاری: پیغامها معمولا رشته هایی از بیت­ها هستند، ولی برخی امضاها در دامنه های دیگری كار می­كنند. یك تایع درهم سازی می­تواند برای تبدیل یك ورودی دلخواه به یك فرمت مناسب مورد استفاده قرار گیرد.
      • تمامیت: بدون تابع درهم سازی، ممكن است پیغامی كه قرار است امضا شود، به بلوكهای كوچكی تقسیم گردد. اما گیرنده قادر نیست اطمینان حاصل كند كه تمامی بلوكهای امضا شده را با ترتیب صحیح دریافت كرده است.

      تصویر زیر، عملیات امضا و تایید اعتبار یك پیغام را نشان می­دهد.


      مقالات مرتبط:
      رمزنگاری چیست؟

      كلیدهای رمزنگاری
      الگوریتمهای رمزنگاری با كلید نامتقارن
      الگوریتمهای رمزنگاری با كلید متقارن

كلیه حقوق سایت برای مركز مدیریت امداد و هماهنگی عملیات رخدادهای رایانه ای كشور محفوظ می باشد.
هر گونه استفاده از محتوای این پورتال بدون ذكر منبع ممنوع می باشد و پیگرد قانونی دارد