مصطفی سعیدفر
کارشناس شبکه و فناوری اطلاعات

امضای دیجیتال چیست؟ بررسی مفهوم Digital Signature به زبان ساده

در دنیای مجازی امروز هر مکانیزمی که بتواند سه نیاز زیر را در خصوص اسناد و مدارک دیجیتالی برآورده کند "امضای دیجیتال" نامیده می شود : الف) دریافت کننده سند یا پیام الکترونیکی بتواند هویت صاحب سند را بدرستی تشخیص بدهد و از جعلی نبودن آن اطمینان حاصل کند. ب) صاحب و امضاء کننده سند بعدا نتواند محتوای سند یا پیام ارسالی خود را به هر طریقی انکار کند. ج) یک متقلب ثالث نتواند پیامها یا اسناد جعلی تولید و آنها را به دیگران نسبت دهد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

اندیشه امضای دیجیتالی به پژوهش های دیفی و هلمن در سالهای 1976 به بعد بر می گردد. این دو نفر در فکر الگوریتمی بودند که بتواند خواص امضاهای دستی را در حد متکامل و عالی داشته باشد (خواص اصلی امضاهای دستی عبارتند از آسانی تولید، سادگی تشخیص و مشکل بودن جعل آن).

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

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

1-امضای دیجیتالی مبتنی بر چکیده پیام

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

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

امضای دیجیتال مبتنی بر چکیده پیام

شکل 1. فرآیند امضای دیجیتال مبتنی بر چکیده پیام

خصوصیات چکیده پیام عبارتند از:

  • الف) با داشتن متن مفروض P محاسبه چکیده آن بسیار ساده و سریع باشد.
  • ب) هر گاه چکیده یک پیام در اختیار باشد هرگز نتوان از طریق آن متن اصلی پیام را پیدا کرد.
  • ج) هر گاه یک پیام مفروض P و چکیده آن در اختیار باشد هرگز نباید در عمل بتوان پیام دیگری مثل p' یافت که آن پیام نیز چکیده ای مانند پیام p داشته باشد.

به الگوریتمهایی که از درون یک پیام با طول متغییر یک چکیده با طول کوتاه و ثابت محاسبه و استخراج می کنند اصطلاحاً "توابع در هم ساز" (Hash function) و به چکیده پیام "کد در هم شده" (Hash code) نیز گفته می شود.

برخی الگوریتمهای رایج و شناخته شده جهت محاسبه چکیده پیام عبارتند از:

MD5 ، SHA-1(secure hash algorithm version1 و (SHA-2(secure hash algorithm version 2 که توضیح آنها از حوصله این مقاله خارج است. البته اگر دوستان درخواست داشتند حتما توضیح خواهیم داد!

2-امضای دیجیتالی مبتنی بر روش های رمزنگاری کلید عمومی

یکی از مکانیزمهایی که نیازهای سه گانه امضای دیجیتالی را برآورده می کند "امضاء و رمزنگاری پیام به روش کلید عمومی" است. روش کار به این صورت است:

فرستنده ابتدا کل پیام را با کلید خصوصی خود رمز می کند. از آنجا که همه ی افراد کلید عمومی فرستنده را می دانند این مرحله از رمزنگاری هیچ کمکی به امنیت پیام نمی کند بلکه هر گاه افراد توانستند پیام را با کلید عمومی فرستنده از رمز خارج کنند مطمئن خواهند شد که پیام از طرف فرستنده صادر شده است.

سپس فرستنده حاصل مرحله قبل را با کلید عمومی گیرنده رمز کرده تا متن پیام محرمانه بماند. بدیهی است که فقط دارنده کلید خصوصی یعنی گیرنده قادر به رمز گشایی خواهد بود.روال رمز گشایی و تایید اصالت پیام برعکس است: گیرنده ابتدا پیام رمز شده را با کلید خصوصی خود از رمز خارج کرده و سپس بار دیگر آنرا با کلید عمومی فرستنده رمزگشایی می کند. هر گاه پیام معتبری رمزگشایی شود، گذشته از حفظ محرمانگی پیام در طول مسیر هویت فرستنده نیز تایید می شود. در شکل 2 این روال به تصویر کشیده شده است.

 امضاء و رمزنگاری کل پیام به روش کلید عمومی

 شکل 2. امضاء و رمزنگاری کل پیام به روش کلید عمومی

در مقاله بعد به معرفی گواهینامه های دیجیتال خواهیم پرداخت.


مصطفی سعیدفر
مصطفی سعیدفر

کارشناس شبکه و فناوری اطلاعات

پیامبر اکرم (ص): علم را با نوشتن به زنجیر کشید... پس زکات علم اندکم را با به زنجیر کشیدن آن میپردازم...

نظرات