Lastpassは、サーバー上で暗号化されたパスワードデータベースを格納します。それは尋ねる人にデータベースを与えますか?いいえの場合、どの認証(つまりパスワード)が使用されますか?同じマスターパスワードを持つ複数のデバイスでLastpassを使用していますが、他のパスワードを設定していません。人のパスワードデータベースが取得されているときに、マスターパスワードを使用してLastpassサーバーへの認証を行うと、ばかげたことになります。
ほとんどのサーバーが暗号化された形式で何かを保存するとき、彼らはそれを復号する方法を知っているという意味で、Lastpassに特別な何かがあります。裁判所命令はそうするように彼らに強いることができますか?
サーバー上のデータに使用されているのと同じ復号化キーが、Lastpassでローカルに使用されていますか?
はい、サーバー上のデータにはローカルデータと同じ復号化キーが使用されます。 Yubikey を使用している場合は、 ローカルパスワードデータベースも公開識別子で暗号化する を設定できます。
それは尋ねる人にデータベースを与えますか?
誰もいない。 LastPassは法律を遵守するため、関連する法執行機関が適切な承認を得てデータを要求すると、LastPassは暗号化されたデータを提供します。
いいえの場合、どの認証(つまりパスワード)が使用されますか?
パスワードがLastPass自体に送信されることはありません。 Security Nowポッドキャスト によると:
ログインするとき、システムにLastPassのユーザー名とパスワードを与えるとき、最初に行うことは、これを実行することですSHA-電子メールアドレスを小文字にし、空白を削除し、パスワード、それからこのハッシュを行い、256ビットのblobに変換します
( 必須の消耗リンク )
これは、LastPassに送信される前にパスワードデータベースを暗号化し、LastPassサーバーから取得したときにパスワードデータベースを復号化するために使用される対称鍵です。
したがって、使用されるキーがシステムを離れることはありません。
認証について:
彼らはそのキー、暗号化キーを受け取り、それにパスワードを追加します。つまり、パスワードを暗号化キーに連結し、ハッシュします。したがって、彼らはあなたの暗号鍵にあなたのパスワードを使ってもう一方向の機能を実行します。しかし、彼らは別のブロブを取得します
つまり、この2番目のblob、ハッシュからの2番目の出力、つまり一意のIDです。つまり、これを取得する唯一の方法は、ユーザー名とパスワードを取得してハッシュし、それにパスワードを追加して再度ハッシュすることです。したがって、これらの情報の両方に完全に依存しています。したがって、ユーザー名とLastPassがユーザーを識別します。また、パスワードが2回ハッシュされているため、あなたのパスワードを知らない人は、たとえあなたの電子メールアドレスを持っているとしても、そのblobを作成することはできません。したがって、そのblobを取得するには、メールアドレスとパスワードをこのハッシュで2回実行する必要があります。
ただし、暗号鍵は最初の副産物の一種です。これは最初のハッシュからの出力であり、2番目のハッシュに入りますが、パスワードと混合されているため、ハッシュプロセスで失われます。したがって、LastPassの人々はあなたの暗号鍵を取得することはありません。彼らはあなたに彼らを識別するためにあなたが彼らの施設に安全にログオンすることができるように彼らを識別する別のユニークなトークンを取得します。そして、これらの人たちは非常に偏執的で、サーバーにそれを保存することさえしません。 2番目のハッシュプロセスからの出力である特別なログオンBLOBも保存されません。
代わりに、あなたがあなたのアカウントを作成するときに彼らは思いつき、彼らは本社で乱数発生器を使用して彼らがあなたのアカウントで保存するユニークな256ビットのトークンを作成します。そして、あなたがログインしているときはいつでも、彼らはあなたがそれらを送信しているこの256のブロブを受け取り、それはこれらの2つのハッシュプロセスの結果です。彼らはそれをこの一意の256k乱数に追加し、ハッシュします。そして、それは彼らがあなたのアカウントに保存されているものと比較するものです。つまり、そのログオントークンを保存することはありません。ログオントークンのハッシュ結果を、作成した一意の256ビット値で保存します。そのため、同じかどうかを動的に確認しますが、ログオントークンを保存することはありません。彼らはただ-彼らはそれを望んでいません。彼らはそれを必要としません。そのため、認証が必要なときはいつでも動的チェックを実行できますが、静的チェックは行いません。
したがって、ポッドキャストを要約すると、暗号化キーは次のようになります。
DK = sha256("[email protected]" + password)
(LastPass PBKDF2を使用する状態 SHA-256を超えていることに注意してください)。
効果的な認証パスキーは次のとおりです。
key = sha256(DK + password)
そして、これを256ビットのソルト(「乱数」)を含むソルトハッシュ形式でのみシステムに保存します。
stored_value = sha256(key + salt)
(もう一度sha256であると仮定します。 この答え は、これが100,000ラウンドのHMAC-SHA256上のPBKDF2であると述べています。)
彼らはそれを解読する方法を知っています。裁判所命令はそうするように彼らに強いることができますか?
彼らはDKを持っていないため、データを復号化できません。ただし、多くの国には 鍵開示法 があり、LastPassパスワードの引き渡しを強いられる可能性があることに注意してください。
Lastpassは、ブラウザーでおそらくJavaScriptを使用して、ローカルでのみデータを暗号化および復号化します。マスターパスワードは、Lastpassサーバーには送信されません。まあ、それは今までありませんし、今まで彼らがこれをしないと信じています。
暗号化されたデータベースをサーバーに送信します。別のコンピューターにログインするときは、メールアドレスとパスワードを入力します。次に、Lastpassがデータベースをダウンロードします。ローカルで復号化され、そこに移動します。
今、私があなたに言えないことが一つあります。誰かがあなたのメールアドレスと間違ったパスワードを入力すると、データベースはそのコンピュータにダウンロードされますか?パスワードがLastpassにアップロードされていないため、データベースがローカルで復号化されるまで、ユーザーが本人でないことを確実に知ることはできません。私の推測では、彼らはあなたのメールアドレスとパスワードに基づいて何らかの(暗号化された)ハッシュをサーバーに送信し、妥当な時間内にパスワードを抽出できないようにしています。
電子メールアドレスを入力するだけでデータベースをダウンロードできる場合は、ローカルのブルートフォース攻撃の可能性があります。