1PasswordがパスワードベースのPBKDF2(キー派生関数2)を使用して、マスターパスワードを繰り返し推測するのを困難にしている仕組みを説明します。
1Passwordのマスターパスワードのセキュリティ面に不安を感じ、データが保護されている方法を学びたい方は必見です。
公式価格より割安な1Password 3年版はこちら!
PBKDF2について
マスターパスワードは、1Passwordデータを安全に保護しています。第三者があなたの1Passwordデータを手に入れたとしても、マスターパスワードだけが1Passwordデータを解読できるようになっています。
パスワードベースのPBKDF2(キー派生関数2)は、ブルートフォース攻撃(総当たり攻撃)で繰り返し推測することにより、ハッカーがマスターパスワードを推測することを困難にしてくれます。1Passwordは、マスターパスワードからシークレットキーを取得するプロセスによってPBKDF2を使用しています。PBKDF2では、マスターパスワードからキーを取得するまでに、大量の計算を必要とさせるものです。マスターパスワードを自動的に推測しようとするハッカーに、同じ計算を実行させます。
PBKDF2は、ハッカーが持つパスワードクラッキングツールがグラフィックスプロセッシングユニット(GPU)を最適に使用することを防ぎ、1秒あたり数十万回から数万回の推測をしたとしても未だ推測が足りないなくらいに、推測率を低下させてくれます。
画像出典
1PasswordがPBKDF2を使用する方法
1PasswordによってPBKDF2は常に使用されています。しかし、
- 1Passwordアカウントを使用するか
- スタンドアロン保管庫を使用するか
によって用いられ方は異なります。
1Passwordアカウント
1Passwordアカウントは、シークレットキーを引き出すのにPBKDF2-HMAC-SHA256を使用しています。すべての1Passwordアカウントは100,000回もの反復を使用して作成されます。
ただし、マスターパスワードは自分のデバイス上にのみあるシークレットキーと組み合わされるため、ハッカーによるパスワードクラッキングの試みは事実上不可能となります。あなたの端末から、暗号化された1Passwordデータを盗み出そうとするハッカーからデータを保護するためには、複雑で推測困難なマスターパスワードが必要です。適切なマスターパスワードを選択する方法について、詳細は以下の記事をご覧ください。
OPVault
1Passwordの保管庫には、
- 「Agile Keychain」と
- 「OPVault」
の2種類の形式が存在します。旧形式のAgile Keychainは以前、脆弱性があると指摘されてしまいました。具体的にいうと、メタデータが暗号化されておらず、名前や住所など一部の情報が平文で閲覧可能なのです。最新版の1PasswordはOPVaultを使用しています。
OPVaultは、シークレットキーを引き出すのにPBKDF2-HMAC-SHA512を使用します。反復回数はPCやスマホの処理能力に依存しており、保管庫の作成時またはマスターパスワードの変更時に調整されます。反復数は最小でも10,000回以上は必要といわれていますが、1Passwordそれよりもはるかに多い100000回を反復してくれます。
OPVault Designの派生プロセスの詳細をご覧ください。
Agile Keychain
廃止されたAgile Keychain形式では、キーの派生にPBKDF2-HMAC-SHA1を使用していました。反復回数は、保管庫の作成に使用された1Passwordのバージョンと、作成されたPCやスマホの処理能力によって異なります。
公式価格より割安な1Password 3年版はこちら!
1PasswordのPBKDF2の歴史
1Passwordに導入されたPBKDF2の歴史を紹介します。
- 1Passwordは、2007年秋にPBKDF2-HMAC-SHA1でAgile Keychain形式を導入しました。
- 1Password for Mac 2.5.0(2007年10月)– 3.8.10:PBKDF2で1,000回反復で作成されるシークレットキーの導入。
- 1Password for Windows 1.0.0.36(2010年4月)– 1.0.9.296:PBKDF2で1,000回反復で作成されるシークレットキーの導入。
- 1Password for Mac 3.9(2011年9月):Mac App Storeの1Password for Macのすべてのバージョンは、初期セットアップ時およびマスターパスワード変更時のPBKDF2反復回数を調整。最低10,000回の反復が使用されるようになりました。
- 1Password for Mac 3.8.11(2011年12月)– 3.8.20:PBKDF2で10,000回反復で作成されるシークレットキーの導入。この時点ではマスターパスワードを変更しても、繰り返しは同一でした。
- 1Password for Windows 1.0.9.299(2012年10月)– 1Password 1.0.9.327:PBKDF2で10,000回反復で作成されるシークレットキーの導入。この時点でも、マスターパスワードを変更しても、反復回数は増加しませんでした。
- 13.8 for Mac 3.8.21(2013年4月):PBKDF2で10,000回反復で作成されるシークレットキーの導入。この時点ではマスターパスワードの変更時に、必要に応じて反復が1,000から10,000に増加するようになりました。
- Mac 4用の1Password(2013年10月)は、状況によってはAgile Keychain形式のデータを作成します。OPVaultとAgile Keychain形式の両方について、初期セットアップ時およびマスターパスワード変更時にPBKDF2の反復回数を調整。最低10,000回の反復が使用されるようになりました。
- 1Password for Mac 4.2(2014年3月):PBKDF2で最小25,000回、最大100,000回の反復で作成されるシークレットキーの導入。マスターパスワードを変更すると、反復が再調整されるようになりました。
- Mac 5の1Password(2014年10月):PBKDF2で最小40,000回、最大100,000回の反復で作成されるシークレットキーの導入。マスターパスワードの変更時に、反復が再調整されるようになりました。
- 14.1 for Windows 4.1(2014年11月)PBKDF2で40,000回の反復で作成されるシークレットキーの導入。
- 1Passwordアカウント(2016年2月)すべてのアカウントは、PBKDF2で100,000回の反復を使用してシークレットキーが作成されるようになりました。
- 1Password for Windows 6(2016年9月)すべてのアカウントは、PBKDF2で100,000回の反復を使用してシークレットキーが作成されるようになりました。
このようなことで困っていませんか?
PBKDF2の反復回数と使用している端末の能力によっては、一部のシステムで保管庫のロックを解除するときに、わずかではありますが遅延が発生してしまう場合があります。
もっと詳しく知りたい
マスターパスワードは、
- 固有で
- ランダムで
- 覚えやすい
ものであることを確認する必要があります。
以下の記事を参考に、1Passwordパスワードジェネレーターを使用することで上記の条件を満たすマスターパスワードを簡単に作成することが可能です。
公式価格より割安な1Password 3年版はこちら!
コメント