Come viene bloccato l'accesso a HSM?

6

Nel backend se uso un HSM (o ho anche la chiave master su un server fisico), ho bisogno di fare operazioni usando quella chiave. Ciò significa che il server dell'app chiamerà nell'HSM (o nel server delle chiavi). Qual è la prassi abituale di autenticazione delle chiamate all'HSM? Leggendo, di solito si fa attraverso una coppia di chiavi che l'HSM firma / conosce. Ma se il server delle app viene compromesso, un utente malintenzionato potrebbe semplicemente inoltrare i messaggi ed eseguire le operazioni utilizzando HSM e ottenere dati validi. Credo che questo sia da aspettarsi e par per il corso, quando il server stesso è compromesso.

Capisco che l'idea principale dell'utilizzo di HSM sia proteggere la chiave. Ma ci sono molti pensieri / sforzi per identificare l'accesso compromesso a HSM / Keyserver?

    
posta user220201 26.09.2016 - 20:50
fonte

1 risposta

4

Questo può essere ottenuto in molti modi. Il controllo di accesso più semplice per un HSM è un pulsante fisico. Quindi, se un malware compromette il computer host, qualcuno deve ancora essere presente fisicamente per premere il pulsante affinché l'HSM possa fare qualsiasi cosa.

Quindi disponi di un'intera gamma di protezione di accesso diversa, che va dalla verifica del software nel server host "esternamente", alla richiesta di un PIN (che il server stesso cancella se si ritiene compromesso).

Un HSM può anche limitare le operazioni su una chiave. Ad esempio, consente solo di utilizzare una chiave per la firma e non la decrittografia, ad esempio. O richiedono formati specifici sui dati di input che vengono firmati o decrittografati.

Un'altra cosa che un HSM può applicare è la limitazione della velocità, sia per i tentativi di autenticazione che per le operazioni. Un server che in genere decrittografa consente di dire che 1 messaggio per 15 minuti può essere impostato come velocità limitata a un massimo di 1 messaggio ogni 10 minuti, il che ridurrebbe l'utilità dell'accesso HSM da un server compromesso.

Tuttavia, l'obiettivo principale di un HSM non è limitare l'accesso all'HSM stesso. L'obiettivo principale di un HSM è quello di garantire che la chiave stessa non lasci mai l'HSM. Qui spazia dal semplice HSM che consentirà l'accesso solo attraverso una semplice interfaccia, ma non avrà alcuna funzionalità che impedisca compromessi fisici / attacchi, e l'altra estremità della scala è HSM molto avanzati che possono resistere ad un attacco anche se un avversario ha un accesso fisico non monitorato all'HSM per un tempo molto lungo.

Per fare un'analogia:

Immagina se stessa: Se qualcuno è stato in grado di usare la chiave della tua auto una volta, è importante? La tua auto è compromessa? No, perché la tua chiave dell'automobile non è stata copiata. L'avversario ha ottenuto un accesso una tantum alla tua auto. Non appena hai recuperato il controllo della chiave dell'auto, la chiave dell'auto è completamente sicura e sicura da usare.

Ma se qualcuno COPY la chiave dell'auto, è effettivamente compromessa e deve essere sostituita.

Immagina la stessa cosa con le chiavi di crittografia. Alcune chiavi di crittografia possono essere difficili o ingombranti da sostituire e il processo di sostituzione può essere di per sé vulnerabile a un compromesso irrevocabile permanente se il processo di sostituzione coinvolge la chiave compromessa. (esempio: un utente malintenzionato utilizza la chiave compromessa per avviare il processo di sostituzione sulla propria chiave: se il sistema di gestione delle chiavi è distribuito e non gestito, la società o l'individuo ha definitivamente perso l'accesso a tale record).

Qui un HSM può anche contenere funzionalità per impedire la firma dei dati corrispondenti per l'avvio del processo di sostituzione (certificato di revoca ecc.) a meno che non venga immesso un PIN specifico, che il server non conosce.

    
risposta data 26.09.2016 - 22:59
fonte

Leggi altre domande sui tag