¿Es posible envolver y exportar la clave privada RSA en hardware compatible con el nivel 3 de FIPS 140-2?

2

Me gustaría hacer lo siguiente en el token criptográfico certificado FIPS 140-3 Nivel 3 utilizando PKCS # 11:

  1. Generar par de claves RSA en el token

  2. Importe la clave AES desde múltiples componentes

  3. Ajustar y exportar la clave privada RSA con clave AES (PKCS # 8) al archivo

Estoy intentando hacerlo con algunas fichas criptográficas FIPS 140-2 Nivel 3 sin éxito. Estoy recibiendo CKR_DEVICE_ERROR.

¿Entonces estoy preguntando si es posible hacer eso? ¿El cumplimiento de FIPS 140-2 Nivel 3 permite ajustar y exportar una clave privada desde el token? ¿O es solo la cuestión de la implementación de PKCS # 11?

    
pregunta user1563721 17.03.2015 - 17:46
fuente

3 respuestas

3

FIPS 140-2 no prohíbe explícitamente la exportación de claves; lo que dice es que el módulo evitará divulgación no autorizada ; además, establece que cuando se exporta una clave privada desde un módulo, se hará con cifrado. La palabra importante es "no autorizado": simplemente cifrar con una clave AES no es suficiente; esa clave también debe ser tal que solo la conozcan los sistemas o personas "autorizadas", y esto depende de muchas otras partes de FIPS 140-2. Básicamente, no puede exportar una clave privada "genéricamente" simplemente por el hecho de haber empleado cifrado; debe ser parte de algún procedimiento documentado que cumpla con los roles y restricciones definidos en FIPS 140-2, y se ha evaluado como parte del proceso que permitió que el módulo fuera "certificado FIPS 140-2 nivel 3".

Para hacer la historia corta:

  • Algunos módulos nunca permitirán exportar una clave privada, independientemente del cifrado.
  • Algunos módulos permitirán exportar una clave privada solo si, en el momento de la generación de claves , se etiquetó como "extraíble" (consulte el atributo "CKA_EXTRACTABLE" PKCS # 11).
  • Algunos módulos permitirán exportar una clave privada, pero solo como parte de un procedimiento completamente especificado que está cubierto por el nivel 3 de FIPS 140-2; en la práctica, esto solo ocurre al mover claves entre dos módulos de hardware que cumplen con la norma 140-2.

Es muy improbable que un módulo certificado FIPS 140-2 nivel 3 permita la exportación de claves privadas sin límites, solo protegido con una clave AES provista externamente, y aún sea el nivel 3 de FIPS 140-2

    
respondido por el Thomas Pornin 17.03.2015 - 18:38
fuente
0

Los HSM de Thales nShield permiten el ajuste de una clave privada. Es posible establecer una ACL de clave para permitir que se ajuste a ella con cualquier clave, y en ese caso, la "autorización" consiste solo en poder cargar la clave privada.

Cuando se usa la biblioteca Thales PKCS # 11, las claves se pueden establecer en CKA_EXTRACTABLE = true para permitir C_WrapKey, y en ese caso, cualquier clave con permisos CKA_WRAP permitirá el ajuste. (De hecho, las claves privadas se pueden establecer en CKA_SENSITIVE = false, incluso cuando se usa FIPS 140-2 nivel 3, y la biblioteca PKCS # 11 las envolverá para extraerlas del límite FIPS y luego las descifrará.)

Ejemplo de certificación FIPS de Thales, con enlace a la Política de seguridad

    
respondido por el armb 18.03.2015 - 12:28
fuente
0

Si el módulo que está utilizando está validado por FIPS 140-2, le recomiendo que lea la Política de seguridad disponible públicamente. Esto, al igual que la documentación del producto, debe indicarle si puede exportar la clave privada. La Política de seguridad está disponible aquí: enlace Es posible que el módulo no admita el ajuste de clave AES en el modo Aprobado. ¡También querrá asegurarse de que el tamaño de la clave AES que está utilizando sea lo suficientemente grande como para que coincida con la fuerza equivalente de la clave RSA, por ejemplo, una clave AES de 128 bits tiene una resistencia estimada menor que una clave RSA de 4096 bits! Esto va en contra de los requisitos de salida de clave FIPS.

    
respondido por el Mr. Stone 24.03.2015 - 14:50
fuente

Lea otras preguntas en las etiquetas