暗号化方式、守れる範囲、安全な移行

コード上の暗号化方式

新しく作る金庫では、マスターパスフレーズとランダムな16バイトのソルトをPBKDF2-SHA-256(600,000回)へ入力し、256ビットの鍵素材を導出します。復元したバックアップは、ファイル内の反復回数が100,000〜10,000,000回の検証範囲にある場合、その値を維持して解除します。そこからHKDF-SHA-256の用途別情報で検証用と暗号化用を分離し、各項目を新しい12バイトIVのAES-GCM 256で暗号化します。平文と暗号鍵はロック解除中のメモリだけに置き、IndexedDBには暗号文、IV、ソルト、反復回数などを保存します。

サーバーへ送らない範囲と脅威モデル

金庫データを同期するサーバーやアカウント機能はなく、入力内容を外部へ送信する処理はありません。ただし、Webアプリの配信元や端末、ブラウザ、依存コードが侵害された場合、ロック解除中の平文を盗まれる可能性は残ります。第三者セキュリティ監査済みではなく、絶対的な安全性は保証しません。重要度の高い認証情報には、実績ある専用パスワードマネージャーも検討してください。

暗号化バックアップで安全に移行する

  1. 旧端末で暗号化JSONを書き出し、安全な場所へ保管します。
  2. 新しいブラウザでは新規金庫を作る前に「暗号化JSONから復元」を選びます。
  3. 復元が現在の金庫を完全に置き換えることを確認します。統合はできません。
  4. バックアップ作成時の元のマスターパスフレーズで解除し、項目を確認します。
  5. 確認が終わるまで旧端末とバックアップを削除しないでください。

パスフレーズを忘れた場合、運営者にも復元できません。

きんこを使う →