1,593 بازدید

امضای دیجیتال

Digital Sign
Digital Sign

چکیده

 

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

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

 

 

کلمات کلیدی

Digital Sign ، امضای دیجیتال، رمزنگاری، الگوریتم های Hashing

 

 

مقدمه

امنیت یکی از مهم ترین و بحث انگیزترین مسائل درحوزه فناوری اطلاعات و ارتباطات است. جعل کردن را باید مقوله ای جدا از هک کردن دانست، زیرا در جعل کردن دزدان دیجیتالی خود را به جای شخصی که وجود دارد، جا می زنند و اقدام به سرقت اطلاعات می کنند، اما در هک کردن، نفوذها عمدتاً در نقش شخص ثالثی صورت می گیرد که لزوماً وجود فیزیکی ندارد، اما نتیجه هر دو نفوذ، از دست دادن اطلاعات و کاهش امنیت است. در دنیای مجازی برای این قضیه راه حل هایی اندیشیده شده است که امضای دیجیتال یکی از این راه حل هاست.

امضای دیجیتال چیست؟

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

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

علت استفاده از یک امضاى دیجیتال چیست ؟

اجازه دهید براى پاسخ به سوال فوق ، سوالات دیگرى را مطرح کنیم ! براى تشخیص و تائید هویت فرد ارسال کننده یک نامه الکترونیکى از چه مکانیزم هائى استفاده مى شود؟ فرض کنید یک نامه الکترونیکى را از یکى از دوستان خود دریافت داشته اید که از شما درخواست خاصى را مى نماید ، پس از مطالعه پیام براى شما دو سوال متفاوت مطرح مى گردد :

الف ) آیا این نامه را واقعا” وى ارسال نموده است ؟

ب ) آیا محتواى نامه ارسالى واقعى است و وى دقیقا” همین درخواست را داشته است ؟

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

سخت افزار امضای دیجیتال

سخت افزار مورد نیاز امضای دیجیتال یک مدیا(MEDIA) است و “ توکن ” نام دارد. یک توکن شبیه فلش مموری یا یک کارت کوچک که از نظر ظاهر مشابه کارت های عابر بانک است باشد که امضا به این سخت‌افزار منتقل می‌شود.

اصطلاحات مرتبط با امضای دیجیتال:

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

حلقه کلید ( Key Ring ): شامل کلید های عمومی است . یک حلقه کلید از کلید های عمومی افرادی که برای شما کلید مربوط به خود را ارسال نموده و یا کلیدهائی که از طریق یک سرویس دهنده کلید عمومی دریافت نموده اید، تشکیل می گردد . یک سرویس دهنده کلید عمومی شامل کلید افرادی است که امکان ارسال کلیدعمومی در اختیار آنان گذاشته شده است .

اثرانگشت: زمانی که یک کلید تائید می گردد ، در حقیقت منحصربفرد بودن مجموعه ای از حروف و اعداد که اثرانگشت یک کلید را شامل می شوند . تائید می گردد .

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

Digital Sign
امضای دیجیتال

عملکرد یک امضای دیجیتال

امضای دیجیتال مبتنی بر الگوریتم های رمزنگاری و الگوریتم های Hashing است . به عنوان نمونه ای از الگوریتم های رمزنگار می توان به RSA و EL Gamal و الگوریتم های Hashing، MD۵ و SHA اشاره کرد.

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

دغدغه دیگر کدهای Hash شده این است که امنیت این کدها چگونه تأمین خواهد شد ؟ در جواب این سؤال باید گفت که امنیت کدهای Hash شده با دو کلید عمومی و خصوصی تضمین می شود.

کلید عمومی در اختیار همگان قرار دارد و همگی امکان دسترسی به آن را دارند اما بر خلاف کلید عمومی، کلید خصوصی تنها به دارنده Hash code تعلق دارد.

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

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

حملات ممکن علیه امضاهای دیجیتالی

حمله Key-only –در این حمله، دشمن تنها کلید عمومی امضا‌کننده را می‌داند و بنابراین فقط توانایی بررسی صحت امضاهای پیام‌هایی را که به وی داده شده‌اند، دارد.

حمله Known Signature – دشمن، کلید عمومی امضاکننده را می‌داند و جفت‌های پیام/امضا که به وسیله صاحب امضا انتخاب و تولید شده ‌است را دیده است. این حمله در عمل امکان‌پذیر است و بنابراین هر روش امضایی باید در مقابل آن امن باشد.

حمله Chosen Message – به دشمن اجازه داده می‌شود که از امضا‌کننده بخواهد که تعدادی از پیام‌های به انتخاب او را امضا کند. انتخاب این پیام‌ها ممکن است به امضاهای از قبل گرفته ‌شده بستگی داشته باشد. این حمله در غالب حالات، ممکن است غیر عملی به نظر برسد، اما با پیروی از قانون احتیاط، روش امضایی که در برابر آن ایمن است، ترجیح داده می‌شود.

حمله Man-in-the-middle – در این حمله، شخص از موقعیت استفاده کرده در هنگام مبادله کلید عمومی، کلید عمومی خود را جایگزین کرده و برای گیرنده می‌فرستد و بدین‌گونه می‌تواند به پیام‌ها دسترسی داشته باشد بدون اینکه فرستنده و گیرنده، مطلع باشند.

منابع :

[۱] http://www.digitalsignature.in

[۲] http://www.iritn.com/

http://www.aftab.ir/ [3]

http://en.wikipedia.org [4]

 

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

* پاسخ به پرسش امنیتی ! * Time limit is exhausted. Please reload the CAPTCHA.