۱ – چكيده

در جهان امروز مديريت اسناد الكترونيكي و ارسال ودريافت اطلاعات الكترونيكي بخش بزرگي از تبليغات و فعاليت‌هاي اجرايي را شامل مي‌شود. هنوز انتظار مي‌رود كه استفاده از اطلاعات مبتني بر كامپيوتر در سطح جهان به طرز قابل توجهي در حال گسترش مي‌باشد. يكي از تكنولوژيهايي كه موجب افزايش اعتماد گرديده، امضاي ديجيتالي مي‌باشد. اين تكنيك مبتني بر رمزنگاري باعث به رسميت شناسي اطلاعات الكترونيكي شده به طوريكه هويت پديدآورنده سند و جامعيت اطلاعات آن، قابل بازبيني و كنترل مي‌باشد.

۲ – مقدمه

كاغذ به عنوان حامل اطلاعات مهم جاي خود را كم‌كم به ديگر راههاي تبادل اطلاعات مي‌دهد. در واقع كاغذ داراي معايبي از قبيل انتقال آهسته و پرهزينه اسناد مي‌باشد. همچنين شيوه‌هاي ذخيره‌سازي اطلاعات نيز بسرعت در حال تغيير است و بجاي بايگاني انبوه دسته‌هاي كاغذ از روشهاي الكترونيكي استفاده مي‌شود. فن‌آوريهاي جديد انتقال اطلاعات، مانند EDI و پست الكترونيك و استفاده از سيستمهاي مديريت اسناد كامپيوتري نگارش، ارسال و ذخيره اطلاعات را ساده‌تر، سريعتر و حتي ايمن‌تر ساخته است.

بخاطر ساختار غيرفيزيكي واسطه (وسيله حامل داده)، روشهاي سنتي علامتگذاري فيزيكي واسطه توسط مهر يا امضاء (براي مقاصد تجاري و حقوقي) غيرقابل استفاده مي‌باشند.
هنگام كار با اسناد الكترونيكي، بايد علامتي براي تشخيص اصل بودن و سنديت بخشيدن به محتوي آن، به اطلاعات اضافه شود. بعضي شيوه‌هاي جديد تنها براي سنديت بخشيدن به يك موجوديت جهت مجوزدهي به دسترسي استفاده مي‌شوند، براي مثال نبايد يك سيستم تشخيص هويت انگشت‌نگاري كامپيوتري، يك امضاي دستي اسكن شده يا وارد كردن اسم شخص در انتهاي يك E-mail را بعنوان يك جايگزين معتبر براي امضاهاي دستي پذيرفته زيرا همه عملكردهاي يك امضاي دستي را نخواهد داشت.

با امضا كردن در پاي يك نوشته امضا كننده هويت خود را بعنوان نويسنده مشخص مي‌كند، جامعيت سند را تاييد نموده و بيان مي‌دارد كه به محتويات آن متعهد و پايبند مي‌باشد.

۳ – برخي از خواص مهم امضاهاي دستي عبارتند از:

۱- امضاء يك شخص براي تمام مدارك يكسان است.
۲- به راحتي توليد مي‌شوند.
۳- به راحتي تميز داده مي‌شوند.
۴- بايد به گونه‌اي باشند كه حتي‌الامكان به سختي جعل شوند.
۵- به طور فيزيكي توليد مي‌شوند.

۴ – ويژگي‌هاي مهم امضاهاي ديجيتال عبارتند از:

۱- در توليد آنها از اطلاعاتي كه به طور منحصر بفرد در اختيار امضا كننده است استفاده مي‌شود.
۲- به طور خودكار و توسط رايانه توليد مي‌شوند.
۳- امضاء هر پيام وابسته به كليه بيتهاي پيام است و هر گونه دستكاري و تغيير در متن سند موجب مخدوش شدن امضاء پيام مي‌گردد.

۴- امضاء هر سندي متفاوت با امضاء اسناد ديگر است.
۵- بايد به راحتي قابل بررسي و تاييد باشد تا از جعل و انكار احتمالي آن جلوگيري شود.

