امضای دیجیتال چیست؟
محمد كرامتي- دنياي كامپيوتر و ارتباطات
شايد تاکنون نامههای الکترونيکی متعددی را دريافت داشتهايد که دارای مجموعهای از حروف و اعداد در انتهای آنان میباشند. در اولين نگاه ممکن است اينگونه تصور گردد که اطلاعات فوق بی فايده بوده و شايد هم نشان دهنده بروز يک خطا در سيستم باشد! در حقيقت ما شاهد استفاده از امضای ديجيتال در يک نامه الکترونيکی میباشيم. به منظور ايجاد يک امضای ديجيتال از يک الگوريتم رياضی به منظور ترکيب اطلاعات در يک کليد با اطلاعات پيام، استفاده میشود. ماحصل عمليات، توليد يک رشته مشتمل بر مجموعهای از حروف و اعداد است. يک امضای ديجيتال صرفاً به شما نخواهد گفت که «اين شخص يک پيام را نوشته است» بلکه در بردارنده اين مفهوم مهم است که: «اين شخص اين پيام را نوشته است».
كاغذ به عنوان حامل اطلاعات مهم جاي خود را كمكم به ديگر راههاي تبادل اطلاعات ميدهد. در واقع كاغذ داراي معايبي از قبيل انتقال آهسته و پرهزينه اسناد ميباشد. همچنين شيوههاي ذخيرهسازي اطلاعات نيز به سرعت در حال تغيير است و به جاي بايگاني انبوه دستههاي كاغذ از روشهاي الكترونيكي استفاده ميشود. فناوريهاي جديد انتقال اطلاعات، مانند EDI و پست الكترونيك و استفاده از سيستمهاي مديريت اسناد كامپيوتري نگارش، ارسال و ذخيره اطلاعات را سادهتر، سريعتر و حتي ايمنتر ساخته است.
به خاطر ساختار غير فيزيكي واسطه (وسيله حامل داده)، روشهاي سنتي علامتگذاري فيزيكي واسطه توسط مهر يا امضا (براي مقاصد تجاري و حقوقي) غير قابل استفاده ميباشند. هنگام كار با اسناد الكترونيكي، بايد علامتي براي تشخيص اصل بودن و سنديت بخشيدن به محتواي آن، به اطلاعات اضافه شود. بعضي شيوههاي جديد تنها براي سنديت بخشيدن به يك موجوديت جهت مجوزدهي به دسترسي، استفاده ميشوند؛ براي مثال نبايد يك سيستم تشخيص هويت انگشتنگاري كامپيوتري، يك امضاي دستي اسكن شده يا وارد كردن اسم شخص در انتهاي يك E-mail را به عنوان يك جايگزين معتبر براي امضاهاي دستي پذيرفته زيرا همه عملكردهاي يك امضاي دستي را نخواهد داشت.
با امضا كردن در پاي يك نوشته امضا كننده هويت خود را به عنوان نويسنده مشخص ميكند، جامعيت سند را تأييد نموده و بيان ميدارد كه به محتويات آن متعهد و پايبند ميباشد. برخي از خواص مهم امضاهاي دستي عبارت است از:
1 - امضای يك شخص براي تمام مدارك يكسان است.
2 - به راحتي توليد ميشوند.
3 - به راحتي تميز داده ميشوند.
4 - بايد به گونهاي باشند كه حتيالامكان به سختي جعل شوند.
5 - به طور فيزيكي توليد ميشوند. يك امضاي ديجيتالي يك ابزار سنديت بخشيدن الكترونيكي ميباشد، كه منجر به سنديت بخشيدن به يك ركورد الكترونيكي از طريق رمزنگاري با كليد همگاني ميشود.
ويژگيهاي مهم امضاهاي ديجيتال عبارت است از:
1- در توليد آنها از اطلاعاتي كه به طور منحصربهفرد در اختيار امضاكننده است، استفاده ميشود.
2- به طور خودكار و توسط رايانه توليد ميشوند.
3- امضای هر پيام وابسته به كليه بيتهاي پيام است و هر گونه دستكاري و تغيير در متن سند موجب مخدوش شدن امضای پيام ميگردد.
4 - امضای هر سندي متفاوت با امضای اسناد ديگر است.
5 - بايد به راحتي قابل بررسي و تأييد باشد تا از جعل و انكار احتمالي آن جلوگيري شود. ساختار اصلي امضاي ديجيتالي بدين صورت است كه نويسنده اطلاعات الكترونيكي اين اطلاعات را توسط كليد رمزنگاري محرمانه خود امضا ميكند. اين كليد بايد توسط كاربر براي هميشه مخفي نگهداشته شود. امضا توسط كليد همگاني مربوطه امضا كننده، سند قابل كنترل ميباشد. اين كليد همگاني توسط عموم قابل رؤيت و دسترسي ميباشد.
علت استفاده از يک امضای ديجيتال چيست؟
بهتر است برای پاسخ به سؤال فوق، سؤالات ديگری را مطرح کنيم!
- برای تشخيص و تأیيد هويت فرد ارسال کننده يک نامه الکترونيکی از چه مکانيزمهایی استفاده میشود؟ فرض کنيد يک نامه الکترونيکی را از يکی از دوستان خود دريافت داشتهايد که از شما درخواست خاصی را مینمايد، پس از مطالعه پيام برای شما دو سؤال متفاوت مطرح میگردد:
الف) آيا اين نامه را واقعاً وی ارسال نموده است؟
ب) آيا محتوای نامه ارسالی واقعی است و وی دقيقاً همين درخواست را داشته است؟
- آيا وجود هر نامه الکترونيکی در صندوق پستی، نشان دهنده صحت محتوا و تأیيد هويت فرد ارسال کننده آن است؟
امروزه سوء استفاده از آدرسهای Email برای مهاجمان و ويروسها به امری متداول تبديل شده است و با توجه به نحوه عملکرد آنان در برخی موارد شناسایی هويت فرد ارسال کننده يک پيام بسيار مشکل و در برخی موارد غير ممکن است. تشخيص غير جعلی بودن نامههای الکترونيکی در فعاليتهای تجاری و بازرگانی دارای اهميت فراوانی است. يک نامه الکترونيکی شامل يک امضای ديجيتال، نشان دهنده اين موضوع است که محتوای پيام از زمان ارسال تا زمانی که به دست شما رسيده است، تغيير نکرده است. در صورت بروز هر گونه تغيير در محتوای نامه، امضای ديجيتال همراه آن از درجه اعتبار ساقط میشود.
نحوه عملکرد يک امضای ديجيتال
قبل از آشنایی با نحوه عملکرد يک امضای ديجيتال، لازم است در ابتدا با برخی اصطلاحات مرتبط با اين موضوع بيشتر آشنا شويم: کليدها (Keys): از کليدها به منظور ايجاد امضاهای ديجيتال استفاده میگردد. برای هر امضای ديجيتال، يک کليد عمومی و يک کليد خصوصی وجود دارد: کليد خصوصی، بخشی از کليد است که شما از آن به منظور امضای يک پيام استفاده مینمایيد. کليد خصوصی يک رمز عبور حفاظت شده بوده و نمیبايست آن را در اختيار ديگران قرار داد.
کليد عمومی، بخشی از کليد است که امکان استفاده از آن برای ساير افراد وجود دارد. زمانی که کليد فوق برای يک حلقه کليد عمومی (public key ring) و يا يک شخص خاص ارسال میگردد، آنان با استفاده از آن قادر به بررسی امضای شما خواهند بود.
حلقه کليد (Key Ring): شامل کليدهای عمومی است. يک حلقه کليد از کليدهای عمومی افرادی که برای شما کليد مربوط به خود را ارسال نموده و يا کليدهایی که از طريق يک سرويس دهنده کليد عمومی دريافت نمودهايد، تشکيل میگردد. يک سرويس دهنده کليد عمومی شامل کليد افرادی است که امکان ارسال کليد عمومی در اختيار آنان گذاشته شده است.
اثرانگشت: زمانی که يک کليد تأیيد میگردد، در حقيقت منحصربهفرد بودن مجموعهای از حروف و اعداد که اثر انگشت يک کليد را شامل میشوند. تأیيد میگردد.
گواهينامههای کليد: در زمان انتخاب يک کليد از روی يک حلقه کليد، امکان مشاهده گواهينامه (مجوز) کليد وجود خواهد داشت. در اين رابطه میتوان به اطلاعات متفاوتی نظير صاحب کليد، تاريخ ايجاد و اعتبار کليد دست يافت.
نحوه ايجاد و استفاده از کليدها
- توليد يک کليد با استفاده از نرمافزارهایی نظير PGP (اقتباس شده از کلمات Pretty Good Privacy ) و يا GnuPG (اقتباس شده از کلمات GNU Privacy Guard )
- معرفی کليد توليد شده به ساير همکاران و افرادی که دارای کليد میباشند.
- ارسال کليد توليد شده به يک حلقه کليد عمومی تا ساير افراد قادر به بررسی و تأیيد امضای شما گردند.
- استفاده از امضای ديجيتال در زمان ارسال نامههای الکترونيکی. اکثر برنامههای سرويس دهنده پست الکترونيکی دارای پتانسيلی به منظور امضای يک پيام میباشند.
حملات ممکن علیه امضاهای دیجیتالی
• حمله Key-only – در این حمله، دشمن تنها کلید عمومی امضاکننده را میداند و بنابراین فقط توانایی بررسی صحت امضاهای پیامهایی را که به وی داده شدهاند، دارد.
• حمله Known Signature – دشمن، کلید عمومی امضاکننده را میداند و جفتهای پیام/امضا که به وسیله صاحب امضا انتخاب و تولید شده است را دیده است. این حمله در عمل امکانپذیر است و بنابراین هر روش امضایی باید در مقابل آن امن باشد.
• حمله Chosen Message – به دشمن اجازه داده میشود که از امضاکننده بخواهد که تعدادی از پیامهای به انتخاب او را امضا کند. انتخاب این پیامها ممکن است به امضاهای از قبل گرفته شده بستگی داشته باشد. این حمله در غالب حالات، ممکن است غیر عملی به نظر برسد، اما با پیروی از قانون احتیاط، روش امضایی که در برابر آن ایمن است، ترجیح داده میشود.
• حمله Man-in-the-middle – در این حمله، شخص از موقعیت استفاده کرده در هنگام مبادله کلید عمومی، کلید عمومی خود را جایگزین کرده و برای گیرنده میفرستد و بدینگونه میتواند به پیامها دسترسی داشته باشد بدون اینکه فرستنده و گیرنده، مطلع باشند.
محمد كرامتي- دنياي كامپيوتر و ارتباطات
شايد تاکنون نامههای الکترونيکی متعددی را دريافت داشتهايد که دارای مجموعهای از حروف و اعداد در انتهای آنان میباشند. در اولين نگاه ممکن است اينگونه تصور گردد که اطلاعات فوق بی فايده بوده و شايد هم نشان دهنده بروز يک خطا در سيستم باشد! در حقيقت ما شاهد استفاده از امضای ديجيتال در يک نامه الکترونيکی میباشيم. به منظور ايجاد يک امضای ديجيتال از يک الگوريتم رياضی به منظور ترکيب اطلاعات در يک کليد با اطلاعات پيام، استفاده میشود. ماحصل عمليات، توليد يک رشته مشتمل بر مجموعهای از حروف و اعداد است. يک امضای ديجيتال صرفاً به شما نخواهد گفت که «اين شخص يک پيام را نوشته است» بلکه در بردارنده اين مفهوم مهم است که: «اين شخص اين پيام را نوشته است».
كاغذ به عنوان حامل اطلاعات مهم جاي خود را كمكم به ديگر راههاي تبادل اطلاعات ميدهد. در واقع كاغذ داراي معايبي از قبيل انتقال آهسته و پرهزينه اسناد ميباشد. همچنين شيوههاي ذخيرهسازي اطلاعات نيز به سرعت در حال تغيير است و به جاي بايگاني انبوه دستههاي كاغذ از روشهاي الكترونيكي استفاده ميشود. فناوريهاي جديد انتقال اطلاعات، مانند EDI و پست الكترونيك و استفاده از سيستمهاي مديريت اسناد كامپيوتري نگارش، ارسال و ذخيره اطلاعات را سادهتر، سريعتر و حتي ايمنتر ساخته است.
به خاطر ساختار غير فيزيكي واسطه (وسيله حامل داده)، روشهاي سنتي علامتگذاري فيزيكي واسطه توسط مهر يا امضا (براي مقاصد تجاري و حقوقي) غير قابل استفاده ميباشند. هنگام كار با اسناد الكترونيكي، بايد علامتي براي تشخيص اصل بودن و سنديت بخشيدن به محتواي آن، به اطلاعات اضافه شود. بعضي شيوههاي جديد تنها براي سنديت بخشيدن به يك موجوديت جهت مجوزدهي به دسترسي، استفاده ميشوند؛ براي مثال نبايد يك سيستم تشخيص هويت انگشتنگاري كامپيوتري، يك امضاي دستي اسكن شده يا وارد كردن اسم شخص در انتهاي يك E-mail را به عنوان يك جايگزين معتبر براي امضاهاي دستي پذيرفته زيرا همه عملكردهاي يك امضاي دستي را نخواهد داشت.
با امضا كردن در پاي يك نوشته امضا كننده هويت خود را به عنوان نويسنده مشخص ميكند، جامعيت سند را تأييد نموده و بيان ميدارد كه به محتويات آن متعهد و پايبند ميباشد. برخي از خواص مهم امضاهاي دستي عبارت است از:
1 - امضای يك شخص براي تمام مدارك يكسان است.
2 - به راحتي توليد ميشوند.
3 - به راحتي تميز داده ميشوند.
4 - بايد به گونهاي باشند كه حتيالامكان به سختي جعل شوند.
5 - به طور فيزيكي توليد ميشوند. يك امضاي ديجيتالي يك ابزار سنديت بخشيدن الكترونيكي ميباشد، كه منجر به سنديت بخشيدن به يك ركورد الكترونيكي از طريق رمزنگاري با كليد همگاني ميشود.
ويژگيهاي مهم امضاهاي ديجيتال عبارت است از:
1- در توليد آنها از اطلاعاتي كه به طور منحصربهفرد در اختيار امضاكننده است، استفاده ميشود.
2- به طور خودكار و توسط رايانه توليد ميشوند.
3- امضای هر پيام وابسته به كليه بيتهاي پيام است و هر گونه دستكاري و تغيير در متن سند موجب مخدوش شدن امضای پيام ميگردد.
4 - امضای هر سندي متفاوت با امضای اسناد ديگر است.
5 - بايد به راحتي قابل بررسي و تأييد باشد تا از جعل و انكار احتمالي آن جلوگيري شود. ساختار اصلي امضاي ديجيتالي بدين صورت است كه نويسنده اطلاعات الكترونيكي اين اطلاعات را توسط كليد رمزنگاري محرمانه خود امضا ميكند. اين كليد بايد توسط كاربر براي هميشه مخفي نگهداشته شود. امضا توسط كليد همگاني مربوطه امضا كننده، سند قابل كنترل ميباشد. اين كليد همگاني توسط عموم قابل رؤيت و دسترسي ميباشد.
علت استفاده از يک امضای ديجيتال چيست؟
بهتر است برای پاسخ به سؤال فوق، سؤالات ديگری را مطرح کنيم!
- برای تشخيص و تأیيد هويت فرد ارسال کننده يک نامه الکترونيکی از چه مکانيزمهایی استفاده میشود؟ فرض کنيد يک نامه الکترونيکی را از يکی از دوستان خود دريافت داشتهايد که از شما درخواست خاصی را مینمايد، پس از مطالعه پيام برای شما دو سؤال متفاوت مطرح میگردد:
الف) آيا اين نامه را واقعاً وی ارسال نموده است؟
ب) آيا محتوای نامه ارسالی واقعی است و وی دقيقاً همين درخواست را داشته است؟
- آيا وجود هر نامه الکترونيکی در صندوق پستی، نشان دهنده صحت محتوا و تأیيد هويت فرد ارسال کننده آن است؟
امروزه سوء استفاده از آدرسهای Email برای مهاجمان و ويروسها به امری متداول تبديل شده است و با توجه به نحوه عملکرد آنان در برخی موارد شناسایی هويت فرد ارسال کننده يک پيام بسيار مشکل و در برخی موارد غير ممکن است. تشخيص غير جعلی بودن نامههای الکترونيکی در فعاليتهای تجاری و بازرگانی دارای اهميت فراوانی است. يک نامه الکترونيکی شامل يک امضای ديجيتال، نشان دهنده اين موضوع است که محتوای پيام از زمان ارسال تا زمانی که به دست شما رسيده است، تغيير نکرده است. در صورت بروز هر گونه تغيير در محتوای نامه، امضای ديجيتال همراه آن از درجه اعتبار ساقط میشود.
نحوه عملکرد يک امضای ديجيتال
قبل از آشنایی با نحوه عملکرد يک امضای ديجيتال، لازم است در ابتدا با برخی اصطلاحات مرتبط با اين موضوع بيشتر آشنا شويم: کليدها (Keys): از کليدها به منظور ايجاد امضاهای ديجيتال استفاده میگردد. برای هر امضای ديجيتال، يک کليد عمومی و يک کليد خصوصی وجود دارد: کليد خصوصی، بخشی از کليد است که شما از آن به منظور امضای يک پيام استفاده مینمایيد. کليد خصوصی يک رمز عبور حفاظت شده بوده و نمیبايست آن را در اختيار ديگران قرار داد.
کليد عمومی، بخشی از کليد است که امکان استفاده از آن برای ساير افراد وجود دارد. زمانی که کليد فوق برای يک حلقه کليد عمومی (public key ring) و يا يک شخص خاص ارسال میگردد، آنان با استفاده از آن قادر به بررسی امضای شما خواهند بود.
حلقه کليد (Key Ring): شامل کليدهای عمومی است. يک حلقه کليد از کليدهای عمومی افرادی که برای شما کليد مربوط به خود را ارسال نموده و يا کليدهایی که از طريق يک سرويس دهنده کليد عمومی دريافت نمودهايد، تشکيل میگردد. يک سرويس دهنده کليد عمومی شامل کليد افرادی است که امکان ارسال کليد عمومی در اختيار آنان گذاشته شده است.
اثرانگشت: زمانی که يک کليد تأیيد میگردد، در حقيقت منحصربهفرد بودن مجموعهای از حروف و اعداد که اثر انگشت يک کليد را شامل میشوند. تأیيد میگردد.
گواهينامههای کليد: در زمان انتخاب يک کليد از روی يک حلقه کليد، امکان مشاهده گواهينامه (مجوز) کليد وجود خواهد داشت. در اين رابطه میتوان به اطلاعات متفاوتی نظير صاحب کليد، تاريخ ايجاد و اعتبار کليد دست يافت.
نحوه ايجاد و استفاده از کليدها
- توليد يک کليد با استفاده از نرمافزارهایی نظير PGP (اقتباس شده از کلمات Pretty Good Privacy ) و يا GnuPG (اقتباس شده از کلمات GNU Privacy Guard )
- معرفی کليد توليد شده به ساير همکاران و افرادی که دارای کليد میباشند.
- ارسال کليد توليد شده به يک حلقه کليد عمومی تا ساير افراد قادر به بررسی و تأیيد امضای شما گردند.
- استفاده از امضای ديجيتال در زمان ارسال نامههای الکترونيکی. اکثر برنامههای سرويس دهنده پست الکترونيکی دارای پتانسيلی به منظور امضای يک پيام میباشند.
حملات ممکن علیه امضاهای دیجیتالی
• حمله Key-only – در این حمله، دشمن تنها کلید عمومی امضاکننده را میداند و بنابراین فقط توانایی بررسی صحت امضاهای پیامهایی را که به وی داده شدهاند، دارد.
• حمله Known Signature – دشمن، کلید عمومی امضاکننده را میداند و جفتهای پیام/امضا که به وسیله صاحب امضا انتخاب و تولید شده است را دیده است. این حمله در عمل امکانپذیر است و بنابراین هر روش امضایی باید در مقابل آن امن باشد.
• حمله Chosen Message – به دشمن اجازه داده میشود که از امضاکننده بخواهد که تعدادی از پیامهای به انتخاب او را امضا کند. انتخاب این پیامها ممکن است به امضاهای از قبل گرفته شده بستگی داشته باشد. این حمله در غالب حالات، ممکن است غیر عملی به نظر برسد، اما با پیروی از قانون احتیاط، روش امضایی که در برابر آن ایمن است، ترجیح داده میشود.
• حمله Man-in-the-middle – در این حمله، شخص از موقعیت استفاده کرده در هنگام مبادله کلید عمومی، کلید عمومی خود را جایگزین کرده و برای گیرنده میفرستد و بدینگونه میتواند به پیامها دسترسی داشته باشد بدون اینکه فرستنده و گیرنده، مطلع باشند.
هیچ نظری موجود نیست:
ارسال یک نظر