کلید عمومی و کلید خصوصی کیف پول بلاک چین و ارز دیجیتال چیست؟ (ریدایرکت شد)
تنها کار یک کیف پول ارز دیجیتال، ساخت و مدیریت کلید عمومی و کلید خصوصی است. در این مقاله با نحوه کار پابلیک کی و پرایویت کی آشنا خواهیم شد.
رمزنگاری عنصر اصلی ارز دیجیتال است. بدون این عنصر، تراکنش ها امن نخواهند بود و تمامیت و یکپارچگی اطلاعات نیز از بین میرود. اگر تراکنش های همتا به همتا (P2P) رمزنگاری نشوند، هرکسی میتواند ساختار دادهها را بخواند و تغییر دهد؛ آن هم بدون اینکه کسی متوجه دستکاری دادهها شود. به همین خاطر کلید عمومی و کلید خصوصی برای انجام تراکنش و خرید ارز دیجیتال در بلاک چین ضروری هستند.
اگرچه هدف اصلی هر دو کلید عمومی و خصوصی در بلاک چین، تضمین امنیت تراکنش است اما این دو تفاوتهای قابل توجهی با هم دارند. به طور خلاصه، کلید عمومی (Public Key) برای تأیید تراکنش بعد از ثبت درخواست تراکنش استفاده میشود. در واقع این کلید، همان آدرس دریافت ارز دیجیتال است. اما کلید خصوصی (Private Key) مربوط به یک کیف پول برای اعتباردهی و صدور مجوز تراکنش به کار میرود. به همین علت، پرایوت کی فقط باید در اختیار صاحب کیف پول ارز دیجیتال باشد چون دسترسی به آن به معنای کنترل کامل روی دارایی والت است.
این مطلب به معرفی کلیدهای خصوصی و عمومی، کارکردها و تفاوت های آنها میپردازد. اگر در فضای بلاک چین فعال هستید یا از تراکنش های رمز ارزی استفاده میکنید، حتماً باید درک درستی از عملکرد و اهداف این کلیدها داشته باشید. با اکسچینو مگ همراه باشید.
کلید عمومی و کلید خصوصی چیست؟
به طور کلی کلید عمومی و خصوصی برای رمزگشایی پیامهای رمزنگاری شده با الگوریتمهای ریاضی روش رمزنگاری (Cryptography)، مورد استفاده قرار میگیرد. کلید عمومی را میتوان در اختیار هرکسی قرار داد اما از کلید خصوصی استفاده شده برای رمزنگاری، باید مثل پسورد گاوصندوق داراییهای دیجیتال محافظت کرد.
کلیدهای خصوصی بسته به نوع ارز دیجیتال، متفاوت هستند اما اکثرشان از جمله بیت کوین، اتریوم و لایت کوین از رمزگذاری 265 بیتی استفاده میکنند. برای مثال، کلید خصوصی بیت کوین فرمتی متشکل از مقادیر حرفی و عددی دارد:
0x01 and 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140
این هم یک مثال برای کلید عمومی:
3048 0241 00C9 18FA CF8D EB2D EFD5 FD37 89B9 E069 EA97 FC20 5E35 F577 EE31 C4FB C6E4 4811 7D86 BC8F BAFA 362F 922B F01B 2F40 C744 2654 C0DD 2881 D673 CA2B 4003 C266 E2CD CB02 0301 0001
کلید در واقع دنبالهای تصادفی از نمادهاست که یا در دسترس همه قرار میگیرد (عمومی) یا فقط در اختیار صاحب کیف پول است (خصوصی). کلید عمومی برای رمزگذاری استفاده میشود اما فقط با کلید خصوصی میتوان اطلاعات تراکنش ها و داراییهای دیجیتال را رمزگشایی کرد. باید اشاره کنیم با داشتن کلید خصوصی میتوانید کلید عمومی را پیدا کنید چون یک ارتباط رمزنگاری شده بین این دو برقرار است. اما برعکس این کار غیرممکن است و با داشتن کلید عمومی نمیتوان کلید خصوصی را در شبکه بلاک چین پیدا کرد.
کیف پول کریپتو یکی از بهترین مثالهای کارکرد کلید خصوصی و عمومی هستند و درک کارایی آنها را سادهتر میکنند. کلید عمومی (Public Key) آدرس هر والت است و امکان دسترسی سایر اعضای شبکه بلاک چین برای ارسال توکن به آن والت را فراهم میکند. کلید خصوصی (Private Key) رمز عبور هر والت است و کاربران برای ارسال ارز دیجیتال به یکدیگر و تأیید تراکنش ها به آن نیاز دارند.
کارکرد این کلیدها شبیه ایمیل است. شما برای ورود به ایمیل خودتان به یک پسورد نیاز دارید. آدرس ایمیل شما هم یک نقطه دسترسی ثابت برای سایر اعضای شبکه ایمیل است تا برایتان پیام ارسال کنند. از طرفی برای دسترسی کامل به حساب ایمیل هم پسورد ضروری خواهد بود.
رمزنگاری کلید عمومی (PKC) چیست؟
کلیدهای خصوصی و عمومی یکی از اجزای اساسی ارزهای دیجیتال مبتنی بر بلاک چین هستند اما در عین حال بخشی از یک حوزه بزرگتر به نام رمزنگاری کلید عمومی یا رمزگذاری نامتقارن نیز محسوب میشوند. بنابراین برای درک درست جایگاه و نقش این دو عنصر در شبکه بلاک چین، باید مفهوم رمزنگاری کلید عمومی را هم بشناسید.
رمزنگاری کلید عمومی (Public Key Cryptography) براساس اصول ریاضی «تابع دریچه» طراحی شده است. این تابع به عنوان یک مسأله ریاضی شناخته میشود که حل آن از یک طرف بسیار ساده و از طرف مقابل تقریباً غیرممکن است. حل این مسأله و رسیدن به جواب صحیح حتی توسط کامپیوتر هم به زمان بسیار زیادی (هزاران سال) نیاز دارد. رمزنگاری کلید عمومی با بهکارگیری ترفندهای ریاضی مثل تجزیه اعداد در چهارچوب تابع دریچه، مهندسی معکوس امضاهای رمزنگاری شده را غیرممکن میسازد چون برای اینکار کامپیوتر باید یک مسأله ریاضی لاینحل را حل کند.
بهتر است با یک مثال کارکرد تابع دریچه را توضیح دهیم. کاربر ۱ یک کلید خصوصی برای ارسال پیام یا تراکنش در اختیار دارد. کاربر ۱ میخواهد از طریق یک کانال عمومی پیامی برای کاربر ۲ بفرستد اما کاربر ۳ پیامهای کانال را گوش میکند. بنابراین کاربر ۱ با کلید خصوصی، پیامش را رمزگذاری و سپس ارسال میکند. کاربر ۱ در حین رمزگذاری یک مقدار خاص به نام خروجی هش (Hash Output) نیز میسازد. حالا کاربر ۲ میتواند با استفاده از خروجی هش، پیام و کلید خصوصی خودش این پیام را رمزگشایی کرده و بخواند.
اما کاربر ۳ نمیتواند این پیام را بخواند چون فقط به کلید عمومی کاربر ۱ و جفت کلیدهای عمومی و خصوصی خودش دسترسی دارد. نه کاربر ۳ و نه هیچ عضو دیگر شبکه قادر به مهندسی معکوس پیام یا کلید خصوصی کاربر ۱ نخواهند بود چون آن پیام با تابع دریچه ساخته شده است.
هدف رمزنگاری کلید عمومی یا رمزگذاری نامتقارن (Asymmetric Encryption)، انتقال از یک وضعیت به وضعیتی دیگر به روشی ساده است که در عین حال معکوس کردن این روند را نیز غیرممکن بسازد. ضمناً برای انجام تراکنش با این فرایند، باید بدون افشا کردن راز (همان کلید خصوصی) در اختیار داشتن آن را به سیستم اثبات کنید. محصول این فرایند یک تابع ریاضی یک طرفه است که به علت غیرقابل جعل بودن، ابزاری ایدهآل برای اعتبارسنجی اصالت هر چیزی (مثلاً یک تراکنش) محسوب میشود. فرایند PKC از یک مدل دو کلیدی (عمومی و خصوصی) بهره میبرد که شامل یک قفل (پابلیک کی) و کلید آن (پرایوت کی) است.
هدف کلی رمزنگاری کلید عمومی، ایجاد امکان ارتباط امن و خصوصی با استفاده از امضاهای دیجیتال در یک شبکه عمومی است که در معرض خطر حملات مخرب قرار دارد. در دنیای ارزهای دیجیتال از این رویه برای اثبات انجام تراکنش توسط صاحب واقعی ارزهای دیجیتال و غیرجعلی بودن تراکنش ها استفاده میشود.
روشهای رمزنگاری در دنیای ارزهای دیجیتال
رمزنگاری دادهها و تراکنش های ارزهای دیجیتال به روشهای مختلفی انجام میشود. رایجترین این روشها رمزنگاری نامتقارن یا PKC است که درباره آن توضیح دادیم. در این بخش قصد داریم هرکدام از این روشها را به صورت خلاصه بررسی کنیم.
هشینگ یا هش کردن
هشینگ (Hashing) برای رمزدار کردن آدرس اکانت کاربر طراحی شده تا تراکنش های بین اکانتها را رمزگذاری کند. در این روش برای اطمینان از امن بودن رمزگذاری، حروف و اعداد تصادفی به مقدار ذخیره شده اضافه میشوند. به این ترتیب خطر رمزگشایی آسان نیز کاهش مییابد. منظور از مقدار ذخیره شده هم اثر انگشت دیجیتال یا مقدار هش بعد از تکمیل فرایند تبدیل است.
رمزنگاری متقارن
رمزنگاری متقارن (Symmetric Encryption) یکی از رایجترین، سادهترین و البته کارآمدترین روشهای رمزنگاری در بلاک چین است. در این روش پیامها با یک کلید تکی رمزگذاری میشوند که میتواند بهطور همزمان بین طرفین تراکنش، یکسان یا متفاوت باشد. این کلید بعد از انجام تراکنش برای گیرنده ارسال میشود تا بتواند بعد از دریافت و تأیید، آن را رمزگشایی کند.
رمزنگاری نامتقارن
این روش که با نام رمزنگاری کلید عمومی (PKC) نیز شناخته میشود، برخلاف رمزنگاری متقارن شامل دو کلید (خصوصی و عمومی) است. کلید عمومی برای تأیید تراکنش بعد از ارسال درخواست تراکنش استفاده میشود. کلید خصوصی هم پیام یا تراکنش را رمزگشایی میکند. هدف اصلی این روش، حفظ صحت و اعتبار تراکنش و کاهش خطرات امنیتی است. البته در این روش رمزنگاری، گم شدن کلید خصوصی هیچ راه جبرانی ندارد و لو رفتن آن هم باعث از دست رفتن ارزهای دیجیتال صاحب کیف پول میشود.
کلید خصوصی و کلید عمومی چطور کار میکنند؟
رمزنگاری کلید عمومی دو هدف اصلی دارد: تأیید هویت و حفظ محرمانگی. طرز کار آن هم طوری طراحی شده که این اهداف به سادهترین شکل ممکن میسر شوند. اگر تجربه تراکنش ارزهای دیجیتال را داشته باشید، با طرز کار کلید خصوصی و عمومی نیز آشنا هستید. این مراحل به زبان ساده به این ترتیب است:
- فرستنده کلید عمومی (Public Key) گیرنده را دریافت میکند.
- فرستنده با کلید عمومی گیرنده، اطلاعات را رمزگذاری میکند.
- فرستنده اطلاعات رمزگذاری شده را برای گیرنده ارسال میکند.
- گیرنده با استفاده از کلید خصوصی (Private Key) خودش دادهها را رمزگشایی میکند.
به این ترتیب گیرنده تنها کاربر شبکه بلاک چین است که میتواند این تراکتش را تأیید کند چون فقط خودش کلید خصوصی را در اختیار دارد. از طرفی اگر کلید خصوصی در اختیار فرد دیگری قرار بگیرد، آن فرد کنترل کامل ارزهای دیجیتال مربوط به آن کلید را در دست خواهد داشت.
تفاوت های کلید عمومی و کلید خصوصی
هدف اصلی پرایوت کی و پابلیک کی مشترک است: اطمینان از اینکه تراکنش توسط کاربر مربوطه انجام شده باشد و جعلی نباشد. اما این دو عنصر رمزگذاری علیرغم هدف مشترک، تفاوتهای مهمی با هم دارند.
الگوریتم و مکانیزم
در رمزگذاری کلید عمومی، باید دو کلید جداگانه برای رمزگذاری و رمزگشایی وجود داشته باشد. کلید خصوصی فقط برای صاحب کیف پول است اما کلید عمومی در دسترس همه افراد قرار دارد. یک کلید برای انتقال بین دو طرف درگیر در رمزنگاری کلید متقارن، لازم است. در واقع یک کلید خصوصی یکسان هم برای رمزگذاری و هم برای رمزگشایی اطلاعات مورد استفاده قرار میگیرد.
کارایی
مکانیزم کلیدهای خصوصی به مراتب سریعتر از کلیدهای عمومی است. به این علت که پرایوت کی فقط به یک کلید نیاز دارد اما پابلیک کی مستلزم دو کلید است.
حریم خصوصی
کلید خصوصی باید به صورت محرمانه نگهداری شود و در اختیار هیچ فردی به جز صاحب کیف پول قرار نگیرد. اگر این کلید گم شود، به هیچ وجه امکان بازیابی وجود ندارد و فایلهای رمزگذاری شده با آن (همان ارزهای دیجیتال) برای همیشه از دست میروند. معمولاً به خاطر سپردن این کلیدها دشوار است چون شامل شمارهگذاری پیچیده هستند. اما در هر حال امنیت پرایوت کی کاملاً به عهده صاحب والت است. به همین خاطر بهترین روش نگهداری کلید خصوصی، ذخیره آفلاین و تهیه بک آپ است. در مقابل، دسترسی به کلید عمومی برای همه کاربران مجاز است و باید امکان جستجوی آن وجود داشته باشد. ضمناً امکان گم شدنش هم وجود ندارد.
امضای دیجیتال
محتوای شبکه را میتوان به صورت دیجیتالی با کلید خصوصی هر کاربر امضا کرد و سپس آن را با کلید عمومی کاربر تأیید کرد. اینکار ضمن تسهیل شناسایی فرستنده پیام یا تراکنش در شبکه تأیید میکند پیام توسط یک هویت قابل اعتماد ارسال شده است.
امضای دیجیتال فواید امنیتی متعددی دارد:
- احراز هویت: قانونی بودن پیام یا کاربر را ثابت میکند چون امکان جعل در سیستم وجود ندارد.
- عدم امکان نفی: فرستنده پیام بعد از ارتباط نمیتواند امضایش را انکار کند.
- تمامیت: امضا تضمینی برای دستکاری شده نبودن پیام دریافتی است.
رمزگذاری و رمزگشایی
محتوای پیام یا تراکنش با کلید عمومی کاربر رمزگذاری میشود و رمزگشایی آن فقط با کلید خصوصی همان کاربر امکانپذیر است. این تنها راه تبدیل و مشاهده پیام است.
رمزگذاری از دو طریق به امنیت تراکنش های ارز دیجیتال کمک میکند:
- حریم خصوصی: هیچگونه دسترسی بدون مجوز ممکن نیست. استفاده از کلید خصوصی که فقط در اختیار صاحب کیف پول قرار دارد نیز محرمانگی را تضمین میکند.
- تمامیت: فرایند رمزگذاری با یک کلید عمومی امن این اطمینان را به کاربران میدهد که پیام دریافتی دستکاری نشده است.
مزایا و محدودیت کلیدهای عمومی و خصوصی
هیچ روش رمزنگاری بدون اشکال نیست و رمزنگاری نامتقارن نیز از این قاعده مستثنی نیست. در این بخش به مزایا و معایب کلیدهای خصوصی و عمومی اشاره میکنیم.
مزایای کلید عمومی و کلید خصوصی
بهکارگیری فناوری رمزنگاری کلید خصوصی میتواند از هر کسب و کاری در برابر خطرات امنیتی محافظت کند. فرقی هم نمیکند روش رمزنگاری متقارن را انتخاب کنید یا نامتقارن. هر دوی این روشها (مثل هر فناوری دیگری) مزایا و معایب خودشان را دارند.
اما اجرای رمزنگاری متقارن، سریعتر و سادهتر است. در این روش، سیستم برای رمزگذاری یا رمزگشایی فایل، یک معادله ریاضی تکی و برگشتپذیر را اجرا میکند. به همین خاطر این روش نسبت به رمزنگاری نامتقارن به منابع کامپیوتری کمتری نیاز دارد.
معایب کلید عمومی و کلید خصوصی
اگرچه رمزنگاری با کلید خصوصی سطح امنیت بیشتری ارائه میدهد اما معایبی هم دارد. مشکل اصلی امکان گم شدن کلید خصوصی است. این تنها راه دسترسی کاربران به موجودی کیف پول است و گم کردن آن عواقبی ناگوار در پی دارد. در صورت از دست دادن پرایوت کی، به هیچ وجه دسترسی مجدد به والت فراهم نخواهد شد.
از طرفی اگر کاربری بخواهد داده یا داراییهای دیجیتال را به صورت جداگانه میان گروهی از افراد پخش کند، باید چندین کلید خصوصی بسازد. استفاده از تعداد زیادی پرایوت کی راحت نیست و اختصاص یک کلید به هر کاربر جدید میتواند امنیت سیستم را کاهش دهد.
جمعبندی
در زمانهای که هرروز جنبههای جدیدتری از زندگی دیجیتالی میشوند، اهمیت ذخیرهسازی و امنیت دادهها نیز همواره رو به افزایش است. رمزنگاری نامتقارن یا همان کلیدهای خصوصی و عمومی یکی از بهترین راههای حفظ امنیت دادهها است که نه تنها در بلاک چین بلکه در سایر حوزههای فناوری نیز کاربرد دارد. این روش به خوبی توانسته ضمن حفظ سهولت، امنیت معاملات و تراکنش های ارزهای دیجیتال را تأمین کند. در این فرایند ساده و در عین حال کارآمد، کاربران بلاک چین و رمز ارزها فقط باید مراقبت کلید خصوصی کیف پولشان باشند تا داراییهایشان را از دست ندهند.
تهیه شده در اکسچینو
نظرات کاربران (0 نظر)