La scelta degli Hardware Security Module (HSM) dipende dall’applicazione specifica per cui viene utilizzato. Qui elenchiamo alcune raccomandazioni generali, delineando un elenco di criteri potenziali da considerare, indipendentemente da quale sia l’utilizzo dell’HSM.
Quali servizi di implementazione offre il fornitore?
Nell’analizzare vari fornitori di HSM, vale la pena considerare il loro portfolio e l’assistenza durante l’implementazione. Prima di tutto, assicurati che un fornitore offra una vasta gamma di soluzioni HSM e supporti tutti i tipi di applicazioni. Una vasta gamma di applicazioni generiche e di pagamento ti consente di supportare qualsiasi combinazione di opzioni firmware e software su diversi modelli di distribuzione (on-premises, cloud e ibridi). Ciò ti aiuterà a scegliere una soluzione che soddisfi le esigenze della tua azienda.
Lo sapevi?
L’ultima valutazione competitiva OEM dei Moduli di Sicurezza Hardware di ABI Research ha designato Utimaco come il ‘Top Implementer’ nel mercato degli HSM. Il portfolio di Utimaco offre la gamma più completa e diversificata di soluzioni, servendo tutti i tipi di applicazioni, a tutti i livelli di prezzo (dall’entry-level al top di gamma) e in vari fattori di forma. Secondo il rapporto, ‘ciò è possibile perché Utimaco ha lavorato partendo dalla base di costruire una piattaforma hardware uniforme su cui possono essere aggiunte varie (e multiple) pile firmware e opzioni software, che includono API pronte per il cloud’.
Fattori tecnici
Considera quanto segue:
- Prestazioni – Guarda i fattori di prestazione per ciascun tipo di HSM, ma concentrati specificamente sul tuo caso d’uso: crittografia/decrittografia/generazione/chiusura di chiavi/firme, simmetrica, asimmetrica, EC, ecc. Chiedi dati di prestazione reali, ad esempio per un HSM connesso in rete, informazioni sulla configurazione di rete o per le schede integrate, informazioni sulle specifiche rilasciate dopo il bus PCIe.
- Scalabilità – Quali sono i fattori limitanti in termini di scalabilità, in relazione alla tua applicazione? Hai bisogno di un numero definito di chiavi memorizzate all’interno dell’HSM? Come potresti aggiungere un altro HSM? Quanto sarebbe facile farlo?
- Ridondanza – Cosa succede se un HSM si guasta? Quanto influirebbe ciò sulle tue operazioni? Quanto sarebbe facile sostituirlo senza perdita di servizio, ecc.
- Backup – Come vengono eseguiti i processi di backup e ripristino? Quanto sforzo richiederebbe per la tua organizzazione implementare questi processi? Sei in grado di evitare la perdita irreversibile dei tuoi dati?
- Supporto API – L’API è il collegamento con il tuo ambiente Application-Host. Ecco alcuni suggerimenti per gestire le domande sulle API supportate:
- Microsoft MS CSP/CNG: L’API “standard” di Microsoft è il modo più semplice per connettersi a un HSM quando si utilizza Windows;
- JCE: Lo sviluppatore Java “standard”.
- PKCS#11: Lo “standard industriale”, ma ci sono alcune insidie come noti problemi di sicurezza ed estensioni proprietarie del fornitore. ATTENZIONE: Le estensioni o meccanismi proprietari del fornitore sono estensioni specifiche del caso d’uso dell’API e non fanno parte dello standard PKCS#11. Ciò aumenterà i costi quando si cambia fornitore
Software e assistenza
Scegli l’API compatibile con il tuo caso d’uso e sistema operativo. Se stai usando un sistema operativo Microsoft, scegli CNG. Se stai utilizzando un’applicazione che supporta PKCS#11, scegli PKCS#11. Chiedi orientamenti sull’integrazione o guide su come fare.
- Supporto OS/hardware – Questo richiede di prendere in considerazione diverse questioni. La prima è: quali sistemi operativi sono supportati dalla scheda integrata (PCIe-Driver)? Un’altra questione: quali sistemi operativi sono supportati dall’HSM connesso in rete? Inoltre: quale sistema operativo è supportato dagli strumenti di gestione, ad esempio GUI/linea di comando?
- Gestione – L’HSM può essere gestito a distanza? Quali funzioni possono essere attivate e controllate a distanza?
- Programmabilità – La maggior parte del tuo sviluppo sarà dall’altra parte delle API, ma a volte può essere utile avere la possibilità di scrivere applicazioni che girano sul dispositivo, per una maggiore flessibilità o velocità e per specificare la tua API.
- Sicurezza fisica – Chiediti quanto sia resistente a un attacco fisico diretto la tua soluzione. Se, per qualsiasi motivo, ritieni che sia particolarmente importante, potresti voler cercare “rilevamento e risposta attiva all’effrazione”, oltre che semplice “resistenza e prova passiva all’effrazione”. In alternativa, in termini di FIPS 140-2, cerca la sicurezza fisica di livello 4 FIPS 140-2 o attieniti al convenzionale livello 3 FIPS 140-2.
- Algoritmi – L’HSM supporta l’algoritmo crittografico che desideri utilizzare, tramite l’API selezionata (primitive, modalità di funzionamento e parametri, ad esempio curve, dimensioni delle chiavi)?
- Opzioni di autenticazione – password; quorum; n-fattori; smart card; ecc. Almeno dovresti cercare qualcosa che richieda una dimensione del quorum configurabile o utenti autenticati tramite password prima di consentire operazioni tramite l’uso di una chiave.
- Opzioni di policy – Potresti voler essere in grado di definire politiche, come il controllo del fatto che le chiavi possano essere esportate dall’HSM (avvolte o non criptate); una chiave può essere utilizzata solo per firma/crittografia/decrittografia/…; l’autenticazione è richiesta per la firma, ma non per la verifica, ecc.
- Capacità di audit – Includendo sia operazioni simili a quelle di un HSM (chiave generata, qualcosa firmata con chiave Y) che la gestione dei problemi di connessione o crash. Quanto sarà facile integrare i log nel tuo sistema di monitoraggio (syslog/snmp/altro accessibile via rete – o almeno output non proprietari)?
Architettura e distribuzione
I Moduli di Sicurezza Hardware possono essere operati in loco, ospitati o come servizio dal cloud.
Le implementazioni in loco offrono le seguenti opzioni:
- HSM connesso in rete: per implementazioni su larga scala, soprattutto quando più applicazioni/server/client devono utilizzare servizi HSM.
- HSM integrato (scheda PCIe): questa è una soluzione più economica rispetto agli HSM connessi in rete. È importante notare che questi tipi di soluzioni richiedono una maggiore potenza di elaborazione per eseguire contemporaneamente più applicazioni.
- HSM containerizzati scalabili: per soluzioni multi-tenant veramente multi-tenant (ad esempio, in piattaforme cloud che operano con account client indipendenti), consentendo di eseguire implementazioni HSM, policy e firmware indipendenti per contenitore. Sconsigliamo vivamente le soluzioni multi-tenant deboli che operano con un unico motore firmware o di policy.
Soluzioni hosted o As-a-Service
- Le soluzioni hosted o As-a-Service forniscono HSM fisicamente indipendenti nel cloud: questa soluzione offre il più alto livello di protezione fisica contro l’accesso fisico non autorizzato ed è idealmente conforme a FIPS 140-2, livello 4 per cliente. Tuttavia, la scalabilità di tale soluzione è solo al livello dei server fisici distribuiti localmente.
- Soluzione as-a-service che fornisce HSM condivisi completamente o parzialmente gestiti. Le funzioni di gestione come la gestione delle chiavi possono far parte della soluzione di servizio o potrebbero essere gestite dal cliente in loco o in un diverso cloud.
- Soluzione as-a-service che fornisce tenant in HSM containerizzato, protetto a livello 3 di FIPS 140-2 per tenant. Tali container forniscono politiche e firmware individuali per tenant e offrono i vantaggi di scalabilità del cloud. Sono al di fuori dell’infrastruttura del provider di servizi cloud (CSP) e preservano il controllo completo del cliente sulle proprie esigenze di crittografia.
- Utilizzo del cluster HSM del CSP: Consente di beneficiare dei servizi delle piattaforme cloud (tra cui AWS, Azure, Google Cloud). Il controllo delle chiavi è limitato.
Certificazioni
- Certificazioni – Una delle aree di falsa interpretazione più grandi. Se stai acquistando un prodotto certificato FIPS 140-2 di livello 3, deve passare alla cosiddetta modalità FIPS. La modalità FIPS implica una restrizione a livello di API, una restrizione su algoritmi (lunghezza della chiave, uso, attributi delle chiavi, ecc.). Chiediti quale livello ti serve effettivamente? Di cosa hai bisogno per motivi normativi?
- FIPS 140-2 – Schema di certificazione da parte del NIST sotto il CMVP. Questo framework è utile poiché conferma che gli algoritmi approvati dal NIST funzionino normalmente e che la loro implementazione abbia superato un test di risposta noto in fase di esecuzione. Per quanto riguarda la sicurezza fisica, un certificato FIPS 140 con sicurezza di livello 3 ti dice che un prodotto soddisfa il requisito di protezione fisica di base, ma non di più!
- Common Criteria – Le valutazioni dei prodotti possono variare di più in termini di fornitura di garanzie: leggi l’Obiettivo di Sicurezza! Al momento, c’è solo un buon set di Profili di Protezione HSM, quindi dovrai almeno leggere la Definizione del Problema di Sicurezza (minacce e presupposti) per avere un’idea di ciò che la valutazione offre.
- Altri schemi di certificazione – Come ad esempio PCI-HSM, approvazione DK o NITES (approvazione Singapore CC), questi schemi saranno utili se sei nell’industria pertinente. Oltre alle certificazioni, chiedi referenze specifiche per il tuo settore industriale pertinente o per lo spazio governativo.
Non fare affidamento solo sulla certificazione ISO nello sviluppo del ciclo di vita del software.
Utimaco è in grado di offrire soluzioni HSM conformi sia a PCI-HSM che a FIPS 140-2 o 3 (o nessuno, se non necessario).
Soft factor
- Quali servizi di supporto offre il fornitore? Non considerare solo i diversi tipi di opzioni; chiedi informazioni sulla reputazione e su alcuni test!
- Quali servizi di integrazione offre il fornitore? Se hai requisiti complessi, potrebbe valere la pena coinvolgere il fornitore nel tuo processo di configurazione/programmazione.
- Qual è l’andamento futuro? C’è un problema che potresti conoscere che si presenterà tra qualche anno?
- Qual è il paese d’origine (progettazione e produzione)?
Sostituzioni end-of-life
Quando si sostituisce un HSM esistente o fuori produzione, le soluzioni proprietarie potrebbero richiedere la necessità di apportare modifiche a tutte le applicazioni collegate. La soluzione preferibile sarebbe la scelta di un HSM agnostico all’applicazione e cripto-agile, in grado di:
- Ospitare chiavi e blocchi chiave pertinenti
- Connettersi a sistemi di gestione chiavi principali
- Connettersi a applicazioni di grado industriale tipiche con un registro applicazioni documentato
Di conseguenza, le sostituzioni nel contesto dei cicli di servizio saranno rapide, senza richiedere molto investimento in tempo o risorse umane.
Fattori importanti
- Costo – Come si presenta il costo per unità/i? Qual è il costo per supporto e manutenzione? Cosa è incluso nel prezzo unitario? Paghi per API, ecc.?
- Tempo di consegna – Sii realistico! Se senti di aver bisogno di un HSM immediatamente, probabilmente stai sottovalutando la complessità di un HSM. Gli HSM non sono prodotti in serie; è richiesta una certa quantità di tempo per fabbricare gli HSM per garantire la qualità
I Microchip, o semplicemente ‘chip’, sono un componente fondamentale di molte attività economiche e si trovano in una gamma di prodotti, dai veicoli agli elettrodomestici ai telefoni cellulari. Gli HSM contengono uno o più chip necessari per eseguire operazioni crittografiche e le recenti carenze di fornitura hanno avuto un impatto sull’economia più ampia.
Utimaco non è stato significativamente influenzato dalla carenza globale di chip che ha interrotto le catene di approvvigionamento a livello globale, e possiamo continuare a fornire beni e servizi affidabili che i nostri clienti si aspettano.