Dipende dalla quantità di protezione necessaria per l'HSM. Mentre Smartcard-HSM (di cui Nitrokey HSM è un'implementazione) fornirà operazioni di crittografia sul dongle senza rilasciare la chiave, supporta solo la programmabilità esterna da ciò che ho potuto trovare.
Il problema con questo è che mentre l'HSM può proteggere le chiavi stesse dal compromesso, non può proteggere la chiave dall'utilizzo se vengono fornite le informazioni di autenticazione. Se si utilizza l'autenticazione del software tramite l'host, questo potrebbe essere potenzialmente compromesso tramite i keylogger o le azioni potrebbero essere inviate da un hack al prossimo autenticarsi sul dispositivo.
Un HSM programmabile, d'altra parte, consentirà di eseguire più operazioni di crittografia consentite nella carta, compresa la definizione delle operazioni da eseguire e in quali circostanze in un maniero più sicuro. Ciò fornisce un ulteriore livello di sicurezza in quanto è possibile mettere ulteriori protezioni intorno all'utilizzo di una chiave che rende più difficile l'abuso, tuttavia gli HSM programmabili sono dispositivi molto più costosi.