Sto configurando un sistema in cui i dispositivi verranno testati subito dopo la produzione. Ogni dispositivo ha una chiave AES individuale, che deve essere nota per comunicare. Queste singole chiavi vengono consegnate dal produttore del dispositivo in un file di spedizione (uno per 1000 dispositivi), che è a sua volta crittografato con RSA. Solo l'autorità di prova ha la chiave privata per decifrare tali file di spedizione.
Il piano corrente è stato il primo ad esportare le chiavi del dispositivo dai file di spedizione in un database centrale. Questo sarà fatto una volta per una consegna di ~ 1000 dispositivi. L'applicazione di test accederà quindi a questo database per estrarre le singole chiavi del dispositivo.
Mettere tutte le chiavi del dispositivo direttamente nel database funziona ma non è una soluzione molto interessante: chiunque accede al database ottiene automaticamente l'accesso alle chiavi del dispositivo.
Tenendo presente che questo è molto vulnerabile, come posso migliorare la sicurezza? Potrei AES crittografare le chiavi del dispositivo prima di scrivere nel database, ma poi l'applicazione di test deve conoscere questa chiave privata AES. Il problema passa semplicemente a "come mantenere questa chiave interna segreta". Quindi è un po 'meglio, ma ancora insoddisfacente.
Cos'altro potrebbe essere una soluzione accettabile? Forse usando una smart card?