يك امضاي ديجيتالي يك ابزار سنديت بخشيدن الكترونيكي مي‌باشد، كه منجر به سنديت بخشيدن به يك ركورد الكترونيكي از طريق رمزنگاري با كليد همگاني مي‌شود.

۵ – ساختار کلی امضای دیجیتالی

ساختار اصلي امضاي ديجيتالي بدين صورت است كه نويسنده اطلاعات الكترونيكي اين اطلاعات را توسط كليد رمزنگاري محرمانه خود امضاء مي‌كند. اين كليد بايد توسط كاربر براي هميشه مخفي نگهداشته شود. امضاء توسط كليد همگاني مربوطه امضا كننده سند قابل كنترل مي‌باشد. اين كليد همگاني توسط عموم قابل رؤيت و دسترسي مي‌باشد.

۶ – آشنائی با امضای ديجيتال

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

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

اجازه دهيد برای پاسخ به سوال فوق ، سوالات ديگری را مطرح کنيم !

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

آيا وجود هر نامه الکترونيکی در صندوق پستی ، نشاندهنده صحت محتوا و تائيد هويت فرد ارسال کننده آن است ؟

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

مطمئناً در مورد مسائل شخصی به همین راحتی با کسی صحبت نمی‌‌کنید؛ در مورد بعضی مسائل هم نه تنها صحبت نمی‌‌کنید؛ بلکه محتاط هم هستید، مثلاً در مورد حساب بانکی!

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

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

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

. مثلاً وقتی یک برنامه نرم افزاری را دانلود می‌کنید باید مطمئن باشید که نرم افزاری که دارید دانلود می‌کنید ارژینال است. این هم وقتی شدنی است که این نرم افزار با کلید امضا همراه باشد که آن هم توسط فرستنده کنترل می‌شود.

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

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

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

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

 

۷ – علت استفاده از يک امضای ديجيتال چيست ؟
تشخیص هویت واقعی اشخاص از مهمترین نیازهای امنیتی در فضای سایبر و دنیای دیجیتالی است.
با استفاده از امضای دیجیتالی می‌توان هویت واقعی افراد را در دنیای سایبر تشخیص داد.
تامین امنیت E-mail ها در وب‌سایت‌ها در هنگام تبادل اطلاعات مهم از جمله بیشترین موارد كاربرد امضای دیجیتالی است.

مركز صدور گواهی دیجیتالی اقدام به صدور گواهی دیجیتالی می‌كند. بدین صورت كه بر اساس اطلاعاتی كه در اختیار دارد كلیدهای اختصاصی را برای متقاضی به وجود می‌آورد و برای او ارسال می‌كند. احراز هویت، امضای دیجیتالی، مخفی‌سازی‌ نامه‌ها (رمزنگاری)، كنترل مجوز نرم‌افزار، هویت‌شناسی كامپیوترها و امنیت كانال‌های ارتباطی از جمله كاربردها و مزایای CA هستند.
امروزه سوء‌استفاده‌ از آدرس‌های Email بسیار متداول شده و با توجه به نحوه عملكرد آنها در برخی موارد شناسایی هویت فرد ارسال‌كننده یك پیام بسیار مشكل است. (در حالی كه تشخیص هویت نامه‌های الكترونیكی در فعالیت‌های تجاری و بازرگانی حائز اهمیت است.)

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

فرستاده شده توسط فرد دیگری گشوده نشود و امضای دیجیتالی نشان می‌دهد كه حتما نامه دریافت شده توسط فرد موردنظر ارسال شده است.

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

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

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

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

نحوه ايجاد و استفاده از کليد ها :
• توليد يک کليد با استفاده از نرم افزارهائی نظير PGP اقتباس شده از کلمات Pretty Good Privacy و يا GnuPG ( اقتباس شده از کلمات GNU Privacy Guard )
• معرفی کليد توليد شده به ساير همکاران و افرادی که دارای کليد می باشند .
• ارسال کليد توليد شده به يک حلقه کليد عمومی تا ساير افراد قادر به بررسی و تائيد امضای شما گردند .
• استفاده از

