رمزگذاری (encryption) در فضای ارز دیجیتال بسیار حائز اهمیت است و در این نوشتار سعی میشود که به برخی از سوالات رایج در زمینه مدیریت کلید رمزگذاری پاسخ داده شود. با همراه باشید.
۱- کلیدهای رمزنگاری چه هستند و چرا باید ایمن نگه داشته شوند؟
کلید رمزنگاری مجموعهای از داده است که برای رمزگذاری دادهها، رمزگشایی دادهها، امضای دادهها و یا برای تایید یک امضا مورد استفاده قرار میگیرد. کلیدهای رمزگذاری یا متقارن هستند و یا نامتقارن. در کلیدهای متقارن هر دو کلید رمزگذاری و رمزگشایی یکی هستند اما در کلیدهای نامتقارن این دو با هم فرق دارند و کلید رمزگذاری کلید عمومی نامیده میشود و کلید رمزگشایی نیز کلید خصوصی نام دارد.
برای تایید اعتبار دادهها، ما همیشه به الگوریتم (algorithm) نامتقارن برای امضا و تایید آنها فکر میکنیم. اگر آلیس (Alice) بخواهد یک پیام سری را به باب (Bob) بفرستد و از رمزنگاری متقارن استفاده کند، باب زمانی میتواند این پیام را دریافت کند که کلید را در اختیار داشته باشد.
اما در اینجا یک مشکل مطرح است و آن نحوه دریافت کلید توسط باب است. طبیعتا باب نمیتواند این کلید را به صورت عمومی دریافت کند. در اینجا مکانیسمی (mechanism) برای دریافت این کلید سری لازم است. مشکل یاد شده به عنوان مشکل توزیع کلید معروف است.
در میان دهه ۱۹۷۰ بود که این مشکل با اختراع رمزنگاری نامتقارن حل شد. در این حالت، آلیس پیام را میفرستد و آن را با کلید عمومی خود رمزگذاری میکند و تنها باب میتواند با کلید خصوصی خود به رمزگشایی پیام بپردازد.
در فضای ارز دیجیتال، برای کیف پولها کلید عمومی تعیین میشود و این کلیدهای عمومی تنها زمانی معتبر هستند که مقداری ارز دیجیتال در کیف پول موجود باشد. زمانی که آلیس میخواهد مقداری بیت کوین (bitcoin) به باب بفرستد، تراکنش را با کلید خصوصی متعلق به کیف پول خود امضا میکند. این تراکنش نشان میدهد که بیت کوین باید به کیف پولی فرستاده شود که متناسب با کلید عمومی باب باشد. ماینرهایی (miner) که تراکنش را تایید میکنند، باید مواظب باشند که کیف پول آلیس بیت کوین کافی داشته باشد و امضای آن صحیح باشد. آنها لازم نیست که بدانند آلیس و باب در واقع چه کسانی هستند. خیلی مهم است که از کلیدهای خصوصی به صورت خصوصی نگهداری شود.
اگر یک شخص ثالث بدکار به کلیدهای خصوصی آلیس دسترسی داشته باشد، کار تمام است و میتواند به خرج کردن وجوه آلیس بپردازد. هکرها (hacker) از شگردهای مختلفی برای دسترسی به کلیدهای خصوصی افراد استفاده میکنند.
۲- Multisig یا چند امضایی در فضای رمزگذاری چیست؟
چند امضایی یعنی اینکه بیش از یک کلید عمومی برای تایید یک تراکنش لازم باشد. مثال آلیس که در بالا ذکر شد، مثالی از تراکنشهای تک امضایی بود. در تراکنشهای چند امضایی بیش از یک کلید عمومی برای تایید تراکنش لازم است و معمولا حد نصابی تعیین میشود که با توجه به آن تراکنش تایید میشود.
به عنوان مثال، اگر آلیس و باب با همدیگر کسب و کاری را راهاندازی کنند و یک کیف پول چند امضایی برای این کار ایجاد کنند، تراکنش با استفاده از کلیدهی خصوصی هر دو تایید خواهد شد. تراکنشهای چند امضایی میتوانند به شیوه پیچیدهتری هم انجام بگیرند و فرضا ۵ کلید خصوصی برای اکانت (account) موجود باشد که حداقل ۳ مورد از آنها باید تراکنش را تایید کنند تا تراکنش صورت بگیرد.
چند امضایی روشی برای افزایش امنیت تراکنشها است و اگر یکی از کلیدهای خصوصی دزدیده شود، باز وجوه ایمن باقی میمانند و نیاز به کلیدهای دیگری برای انتقال وجه است.
۳- واحد امنیت سخت افزاری چیست؟
یک واحد امنیت سخت افزاری قطعهای سخت افزار فیزیکی تخصصی برای نگهداری ایمن کلیدها و انجام عملیات رمزنگاری است. آن یک لایه اضافی امنیتی را برای محافظت از کلیدهای خصوصی فراهم میکند و به طور سنتی در بانکداری استاندارد هم به کار میرود.
وقتی که کارت خود را داخل خودپرداز قرار میدهید، با استفاده از این مکانیسم است که قادر به دریافت پول خواهید بود. یک بانک سنتی دارای میلیونها کلید سری است که نیاز به مدیریت دارند و هر کارت اعتباری و یا خودپردازی دارای کلیدهای خود است. این دردسر مدیریتی زیادی را برای بانکها ایجاد میکند.
این عملکردها برای بانک از طریق زیرساخت واحد امنیت سخت افزاری حل میشوند. این زیرساخت در برابر افراد مهاجم دارای نوعی مقاومت است. این زیرساخت طوری طراحی شده که مداخله در آن آشکار میشود و یا در صورت مشاهده مداخله به صورت خودکار از بین میرود. این واحدها برای امنیت بیشتر در داخل مراکز داده ایمن بانکها مستقر هستند.
۴- محاسبه چند طرفه چیست؟
محاسبه چند طرفه به طرفهای مختلف اجازه میدهد که با استفاده از ورودیهای خصوصی خود به انجام یک محاسبه بپردازند. همه این طرفین از نتیجه محاسبه آگاه خواهند شد اما چیزی از ورودیهای طرفین درگیر یاد نخواهند گرفت. این طرح اشتراک راز شامل توزیع قطعاتی از یک ارزش سری در میان نودها (nodes) یا کاربران شبکه است.
در این حالت، میتوان به شکافتن ایمن دادهها در موقعیتهای جغرافیایی مختلف پرداخت. با استفاده از پروتکلهای (protocol) همراه با این طرح، طرفین میتوانند وظیفه محاسباتی را بر روی دادههای اشتراکی انجام دهند و لازم نیست که این بخشها را در کنار هم قرار دهند. این فرآیند را میتوان برای همه انواع دادههای خصوصی اعمال کرد.
مثالی سنتی در این زمینه میتواند چند بیمارستان باشد که بخواهند به تحلیل آماری بیماران بیماران خود بپردازند. در اینجا این بیمارستانها با استفاده از فرایند مذکور میتوانند به نتایج آماری مورد نظر خود دست یابند و جزئیات بیماران نیز افشا نشود.
این ایده را میتوان در فضای رمزگذاری و کلیدهای خصوصی هم اعمال کرد. در اینجا نیز دادهها به بخشهای مختلفی تقسیم میشوند و هر بخش در موقعیت جداگانهای ذخیره میشود. به عنوان مثال، یک کلید خصوصی بیت کوین را میتوان به چند تکه تقسیم کرد که هر تکه به صورت جداگانه رمزگذاری شود. هر تکه به یک نود شبکه توزیع میشود. شبکه میتواند محاسبات را بر روی دادهها انجام دهد و در عین حال، دادههای زیربنایی را رمزگذاری شده و خصوصی نگه دارد.
این فرایند دهههاست که اختراع شده است اما تنها در این اواخر کاربرد عملی یافته است. امروزه این فرآیند بسیار مورد توجه واقع شده است و توسط تعدادی از بانکها و سازمانهای فناوری برجسته جهان برای مدیریت میلیاردها دلار مورد استفاده قرار میگیرد.
۵- مقایسه فرآیندهای مذکور در ارزهای دیجیتال
هدف همه فرآیندهای مذکور امنیت و حریم خصوصی است اما هر کدام مزیتها و معایب خاص خود را دارند. در فرآیند چند امضایی از چند طرف استفاده میشد و امنیت بیشتر میشد و همچنین با استفاده از این روش میتوان حیطه مسئولیتها را از هم جدا کرد. اما چند امضایی محدودیتهای زیادی هم دارد و توسط همه ارزهای دیجیتال پشتیبانی نمیشود. جایگزین کردن کاربران در این ساختار بسیار دشوار است و این برای شرکتهای بزرگ که دارای کارمندان زیادی هستند، چالش بزرگی است.
شاید مهمترین محدودیت چند امضایی این است که این فرایند هیچ نوع محافظتی از کلید خصوصی انجام نمیدهد و به همین دلیل است که سازمانها واحد امنیت سخت افزاری (HSM) را انتخاب کردهاند. این سازمانها با استفاده از این فرآیند میتوانند یک لایه امنیتی اضافی را ایجاد کنند.
البته این فرآیند نیز مصون از خطا نیست و در سال ۲۰۱۹ یک HSM معروف هک شد. یک چالش در اینجا این است که سخت افزار کلید تقلبی استفاده شده توسط کارمندان داخلی را شناسایی نمیکند و تنها کلید مربوط به دزدی را شناسایی میکند. تنظیم و نگهداری این واحدهای سخت افزاری بسیار پرهزینه است.
صرافیهای ارز دیجیتال متکی بر ترکیبی از چند امضایی و HSM هستند، اما استفاده از فرایند چند امضایی برای انتقال وجوه بین کیف پولهای سرد باعث کاهش سرعت تراکنش میشود و ناکارایی نتیجه آن خواهد بود.
بر خلاف فرآیندهای چند امضایی و HSM، محاسبه چند طرفه (MPC) اجازه جدایی جغرافیایی و کنترل مستقل را میدهد. محاسبه چند طرفه ترکیب نادری از توزیع و رمزگذاری است. این باعث ایجاد موقعیتهای برجستهای برای بهبود حریم خصوصی و امنیت دادهها میشود. اگرچه این فناوری در سالهای اخیر پیشرفت زیادی کرده اما هنوز نیازمند توسعه بیشتر است.
۶- چه کسانی نیازمند مدیریت کلید ایمن هستند؟
هر کسب و کاری که با مقادیر زیادی پول و حجم بالای تراکنش داراییهای دیجیتال مواجه است، نیازمند این اقدامات است. در فضای کریپتو (crypto)، این شامل محافظان بومی مانند کوین بیس (Coinbase) است. آن همچنین شامل موسسات سنتی مانند Fidelity هم میشود که وارد فضای ارزهای دیجیتال شدهاند. صرافیهای ارز دیجیتال نیز نیازمند اقدامات مربوط به مدیریت کلید ایمن هستند. اگرچه صنعت صرافیهای ارز دیجیتال در حال تکامل است اما در سال ۲۰۱۹ حدود ۱۲ هک برجسته روی داد.
۷- نمونههایی از فراهمکنندگان مدیریت کلید
در حالی که تعداد زیادی از صرافیها هنوز هم از رویکرد کیف پول آفلاین چند امضایی استفاده میکنند، حال چندین فراهمکننده مدیریت کلید در بازار موجود هستند.
Unbound Tech یکی از این فراهمکنندههاست که یک HSM مجازی را با استفاده از یک MPC ایمن ارائه میدهد. آن کلیدهای خصوصی و تایید، اعتبارسنجی و امضای تراکنش را در میان تصویبکنندگان مختلف توزیع میکند. باتها (bot) و مشارکتکنندگان آفلاین از جمله این تصویبکنندگان هستند.
Curv یکی دیگر از این فراهمکنندهها است که از MPC برای امضای تراکنش و انتشار آن به بلاک چین (Blockchain) استفاده میکند. سیاست این پلتفرم (platform) اجازه تصویب پیشرفته و منعطف را میدهد. کلیدهای رمزگذاری بین سرویس Curv و کلاینت (client) تقسیم میشوند.
BitGo نیز یکی دیگر از متصدیان مشهور در این فضاست. این شرکت راهحلهای حفاظت و نقدینگی را برای بیش از ۱۰۰ کوین (coin) فراهم کرده است.
در نهایت باید گفت که کیف پول لجر (Ledger) نیز راهحلی را با نام Ledger Vault برای مشتریان موسساتی فراهم آورده است. این پلتفرم طرحهای چند تاییدی را پشتیبانی میکند و لیستهای سفید (Whitelist) را برای تراکنشها مورد خطاب قرار میدهد. نظر شما چیست؟ مدیریت کلید رمزگذاری صرافیها باید چه بهبودهایی پیدا کند؟ نظرات خود را با ما در میان بگذارید.
برای توضیحات بیشتر به این لینک