امضاء دیجیتالی (قسمت اول)
یک شنبه 9 فروردین 1394 9:05 AM
افراد خرابکار با حضور در اینترنت می توانند با سرقت هویت باعث دردسر شما و یا سازمان شما گردند. به همین دلیل شرکتهایی ایجاد شده اند که با فروش امضای دیجیتالی، در پروسه تایید هویت و اعتبار به شما کمک می کند. در این مقاله به مفهوم امضای دیجیتالی و کاربردهای این تکنولوژی در تایید اعتبار یک کاربر خواهیم پرداخت.
امضای دیجیتالی چیست؟
امضای دیجیتالی عبارتست از یک فایل موجود بر روی کامپیوتر که اعتبار هویت شما را تایید می کند. امضاهای دیجیتالی توسط برنامه های اینترنتی و یا محلی سیستم شما مورد استفاده قرار می گیرند تا هویت شما را به فرد دیگری اثبات نمایند. معمولا امضاهای دیجیتالی با امضاهای الکترونیکی اشتباه گرفته می شوند. در حالی که امضاهای الکترونیکی صرفا عبارتند از کپی های اسکن شده از یک امضای دستی. در برخی کشورها از جمله ایالات متحده آمریکا و کشورهای عضو اتحادیه اروپا، امضاهای الکترونیکی نیز اعتبار قانونی دارند.
یک امضای دیجیتالی در حقیقت یک طرح ریاضی برای اثبات هویت و اعتبار یک پیغام یا سند دیجیتالی است. یک امضای دیجیتالی معتبر به گیرنده پیغام نشان می دهد که این پیغام توسط شخص شناخته شده ای ارسال شده و در زمان انتقال نیز تغییر نکرده است. امضاهای دیجیتالی معمولا برای انتشار نرم افزارها، نقل و انتقالات مالی، و موارد دیگری که تشخیص جعل در آن اهمیت دارد، مورد استفاده قرار می گیرند.
امضاهای دیجیتالی نوعی رمزنگاری نامتقارن را به کار می گیرند. برای پیغامهای ارسال شده از طریق یک کانال نا امن، یک امضای دیجیتالی مناسب به گیرنده این اطمینان را می دهد که این پیغام قطعا توسط فرد مورد نظر ارسال شده است. امضاهای دیجیتالی از بسیاری جهات مشابه امضاهای دستی سنتی هستند، با این تفاوت که جعل یک امضای دیجیتالی خوب بسیار سخت تر از جعل یک امضای دستی است. امضاهای دیجیتالی مبتنی بر رمزنگاری هستند و باید به شکل مناسبی به کار گرفته شوند تا مفید واقع گردند. امضاهای دیجیتالی همچنین این خاصیت را دارند که فرستنده به سادگی نمی تواند آن را انکار نماید، مگر اینکه کلید خصوصی وی لو رفته باشد. همچنین برخی روش ها از برچسب زمانی برای امضای دیجیتالی استفاده می کنند، در نتیجه حتی اگر کلید خصوصی لو برود، امضا معتبر باقی می ماند.
طرح عمومی امضای دیجیتالی
یک طرح امضای دیجیتالی نوعا از سه الگوریتم تشکیل شده است:
در این میان دو ویژگی اساسی مورد نیاز است. نخست اینکه امضای تولید شده از یک پیغام ثابت و یک کلید خصوصی ثابت، باید بتواند هویت و اعتبار آن پیغام را با استفاده از کلید عمومی مربوطه مشخص نماید. دوم اینکه تولید یک امضای معتبر برای کسی که کلید خصوصی را در اختیار ندارد از لحاظ محاسباتی باید غیر ممکن باشد.
تاریخچه
در سال 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 به توابعی اطلاق می گردد که از یک طرف به راحتی قابل محاسبه هستند. اما از طرف دیگر بدون داشتن برخی اطلاعات خاص، یعنی کلید خصوصی، قابل محاسبه نیستند. این توابع در رمزنگاری مورد استفاده قرار می گیرند).
اما استفاده مستقیم از این روش، قابلیت جعل امضا را افزایش می دهد. به همین دلیل، ابتدا پیغامی که قرار است امضا گردد درهم سازی می شود تا خلاصه ای از آن ایجاد شده و سپس امضا گردد. توابع درهم سازی از این خصوصیت برخوردارند که یکطرفه هستند. یعنی از خلاصه به دست آمده، نمی توان به پیغام اصلی دست یافت.
دلایل متعددی برای امضای خلاصه پیغام به جای کل آن وجود دارد:
تصویر زیر، عملیات امضا و تایید اعتبار یک پیغام را نشان می دهد.
.تفکر از تخصص مهمتر است📌