Solo me estoy preguntando acerca de esto. ¿Necesita una PKI para funcionar?
Una clave HMAC es una clave simétrica , es decir, un grupo de bytes. La "simetría" se relaciona con el siguiente hecho importante: la muy misma clave se utiliza tanto para generar un valor HMAC sobre un mensaje como para verificar el valor HMAC sobre el mensaje. En ese sentido, HMAC es no un algoritmo de firma digital (pero algunas personas todavía están hablando de "firmas" sobre HMAC, lo que es incorrecto y confuso).
La distribución de claves simétricas es un esfuerzo complejo por dos razones:
Para facilitar las cosas, se inventó criptografía de clave pública . También se conoce como criptografía asimétrica ; cuando se utiliza con firmas digitales, la clave utilizada para generar firmas es distinta de la clave utilizada para verificar firmas; están matemáticamente vinculados entre sí, pero no es factible (o eso esperamos) volver a calcular la clave de generación de firmas a partir de la clave de verificación de firmas. Por lo tanto, podemos darnos el lujo de hacer público este último, de ahí el nombre.
La criptografía de clave pública hace que el problema de distribución de claves sea mucho más fácil:
Ahora la criptografía de clave pública hace que la distribución de claves sea más sencilla , no fácil . Aún tiene que encontrar algo que le permita al usuario asegurarse de que usan las claves públicas correctas. Aquí es donde PKI entra en juego: una PKI es un sistema para distribuir claves públicas.
Entonces, ¿cómo irían las cosas en la práctica? Considere SSL / TLS , que se usa a menudo en combinación con HTTP, lo que da como resultado HTTPS. Cuando un navegador web se conecta a un sitio web con tecnología HTTPS:
La imagen completa es que PKI se usa para distribuir claves públicas, y estas claves públicas se usan con criptografía asimétrica para dinámicamente crear un secreto compartido, y ese secreto compartido se usa con algoritmos simétricos como HMAC.
Por lo tanto, no distribuye las claves HMAC directamente con una PKI; hay una capa intermedia.
Lea otras preguntas en las etiquetas cryptography encryption hmac