Loading

وبلاگ

صبح ایرانی ، مجله نشاط و سرگرمی

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

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

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

طرح عمومی امضای دیجیتال

یك طرح امضای دیجیتال نوعا از سه الگوریتم تشكیل شده است:

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

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

تاریخچه امضای دیجیتال

در سال 1976، «ویتفیلد دیفی» و «مارتین هلمن» برای اولین بار طرح یك امضای دیجیتالی را شرح دادند. پس از مدت كمی، «رونالد ریوست»، «ادی شامیر»، و «لن آدلمن» الگوریتم RSA را اختراع كردند كه می­توانست برای امضاهای دیجیتالی اولیه مورد استفاده قرار گیرد. البته امضاهای RSA خالص امن نیستند. نخستین بسته نرم افزاری كه به طور گسترده ای برای امضای دیجیتالی به فروش رفت Lotus Notes 1.0 بود كه در سال 1989 عرضه شد و از الگوریتم RSA استفاده می­كرد.

امضاهای اولیه RSA به صورت زیر محاسبه می­شوند:

برای تولید كلیدهای امضای RSA ابتدا به سادگی یك زوج كلید RSA شامل قدر مطلق N تولید می شود كه حاصلضرب دو عدد اول بزرگ است به طوریكه:
در این رابطه phi تابع اویلر است و e و d نیز دو عدد صحیح هستند. كلید عمومی امضا از N و e تشكیل شده است و كلید خصوصی امضا نیز d را در بر دارد.
برای امضای پیغام m، امضا كننده رابطه زیر را محاسبه می كند:
گیرنده نیز برای تعیین اعتبار امضا، درستی عبارت زیر را بررسی می نماید: البته همانطور كه اشاره شد، این روش اولیه چندان امن نیست. برای جلوگیری از حملات، فرد می­تواند ابتدا یك تابع درهم سازی رمزنگاری را به پیغام m اعمال نماید و سپس الگوریتم RSA را كه توضیح داده شده، به نتیجه آن كه خلاصه ای از پیغام اصلی است، اعمال كند. امنیت این روش در مدل اوراكل تصادفی قابل اثبات است.

مدت كمی پس از RSA، روشهای دیگری نیز برای امضای دیجیتالی معرفی شدند كه از آن جمله می­توان به روشهای امضای Lamport، امضای Merkle (كه به نام درختهای Merkle یا درختهای درهم سازی نیز شناخته می­شود)، و امضای Rabin اشاره كرد. در سال 1984 «شافی گلدواسر»، «سیلویو میكالی» و «رونالد رایوست» برای نخستین بار لوازم مورد نیاز برای یك امضای دیجیتالی را تعریف كردند. آنها یك سلسله مراتب از مدلهای حمله برای امضاهای دیجیتالی را توصیف كردند و مدل امضای دیجیتالی GMR را نیز ارائه نمودند. این مدل، اولین مدلی است كه می­تواند حتی از حمله جعل علیه یك پیغام انتخاب شده جلوگیری نماید.

اغلب مدلهای اولیه امضای دیجیتالی از یك نوع مشابه بودند: همه آنها شامل یك تابع trapdoor مانند تابع RSA بودند (توابع trapdoor به توابعی اطلاق می­گردد كه از یك طرف به راحتی قابل محاسبه هستند. اما از طرف دیگر بدون داشتن برخی اطلاعات خاص، یعنی كلید خصوصی، قابل محاسبه نیستند. این توابع در رمزنگاری مورد استفاده قرار می­گیرند). اما استفاده مستقیم از این روش، قابلیت جعل امضا را افزایش می­دهد. به همین دلیل، ابتدا پیغامی كه قرار است امضا گردد درهم سازی می­شود تا خلاصه ای از آن ایجاد شده و سپس امضا گردد. توابع درهم سازی از این خصوصیت برخوردارند كه یكطرفه هستند. یعنی از خلاصه به دست آمده، نمی توان به پیغام اصلی دست یافت.

دلایل متعددی برای امضای خلاصه پیغام به جای كل آن وجود دارد:

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

تایید هویت 

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

اجزای تشكیل دهنده امضای دیجیتالی

كلید عمومی: این كلید بخشی از سیستم تایید اعتبار است كه هر كسی می­تواند یك كپی از آن را در اختیار داشته باشد.
نام و آدرس ایمیل: این بخش به عنوان اطلاعات ارتباطی و برای اینكه مشاهده كننده قادر به شناختن جزئیات باشد لازم است.
زمان انقضای كلید عمومی: این بخش از امضا برای این است كه امضا در گذر زمان تغییر كرده و سوء استفاده غیر ممكن باشد.
نام شركت: این بخش مشخص كننده شركتی است كه امضا به آن متعلق است.
شماره سریال شناسه دیجیتالی: این بخش عدد یكتایی است كه برای ردیابی به امضا ضمیمه شده است.
امضای دیجیتالی CA: این امضایی است كه توسط مرجعی كه امضاها را تعریف و تایید می­كند، ایجاد شده است.

كاربر A كه در شكل فوق نشان داده شده است، دو كلید در اختیار دارد. یك كلید عمومی كه به صورت عمومی برای دانلود در اختیار همه قرار دارد، و یك كلید خصوصی كه این كلید تنها در اختیار وی است. تمامی كلیدها برای قفل كردن اطلاعات در یك مد رمز شده مورد استفاده قرار می­گیرند. همان كلیدها برای بازگشایی داده ها نیز مورد نیازند. یك كاربر دیگر می­تواند داده ها را با استفاده از كلید عمومی كاربر A رمز نماید. كاربر A با استفاده از كلید خصوصی خود آن را خواهد گشود. بدون كلید خصوصی كاربر A، داده ها نمی­توانند رمزگشایی شوند. شكل زیر روش رمزگذاری و رمزگشایی و كلیدهای مورد استفاده را نمایش می­دهد.

امضای دیجیتالی می­تواند برای خصوصی كردن ایمیلهای مستند و سایر داده ها مورد استفاده قرار گیرد. در سمت فرستنده، ابتدا سیستم كاربر A توسط تابع درهم سازی، خلاصه ای از پیغام را تهیه می­كند. سپس این خلاصه توسط كلید خصوصی كاربر A رمزگذاری می­شود و به این ترتیب امضا تهیه می­گردد. پیغام اصلی نیز توسط كلید عمومی گیرنده رمزگذاری شده و به همراه امضا، برای گیرنده ارسال می­گردد.

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

مركز گواهی هویت (CA)

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

آیا به راهنمایی بیشتری نیاز دارید؟

افزودن دیدگاه جدید

عضویت درخبرنامه

با عضویت در خبرنامه شما از بروزرسانی محصولات ، خدمات ، اخبار و غیره مطلع خواهید شد

جدیدترین مطالب

1 ماه 4 روز قبل

وقتیکه گوگل در فوریه ی سال گذشته پروژه ی AMP یا صفحات موبایلی پرشتاب رو کلید زد، سر و صدای وب مسترها بلند شد که آیا به این...