CoderTools

Derivación de claves HKDF

Derivación de claves Extract-Expand basada en HMAC RFC 5869

🔒 100% Procesamiento localLos datos que introduce se procesan completamente en su navegador. No se envían a ningún servidor.
Formato de salida

Documentación de HKDF

HKDF (Función de derivación de claves Extract-and-Expand basada en HMAC) está definida en RFC 5869. Proporciona un método robusto para derivar claves criptográficas a partir de material de clave de entrada usando un proceso de dos etapas: Extracción y Expansión.

HKDF es ampliamente adoptado en protocolos de seguridad modernos incluyendo TLS 1.3, Signal Protocol, Noise Protocol Framework y SSH. Su clara separación de las fases de extracción y expansión lo hace particularmente adecuado para la derivación de jerarquías de claves.

Fase de extracción: HKDF-Extract(salt, IKM) → PRK

La fase de extracción concentra la entropía potencialmente dispersa del material de clave de entrada (IKM) en una clave pseudoaleatoria (PRK) de longitud fija:

  • Toma sal (opcional, por defecto HashLen ceros) e IKM como entradas
  • Calcula PRK = HMAC-Hash(sal, IKM)
  • La longitud del PRK es igual a la longitud de salida del hash (32 bytes para SHA-256)
  • La sal actúa como clave para HMAC, fortaleciendo la extracción

Fase de expansión: HKDF-Expand(PRK, info, L) → OKM

La fase de expansión estira el PRK en material de clave de salida (OKM) de la longitud deseada:

  • Toma PRK, info (contexto/etiqueta) y longitud de salida deseada L
  • Calcula iterativamente T(i) = HMAC-Hash(PRK, T(i-1) | info | contador)
  • Concatena resultados: OKM = T(1) | T(2) | ... | T(N)
  • La longitud máxima de salida es 255 × HashLen bytes

Casos de uso comunes

  • Programación de claves TLS 1.3: derivación de secretos de tráfico, claves de handshake y claves de aplicación
  • Signal Protocol: derivación de claves de cadena y claves de mensaje a partir de secretos compartidos
  • Intercambio de claves SSH: derivación de claves de cifrado e integridad post-ECDH
  • Jerarquía de claves: derivación de múltiples claves de propósito específico a partir de un secreto maestro

HKDF vs PBKDF2

Característica HKDF PBKDF2
Estándar RFC 5869 RFC 8018
Tipo de entrada Secretos compartidos, salidas DH Contraseñas de usuario
Iteraciones Pasada única Muchas (10K-1M)
Velocidad Rápido Intencionalmente lento
Parámetro Info Sí (enlace de contexto) No
Caso de uso principal Entrada de alta entropía Contraseñas de baja entropía

Consideraciones de seguridad

  • HKDF asume que el IKM ya contiene suficiente entropía; no usar con contraseñas débiles
  • El parámetro info debe identificar únicamente el uso previsto de la clave (separación de contexto)
  • La sal es opcional pero recomendada para extraer múltiples claves del mismo IKM
  • El PRK nunca debe usarse directamente; siempre use la fase de expansión para derivar las claves finales

Referencias técnicas

Herramientas Relacionadas

Menú Rápido

Sin herramientas recientes