CoderTools

Derivação de Chave HKDF

Derivação de Chave Extract-and-Expand baseada em HMAC RFC 5869

🔒 100% Processamento localOs dados inseridos são processados inteiramente em seu navegador. Nenhum dado é enviado para qualquer servidor.
Formato de Saída

Documentação HKDF

HKDF (Função de Derivação de Chave Extract-and-Expand baseada em HMAC) é definida na RFC 5869. Ela fornece um método robusto para derivar chaves criptográficas a partir de material de chave de entrada usando um processo de duas etapas: Extração e Expansão.

HKDF é amplamente adotado em protocolos de segurança modernos, incluindo TLS 1.3, Signal Protocol, Noise Protocol Framework e SSH. Sua clara separação das fases de extração e expansão o torna particularmente adequado para derivação de hierarquias de chaves.

Fase de Extração: HKDF-Extract(salt, IKM) → PRK

A fase de extração concentra a entropia potencialmente dispersa do Material de Chave de Entrada (IKM) em uma Chave Pseudoaleatória (PRK) de comprimento fixo:

  • Recebe salt (opcional, padrão HashLen zeros) e IKM como entradas
  • Calcula PRK = HMAC-Hash(salt, IKM)
  • O comprimento do PRK é igual ao comprimento de saída do hash (32 bytes para SHA-256)
  • O salt atua como chave para HMAC, fortalecendo a extração

Fase de Expansão: HKDF-Expand(PRK, info, L) → OKM

A fase de expansão estica o PRK em Material de Chave de Saída (OKM) do comprimento desejado:

  • Recebe PRK, info (contexto/rótulo) e comprimento de saída desejado L
  • Calcula iterativamente T(i) = HMAC-Hash(PRK, T(i-1) | info | contador)
  • Concatena resultados: OKM = T(1) | T(2) | ... | T(N)
  • Comprimento máximo de saída é 255 × HashLen bytes

Casos de Uso Comuns

  • Programação de chaves TLS 1.3: derivação de segredos de tráfego, chaves de handshake e chaves de aplicação
  • Signal Protocol: derivação de chaves de cadeia e chaves de mensagem a partir de segredos compartilhados
  • Troca de chaves SSH: derivação de chaves de criptografia e integridade pós-ECDH
  • Hierarquia de chaves: derivação de múltiplas chaves de propósito específico a partir de um segredo mestre

HKDF vs PBKDF2

Característica HKDF PBKDF2
Padrão RFC 5869 RFC 8018
Tipo de Entrada Segredos compartilhados, saídas DH Senhas de usuário
Iterações Passagem única Muitas (10K-1M)
Velocidade Rápido Intencionalmente lento
Parâmetro Info Sim (vinculação de contexto) Não
Caso de Uso Principal Entrada de alta entropia Senhas de baixa entropia

Considerações de Segurança

  • HKDF assume que o IKM já contém entropia suficiente; não use com senhas fracas
  • O parâmetro info deve identificar exclusivamente o uso pretendido da chave (separação de contexto)
  • O salt é opcional, mas recomendado ao extrair múltiplas chaves do mesmo IKM
  • O PRK nunca deve ser usado diretamente; sempre use a fase de expansão para derivar as chaves finais

Referências Técnicas

Ferramentas Relacionadas

Menu Rápido

Nenhuma ferramenta recente