Quali chiavi vengono trasferite ad Apple durante un backup iCloud?

9

L'implementazione della protezione dei dati iOS e l'implementazione dei backup di iTunes sono entrambi ragionevolmente ben documentati, ad un livello elevato di di Apple , e su un livello molto più dettagliato di terze parti .

Tuttavia, mi chiedo dei dettagli di implementazione dei backup di iCloud. Il documento di Apple menziona la questione molto brevemente in un paragrafo sulla keybag di backup di iCloud .

In base a tali informazioni e, a differenza di un backup locale di iTunes, i dati vengono letti dal dispositivo ancora crittografati (ad eccezione dei file con classe di protezione NSFileProtectionNone , per i quali la chiave di classe è sempre disponibile). D'altra parte, Apple è chiaramente in grado di decifrare un backup iCloud anche senza che l'utente abbia fornito le credenziali originali ID Apple o il telefono con cui è stato originariamente creato, passando quindi (o non riuscendo?) Il test di pozzanghere .

Questo sembra implicare che ad un certo punto nel processo di backup, le chiavi della classe effettiva vengano trasmesse ad Apple (altrimenti, non c'è modo per un backup di iCloud di funzionare mentre il dispositivo è bloccato - alcuni file sono protetti con una classe chiave che è disponibile solo finché lo schermo è sbloccato). (Per i backup locali, i file vengono decrittografati sul dispositivo, utilizzando le chiavi contenute nella keybag di escrow, non esponendo quindi chiavi a lungo termine al computer che esegue il backup.)

Anche se è già noto che Apple ha pieno accesso ai backup di iCloud archiviati sui loro server, ciò implicherebbe che abilitando il backup di iCloud anche una sola volta, alcune chiavi di crittografia che altrimenti non lascerebbero mai un dispositivo iOS verranno trasmesse e memorizzate iCloud.

Mi chiedo che cosa sarebbe in grado di fare un avversario una volta che avranno accesso a un backup di iCloud, usando alcuni software di terze parti per scaricare tutto su un computer:

Sembrerebbe che non solo siano in grado di esaminare il contenuto del backup stesso, ma anche di ottenere informazioni sufficienti per decodificare tutto nella NAND del dispositivo, se fossero in grado di acquisirlo fisicamente (oltre alle credenziali dell'ID Apple) ), poiché le chiavi di classe sono contenute nel file di backup scaricato.

Qualcuno può condividere alcune informazioni su come funziona effettivamente il processo di backup di iCloud e se lo scenario sopra è plausibile?

    
posta lxgr 08.08.2013 - 19:32
fonte

1 risposta

1

C'è una nuova guida alla sicurezza pubblicata da Apple rispetto a quella che hai citato che contiene un elenco di chiavi non migratorie, elementi portachiavi per i quali la classe è protetta. La parola privacy compare una volta nella guida del 2012. Ventuno altri riferimenti sono stati aggiunti nel 2016. Richieste di questo tipo sono comuni, specialmente quando gli utenti iOS hanno proprietà mediche, finanziarie, intellettuali e altre informazioni riservate.

Come hai dedotto, non è possibile deserializzare il portachiavi E fornire privacy dagli attaccanti interni di Apple a meno che non venga tenuto un segreto sul client e utilizzato per crittografare i dati prima di accedere al processo di backup. Non viene menzionato alcun meccanismo che permetta all'utente iOS di installare un certificato o impostare una password di backup a cui Apple non può accedere.

Se desideri avere una privacy estremamente sicura, hai bisogno della crittografia lato client a livello di interfaccia utente. Non è chiaro se un'app possa raggiungere l'App Store con tale dispositivo di privacy. Tale codice sarebbe probabilmente considerato una potenziale fonte di malware o virus da parte di Apple. (Vedi la sezione Impegno per la sicurezza della nuova guida.)

Sebbene sul tuo argomento siano presenti vari commenti, nessuno appartiene ai team di sviluppo o sicurezza di Apple, dal momento che le informazioni sul lato server sono sicuramente considerate riservate alle società Apple. L'API per le app lato client è black-box, la trasparenza dei servizi core è bassa e l'API Core Backup non è abbastanza granulare per fornire suggerimenti.

È possibile leggere ulteriori informazioni sulla classe NSFileProtectionNone e le classi correlate nella documentazione API, ma non viene fornito alcun diagramma o descrizione di sequenza. Non ero in grado di trovare una sequenza o un diagramma di azione con nessun dettaglio. Sappiamo solo che il trasferimento avviene tramite TLS .

Uno sniffer di pacchetti produrrebbe dettagli, ma il secondo paragrafo sopra sarebbe valido indipendentemente dai dettagli operativi.

risposta data 24.01.2017 - 18:53
fonte

Leggi altre domande sui tag