با سلام خدمت دوستان عزیز و بزرگوار ، در دنیای مجازی امروز هر مکانیزمی که بتواند سه نیاز زیر را در خصوص اسناد و مدارک دیجیتالی برآورده کند "امضای دیجیتال" نامیده می شود:
اندیشه امضای دیجیتالی به پژوهش های دیفی و هلمن در سالهای 1976 به بعد بر می گردد. این دو نفر در فکر الگوریتمی بودند که بتواند خواص امضاهای دستی را در حد متکامل و عالی داشته باشد (خواص اصلی امضاهای دستی عبارتند از آسانی تولید، سادگی تشخیص و مشکل بودن جعل آن).
ولی در عین حال توسط ماشین و به صورت خودکار تولید شود. بزرگترین تفاوت امضاهای دستی با امضاهای دیجیتال در آن است که امضاهای دستی ثابت اند و شکل آنها نباید تغییر کند در حالی که امضاهای دیجیتالی ماهیتاً وابسته به پیام اند و به ازای هر پیام تغییر می کنند.ابتدا لازم است قبل از بیان روشهای امضای دیجیتال ابتدا دو مفهوم کلید عمومی (public key) و کلید خصوصی (private key) را تعریف کنیم. با کلید عمومی می توان داده ها را رمزنگاری کرد ولی داده های رمزنگاری شده را نمی توان با چنین کلیدی از رمز خارج کرد.
این کلید را می توان به راحتی در اختیار عموم قرار داد و یا آن را از طریق کانال نا امن به صورت فراگیر پخش کرد. کلید خصوصی در نزد صاحب آن به صورت سری و محرمانه نگه داری می شود. بدین ترتیب فقط و فقط صاحب کلید می تواند داده های رمز شده با کلید عمومی را از رمز خارج کند. روشهای متعددی برای پیاده سازی امضای دیجیتالی معرفی شده است که مهمترین آنها عبارتند از:
در این مکانیزم از هر سند (پس از ایجاد و قرار گرفتن در یک قالب استاندارد و مشخص) یک چکیده کوتاه چند بایتی استخراج می شود. این چکیده کوتاه به طرز بسیار پیچیده ای از تک تک بیت ها و جایگاه آنها در متن تاثیر می پذیرد و به نحوی محاسبه و استخراج می شود که هر گونه تغییر جزیی یا کلی در متن باعث تغییرات چشمگیر در چکیده آن خواهد شد. پس از استخراج چکیده پیام، رشته ی بیتی حاصل، توسط کلید خصوصی صاحب پیام رمز نگاری و نتیجه به دست آمده به اصل پیام ضمیمه می شود.
در حقیقت امضای دیجیتالی چیزی نیست جز یک رشته عددی که به روش پیچیده ای از متن یک سند استخراج و پس از رمزنگاری با کلید خصوصی صاحب سند، به اصل سند ضمیمه و ارسال می شود.برای اعتبار سنجی و تایید اصالت سند، گیرنده می تواند به راحتی چکیده ضمیمه شده سند را با کلید عمومی صاحب سند (که همه آن را می دانند) از رمز خارج کرده و همچنین یکبار دیگر خودش راساً چکیده سند را محاسبه و این دو را با هم مقایسه کند. هرگاه این دو مقدار با هم مساوی بودند، اصالت و اعتبار سند تایید می شود در غیر این صورت سند جعلی است یا توسط اخلال گران میانی تغییراتی در آن اعمال شده است. شکل 1 کلیات این روش را به تصویر کشیده است.
شکل 1. فرآیند امضای دیجیتال مبتنی بر چکیده پیام
خصوصیات چکیده پیام عبارتند از:
به الگوریتمهایی که از درون یک پیام با طول متغییر یک چکیده با طول کوتاه و ثابت محاسبه و استخراج می کنند اصطلاحاً "توابع در هم ساز" (Hash function) و به چکیده پیام "کد در هم شده" (Hash code) نیز گفته می شود.
برخی الگوریتمهای رایج و شناخته شده جهت محاسبه چکیده پیام عبارتند از:
MD5 ، SHA-1(secure hash algorithm version1 و (SHA-2(secure hash algorithm version 2 که توضیح آنها از حوصله این مقاله خارج است. البته اگر دوستان درخواست داشتند حتما توضیح خواهیم داد!
یکی از مکانیزمهایی که نیازهای سه گانه امضای دیجیتالی را برآورده می کند "امضاء و رمزنگاری پیام به روش کلید عمومی" است. روش کار به این صورت است:
فرستنده ابتدا کل پیام را با کلید خصوصی خود رمز می کند. از آنجا که همه ی افراد کلید عمومی فرستنده را می دانند این مرحله از رمزنگاری هیچ کمکی به امنیت پیام نمی کند بلکه هر گاه افراد توانستند پیام را با کلید عمومی فرستنده از رمز خارج کنند مطمئن خواهند شد که پیام از طرف فرستنده صادر شده است.
سپس فرستنده حاصل مرحله قبل را با کلید عمومی گیرنده رمز کرده تا متن پیام محرمانه بماند. بدیهی است که فقط دارنده کلید خصوصی یعنی گیرنده قادر به رمز گشایی خواهد بود.روال رمز گشایی و تایید اصالت پیام برعکس است: گیرنده ابتدا پیام رمز شده را با کلید خصوصی خود از رمز خارج کرده و سپس بار دیگر آنرا با کلید عمومی فرستنده رمزگشایی می کند. هر گاه پیام معتبری رمزگشایی شود، گذشته از حفظ محرمانگی پیام در طول مسیر هویت فرستنده نیز تایید می شود. در شکل 2 این روال به تصویر کشیده شده است.
شکل 2. امضاء و رمزنگاری کل پیام به روش کلید عمومی
اگر می خواهید مباحث بیشتری در زمینه گواهینامه های دیجیتال وامنیت اطلاعات یاد بگیرید به دوره آموزش اسپلانک در این لینک مراجعه کنید.