امضای دیجیتال (Digital Signature) یک مکانیزم رمزنگاری مبتنی بر PKI (زیرساخت کلید عمومی) است که سه ویژگی کلیدی را برای پیام یا سند دیجیتال تضمین میکند: اصالت (Authenticity)، یکپارچگی (Integrity) و عدمانکار (Non-repudiation).
اعتبارسنجی امضای دیجیتال (Digital Signature Verification) فرآیندی است که بررسی میکند:
-
امضا واقعاً توسط دارنده کلید خصوصی ایجاد شده است،
-
محتوا بعد از امضا تغییر نکرده است،
-
گواهی دیجیتال مرتبط معتبر است (منقضی یا لغوشده نیست).
فرآیند کلی اعتبارسنجی (Verification) امضای دیجیتال
اعتبارسنجی معمولاً شامل مراحل زیر است:
۱) محاسبه هش سند دریافتی
گیرنده با استفاده از همان الگوریتم هش (مثلاً SHA-256) یک هش جدید از سند محاسبه میکند.
۲) استخراج هش اصلی از امضا با کلید عمومی
امضای دیجیتال در عمل «هش امضاشده» است. سامانه با استفاده از کلید عمومی امضاکننده (که در گواهی دیجیتال قرار دارد) مقدار هشِ مربوط به زمان امضا را بازیابی/صحتسنجی میکند.
۳) مقایسه هشها
اگر هش محاسبهشده با هش بهدستآمده از امضا برابر باشد:
-
سند بعد از امضا دستکاری نشده،
-
و امضا از نظر رمزنگاری معتبر است.
۴) بررسی گواهی دیجیتال (Certificate)
کلید عمومی معمولاً داخل یک گواهی دیجیتال صادرشده توسط یک مرجع صدور گواهی (CA) قرار دارد. در این مرحله بررسی میشود:
-
زنجیره گواهی (Certificate Chain) تا ریشه معتبر (Root CA) صحیح باشد،
-
گواهی منقضی نشده باشد،
-
گواهی لغو (Revoked) نشده باشد (از طریق CRL یا OCSP).
۵) بررسی زمان امضا (Timestamp)
بسیاری از امضاها دارای مهر زمانی (Timestamp) هستند تا ثابت شود امضا در بازه اعتبار گواهی ایجاد شده است (حتی اگر بعداً گواهی منقضی شود).
اگر هر یک از مراحل بالا شکست بخورد، امضا نامعتبر اعلام میشود.
الگوریتمهای رایج امضای دیجیتال و اعتبارسنجی
الگوریتمهای امضای دیجیتال معمولاً شامل دو تابع هستند: Sign (تولید امضا) و Verify (اعتبارسنجی امضا). رایجترین گزینهها:
-
RSA: مبتنی بر فاکتورگیری اعداد بزرگ؛ بسیار رایج در سامانههای PKI.
-
DSA: استاندارد امضای دیجیتال (تاریخچه قوی در استانداردهای دولتی).
-
ECDSA: مبتنی بر منحنی بیضوی؛ امنیت بالا با کلید کوتاهتر و کارایی بهتر.
-
EdDSA: نسل مدرنتر؛ معمولاً سریعتر و با طراحی مقاومتر در برخی سناریوها.
روشهای عملی اعتبارسنجی امضای دیجیتال
اعتبارسنجی امضای دیجیتال در PDF
-
فایل را در نرمافزارهای پشتیبان امضا باز کنید.
-
بخش/پنل Signatures را بررسی کنید.
-
وضعیت را به صورت Valid / Invalid و جزئیات گواهی مشاهده کنید.
اعتبارسنجی امضای دیجیتال در فایلهای اجرایی (EXE/DLL)
-
راستکلیک روی فایل → Properties
-
تب Digital Signatures
-
انتخاب امضا و مشاهده وضعیت و اطلاعات گواهی
اعتبارسنجی امضای دیجیتال در ایمیل
در سرویسهایی که S/MIME را پشتیبانی میکنند:
-
روی آیکون امضا/قفل کلیک کنید
-
جزئیات گواهی و وضعیت اعتبارسنجی را ببینید
سرویسها و ابزارهای اعتبارسنجی
بسته به اکوسیستم سازمانی/ملی، ممکن است از ابزارهای داخلی یا سرویسهای بینالمللی برای بررسی امضا و گواهی استفاده شود (مهم: همیشه منبع را قابل اعتماد انتخاب کنید).
نکات امنیتی مهم در اعتبارسنجی امضای دیجیتال
-
فقط به CAهای معتبر اعتماد کنید (ریشههای قابل اعتماد باید در سیستم/نرمافزار شما موجود باشند).
-
وضعیت گواهی را حتماً با OCSP/CRL بررسی کنید؛ صرفِ «وجود گواهی» کافی نیست.
-
وجود Timestamp معتبر ارزش حقوقی و فنی امضا را بالاتر میبرد (اثبات زمان ایجاد امضا).
-
امضای دیجیتال (بر پایه PKI) از «امضای الکترونیکی ساده» قویتر است و معمولاً پشتوانه حقوقی محکمتری دارد.
جمعبندی
اعتبارسنجی امضای دیجیتال یعنی کنترل همزمان سه چیز:
۱. امضا از نظر رمزنگاری درست است
۲. محتوا تغییر نکرده
۳. گواهی و زنجیره اعتماد معتبر و غیرلغوشده است
اگر این زنجیره کامل باشد، میتوانید با اطمینان بگویید سند واقعاً توسط امضاکننده امضا شده و پس از امضا دستکاری نشده است.
تدوین متن: فروغ مروج صالحی







