アカウント名:
パスワード:
1Passwordはデータを・ユーザーが決めたパスワード・シークレットキー(アカウントセットアップ時に生成される128ビットの乱数列)を繋げたキーで暗号化している。サーバー側には暗号化されたデータしか保持していないし、シークレットキーはサーバー側に送信されない(はず)。常にクライアント側で復号するようになってる。アプリやWebサイトが改竄されて両方セットで盗まれたらどうしようもないが、システムに侵入されただけで一発アウトということにはならない。パスワードからクレカ番号に至るまで全部預けるにはこれぐらいやってほしい。
シークレットキーがサーバー側に送信されないなら、ローカルのデータを削除したり失ったら、パスワード覚えていてもパスワードを復元できなくならない?
ユーザーがシークレットキーの存在を認識していて、バックアップ取っていれば別だけど。複数クライアントがある場合、どうやってシークレットキーを同期させるのか、という問題もあるし。
> ローカルのデータを削除したり失ったら、パスワード覚えていてもパスワードを復元できなくならない?その通りです。アカウントセットアップ時にシークレットキーが提示されて、必ずこれをメモするか印刷するかしておけ、と言われます。(任意のタイミングで別の値にリセットすることは可能)このシークレットキーはアプリの初回起動時に入力すると永続的に記憶されるようになっているので普段ユーザーが使うのはマスターパスワードだけですが、もちろんデバイス間で同期はされないので複数デバイスで利用する際は個別に入力しなければなりません。
なるほど。確かに、これなら問題ない。
1passwordで全く新しいデバイスのログインに必要な情報は以下の3つ。・メールアドレス・シークレットキー(306E5514-BC07-A381-5140-C4A0EF392983 の様な、充分に長いランダムな文字列の組み合わせ)・ユーザーが入力するパスワード(ユーザーが決める事ができる文字列。短くても問題ない)
で、新しいPCで最初にログインする時は3つ全部必要。それ以降は(同じPC、ブラウザなら)ユーザーが入力するパスワードだけでログインできる。本質的なパスワードはシークレットキーとユーザーが入力するパスワードを組み合わせた文字列って事なんだろうな。これならユーザーが入力するパスワードが短くてもシークレットキーで一定数の長さ ランダムさが確約される。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
1Passwordの方が筋がいい気がする (スコア:1)
1Passwordはデータを
・ユーザーが決めたパスワード
・シークレットキー(アカウントセットアップ時に生成される128ビットの乱数列)
を繋げたキーで暗号化している。
サーバー側には暗号化されたデータしか保持していないし、シークレットキーはサーバー側に送信されない(はず)。
常にクライアント側で復号するようになってる。
アプリやWebサイトが改竄されて両方セットで盗まれたらどうしようもないが、システムに侵入されただけで一発アウトということにはならない。
パスワードからクレカ番号に至るまで全部預けるにはこれぐらいやってほしい。
Re:1Passwordの方が筋がいい気がする (スコア:1)
シークレットキーがサーバー側に送信されないなら、ローカルのデータを削除したり失ったら、パスワード覚えていてもパスワードを復元できなくならない?
ユーザーがシークレットキーの存在を認識していて、バックアップ取っていれば別だけど。
複数クライアントがある場合、どうやってシークレットキーを同期させるのか、という問題もあるし。
Re:1Passwordの方が筋がいい気がする (スコア:2, 参考になる)
> ローカルのデータを削除したり失ったら、パスワード覚えていてもパスワードを復元できなくならない?
その通りです。
アカウントセットアップ時にシークレットキーが提示されて、必ずこれをメモするか印刷するかしておけ、と言われます。
(任意のタイミングで別の値にリセットすることは可能)
このシークレットキーはアプリの初回起動時に入力すると永続的に記憶されるようになっているので
普段ユーザーが使うのはマスターパスワードだけですが、
もちろんデバイス間で同期はされないので複数デバイスで利用する際は個別に入力しなければなりません。
Re: (スコア:0)
なるほど。
確かに、これなら問題ない。
Re: (スコア:0)
1passwordで全く新しいデバイスのログインに必要な情報は以下の3つ。
・メールアドレス
・シークレットキー(306E5514-BC07-A381-5140-C4A0EF392983 の様な、充分に長いランダムな文字列の組み合わせ)
・ユーザーが入力するパスワード(ユーザーが決める事ができる文字列。短くても問題ない)
で、新しいPCで最初にログインする時は3つ全部必要。
それ以降は(同じPC、ブラウザなら)ユーザーが入力するパスワードだけでログインできる。
本質的なパスワードはシークレットキーとユーザーが入力するパスワードを組み合わせた文字列って事なんだろうな。
これならユーザーが入力するパスワードが短くてもシークレットキーで一定数の長さ ランダムさが確約される。