2013-04-24 5 views
6

di Apple dice quanto segue:Cosa succede quando chiudi un file usando la crittografia iOS "Protetto senza aprire"? Documentazione

Protetta A meno aperta. I file sono criptati. Un file chiuso non è accessibile quando il dispositivo è bloccato. Dopo che il dispositivo è sbloccato, l'app può essere aperta e utilizzare il file. Se l'utente ha un file aperto e blocca il dispositivo (ad esempio, premendo il pulsante di sospensione), l'app può continuare ad accedere al file.

Enabling Store Technologies

E anche:

completa se non già aperto. Il file è crittografato. Un file chiuso è inaccessibile mentre il dispositivo è bloccato. Dopo che l'utente ha sbloccato il dispositivo , la tua app può aprire il file e usarlo. Se l'utente blocca il dispositivo mentre il file è aperto, l'app può continuare ad accedere a . Specificare NSDataWritingFileProtectionCompleteUnlessopzione Apri (NSData) o l'attributo NSFileProtectionCompleteUnlessOpen (NSFileManager).

Protecting Data Using On-Disk Encryption

Questo mi sembra una grande opzione per avermi permesso di finire qualsiasi lavoro rimanente sul file e quindi chiuderlo io. Ciò che la documentazione non dice è cosa succede al file quando lo chiudo. Per esempio cosa succede quando:

  1. utente apre app e apre il file in app
  2. dispositivo serrature utenti (file rimane non protetto perché è aperto)
  3. App esegue operazioni rimanente nel file
  4. App chiude la file

Ora il file è protetto poiché è ora chiuso? O può essere riaperto?

risposta

3

Utilizza le chiavi pubbliche per garantire che il file non possa essere aperto finché il dispositivo non viene sbloccato.

protetta a meno aperta
(NSFileProtectionCompleteUnlessOpen): può avere bisogno di essere scritto, mentre il dispositivo è bloccato Alcuni file. Un buon esempio di questo è un download di allegato in background sullo . Questo comportamento si ottiene utilizzando la crittografia ellittica asimmetrica crittografia (ECDH su curva25519). Insieme alla solita chiave per file , Data Protection genera una coppia di chiavi di file pubblica/privata. Un segreto condiviso viene calcolato utilizzando la chiave privata del file e la chiave pubblica della classe Protected Unless Open, la cui chiave privata corrispondente è protetta con il passcode dell'utente e l'UID del dispositivo.La chiave per file è racchiusa con l'hash di questo segreto condiviso e memorizzato nei metadati del file insieme alla chiave pubblica del file; la chiave privata corrispondente della viene quindi cancellata dalla memoria. Non appena il file viene chiuso, anche la chiave per file viene cancellata dalla memoria. Per aprire nuovamente il file , il segreto condiviso viene ricreato utilizzando la chiave privata Protetta Se non è aperta la chiave pubblica del file; il suo hash viene utilizzato per scartare la chiave per-file, che viene quindi utilizzata per decodificare il file .

da http://images.apple.com/iphone/business/docs/iOS_Security_Oct12.pdf (pagina 10)

+3

Wow, questo è una spiegazione complicata;) La citazione dice: "Non appena il file viene chiuso, la chiave per file viene anche cancellato dalla memoria". Ciò significa che dopo che il file è stato chiuso, è protetto e non può essere riaperto fino a quando il dispositivo non viene sbloccato? –

+0

@RichardVenable corretto – cobbal

Problemi correlati