Resumo

  • A RFC 9827 renomeia o Transform Type 5 e os IDs 0 e 1 sem mudar bits no fio ou processamento AH/ESP. O espaço passa a descrever propriedades gerais de sequência.
  • Os IDs 0 e 1 garantem contadores crescentes, sem wrap e únicos em toda a SA na entrada da rede. Eles são adequados ao anti-replay, mas cada receptor decide localmente se aplica a janela.
  • Negociação, alocação no emissor, fluxo agregado, observação, autenticação, janela, descarte e segurança de IIV/AGGFRAG são fatos diferentes.

O nome antigo confundia formato com finalidade

Publicada no Standards Track em novembro de 2025, a RFC 9827 parece apenas um ajuste de nomenclatura. Extended Sequence Numbers vira Sequence Numbers. O ID 0 passa de No Extended Sequence Numbers para 32-bit Sequential Numbers; o ID 1, para Partially Transmitted 64-bit Sequential Numbers. A semântica existente continua. O pacote AH ou ESP não ganha nem perde bits.

O efeito conceitual é maior. O Type 5 não escolhe somente a largura de um contador. Ele declara propriedades: tamanho lógico, parte transmitida, monotonicidade, impossibilidade de wrap e unicidade dentro da SA. Um formato futuro pode manter o campo e não garantir unicidade; outro pode transmitir todos os bits; outro pode não ter número visível.

O registro atual da IANA já contém o exemplo. A RFC 9838 criou o ID 2, 32-bit Unspecified Numbers. O campo existe, mas a unicidade da SA não é garantida. Os IDs 3–1023 estão livres e 1024–65535 ficam para uso privado. Portanto, “Type 5 selecionado” não informa, sozinho, se replay protection é possível.

O inventário operacional precisa guardar o ID exato, a referência que o define e os limites da propriedade. Uma indicação genérica de suporte a ESN é incapaz de responder à pergunta de segurança.

A propriedade é medida antes dos efeitos da rede

A RFC 9827 define as propriedades dos números dos pacotes IPsec de uma SA quando esses pacotes entram na rede. O número pode ser lógico. No ID 1, apenas os 32 bits inferiores são transmitidos; o receptor reconstrói os superiores usando seu histórico autenticado.

A propriedade vale para o conjunto da SA, não para a intenção de cada thread ou sender. Dois emissores multicast, dois cores ou duas filas de offload podem incrementar corretamente seus estados locais e ainda reservar o mesmo valor. A soma de logs locais verdes não prova unicidade no fluxo agregado.

Depois da entrada, a rede pode duplicar, reordenar e perder. Um único pacote vira duas observações; uma série crescente chega fora de ordem; uma perda cria lacuna; dois pontos de captura contam o mesmo objeto. Um duplicado visto no destino não prova reutilização no emissor, e a negociação não descreve a sequência que chegou.

Essa fronteira atribui cada afirmação ao seu dono real. O emissor controla geração e injeção. A rede controla o transporte. O receptor controla aceitação. As notas de Heng Lu oferecem a disciplina adequada: registros descrevem realidade observável, e uma especificação comum não deve transformar publicação em resultado operacional.

Adequado para anti-replay não significa anti-replay ativo

O ID 0 fornece um contador de 32 bits, transmitido, crescente, único e sem wrap. O ID 1 fornece um contador lógico de 64 bits, transmitindo apenas a metade inferior, também único e sem wrap. A RFC 9827 os considera adequados para replay protection.

As RFCs 4301, 4302 e 4303 deixam o uso do serviço ao receptor, por SA. Toda implementação deve suportá-lo, mas uma SA específica pode desativá-lo. Nesse caso, o receptor não faz verificação inbound do Sequence Number.

Quando ativo, o mecanismo usa uma janela deslizante. Valores à esquerda são antigos; posições já marcadas são duplicadas; um valor novo autenticado move a borda direita. O tamanho da janela é local e não é sinalizado ao emissor. Receptores do mesmo tráfego podem tolerar níveis distintos de reordenação.

