هنگامی که در یک سرویس پیامرسان خصوصی حساب کاربری ایجاد میکنید، معمولاً یک رمز عبور انتخاب میکنید. تا اینجا همه چیز عادی است. آنچه چندان عادی نیست، اتفاقی است که در زیر پوست ماجرا میافتد.
در اکثر سرویسها، رمز عبور شما کلید همه چیز است. اگر آن را گم کنید، دسترسی را از دست میدهید. اگر از شما دزدیده شود، همه چیز را از دست میدهید. هویت شما، پیامهای شما، فایلهای شما. همه چیز به یک چیز بستگی دارد که یک بعد از ظهر سهشنبه با کیبورد نوشتید.
۲۴ کلمه به گونه دیگری عمل میکنند. آنها رمز عبوری نیستند که شما انتخاب کنید. آنها کلیدی هستند که سیستم به طور تصادفی و با ۲۵۶ بیت آنتروپی واقعی تولید میکند. برای اینکه ایدهای داشته باشید: شکستن آن کلید با حمله brute force به انرژی بیشتری نیاز دارد تا انرژی که خورشید در طول کل عمرش تولید خواهد کرد. این یک استعاره نیست. یک محاسبه ریاضی است.
دو کلید برای دو در
رمز عبور شما، شما را به سرویس متصل میکند. کلید درِ ورودی است. اگر آن را فراموش کنید، میتوانید با ۲۴ کلمه خود از درِ پشتی وارد شوید. اگر رمز عبور شما دزدیده شود، میتوانید آن را در یک لحظه تغییر دهید بدون اینکه هیچ چیز دیگری تغییر کند.
۲۴ کلمه شما چیز دیگری هستند. آنها نشاندهنده کلید اصلی شما هستند. کلیدی که هویت رمزنگاری شما از آن مشتق میشود، کلیدی که از دادههای شما محافظت میکند، کلیدی که شما را نزد مخاطبینتان شناسایی میکند. اگر ۲۴ کلمه و همچنین رمز عبور را گم کنید، دادههای شما غیر قابل بازیابی هستند. مانند Bitcoin. و این، هرچند سخت به نظر برسد، دقیقاً همان چیزی است که از یک سیستم امن میخواهید.
چون جایگزین این است که کسی بتواند دادههای شما را برایتان بازیابی کند. و اگر کسی بتواند دادههای شما را بازیابی کند، میتواند به آنها دسترسی هم داشته باشد.
کاغذ اهمیت دارد
۲۴ کلمه خود را روی یک کاغذ یادداشت کنید. یک کاغذ واقعی، از همان همیشگیها. آن را در یک جای امن نگه دارید. نه در تلفنتان، نه در یک یادداشت دیجیتال، نه در یک ایمیل به خودتان. یک کاغذ در یک کشو، در یک گاوصندوق، یا هر جایی که چیزهای مهم را نگه میدارید.
ممکن است قدیمی به نظر برسد. اما یک کاغذ را نمیتوان از راه دور هک کرد، نمیتوان در اینترنت رهگیری کرد و نیازی به باتری ندارد. گاهی اوقات قدیمیترین فناوری امنترین است.
برای کسانی که میخواهند عمیقتر شوند
۲۴ کلمه از استاندارد BIP39 استفاده میکنند که توسط کیف پولهای Bitcoin استفاده میشود. آنها نشاندهنده ۲۵۶ بیت آنتروپی تولید شده توسط CSPRNG سیستم عامل (crypto.getRandomValues) هستند. از آن ۲۵۶ بیت، کلید هویت مشتق میشود (Ed25519 برای امضا + X25519 برای تبادل) از طریق HKDF-SHA256 با تفکیک دامنه (domain separation). رمز عبور این کلید را با Argon2id + AES-256-GCM قبل از ارسال به سرور میپیچد (wrap میکند). سرور بلاب رمزگذاری شده را ذخیره میکند اما نمیتواند آن را بخواند.