プライベートメッセージサービスでアカウントを作成するとき、通常はパスワードを選びます。ここまでは普通です。普通でないのは、その裏側で起きていることです。
ほとんどのサービスでは、パスワードがすべての鍵です。なくせばアクセスを失い、盗まれればすべてを失います。あなたのアイデンティティ、メッセージ、ファイル。すべては、ある火曜日の午後にキーボードで入力した一つのものに依存しています。
24の単語は違う仕組みで動きます。あなたが選ぶパスワードではありません。システムがランダムに生成する鍵で、256ビットの真のエントロピーを持ちます。想像してみてください:この鍵をブルートフォースで破るには、太陽がその全生涯で生み出すエネルギーよりも多くのエネルギーが必要です。これは比喩ではありません。数学的な計算です。
二つの扉に二つの鍵
パスワードはサービスに接続する鍵です。玄関の鍵です。忘れてしまったら、24の単語で裏口から入れます。パスワードが盗まれても、他に何も変わることなく即座に変更できます。
24の単語は別のものです。マスターキーの表現です。暗号学的アイデンティティが導出される鍵であり、データを保護し、連絡先に対してあなたを識別するものです。24の単語とパスワードの両方を失ったら、データは回復不可能です。Bitcoinと同じです。そしてそれは、厳しく聞こえるかもしれませんが、安全なシステムに求めるものそのものです。
なぜなら、代替手段は誰かがあなたの代わりにデータを回復できることだからです。そして誰かがあなたのデータを回復できるなら、そのデータにアクセスもできるのです。
紙が大切
24の単語を紙に書き留めてください。本物の紙、昔ながらの紙です。安全な場所に保管してください。スマートフォンではなく、デジタルメモではなく、自分宛のメールでもなく。引き出しの中の紙、金庫の中、あるいは大切なものを保管する場所に。
古臭く見えるかもしれません。でも紙はリモートでハッキングできず、インターネットで傍受できず、バッテリーも不要です。時には最も古い技術が最も安全なのです。
さらに深く知りたい方へ
24の単語はBitcoinウォレットで使われるBIP39規格に準拠しています。OSのCSPRNG(crypto.getRandomValues)が生成した256ビットのエントロピーを表します。この256ビットからアイデンティティ鍵が導出されます(署名用Ed25519 + 鍵交換用X25519)。導出にはドメイン分離付きHKDF-SHA256を使用します。パスワードはArgon2id + AES-256-GCMでこの鍵をラップしてからサーバーに送信します。サーバーは暗号化されたblobを保存しますが、読むことはできません。