digital signature یا امضای دیجیتال یک روش ریاضی برای اعتبار سنجی و صحت یک پیام، نرم افزار یا سند دیجیتالی است. این معادل دیجیتالی امضای دست نویس یا مهر است.
امنیت ذاتی بیشتری را ارائه می دهد.
یک امضای دیجیتالی برای حل مشکل دستکاری و جعل هویت در ارتباطات دیجیتالی می باشد.
امضای دیجیتال مانند اثر انگشت الکترونیکی است. در قالب یک پیام رمزگذاری شده، به طور ایمن یک امضا کننده را با یک سند در یک معامله ثبت شده مرتبط می کند.
امضاهای دیجیتالی می توانند شواهد مبدا، هویت و وضعیت اسناد الکترونیکی، معاملات یا پیام های دیجیتالی را ارائه دهند. امضا کنندگان همچنین می توانند از آنها برای تأیید رضایت آگاهانه استفاده کنند.
امضای دیجیتال چگونه کار می کند؟
امضاهای دیجیتال مانند امضاهای دست نویس برای هر امضا کننده منحصر به فرد است. ارائه دهندگان راه حل امضای دیجیتال، مانند DocuSign، از پروتکل خاصی به نام PKI پیروی می کنند.
PKI از ارائه دهنده می خواهد که از یک الگوریتم ریاضی برای تولید دو عدد طولانی، به نام کلید استفاده کند.
این امضا بر اساس رمزنگاری کلید عمومی است که به رمزنگاری نامتقارن نیز معروف است. با استفاده از الگوریتم کلید عمومی، مانند RSA (Rivest-Shamir-Adleman)، دو کلید ایجاد می شود که یک جفت کلید مرتبط ریاضی ایجاد می کند، که یکی خصوصی و دیگری عمومی است.
مزایای امضای دیجیتال
امنیت مهمترین مزیت امضای دیجیتال است. قابلیت های امنیتی تعبیه شده در امضاهای دیجیتالی از عدم تغییر سند و امضای قانونی اطمینان می دهد.
اصطلاحات امضای دیجیتال
Hash function
یک تابع هش یک رشته با طول ثابت از اعداد و حروف است که از یک الگوریتم ریاضی و یک فایل با اندازه دلخواه مانند ایمیل، سند، تصویر یا نوع دیگری از داده تولید می شود. این رشته ایجاد شده منحصر به فایل در حال هش شده است و یک تابع یک طرفه است . یک هش محاسبه شده را نمی توان معکوس کرد تا فایلهای دیگری را که ممکن است مقدار هش مشابه ایجاد کنند پیدا کند. برخی از متداول ترین الگوریتم های هش مورد استفاده امروزه عبارتند از:
Secure Hash Algorithm-1 :SHA-1
Secure Hashing Algorithm-2 (SHA-2 و SHA-256)
Message Digest 5 : MD5.
رمزنگاری کلید عمومی(رمزگذاری نامتقارن)
رمزنگاری کلید عمومی یک روش رمزنگاری است که از یک جفت کلید استفاده می کند. یک کلید به نام کلید عمومی، داده ها را رمزگذاری می کند. کلید دیگر که کلید خصوصی نام دارد، داده ها را رمزگشایی می کند.
رمزنگاری کلید عمومی می تواند از چندین روش برای اطمینان از محرمانه بودن، صداقت و اصالت استفاده کند. رمزنگاری کلید عمومی می تواند با ایجاد امضای دیجیتالی پیام با استفاده از کلید خصوصی فرستنده، صداقت را تضمین کند. این کار با هش کردن پیام و رمزگذاری مقدار هش با کلید خصوصی آنها انجام می شود. با این کار، هرگونه تغییر در پیام، مقدار هش متفاوتی را در پی خواهد داشت.
با رمزگذاری کل پیام با کلید عمومی گیرنده، از محرمانه بودن آن اطمینان حاصل کنید. این بدان معناست که فقط گیرنده، که کلید خصوصی مربوطه را در اختیار دارد می تواند پیام را بخواند. هویت کاربر را با استفاده از کلید عمومی و بررسی آن در برابر مرجع گواهی تأیید کنید.
Public key infrastructure(PKI)
شامل خط مشی ها، استانداردها، افراد و سیستم هایی است که از توزیع کلیدهای عمومی و تأیید هویت افراد یا اشخاص دارای مجوز گواهی پشتیبانی می کند.
Certificate authority (CA)
یک شخص ثالث قابل اعتماد است که هویت شخص را تأیید می کند و یا از طرف آنها یک جفت کلید عمومی/خصوصی ایجاد می کند یا یک کلید عمومی موجود را که توسط شخص به آن شخص ارائه می شود مرتبط می کند. هنگامی که CA هویت شخصی را تأیید می کند، یک گواهی دیجیتالی صادر می کند که توسط CA به صورت دیجیتالی امضا می شود. از گواهی دیجیتال می توان برای تأیید شخص مرتبط با کلید عمومی در صورت درخواست استفاده کرد.
گواهینامه های دیجیتال
مشابه گواهینامه های رانندگی هستند زیرا هدف آنها شناسایی دارنده گواهینامه است. گواهینامه های دیجیتال حاوی کلید عمومی فرد یا سازمان هستند و توسط CA به صورت دیجیتالی امضا می شوند. سایر اطلاعات مربوط به سازمان، فرد و CA نیز می تواند در گواهی گنجانده شود.
Pretty Good Privacy یا (PGP)/OpenPGP
PGP/OpenPGP جایگزینی برای PKI است. با PGP/OpenPGP، کاربران با امضای گواهی افراد دارای هویت قابل تأیید، به دیگر کاربران اعتماد می کنند. هرچه این امضاها به هم متصل باشند، احتمال تأیید یک کاربر خاص در اینترنت بیشتر است. این مفهوم را ” Web of Trust” می نامند.
امضاهای دیجیتالی با اثبات اینکه پیام یا سند دیجیتالی از زمان امضاء، عمداً یا ناخواسته تغییر نکرده است، کار می کنند. امضای دیجیتالی این کار را با ایجاد یک هش منحصر به فرد از پیام یا سند و رمزگذاری آن با استفاده از کلید خصوصی فرستنده انجام می دهد. این هش منحصر به پیام یا سند است و تغییر هر قسمتی از آن، هش را کاملاً تغییر می دهد.
پس از تکمیل، پیام یا سند دیجیتالی به صورت دیجیتالی امضا و برای گیرنده ارسال می شود. سپس گیرنده هش پیام یا سند دیجیتالی خود را ایجاد می کند و هش فرستنده (که در پیام اصلی موجود است) را با استفاده از کلید عمومی فرستنده رمزگشایی می کند. گیرنده هش تولیدی را با هش رمزگشایی فرستنده مقایسه می کند. در صورت مطابقت، پیام یا سند دیجیتالی اصلاح نشده است و فرستنده تأیید می شود.