کلید عمومی و کلید خصوصی مهمترین اجزاء کیف پول ارز دیجیتال هستند. علم رمزنگاری هم هسته اصلی ارز دیجیتال است و بدون آن، هیچ یک از تراکنشها ایمن نمیشود و یکپارچگی هیچ اطلاعاتی نیز حفظ نخواهد شد. یعنی زمانی که انتقالهای همتا به همتا (P2P) را انجام میدهید، ممکن است دادههای شما بدون رمزگذاری ایمن در معرض دید قرار گیرند. بنابراین هر کسی میتواند سعی کند ساختار داده را بخواند، آن هم بدون اینکه بداند دادهها دستکاری شدهاند. دقیقا به همین دلیل است که کلید عمومی و کلید خصوصی برای مجوز دادن به این تراکنشها بسیار ضروری هستند.
کلیدهای عمومی و خصوصی هر دو برای ایمن کردن یک تراکنش تلاش میکنند. اما این دو به طور مشخص متفاوت هستند و با اهداف خودشان مطابقت دارند. یک کلید عمومی برای تایید تراکنش پس از درخواست آن مورد استفاده قرار میگیرد. معمولا یک کلید عمومی به عنوان آدرس برای دریافت ارزهای دیجیتال نیز تعریف میشود. در مقابل، کلید خصوصی که با یک حساب ارز دیجیتال مرتبط است مجوزی برای تایید انجام تراکنش است..
به طور معمول، یک کلید خصوصی به اشتراک گذاشته نمیشود و فقط مالک باید از آن اطلاع داشته باشد. در واقع اگر شخصی به کلید خصوصی شما دسترسی داشته باشد، این اختیار را خواهد داشت که داراییهایتان را از کیف پول شما تخلیه کند. به همین دلیل باید چیستی این کلیدها را درک کنید و بدانید که چرا اینقدر اهمیت دارند. با فکت کوینز همراه باشید تا یاد بگیرید چگونه جزء افرادی نباشید که ثروت میلیونی بیت کوین خود را قفل کردند!
معرفی کلید عمومی و کلید خصوصی
یک کلید عمومی و خصوصی اساسا برای رمزگشایی از پیامهای رمزگذاری شده در یک الگوریتم پیچیده ریاضی از روش رمزنگاری استفاده میشوند. در حالی که میتوانید Public key خود را برای همگان ارسال کنید، Private key برای محافظت از داراییهای دیجیتال شما باید به طور مجزا و به عنوان رمز عبور نگهداری شود.
معمولا این کلیدهای خصوصی بسته به انواع مختلف ارزهای دیجیتال متفاوت هستند، اگرچه تقریبا همگی آنها از رمزگذاری 256 بیتی استفاده میکنند. این رمزگذاری 256 بیتی شامل بیت کوین (BTC)، اتریوم (ETH)، لایت کوین (LTC) و موارد دیگر است. به عنوان مثال، یک کلید Private بیت کوین با مقادیر زیر فرمت میشود.
0x01 و 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140 که تقریبا کل محدوده 1 تا 2256 را پوشش میدهد.
نمونهای از کلید عمومی نیز به شرح زیر است.
C9 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
رمزگذاری کلید عمومی و کلید خصوصی
کلید دنبالهای از نمادهای تصادفی است که برای هر شخصی (کلید عمومی) یا فقط توسط صاحب آن (کلید خصوصی) شناخته میشود. کلید عمومی برای رمزگذاری استفاده میشود، اما تنها یک Private key است که میتواند به رمزگشایی اطلاعات کمک کند. همانطور که گفته شد، در صورت کشف کلید خصوصی امکان یافتن کلید عمومی هم وجود دارد. اما یافتن کلید خصوصی با کلید عمومی تقریبا غیرممکن خواهد بود.
کیف پولهای ارز دیجیتال نمونههایی عالی برای نوع استفاده از کلید عمومی و کلید خصوصی هستند. یک کلید عمومی در کیف پول ارز دیجیتال همان آدرس کاربر است که یک نقطه دسترسی را برای ارسال ارز دیجیتال به سایر شرکتکنندگان بلاکچین میدهد. اما اگر کاربر بخواهد ارز دیجیتال را از یکی به دیگری ارسال کند، برای تایید تراکنش به کلیدهای خصوصی خود نیاز دارد.
برای دسترسی به کلیدهای خصوصی درست مانند ورود به ایمیل خود به رمز عبور نیاز دارید. آدرس ایمیل یک نقطه ثابت برای سایر شرکتکنندگان شبکه و ارسال پیام به شما محسوب میشود. اما برای دسترسی کامل به حساب ایمیل خود به رمز عبور نیاز خواهید داشت.
کلید در برابر رمزگذاری متقارن
با این حال، رمزگذاری متقارن نوع اولیه برای امنیتبخشی به حساب کاربری بود که در آن هر پیام با همان کد (کلید) رمزگذاری و رمزگشایی میشد. با این حال، امروزه تردیدهایی جدی در مورد امنیت این روش ایجاد شده است. بنابراین رمزگذاری نامتقارن برای مقابله با این چالشهای امنیتی، به یک جفت کلید (یکی عمومی و دیگری خصوصی) مجهز شد. این کلیدها به طور جداگانه برای رمزگذاری و رمزگشایی پیامها مورد استفاده قرار میگیرند.
کلیدهای عمومی و خصوصی برخلاف رمزگذاری متقارن، برای رمزگذاری و رمزگشایی اطلاعات باید با دادههای رمزگذاری شده مطابقت داشته باشند. آنها به طور همزمان تولید و استفاده میشوند.
روشهای رمزنگاری ارزهای دیجیتال
وقتی صحبت از رمزنگاری در ارزهای دیجیتال میشود، روشهای مختلفی وجود دارد که شامل رمزگذاری متقارن، رمزگذاری نامتقارن و هش کردن میشود.
1. هش کردن
هش برای رمزگذاری آدرسهای حساب کاربر و رمزگذاری تراکنشهای بین آن حسابها طراحی شده است. در روش هش کردن و برای اطمینان از ایمن بودن رمزگذاری، حروف و اعداد تصادفی به مقدار ذخیره شده اضافه میشوند. این روش عمدتا برای کاهش خطرات رمزگشایی، بسیار آسان و کاربردی بوده است. این در حالی است که بازیابی مقدار ذخیره شده، به اثرانگشت دیجیتال یا مقدار هش پس از تکمیل نیاز دارد.
2. رمزگذاری متقارن
رمزگذاری متقارن یکی از محبوبترین، آسانترین و در عین حال موثرترین روشهای رمزگذاری به شمار میرود. در این روش، پیامها با یک کلید رمزگذاری میشوند که در آن کلید میتواند به طور همزمان بین طرفین معامله یکسان یا متفاوت باشد. کلید سپس به گیرنده تراکنش منتقل میشود و پس از دریافت و تایید تراکنش رمزگشایی خواهد شد.
بیشتر بخوانید : تاریخچه رمزنگاری (history of cryptography)
3. رمزگذاری نامتقارن
در رمزگذاری نامتقارن برخلاف متقارن، رمزگذاری و رمزگشایی پیامها معمولا شامل دو کلید یعنی کلید عمومی و کلید خصوصی خواهد بود. از کلیدهای عمومی، پس از درخواست تراکنش و برای تأیید آن استفاده میشود. در حالی که یک کلید خصوصی برای رمزگشایی پیام یا تراکنش به کار میرود. دو وظیفه اصلی کلیدهای عمومی و خصوصی را میتوان حفظ کردن اصالت معامله و کاهش احتمال سقوط امنیت آن دانست.
در عین حال، اگر کلیدهای خصوصی اشتباه قرار گرفته باشند، هیچ راهی برای یافتن آنها وجود ندارد. به طور مشابه، اگر کلید خصوصی در معرض دید قرار گیرد، هرگونه تراکنشی میتواند انجام شود و به دلیل مجاز بودن آن نیز غیرقابل بازیابی خواهد بود.
عملکرد کلید عمومی و کلید خصوصی
رمزنگاری کلید عمومی دو وظیفه اصلی یعنی شناسایی کاربر و محرمانه بودن تراکنش را بر عهده دارد. درواقع عملکرد Public key را به زبان ساده میتوان به صورت زیر توصیف کرد.
- یک فرستنده کلید عمومی مخاطب را دریافت میکند.
- فرستنده از این کلید برای رمزگذاری اطلاعات استفاده خواهد کرد.
- فرستنده، اطلاعات رمزگذاری شده را برای یک مخاطب ارسال میکند.
- مخاطب از کلید خصوصی خود برای رمزگشایی دادهها استفاده خواهد کرد.
فرض کنید، رضا (فرستنده) میخواهد 1 بیت کوین را برای نرگس (گیرنده) ارسال کند. رضا کلید عمومی نرگس را میداند و از آن برای رمزگذاری تراکنش استفاده خواهد کرد. نرگس تراکنش را دریافت کرده و 1 بیت کوین رضا را با کلید خصوصی خود رمزگشایی میکند. درواقع نرگس تنها کسی است که میتواند تراکنش را مجاز اعلام کند، زیرا هیچکس دیگری کلید خصوصی او را نمیداند.
وقتی صحبت از ارز دیجیتال به میان میآید، کلید خصوصی چیزی است که شما به لحاظ فیزیکی مالک آن هستید. این مالکیت میتواند حق شما را برای مدیریت داراییهای دیجیتالی و اجازه هرگونه تراکنش ثابت کند. اما هر کسی که این کلید را بداند، میتواند وجوه مربوطه را به صورت کاملا قانونی خرج کند.
تفاوتهای کلید عمومی و کلید خصوصی
هدف کلیدهای عمومی و خصوصی تایید یک موضوع خواهد بود؛ این که یک تراکنش توسط طرف امضاکننده آن خرج شده و از روی هوا جعل نشده است. اگرچه هر دو نوع رمزگذاری هدفی مشابه دارند، اما از جهات مختلفی نیز با هم متفاوت هستند. در ادامه مطلب به مواردی اشاره میکنیم که باید برای تشخیص تفاوت بین کلید عمومی و کلید خصوصی بدانید.
1. الگوریتم و مکانیسم
در رمزگذاری با Public key و برای رمزگذاری و رمزگشایی باید دو کلید مجزا وجود داشته باشد. کلید خصوصی فقط برای مالک است، در حالی که کلید عمومی در دسترس همگان قرار دارد. البته در رمزنگاری متقارن نیز یک کلید برای انتقال بین دو طرف درگیر معامله مورد نیاز خواهد بود. کلید خصوصی یکسان برای رمزگذاری و رمزگشایی اطلاعات استفاده میشود و بین فرستنده و گیرنده یک پیام رمزگذاری شده به اشتراک گذاشته خواهد شد.
2. کارایی
مکانیسم کلید خصوصی بسیار سریعتر از کلید عمومی کار میکند. دلیل این امر به تفاوت تعداد کلید عمومی و کلید خصوصی برمیگردد. چراکه کلید خصوصی فقط به یک کلید نیاز دارد، در حالی که Public key به دو کلید نیاز خواهد داشت.
3. حریم خصوصی
Private key مخفی نگه داشته میشود و به غیر از صاحب کیف پول ارز دیجیتال برای هیچکسی فاش نخواهد شد. همچنین بازیابی کلید خصوصی پس از گم شدن آن غیرممکن است و فایل رمزگذاری شده غیرقابل استفاده خواهد شد. به طور معمول، به خاطر سپردن این کلیدها بسیار دشوار و حتی ناممکن است، زیرا شمارهگذاریهای بسیار پیچیدهای دارد.
بیشتر بخوانید : کوین حفظ حریم خصوصی (Privacy Coin) چیست؟
با این حال، ایمنی کلیدهای خصوصی کاملا به مالک آن بستگی خواهد داشت. به همین دلیل است که یک دستگاه ذخیرهسازی آفلاین (کیف پول سخت افزاری) بهترین روش برای ایمن نگه داشتن کلیدهای خصوصی خواهد بود. از سوی دیگر، کلید عمومی برای همه کاربران باز بوده و پس از جستجو در دسترس خواهد بود، بنابراین بعید است که گم شود.
4. امضای دیجیتالی
محتوای وب را میتوان به صورت دیجیتالی و با Private key کاربر امضا کرد و توسط Public key تایید نمود. این کار شناسایی فرستنده پیام در شبکه را آسان میکند و سبب تایید آن میشود که توسط یک هویت قابل اعتماد ارسالشده است. امضای دیجیتال مزایای امنیتی خاصی را ارائه میدهد که از جمله آنها میتوان به موارد زیر اشاره کرد.
- احراز هویت: امضای دیجیتال مشخص میکند که آیا پیام یا کاربر قانونی است یا خیر، زیرا جعل امضای دیجیتال غیرممکن خواهد بود.
- عدم نفی: فرستنده پیام پس از برقراری ارتباط نمیتواند امضای دیجیتال را انکار کند.
- تمامیت: امضا به عنوان تضمین عدم تغییر در پیام دریافتی یا ارسالی خواهد بود.
رمزگذاری و رمزگشایی
تا اینجا متوجه شدیم که دارایی دیجیتال با کلید عمومی کاربر رمزگذاری میشود و فقط با Private key آن قابل رمزگشایی خواهد بود. درواقع این تنها راه ممکن برای برگرداندن پیام یا تراکنش به شمار میرود. رمزگذاری با این روش میتواند مزایای امنیتی زیر را ارائه کند.
- حفظ حریم خصوصی: با رمزگذاری دو کلیدی میتوان هرگونه دسترسی غیرمجاز را غیرممکن کرد. محرمانه بودن رمزگذاری با استفاده از کلید خصوصی به دست میآید که فقط برای مالک آن و نه هیچکس دیگری شناخته شده است.
- تمامیت: فرآیند رمزگذاری با یک Public key ایمن تضمین میکند که پیام دریافتی تغییر نخواهد کرد.
رمزنگاری با کلید عمومی و کلید خصوصی در تعداد زیادی از پروتکلها و فرمتهای داده استفاده میشود. در عین حال، تاکنون توسط طیف گستردهای از برنامهها و نرمافزارهای سیستمی پیادهسازی شده است. این نرمافزارهای سیستمی شامل پروتکل SSL، SSH، فایلهای PDF با امضای دیجیتال، OpenPGP، S/MIME و غیره است.
همچنین این پروتکل به طور گسترده در برنامههای نرمافزاری مانند مرورگرها و برای اطمینان از اتصالات امن در شبکههای ناامن اعمال میشود. رمزنگاری نامتقارن اساس الگوریتم بلاکچین را تشکیل میدهد و پایهای برای همه ارزهای دیجیتال محسوب میشود.
مزایا و معایب کلید عمومی و کلید خصوصی
هیچ روش رمزگذاری را نمیتوان کامل و بدون عیب و نقص دانست و این اصل جهانی شامل کلیدهای عمومی و خصوصی هم میشود. در اینجا به مزایا و معایب کلیدهای عمومی و خصوصی اشاره خواهیم کرد.
جوانب مثبت
استفاده از فناوری رمزگذاری کلید خصوصی یک راه عالی برای هر کسب و کاری خواهد بود که به دنبال محافظت از اطلاعات مهم خود در برابر چشمان کنجکاو است. صرف نظر از اینکه روش رمزگذاری متقارن یا نامتقارن را انتخاب کنید، هر دوی آنها مانند هر فناوری دیگری مزایا و معایب مخصوص به خود را دارند.
با این حال، رمزگذاری متقارن سریعتر و آسانتر انجام میشود. این سیستم برای رمزگذاری یا رمزگشایی یک فایل به تولید یک معادله ریاضی منفرد و برگشتپذیر میپردازد. به همین دلیل است که این روش به منابع کامپیوتری کمتری نسبت به رمزگذاری نامتقارن نیاز خواهد داشت.
جوانب منفی
در عین حال، درست است که رمزگذاری کلید خصوصی سطح امنیتی بسیار بالاتری را فراهم میکند، اما هنوز هم دارای برخی از موانع خواهد بود. مشکل اصلی مرتبط با این روش به سختی حمل و نقل کلید آن برمیگردد. این مشکلات ناشی از ارتباطات فیزیکی ناامن برای انتقال کلید خواهد بود. درواقع اجازه دادن به اشخاص ثالث برای دسترسی به کلیدی که قفل دادهها را باز میکند بسیار خطرناک است. این روش نمیتواند اصل و صحت پیام را تضمین کند و در صورت وجود اختلاف یا شک ممکن است مشکلاتی ایجاد شود.
اگر کاربر بخواهد دادهها یا منابع مالی را بین گروهها تفکیک کند، لازم است به تولید و مدیریت چندین کلید خصوصی بپردازد. نگهداری تعداد زیادی از کلیدها چندان راحت نیست و ایجاد یک کلید مشترک جدید با هر تراکنش ممکن است منجر به افزایش عدم امنیت شود.
همچنین از دست دادن کلید خصوصی به عواقب بدی منجر خواهد شد. این بدان معناست که دیگر هیچکس نمیتواند دادههای دریافتی را رمزگشایی کند. بنابراین در صورت گم شدن Private key، کاربر نمیتواند به کیف پول ارز دیجیتال خود دسترسی داشته باشد.
انتخاب کلید عمومی و کلید خصوصی
انتخاب روش رمزگذاری به ترجیحات و راحتی شما بستگی خواهد داشت. اگر به سرعت و حفاظت از دادهها بیش از بقیه موارد اهمیت میدهید، رمزگذاری متقارن بسیار سودمند است. به عنوان مثال، الگوریتم رمزگذاری پیشرفته متقارن توسط بسیاری از شرکتها و نهادهای بزرگ مانند اپل و مایکروسافت استفاده میشود.
علاوه بر این، اگر روی ذخیرهسازی دادهها تمرکز کنید، رمزگذاری متقارن ایدهآل خواهد بود. اگر دادههای رمزگذاری شده در دستگاهی ذخیره شود و آن دادهها منتقل نشود، به خوبی کار میکند.
اما اگر افزایش امنیت بر سرعت و قدرت محاسباتی اولویت داشته باشد، رمزنگاری نامتقارن انتخاب ترجیحی شما خواهد بود. بحث تایید هویت نیز بسیار مهم است، زیرا رمزنگاری متقارن از آن پشتیبانی نمیکند. فناوریهای بلاکچین برای تایید تراکنشها بیشتر بر تایید هویت انسانی و نه هویت فردی تکیه میکنند. بنابراین معاملهگران و سرمایهگذاران ارزهای دیجیتال، این روش را ترجیح میدهند.
جمعبندی
همانطور که ما به سمت حوزه دیجیتالی پیش میرویم، ذخیرهسازی و امنیت دادهها به طور فزایندهای اهمیت پیدا کرده است. رمزگذاری با کلید عمومی و کلید خصوصی به کاربران کمک میکند تا شیوههای امنیتی معقولی را حفظ کنند. زیرا هیچکس نمیداند کدام کلید خصوصی با کلید عمومی منبع باز جفت شده است. این روش برای اجتناب از رهگیریهای احتمالی و کلاهبرداریهای سایبری بسیار سودمند خواهد بود. درنهایت، تنها چیزی که به آن نیاز دارید این است که مطمئن شوید Private key شما امن و برای دیگران غیرقابل دسترسی باشد.