مفهوم دقیق امضای دیجیتالی را بشناسیم

0 ۴۶

تایید اعتبار

امضای دیجیتالی (Digital Signature) یک مکانیسم کریپتوگرافیکی است که برای تایید اعتبار و صحت داده‌های دیجیتالی مورد استفاده قرار می گیرد; همچنین، این امکان وجود دارد که بتوان امضای دیجیتالی را به عنوان یک نسخه دیجیتالی از امضاهای دست نویس معمولی اما با سطح پیچیدگی و امنیت بالاتر در نظر گرفت.

به زبان ساده‌تر، یک امضای دیجیتالی ممکن است به عنوان کدی که به یک پیام و یا سند مرتبط می شود; توصیف کرد. اگر چه مفهوم تضمین ارتباطات با استفاده از داده‌های رمزنگاری به زمان‌های گذشته برمی گردد; اما طرح‌های امضای دیجیتالی در دهه 1970 میلادی به لطف توسعه کریپتوگرافی کلید عمومی (PKC) به واقعیت ممکن تبدیل شدند. بنابراین; برای یادگیری نحوه عملکرد امضاهای دیجیتالی در ابتدا لازم است اصول توابع هش و کریپتوگرافی کلید عمومی را درک کنیم.

توابع هش

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

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

کریپتوگرافی کلید عمومی

کریپتوگرافی یا رمزنگاری کلید عمومی (PKC) به سیستم کریپتوگرافیک اشاره دارد که از یک جفت کلید استفاده می کند: یک کلید عمومی و یک کلید خصوصی; این دو کلید از لحاظ ریاضیات مرتبط هستند و می توانند برای رمزگذاری داده‌ها و امضاهای دیجیتالی مورد استفاده قرار بگیرند.

به عنوان ابزار رمزگذاری، PKC نسبت به روش‌های ابتدایی رمزگذاری متقارن از امنیت بیشتری برخوردار است.

در حالی که سیستم‌های قدیمی به یک کلید مشابه و یکسان برای رمزگذاری و رمزگشایی اطلاعات متکی هستند;PKC رمزگذاری داده‌ها را با کلید عمومی و رمزگشایی را نیز با کلید خصوصی مربوطه امکان پذیر می کند.

علاوه بر این، این امکان وجود دارد که طرح PKC در تولید امضاهای دیجیتالی هم مورد استفاده قرار بگیرد; در اصل، این فرآیند، شامل هش کردن یک پیام یا داده دیجیتالی به همراه کلید خصوصی امضا کننده است; در مرحله بعد، گیرنده پیام با استفاده از کلید عمومی ارائه شده توسط امضا کننده می تواند بررسی کند که آیا امضا مورد نظر معتبر است یا خیر!

در برخی شرایط، امضاهای دیجیتالی ممکن است شامل رمزگذاری باشند; اما همیشه این گونه نیستند. به عنوان مثال; بلاک چین بیت کوین از PKC و امضاهای دیجیتالی استفاده می کند اما در فرآیند مورد نظر; رمزگذاری وجود ندارد. از نظر تکنیکال، بیت کوین از ECDSA برای تایید اعتبار معاملات خود بهره می گیرد.

نحوه عملکرد و کار امضاهای دیجیتالی چگونه است؟

در زمینه ارزهای دیجیتال، یک سیستم امضای دیجیتالی از سه مرحله اساسی تشکیل شده است; هش کردن، امضا کردن و تایید کردن.

هش کردن داده:

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

امضا کردن:

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

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

تایید کردن:

تصور کنید آلیس برای باب پیامی می نویسد، آن را هش می کند و سپس مقدار هش را با کلید خصوصی خود ترکیب می کند تا بتواند یک امضای دیجیتالی تولید کند; امضا مورد نظر به عنوان یک اثر انگشت منحصر به فرد عمل خواهد کرد.

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

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

چرا امضاهای دیجیتالی از اهمیت ویژه‌ای برخوردار هستند؟

امضاهای دیجیتالی به طور معمول برای دستیابی به سه نتیجه استفاده می شوند:

یکپارچگی داده‌ها، تایید اعتبار و عدم انکار.

یکپارچگی داده‌ها: باب می تواند تایید کند که پیام آلیس در طول مسیر تغییر نکرده است; هر گونه تغییر در پیام مورد نظر، امضای کاملا متفاوتی را ایجاد خواهد کرد.

تایید اعتبار: تا زمانی که کلید خصوصی آلیس مخفی نگه داشته شود; باب می تواند از کلید عمومی آلیس برای تایید این که امضاهای دیجیتالی مورد نظر توسط آلیس ایجاد شده‌اند، استفاده کند.

عدم انکار: پس از تولید امضا، آلیس نمی تواند منکر امضای آن در آینده شود; مگر این که کلید خصوصی آلیس در معرض خطر قرار بگیرد.

موارد استفاده

امضاهاب دیجیتالی را می توان در انواع مختلف اسناد و گواهی‌نامه‌های دیجیتالی به کار برد; برخی از کاربردهای امضاهای دیجیتالی عبارت اند از:

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

محدودیت‌ها

محدودیت‌ها و چالش‌های طرح‌های امضای دیجیتالی به عوامل زیر منتهی می شوند:

  • الگوریتم: خصوصیات الگوریتم‌هایی که در امضاهای دیجیتالی به کار گرفته می شوند، اهمیت زیادی دارند. خصوصیات مورد نظر شامل توابع هش مورد اعتماد و سیستم‌های رمزنگاری می شوند.
  • پیاده سازی: پیاده سازی الگوریتم‌ها کار راحتی نیست! همچنین سیستم امضای دیجیتالی نواقصی را شامل می شوند.
  • کلید خصوصی: اگر به هر طریقی کلیدهای خصوصی در معرض خطر قرار بگیرند; ویژگی‌های اعتبار سنجی و عدم انکار نامعتبر می شوند; برای کاربران ارزهای دیجیتال، از دست دادن کلید خصوصی، ضررهای مالی قابل توجهی را به دنبال خواهد داشت.

امضاهای الکترونیکی و امضاهای دیجیتالی

امضاهای دیجیتالی نوع خاصی از امضاهای الکترونیکی هستند; بنابراین، تمام امضاهای دیجیتالی، امضاهای الکترونیکی به شمار می آیند اما تمام امضاهای الکترونیکی; دیجیتالی نیستند.

تفاوت اصلی میان این دو امضا، روش احراز هویت است; به عنوان مثال، امضاهای دیجیتالی، سیستم‌های رمزنگاری مانند توابع هش، رمزنگاری کلید عمومی و تکنیک‌های رمزگذاری را به کار می گیرند.

80%
Awesome
  • Design

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.