Quali sono i vantaggi dei moduli di sicurezza hardware quando le chiavi non sono memorizzate al loro interno?

14

Sto facendo ricerche su un progetto che utilizza la crittografia. È un'applicazione .net con chiavi memorizzate in un database SQL Server. Per la crittografia, il progetto utilizza un modulo di sicurezza hardware simile a quello descritto nell'articolo wikipedia collegato.

Vorrei capire i vantaggi dell'utilizzo di un dispositivo HSM invece di eseguire crittografia / decrittografia / firma / verifica e generazione di chiavi nel codice .net utilizzando "implementazione standard" come quella trovata in .net BCL. Stiamo parlando di RSA / DES qui.

Capirei se le chiavi fossero memorizzate all'interno del dispositivo, ma sto cercando di capire i vantaggi se le chiavi sono memorizzate altrove. Certo, si può essere sicuri che l'algoritmo di crittografia non venga manomesso, ma se si tratta di manomissioni si ha paura che ci sia un sacco di altro codice che lavora con i dati prima che venga crittografato / dopo essere decodificato che può essere manomesso, e questo si può dire su quasi tutti i progetti che penso.

Una possibile ragione che posso immaginare è la performance, se l'applicazione fa un sacco di crittografia, tuttavia non so se questo è il caso del progetto. Quindi quali potrebbero essere altri vantaggi?

    
posta Andrew Savinykh 03.11.2015 - 23:31
fonte

1 risposta

13

In molti HSM, c'è pochissima capacità di archiviazione sicura (ad esempio, alcuni kilobyte). Pertanto, ciò che l'HSM memorizza realmente nelle sue interiora è una chiave principale K (simmetrica). Le coppie di chiavi utilizzate dalle applicazioni vengono archiviate esternamente, ma crittografate con K ; vengono decodificati e utilizzati solo all'interno dell'HSM. In tale configurazione, le chiavi sono entrambe "logicamente" all'interno dell'HSM e "fisicamente" memorizzate all'esterno. Questo potrebbe essere ciò che accade nel sistema in cui sei interessato.

Ciò che fa un HSM per la sicurezza è una domanda interessante. Fondamentalmente, l'HSM assicura che se le tue chiavi vengono rubate, lo saprai, perché l'unico modo per rubare le chiavi è quello di eliminare l'intero HSM, a quel punto non hai più. Ciò contrasta con i tasti software che possono essere copiati senza lasciare traccia del furto.

Se un HSM viene utilizzato con chiavi memorizzate esternamente, senza con alcune chiavi master come descritto sopra, allora l'HSM è in realtà un semplice acceleratore, utilizzato per motivi di prestazioni, non per una maggiore sicurezza. Questo è stato popolare una dozzina di anni fa, ma ha perso molto della sua rilevanza con le crescenti prestazioni offerte dai PC di base. La maggior parte degli HSM hanno design piuttosto "fissi" perché qualsiasi modifica ad un HSM invalida la sua certificazione EAL 4+ / FIPS 140-2, quindi molti progetti HSM attualmente sul mercato usano ASIC progettato dieci anni fa, con prestazioni che usavano è veramente buono, ma ora è semplicemente paragonabile a quello che un server da 500 $ può offrire (migliaia di operazioni di chiave privata al secondo).

    
risposta data 04.11.2015 - 03:52
fonte

Leggi altre domande sui tag