¿Tarjeta inteligente para clave privada RSA para SSL?

5

Tengo un YubiKey NEO que tiene muchas capacidades sorprendentes como OTP, U2F y tarjeta inteligente PGP para PGP / GPG e incluso llaves SSH. Una de las aplicaciones que he descubierto recientemente para el dispositivo es un applet PIV que puede utilizar para almacenar de forma segura la clave RSA privada de un certificado SSL.

Esto me parece bastante fascinante, ya que lo hace mucho más difícil sin el acceso físico para robar un certificado SSL.

¿Es posible usar una tarjeta inteligente como esta para la clave privada de un servidor SSL? Nunca he visto una configuración en Apache o nginx que parezca indicar soporte para otra cosa que no sean claves privadas SSL basadas en archivos.

También, la demostración dada para el applet PIV muestra cómo crear un archivo local clave privada basada y luego enviarla a la tarjeta inteligente; ¿Hay alguna forma de crear la clave de forma segura en la tarjeta, para que nunca se almacene en ningún lugar? Sé que podría simplemente almacenarlo en un disco RAM / sistema de archivos para que nunca se escriba en el disco, pero ¿hay una manera de generarlo en el dispositivo como sea posible utilizando OpenPGP para las claves PGP?

    
pregunta Naftuli Kay 31.12.2014 - 23:17
fuente

2 respuestas

1
  

Nunca he visto una configuración en Apache o nginx que parezca   indicar compatibilidad con cualquier otra cosa que no sean claves privadas SSL basadas en archivos.

Está utilizando Yubikey como un módulo de seguridad de hardware (HSM). La clave se almacena y nunca abandona el HSM y todo el cifrado y descifrado se realiza en el HSM. El Yubikey parece cumplir tales requisitos.

Es posible que tengas que escribir tu propio controlador PKCS # 11 ya que no hay uno por ahí. Para el lado del servidor, tendría que usar mod_nss en lugar de mod_ssl . mod_nss le permite usar un controlador PKCS # 11 personalizado mientras que mod_ssl usa el motor por defecto de openssl.

En comparación con otros HSM de propósito específico, no estoy seguro de la estabilidad de usar el Yubikey como un HSM. Esto se debe a que el caso de uso principal de un yubikey es para aplicaciones que requieren acceso único, por ejemplo. autenticación, cifrado de un correo electrónico y no para aplicaciones que requieren acceso continuo. Un servidor bajo carga puede abrumar a Yubikey y resultar en un rendimiento lento.

    
respondido por el limbenjamin 01.01.2015 - 13:55
fuente
0

Apache admite la especificación del dispositivo criptográfico. La directiva se llama SSLCryptoDevice . Puedes especificar

Pkcs11 como el dispositivo. Actualización: según esta respuesta no es compatible con mod_ssl. Esa respuesta sugiere mod_nss, que lo soporta. De acuerdo con enlace mod_gnutls también admite pkcs11.

    
respondido por el Brian Minton 14.05.2018 - 04:00
fuente

Lea otras preguntas en las etiquetas