Un modulo di sicurezza hardware (in inglese Hardware Security Module, HSM) è un dispositivo informatico fisico che salvaguarda e gestisce i segreti (soprattutto le chiavi digitali), esegue funzioni di crittografia per le firme digitali e altre funzioni crittografiche.[1] Questi moduli si presentano solitamente sotto forma di scheda plug-in o di dispositivo esterno che si collega direttamente a un computer o simili dispositivi. Un modulo di sicurezza hardware contiene uno o più chipcryptoprocessor.[2][3]
Usi
Un modulo di sicurezza hardware può essere impiegato in qualsiasi applicazione che utilizzi chiavi digitali. Solitamente gli HSM vengono utilizzati quando le chiavi sono di importanza elevata.
Le funzioni di un HSM sono solitamente:
generazione di chiavi crittografiche sicure
archiviazione sicura delle chiavi crittografiche, almeno per le chiavi di livello superiore e più sensibili, spesso chiamate chiavi master
gestione delle chiavi
utilizzo di materiale crittografico e di dati sensibili, ad esempio l'esecuzione di funzioni di decrittografia o firma digitale
In questi casi ci sono alcune caratteristiche fondamentali che un tale dispositivo deve avere e cioè:
Protezione logica e fisica di alto livello
Schema di autorizzazione utente in più parti (vedi divisione segreti)
Revisione completa e registro chiamate
Backup sicuro delle chiavi
D'altro canto, le prestazioni dei dispositivi in un ambiente PKI sono solitamente meno importanti, sia nelle operazioni online che offline, in quanto le procedure delle autorità di registrazione rappresentano il collo di bottiglia prestazionale dell’infrastruttura.
HSM per sistemi di pagamento con carta (HSM bancari)
Gli HSM specializzati vengono inoltre utilizzati nel settore delle carte di pagamento. Gli HSM supportano sia funzioni generiche che funzioni specializzate necessarie per firmare le transazioni ed ottemperare agli standard di settore. Normalmente non dispongono di un'API standard.
Tipiche applicazioni sono l'autorizzazione delle transazioni e la verifica delle carte di pagamento, che richiedono funzioni quali:
verificare che il PIN immesso dall'utente corrisponda al PIN di riferimento noto all'emittente della carta
verificare le transazioni con carta di credito/debito controllando i codici di sicurezza della carta o eseguendo componenti di elaborazione host di una transazione basata su EMV insieme a un controller ATM o un terminale POS
supportare una cripto-API con una smart card (come un EMV )
crittografare nuovamente un blocco PIN per inviarlo a un altro host di autorizzazione
generare un set di chiavi per carte e supportare il processo di personalizzazione per le smart card
Creazione della connessione SSL
Le applicazioni critiche per le prestazioni che devono utilizzare HTTPS (SSL/TLS) possono trarre vantaggio dall'uso di un HSM per l'accelerazione SSL spostando le operazioni RSA, che in genere richiedono svariate moltiplicazioni di numeri interi di grandi dimensioni, dalla CPU del server al dispositivo HSM. Un tipico dispositivo HSM può eseguire da 1 a 10.000 operazioni RSA a 1024bit al secondo.[4][5] Alcune prestazioni con dimensioni chiave più lunghe stanno diventando sempre più importanti. Per risolvere questo problema, alcuni HSM[6] ora supportano ECC. I dispositivi HSM specializzati possono raggiungere numeri fino a 20.000 operazioni al secondo.[7]
DNSSEC
Un numero crescente di registrar utilizza gli HSM per archiviare il materiale della chiave utilizzato per firmare zonefile di grandi dimensioni. OpenDNSSEC è uno strumento open source che gestisce la firma degli zonefile DNS.