Qual è la prima versione di iOS che supporta l'archiviazione hardware delle chiavi private?

0

Sto lavorando su un'app che gestisce le chiavi di autenticazione e ho bisogno di memorizzarle nell'hardware, perché la massima sicurezza è assolutamente essenziale. Ho fatto qualche ricerca e solo le versioni più recenti di Android in realtà integrano il KeyStore con l'hardware, ma non riesco a trovare alcuna fonte che specifichi chiaramente la prima versione di iOS in cui l'API KeyChain o simili possa essere utilizzata per memorizzare le chiavi nella Secure enclave.

    
posta Sam Claus 31.07.2016 - 06:26
fonte

1 risposta

3

Se si desidera che la chiave privata sia effettivamente archiviata in Secure Enclave, è necessario eseguire almeno iOS 9 e generare la coppia di chiavi utilizzando la funzione SecKeyGeneratePair ().

Ciò significa che la chiave privata è memorizzata in Secure Enclave, mentre la tua app ottiene la chiave pubblica.

Nota che questo significa anche che:

A) Non puoi utilizzare una chiave privata che hai generato tu stesso nel tuo codice o recuperata da qualche altra parte (come uno dei tuoi server)

B) Non è possibile recuperare la chiave privata, quindi è necessario utilizzare le funzioni Secure Enclave per la crittografia effettiva con la chiave privata.

Se la tua app richiede di eseguire una di queste operazioni, puoi generare una coppia di chiavi utilizzando la funzione summenzionata e utilizzarla per crittografare i tuoi dati (ad esempio le tue chiavi private autogenerate) con la chiave pubblica da Secure Enclave. Quindi puoi chiedere a Secure Enclave di decodificare le tue chiavi quando ne hai bisogno. Questo è più o meno simile alla memorizzazione delle chiavi in Keychain.

    
risposta data 31.07.2016 - 09:48
fonte

Leggi altre domande sui tag