Uma cipher string que funcionou por anos de repente parece não ter efeito no TLS 1.3, e a razão é que o 1.3 redefiniu a cipher suite.

Duas noções diferentes de suite

Uma cipher suite TLS 1.2 é um pacote: ela nomeia o método de troca de chaves, o método de autenticação, a cifra de criptografia em massa e o MAC, tudo de uma vez, que é por que nomes como ECDHE-RSA-AES128-GCM-SHA256 são tão longos. A cipher string baseada em keywords existe para selecionar e filtrar por todas essas dimensões.

Uma cipher suite TLS 1.3 nomeia apenas duas coisas: a cifra em massa (criptografia autenticada com dados associados, do inglês authenticated encryption with associated data) e seu hash. O conjunto completo é minúsculo e fixo, essencialmente variantes de - e ChaCha20-Poly1305 (por exemplo TLS_AES_128_GCM_SHA256). Troca de chaves e autenticação não fazem mais parte da suite; o 1.3 sempre usa efêmero para forward secrecy e negocia o grupo e o algoritmo de assinatura separadamente. Não há nada a "selecionar" para troca de chaves em uma suite 1.3 porque isso não está codificado lá.

O que isso significa no BIG-IP

Como as duas versões carregam informações diferentes, o BIG-IP as trata em trilhas separadas. As keywords de cipher string que filtram o 1.2 por troca de chaves ou autenticação (coisas como exigir , ou excluir troca de chaves ) não têm uma suite 1.3 sobre a qual agir, então simplesmente não restringem o 1.3. As suites 1.3 são seu próprio grupo pequeno, habilitadas quando o TLS 1.3 é habilitado no profile, e as cipher rules do BIG-IP entendem keywords de 1.3 para os casos em que você de fato quer incluí-las ou excluí-las.

A lição prática é parar de pensar em uma lista de ciphers como governando tudo. Para 1.2 e anteriores, a string de keywords faz o trabalho pesado por troca de chaves, autenticação e cifra em massa. Para 1.3, a escolha da cifra em massa é um menu fixo e curto, e as propriedades de segurança que você costumava selecionar com keywords (forward secrecy, autenticação forte) estão embutidas no protocolo ou negociadas por configurações separadas de grupo e assinatura. Quando uma keyword parece ignorada, verifique se a conexão é de fato 1.3, onde essa keyword pode não ter a que se ligar.

Para ver tudo isso acontecendo em uma conexão real, The Illustrated TLS 1.3 Connection anota cada byte de um handshake TLS 1.3 de verdade, registro por registro e campo por campo.

A consequência prática para uma regra de cifra

Como as duas noções de suíte são diferentes, a mesma linha de configuração não pode governar as duas. Isso produz uma falha específica e silenciosa: uma regra restritiva escrita contra suítes 1.2 deixa a negociação 1.3 intocada, e nada reporta erro porque nada deu errado — uma suíte foi oferecida, uma suíte foi escolhida, e simplesmente não era uma sobre a qual a regra tivesse opinião.

A verificação é sempre a mesma: olhe o que uma conexão real negociou, versão de protocolo e suíte juntas, em vez do que a configuração diz que deveria acontecer. Um controle que você não observou funcionando é um controle que você está supondo.