O estado só pode avançar depois da integridade. Um precheck barato pode evitar criptografia para números obviamente velhos, mas um número alto não autenticado não pode mover a janela. Caso contrário, uma injeção expulsaria pacotes legítimos. Em ESN, a autenticação também sustenta a inferência dos bits superiores. Ainda assim, autenticidade e novidade são decisões diferentes: um replay pode ser criptograficamente válido.

A negociação não administra a contagem

No IKEv2, proposals e transforms constroem a Child SA. Na nomenclatura antiga, um iniciador que aceitava as duas opções normalmente oferecia IDs 0 e 1; oferecer apenas 1 recusava o modo comum de 32 bits. A seleção do responder fixa o contrato.

O recibo deve preservar ofertas, escolha, Child SA, direção, SPI, peer, build e política. Preferência de configuração não é seleção observada.

Também não é execução. Gateways distribuem uma SA por cores, NIC queues e aceleradores. Um standby pode receber a chave sem o último checkpoint. Um reboot pode restaurar um epoch anterior. O ID negociado permanece correto enquanto o stream repete valores.

É necessário identificar o dono da alocação SA-wide: reserva de faixas, persistência, epochs, coordenação com offload, transferência no failover e rekey antes do limite. A RFC 4303 não oferece sincronização para múltiplos emissores da mesma SA.

O mesmo número pode carregar quatro causas

Dois pacotes autenticados com o mesmo SPI e número podem resultar de reutilização na entrada, duplicação na rede, captura do mesmo pacote em dois lugares ou replay hostil. Os bytes não estabelecem a causa.

A análise deve juntar fingerprint no ponto de injeção, localização das capturas, horário, autenticação e veredito da janela. Para ID 1, inclui os bits altos inferidos e o estado que os sustentou. Um recibo de rejeição registra a janela antes e depois, a classificação old/duplicate/new e o destino final do pacote.

Da mesma forma, um único efeito na aplicação não prova que a janela agiu. Talvez não houvesse cópia, outro equipamento a tenha descartado ou o serviço estivesse desativado. O resultado precisa de um veredito explícito.

IIV transforma unicidade em requisito criptográfico

A RFC 8750 deriva um IV implícito do número ESP para determinados algoritmos AEAD. O IV não pode repetir sob a mesma chave. Se dois emissores colidem, desligar anti-replay não torna o evento seguro: o nonce já repetiu.

Por isso IIV é proibido quando existe possibilidade de sobreposição, e multicast requer um mecanismo compartilhado para evitá-la. O Type 5, a arquitetura real do gerador e o limite de rekey formam uma única justificativa de segurança.

A RFC 9347 usa outra propriedade. AGGFRAG/IP-TFS recompõe pacotes internos segundo a ordem lógica dos pacotes ESP externos. ESP comum exige aumento, mas permite lacunas — somente números pares, por exemplo. AGGFRAG exige +1 a cada pacote subsequente e define o papel de pacotes all-pad. Sua reorder window pode ser diferente da replay window.

IDs 0 e 1 são necessários, mas não suficientes. A implementação precisa provar alocação consecutiva, continuidade dos fragmentos e uma troca de SA que não divida o mesmo pacote interno entre duas chaves e dois espaços de sequência.

O ID 2 torna o limite inequívoco

Na RFC 9838, o ID 2 comunica a membros G-IKEv2 que uma SA multicast com vários emissores não garante unicidade. O receptor ainda decide sua política local, mas o input já não sustenta anti-replay convencional.

As consequências são diretas: sem unicidade, nada de cipher com IV implícito; sem um stream crescente único, nada de AGGFRAG multi-sender. Campo presente, propriedade negociada e enforcement local não podem ocupar a mesma coluna.

Oito recibos fecham a afirmação

Uma declaração auditável mantém oito registros: semântica IANA; offer e selection; custódia do gerador; propriedade do stream agregado na entrada; política e janela do receptor; pacotes observados e autenticados; veredito de replay; compatibilidade de IIV, AGGFRAG e IDs futuros.

Cada estágio responde a uma pergunta própria. A RFC 9827 é cuidadosa ao dizer que não muda a segurança de AH, ESP ou IKEv2. Seu ganho está em oferecer uma linguagem na qual operações também possa ser cuidadosa — e pare de usar “formato negociado” como sinônimo de “ataque rejeitado”.

Fontes