ارائه توسط
Featured

انداختن تاس، کلیدهای بیت‌کوین را آفلاین نگه می‌دارد، اما همه زحمتش را به خود نمی‌دهند

یک تاس استاندارد شش‌وجهی با هر بار ریختن، حدود ۲٫۶ بیت اطلاعات غیرقابل‌پیش‌بینی تولید می‌کند. شاید این مقدار زیاد به نظر نرسد، اما اگر به اندازه کافی تکرار شود، همین تاس‌ریزی‌ها می‌توانند «تصادفیّت خام» لازم برای ایمن‌سازی یک کیف پول بیت‌کوین را بدون اتکا به نرم‌افزار یا یک قطعه الکترونیکی فراهم کنند.

نویسنده
اشتراک
انداختن تاس، کلیدهای بیت‌کوین را آفلاین نگه می‌دارد، اما همه زحمتش را به خود نمی‌دهند

نکات کلیدی

  • هر بار ریختنِ یک تاس شش‌وجهیِ منصفانه، طبق فرمول کلود شانون، حدود ۲٫۵۸۵ بیت آنتروپی فراهم می‌کند.
  • مستندات Coinkite گفته بود که ۵۰ بار تاس‌ریزی استاندارد ۱۲۸ بیت را برای سیدِ کیف پول بیت‌کوین برآورده می‌کند.
  • تحلیل Wizard Sardine توسط کوین لوئک درباره ابزارهای Coldcard فراتر از سید اصلی، ریسک را علامت‌گذاری کرد.

چرا پیش‌بینی نتیجه تاس‌ریزی این‌قدر دشوار است

کلود شانون، ریاضی‌دانی که نظریه اطلاعات را بنیان گذاشت، از آنتروپی برای سنجش میزان نامطمئن بودن یک نتیجه استفاده کرد. با یک تاس شش‌وجهیِ منصفانه، هر وجه شانس یک‌به‌ششِ یکسانی برای ظاهر شدن دارد. این یعنی هر بار تاس‌ریزی تقریباً ۲٫۵۸۵ بیت آنتروپی دارد. پرتاب سکه ۱ بیت تولید می‌کند، در حالی که یک تاس هشت‌وجهی ۳ بیت تولید می‌کند.

Image of different colored dice

حواشی اخیر Coldcard تولید سید مبتنی بر تاس را در شبکه‌های اجتماعی پررنگ کرده است. برخی کاربران اکنون آن را ضروری می‌دانند، برخی دیگر می‌گویند سرمایه‌شان را محافظت کرده، در حالی که اپراتورهای باتجربه یادآوری می‌کنند که بیشتر تازه‌واردها یک فرایند راه‌اندازی کند و خطاپذیر را تحمل نخواهند کرد.

بخش مهم این نیست که یک تاس در سطح اتمی به‌صورت تصادفی رفتار می‌کند. این‌طور نیست. نتیجه توسط فیزیک تعیین می‌شود، اما هم‌زمان متغیرهای ریزِ بسیار زیادی تغییر می‌کنند و همین باعث می‌شود هیچ‌کس نتواند خروجی را به‌طور قابل اتکا محاسبه کند. تاس با سرعت، زاویه، ارتفاع و چرخش مشخصی دست را ترک می‌کند، سپس به میز برخورد می‌کند و با هر جهش، مسیرش تغییر می‌کند.

در عمل، حتی یک تغییر بسیار کوچک در رها کردن تاس می‌تواند نتیجه‌ای کاملاً متفاوت تولید کند. یک جای‌گیری اندکی متفاوتِ انگشت یا یک پرتاب کسری‌کوچک سخت‌تر، مسیر را آن‌قدر تغییر می‌دهد که عدد نهایی با مشاهده حرکت قابل پیش‌بینی نباشد. شاید نتیجه در تئوری جبری/قطعی باشد، اما برای تولید کیف پول، چیزی که اهمیت دارد این است که مهاجم نتواند آن را بازتولید یا محاسبه کند.

تبدیل تاس‌ریزی‌ها به داده قابل استفاده

یک رایانه نمی‌تواند فهرستی از نتایج تاس را مستقیم استفاده کند. ابتدا باید تاس‌ریزی‌ها به داده دودویی تبدیل شوند، و روش تبدیل اهمیت دارد.

یک روش سادهِ فرد-یا-زوج فهمیدنش آسان است، اما بخش بزرگی از آنتروپی موجود را هدر می‌دهد. هر بار تاس‌ریزی به یک بیت تقلیل پیدا می‌کند، با اینکه تاس حدود ۲٫۶ بیت اطلاعات تولید کرده بود. روش‌های کارآمدتر یک دنباله طولانی از تاس‌ریزی‌ها را جمع می‌کنند و کل رشته را پردازش می‌کنند، معمولاً از طریق یک تابع هشِ رمزنگاری. این کار بخش بسیار بیشتری از تصادفیّت را حفظ می‌کند.

