回答:
A)マシンにアクセスできる場合、およびB)マシンのユーザーログインパスワードを入力する場合にのみ、プレーンテキストでパスワードが表示されることを知っています。
Bは、キーチェーンアクセスには当てはまりますが、一般的なセキュリティシステムには当てはまりません。ログイン時のデフォルトのように、ログインキーチェーンのロックが解除されている場合はsecurity
、パスワードを入力せずにログインキーチェーン内のすべてのパスワードを表示できます。
security dump-keychain -d ~/Library/Keychains/login.keychain
security find-internet-password -s accounts.google.com -w
許可ボタンを押すだけで、パスワードはプレーンテキストで表示されます。実際、Keychain AccessとSafariがパスワードを表示しようとするときにキーチェーンのパスワードを入力する必要があるのは奇妙です(そして誤解を招く)。
シングルユーザーモードまたはリカバリパーティションからログインパスワードをリセットするには、少なくとも3つの方法があります。ただし、ログインキーチェーンのパスワードはリセットされません。ログインパスワードをリセットした後にログインしようとすると、ログインキーチェーンにパスワードが表示されなかったり、Safariで自動入力を使用したり、Mailに自動的にログインしたりできません。ただし、たとえば、Apple IDにGmailアドレスを使用し、GmailのWebインターフェイスで自動ログインを有効にし、Apple IDに2段階認証を使用しない場合、攻撃者はGmailアカウントを使用してAppleをリセットできますIDパスワード。「ユーザーとグループ」環境設定パネルの「ユーザーがApple IDを使用してパスワードをリセットできるようにする」オプションが有効になっている場合、攻撃者はApple IDを使用してログインキーチェーンのパスワードをリセットできます。
ログインパスワードのハッシュは、/var/db/dslocal/nodes/Default/users/username.plist
10.7および10.8に保存されます。ログインパスワード(通常はログインキーチェーンのパスワードでもある)が非常に単純な場合、ハッシュはDaveGrohlを使用して実用的な時間内に解読できます。
$ sudo dave -u $USER
-- Loaded PBKDF2 (Salted SHA512) hash...
-- Starting attack
-- Found password : 'y8d'
-- (incremental attack)
Finished in 879.274 seconds / 31,385 guesses...
35 guesses per second.
10.7は、より弱いキー派生関数を使用していたため、比較的複雑なパスワードでも簡単に解読できました。10.8はPBKDF2に切り替え、クラッキングツールをコアあたり1秒あたり約10推測に制限します。
自動ログインを有効にしている場合、ログインキーチェーンのパスワードは、10.8の時点で解読しやすい形式で/ etc / kcpasswordに保存されます。
誰かにアカウントの使用を許可しsecurity
、パスワードは表示しない場合は、Keychain Accessまたはからログインキーチェーンをロックできますsecurity lock-keychain
。
コンピューターから離れているときは、たとえば、[セキュリティ]設定ペインで[スリープまたはスクリーンセーバーの開始後すぐにパスワードを要求する]をオンにし、control-shift-ejectを押してディスプレイをオフにすることでロックできます。
キーチェーンアクセスからログインキーチェーンのロックを自動的に有効にすることもできます。
コンピューターに物理的にアクセスできるユーザーがシングルユーザーモードで起動するのを防ぐ(およびログインパスワードをリセットする、またはログインパスワードのハッシュを表示する)場合は、FileVault 2を有効にします。
security
、キーチェーンシステムが一般的にどのように機能するのに。
パスワードのプレーンテキスト表現を取得することを可能にするあらゆる種類のデータストアは脆弱です。リバーシブルである場合、それはブルートフォースリバーシブルでもあることを意味します。
とはいえ、Apple KeychainはトリプルDESを使用しますが、これは総当たり攻撃される可能性は低いです。パスワードとSecure Notesのみが暗号化されることに注意してください。