背景
クライアントシステムに接続したいことがあったとして、システムに入るための認証情報をサーバに持ちたくない。
内容
アジャイルビット → 1Password 運営会社
アカウント作成時に下記が作られる
- Master Password
- Secret Key
データを復号するには、(データはすべて暗号化されて管理される)
- Master Password
- Secret Key
- 暗号化されたデータのコピー の3つが必要
鍵は、Master Password と Secret Key を使って生成される これは、2SKD (two-secret key derivation) と呼ばれる
この仕組みで、Secret Key と暗号化されたデータのコピーが盗まれてもMaster Password がわからないので防御になる → Secret Key は他のデバイスでセットアップしたときに配信できるよう、サーバに持っている
Master Password はユーザの頭の中にしかないもの(アジャイルビットも知らない。どこにも保存されていない)
パスワード推測システムがマスターパスワードを複雑にするように対策している
ただ、更に復号化を強固にするために Secret Key を鍵の導出に含めている。
Secret Key を暗号化する鍵は、Master Password だけでなく、秘密鍵からも導かれる
Secret Key は初回登録時にクライアントのコンピュータで生成される。 これは、1Password デバイスの中に保存される
アジャイルビットは、あなたやあなたのチームのデータを解読する能力はないし、パスワードを回復したりリセットする能力はない。 そのため、Master Key と Secret Key は紙に書いて物理的に保存しておく。