2013-02-28 15 views
8

Per la mia app iOS 6 + solo, desidero abilitare la crittografia su disco offerta da iOS.Abilita crittografia su disco iOS

Ho letto this guide e ho visto il video "Protezione dei dati dell'utente" del WWDC 2012 (Sessione 714). Tuttavia, non ho potuto farlo funzionare.

Questi sono i passi che ho seguito:

1- Nel iOS Dev Center, ho creato un nuovo App ID con:

Enable for Data Protection

2- In Xcode, ho aggiunto un File di diritti con la chiave:

Xcode Entitlements

3- Sul dispositivo, ho attivato un blocco con codice.

Se non sbaglio, questo dovrebbe essere tutto. Ora mi aspetto che mentre il dispositivo (nel mio caso: un iPhone 5) è bloccato, i file protetti non sono accessibili. Ma ... se uso iExplorer, posso accedere facilmente ai file creati dalla mia app, anche quando il dispositivo è bloccato. Ma questo è esattamente quello che voglio evitare. Ho dimenticato qualcosa?

risposta

4

Il motivo per cui è possibile accedere ai file senza sbloccare il dispositivo è che è stata creata una keybag di escrow. Questo è spiegato in iOS Security Guide (pdf) di Apple:

impegno keybag viene utilizzato per la sincronizzazione di iTunes e Mobile Device Management (MDM). Questo keybag consente a iTunes di eseguire il backup e la sincronizzazione senza richiedere all'utente di immettere un passcode e consente a un server MDM di cancellare in remoto il passcode di un utente. Viene memorizzato sul computer utilizzato per la sincronizzazione con iTunes o sul server MDM che gestisce il dispositivo.

Il keybag Escrow migliora l'esperienza dell'utente durante la sincronizzazione del dispositivo, che potenzialmente richiede l'accesso a tutte le classi di dati. Quando un dispositivo con codice di accesso protetto viene prima collegato ad iTunes, all'utente viene richiesto di inserire un codice di accesso. Il dispositivo crea quindi una keybag per l'impegno e la passa all'host. La keybag Escrow contiene esattamente le stesse chiavi di classe utilizzate sul dispositivo, protette da una nuova chiave generata. Questa chiave è necessaria per sbloccare la keybag Escrow e viene memorizzata sul dispositivo nella classe Protected Until First User Authentication. Per questo motivo è necessario inserire il passcode del dispositivo prima di eseguire il backup con iTunes per la prima volta dopo il riavvio.

Se si riavvia il telefono, non sarà possibile accedere ai file senza sbloccarlo una volta.

+1

Sembra che il collegamento sopra riportato non funzioni correttamente. Il collegamento aggiornato è https://www.apple.com/business/docs/iOS_Security_Guide.pdf –

0

Se si desidera che i file siano disponibili solo quando il dispositivo è sbloccato (+ circa 10 secondi del periodo di prova), impostare la protezione del file su NSFileProtectionComplete. Assicurati di implementare metodi delegati per sapere quando i dati diventeranno [un] disponibili.