امضای ديجيتال در زمان ارسال نامه های الکترونيکی . اکثر برنامه های سرويس دهنده پست الکترونيکی دارای پتانسيلی به منظور امضاء يک پيام می باشند

۹ – حملات ممكن عليه امضاهاي ديجيتالي
• حملة Key-only – در اين حمله، دشمن تنها كليد عمومي امضاء‌كننده را مي‌داند و بنابراين فقط توانايي بررسي صحت امضاهاي پيام‌هايي را كه به وي داده شده‌اند، دارد.
• حملة Known Signature – دشمن، كليد عمومي امضاء‌كننده را مي‌داند و جفت‌هاي پيام/امضاء كه به‌وسيلة صاحب امضاء انتخاب و توليد شده ‌است را ديده است. اين حمله در عمل امكان‌پذير است و بنابراين هر روش امضايي بايد در مقابل آن امن باشد.

• حملة Chosen Message – به دشمن اجازه داده مي‌شود كه از امضاء‌كننده بخواهد كه تعدادي از پيام‌هاي به انتخاب او را امضاء كند. انتخاب اين پيام‌ها ممكن است به امضاهاي از قبل گرفته ‌شده بستگي داشته باشد. اين حمله در غالب حالات، ممكن است غيرعملي به نظر برسد، اما با پيروي از قانون احتياط، روش امضايي كه در برابر آن ايمن است، ترجيح داده مي‌شود.
• حملة Man-in-the-middle – در اين حمله، شخص از موقعيت استفاده كرده در هنگام

مبادلة كليد عمومي، كليد عمومي خود را جايگزين كرده و براي گيرنده مي‌فرستد و بدين‌گونه مي‌تواند به پيام‌ها دسترسي داشته باشد بدون اينكه فرستنده و گيرنده، مطلع باشند. در سيستم‎هاي كليد ـ عمومي ‎(نامتقارن) اغلب مديريت كليد مورد حمله قرار مي‎گيرد تا الگوريتم رمزنگاري.

۱۰ – امضاي ديجيتال و امنيت كدها

امضاي ديجيتال مبتني بر الگوريتم هاي رمزنگاري و الگوريتم هاي Hashing است. به عنوان نمونه اي از الگوريتم هاي رمزنگار مي توان به RSA و EL Gamal و الگوريتم هاي Hashing، MD5 و SHA اشاره كرد.

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

اين الگوريتم ها همگي يك طرفه هستند، يعني پس از كد شدن اطلاعات نمي توان از روي اين كدها اطلاعات اصلي را به دست آورد و تنها در صورتي مي توان آن را كدگشايي كرد كه كليد اين كدها را در اختيار داشت.

دغدغه ديگر كدهاي Hash شده اين است كه امنيت اين كدها چگونه تأمين خواهد شد . در جواب اين سوال بايد گفت كه امنيت كدهاي Hash شده با دو كليد عمومي و خصوصي تضمين مي شود. كليد عمومي در اختيار همگان قرار دارد و همگي امكان دسترسي به آن را دارند اما بر خلاف كليد عمومي

، كليد خصوصي تنها به دارنده Hashcodeتعلق دارد. در عمل نيز اگر اطلاعاتي را با كليد خصوصي(private key) به حالت قفل درآوريد با همه كليد هاي عمومي (publickey) باز مي شود، اما نمي توان با استفاده از هيچ كليد عمومي اطلاعات را مانند كليدهاي خصوصي به حالت كد شده تبديل كرد. در جريان ارسال اطلاعات كد Hash به دست آمده از الگوريتم محاسباتي توسط كليد خصوصي به حالت رمز تبديل مي شود و همراه با كليد عمومي به انتهاي داده ها اضافه شده و براي گيرنده ارسال مي شود

