رمزگذاری پیامها و بررسی اعتبار امضای دیجیتال با کمک کلید عمومی
شبکه بلاک چین از روشهای رمزنگاری مختلفی استفاده میکند که یکی از آنها روش رمزنگاری کلید عمومی است. در واقع علت استفاده از این نوع کلیدها یا رمزهای خاص، تایید اعتبار امضای تراکنش توسط صاحبان دارایی میباشد. زمانی که در بازار ارزهای دیجیتال سرمایهگذاری میکنید، باید توجه داشته باشید که خرید و فروش رمز ارزها و به طور کلی انجام تمامی تراکنشها و معاملات تنها توسط کلید خصوصی امکانپذیر است. هر کلید خصوصی یک یا چند کلید عمومی را به خود نسبت میدهد. همچنین در صورت فراموش کردن یا گم کردن کلید عمومی، امکان بازیابی آن توسط کلید خصوصی وجود دارد. در این مطلب با مفهوم رمزنگاری کلید عمومی، روش کار و کاربردهای آن آشنا میشویم.
رمزنگاری کلید عمومی چیست؟
رمزنگاری کلید عمومی (PKC) که با نام رمزنگاری نامتقارن نیز شناخته میشود، برخلاف کلید واحدی که در رمزنگاری متقارن استفاده میشود، چارچوبی است که از جفت کلید خصوصی و عمومی استفاده میکند. استفاده از کلیدهای جفت، مجموعهای از ویژگیها و قابلیتهای منحصربهفرد را به PKC اختصاص میدهد که میتوان از آنها برای حل چالشهای ذاتی در دیگر تکنیکهای رمزنگاری استفاده کرد. این شکل از رمزنگاری به عنصر مهمی از امنیت رایانه مدرن و همچنین به یک جزء حیاتی از اکوسیستم رو به رشد ارزهای دیجیتال تبدیل شده است.
رمزنگاری نامتقارن چگونه کار میکند؟
در یک طرح PKC، از کلید عمومی توسط فرستنده برای رمزگذاری اطلاعات و همچنین از کلید خصوصی توسط گیرنده برای رمزگشایی آن استفاده میشود. از آنجایی که این دو کلید با یکدیگر متفاوت هستند، کلید عمومی را میتوان با خیال راحت و بدون به خطر انداختن امنیت کلید خصوصی، به اشتراک گذاشت. هر جفت کلید نامتقارن منحصربهفرد است و تضمین میکند که پیام رمزگذاری شده با استفاده از کلید عمومی فقط توسط شخصی که دارای کلید خصوصی مربوطه است قابل خواندن باشد.
از آنجایی که الگوریتمهای رمزگذاری نامتقارن جفتهای کلیدی را تولید میکنند که از نظر ریاضی به هم مرتبط هستند، طول کلید آنها بسیار بیشتر از موارد مورد استفاده در رمزنگاری متقارن است. این طول بیشتر که معمولا بین ۱۰۲۴ تا ۲۰۴۸ بیت میباشد، محاسبه یک کلید خصوصی را از همتای عمومی آن بسیار دشوار میکند. یکی از رایجترین الگوریتمهای رمزگذاری نامتقارن که امروزه مورد استفاده قرار میگیرد، الگوریتم RSA نامیده میشود.
در طرح RSA، کلیدها با استفاده از یک مدول تولید میشوند که با ضرب دو عدد (اغلب دو عدد اول بزرگ) به دست میآید. به طور کلی این مدول، دو کلید تولید میکند (یکی عمومی که میتواند به اشتراک گذاشته شود و دیگری خصوصی که باید مخفی بماند). الگوریتم RSA اولین بار در سال ۱۹۷۷ توسط Rivest، Shamir و Adleman ایجاد شد و هم اکنون به عنوان جزء اصلی سیستمهای رمزنگاری کلید عمومی باقی مانده است.
کلید عمومی به عنوان یک ابزار رمزگذاری
رمزنگاری کلید عمومی یکی از مشکلات دیرینه الگوریتمهای متقارن را ارتباط کلیدی است که هم برای رمزگذاری و هم برای رمزگشایی استفاده میشود را به طور کامل حل میکند. ارسال این کلید از طریق یک اتصال ناامن، خطر افشای آن را برای اشخاص ثالث بیشتر میکند که در این صورت این اشخاص میتوانند هر پیام رمزگذاری شده با کلید مشترک را بخوانند. اگرچه تکنیکهای رمزنگاری (مانند پروتکل تبادل کلید Diffie-Hellman-Merkle) برای حل این مشکل وجود دارد. اما همچنان در برابر حملات، آسیبپذیر هستند. در مقابل، در رمزنگاری کلید عمومی، کلیدی که برای رمزگذاری استفاده میشود، میتواند به طور ایمن در هر اتصالی به اشتراک گذاشته شود. در نتیجه، الگوریتمهای نامتقارن در مقایسه با الگوریتمهای متقارن، سطح حفاظت بالاتری را ارائه میدهند.
ایجاد امضای دیجیتال
یکی دیگر از کاربردهای الگوریتمهای رمزنگاری نامتقارن، احراز هویت دادهها از طریق استفاده از امضای دیجیتال است. در اصل، امضای دیجیتال یک «هش» است که با استفاده از دادههای موجود در یک پیام ایجاد میشود. هنگامی که آن پیام ارسال شود، امضا میتواند توسط گیرنده با استفاده از کلید عمومی مربوط به فرستنده تحت بررسی قرار بگیرد. به این ترتیب، آنها میتوانند منبع پیام را تایید کنند و مطمئن شوند که در آن دستکاری اتفاق نیفتاده است.
در برخی موارد، امضای دیجیتال و رمزگذاری با هم اعمال میشوند. به این معنی که خود «هش» ممکن است به عنوان بخشی از پیام، رمزگذاری شود. البته باید توجه داشته باشید که همه طرحهای امضای دیجیتال از تکنیکهای رمزگذاری استفاده نمیکنند.
محدودیتهای مربوط به رمزنگاری نامتقارن
اگرچه میتوان از رمزنگاری نامتقارن برای افزایش امنیت رایانه و تایید صحت پیام استفاده کرد، با این حال PKC محدودیتهایی نیز به همراه دارد. با توجه به عملیات پیچیده ریاضی مورد استفاده در رمزگذاری و رمزگشایی، الگوریتمهای نامتقارن زمانی که مجبور به مقابله با حجم زیادی از دادهها میشوند، میتوانند بسیار کند عمل کنند.
این نوع رمزنگاری همچنین به شدت به این فرضیه بستگی دارد که کلید خصوصی مخفی خواهد ماند. اگر یک کلید خصوصی به طور تصادفی به اشتراک گذاشته شود یا در معرض خطر قرار گیرد، امنیت تمامی پیامهایی که با کلید عمومی مربوطه رمزگذاری شدهاند به خطر میافتد. همچنین ممکن است کاربران به طور تصادفی کلیدهای خصوصی خود را گم کنند که در این صورت دسترسی به دادههای رمزگذاری شده برای آنها غیرممکن میشود.
کاربردهای رمزنگاری کلید عمومی
این نوع رمزنگاری توسط بسیاری از سیستمهای کامپیوتری مدرن برای تامین امنیت اطلاعات حساس، استفاده میشود. برای مثال، ایمیلها را میتوان با استفاده از تکنیکهای رمزنگاری کلید عمومی رمزگذاری کرد تا محتویات آنها محرمانه بماند.
پروتکل لایه سوکتهای امن (SSL) که اتصالات ایمن به وبسایتها را امکانپذیر میکند نیز از رمزنگاری نامتقارن استفاده میکند. سیستمهای PKC حتی بهعنوان وسیلهای برای ارائه یک محیط رایگیری الکترونیکی امن مورد بررسی قرار گرفتهاند که به طور بالقوه به رایدهندگان اجازه میدهد تا از رایانههای خانگی خود در انتخابات شرکت کنند.
سیستم PKC همچنین در فناوری بلاک چین و رمز ارزها بسیار مورد توجه است. هنگامی که یک کیف پول رمزنگاری شده جدید راه اندازی میکنید، یک جفت کلید (کلیدهای عمومی و خصوصی) تولید میشود. آدرس کیف پول با استفاده از کلید عمومی ساخته شده و میتوان آن را بهطور امن با دیگران به اشتراک گذاشت. از سوی دیگر، کلید خصوصی برای ایجاد امضای دیجیتال و تایید تراکنشها استفاده میشود و بنابراین باید مخفی نگه داشته شود.
هنگامی که یک تراکنش با تایید هش موجود در امضای دیجیتال، تایید شده باشد، آن تراکنش میتواند به بایگانی دفتر کل بلاک چین اضافه شود. این سیستم تایید امضای دیجیتال، تضمین میکند که تنها شخصی که کلید خصوصی مرتبط با کیف پول ارز دیجیتال مربوطه را در اختیار دارد میتواند وجوه را جابجا کند.
لازم به ذکر است که رمزنگاری نامتقارن مورد استفاده در برنامههای ارزهای دیجیتال با مواردی که برای اهداف امنیتی رایانه استفاده میشود متفاوت است. به عنوان مثال، بیت کوین و اتریوم از الگوریتم خاصی برای تایید تراکنشها استفاده میکنند که به الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) معروف است. این الگوریتم همچنین امضاهای دیجیتالی را بدون استفاده از رمزگذاری ایجاد میکند. این بدان معناست که بلاک چین برخلاف باور بسیاری از مردم، نیازی به رمزگذاری ندارد.
رمزنگاری کلید عمومی؛ روشی برای ایمن سازی سیستمهای دیجیتال
از امنیت رایانه گرفته تا تایید تراکنشهای ارزهای دیجیتال، رمزنگاری کلید عمومی نقش مهمی در ایمن سازی سیستمهای دیجیتال مدرن ایفا میکند. الگوریتمهای رمزنگاری نامتقارن با استفاده از جفت کلیدهای عمومی و خصوصی، نگرانیهای امنیتی اساسی ارائه شده توسط رمزهای متقارن را حل میکنند. اگرچه سیستم PKC سالهاست که مورد استفاده قرار میگیرد، اما همچنان برنامههای جدیدی برای آن توسعه مییابند.