همین اصل در Diceware هم دیده می‌شود؛ روشی قدیمی برای ساخت گذرواژه‌های عبارتی امن، و همچنین در تولید دستی کیف پول بیت‌کوین. یک عبارت بازیابی ۱۲ کلمه‌ای معمولاً از ۱۲۸ بیت آنتروپی ساخته می‌شود. با حدود ۲٫۶ بیت به ازای هر تاس‌ریزی، تقریباً ۵۰ بار تاس‌ریزی منصفانه اطلاعات خام کافی برای عبور از آن آستانه فراهم می‌کند.

Coinkite، سازنده کیف پول سخت‌افزاری Coldcard، برای کاربرانی که به‌دنبال نزدیک شدن به ۲۵۶ بیت آنتروپی هستند، ۹۹ بار یا بیشتر تاس‌ریزی را توصیه می‌کند. این کار استفاده از کیف پول را دو برابر دشوار نمی‌کند، اما به راز تولیدشده یک حاشیه امنیتیِ ریاضی بسیار بزرگ‌تر می‌دهد.

آزمایش واقعی سیدهای تولیدشده با تاس

این تمایز بعد از آن مهم شد که Coinkite یک مشکل فریمور را افشا کرد که ریشه‌اش به سال ۲۰۲۱ برمی‌گشت. روی برخی دستگاه‌های Coldcard، نرم‌افزار می‌توانست از مولد داخلیِ اعداد تصادفیِ سخت‌افزاری عبور کند و به‌جای آن از فرایندی ضعیف‌تر که به اطلاعات غیرمحرمانه دستگاه متصل بود استفاده کند.

از آن‌جا که بخش‌هایی از آن فرایند قابل بازسازی بود، مهاجمان می‌توانستند کلیدهای احتمالیِ کیف پول را محدود کنند، به‌جای اینکه کل فضای کلید را جست‌وجو کنند. این نقص تا ساعت ۱ بعدازظهر به وقت شرق آمریکا با سرقت تخمینی ۱,۱۲۸٫۶۶۳۳ BTC از حدود ۱۱۰۰ آدرس مرتبط دانسته شد.

X screenshot
منبع تصویر: X

سیدهای کیف پولی که کاملاً از تعداد کافی تاس‌ریزی‌های مستقل ساخته شده بودند، از همان مسیر در معرض خطر قرار نگرفتند. آن کاربران آنتروپیِ خودشان را فراهم کرده بودند، بنابراین مولد سخت‌افزاریِ معیوب مسئول ساخت راز اصلی کیف پول نبود.

با این حال، آن محافظت فقط درباره سید تولیدشده از تاس صدق می‌کرد. به‌طور خودکار از هر راز دیگری که توسط دستگاه تولید می‌شد محافظت نمی‌کرد.

Wizard Sardine ریزه‌کاری‌ها را بررسی می‌کند

پژوهشگر امنیتی، کوین لوئک، ارزیابی‌ای از اکسپلویت Coldcard منتشر کرد در وب‌سایت Wizard Sardine در تاریخ ۱ اوت. مهم‌ترین مشاهده او درباره قابلیت‌های Coldcard بود که جدا از سید اصلی کیف پول، رازهای خودشان را تولید می‌کردند.

«به‌نظرم بسیار مهم است تأکید کنم که حتی کاربرانی که سید را با تاس وارد یا تولید کرده‌اند هم آسیب‌پذیرند، اگر از قابلیت‌های زیر استفاده کنند،» لوئک در X نوشت و سپس نموداری از سیستمِ تحت تأثیر ارائه کرد.

این نمودار نشان می‌دهد مولد اعداد تصادفیِ معیوب به چندین کارکرد ثانویه Coldcard خوراک می‌دهد. این‌ها شامل ساخت کیف پول کاغذی، کلون‌کردن دستگاه، رمزنگاری نشست USB، قابلیت انتقال Secret Teleport، ایجاد کلید هم‌امضاکننده، مولد گذرواژه داخلی و کدهای احراز هویتِ ماژول امنیت سخت‌افزاری بودند.

X screenshot
منبع تصویر: پست X از طریق پژوهشگر امنیتی کوین لوئک.

یک کیف پول اصلی که با ۹۹ بار تاس‌ریزی ساخته شده بود، در بخش جداگانه‌ای از سیستم باقی می‌مانْد. مشکل این بود که ابزارهای دیگر همچنان می‌توانستند تصادفیّت تازه‌ای از مولد معیوب درخواست کنند. در نتیجه، یک سید امن تضمین نمی‌کرد که هر گذرواژه، پشتیبان، کد احراز هویت یا کلید ثانویه‌ای که روی همان دستگاه ساخته می‌شود نیز به همان اندازه امن باشد.

چرا بیشتر کاربران جدید تاس نمی‌ریزند

