مشخصات امضا دیجیتال
طرح امضای دیجیتال معمولاً سه الگوریتم را شامل میشود: ۱- الگوریتم تولید کلید را که کلید خصوصی را بهطور یکسان و تصادفی از مجموعه کلیدهای ممکن انتخاب میکند. خروجیهای این الگوریتم کلید خصوصی و کلید عمومی مطابق با آن است. ۲- الگوریتم امضا که توسط آن با استفاده از کلید خصوصی و پیام، امضا شکل میگیرد. ۳-الگوریتمی که با استفاده از پیام دریافتی و کلید عمومی صحت امضا را بررسی میکند و با مطابقتی که انجام میدهد یا امضا را میپذیرد یا آن را رد میکند.
دو ویژگی اصلی که در امضای دیجیتال مورد نیاز است: اول، امضای تولید شده از پیام مشخص و ثابت هنگامی که توسط کلید عمومی مورد بررسی قرار میگیرد فقط در مورد همان پیام ارسالی میتواند عمل تطبیق را صورت دهد و در مورد هر پیام متفاوت و خاص میباشد. ثانیاً، امضای دیجیتال میبایست قابلیت اجرا توسط الگوریتم را داشته باشد و بتواند فایل امضای معتبر برای مهمانی که کلید خصوصی را دارا نمیباشد ایجاد نماید.
تاریخچه
بر اساس اسناد معتبر «دیدگاههای جدید در رمزنگاری» در سال ۱۹۷۶ توسط ویتفید دیفای و مارتین هیلمن برای تشریح ایدههای اولیه طرح فایل امضای دیجیتال ارائه شد. البته به نظر میرسد طرحهای اولیه دیگری نیز در آن زمان وجود داشتهاست. مدت کوتاهی پس از آن جمع دیگری از محققین به نامهای ریوست، شمیر و آدلمن، الگوریتم آر اس اِی را ابداع کردند که میتوانست برای تولید امضای دیجیتال اولیه به کار رود. اول بسته نرمافزاری امضای دیجیتال با عنوان لوتوس نت در سال ۱۹۸۹ بر مبنای همین الگوریتم به بازار عرضه شد.
در سال ۱۹۸۴ میشلی، گلدواسر و ریوست با تمام دقت موارد مورد نیاز را برای برقراری امنیت در طرح امضای دیجیتال بررسی کردند. آنها با بررسی مدلهای مختلف حمله برای امضای دیجیتال توانستند طرح فایل امضای دیجیتال جی ام آر را ارائه کنند که میتواند در مقابل حمله به پیام و جعلی بودن آن مقاومت کند.
طرحهای ابتدایی امضای دیجیتال مشابه همدیگر بودند: آنها از جایگشت (تبدیل) دریچهای استفاده میکردند، مانند تابع آر اس اِی یا در برخی موارد از طرح امضای رابین بهره میگرفتند. جایگشت دریچهای نوعی از مجموعه جایگشت هاست که به وسیله پارامترها مشخص میشود که در محاسبههای رو به جلو سریع عمل میکند ولی در محاسبههای بازگشتی با مشکل مواجه میشود. با این وجود برای هر پارامتر یک دریچه وجود دارد که حتی محاسبههای بازگشتی را آسان میکند. جایگشتهای دریچهای میتوانند مانند سیستمهای رمزگذاری با کلید عمومی باشند. در جایی که پارامتر به عنوان کلید عمومی و جایگشت دریچهای به عنوان کلید پنهان است رمزگذاری مانند محاسبه جایگشت در جهت رو به جلوست و رمز گشایی مانند محاسبه در جهت معکوس است. همچنین جایگشتهای دریچهای میتوانند مانند طرح فایل امضا دیجیتال باشند، به این صورت که محاسبه در جهت معکوس با کلید پنهان مانند امضا کردن است و محاسبه در جهت پیش رو مانند بررسی صحت امضاست. به دلیل این همخوانی امضاهای دیجیتال اغلب بر پایه سامانه رمزنگاری با کلید عمومی تشریح میشوند اما این تنها روش پیادهسازی امضای دیجیتال نیست.
ولی این نوع طرح امضای دیجیتال در برابر حملات آسیبپذیر است و شخص مهاجم میتواند با دست کاری در روش بررسی صحت امضا، یک امضای دیجیتال جعلی برای خود ساخته و شبکه را با مشکل مواجه سازد. هرچند این نوع امضا به شکل مستقیم به کار گرفته نمیشود ولی ترجیحاً ابتدا پیام را با استفاده از روشهای درهم سازی خلاصه میکنند و سپس خلاصه پیام را امضا میکنند و در نتیجه با استفاده از همین ترفند، شخص مهاجم فقط میتواند یک امضای دیجیتال جعلی برای خود درست کند که این امضا با محتویات مربوط به خروجی تابع درهم سازی از پیام خلاصه شده تطابق ندارد و شخص مهاجم نمیتواند به محتویات پیام خدشهای وارد کند.
همچنین دلایل متنوعی وجود دارد تا افرادی که میخواهند از امضای دیجیتال استفاده کنند از خلاصه پیام و خروجی تابع درهمسازی برای امضا استفاده کنند. اولین دلیل ایجاد بازدهی مناسب برای طرح امضای دیجیتال است زیرا فایل امضا خیلی کوتاهتر خواهد بود و در نتیجه زمان کمتری صرف میشود. دومین دلیل برای سازگاری بیشتر است زیرا با استفاده از تابع درهمسازی شما میتوانید خروجی مطابق با نوع الگوریتمی که به کار گرفتهاید داشته باشید. سومین دلیل برای درستی اجرای امضای دیجیتال است: بدون استفاده از تابع درهمسازی ممکن است پیام شما در هنگام امضا به دلیل مشکل فضا به بخشهای مختلف تقسیم شود و شخص دریافتکننده نتواند به درستی منظور فرستنده را دریافت کند بنابراین از این تابع استفاده میکند تا خود پیام را به شکل خلاصه و بدون ایجاد مشکل ارسال کند.
نظریههای امنیتی در تحقیقات میشلی، گلدواسر و ریوست مراتب متفاوت حمله به امضاهای دیجیتال را برای ایجاد دیوار دفاعی مناسب بررسی کردند و نتایج زیر به دست آمد:
1. در حمله کلید یگانه، مهاجم فقط روند بررسی و تأیید کلید عمومی را بدست میآورد و از این طریق سامانه را مورد تهاجم قرار میدهد.
2. در حمله با پیام آشکار، مهاجم یک کلید کارآمد برای مجموعهای از پیامهای آشکار و مشخص در اختیار دارد و فقط با استفاده از پیام مشخص میتواند حمله کند و توانایی انتخاب پیام برای مورد حمله قرار دادن نخواهد داشت.
3. در انطباق پیام انتخاب شده، مهاجم ابتدا امضا را بر روی یک پیام دلخواه که مورد انتخاب مهاجم است یادمیگیرد و از آن امضا استفاده میکند.
در ادامه مراحل نتایج حمله به سامانه امضای دیجیتال از طریق روشهای مذکور مطرح میشود:
1. در مرحله اول امکان ترمیم و استفاده مجدد از امضای دیجیتال را از بین خواهد برد.
2. توانایی جعل امضا در یک سطح گسترده از دیگر نتایج حمله به امضای دیجیتال است. در این مرحله شخص مهاجم توانایی جعل امضا برای هر پیامی را به دست خواهدآورد.
3. جعل در مورد پیامهای انتخابی؛ در این مورد مهاجم میتواند جعل امضا را در مورد پیام انتخابی خود انجام دهد.
4. در این مورد از نتایج حمله به امضای دیجیتال شخص مهاجم فقط میتواند از طریق امضای در دسترس خود و برخی پیامها به محتویات آنها دست پیدا کند و دیگر شخص مهاجم توانایی انتخاب ندارد و انتخابهای او محدود میشود.
معایب امضای دیجیتال
با وجود تمام مزایایی که امضای دیجیتال دارد و در ادامه همین مقاله به بررسی آن میپردازیم ولی این طرح همچنان در حل برخی مشکلات که در ادامه آنها را مطرح میکنیم ناتوان است. الگوریتم و قوانین مربوط به آن نمیتوانند تاریخ و زمان امضای یک سند را در ذیل آن درج کنند از همین جهت شخص دریافتکننده نمیتواند این اطمینان را حاصل کند که نامه واقعاً در چه تاریخ و زمانی به امضا رسیدهاست. ممکن است در محتویات سند تاریخی درج شده باشد و با تاریخی که شخص نامه را امضا کرده باشد مطابقت نداشته باشد. البته برای حل این مشکل میتوان از یک راه حل با عنوان زمان اعتماد به مهرو امضا استفاده کرد. همانطور که در ابتدای تعریف امضای دیجیتال اشاره شد این طرح غیرقابل انکار است و ساختار امضای دیجیتال بر همین اساس شکل گرفتهاست. همانطور که میدانید تکذیب در لغت به معنی انکار هرگونه مسئولیت نسبت به یک فعالیت است. هنگامی که پیامی ارسال میشود و فرستده آن را همراه امضا دریافت میکند در واقع این اطمینان در شخص دریافتکننده ایجاد میشود که نامه را چه کسی امضا کردهاست و انکار امضا کاری مشکل به نظر میرسد. البته تا زمانی که کلید خصوصی به صورت مخفی باقی بماند شخص فرستنده نمیتواند چنین ادعایی داشته باشد ولی هنگامی که فایل امضای شخصی مورد حمله قرار بگیرد نه تنها خود فایل امضا اعتبار لازم را از دست میدهد بلکه استفاده از زمان اعتبار مهر و امضا نیز دیگر کاربردی نخواهد داشت. البته یادآوری این نکته لازم است هنگامی که شما در سامانه خود از کلید عمومی بهره میگیرد دیگر نمیتوانید امضای خود را انکار کنید و در صورتی این موضوع امکانپذیر است که کل شبکه مورد حمله واقع شود و سامانه از اعتبار لازم ساقط شود. بنا براین توجه به انتخاب یک راه حل درست برای پیادهسازی طرح امضای دیجیتال از اهمیت ویژهای برخوردار است و همانطور که عنوان شد ممکن است با یک مشکل کل اعتبار مجموعه زیر سؤال برود. مطابق اصول فنی امضای دیجیتال که در توضیحهای ابتدایی آورده شدهاست، فایل امضای دیجیتال رشتهای از بیتها را در اجرای این طرح به کار میبرد. در واقع افراد در این طرح مجموعهای از بیتها را که ترجمه پیام است امضا میکنندآن آنها ترجمه معنایی آنها ذرهها امضا میکنند. مشکل دیگر امضای دیجیتال این است که چون پیام توسط یک تابع مشخص به مجموعهای از بیتها ترجمه و پردازش میشود ممکن است در طی مرحله انتقال و دریافت پیام ترجمه پیام دچار خدشه شود و مفهوم دیگری به خود گیرد. برای حل این مشکل از روشی با عنوان دبلیو وای اس آی دبلیو وای اس استفاده میشود به این معنا که همان چیزی که مشاهده میشود امضا میشود. در این روش همان اطلاعات ترجمه شده خود را بدون آن که اطلاعات مخفی دیگری در آن قرار گیرد امضا میکند و پس از امضا و تأیید اطلاعات از سوی شخص فرستنده درون سامانه به کار گرفته میشود. در واقع این روش ضمانت نامه محکمی برای امضای دیجیتال بهشمار میرود و در سیستمهای رایانهای مدرن قابلیت پیادهسازی و اجرا را خواهد داشت.
فهرست
امضای دیجیتال چیست و چگونه باید آن را دریافت کرد؟ 3
امضای دیجیتال 3
مشخصات امضا دیجیتال 5
تاریخچه 5
معایب امضای دیجیتال 7
مزایای امضای دیجیتال 8
کلید عمومی رمزنگاری 9
تولید کلید 10
پروتکل رمز نگاری 11
جمعبندی 12
امضای دیجیتال چیست؟ 12
امضای الکترونیک چگونه امنیت را تامین میکند؟ 14
یک مثال 15
کلیدها چه ربطی به امضای دیجیتال دارند؟ 16
چگونه امضای دیجیتال دریافت کنیم؟ 17
امضای دیجیتال در مقابل امضای دستی 18
مزایای امضای دیجیتال 19
تصدیق هویت پیام 19
حفظ حریم خصوصی 19
یکپارچگی دادهها 19
محرمانگی دادهها 20
عدم انکار امضا 20
امضای دیجیتال چه کاربردهایی دارد؟ 21
نتیجه گیری 21
امضای دیجیتال امنیت چه چیزی را تامین می کند؟ 22
روش های تولید امضاء دیجیتالی 23
ویژگیهای امضاهای دیجیتال 23
حملات ممکن علیه امضاهای دیجیتالی 24
ساخت امضای دیجیتال و اهمیت آن: 25
تفاوت امضای دیجیتال و الکترونیکی: 25
الگوریتم امضای دیجیتال: 25
دریافت امضای دیجیتال:. 26
چگونه امضای دیجیتال بسازیم؟ 26
منابع 27