Tudo o que vale a pena saber, nada do que não vale.
O que foi removido?
O TLS 1.3 remove a troca de chaves RSA, o DH estático, as cifras em modo CBC, MD5 e SHA-1 no handshake, a compressão (a classe de ataques CRIME) e a renegociação. O que permanece: ECDHE para sigilo de encaminhamento, AES-GCM/ChaCha20-Poly1305 para AEAD e SHA-256/384 para hash de transcrição. A lista de conjuntos de cifras passou de dezenas para cinco. Isso é uma vantagem.
O que mudou no aperto de mãos?
O TLS 1.3 realiza uma única ida e volta para o handshake completo (em vez de duas) e suporta a retomada de conexões com RTT zero. Numa conexão entre transceptor e recetor SMPP que se reconecta a cada poucas horas, a economia no RTT se acumula. Mais importante ainda, o handshake mais simples eliminou a superfície de ataque de downgrade que afetava o TLS 1.2 (POODLE, FREAK, Logjam).
O que os clientes SMPP devem verificar
Três coisas. A sua biblioteca cliente suporta TLS 1.3 (a maioria suporta a partir de 2022; verifique OpenSSL >= 1.1.1, JSSE no JDK 11+, Go 1.12+). O SMSC aceita TLS 1.3. A lista de cifras do seu lado inclui pelo menos uma das seguintes: `TLS_AES_128_GCM_SHA256` ou `TLS_CHACHA20_POLY1305_SHA256`.
Onde o TLS 1.2 ainda persiste
Algumas pilhas SMSC legadas (Acision a correr em RHEL 5, certos nós Huawei) têm como limite o TLS 1.2 porque o OpenSSL subjacente está em fim de vida útil. Negociamos versões inferiores quando necessário, mas para qualquer nova conexão, exigimos TLS 1.3. Para fins de auditoria do PDPL, todo o SMPP de produção na BroadNet utiliza TLS 1.3 com fixação de cifra.