- K. Kwiatkowski (Paulo Kwiatkowski),
- P. Kampanakis (Pedro Kampanakis),
- B. E. Westerbaan (Bruno Eduardo Westerbaan),
- D. Stebila (Daniel Stebila)
Resumo
Este documento define três mecanismos de acordo de chave híbrida para TLS 1.3 -- X25519MLKEM768, SecP256r1MLKEM768 e SecP384r1MLKEM1024 -- que combinam o ML-KEM (Mecanismo de Encapsulamento de Chave Baseado em Módulo) pós-quântico com uma troca ECDHE (Diffie-Hellman Epimérico de Curva Elíptica).¶
Status deste Memorando
Este é um documento de rastreamento de padrões da Internet.¶
Este documento é um produto do Grupo de Tarefa de Engenharia da Internet (IETF). Representa o consenso da comunidade IETF. Foi aprovado para publicação pelo Grupo de Direção de Engenharia da Internet (IESG) após receber revisão pública. Mais informações sobre padrões da Internet estão disponíveis na Seção 2 do RFC 7841.¶
Informações sobre o status atual deste documento, quaisquer erratas e como fornecer feedback podem ser obtidas em:https://www.rfc-editor.org/info/rfc10024.¶
Aviso de Direitos Autorais
Copyright (c) 2026 IETF Trust e as pessoas identificadas como autores do documento. Todos os direitos reservados.¶
Este documento está sujeito ao BCP 78 e às Disposições Legais do Trust da IETF relacionadas a Documentos da IETF.O texto fornecido parece ser um link para informações sobre uma licença, especificamente a licença do Trustee do IETF (Internet Engineering Task Force). Não há um artigo jornalístico a ser traduzido. O conteúdo relevante seria algo como: "Visite https://trustee.ietf.org/license-info para obter informações sobre a licença utilizada pelo Trustee do IETF."Em efeito na data de publicação deste documento. Por favor, examine cuidadosamente esses documentos, pois eles descrevem seus direitos e restrições em relação a este documento. Componentes de código extraídos deste documento devem incluir o texto da Licença BSD Revisada descrita na Seção 4.e das Disposições Legais de Confiança e são fornecidos sem garantia conforme descrito na Licença BSD Revisada.¶
1. Introdução
ML-KEM é um mecanismo de encapsulamento-chave (KEM) definido em...[NIST-FIPS-203]Ele é projetado para resistir a ataques criptográficos de computadores quânticos.¶
[RFC 9954]O texto define um framework para combinar trocas de chaves tradicionais com trocas de chaves de próxima geração no TLS 1.3. O objetivo desta abordagem é fornecer segurança contra adversários clássicos e quânticos, mantendo a compatibilidade com a infraestrutura e protocolos existentes.¶
Este documento aplica o framework no[RFC 9954]O texto: "to ML-KEM e especifica pontos de código para os grupos híbridos."¶
2. Motivação
Este documento apresenta três novos grupos suportados para acordos de chaves híbridas Pós-Quantum Tradicionais (PQ/T).[RFC 9794]em TLS 1.3 -- X25519MLKEM768, SecP256r1MLKEM768 e SecP384r1MLKEM1024 -- que combinam ML-KEM com Ephemeral Elliptic Curve Diffie-Hellman (ECDHE) da maneira descrita em[RFC 9954]Qualquer um dos grupos híbridos especificados neste documento pode ser implementado de uma maneira aprovada pelo FIPS, conforme discutido na Seção 5.Seção 5.¶
-
O primeiro grupo utiliza X25519.[RFC 7748]É amplamente implantado e, frequentemente, é a escolha mais prática para um único combinador híbrido PQ/T.[RFC 9794]Em TLS 1.3.¶
-
O segundo grupo utiliza secp256r1 (NIST P-256)[NIST-FIPS-186]Este grupo apoia casos de uso que exigem que ambos os segredos compartilhados sejam gerados por mecanismos aprovados pelo FIPS.¶
-
O terceiro grupo utiliza secp384r1 (NIST P-384)[NIST-FIPS-186]Este grupo é destinado a ambientes de alta segurança que exigem mecanismos aprovados pelo FIPS com uma margem de segurança aumentada.¶
O estabelecimento de chaves utilizando curvas NIST é descrito na Seção 6.1.2.2 do[NIST-SP-800-56A].¶
3. Termos técnicos
[RFC9954]Define algoritmos "tradicionais" como aqueles já amplamente adotados e algoritmos "de próxima geração" como os que ainda não são amplamente adotados, como algoritmos pós-quânticos. Neste documento, o ECDHE usando Curve25519, P-256 ou P-384 é considerado tradicional, enquanto o ML-KEM é considerado de próxima geração.¶
[RFC9954]Também define uma "troca de chaves híbrida" como a utilização simultânea de múltiplos algoritmos de troca de chaves, com suas saídas combinadas para fornecer segurança desde que pelo menos um dos algoritmos componentes permaneça seguro, mesmo se os outros forem comprometidos. Este documento utiliza o termo "híbrido" com o mesmo significado.¶
As palavras-chave "DEVE", "NÃO DEVE", "O obrigatório", "Deve ser", "Não deve ser", "É recomendado que", "Não é recomendado que", "Sugerido", "Não sugerido", "Pode, eOPCIONAL" neste documento devem ser interpretados como[RFC2119] [RFC8174]quando, e apenas quando, aparecerem em letras maiúsculas, como mostrado aqui.¶
5. Contexto Regulatório
Esta seção fornece notas informais sobre como os mecanismos de acordo de chave híbrida definidos neste documento se relacionam com as orientações existentes do NIST sobre derivação de chave e estabelecimento de chave híbrida.¶
-
Conformidade FIPS. Todos os grupos definidos neste documento permitem a derivação de chave aprovada FIPS conforme[NIST-SP-800-56C]e[NIST-SP-800-135]NIST Special Publication 800-56Cr2[NIST-SP-800-56C]aprova o uso da função de derivação de chave baseada em HMAC (HKDF)[RFC5869]com dois segredos compartilhados distintos, sob a condição de que o primeiro seja calculado por um esquema de estabelecimento de chave aprovado pelo FIPS. O FIPS também exige uma implementação certificada do esquema, que permanecerá mais ubíqua para secp256r1 nos próximos anos. Por esse motivo, o segredo compartilhado ML-KEM é colocado em primeiro lugar em X25519MLKEM768, enquanto o segredo compartilhado ECDHE é colocado em primeiro lugar em SecP256r1MLKEM768 e SecP384r1MLKEM1024. Isso significa que, para SecP256r1MLKEM768 e SecP384r1MLKEM1024, a implementação ECDHE deve ser certificada, enquanto a implementação ML-KEM não requer certificação. Em contraste, para X25519MLKEM768, a implementação ML-KEM deve ser certificada.¶
-
Conformidade com SP800-227Publicação Especial do NIST 800-227[NIST-SP-800-227]oferece orientações gerais sobre o design e uso de mecanismos de encapsulamento de chaves, incluindo construções híbridas. Os acordos de chaves definidos neste documento seguem os princípios descritos na Seção 4.6.[NIST-SP-800-227]que discute a combinação de esquemas de estabelecimento de chaves pós-quânticas e clássicas e o uso de combinadores de chaves aprovados. Em particular, a concatenação de segredos compartilhados e a derivação baseada em HKDF usada pelo TLS 1.3 são consistentes com as construções KEM compostas e as recomendações de combinadores de chaves delineadas nas Seções 4.6.1 e 4.6.2 do[NIST-SP-800-227]. Seção 4.6.3 do[NIST-SP-800-227]Além disso, fornece considerações de segurança relevantes para os projetos híbridos de KEM que subjazem ao método utilizado neste documento.¶
6. Considerações de Segurança
As mesmas considerações de segurança descritas em:[RFC 9954]A aplicação do método utilizado neste documento é crucial. A análise de segurança depende fundamentalmente do registro de mensagens TLS 1.3, e não se pode assumir que uma hibridização semelhante seja segura em outros protocolos.¶
[NIST-SP-800-227]Inclui diretrizes e requisitos para implementações utilizando KEMs de forma segura. Os implementadores são incentivados a utilizar implementações resistentes a ataques de canal lateral, especialmente os que podem ser aplicados por atacantes remotos.¶
Todos os grupos definidos neste documento utilizam e geram chaves públicas de comprimento fixo, textos cifrados e segredos compartilhados, em conformidade com os requisitos descritos em.Seção 6de [RFC9954].¶
Durante o encapsulamento ML-KEM, a aleatoriedade do encapsulamentoé extraídade um gerador de bits aleatórios e criptografada (veja[NIST-FIPS-203], Algoritmos 17 e 20); o cliente, que detém a chave de decapsulamento, entãomexatamente durante a descaptação (ver[NIST-FIPS-203], Algoritmo 18.Qualquer informaçãoque carrega sobre os outros outputs do gerador¶
também é exposta ao cliente.[DUALECTLS]A aleatoriedade da encapsulaçãoNão há texto fornecido para tradução. Por favor, insira o texto em inglês que você deseja traduzir para o português brasileiro.No ML-KEM é um local adicional onde a saída de RNG é divulgada para um atacante ativo. Os implementadores devem seguir as orientações do RBG.[NIST-FIPS-203]e
as orientações para geração de números aleatórios emApêndice C.1Texto: "de" [RFC 9846]Implementadores podem optar por implementar mecanismos a partir de[RFC 8937]Para proteção adicional em várias sessões.¶
Em contraste, os escalares efêmeros do ECDH retirados do Geração Aleatória de Números (RNG) nunca são divulgados diretamente ao peer. No entanto, qualquer observador passivo com acesso a um computador quântico criptograficamente relevante (CRQC) pode recuperar o escalar, que é derivado diretamente da saída do RNG. De qualquer forma, os escalares efêmeros devem ser sempre gerados usando um RNG criptograficamente seguro: para secp256r1 e secp384r1 conforme exigido por...[NIST-SP-800-56A]E para X25519 conforme descrito em...[RFC 7748]Orientação: a ajuda fornecida; o guia em meio ao caos.Apêndice C.1de [RFC 9846]também se aplica aqui.¶
Se o mesmo gerador de números aleatórios inseguro for usado por ambos os algoritmos, então uma divulgação do estado por um dos algoritmos também afetará a segurança do outro algoritmo.¶
7. Considerações IANA
De acordo com este documento, a IANA registrou três novas entradas no registro "Grupos Suportados TLS"TLS Suportados GruposDe acordo com os procedimentos estabelecidos emSeção 6do [RFC9847]]. Esses identificadores devem ser utilizados na versão final do ML-KEM[NIST-FIPS-203].¶
7.1. X25519MLKEM768
Value:4588 (0x11EC)¶
Descrição:X25519MLKEM768¶
Detalhes-OK:Sim¶
Recomendado:Sim¶
Referência:RFC 10024¶
Sem comentário.Combinando X25519 ECDH com ML-KEM-768¶
7.2. SecP256r1MLKEM768
Valor:4587 (0x11EB)¶
Descrição:SecP256r1MLKEM768¶
Detalhes OK:Sim:¶
Recomendado:Não:¶
Referência:RFC 10024:¶
Comentário:Combinando secp256r1 ECDH com ML-KEM-768¶
7.3. Segurança MLKEM 1024
Valor:4589 (0x11ED)¶
Descrição:Segurança SecP384r1MLKEM1024¶
Detalhes OK:Sim¶
Recomendado:N¶
Sem referênciaRFC 10024¶
Sem comentárioCombinando secp384r1 ECDH com ML-KEM-1024¶
7.4. Grupos suportados obsoletos
Pontos de código experimentais para versões pré-padronizadas do Kyber768 foram adicionados ao registro "Grupos Suportados TLS" como X25519Kyber768Draft00 (25497) e SecP256r1Kyber768Draft00 (25498). Este documento obsoleta essas entradas. Para ambas as entradas, o IANA modificou o campo Recomendado para 'D', adicionou este documento como referência e atualizou o campo Comentário para "Versão pré-padronizada de Kyber768. Obsoletada pelo RFC 10024."¶