به علاوه كد Hash واقعي داده ها نيز محاسبه شده و در انتها اين دو كد باهم مقايسه مي شوند. اگر اين دو كد همخواني داشتند بيانگر اين است كه داده هاي ارسال شده دستكاري نشده اند و قابليت اعتماد دارند اما در صورتي كه Hash كدهاي ارسالي و واقعي يكسان نباشند به معناي دستكاري در اطلاعات است و اين اطلاعات ديگر قابل اطمينان نيستند. حلقه كليد را مي توان مجموعه اي از كليدها دانست، يك حلقه كليد از كليد هاي عمومي همه افرادي كه براي شما اطلاعاتي در قالب Hashcode ارسال كرده اند است.

۱۱ – چگونه يک امضاي ديجيتالي درست کنيم؟
بوجود آوردن يک امضاي ديجيتالي مراحل محاسباتي پيچيده اي دارد. در حاليکه اين مراحل توسط کامپوتر انجام مي شود، درست کردن امضاي ديجيتالي ديگر حتي از يک امضاي دستي هم آسان تر است.
مراحل زير نشان دهنده اعمالي است که در حين ساخته شدن يک امضاي ديجيتالي صورت مي گيرد:
a) آليس دکمه singرا در نرم افزار ايميل خود کليک ميکند و يا فايلي را که نياز به امضا دارد انتخاب مي كند.
b) کامپيوتر آليس رمزگذاري را محاسبه مي کند. (پيغام به يک تابع عمومي جهت رمزگذاري برده مي شود). اين تابع توسط کليد خصوصي آليس رمزگذاري شده است (در اين حالت آنرا کليد امضا مي خوانيم).

c) پيغام آليس و امضاي ديجيتالي آن براي باب ارسال مي شود.
d) باب پيغام امضا شده رادريافت مي کند. در آنجا مشخص شده است که پيغام امضا شده است، و نرم افزار ايميل باب مي داند که چگونه آن امضا را تاييد کند.

d) کامپيوتر باب امضاي ديجيتالي آليس را توسط کليد عمومي آليس رمزگشايي مي کند.
e) کامپيوتر باب کد رمزگذاري را از امضاي ديجيتالي استخراج مي کند. سپس کامپيوتر باب کد رمزگذاري را که استخراج کرده است با کدي که با پيغام آليس ارسال شده است مطابقت مي کند.
f) اگر پيغام آليس صحيح انتقال يافته باشد و در طول راه مورد دستبرد واقع نشده باشد هر دو کليد استخراج شده يکسان مي باشند. اگر دو کد رمزگذاري که استخراج شده اند با يکديگر مطابقت نداشته باشد صلاحيت نامه منتفي است.

g) اگر پيغام اصلي مورد سرقت قرار گرفته باشد کد رمزگذاري که در کامپيوتر باب استخراج مي شود متفاوت خواهد بود و در اين صورت کامپيوتر باب به او اطلاع خواهد داد.

۱۲ – امضاهاي ديجيتالي: مرحله به مرحله

يك امضاي ديجيتالي مطابق روند زير ايجاد مي‌شود:

– مرحله اول ايجاد واحد داده‌ايست كه بايد امضاء شود. براي مثال يك شيء اطلاعاتي بصورت ديجيتالي كه ميتواند متن، شكل و يا هر نوع ديگري از اطلاعات ديجيتالي باشد.

– مرحله دوم ايجاد يك مقدار درهم (Hash Value) از داده كه معمولاً چكيده پيام ناميده مي‌شود، مي‌باشد. اين عمل نتيجه پردازشهاي رياضي يك الگوريتم مي‌باشد كه شكل ديجيتالي فشرده‌اي را ايجاد مي‌نمايد. در صورتيكه حتي يك بيت از واحد داده تغيير كند، مقدار درهم مربوطه دستخوش تغييرات وسيع مي‌گردد. اين تكنيك، باعث ايجاد امضاي ديجيتالي با طول ثابت و قابل پيش‌بيني از قبل داده مي‌شود.

– در مرحله سوم امضاءكننده مقدار درهم را با كليد محرمانه خود رمزگذاري مي‌كند و امضاي ديجيتالي خود براي واحد داده را ايجاد مي‌كند كه مقداري منحصر به فرد بوده و مي‌بايست به واحد داده متصل يا الحاق گردد.

