
Sicurezza dei contatti per il recupero dellâaccount
Ă possibile aggiungere fino a cinque persone che, in caso di necessitĂ , potrebbero aiutare lâutente a recuperare lâaccount iCloud e tutti i dati in esso archiviati, inclusi tutti i dati protetti da crittografia end-to-end, indipendentemente dal fatto che sia attiva o meno la protezione avanzata dei dati. NĂŠ Apple, nĂŠ il contatto di recupero individualmente sono in possesso delle informazioni necessarie per decrittografare i dati iCloud dellâutente protetti con crittografia end-to-end.
Il contatto di recupero è concepito per tutelare la privacy degli utenti. I contatti di recupero scelti dallâutente non sono noti ad Apple. I server Apple vengono a conoscenza delle informazioni relative a un contatto di recupero solo in un momento successivo al tentativo di recupero, dopo che lâutente ha chiesto aiuto al contatto e che questâultimo ha iniziato a contribuire al recupero. Tali informazioni non vengono mantenute dopo il completamento del recupero.
Procedura di sicurezza per i contatti di recupero
Quando un utente configura un contatto di recupero per un account, viene generata una chiave associata a tale contatto. Questa chiave protegge lâaccesso ai dati di iCloud dellâutente (compresi i dati protetti con crittografia endâtoâend di CloudKit). Successivamente, viene generata una chiave AES a 256 bit casuale, utilizzata per crittografare la chiave del contatto di recupero e creare un pacchetto del contatto di recupero. Il pacchetto crittografato viene inviato al contatto di recupero perchĂŠ venga conservato e la chiave AES casuale viene archiviata presso Apple. NĂŠ la chiave AES nĂŠ il pacchetto sono in grado di fornire informazioni sulla chiave sottostante. Al momento del recupero, una volta che il dispositivo dellâutente avrĂ ottenuto correttamente sia il pacchetto dal contatto di recupero sia la chiave AES da Apple, i due elementi potranno essere combinarli per ricevere la chiave originale e accedere ai dati di iCloud dellâutente.
Per creare un contatto di recupero dellâaccount, il dispositivo dellâutente comunica con i server Apple per caricare la porzione di informazioni sulla chiave che saranno in possesso di Apple (la chiave AES menzionata sopra). Quindi stabilisce un contenitore CloudKit protetto con crittografia end-to-end con il contatto di recupero per condividere la parte di cui il contatto di recupero ha bisogno (il pacchetto del contatto di recupero crittografato utilizzando la chiave AES). Con il contatto di recupero viene condiviso anche un segreto utilizzato per lâautorizzazione, creato da Apple. Questo verrĂ usato per recuperare lâaccount e aiutare a inizializzarne la password. La comunicazione per invitare e accettare i contatti di recupero avviene attraverso un canale IDS reciprocamente autenticato. Il contatto di recupero memorizza automaticamente le informazioni ricevute nel proprio portachiavi iCloud. Apple non può accedere nĂŠ al contenuto del contenitore CloudKit, nĂŠ al portachiavi iCloud che memorizza queste informazioni. Quando viene eseguita la condivisione, i server Apple visualizzano solo un ID anonimo del contatto di recupero.
Successivamente, quando lâutente avrĂ la necessitĂ di recuperare lâaccount e i dati iCloud, potrĂ chiedere aiuto al contatto di recupero selezionato. In quel caso, un codice di recupero verrĂ generato dal dispositivo del contatto di recupero, che lo fornirĂ allâutente tramite un accesso fuori banda, ossia di persona o tramite una chiamata telefonica. Lâutente quindi inserirĂ il codice di recupero sul proprio dispositivo per stabilire una connessione sicura tra i dispositivi che utilizzano il protocollo SPAKE2+, i cui contenuti non sono accessibili da parte di Apple. Sebbene lâiterazione descritta sopra sia gestita dai server Apple, Apple non è in grado di avviare la procedura di recupero.
Una volta che la connessione sicura è stata stabilita e tutte le necessarie verifiche di sicurezza sono state completate, il dispositivo del contatto di recupero restituisce la propria parte di informazioni e lâautorizzazione segreta stabilita in precedenza allâutente che ha richiesto il recupero. Lâutente presenta lâautorizzazione segreta a un server Apple, che gli consente di accedere alle informazioni sulla chiave di cui Apple dispone. Fornire lâautorizzazione segreta autorizza anche lâinizializzazione della password dellâaccount per ripristinare lâaccesso.
Infine, il dispositivo dellâutente combina nuovamente le informazioni sulla chiave ricevute da Apple e dal contatto di recupero dellâaccount e le utilizza per decrittografare e recuperare i dati di iCloud.
Per evitare che un contatto di recupero avvii il ripristino senza il consenso dellâutente, sono state adottate delle misure di salvaguardia, tra cui un controllo dellâattivitĂ dellâaccount dellâutente. Se lâaccount è in uso, il recupero tramite un contatto di recupero richiede anche la conoscenza di un codice di accesso recente del dispositivo o del Codice di sicurezza iCloud.