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

هر طرح امضای دیجیتال شامل سه الگوریتم است که عبارتند از:
1- الگوریتم تولید کلید: در این مرحله یک کلید محرمانه از یک سری کلیدهای محرمانه ممکن به صورت تصادفی انتخاب میشود. در واقع خروجی این الگوریتم کلید محرمانگی و یک کلید عمومی مترادف با آن است.
2- الگوریتم امضا: الگوریتمی است که با دادن پیام و کلید محرمانگی، امضای دیجیتال تولید میکند.
3- الگوریتم شناسایی امضا: الگوریتمی است که یک پیام، کلید عمومی و یک امضا را به صورت ورودی دریافت میکند و اعتبار آن پیام را تایید یا رد میکند.
برای تولید یک امضای دیجیتال دو ویژگی ضروری است. یکی اینکه تولید یک امضا از یک پیام ثابت و کلید محرمانگی ثابت باید صحت و سقم اعتبار آن پیام را با استفاده از کلید عمومی مرتبط با آن بسنجد. دوم اینکه این فرآیند کامپیوتری برای شخص حقوقی که کلید عمومی ندارد، نمیتواند امضای معتبر تولید کند.
تاریخچه امضای دیجیتال
ویتفیلد دیفی (Whitfield Diffie) و مارتین هلمن (Martin Hellman) برای اولین بار در سال 1976 مفهوم امضای دیجیتال را وارد ادبیات دیجیتال کردند. پس از آن، رونالد ریوست، ادی شامیر و لن آدلمان، الگوریتم RSA(برگرفته از اول اسم این سه نفر) را ابداع کردند که برای تولید امضای دیجیتال اولیه از آن استفاده می شد. البته این الگوریتم تنها در سطح پایین مفهومی از امضای دیجیتال تعریف شده بود و امنیت چندانی نیز نداشت.
اولین نرمافزار عمومی که برای تولید امضای دیجیتال به بازار عرضه شد Lotus Notes 1.0 بود که در سال 1989 معرفی شد و از همان الگوریتم RSA پیروی میکرد. ساختار امضاهای دیجیتال مبتنی بر RSA به این صورت بود که برای تولید کلیدهای امضا میبایست یک جفت کلید RSA شامل مدولهای N، تولید میشد. به هر حال این طرحها از امنیت خوبی برخوردار نبودند و برای اجتناب از نفوذ در آنها میبایست از یک تابع ریاضی که عملیات رمزنگاری را انجام میداد، استفاده میشد.

بعد از آن، طرحهای دیگری با عنوانهای امضای لمپورت، مرکل و رابین طراحی شدند. در سال ?9?? شفی گلدواسر، سیویو میسالی و رونالد ریوست، موارد مورد نیاز را برای برقراری امنیت در طرح امضای دیجیتال بررسی کردند. آنها با بررسی سلسله مراتب مدلهای مختلف حمله و نفوذ به امضای دیجیتال توانستند طرح امضای دیجیتال GMR را ارایه دهند. این طرح اولین طرحی بود که توانست در مقابل یک حمله خاص، از دریافت پیام جعلی جلوگیری کند.
طرحهای ابتدایی امضای دیجیتال، ساختار مشابهی داشتند: همه آنها از جایگشت دریچهای مانند تابع RSA استفاده میکردند و یا در برخی موارد از طرح امضای رابین بهره میگرفتند. جایگشت دریچهای، مجموعهای از جایگشتهاست که توسط یک پارامتر مشخص میشوند و در محاسبههای پیشرو به راحتی کار میکنند. ولی در محاسبههای معکوس (بازگشتی) بدون دانستن کلید محرمانگی با مشکل مواجه میشوند. با وجود این برای هر پارامتر یک دریچه (کلید محرمانگی) وجود دارد که در صورت شناخته شدن به راحتی پیام را رمزگشایی میکند. جایگشتهای دریچهای میتوانند در جایی که پارامتر به عنوان کلید عمومی و جایگشت به عنوان کلید رمز و یا در جایی که رمزگذاری برای محاسبه پیشروی جایگشت و رمزگشایی برای محاسبه معکوس در نظر گرفته شده، به عنوان سیستمهای رمزگذاری کلید عمومی به کار رود.
این جایگشتهای دریچهای میتوانند علاوه بر این به عنوان طرح امضای دیجیتال به کار روند. به این صورت که محاسبه معکوس با کلید رمز مانند امضا کردن است و محاسبه پیشرو مانند بررسی صحت امضاست. به همین دلیل امضاهای دیجیتال اغلب بر پایه سیستم رمزنگاری کلید عمومی تعریف میشوند. اما این تنها روش پیاده سازی امضای دیجیتال نیست.
مزایای امضای دیجیتال
دلایل استفاده و اهمیت امضای دیجیتال را در دو مورد اعتبار و یکپارچگی میتوان خلاصه کرد. از آنجا که اغلب پیامهای دیجیتالی شامل اطلاعاتی در مورد ماهیت ارسال یک پیام است، این اطلاعات ممکن است چندان صحت نداشته باشند. امضای دیجیتال در حقیقت به منبع پیام اعتبار میبخشد. زمانی که دارنده یک کلید خصوصی سندی را امضا میکند، به آن ارزش و اعتبار داده و سپس آن را ارسال کند. اهمیت ایجاد اطمینان قطعی به شخص گیرنده پیام درباره صحت ادعای فرستنده در انتقال اطلاعات مانند دادههای مالی به خوبی خود را نشان میدهد و اهمیت وجود امضای دیجیتال امکان خطا را در پیامها کاهش میدهد.