– بعنوان مرحله آخر، كنترل امضاي ديجيتالي با توليد مجدد مقدار درهم همان واحد داده توسط الگوريتم قبلي، آغاز مي شود .سپس امضاي ديجيتالي ضميمه سند توسط كليد همگاني امضا كننده رمزگشايي مي شود و در نهايت نتايج حاصل مطابقت داده مي‌شوند. چنانچه نتيجه يكسان بود، امضاء پذيرفته و در غير اينصورت رد مي شود.هدف از به كار گيري روشهاي رمزنگاري در اينجا، اطمينان از يكپارچگي داده‌ها و معتبر بودن و اصالت امضاء كننده، جدا از كاربرد آن براي اطمينان از محرمانگي داده‌ها مي‌باشد.

۱۳ – امضاهاي ديجيتال استاندارد

در اين بخش ابتدا به معرفي مختصر و مقايسه اجمالي سه روش استاندارد امضاء ديجيتال مي پردازيم.

الف: امضاء ديجيتال مبتني بر RSA

اين روش امضاء مبتني بر الگوريتم رمز كليد همگاني RSA بوده و درسال ۱۹۹۱ توسط ANSI به عنوان استاندارد پذيرفته شد. روندهاي توليد كليد، توليد امضاء و تصديق امضاء در زير آمده است.

توليد كليد :

هر كاربر مانند A، اعداد اول P و q را توليد و سپس عدد e را به گونه‌‌اي توليد مي‌كند كه gcd (e, pq) = 1 باشد. در اين صورت e داراي وارون ضربي d به پيمانة e است كه در رابطة صدق مي‌كند كه در آن n=pq است. در اين صورت زوج اعداد(e, n) كليد همگاني كاربر و اعداد (d, p, q) كليدهاي خصوصي (محرمانه) كاربر را تشكيل مي‌دهند.

توليد امضاء :

۱- كاربر A ابتدا با بكارگيري يكي از توابع درهم‌ساز، چكيدة پيام را بدست مي‌آورد. در صورتيكه تابع درهم‌ساز را h بناميم چكيدة پيام عبارت است از h(m). (در روش استاندارد استفاده از الگوريتم‌هاي MD5 يا MD2 توصيه شده است).
۲- سپس براي توليد امضاء مقدار modn s=(h(m))d را محاسبه مي‌نمايد. s امضاء A بر روي پيام m خواهد بود.

تصديق امضاء :

براي بررسي صحت امضاء‌ كاربر A بر روي پيام m، كاربر B اعمال زير را انجام مي‌دهد:
۱- ابتدا يك كپي قابل اعتماد از كليد عمومي A يعني (e, n) را بدست مي‌آورد.
۲- با بكارگيري تابع در هم‌ساز، چكيدة پيام را بدست مي‌آورد، يعني f = h(m) را تشكيل مي‌دهد.
۳- با استفاده از كليد عمومي مقدار f1 = se mod n را محاسبه مي‌نمايد.
۴- امضاء را مي‌پذيرد اگر و تنها اگر f و f1 برابر باشند.

ب:‌ استاندارد امضاي ديجيتال DSS :‌

روش امضاي DSS بر اساس سيستم رمزنگاري كليد همگاني الجمال استوار است. DSS در آگوست سال ۱۹۹۱ توسط مؤسسة ملي استاندارد و تكنولوژي آمريكا پيشنهاد شد و در سال ۱۹۹۳ به عنوان يك استاندارد پردازش اطلاعات فدرال دولت آمريكا پذيرفته گرديد ((FIPS 186. DSS اولين روش امضاي ديجيتالي بود كه به صورت قانوني رسميت يافت. در اين روش به منظور كاهش اندازة امضاءها از زيرگروههاي كوچك در Zp استفاده مي‌شود. روشهاي توليد كليد، توليد امضاء و تصديق امضاء اين روش در زير آمده‌اند: