رفتن به محتوای اصلی
Koohestun
توضیح کوهستانرمزنگاریمقاله آموزشی· 4 دقیقه مطالعه· در متا

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

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

به قلم نیما موسوی

فروشندگان تجاری امضای الکترونیکی 40%خلوص‌گرایان رمزنگاری 30%نهادهای استانداردگذاری 30%
فروشندگان تجاری امضای الکترونیکی
با مدیریت کلیدهای رمزنگاری روی سرورهای متمرکز، تجربه کاربری را در اولویت قرار می‌دهند.
خلوص‌گرایان رمزنگاری
طرفدار مدیریت دقیق کلیدها در سمت کاربر و امضاهای قابل تایید از نظر ریاضی هستند.
نهادهای استانداردگذاری
بر تعریف الگوریتم‌های امن و آماده‌سازی برای تهدیدات دوران پسا-کوانتومی تمرکز دارند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • متخصصان حقوقی که در حال بررسی قابلیت پذیرش امضاهای مبتنی بر سرور در دادگاه‌ها هستند.
  • کاربران نهایی که با دردسرهای مدیریت کلیدهای رمزنگاری خصوصی دست‌وپنجه نرم می‌کنند.

نکات کلیدی

  • امضاهای دیجیتال از رمزنگاری برای پیوند دادن یک هویت خاص به وضعیت دقیق یک سند استفاده می‌کنند.
  • تابع هش، سند را به یک دایجست با طول ثابت فشرده می‌کند که در صورت تغییر فایل، تغییر خواهد کرد.
  • فرستنده این دایجست را با کلید خصوصی خود رمزنگاری می‌کند تا امضا ایجاد شود.
  • گیرنده از کلید عمومی فرستنده برای رمزگشایی دایجست و تایید یکپارچگی سند استفاده می‌کند.
  • استانداردهای مدرن مانند DSS برای تضمین امنیت به الگوریتم‌هایی نظیر SHA-256 و RSA متکی هستند.

امضای فیزیکی و دست‌نویس، یک اثر بیومتریک مرتبط با شخص است، اما کاملاً مستقل از سندی است که روی آن نقش می‌بندد. می‌توانید آن را جعل کنید، کپی کنید یا حتی صفحه زیرش را جابه‌جا کنید. اما یک امضای دیجیتال رمزنگاری‌شده در یک جنبه اساسی تفاوت دارد: این امضا نه تنها به هویت فرستنده، بلکه به وضعیت دقیق و بیت‌به‌بیت سند در لحظه امضا شدن، از نظر ریاضی گره خورده است.[1][2]

فروشندگان نرم‌افزار مدام «امضاهای الکترونیکی» را به عنوان جایگزینی مدرن برای خودکار بازاریابی می‌کنند و اغلب تایپ کردن یک نام یا کشیدن یک خط‌خطی روی صفحه لمسی را با امنیت واقعی اشتباه می‌گیرند. اما امضای الکترونیکی صرفاً ثبت یک قصد و نیت است. یک امضای دیجیتال واقعی که تحت استاندارد امضای دیجیتال (DSS) منتشر شده توسط موسسه ملی استاندارد و فناوری (NIST) در سال ۱۹۹۴ اداره می‌شود، یک عملیات رمزنگاری مشخص است.[1][4]

برای درک اینکه واقعاً چه چیزی پشت زبان تبلیغاتی «رمزنگاری در سطح نظامی» پنهان شده است، باید این فرآیند را به دو نیمه مکانیکی مجزا تقسیم کرد: تابع هش یک‌طرفه و جفت‌کلید نامتقارن.[2][3]

این فرآیند نه با رمزنگاری، بلکه با هش کردن آغاز می‌شود. وقتی کاربری یک فایل PDF را امضا می‌کند، نرم‌افزار ابتدا کل فایل را از یک تابع هش رمزنگاری‌شده، که معمولاً SHA-256 است، عبور می‌دهد.[5][6]

تابع هش یک الگوریتم ریاضی است که ورودی با هر اندازه‌ای - چه یک جمله کوتاه و چه یک فایل ویدیویی ۴ گیگابایتی - را می‌گیرد و آن را به یک رشته کاراکتر با طول ثابت فشرده می‌کند که به آن «دایجست» (digest) می‌گویند. در مورد SHA-256، این خروجی همیشه دقیقاً ۲۵۶ بیت طول دارد.[1][5]

تابع هش هر سندی را به یک دایجست ۲۵۶ بیتی با طول ثابت فشرده می‌کند.

نکته حیاتی این است که این تابع کاملاً یک‌طرفه است. همان‌طور که ارائه‌دهنده خدمات هویتی Okta در مستندات فنی خود توضیح می‌دهد، تابع هش مانند یک خیابان یک‌طرفه عمل می‌کند؛ فایل اصلی را نمی‌توان از دایجست به‌دست‌آمده بازسازی کرد.[2]

علاوه بر این، هش به شرایط اولیه بسیار حساس است، ویژگی‌ای که به عنوان «اثر بهمنی» شناخته می‌شود. تغییر حتی یک ویرگول در یک قرارداد ۵۰۰ صفحه‌ای، دایجست ۲۵۶ بیتی نهایی را کاملاً تغییر می‌دهد. این موضوع یکپارچگی سند را تضمین می‌کند؛ اگر هش مطابقت داشته باشد، یعنی فایل حتی یک بایت هم تغییر نکرده است.[3][5]

علاوه بر این، هش به شرایط اولیه بسیار حساس است، ویژگی‌ای که به عنوان «اثر بهمنی» شناخته می‌شود.

اما هش به تنهایی فقط وضعیت سند را ثابت می‌کند، نه اینکه چه کسی آن را هش کرده است. هر کسی می‌تواند یک فایل را از SHA-256 عبور دهد. برای تضمین اصالت، سیستم نیمه دوم سازوکار را وارد بازی می‌کند: رمزنگاری نامتقارن که معمولاً از طریق الگوریتم RSA پیاده‌سازی می‌شود.[2][6]

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

راهنمای مهندسی ByteByteGo این موضوع را با تاکید بر رابطه ریاضی دقیق بین کلیدها نشان می‌دهد: داده‌هایی که توسط یکی قفل شده‌اند، فقط توسط دیگری باز می‌شوند. در حالی که مشخصات فنی NIST و مستندات شرکت‌هایی مانند Okta و Docusign این سازوکارها را بدون ارائه نقل‌قول‌های مستقیم انسانی شرح می‌دهند، اجماع ریاضی در سراسر این صنعت یکپارچه باقی مانده است.[2][4][5]

وقتی نرم‌افزار امضا، دایجست هش ۲۵۶ بیتی سند را تولید می‌کند، آن دایجست خاص را با استفاده از کلید خصوصی فرستنده رمزنگاری می‌کند. این دایجست رمزنگاری‌شده همان «امضای دیجیتال» واقعی است. سپس به سند پیوست شده و برای گیرنده ارسال می‌شود.[5][6]

کلید خصوصی فرستنده، دایجست هش را رمزنگاری می‌کند تا امضای دیجیتال نهایی ایجاد شود.

پس از دریافت فایل، نرم‌افزار گیرنده مراحل تایید را به صورت معکوس انجام می‌دهد. ابتدا از کلید عمومی فرستنده برای رمزگشایی امضا استفاده می‌کند. اگر رمزگشایی موفقیت‌آمیز باشد، به طور قاطع ثابت می‌کند که امضا توسط کلید خصوصی مربوطه ایجاد شده است.[2][3]

در مرحله دوم، نرم‌افزار گیرنده به طور مستقل سند دریافت‌شده را از همان تابع هش SHA-256 عبور می‌دهد تا یک دایجست جدید تولید کند.[5][6]

در نهایت، نرم‌افزار دایجست جدید تولیدشده را با دایجست رمزگشایی‌شده مقایسه می‌کند. اگر این دو رشته ۲۵۶ بیتی کاملاً با هم مطابقت داشته باشند، سیستم همزمان دو واقعیت را تایید می‌کند: کلید خصوصی فرستنده فایل را مجاز دانسته است و فایل از لحظه امضا شدن هیچ تغییری نکرده است.[1][6]

فروشندگان اغلب این ریاضیات زیربنایی را پشت رابط‌های کاربری یکپارچه پنهان می‌کنند و جریان‌های کاری «ضد دستکاری» را می‌فروشند. اما این قابلیت کاملاً به دشواری ریاضی یافتن دو سند متفاوت که هش یکسانی تولید کنند (یک تصادم) یا تجزیه اعداد اول عظیمی که یک کلید RSA با طول ۲۰۴۸ بیت را تشکیل می‌دهند، بستگی دارد.[4][7]

اندازه اجزای استاندارد رمزنگاری در امضاهای دیجیتال مدرن.

با افزایش قدرت محاسباتی، استانداردها نیز باید سازگار شوند. موسسه NIST به طور دوره‌ای DSS را به‌روزرسانی می‌کند تا الگوریتم‌های قدیمی‌تری مانند SHA-1 را که با ارزان‌تر شدن قدرت پردازش در برابر حملات تصادم آسیب‌پذیر شده بودند، منسوخ کند. با این حال، سازوکار زیربنایی هش یک‌طرفه و جفت‌کلید نامتقارن همچنان معماری بنیادین اعتماد دیجیتال باقی می‌ماند و تنها منتظر استاندارد رمزنگاری بعدی است تا جایگزین ریاضیات زیرین آن شود.[1][4]

چرا مهم است

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

منابع

پوشش منابع

7 منبع

3 دیدگاه شناسایی‌شده

فروشندگان تجاری امضای الکترونیکی 40%خلوص‌گرایان رمزنگاری 30%نهادهای استانداردگذاری 30%
  1. [1]Wikipediaخلوص‌گرایان رمزنگاری

    Digital Signature Standard

    مطالعه در Wikipedia
  2. [2]Oktaفروشندگان تجاری امضای الکترونیکی

    Digital Signatures: What They Are & How They Work

    مطالعه در Okta
  3. [3]Sectigoنهادهای استانداردگذاری

    What are digital signatures & how do they work?

    مطالعه در Sectigo
  4. [4]Docusignفروشندگان تجاری امضای الکترونیکی

    What Does Digital Signature Standard (DSS) Mean?

    مطالعه در Docusign
  5. [5]ByteByteGoخلوص‌گرایان رمزنگاری

    How Digital Signatures Work

    مطالعه در ByteByteGo
  6. [6]Mediumنهادهای استانداردگذاری

    Digital Signature with Hash Function — How it works

    مطالعه در Medium
  7. [7]تیم سردبیری کوهستان

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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