HeadlinesBriefing favicon HeadlinesBriefing.com

Secure EnclaveがmacOS Tahoeでのキーチェーンコピーをブロック

Hacker News •
×

最近、macOSのログインキーチェーンに関する問題に遭遇しました。ログインキーチェーンは各ユーザーアカウントに対して自動的に作成され、そのパスワードはログインパスワードと一致します。暗号化されたデータベースファイルとして保存され、ユーザーがログインすると自動的にロック解除されます。macOS Tahoe以降、ログインキーチェーンはlogin.keychain-dbという名前のSQLiteデータベースファイルであり、`/Users/username_goes_here/Library/Keychains`に保存されています。従来は、ログインキーチェーンファイルをあるMacから別のMacにコピーし、パスワードを入力することでコピー先のMacで開くことができました。macOS Tahoe以降、Secure Enclaveを使用するMacではこれが機能しません。そのようなMacでは、パスワードを持っているだけではもはや十分ではありません。AppleのPlatform Securityドキュメントによると、キーチェーン項目は2つのAES-256-GCMキー(メタデータキーと行ごとの秘密キー)を使用して暗号化されます。メタデータキーはSecure Enclaveによって保護されていますが、Application Processorにキャッシュされます。秘密キーは常にSecure Enclaveを経由する往復が必要です。したがって、ログインキーチェーンのロック解除にはパスワード以上のものが必要です。なぜなら、キーはキーチェーンが作成されたMacのSecure Enclaveに紐付けられているからです。私はこれを、Apple Silicon MacからmacOS VM(Secure Enclaveを欠く)にlogin.keychain-dbファイルをコピーしてテストしました。VMのlogin.keychain-dbを置き換えて再起動した後、ログインしたときにコピーしたものをロック解除するのではなく、新しいログインキーチェーンファイルが自動的に作成されました。