Sweet32
folclorecriptografia
Um ataque de 2016 que explora limites de aniversário em cifras de bloco de 64 bits como o 3DES.
O Sweet32 mostrou que cifras com bloco de 64 bits, como 3DES e Blowfish, vazam dados quando tráfego suficiente é cifrado sob uma única chave, por causa de colisões de bloco. Impulsionou a descontinuação do 3DES no TLS.
O Sweet32 explora uma propriedade das cifras de bloco de 64 bits, e não uma falha de implementação. Com bloco pequeno, o limite do aniversário chega num volume prático de dados: após cerca de 32 gigabytes numa mesma chave, dois blocos de texto cifrado provavelmente colidem, e uma colisão vaza informação sobre o texto claro.
O que o tornou real, e não teórico, foram as conexões longas. Uma sessão HTTPS ou VPN persistente que carrega tráfego suficiente alcança esse volume, e um navegador pode ser induzido a gerá-lo. 3DES e Blowfish eram as cifras afetadas, ambas ainda habilitadas por compatibilidade muito depois de existirem opções melhores.
A resposta foi aposentar as cifras de bloco de 64 bits, e não trocar de chave com mais frequência, que é a escolha correta de engenharia: uma mitigação que depende de ninguém exceder um limite de dados falha assim que alguém excede. É também boa ilustração de que parâmetros criptográficos têm condições de expiração embutidas na matemática. Tamanho de bloco, de chave e de nonce implicam um volume de uso além do qual a garantia deixa de valer, e esses limites chegam mais cedo conforme as redes ficam mais rápidas.
Também conhecido como: Sweet32, CVE-2016-2183
Fontes
- CVE-2016-2183 (2016)