امضای دیجیتال چیست و چگونه میتوانید یک Digital signature ایجاد کنید؟
همهی چیزهایی که درباره امضای دیجیتال باید بدانید.

امضای دیجیتال مثل “اثر انگشت” الکترونیک است. امضای دیجیتال در قالب یک پیام کدگذاری شده و به صورت کاملاً امن، فرد امضاکننده را به یک سند در یک تراکنش ثبت شده مرتبط میکند. امضای دیجیتال از یک قالب استاندارد و پذیرفته شده به نام زیرساخت کلید عمومی (Public Key Infrastructure (PKI استفاده میکند تا بالاترین سطح امنیت و پذیرش عمومی در سطح جهانی را داشته باشد و در واقع یک پیادهسازی خاص از یک تکنولوژی امضا، امضای الکترونیک (eSignature) است.
تفاوت بین امضای دیجیتال و امضای الکترونیک چیست؟
امضای الکترونیک (eSignature) طیفهای گسترده و انواع مختلفی دارد که یکی از آنها امضای دیجیتال است که یک نوع پیادهسازی خاص از امضای الکترونیک با تکنولوژی خاصی است.
امضای دیجیتال و سایر راهکارهای امضای الکترونیک، امکان امضا کردن اسناد و بررسی و تصدیق هویت امضاکننده را فراهم میکنند. اما بین اهداف، پیادهسازیهای فنی، استفادههای جغرافیایی و پذیرش فرهنگی و قانونی امضاهای دیجیتال در مقایسه با سایر انواع امضاهای الکترونیک تفاوتهایی وجود دارد.
بویژه تفاوتهای زیادی در استفاده از تکنولوژی امضای دیجیتال برای امضای الکترونیک بین کشورهای مختلفی که از قوانین امضای الکترونیکِ مستقل از تکنولوژی پیروی میکنند وجود دارد که این کشورها شامل امریکا، انگلیس، کانادا، استرالیا و همچنین سایر کشورهایی هستند که مدلهای امضای الکترونیک چند ردیفی (سلسله مراتبی) را قبول دارند و استفاده از استانداردهای داخلی را برای تکنولوژی امضای دیجیتال ترجیح میدهند، مثل خیلی از کشورهای اتحادیه اروپا، امریکای جنوبی و آسیا. بعلاوه بعضی از صنایع هم از استانداردهای خاصی پشتیبانی میکنند که مبتنی بر تکنولوژی امضای دیجیتال هستند.
امضای دیجیتال چطور کار میکند؟
امضای دیجیتال مثل امضای معمولی برای هر فردی منحصر است. شرکتهای ارائهدهنده راهکارهای امضای دیجیتال مثل DocuSign از پروتکل خاصی به نام PKI پیروی میکنند. در PKI لازم است که ارائهدهنده از یک الگوریتم ریاضی خاص جهت تولید دو عدد طولانی به نام کلید استفاده کند. یک کلید عمومی و دیگری کلید خصوصی است.
وقتی امضاکننده سندی را به صورت الکترونیک امضا میکند، این امضا با استفاده از کلید خصوصی امضاکننده ایجاد میشود. فرد امضاکننده همیشه این کلید خصوصی را به صورت امن نزد خودش نگه میدارد. این الگوریتم ریاضی مثل یک رمزنگار عمل میکند و سند امضا شده را به فرم رمزگذاری شده که به آن هش (hash) گفته میشود در میآورد. داده رمزنگاری شده حاصل، همان امضای دیجیتال است. زمان امضای سند هم به امضا اضافه میشود. در صورتی که سند، بعد از امضا تغییر پیدا کند، اعتبار امضای دیجیتال از بین میرود.
مثلاً فرض کنیم کاربری به اسم احسان یک توافقنامه برای فروش یک اشتراک زمانی (timeshare) را با استفاده از کلید خصوصی خودش امضا میکند. خریدار سند را دریافت میکند. خریداری که این سند را دریافت کرده یک کپی از کلید عمومی احسان را هم دریافت میکند. اگر این کلید عمومی نتواند امضا را رمزگشایی کند (از طریق رمزی که کلیدها از روی آن ساخته شده) یعنی یا این امضا، امضای احسان نیست یا امضای او به هر نحوی تغییر کرده است. به این ترتیب امضا نامعتبر تلقی میشود.
برای تضمین صحت و درستی امضا، در پروتکل PKI این الزام ایجاد شده که کلیدها به روشی امن ایجاد، منتقل و ذخیره سازی شوند و اغلب اوقات برای این کار نیاز به خدمات یک مرجع صدور گواهینامه دیجیتال (Certificate Authority (CA است. بعضی از ارائه دهندگان سرویس امضای دیجیتال مثل DocuSign، با الزامات PKI برای امضای دیجیتال امن، همخوانی دارند.
پرسشهای متداول درباره امضای دیجیتال
چطور میتوان یک امضای دیجیتال ایجاد کرد؟
شرکتهای ارائهدهنده امضای الکترونیک که راهکارهایی را بر اساس تکنولوژی امضای دیجیتال ارائه میدهند، امضا کردن اسناد به صورت دیجیتال را ساده کردهاند. این شرکتها اینترفیسهایی برای ارسال و امضای اسناد در فضای آنلاین و کار با مراجع معتبر صدور گواهینامه دیجیتال که گواهینامههای دیجیتال معتبری ارائه میدهند، فراهم کردهاند.
هر مرجع صدور گواهینامه دیجیتال کاربران را ملزم به ارائه اطلاعات خاصی میکند. همچنین ممکن است محدودیتها و قوانین خاصی برای افرادی که اسناد را جهت امضا برایشان ارسال میکنید و ترتیب ارسال اسناد وجود داشته باشد. وقتی سندی را از طریق ایمیل برای امضا دریافت میکنید، باید هویت شما طبق الزامات مرجع صدور گواهینامه دیجیتال تایید شده و سپس آن سند را با پر کردن یک فرم آنلاین، امضا کنید.
زیرساخت کلید عمومی (PKI) چیست؟
زیرساخت کلید عمومی (PKI) مجموعهای از الزامات و مقررات است که امکان ایجاد امضای دیجیتال را فراهم میکند (البته این مورد فقط یکی از کاربردهای آن است). هر تراکنش مربوط به امضای دیجیتال در PKI دارای یک جفت کلید است: کلید خصوصی و کلید عمومی.
کلید خصوصی همانطور که از نامش پیداست به اشتراک گذاشته نمیشود و فقط توسط امضاکننده برای امضای اسناد به صورت الکترونیک بکار میرود. کلید عمومی در دسترس همه قرار دارد و هر کسی که نیاز به اعتبار سنجی امضای الکترونیکِ فرد امضاکننده داشته باشد، از آن استفاده میکند.
PKI یکسری الزامات دیگر هم دارد از جمله مرجع صدور گواهینامه دیجیتال، یک گواهینامه دیجیتال، نرمافزار ثبتنام کاربران نهایی و ابزارهایی برای مدیریت، نوسازی و فسخ کلیدها و گواهینامهها.
گواهینامه دیجیتال چیست؟
گواهینامه دیجیتال یک سند دیجیتال است که توسط یک مرجع صدور گواهینامه دیجیتال صادر میشود و حاوی یک کلید عمومی برای امضای دیجیتال است و هویت صاحب آن کلید را مشخص میکند مثل نام سازمان مربوطه.
از این گواهینامه برای تایید این که آیا کلید عمومی به آن سازمان خاص تعلق دارد یا خیر استفاده میشود. مرجع صدور گواهینامه دیجیتال مثل یک ژنراتور یا مولد عمل میکند. امضای دیجیتال باید توسط یک مرجع دارای صلاحیت صادر شود و فقط برای یک مدت زمان خاص اعتبار دارد. وجود این گواهینامه برای ایجاد امضای دیجیتال، ضروری است.
مرجع صدور گواهینامه دیجیتال (CA) چیست؟
امضای دیجیتال به کلیدهای عمومی و خصوصی نیاز دارد. باید از این کلیدها بهخوبی محافظت شود تا امنیت آنها تضمین شده و از جعل یا سوءاستفاده از آنها پیشگیری شود. وقتی یک سند را ارسال یا امضا میکنید باید اطمینان داشته باشید که این سندها و امضاها به صورت امن ایجاد میشوند و از کلیدهای معتبری برای این کار استفاده میشود.
مراجع صدور گواهینامه دیجیتال یا به اختصار CA یک نوع ارائهدهنده سرویسهای خدمات اعتبار (Trust Service Provider) هستند و سازمانهای شخص ثالثی هستند که عده زیادی آنها را برای تضمین امنیت کلیدها قبول دارند و میتوانند گواهینامههای دیجیتال مورد نیاز را عرضه کنند. برای استفاده از یک CA خاص هم طرف ارسال کننده سند و هم گیرندهای که آن را امضا میکند باید در این زمینه به توافق برسند.
چرا باید از امضای دیجیتال استفاده کنیم؟
خیلی از صنایع و مناطق جغرافیایی استانداردهای خاصی برای امضای الکترونیک دارند که مبتنی بر تکنولوژی امضای دیجیتال و CAهای تصدیق شده خاصی برای اسناد کاری هستند. پیروی کردن از این استانداردها و کار با یک مرکز صدور مجوز معتبر میتواند قابلیت اجرا و پذیرش یک راهکار امضای الکترونیک را در هر بازار محلی تضمین کند.
با استفاده از روش PKI، در امضاهای دیجیتال از یک تکنولوژی استاندارد بینالمللی و پذیرفته شده استفاده میشود که از جعل و کلاهبرداری یا تغییر اسناد بعد از امضا پیشگیری میکند.
آیا امضاهای الکترونیکی که مبتنی بر فناوری امضای دیجیتال هستند، از نظر قانونی ضمانت اجرایی دارند؟
بله. اتحادیه اروپا در سال 1999 بخشنامه مربوط به امضاهای دیجیتال را تصویب و ایالاتمتحده در سال 2000 قانون امضاهای الکترونیک در تجارت جهانی و ملی (ESIGN) را تصویب کرد. هر دو قانون قراردادها و اسنادی را که به صورت الکترونیک امضا میشوند مثل قراردادهای کاغذی از نظر قانونی، معتبر و الزامآور کردند. از آن زمان بارها از قانونی بودن امضاهای الکترونیک حمایت شده است.
تا به امروز بیشتر کشورها مقررات و قوانینی که توسط اتحادیه اروپا و ایالاتمتحده ایجادشدهاند را تصویب و بکار بستهاند و در خیلی از کشورهای اتحادیه اروپا مدل امضاهای الکترونیک مبتنی بر تکنولوژی امضای دیجیتال که تحت مدیریت محلی قرار دارند، اتخاذ شده است.
علاوهبراین خیلی از کشورها الزامات مربوط به این مقررات را بهبود دادهاند و مقرراتی تحت نظارت صنایع خودشان تصویب کردهاند (مثل ماده 11 قانون CFR FDA 21 در صنعت علوم زیستی) که با استفاده از تکنولوژی امضای دیجیتال به این امر نائل شدهاند. این قوانین و مقررات که خاص کشور و صنعت مربوطه هستند، مدام در حال رشد و تکامل هستند که یکی از نمونههای بارز آن مقررات سرویسهای اعتماد و شناسایی الکترونیک (eIDAS) است که اخیراً در اتحادیه اروپا مورد تصویب قرار گرفته است.
فرآیند امضای دیجیتال
اعمال امضای دیجیتال یک فرایند بسیار ساده است. در ادامه نگاهی به یک سناریوی واقعی خواهیم داشت.
سناریو: مهسا یک طراحی انجام داده که باید آن را برای علیرضا ارسال کند. برای جلوگیری از باز شدن توسط مهاجمین و عدم تغییر در آن باید از امضای دیجیتال استفاده کند. برای اعمال این امضا میتوان از نرمافزارهای مختلفی استفاده کرد (مثل Adobe LiveCycle، BlueBeam و غیره) اما ما در این مثال از Adobe Acrobat استفاده میکنیم. طبق مشخصات این پروژه، مهسا باید این داکیومنت را تائید کرده و مهر Professional Engineer (مهندسی حرفهای یا به اختصار PE) خودش را در آن ثبت کند.
فرایند امضاء دو مرحله دارد، 1. تولید امضا و 2.اعتبارسنجی آن.
با بخش اول یعنی اعمال امضای دیجیتال توسط مهسا شروع میکنیم.
اعمال امضای دیجیتال
مهسا برای اعمال امضای دیجیتال این مراحل را طی میکند.
- طرح خودش را در Acrobat باز کرده و روی گزینه Certify with Visible Signature کلیک میکند.
- پس از انتخاب محل درج امضاء او تصدیق میکند که میخواهد داکیومنت را امضا کند، نحوه نمایش امضا را هم انتخاب میکند (مهر PE). در نهایت گزینهای را انتخاب میکند که باعث میشود امکان تغییر داکیومنت پس از اعمال امضا وعلیرضاد نداشته باشد.
- در نهایت پسورد خودش را وارد میکند و امضا اعمال میشود. حالا این داکیومنت، حاوی دو شاخص اعتماد است – یک اعلامیه در بالای آن که نشان میدهد مهسا این داکیومنت را تصدیق کرده است و هویت او توسط یک CA شخص ثالث (در این مثال GlobalSign) تائید شده و دومی مهر PE او. حالا این داکیومنت آماده ارسال به علیرضا است.
اعتبارسنجی و تائید امضا
علیرضا برای تائید امضای مهسا دو مرحله را طی میکند.
- علیرضا داکیومنت را در Adobe Reader باز میکند و همان دو نشانه اعتمادی را که پیش از این توضیح دادیم مشاهده میکند – اعلامیهای که بالای داکیومنت قرار گرفته و مهر مهندسی مهسا.
- کلیک کردن روی مهر باعث نمایش تاییدیه امضای مهسا شده و دوباره تائید میکند که از زمان امضای این داکیومنت، هیچ تغییری در آن اعمال نشده است.
- علیرضا میتواند برای کسب اطلاعات بیشتر، از جمله زمان امضای داکیومنت روی گزینه Signature Properties کلیک کند.
پشت صحنه فرآیند امضا
در ادامه بررسی میکنیم که وقتی مهسا فایل PDF را امضا میکند و وقتی علیرضا امضا را اعتبارسنجی میکند، در واقعیت چه اتفاقی میافتد.
1. اعمال امضا
- وقتی مهسا در Adobe Acrobat روی گزینه sign کلیک میکند، با استفاده از الگوریتمهای ریاضی برای داکیومنت یک اثر انگشت دیجیتال منحصربفرد (که به آن هش گفته میشود) تولید میشود. این کد هش، مخصوص همین داکیومنت خاص است و حتی کوچکترین تغییری در آن منجر به ایجاد یک هش متفاوت میشود.
- این هش با استفاده از کلید خصوصی تصدیق دیجیتال او رمزگذاری میشود. هش رمزگذاری شده و کلید عمومی مهسا با هم ترکیب شده و یک امضای دیجیتال تشکیل میشود که به داکیومنت الحاق میشود.
- حالا مهسا میتواند داکیومنتی را که امضا کرده با علیرضا به اشتراک بگذارد.
2. اعتبارسنجی امضا
هنگامی که علیرضا داکیومنت امضا شده را باز میکند، Adobe Reader به صورت خودکار از کلید عمومی مهسا (که در امضای دیجیتال قرار گرفته) برای رمزگشایی هش داکیومنت استفاده میکند.
Reader یک هش جدید برای داکیومنت مهسا تولید میکند. اگر این هش جدید با هش رمزگذاری شده در مرحله 1 تطبیق داشته باشد، Reader متوجه میشود که این داکیومنت تغییری نکرده و این پیام را نمایش میدهد: The Document has not been modified since this signature was applied.” یعنی این داکیومنت از زمان اعمال امضای دیجیتال تغییری نکرده است.
همچنین، Reader اعتبار تصدیق مورد استفاده مهسا برای اعمال امضا را بررسی میکند (مثلاً اینکه اعتبار آن منقضی نشده باشد) و تائید میکند که کلید عمومی مورد استفاده در امضا متعلق به مهسا است.
3. سایر سناریوهای امضای دیجیتال
ما یک سناریوی ساده را بررسی کردیم که در آن مهسا فقط نیاز به ارسال فایلی برای علیرضا داشت که با مهر PE او تصدیق شده باشد. گزینههای مختلفی هستند که میتوانید بسته به نوع کار مورد نظر، نوع داکیومنت یا قوانین و مقررات دولتی از آنها استفاده کنید.
نسخه دیجیتال امضای دستنویس
- مهسا میتوانست به جای مهر PE، یک تصویر از امضای دستنویس خودش در داکیومنت قرار دهد.
چندین امضا برای یک داکیومنت
- مهسا انتخاب کرده که پس از امضای دیجیتال داکیومنت توسط او امکان اعمال هیچ تغییری در داکیومنت وجود نداشته باشد، اما میتوانست اجازه دهد که امضاهای دیگری هم به داکیومنت اعمال شوند.
امضای چند صفحه از یک داکیومنت
- مهسا میتوانست مهر PE خودش را به چندین صفحه از داکیومنت اعمال کند.