امضای دیجیتال

امضای دیجیتال ساز و کاری است که در آن از رمزنگاری برای تایید اعتبار و سازگار بودن داده های دیجیتال استفاده می شود. می توانیم این مفهوم را به نوعی، نوع دیجیتالی همان امضاهای دستی بدانیم اما با امنیت و پیچیدگی بیشتر.

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

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

توابع هش

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

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

رمزنگاری با کلید عمومی (PKC)

رمزنگاری با کلید عمومی یا PKC به سیستم رمزنگاری اشاره دارد که در آن از یک جفت کلید به نام های کلید عمومی و کلید خصوصی استفاده می شود. این دو کلید, یعنی کلید عمومی و خصوصی از نظر ریاضی به یکدیگر وابستگی دارند و از هر دو می توان برای رمزنگاری داده و امضای استفاده کرد.

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

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

در برخی مواقع، امضاهای دیجیتال در رمزنگاری هم درگیر می شوند ولی همیشه چنین کاربردی ندارند. برای مثال بلاک چین بیت کوین از PKC و امضای دیجیتال استفاده می کند ولی برخلاف باور بسیاری، هیچ فرآیندی برای رمزنگاری در این شبکه وجود ندارد. از نظر فنی، شبکه بیت کوین از الگوریتم Elliptic Curve Digital Signature Algorithm (ECDSA) برای اعتبارسنجی تراکنش ها استفاده می کند.

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

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

هش کردن داده ها

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

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

امضا کردن

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

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

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

تایید اعتبار

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

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

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

چرا امضا های دیجیتال مهم هستند؟

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

یکپارچگی داده : شاهین تایید می کند که پیام پریسا در حین رسیدن دستکاری نشده است. هر تغییری در پیام باعث تولید امضای متفاوتی می شود.

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

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

موارد کاربرد امضای دیجیتال

امضای دیجیتال می تواند در انواع مختلفی از اسناد دیجیتالی مورد استفاده قرار بگیرد.

فناوری اطلاعات – به منظور افزایش امنیت سیستم های ارتباطاتی اینترنتی استفاده می شود.

امور مالی – امضاهای دیجیتالی را می توان برای حساب رسی ها، گزارش هزینه ها، قراردادهای وام و موارد دیگر پیاده سازی کرد.

قانون – می توان توافقنامه های قانونی و قرارداد های کاری از جمله کاغذهای دولتی را امضا کرد.

مراقبت های پزشکی – می تواند از امضای دیجیتال به منظور جلوگیری از جعل نسخه و پروند های پزشکی استفاده کرد.

بلاک چین – امضای دیجیتال مطمئن می شود که تنها صاحب رمزارز ها می تواند تراکنشی را امضا کند تا به واسطه آن اعتبار منتقل شود.

محدودیت های سیستم های دارای امضای دیجیتال

الگوریتم – کیفیت الگوریتم مورد استفاده در امضای دیجیتال مهم است.

پیاده سازی – اگر الگوریتم ها خوب باشند ولی پیاده سازی خوب نباشد، سیستم مشکلاتی خواهد داشت.

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

فرق امضای الکترونیکی با امضای دیجیتال چیست؟

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

اما مهم ترین تفاوت بین این دو مفهوم روش رمزنگاری در امضای دیجیتال است که در آن ار سیستم های رمزنگاری استفاده می شود.

امتیاز شما به این نوشته چقدر است؟

برای آگاهی از آخرین نوشته ها، خبر ها و تحلیل های کوتاه به کانال تلگرام پی98 بپیوندید.

0 0 رای ها
رأی دهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
View all comments