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