HeadlinesBriefing favicon HeadlinesBriefing.com

Secure Enclave blockiert Keychain-Kopie in macOS Tahoe

Hacker News •
×

Ich bin kürzlich auf ein Problem mit dem Anmelde-Schlüsselbund unter macOS gestoßen. Der Anmelde-Schlüsselbund wird automatisch für jedes Benutzerkonto erstellt, und sein Passwort stimmt mit dem Anmeldepasswort überein. Er wird als verschlüsselte Datenbankdatei gespeichert und automatisch entsperrt, wenn sich der Benutzer anmeldet.

Ab macOS Tahoe ist der Anmelde-Schlüsselbund eine SQLite-Datenbankdatei namens login.keychain-db, die in `/Users/username_goes_here/Library/Keychains` gespeichert ist. Historisch konnte man die Anmelde-Schlüsselbunddatei von einem Mac auf einen anderen kopieren und sie auf dem Ziel-Mac öffnen, indem man das Passwort eingab. Ab macOS Tahoe funktioniert dies nicht für Macs, die Secure Enclave verwenden.

Für diese Macs reicht das alleinige Vorhandensein des Passworts nicht mehr aus. Laut Apples Platform Security-Dokumentation werden Schlüsselbund-Elemente mit zwei AES-256-GCM-Schlüsseln verschlüsselt: einem Metadatenschlüssel und einem geheimen Schlüssel pro Zeile. Der Metadatenschlüssel wird durch die Secure Enclave geschützt, aber im Application Processor zwischengespeichert.

Der geheime Schlüssel erfordert immer einen Roundtrip durch die Secure Enclave. Daher erfordert das Entsperren des Anmelde-Schlüsselbunds mehr als das Passwort, da die Schlüssel an die Secure Enclave des Macs gebunden sind, auf dem der Schlüsselbund erstellt wurde. Ich habe dies getestet, indem ich eine login.keychain-db-Datei von einem Apple Silicon Mac auf eine macOS-VM (die keine Secure Enclave besitzt) kopiert habe.

Nach dem Ersetzen der login.keychain-db der VM und einem Neustart wurde bei meiner Anmeldung automatisch eine neue Anmelde-Schlüsselbunddatei erstellt, anstatt die kopierte zu entsperren.