آنتروپیِ تولیدشده با تاس از نظر فنی معتبر است اگر درست انجام شود، اما به‌عنوان پیش‌فرض برای بیشتر کاربران تازه‌وارد واقع‌بینانه نیست. ۵۰ یا ۹۹ بار تاس‌ریزی، وارد کردن دقیق تک‌تک نتایج، و اطمینان از اینکه هیچ تاسی جا نیفتاده یا تکراری ثبت نشده، صبر و تمرکز زیادی می‌خواهد. یک عددِ اشتباه‌تایپ‌شده می‌تواند کیف پول نهایی را کاملاً تغییر دهد، و بیشتر دستگاه‌ها نمی‌توانند تشخیص دهند خطا از یک تاس‌ریزی بد بوده، از اشتباه ورود داده، یا از بدفهمی دستورالعمل‌ها.

X screenshot
منبع تصویر: X

این فرایند همچنین ریسک‌هایی را وارد می‌کند که با یک مولد سخت‌افزاریِ درست‌کار وجود ندارد. کاربران ممکن است تاس‌ریزی‌ها را روی کاغذ بنویسند، از آن عکس بگیرند، آن را در یک ابزار آنلاین وارد کنند، یا فهرست را جایی بگذارند که شخص دیگری پیدا کند. برخی افراد تاس را به شکل تکراری یا کنترل‌شده می‌ریزند، از تاس سنگین/تقلبی یا آسیب‌دیده استفاده می‌کنند، یا چون فرایند زیاده از حد به نظر می‌رسد، زودتر متوقف می‌شوند. ریاضیات ممکن است قوی باشد، اما نتیجه فقط به اندازه رویه کاربر امن است.

X screenshot
منبع تصویر: X

به همین دلیل است که تاس‌ریزی همیشه برای بسیاری از افراد بهترین روش محسوب نمی‌شود، حتی در میان کاربران باتجربه بیت‌کوین. این کار اعتماد به یک دستگاه را با اعتماد به یک فرایند دستی جایگزین می‌کند. برای کاربرِ از نظر فنی دقیق که آنتروپی را می‌فهمد، روش را راستی‌آزمایی می‌کند و دنباله تاس‌ریزی را خصوصی نگه می‌دارد، این معاوضه می‌تواند منطقی باشد. اما برای یک خریدار معمولی که برای اولین بار یک کیف پول راه‌اندازی می‌کند، چندین فرصت برای یک اشتباه دائمی اضافه می‌کند، در حالی که هم‌زمان فرایندی آزاردهنده هم هست.

X screenshot
منبع تصویر: X

همچنین دشوار است تصور کنیم پذیرش گسترده بیت‌کوین وابسته به این باشد که مردم پشت یک میز بنشینند و ۹۹ نتیجه تاس را ثبت کنند تا بتوانند پول دریافت کنند و این کار را هم به‌صورت امن انجام دهند. شیوه‌های امنیتی باید در خانه‌های واقعی، برنامه‌های شلوغ، حواس‌پرتی‌ها، و کاربرانی که نمی‌خواهند رمزنگاری بخوانند دوام بیاورند. آنتروپی دستی باید به‌عنوان یک گزینه پیشرفته در دسترس بماند، اما هدف بلندمدت، سخت‌افزار و نرم‌افزاری است که تصادفیّت قوی را درست تولید کند، آنچه رخ می‌دهد را شفاف توضیح دهد و تا حد ممکن به دانش تخصصی کمی نیاز داشته باشد.

مالکان Coldcard چه چیزهایی را باید بررسی کنند

مالکان دستگاه‌های Coldcardِ تحت تأثیر، ابتدا باید نسخه فریمور نصب‌شده روی دستگاه را بررسی کنند. سپس باید بازبینی کنند هنگام اجرای فریمورهای قدیمی از کدام قابلیت‌ها استفاده کرده‌اند، نه اینکه فقط روی نحوه تولید سید اصلی کیف پول تمرکز کنند.

هر کسی که از دستگاهِ تحت تأثیر برای تولید کیف پول کاغذی، رازِ کلون‌سازی، گذرواژه، کلیدِ هم‌امضاکننده، یا کد احراز هویت استفاده کرده، ممکن است لازم باشد فوراً آن موارد را جایگزین کند. نصب به‌روزرسانی مانع از آن می‌شود که همان مشکل روی رازهای جدید اثر بگذارد، اما هیچ چیزی را که پیش‌تر ساخته شده ترمیم نمی‌کند.

این رخداد همچنین برای راه‌اندازی‌های کیف پولِ چندفروشنده، پشتوانه عملی قوی‌تری ایجاد می‌کند. در یک چینش چندامضایی، می‌توان الزام کرد دستگاه‌های سخت‌افزاری جداگانه از سازندگان مختلف یک تراکنش را تأیید کنند. این ساختار باعث نمی‌شود باگ‌های فریمور ناممکن شوند، اما می‌تواند مانع شود که یک مولد اعداد تصادفیِ معیوب به‌تنهایی کل کیف پول را در معرض افشا قرار دهد.

این مقاله با استفاده از هوش مصنوعی از انگلیسی ترجمه شده است. نسخه اصلی انگلیسی منبع معتبر است؛ ترجمه‌های خودکار ممکن است حاوی نادرستی‌هایی باشند، به‌ویژه در اصطلاحات حقوقی و قانونی.

برچسب‌ها در این داستان