به عنوان مثال تصور کنید شعبهای از یک بانک قصد دارد دستوری را به دفتر بانک مرکزی برای درخواست ایجاد تعادل در حسابهای خود ارسال کند. اگر شخص دریافت کننده در دفتر مرکزی متقاعد نشود که منبع این پیام، کجاست، طبق درخواست عمل نمیکند و در نتیجه مشکلاتی را به وجود میآورد.
در مورد یکپارچگی نیز می توان گفت که در بیشتر مواقع، فرستنده و گیرنده پیام نیاز به داشتن این اطمینان دارند که پیام در حین انتقال بدون تغییر باقی مانده است.
هرچند رمزنگاری محتوای پیام را مخفی نگه میدارد ولی ممکن است امضا در یک سیستم از اعتبار ساقط شود و محتویات یک پیام دستخوش تغییر شود. ولی استفاده از امضای دیجیتال به عنوان روشی از رمزنگاری میتواند ضامن درستی و بی نقصی یک پیام در عملیات انتقال اطلاعات باشد. زیرا همانطور که در ساختار اجرای الگوریتم شرح داده شد، از تابع درهمسازی بهره گرفته شده و همین نکته ضمانت بهتری را برای درستی و صحت یک پیام ایجاد میکند.
گواهینامه دیجیتالی
یک گواهینامه دیجیتالی یک فایل دیجیتالی است که حاوی اطلاعاتی رمزگذاری شده از قبیل کلید عمومی و سایر اطلاعات دارنده خود است. دارنده میتواند یک شخص، یک شرکت، یک سایت و یا یک نرمافزار باشد. مانند یک گواهینامه رانندگی که عکس صاحب خود را همراه سایر اطلاعات در مورد دارنده آن، شامل میشود. یک گواهینامه دیجیتالی نیز یک کلید عمومی را به اطلاعاتی در مورد دارنده آن متصل میکند.
انواع گواهینامه دیجیتالی
چند نوع گواهینامه دیجیتال وجود دارد که برای مصارف گوناگون به کار میروند و عبارتند از:
شخصی: قابل استفاده توسط اشخاص حقیقی برای امضای ایمیل و تبادلات مالی
سازمانها: قابل استفاده توسط اشخاص حقوقی برای شناساندن کارمندان برای ایمیلهای محفوظ و تبادلات اینترنتی
سرور: برای اثبات مالکیت یک نام دامنه اینترنتی
تولیدکنندگان: برای اثبات حق تالیف و حفظ حقوق آن برای نشر برنامه نرمافزاری
منبع: Newscientist
http://daneshjoo-news.persianblog.ir/post/1296