![](https://help.apple.com/assets/6537FB06A074DBB5E802EA07/6537FB31280588A5490B6E1D/de_DE/52d714626638d3391623c853be0c593b.png)
Datensicherheitsklassen
Einer Datei, die auf einem Gerät neu erstellt wird, das Datensicherheit unterstützt, wird von der App, die sie erzeugt, eine Klasse zugewiesen. Jede Klasse verwendet unterschiedliche Richtlinien, die bestimmen, wann auf die Daten zugegriffen werden kann. Die grundlegenden Klassen und Richtlinien werden im Folgenden beschrieben. Mac-Computer mit Apple Chips unterstützen die „Klasse D: Kein Schutz“ nicht und etablieren eine Sicherheitsgrenze für die An- und Abmeldung (nicht das Sperren und Entsperren wie auf iPhone- und iPad-Geräten).
Klasse | Datensicherheitstyp |
---|---|
Klasse A: Vollständiger Schutz | NSFileProtectionComplete |
Klasse B: Geschützt, außer wenn offen | NSFileProtectionCompleteUnlessOpen |
Klasse C: Geschützt bis zur ersten Benutzerauthentifizierung Hinweis: macOS verwendet einen Volumeschlüssel für die Neuerstellung von FileVault-Schutzcharakteristiken. | NSFileProtectionCompleteUntilFirstUserAuthentication |
Klasse D: Kein Schutz Hinweis: Nicht von macOS unterstützt. | NSFileProtectionNone |
Vollständiger Schutz
NSFileProtectionComplete: Der Klassenschlüssel wird mit einem Schlüssel geschützt, der aus dem Code oder Passwort des Benutzers und der UID des Geräts abgeleitet wird. Kurz nachdem ein Benutzer ein Gerät sperrt (10 Sekunden, wenn die Einstellung „Passwort erforderlich“ auf „Sofort“ festgelegt ist), wird der entschlüsselte Klassenschlüssel verworfen, damit auf alle Daten in dieser Klasse erst wieder zugegriffen werden kann, wenn der Benutzer erneut den Code eingibt oder das Gerät per Face ID oder Touch ID entsperrt (bzw. sich anmeldet).
In macOS wird der entschlüsselte Klassenschlüssel, kurz nachdem der letzte Benutzer abgemeldet wird, verworfen, sodass auf alle Daten in dieser Klasse erst wieder zugegriffen werden kann, wenn ein Benutzer erneut den Code eingibt oder sich per Touch ID am Gerät anmeldet.
Geschützt, außer wenn offen
NSFileProtectionCompleteUnlessOpen: Es ist möglich, dass Dateien geschrieben werden müssen, solange das Gerät gesperrt oder der Benutzer abgemeldet ist. Ein gutes Beispiel sind E-Mail-Anhänge, die im Hintergrund geladen werden. Dieses Verhalten wird durch die Verschlüsselung mittels asymmetrischer elliptischer Kurven (ECDH über Curve25519) erreicht. Der übliche pro Datei erzeugte Schlüssel wird durch einen Schlüssel geschützt, der gemäß NIST SP 800-56A per One-Pass-Diffie-Hellman-Schlüsselvereinbarung hergeleitet wird.
Der temporäre öffentliche Schlüssel für die Vereinbarung wird zusammen mit dem verpackten, pro Datei erzeugten Schlüssel gespeichert. Hierfür wird die KDF (Concatenation Key Derivation Function, anerkannte Alternative 1) verwendet, wie unter 5.8.1 der NIST SP 800-56A beschrieben. Die Algorithmus-ID wird weggelassen. Als temporäre bzw. statisch öffentliche Schlüssel werden PartyUInfo und PartyVInfo verwendet. Als Hash-Funktion wird SHA-256 verwendet. Sobald die Datei geschlossen wird, wird der pro Datei erzeugte Schlüssel aus dem Speicher gelöscht. Damit die Datei erneut geöffnet werden kann, wird das Shared Secret mit dem privaten Schlüssel der Klasse „Geschützt, außer wenn offen“ und dem temporären öffentlichen Schlüssel der Datei neu erstellt. Diese werden verwendet, um den pro Datei erzeugten Schlüssel zu entpacken, mit dem wiederum die Datei entschlüsselt wird.
In macOS ist der private Teil des Klassenschlüssels „NSFileProtectionCompleteUnlessOpen“ zugänglich, solange ein beliebiger Benutzer am System angemeldet oder authentifiziert ist.
Geschützt bis zur ersten Benutzerauthentifizierung
NSFileProtectionCompleteUntilFirstUserAuthentication: Diese Klasse verhält sich wie die Klasse „Vollständiger Schutz“, allerdings mit dem Unterschied, dass der entschlüsselte Klassenschlüssel nicht aus dem Speicher entfernt wird, wenn das Gerät gesperrt oder der Benutzer abgemeldet ist. Der Schutz in dieser Klasse ist mit der vollständigen Festplattenverschlüsselung auf Desktopcomputern vergleichbar. Daten werden so vor Angriffen geschützt, die einen Neustart beinhalten. Dies ist die Standardklasse für Daten aus Apps von Drittanbietern, denen keine andere Datensicherheitsklasse zugewiesen wird.
In macOS verwendet diese Klasse einen Volumeschlüssel, der sich wie FileVault verhält und verfügbar ist, solange das Volume aktiviert ist.
Kein Schutz
NSFileProtectionNone: Dieser Klassenschlüssel wird nur mit der UID geschützt und im Effaceable Storage gespeichert. Da alle Schlüssel zum Entschlüsseln von Dateien dieser Klasse auf dem Gerät gespeichert werden, bietet diese Verschlüsselung nur den Vorteil einer schnellen Fernlöschung. Wenn einer Datei keine Datensicherheitsklasse zugewiesen wird, wird sie dennoch in verschlüsselter Form gespeichert (wie dies mit allen Daten auf einem iOS- oder iPadOS-Gerät geschieht).
Dies wird in macOS nicht unterstützt.
Hinweis: Bei macOS-Volumes, die nicht mit einem gestarteten Betriebssystem korrespondieren, sind alle Datensicherheitsklassen zugänglich, solange das Volume aktiviert ist. Die standardmäßige Datensicherheitsklasse ist NSFileProtectionCompleteUntilFirstUserAuthentication. Die Funktionalität für pro Länge erzeugte Schlüssel ist sowohl für Rosetta 2-Apps als auch für native Apps verfügbar.