Protezione dati iOS: chi decodifica i file trasferiti tramite USB?

4

Sto cercando di capire un dettaglio di implementazione della protezione dei dati di Apple in iOS: conosco la crittografia per file e le varie classi di chiavi e keybags; tuttavia, non capisco come funzioni per il trasferimento di file tramite USB (ad esempio per i backup di iTunes).

Quando si esegue il backup dei dati su iTunes tramite USB, il dispositivo iOS decodifica il file internamente o viene inviato in forma crittografata e iTunes esegue la decrittografia (utilizzando le varie chiavi di classe contenute nell'Emprow Keybag)?

La precedente possibilità sembra più plausibile, poiché nelle versioni più recenti di iOS, l'Escrow Keybag è presumibilmente crittografato con una chiave conosciuta solo dal dispositivo iOS, quindi sospetto che la procedura assomigli a questa:

  1. L'host si autentica sul dispositivo iOS con la sua chiave host
  2. L'host trasferisce l'Escrow Keybag crittografato sul dispositivo iOS
  3. Il dispositivo iOS decrittografa l'Escrow Keybag, ottenendo così l'accesso alle chiavi di classe di tutte le classi di sicurezza senza che l'utente debba sbloccare il dispositivo
  4. iTunes richiede alcuni file per scopi di backup, scrive altri per sincronizzare la musica, ecc. e tutte le operazioni di crittografia e decifrazione avvengono sul dispositivo iOS, utilizzando le chiavi fornite dall'Escrow Keybag.

Qualcuno può confermarlo o indicare dove mi sbaglio?

    
posta lxgr 07.08.2013 - 14:32
fonte

2 risposte

1

Una vecchia domanda, ma proverò a rispondere.

L'OP è per lo più corretto. Il processo è come questo:

  • iTunes si connette al dispositivo, passa il record di escrow (che è stato stabilito al momento dell'accoppiamento con il dispositivo) e richiede il backup;
  • Il daemon di backup utilizza il record di escrow per "sbloccare" il dispositivo. Questo sblocca la keybag del sistema e ha lo stesso effetto dell'inserimento del passcode sul dispositivo;
  • Il daemon di backup legge tutti i file necessari (e il kernel si occupa di decrittografarli poiché la keybag di sistema è completamente sbloccata, il processo è trasparente per il daemon di backup), facoltativamente li crittografa (se la crittografia di backup è abilitata) e invia a iTunes.

iTunes non è in realtà responsabile di alcuna crittografia / decrittografia dei file del dispositivo, per quanto ne so.

Inoltre, iTunes non può decrittografare i file utilizzando il record di escrow perché il record di escrow è essenzialmente un set di chiavi di protezione del contenuto crittografate con una chiave casuale a 256-bit, e quella chiave è memorizzata sul dispositivo e non è nota ad iTunes (almeno questo è com'era prima di iOS 7).

    
risposta data 16.07.2014 - 08:55
fonte
2

La tua ipotesi è probabilmente corretta.

Le API di protezione dei dati indicano che i dati possono trovarsi in uno dei tre stati:

  1. Non crittografato per tutto il tempo
  2. Non crittografato dopo il primo codice PIN inserito dopo l'avvio
  3. Non crittografato mentre è sbloccato (ricodifica 10 secondi dopo il blocco dello schermo)

Queste informazioni (insieme alle informazioni che hai indicato nella tua domanda) indicano che molto probabilmente iTunes è verificato e determinato per essere considerato attendibile, quindi i dati sono sbloccati / non crittografati per il trasporto via USB dal dispositivo stesso.

Naturalmente è possibile che Apple stia utilizzando API completamente diverse per accedere ai dati per la sincronizzazione, ma sembra molto probabile che le loro API siano almeno simili alle API di protezione dei dati fornite dal sistema, se non stanno usando esattamente quelli.

Ulteriori informazioni sulla protezione dei dati si trovano nelle note / video della sessione WWDC 2012 714 "Protezione dei dati degli utenti"

    
risposta data 14.08.2013 - 17:53
fonte

Leggi altre domande sui tag