کلید های رمزنگاری در واقع رشتهای از اطلاعات است که برای رمزگذاری دادهها، رمزگشایی از آنها، امضا یا تایید کردن امضای آنها استفاده میشود. کلیدهای رمزگذاری در دو شکل یافت میشوند: متقارن یا نامتقارن. در الگوریتم متقارن، کلیدی که برای رمزگذاری و رمزگشایی استفاده میشود یکی است در حالی که در الگوریتم نامتقارن کلیدها با هم فرق میکنند. در این الگوریتم کلید رمزگذاری کلید عمومی و کلید رمزگشایی کلید خصوصی نامیده میشود.
برای اعتبارسنجی دادهها ما معمولا از الگوریتم نامتقارن برای امضا و تایید استفاده میکنیم.
اگر بخواهیم مثال بزنیم، فرض کنید شخصی به نام «آلیس» (Alice) میخواهد با استفاده از روش رمزنگاری متقارن یک پیام خصوصی به «باب» (Bob) بفرستد. او باید برای رمزگذاری این داده یک کلمه رمز یا کلید تولید کند. باب پیام رمزنگاری شده را دریافت میکند و تنها زمانی که این کلید را در اختیار داشته باشد خواهد توانست پیام ارسال شده را رمزگشایی کرده و بخواند.
مشکل اینجاست که باب چگونه باید این کلید متقارن را برای رمزگشایی از پیام دریافت کند؟ طبیعی است که نمیتوان به همین راحتی کلید را به باب فرستاد، برای همین باب باید با استفاده از یک روش دیگر به کلید رمز دسترسی پیدا کند. به این مشکل، مشکل انتشار کلید میگویند.
در اواسط دهه ۷۰ میلادی این مشکل با اختراع شکل نامتقارن رمزنگاری که در بالا اشاره کردیم حل شد که اغلب به آن رمزنگاری کلید عمومی میگویند. به کمک رمزنگاری کلید عمومی آلیس پیامش را با کلید عمومی باب رمزگذاری کرده و به او ارسال میکند. هر کس میتواند این پیام را در میانهی راه بدزدد ولی فقط باب میتواند با کمک کلید خصوصیاش آن را رمزگشایی کند.
در حوزهی ارزهای دیجیتال هم چنین کلیدهای عمومی به کیف پولها نسبت داده میشوند و این کلیدهای عمومی تنها زمانی اعتبار دارند که یک نوع ارز دیجیتال در کیف پول موجود باشد.
اگر آلیس بخواهد به باب بیت کوین بفرستد، تنها کاری که باید بکند این است که با کلید خصوصی منتسب به کیف پولی که از آن میخواهد خرج کند، تراکنش را امضا کند. این تراکنش مشخص میکند که بیت کوین مورد نظر باید به کیف پولی که کلید عمومی باب را دارد، منتسب شود. ماینرهایی که این تراکنش را اعتبارسنجی میکنند باید مطمئن شوند که کیف پول آلیس بیت کوین کافی دارد و امضای آن هم درست است. اما لازم نیست که بدانند آلیس یا باب چه کسانی هستند.
نکته بسیار مهم این است که حتما باید کلیدهای خصوصی را مخفی نگه داشت.
اگر اشخاص دیگری به طور غیرمجاز به کلیدهای خصوصی آلیس دسترسی پیدا کنند در واقع به تمام ارزهای دیجیتال موجود در کیف پول او دسترسی پیدا کردهاند. هکرها زمان و انرژی بسیار زیادی را صرف طراحی و پیدا کردن راههای مختلف برای کلاهبرداری از کاربران میکنند تا آنها خودشان ناخودآگاه کلیدهای خصوصیشان را فاش سازند.
امضای چندگانه چیست؟
امضای چندگانه یعنی استفاده از بیش از یک کلید عمومی برای اعتبارسنجی یک تراکنش.
ارسال بیت کوین آلیس به باب در مثال قبلی نمونهی یک تراکنش تک امضایی است زیرا تنها آلیس باید از کلید خصوصیاش استفاده کند. در یک تراکنش چند امضایی، همانطور که از اسمش پیداست چند امضا برای تایید تراکنش مورد نیاز است.
برای مثال اگر آلیس و باب بخواهند با یکدیگر یک کسبوکار راه بیاندازند، میتوانند در کیف پول کسبوکارشان از چندامضایی بهره ببرند. کیف پولی که به حساب آلیس و باب منتسب است دو کلید عمومی دارد. اگر این دو نفر بخواهند ارزی را انتقال دهند هردو باید از کلید خصوصی خود برای اعتبارسنجی تراکنش استفاده کنند.
از چندامضایی همچنین میتوان با شکلهای پیچیدهتری هم استفاده کرد که معمولا به آن «N از M» (N-out-of-M) میگویند. این یعنی برای تایید هر تراکنش، N تایید از کل M تایید کننده مورد نیاز است. به عبارت دیگر در یک شرایط چندامضایی رای اکثریت طرفین برای تایید و انجام تراکنش مورد نیاز است، مثلا ۳ تایید از کل ۵ رای یا ۵ رای از کل ۸ رای.
از روش چندامضایی برای بالا بردن امنیت حسابهای کاربران استفاده میشود. ایدهی اصلی این روش این است که اگر یک مجموعه از کلیدهای خصوصی فاش یا گم شوند، سرمایه از دست نمیرود.
ماژول امنیتی سختافزاری در کلید های رمزنگاری چیست؟
ماژول امنیتی سختافزاری که به آن HSM هم میگویند یک سختافزار فیزیکی مخصوص است که برای ایمن نگه داشتن کلید های رمزنگاری و انجام عملیات رمزنگاری طراحی شده است.
ماژولهای امنیتی سختافزاری در واقع یک لایهی امنیتی اضافی برای محافظت از کلیدهای خصوصی هستند که در بانکداری سنتی هم از آن استفاده میشود.
زمانی که شما کارت بانکی خود را درون دستگاه خودپرداز قرار میدهید در واقع این دستگاه تحت پروتکلی خاص با ماژولهای امنیتی سختافزاری که درون مراکز دادهی بانک قرار دارد ارتباط برقرار میکند. این ماژولهای امنیتی سختافزاری تمام کلید های رمزنگاری مورد نیاز برای انجام عملیات بانکی و اعتبارسنجی کارتهای بانکی را ذخیره میکنند.
یک بانک سنتی میلیونها کلید های رمزنگاری مخفی دارد که باید به گونهای آنها را مدیریت کرد؛ هر دستگاه خودپرداز و کارت بانکی هم کلید متقارن خاص خود، یا کلید خصوصی و دیگر مشخصههای مخصوص به هر بانک را دارد. این مسئله باعث میشود که بانکها برای ایجاد کلید های رمزنگاری جدید برای کارتهای تازه صادر شده و یا از بین بردن کلیدهای کارتهایی که باطل میشوند، همچنین برای تعویض کلیدها و غیره با دردسرهایی روبهرو باشند.
این عملیات به کمک زیرساختهای ماژولهای امنیتی سختافزاری بانکها برطرف میشود. از آنجایی که یک بانک سنتی تنها به اندازهی امنیتی که کلید های رمزنگاری دارد، امن است این ماژولها به گونهای طراحی شدهاند که در مقابل هرگونه تهاجمی، از جمله دسترسی غیرمجاز کارکنان خود بانک، ایمن باشند.
ماژولهای امنیتی سختافزاری به گونهای طراحی میشوند که در صورت هرگونه تغییر در آنها همه چیز کاملا مشهود و مشخص باشد، بدین ترتیب اگر کسی بخواهد در آنها نفوذ کند مدرک موجود خواهد بود. حتی برخی از این ماژولها در صورت کشف هرگونه نفوذ به صورت خودکار خود را نابود میکنند.
برای بالا بردن امنیت کلیدها، این ماژولها را در اعماق مراکز داده امن بانکها تعبیه میکنند.
محاسبات چندجانبه چه نوع محاسباتی هستند؟
محاسبات چندجانبه یا MPC به طرفهای مختلف با ورودیهای خصوصی خودشان اجازه میدهد محاسبات مشترکی روی ورودیهایشان انجام شود. هر کدام از طرفین از خروجی محاسبات مطلع میشوند ولی هیچ کدام از ورودیهای خصوصی دیگر طرفها اطلاعی پیدا نمیکنند.
الگوریتمی که توسط رمزنگار مشهور، «آدی شمیر» (Adi Shamir) معرفی شده و با نام اشتراک پنهانی شمیر شناخته میشود در قلب محاسبات چندجانبه قرار دارد. یک طرح اشتراک پنهانی در واقع متشکل است از انتشار تکههای یک مقدار مخفی (کلید خصوصی) بین چندین گره یا کاربر. تنها زمانی که یک زیرمجموعهی مشخص از طرفین تکههای خود را کنار هم بگذارند امکان بازیابی مقدار مخفی وجود خواهد داشت.
این روش به ما اجازه میدهد دادهها را با امنیت کامل در مناطق جغرافیایی مختلف تقسیم کنیم. البته این ایده را میتوان به اجرای کارهای محاسباتی روی یک مقدار مخفی مشترک هم بسط داد که به آن محاسبات چندجانبهی امن میگویند.
با استفاده از پروتکلهایی که منتسب به طرح اشتراک پنهانی هستند، طرفین میتوانند بدون اینکه نیاز باشد طرفین درگیر را دوباره کنار هم جمع کنند، روی داده مشترک هرگونه عملیات محاسباتی را انجام دهند.
ایدهی محاسبات چندجانبهی امن را میتوان به هر نوع دادهی خصوصی بسط داد. این دادهی خصوصی هم میتوان یک دادهی شخصی باشد، یا دادههای شرکتی اشتراکی یا حتی کلید خصوصی کاربر.
یک مثال سنتی برای نمایش این طرح این است که دو یا چند بیمارستان را در نظر بگیریم که میخواهند روی بیماران خود تحلیلهای آماری انجام دهند. این بیمارستانها میتوانند به کمک محاسبات چندجانبه و بدون اینکه نیاز باشد اطلاعات بیماران خود را در اختیار دیگر بیمارستانها قرار دهند، به یک آمار کلی دست پیدا کنند.
همین ایده را میتوان به کمک رمزنگاری به کلیدهای خصوصی هم گسترش داد. در مثال بیمارستان، به جای اینکه مجموعهای از دادههای بیماران را با هم ترکیب کنیم، داده (یک کلید خصوصی) به چندین تکه داده تقسیم میشود که در مکانهای مختلف ذخیره میشوند. این مکانها میتوانند بعدا به کمک محاسبات چندجانبه و با استفاده از کلید خصوصی هر محاسبهای را که لازم باشد انجام دهند. برای مثال یک امضا بدون اینکه نیاز باشد کلید خصوصی دوباره بازسازی شود.
به عنوان مثال، یک کلید خصوصی بیت کوین را میتوان به تکههای مختلف تقسیم کرد که هر تکه هم به طور جداگانه رمزگذاری شوند. هر تکه به یک گره از شبکه انتشار پیدا میکند. این شبکه میتواند در همان حالی که دادههای زیرین رمزنگاری شده باقی ماندهاند، هرگونه عملیات محاسباتی را روی دادهها انجام دهد. با این کار این دادهها کاملا خصوصی باقی خواهند ماند.
ایدهی محاسبات چندجانبه دهههاست که مطرح شده ولی موارد استفادهی عملی از آنها تنها در سالهای اخیر مشاهده شده است. امروزه این فناوری در حال جلب توجهها به سمت خود بوده و از سال ۲۰۱۷ میلادی تاکنون چند بار در لیست فناوریهای داغ موسسهی «گارتنر» (Gartner) قرار گرفته است. محاسبات چندجانبه هم اکنون هم توسط برخی از بانکها و موسسههای فناوری پیشروی جهان مورد استفاده قرار میگیرد و از میلیاردها دلار دارایی آنها محافظت میکند.
مقایسهی روش چندامضایی، ماژول امنیتی سختافزاری و محاسبات چندجانبه در عرصهی ارزهای دیجیتال
روش چندامضایی، ماژول امنیتی سختافزاری و محاسبات چندجانبه همگی سعی در بهبود امنیت و حریم خصوصی دارند ولی با این حال، هر کدام از آنها دارای مزایا و چالشهای خاص خود هستند.
در روش چندامضایی برای بالا بردن امنیت از چندین کلید برای انجام کاری که در حالت عادی نیاز به یک کلید دارد، استفاده میکنیم. به همین دلیل مزیت اصلی این روش این است که مراحل تایید تراکنش در آن بهتر عمل میکند زیرا دیگر وابستگی به یک کاربر واحد وجود ندارد. علاوه بر این به کمک این روش انطباق با نیازمندیهای نظارتی برای تفکیک مسئولیتها نیز بهبود مییابد.
اما با این حال روش چندامضایی چندین محدودیت دارد، برای مثال همهی ارزهای دیجیتال از آن پشتیبانی نمیکنند. همچنین جایگزین کردن کاربران و تغییر حدنصاب هم کار دشواری است. در این روش جایگزین کردن کاربران نیازمند انتقال تمام داراییها از حساب شخص است تا بعد از آن بتوان تغییرات لازم را اعمال کرد. این مسئله یک مشکل اساسی برای سازمانها و شرکتهای بزرگ است که کارمندان آنها مدام تغییر میکنند.
اما شاید بزرگترین محدودیت روش چندامضایی این است که هیچگونه محافظتی از کلید خصوصی نمیکند. به همین دلیل است که بسیاری از سازمانها از روش ماژول امنیتی سختافزاری استفاده میکنند.
به کمک ماژول امنیتی سختافزاری، شرکتها و سازمانها با داشتن سختافزارهای امن مخصوص نگهداری کلیدها، امنیت را تامین میکنند.
با این حال این ماژولها هم بدون ایراد نیستند. در سال ۲۰۱۹ میلادی محققان شرکت «لجر» (Ledger) که یکی از ارائهکنندگان برتر کیف پولهای ارز دیجیتال است، موفق به نفوذ به یکی از ماژولهای امنیتی سختافزاری شناختهشده شدند. یکی دیگر از چالشهای پیشروی این ماژولها این است که نسخههای عادی این سختافزارها قادر به حل مشکل کلیدهای جعلی مورد استفاده توسط کارکنان داخلی نیستند و فقط میتوانند سرقت آنها را شناسایی کنند. علاوه بر این نصب و نگهداری از این ماژولها بسیار هزینهبر است.
صرافیهای ارز دیجیتال از ترکیبی از روش چندامضایی و سختافزارهایی مثل کیف پولهای فیزیکی یا ماژولهای امنیتی سختافزاری استفاده میکنند. با این حال، انتقال ارز دیجیتال بین کیف پولهای فیزیکی آفلاین که از روش چندامضایی استفاده میکنند، میتواند به شکل قابل توجهی سرعت تراکنشها را پایین آورده و باعث ناکارآمدی تمام عملیات اجرایی شود.
برخلاف روش چندامضایی و ماژول امنیتی سختافزاری، محاسبات چندجانبه امکان تقسیم جغرافیایی و مدیریت مستقل در هر مکان را فراهم میکند که منجر به افزایش امنیت دادههای رمزنگاری میشود.
یک استفاده امن از محاسبات چندجانبه در واقع ترکیب نادری از انتشار و محاسبات توزیعشده به همراه رمزگذاری است. به همین دلیل فرصتهای خوبی را برای بهبود حریم خصوصی دادهها و امنیتشان فراهم میکند. با اینکه این فناوری در سالهای اخیر قدمهای بزرگی رو به جلو برداشته است ولی هنوز هم نیازمند تخصص زیاد برای پیادهسازی است.
استفاده از روشهای امن مدیریت کلید های رمزنگاری در چه جاهایی ضروری است؟
هر کسبوکاری که روزانه مقدار زیادی ارز را مبادله میکند و حجم وسیعی از تراکنشهای ارزهای دیجیتال را انجام میدهد نیازمند استفاده از روشهای امن مدیریت کلید است.
در حوزهی رمزنگاری این مسئله شامل شرکتهای حضانتی مثل «کوین بیس» (CoinBase)، «بیت گو» (BitGo) و «جمینی» (Gemini) میشود. همچنین موسسات سنتی مثل «فیدلیتی» (Fidelity) و «بکت» (Bakkt) که به عرصهی ارزهای دیجیتال هم پا گذاشتهاند نیز شامل این حرف میشوند.
صرافیهای ارز دیجیتال نیز نیازمند استفاده از روشهای امن مدیریت کلید هستند. با اینکه صنعت صرافی ارزهای دیجیتال در حال بلوغ است ولی تنها در سال ۲۰۱۹ میلادی شاهد ۱۲ حمله و نفوذ به این سامانهها بودیم.
مثالهایی از ارائهدهندگان سامانه مدیریت کلید
با اینکه بسیاری از صرافیها و شرکتهای حضانتی هنوز هم از روش کیف پول آفلاین چندامضایی استفاده میکنند ولی هم اکنون چند ارائهدهندهی سامانه مدیریت کلید در بازار وجود دارد.
«آنباند تک» (Unbound Tech) اولین شرکت ارائهدهندهی ماژول امنیتی سختافزاری با استفاده از محاسبات چندجانبهی امن است که محصولش «پلتفرم امنیت دارایی رمزنگاریشده» یا CASP نام دارد. این پلتفرم کلیدهای خصوصی و کارهای مربوط به تایید، اعتبارسنجی و امضاکردن را بین چندین تاییدکننده، حتی آنهایی که آفلاین هستند و همچنین باتها، تقسیم میکند. این شرکت توسط سرمایهگذارانی مثل «سیتی» (Citi) و «گلدمن ساکس» (Goldman Sachs) حمایت میشود. این پلتفرم همچنین اولین ماژول امنیتی سختافزاری مجازی مبتنی بر محاسبات چندجانبه است که توانسته نشان سطح دوی FIPS 140-2 را کسب کند. این نشان برای اعتبارسنجی کارایی سختافزارهای رمزنگاری به کار برده میشود. آنباند تک هم به صرافیها و هم به شرکتهای حضانتی از جمله «لیکویید» (Liquid) و چندین کاربر «فورچن 500» (Fortune 500) خدمات ارائه میدهد.
«کرو» (Curv) یکی دیگر از ارائهدهندگانی است که از محاسبات چندجانبه برای امضای تراکنشها و انتشار آنها در بلاکچین استفاده میکند. موتور تعیینکنندهی خط مشی این شرکت انعطافپذیری بالایی دارد و به کاربران اجازه میدهد بنا به نیازهایشان سیاستهای مورد نیاز خود را اعمال کنند. همچنین کلیدهای رمزگذاری بین کرو و مشتری تقسیم شده است.
«بیتگو» (BitGo) شاید یکی از شناختهشدهترین شرکتها در حوزهی کیف پولهای سازمانی باشد. این شرکت راهکارهای حضانتی و نقدینگی را برای بیش از ۱۰۰ ارز ارائه میکند و قابلیتهایی نظیر پشتیبانی از کیف پولهای آنلاین و آفلاین، مدیریت خط مشی و روشهای چندامضایی دارد.
در نهایت میرسیم به شرکت لجر که علاوه بر ارائهی کیف پولهای عادی راهکارهایی نیز برای مشتریان سازمانی خود با نام «لجر والت» (Ledger Vault) دارد. والت تراکنشهای امن را ممکن میسازد و از کلیدهای موجود در ماژولهای امنیتی سختافزاری که روی سیستم عامل مخصوص والت اجرا شده، محافظت میکند. این پلتفرم از طرحهای اعطای دسترسی چندگانه و اضافه کردن لیست سفید برای تراکنشها هم پشتیبانی میکند.
صرافی پلاس با سالها تجربه در حوزهی خدمات ارزی یکی از پیشگامان این عرصه است. ما در صرافی پلاس حوالههای مختلف به تمامی کشورهای دنیار را در کوتاهترین زمان ممکن انجام میدهیم. مشتریان برای اطلاعات بیشتر میتوانند با کارشناسان حاذق و مجرب مجموعه از طریق ثبت نام در سایت و ارسال تیکت در ارتباط باشند. صرافی پلاس در ۷ روز هفته و به صورت ۲۴ ساعته (به جز روزهای تعطیل) در حال خدمت به مشتریان است.