
Verwaltete Gerätebeglaubigung für Apple-Geräte
Die verwaltete Gerätebeglaubigung ist in iOS 16, iPadOS 16, macOS 14, tvOS 16, visionOS 1.1, watchOS 9 oder neueren Versionen verfügbar. Sie verwendet die Secure Enclave, um eine kryptografische Gewissheit über die Geräteidentität und deren Sicherheitsstatus bereitzustellen. iPad-, iPhone- und Apple TV-Geräte benötigen einen A11 Bionic-Chip (oder neuer). Außerdem werden nur Mac-Computer mit Apple Chips unterstützt. Die verwaltete Gerätebeglaubigung hilft dabei, vor folgenden Gefahren zu schützen:
Ein kompromittiertes Gerät macht falsche Angaben über seine Eigenschaften
Ein kompromittiertes Gerät stellt eine abgelaufene Beglaubigung bereit
Ein kompromittiertes Gerät sendet die Kennung eines anderen Geräts
Extrahieren des privaten Schlüssels zur Verwendung auf einem bösartigen Gerät
Angreifende fangen eine Zertifikatsanfrage ab, um die Zertifizierungsstelle (CA) dazu zu bringen, ihnen ein Zertifikat auszustellen
Im Rahmen der verwalteten Gerätebeglaubigung kann ein Gerät eine Beglaubigung von einem Apple-Beglaubigungsserver anfragen, der ein Daten-Array mit einem Leaf- und einem Zwischenzertifikat zurück gibt, die von der Apple Enterprise Attestation Root CA stammen. Je nach Gerätetyp kann das Leaf-Zertifikat bestimmte Eigenschaften enthalten, die in der folgenden Tabelle aufgeführt sind.
OID und Wert | Mindestens erforderliche Betriebssystemversionen | Beschreibung | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 Seriennummer | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Steht für die Seriennummer des Geräts und kann für die Geräteidentifizierung verwendet werden. Zum Schutz der Privatsphäre von Benutzer:innen ist dieser Wert nicht enthalten, wenn die verwaltete Gerätebeglaubigung mit der Benutzerregistrierung verwendet wird. | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Steht für die individuelle Hardwarekennung und kann für die Geräteidentifizierung verwendet werden. Auf einem Mac stimmt die UDID mit der bereitgestellten Geräte-UDID überein. Zum Schutz der Privatsphäre von Benutzer:innen ist dieser Wert nicht enthalten, wenn die verwaltete Gerätebeglaubigung mit der Benutzerregistrierung verwendet wird. | |||||||||
1.2.840.113635.100.8.10.2 sepOS-Version | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Steht für die Version der Secure Enclave-Firmware. | |||||||||
1.2.840.113635.100.8.11.1 Freshness-Code | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Ein individueller und nicht vorhersehbarer Code, der eine bestimmte Beglaubigung identifiziert. Dies weist darauf hin, dass die Beglaubigung nach Erstellung des Codes generiert wurde. | |||||||||
1.2.840.113635.100.8.13.1 SIP-Status | macOS 14 | Steht für den SIP-Aktivierungsstatus auf einem Mac mit Apple Chips. | |||||||||
1.2.840.113635.100.8.13.2 Status des sicheren Startvorgangs | macOS 14 | Steht für die ausgewählte Konfiguration für den sicheren Startvorgang auf einem Mac mit Apple Chips. | |||||||||
1.2.840.113635.100.8.13.3 Kernel-Erweiterungen von Drittanbietern erlaubt | macOS 14 | Steht dafür, ob Kernel-Erweiterungen von Drittanbietern auf einem Mac mit Apple Chips erlaubt sind oder nicht. | |||||||||
1.2.840.113635.100.8.10.3 LLB-Version | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Steht für die Version des Low-Level-Bootloaders. | |||||||||
1.2.840.113635.100.8.10.1 Betriebssystemversion | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Steht für die Betriebssystem- und iBoot-Version. | |||||||||
1.2.840.113635.100.8.9.4 Geräte-ID für Softwareupdate | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Beglaubigt die | |||||||||
Eine Anfrage für die Beglaubigung wird entweder von einer DeviceInformation-Anfrage vom Gerätemanagementdienst stammend oder durch die Installation einer ACME-Konfiguration initiiert. In beiden Fällen erhält das Gerät entweder vom Gerätemanagementdienst oder von der ACME-Lösung einen Freshness-Code. Bei Verwendung der DeviceInformation-Beglaubigung ist der Freshness-Code der Wert der in der Anfrage spezifizierten DeviceAttestationNonce. Bei Verwendung der ACME-Attestierung ist der Freshness-Code der SHA-256-Hash des Tokens aus der device-attest-01-Challenge. Der daraus entstehende Wert ist als Eigenschaft im Leaf-Zertifikat enthalten und erlaubt dem Gerätemanagementdienst oder der ACME-Lösung die Verifikation, dass die Beglaubigung mit der Anfrage übereinstimmt.
Vor dem Empfang der Beglaubigung muss ein Backend-Dienst sorgfältige Validierungsprüfungen durchführen. Im Rahmen der Überprüfungen wird sichergestellt, dass das Leaf-Zertifikat von der Apple Enterprise Attestation Root CA ausgestellt wurde. Dabei wird der Hash des Freshness-Codes mit dem erwarteten Wert verglichen und darüber hinaus werden auch andere Eigenschaften in der Beglaubigung überprüft.
Abhängig vom Implementierungsmodell der Organisation kann die verwaltete Gerätebeglaubigung eine wichtige Grundlage einer modernen und sicheren Implementierung sein und auf verschiedene Weise verwendet werden:
Mit einem ACME-ausgestellten Zertifikat die Verbindung zwischen Client und Gerätemanagementdienst authentifizieren und die
DeviceInformation-Beglaubigung fortlaufend zum Verifizieren der Eigenschaften des Gerätes verwenden.Die Identität des Geräts und dessen Sicherheitslage verifizieren sowie die ACME-Lösung eine Überprüfung der Vertrauenswürdigkeit durchführen lassen, bevor ein Zertifikat ausgegeben wird. Auf diese Weise ist sichergestellt, dass nur Geräte ein Zertifikat erhalten, die die erforderlichen Standards erfüllen.
Geräteeigenschaften von einer Beglaubigung in einem ACME-Zertifikat einbetten und die Überprüfung der Vertrauenswürdigkeit der teilnehmenden Parteien durchführen.
An Hardware gebundene Schlüssel
Als Bestandteil einer Zertifikatausstellung mithilfe des ACME-Protokolls kann ein Gerät aufgefordert werden, eine Beglaubigung bereitzustellen. Dabei wird auch das zugehörige Schlüsselpaar von der Secure Enclave geschützt, damit es von dem starken Hardwareschutz profitiert und der private Schlüssel nicht exportiert werden kann.
Zum Erstellen eines hardwaregebundenen Schlüssels muss die ACME-Konfiguration den ECSECPrimeRandom-Algorithmus mit einer Schlüsselgröße von 256 oder 384 Bit verwenden. Dadurch wird ein Schlüsselpaar auf der P-256- oder P-384-Kurve gemäß NIST SP 800-186 spezifiziert.
Um einen privaten Schlüssel zu generieren, verwendet die Secure Enclave erst Folgendes, um ein verpacktes, kryptografisches Geheimnis zu erstellen:
Eine Kombination des True Random Number Generator (TRNG) der Hardware
Im sicheren, nicht flüchtigen Speicher der Secure Enclave gespeicherte Entropie
Ein Datensicherheitsschlüssel
Das Betriebssystem speichert das verpackte Secret jedoch. Das verpackte Secret selbst hat keinen Nutzen. Um den privaten Schlüssel zu erlangen, muss die Secure Enclave dasselbe Secret, dieselbe gespeicherte Entropie und denselben Datensicherheitsschlüssel verwenden. Da die gespeicherte Entropie und der Datensicherheitsschlüssel einzigartig für dieses bestimmte Secure Enclave sind, ist nur die Secure Enclave imstande, den privaten Schlüssel zu generieren, welcher effektiv den hardwaregebundenen Schlüssel an diese Secure Enclave bindet.
Wenn das Gerät gelöscht wird, wird die gespeicherte Entropie von der Secure Enclave unkenntlich gemacht. Daher können hardwaregebundene Schlüssel nach einem Backup und einer Wiederherstellung nicht erneut generiert werden – auch nicht bei einer Wiederherstellung auf demselben Gerät.
Alle Konfigurationen, die eine ACME-Payload mit einem hardwaregebundenen Schlüssel enthalten, werden bei der Wiederherstellung entfernt. Wenn ein hardwaregebundener Schlüssel als Gerätemanagementdienst-Client-Identität verwendet wird, wird das Gerät deregistriert. In diesem Szenario ruft das Gerät, wenn es über die automatische Geräteregistrierung registriert wurde, sein Registrierungsprofil erneut ab und registriert sich erneut.