Depende de cuánta protección necesite el HSM para proporcionar. Si bien Smartcard-HSM (de la cual es una implementación de Nitrokey HSM) proporcionará operaciones de cifrado en el dongle sin liberar la clave, solo admite la capacidad de programación externa de lo que pude encontrar.
El problema con esto es que, si bien el HSM puede proteger las claves del compromiso, no puede proteger la clave del uso si se proporciona información de autenticación. Si utiliza una autenticación de software a través del host, se podría poner en peligro a través de los registradores de teclas o las acciones podrían ser enviadas por un pirateo la próxima vez que se autentique en el dispositivo.
Por otro lado, un HSM programable permitirá que se realicen más operaciones de encriptación permitidas en la tarjeta, incluida la definición de qué operaciones se deben realizar y en qué circunstancias de una manera más segura. Esto proporciona un nivel adicional de seguridad, ya que puede aplicar más protecciones al uso de una clave que dificulta el abuso, sin embargo, los HSM programables son dispositivos mucho más caros.