مدیریت کلید بیت کوین (قسمت چهارم)
در این مقاله ما یک چارچوب ارزیابی برای مقایسۀ زوایای مختلف مدیریت کلید بیت کوین ارائه کرده و ارزیابی وسیع دیگری دربارۀ موارد استفادۀ شش نماینده کلاینت های بیت کوین خواهیم داشت. ما متوجه شدیم که بیت کوین در زمینه مدیریت کلید، چالش های پایه ای مشابه با بسیاری از دیگر دامین ها دارد، اما می تواند یک موقعیت منحصر به فرد ایجاد نماید تا نگاهی دوباره به مبحث مدیریت کلید از دید کاربران بیندازد.
چکیده – کاربران بیت کوین به صورت مستقیم و یا غیر مستقیم مجبور به استفاده از کلید های عمومی می باشند. استفاده از این نوع کلیدها با چالش هایی در زمینه امنیت و نحوه استفاده مواجه است که با اکثر سیستم های احراز هویت مورد استفاده سرویس های بانکی متفاوت است. کاربران به طور همزمان باید از در دسترس بودن، امن بودن در برابر حملات دزدان دیجیتالی، حفاظت آنها از گم شدن و مدیریت کلید بیت کوین خود اطمینان حاصل نمایند.
در این مقاله کوین ایران یک چارچوب ارزیابی برای مقایسۀ زوایای مختلف مدیریت کلید بیت کوین ارائه کرده و ارزیابی وسیع دیگری دربارۀ موارد استفادۀ شش نماینده کلاینت های بیت کوین خواهد داشت. ما متوجه شدیم که بیت کوین در زمینه مدیریت کلید، چالش های پایه ای مشابه با بسیاری از دیگر دامین ها دارد، اما می تواند یک موقعیت منحصر به فرد ایجاد نماید تا نگاهی دوباره به مبحث مدیریت کلید از دید کاربران بیندازد.
راهنمای مطالعه نمایشبیشتر بخوانید: مدیریت کلید بیت کوین (قسمت نخست)
مدیریت کلید بیت کوین (Bitcoin key management) (قسمت چهارم)
ذخیره کلید ها در محیط کاملا ایزوله
در ذخیره سازی آفلاین، تصور بر این است که دستگاه نگهدارنده کلید ها توانایی محاسبه و انجام مواردی مانند ایجاد امضاء دیجیتال را ندارد. این نوع ذخیره سازی با نوع Air-Gapped تفاوت دارد، به طوری که در حالت Air-Gapped توانایی ایجاد امضاء در یک دستگاه دومی قرار دارد که ارسال تراکنش ها را نیز عهده دار است، اما این دستگاه به شبکه متصل نیست. وقتی میخواهیم از این گونه دستگاه ها پولی را خرج کنیم ، یک تراکنش از دستگاه مذکور ایجاد می گردد و خروجی با یک دستگاه قابل حمل به محیطی که به اینترنت دسترسی دارد برده می شود تا به شبکه بیت کوین انتقال یابد.
یک Air-Gap با عدم استفاده از کلید خصوصی در دستگاه های متصل به اینترنت، امنیت و مقاومت در برابر دزدی را افزایش می دهد. به هر حال احتمال آلوده شدن این گونه دستگاه ها با بد افزار ها وجود دارد، برای مثال دستگاه هایی که برای انتقال اطلاعات استفاده می کنیم ممکن است آلوده باشند و دستگاه مذکور را نیز الوده کنند.
دستگاه های سخت افزاری مدیریت کلید HSM شرایط یک محیط ایزوله را به وسیله جدا کردن محیط کلید ها با دستگاه اصلی و تنها ارایه گزینه امضاء تراکنشها، فراهم می کنند. HSM های مخصوص بیت کوین در حال حاضر در مسیر توسعه می باشند و تعدادی از آنها نیز به مرحله بهره برداری رسیده اند (Trezor[۱]).
توجه داشته باشید که عواقب دسترسی به کلید های خصوصی، تفاوتی با امکان امضاء تراکنش در کیف پول ندارد، هر دو امکان دزدیده شدن موجودی حساب بیت کوین را ایجاد خواهد کرد. به هر حال اگر امکان امضاء تراکنش دائمی نباشد، منابع مالی آینده در امان خواهند بود.
کلید های گرفته شده از رمز عبور
تا اینجا تمامی راه حل های مدیریت کلید، نیاز داشتند تا کاربر کلید های رمزنگاری را نگهداری نماید. دو راه حل باقی مانده کاربران را قادر می سازد که به بیت کوین های خود به وسیله یک رمز عبور دسترسی داشته باشند.
اولین رویکرد این است که کلید های رمزنگاری شده را از یک پسوردی که توسط کاربر گرفته شده تولید نماییم.( برای مثال با استفاده از PBKDF2 دستکاری خروجی برای تولید یک کلید معتبر بیت کوین). مشکل این روش این است که تنها یک جفت کلید تولید می شود و برای تولید کلید های دیگر نیاز به یک رمز عبور جدید می باشد.
یک رویکرد قوی تر که در پیشنهاد ارتقاء بیت کوین توضیح داده شده است و با نام کیف پول Hierarchical Deterministic (HD) (تعیین شده سلسله مراتبی) شناخته می شود.، کیف پول های HD به صورت تعیین شده یک دسته کلید از یک کلید مستر(که یک مقداری است که تصادفی از کلمه عبورتولید شده) ایجاد می نمایند. این کلید ها می توانند کلیدهای جدیدی تولید کنند. طبیعیت این روش به کسی که رمز عبور را در اختیار دارد اجازه می دهد تا موجودی را ببیند، و همچنین منابع مالی را از هر حساب زیر مجموعه رمز عبور مورد نظر خرج نماید. اگر یکی از کلید های حساب های زیر مجموعه دست دیگران بیفتد، تنها منابع مالی همان حساب در معرض خطر خواهد بود.
کیف پول های مشتق شده از رمز عبور به منظور جلوگیری از سرقت سرمایه و همچنین دسترسی راحت تر از چند دستگاه مختلف طراحی شده اند. تا وقتی که کیف پول توسط یک رمز عبور مجددا می تواند بارگذاری شود، دیگر چالش های ارایه دسترسی به یک فایل دیجیتال مطرح نخواهد بود. یکی از مشکلات این گونه حساب ها این است که اگر رمز عبور ضعیفی انتخاب شود، از آنجایی که کلید عمومی تولید شده اثراتی از ان رمز عبور را همراه خود دارد (به نوعی رمز عبور مورد نظر تولید شده و خصوصیات آن را حمل می کند) و در نظر گرفتن این نکته که کلید عمومی که بیت کوین دارد در دسترس همگان است، به وسیله تکنیک Exhaustive search(بررسی تمامی احتمالات یک رمز عبور)، دیگران می توانند به رمز عبور دسترسی پیدا نمایند. جداول رنگین کمانی، برای کلید های گرفته شده از رمز عبور طراحی شدند[۲].
نهایتا این موضوع که به خاطر سپردن یک فایل مزیتی نسبت به نگهداری آن فایل (در زمینه ممانعت از از دست دادن حساب)دارد نا مشخص باقی می ماند. فراموش کردن رمز عبور باعث از دست رفتن کل منابع مالی در آن حساب می شود.
کیف های پول “هاست شده”
آخرین رویکرد مدیریت کلید این است که آن ها را در یک وب سرویس شخص ثالث قرار داد. در این شرایط، سرویس مورد نظر کلید خصوصی را نگهداری می کند. کیف پول “هاست شده” به کاربر قابلیت های تراکنشی را بر اساس مکانیسم های استاندارد “تایید هویت وبی” ارائه می کند، مانند رمز عبور و یا تایید هویت دو مرحله ای، و همچنین احتمالا امکان بازیابی رمز عبور وجود دارد.
اپلیکیشن های بیت کوین مربوط به تلفن های هوشمند که از نظر کیف پول های هاست شده در نقش کلاینت عمل می کنند ، از ساده تر شدن و پیچیدگی کمتر اپلیکیشن ها بهره می برند (به طور مثال نیازی به انجام محاسبات رمزنگاری بر روی دستگاه نیست) و امکان تهیه رابط کاربری مناسب و شبیه به بانک ها مهیا است. در حال حاضر سرویس های تبادل ارز که به بیت کوین اجازه تبادل با ارز رایج مانند دلار را می دهند، این گونه سرویس ها را نیز به وسیله وب سرویس هایی که اختصاصا برای کیف پول های هاست شده تهیه شده اند ارائه می دهند.
این موضوع که این سرویس دهنده ها به دلیل حجم بالای بیت کوین خود، به هدفی برای انجام حملات خرابکارانه تبدیل می شوند کاملا طبیعی است. باید توجه کرد که محول نمودن وظیفه نگهداری کلید ها به سرویس شخص ثالث ریسک هک شدن سرویس و از دست رفتن منابع مالی را به همراه دارد که با سیستم بانکی سنتی که کاربران با آن آشنا هستند تفاوت دارد.
در راستای مقابله با سرقت، ارائه دهندگان این سرویس ها اکثرا تنها مقدار کمی از دارایی را به صورت آنلاین حفظ می کنند (با نام ذخیره سازی گرم و یا Hot Storage) و حجم زیادی از منابع به صورت ذخیره سازی سرد (Cold Storage) صورت می پذیرد. مشکل این روش این است که تراکنش هایی که بیشتر از حد ذخیره گرم باشند، با تاخیر انجام خواهند شد. این سرویس ها همچنین می توانند اجازه بازرسی را به وسیله ارائه مستندات بر پایه دانش رمزنگاری حاوی اطلاعاتی که نشان دهد دارایی آنها با بدهیشان مطابقت دارد، فراهم کنند.
رویکرد دیگری که در طبقه بندی کیف پول های هاست شده قرار میگیرد، کیف پول های هاست شده دو گانه است. این نوع کیف پول ها از رمزنگاری سمت کلاینت بهره می برند (معمولا به وسیله جاوا اسکریپت) تا همه کلید های خصوصی و اطلاعات حساس را رمز نگاری نمایند. وب سرویس تنها برای معرفی تراکنش به شبکه بیت کوین و نشان دادن موجودی کاربر مورد استفاده قرار می گیرد(که نیاز به بررسی کل زنجیره بلاک ها دارد).
[۱] . http://www.bitcointrezor.com
[۲] . D. Martyn. “کیف پول های ذهنی” و اینکه چرا آنها ایده خوبی نیستند، تحقیقات عدم امنیت ۲۶ مارس ۲۰۱۳
مقالات مرتبط:
مدیریت کلید بیت کوین (قسمت نخست)
مدیریت کلید بیت کوین (قسمت دوم)
مدیریت کلید بیت کوین (قسمت سوم)