HSM

HSM è l'acronimo di "Hardware Security Module", un dispositivo hardware atto a contenere chiavi crittografiche o di firma di una certa rilevanza che devono essere utilizzate per dati e documenti particolarmente sensibili. Se volete potete pensare ad un HSM come ad una grande Smartcard (appunto quella di James Bond) con caratteristiche disicurezza, resistenza ed efficienza estremamente elevate.

Gli HSM, nella stragrande maggioranza dei casi, sono utilizzati per la firma elettronica e/o digitale. Possono contenere sia chiavi simmetriche che asimmetriche (coppie di chiavi pubblico/private e relativi certificati X.509) e, cosa estremamente importante,non importano (o esportano) mai tali chiavi dall'esterno ma le generano o distruggono direttamente al loro interno. E' una questione di sicurezza e affidabilità delle chiavi che solo con una gestione interna dell'HSM può garantire.

Le chiavi asimmetriche generate dall'HSM di solito implicano una PKI, facendo diventare l'HSM una CA o una subCA. Se si sceglie di implementare una CA, allora l'HSM sarà indipendente da autorità di certificazione esterne, mentre nel caso di una SubCA, avremo bisogno di far firmare il certificato root dell'HSM da una CA esterna qualificata. Il secondo caso implicherà una firma digitale con requisiti di sicurezza che andranno oltre all'HSM e che si estenderanno anche all'architettura della soluzione di firma.Gli HSM fisicamente possono essere realizzati come delle schede di espansione da installare nel server di turno o come degli appliance "rack mountable". Di solito si dividono in due grandi categorie: "tamper-evident" e "tamper-proof". Nel caso di forzatura fisica infatti, i primi evidenziano che il dispositivo è sotto attacco, i secondi invece possono arrivare sino alla cancellazione delle chiavi segrete (ex: cacciavite e tentativo di forzare il dispositivo per prelevare la memoria che contiene le chiavi segrete).

Importante è anche il requisito prestazionale, che differenzia notevolmente gli HSM da altri dispositivi crittografici di qualità più bassa. Gli HSM raggiungono rate di firme al secondo che arriva anche alle 500 firme/sec. Questo, nel caso di firme massive di documenti oppure di apposizione di marche temporali, è estremamente importante. Gli HSM prevedono delle procedure di autenticazione e autorizzazione al loro utilizzo molto stringenti: autenticazione delle macchine connesse in rete all'HSM; smartcard, PAD numerici e chiavi elettroniche (chiavi di plastica) da collegare ed inserire nell'HSM per eseguire operazioni di inizializzazione, riavvio e backup dell'apparato. Inoltre anche il backup su schede PCMCIA o chiavi USB sicure e tanto altro. Certamente anche l'alta affidabilità e disponibilità è un fattore fondamentale che viene garantito gestendo interi stack di HSM che condividono lo stesso store di chiavi (ma con qualche risvolto ancora non molto chiaro rispetto alla normativa attuale per la firma digitale). Insomma delle vere e proprie casseforti di chiavi di cifratura e firma con SDK per lo sviluppo di applicazioni (di solito C, C++ e Java) e costi non proprio trascurabili (da circa 20.000 € in su ad HSM). Il capitolo delle certificazioni è inoltre estremamente importante. Quasi tutti sono certificati con lo standard FIPS 140-2, lo standard del NIST USA per la certificazione di apparati di sicurezza, mentre quasi nessun HSM è invece certificato Common Criteria. E questo è forse l'unico punto dolente! Per essere utilizzati infatti in una soluzione di firma digitale, gli HSM in Europa devono rispettare la certificazione Common Criteria e non solo la FIPS 140-2. I certificatori che vendono smartcard non nutrono certo una grande "simpatia" per questi apparecchi che potrebbero levargli un bel po' di mercato! :-) Ma questa è un'altra storia...

Un po' di link:
 * Sito del NIST con FIPS 140-2
 * CNIPA e Firma digitale
 * Portale dei Common Criteria
 * Produttori di HSM: nChiper, SafeNet, ARX

(http://geekinfosecurity.blogspot.it/2007/12/hsm-hardware-security-module-la-grande.html)