فا

‫ امضاي ديجيتالي (قسمت اول)

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 به توابعي اطلاق مي­گردد كه از يك طرف به راحتي قابل محاسبه هستند. اما از طرف ديگر بدون داشتن برخي اطلاعات خاص، يعني كليد خصوصي، قابل محاسبه نيستند. اين توابع در رمزنگاري مورد استفاده قرار مي­گيرند).

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

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

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

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


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

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


نظرات

بدون نظر
شما برای نظر دادن باید وارد شوید

نوشته

 
تاریخ ایجاد: 18 مرداد 1393

دسته‌ها

امتیاز

امتیاز شما
تعداد امتیازها: 0