Prendo l’occasione per rispondere ad un quesito, rivoltomi da un amico, relativo al presunto malfunzionamento del suo nuovo iPhone.
Perchè, talvolta, ricevendo chiamate il mio iPhone non visualizza il nome del chiamante ma solo il numero?
Caro amico, immagino che non si tratti di talvolta, ma solo quando non hai ancora sbloccato – dopo l’accensione – il device con la password o PIN. Giusto?
In effetti, ora che mi ci fai pensare, è proprio così!
Non si tratta di un malfunzionamento, ma di una funzionalità che potremo chiamare security-by-design!
Come funziona la protezione degli iPhone.
Apple, sempre molto sensibile a proteggere i dati dei propri clienti, ha implementato varie misure logiche atte a proteggere il contenuto degli iDevices da attacchi e tentativi di sblocco o accesso forzosi.
Da tempo, Apple ha attivato la crittografia della parte di filesystem contente i dati utente; gli ingegneri del software lo hanno fatto in maniera molto intelligente, partendo dall’assunto peggiore: gli utenti non scelgono quasi mai password “robuste”.
La chiave crittografica è generata dalla combinazione della password utente con una chiave detta UID, univoca per ogni iDevice, scritta nell’hardware, immutabile e non estraibile, neanche da Apple stessa.
Pertanto, la risultante chiave di crittografia può essere utilizzata solo sulo specifico dispositivo, ed è complessa anche qualora il PIN o la password scelta dall’utente sia debole, in quanto ricombinata con la chiave UID.
Multipli tentativi di accesso con PIN errato introducono ritardi per attuare il successivo tentativo, sino al nono tentativo che impiegherà 1 ora per sbloccare il dispositivo. Come impostazione di default, dopo 10 tentativi errati il device azzera il contenuto.
Blocco e sblocco crittografia
Il filesystem degli iPhone può quindi essere in una condizione di blocco da cifratura (es. quando il dispositivo è spento) oppure sboccato (file system decifrato), quando l’utente deve poter accedere alle informazioni memorizzate nello storage ed inserisce la password / PIN.
Si distinguono due stati, che chiameremo BFU (Before First Unlock) e AFU (After First Unlock).
BFU è lo stato nel quale si trova il device quando è stato acceso, ma l’utente non ha ancora inserito la password (o PIN); in tale condizione, le informazioni sono cifrate sul filesystem e neanche le applicazioni possono accedervi.
AFU è lo stato nel quale si trova il device dopo che è stato immesso il PIN; in tal condizione, il filesystem è decifrato e le applicazioni possono aver accesso alle informazioni utente.
A questo punto, comprendiamo bene che un iPhone – nello stato BFU – che riceve una chiamata, non potrà avere accesso alla rubrica e quindi non potrà mostrare il nominativo associato al numero.
Come possiamo adesso comprendere, si tratta di una funzionalità “Security by Design” progettata da Apple e non di un malfunzionamento, che rende il vostro iPhone molto più sicuro di prima.
Alla stregua della sofisticatissima protezione della porta USB, introdotta dopo che – nel passato – tramite di essa è stato possibile forzare un iPhone ed accedere alla memoria interna; ma questa è un’altra storia.