¿Qué se envía entre un HSM y una aplicación?

3

Cuando una aplicación llama a un HSM utilizando PKCS # 11 / KSP / etc. ¿Qué se intercambia realmente entre los dos? Por ejemplo, si una CA necesita firmar una CRL, ¿se envía realmente la CRL completa al HSM para su firma?

    
pregunta meowingtons 18.07.2017 - 07:45
fuente

2 respuestas

3

Firmar una CRL es como firmar cualquier otro dato e implica varios pasos:

  1. Lea los datos que desea firmar.

  2. Calcule un hash a partir de los datos que desea firmar. Este hash tiene la misma longitud sin importar la longitud de los datos iniciales y diferentes datos darán como resultado un hash diferente.

  3. Encripta el hash con la clave privada. El resultado de esta operación es la firma real.

Luego, esta firma se puede agregar a los datos firmados (agregados a la CRL para obtener el certificado final firmado para seguir su ejemplo) para obtener los datos firmados.

Como puede ver, la clave privada solo está involucrada en el último paso. Sería una pérdida de recursos enviar los datos completos al HSM, por lo que el hash se calcula en el lado de la aplicación y solo se envía el hash al HSM para obtener la firma.

    
respondido por el WhiteWinterWolf 18.07.2017 - 16:38
fuente
1

Observe las funciones que forman parte de la API PKCS # 11. Cuando crea una CRL, se necesita la función C_Sign , que se pasa un valor de hash. La mayoría de los tokens PKCS # 11 también proporcionan capacidades hash, si realmente lo necesitas, también puedes hacerlo con el token en lugar del software, pero esto rara vez se hace.

    
respondido por el mat 18.07.2017 - 16:41
fuente

Lea otras preguntas en las etiquetas