2013-04-24 1 views
6

Apples Dokumentation sagt der folgende:Was passiert, wenn Sie eine Datei mit der Verschlüsselung "Protected Open" von iOS schließen?

Sofern Öffnen geschützt. Dateien sind verschlüsselt. Auf eine geschlossene Datei kann nicht zugegriffen werden, wenn das Gerät gesperrt ist. Nachdem das Gerät entsperrt wurde, kann Ihre App die Datei öffnen und verwenden, indem Sie öffnen. Wenn der Benutzer eine Datei geöffnet hat und das Gerät sperrt (z. B. durch Drücken der Standby-Taste), kann Ihre App weiterhin auf die Datei zugreifen.

Enabling Store Technologies

Und auch:

vollständig, wenn bereits geöffnet. Die Datei ist verschlüsselt. Eine geschlossene Datei ist nicht zugänglich, während das Gerät gesperrt ist. Nachdem der Benutzer das Gerät entsperrt hat, kann Ihre App die Datei öffnen und verwenden. Wenn der Benutzer das -Gerät sperrt, während die Datei geöffnet ist, kann Ihre App weiterhin auf zugreifen. Geben Sie die NSDataWritingFileProtectionCompleteUnlessOpen-Option (NSData) oder das NSFileProtectionCompleteUnlessOpen-Attribut (NSFileManager) an.

Protecting Data Using On-Disk Encryption

Dieses wie eine gute Option scheint dafür, dass ich alle verbleibenden Arbeiten an der Datei zu beenden und es dann selbst zu schließen. Was die Dokumentation nicht sagt ist, was mit der Datei passiert, wenn ich sie schließe. Zum Beispiel, was passiert, wenn:

  1. Benutzer App öffnen und öffnen Datei in App
  2. Benutzersperren Gerät (Datei bleibt ungeschützt, weil es offen ist)
  3. App führen Operationen auf Datei
  4. App schließt die verbleibende Datei

Jetzt ist die Datei geschützt, da sie jetzt geschlossen ist? Oder kann es wieder geöffnet werden?

Antwort

3

Es verwendet öffentliche Schlüssel, um sicherzustellen, dass die Datei nicht geöffnet werden kann, bis das Gerät entsperrt ist.

Es sei denn, öffnen
Geschützte (NSFileProtectionCompleteUnlessOpen): Einige Dateien geschrieben werden müssen, während das Gerät gesperrt ist. Ein gutes Beispiel ist ein Mail-Anhang im Hintergrund herunterladen. Dieses Verhalten wird durch Verwendung der asymmetrischen elliptischen Kurve Kryptographie (ECDH über Curve25519) erreicht. Zusammen mit dem üblichen Schlüssel pro Datei generiert Data Protection ein öffentliches/privates Schlüsselpaar für Dateien. Ein gemeinsamer geheimer Schlüssel wird unter Verwendung des privaten Schlüssels der Datei und des öffentlichen Schlüssels Protected Outong Open der Klasse , der durch den Benutzercode und die Geräte-UID geschützt ist, berechnet.Der Schlüssel pro Datei wird mit dem Hash dieses gemeinsamen geheimen Schlüssels umschlossen und zusammen mit dem öffentlichen Schlüssel der Datei in den Metadaten der Datei gespeichert. Der entsprechende private Schlüssel wird dann aus dem Speicher gelöscht. Sobald die Datei geschlossen ist, wird der pro-Datei-Schlüssel ebenfalls aus dem Speicher gelöscht. Zum erneuten Öffnen der Datei wird das gemeinsam genutzte Geheimnis unter Verwendung des geschützten privaten Schlüssels Protected Exhibit Open und des ephemeren öffentlichen Schlüssels der Datei erneut erstellt. sein Hash wird verwendet, um den pro-Datei-Schlüssel zu entpacken, der dann verwendet wird, um die Datei zu entschlüsseln .

von http://images.apple.com/iphone/business/docs/iOS_Security_Oct12.pdf (Seite 10)

+3

Wow, eine komplizierte Erklärung das ist;) Das Zitat sagt: „Sobald die Datei geschlossen wird, der pro-Dateischlüssel auch aus dem Gedächtnis gewischt wird“. Das bedeutet also, dass die Datei nach dem Schließen der Datei geschützt ist und nicht wieder geöffnet werden kann, bis das Gerät entsperrt ist. –

+0

@RichardVenable korrekt – cobbal

Verwandte Themen