La ragione per richiedere il passcode è perché la chiave di crittografia del file system è crittografata usando il passcode:
The content of a file is encrypted with a per-file key, which is wrapped with a class key and stored in a file’s metadata, which is in turn encrypted with the file system key. The class key is protected with the hardware UID and, for some classes, the user’s passcode. (source)
Perché la chiave di crittografia del file non può essere memorizzata dal processore di impronte digitali? Le impronte digitali non possono essere utilizzate per la crittografia / decrittografia a causa della natura di perdita delle impronte digitali di lettura.
Mentre con l'aiuto di un coprocessore sicuro come l'enclave sicura, è possibile rendere le impronte digitali utilizzabili per il meccanismo di sblocco rapido, la sicurezza di tale sblocco rapido dipende dal fatto che il coprocessore può scartare la chiave di crittografia se l'utente / utente malintenzionato è entrato l'impronta digitale sbagliata troppe volte. Ad esempio, TouchID richiede l'inserimento di un passcode regolare dopo cinque tentativi di riconoscimento delle dita falliti.
Se il sistema utilizza solo lo sblocco delle impronte digitali, ciò significa che il coprocessore non può mai scartare la chiave di crittografia in quanto bloccerebbe definitivamente il dispositivo, aprendo effettivamente un attacco denial-of-service banale sul dispositivo.