KyberSlash, uma vulnerabilidade que afeta a criptografia quântica Kyber

vulnerabilidade

Se exploradas, essas falhas podem permitir que invasores obtenham acesso não autorizado a informações confidenciais ou geralmente causem problemas

Em meados de 2020 compartilhamos aqui no blog as notícias dos vencedores do concurso «criptoalgoritmos» resistente à seleção em um computador quântico" e mencionava o vencedor do concurso, Kyber, que era o mais adequado para promoção como padrão.

A razão para falar sobre isso é que recentemente Foi divulgada a notícia de que foi detectada uma vulnerabilidade que afeta o Kyber. Esta vulnerabilidade Chamado KyberSlash, permite ataques através de canais laterais reconstruir chaves secretas, com base na medição do tempo de operações durante a descriptografia de um texto cifrado fornecido pelo invasor.

Artigo relacionado:
NIST anunciou os vencedores do concurso para algoritmos resistentes a computadores quânticos

É mencionado quee o problema afeta tanto a implementação de referência do mecanismo de encapsulamento de chave CRYSTALS-Kyber KEM, bem como muitas bibliotecas de terceiros que suportam Kyber, incluindo a biblioteca pqcrypto usada no Signal (o aplicativo de mensagens instantâneas).

O problema central deO KyberSlash está relacionado a ataques baseados no tempo. Esses ataques exploram a maneira como o Kyber realiza certas operações de divisão em seu processo de descriptografia. Em particular, Os invasores podem analisar o tempo de execução dessas operações e obter informações segredo que poderia comprometer a criptografia. Esta vulnerabilidade surge porque o número de ciclos de CPU necessários para divisão em diferentes ambientes varia dependendo das entradas de divisão.

A essência do KyberSlash reside no uso da operação de divisão «t = (((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;» no processo de decodificação de uma mensagem. , em que o dividendo contém o valor secreto “t” do tipo “double” e o divisor é o conhecido valor público KYBER_Q. O problema é que o tempo de uma operação de divisão não é constante e em diferentes ambientes o número de ciclos de CPU realizados para a divisão depende dos dados de entrada. Assim, a partir das alterações nos tempos de operação, pode-se ter uma ideia da natureza dos dados utilizados na divisão.

Para demonstrar vulnerabilidade, Daniel J. Bernstein, um especialista em criptografia, conseguiu preparar uma demonstração funcional demonstrando a possibilidade de realizar o ataque na prática. Em dois dos três experimentos realizados ao executar o código em um Raspberry Pi 2, A chave secreta Kyber-512 foi completamente reconstruída com base na medição do tempo de decodificação dos dados.

O método também pode ser adaptado para chaves Kyber-768 e Kyber-1024 e para que o ataque seja bem-sucedido, o texto cifrado fornecido pelo invasor deve ser processado usando o mesmo par de chaves e o tempo de execução da operação deve poder ser medido com precisão.

Além disso, é mencionado que outra variante foi identificada em algumas bibliotecas (KyberSlash2), que também surge do uso de um valor secreto durante a execução de uma divisão. As diferenças em relação à primeira variante se resumem à chamada na fase de criptografia (nas funções poly_compress e polyvec_compress), em vez da descriptografia. No entanto, a segunda variante pode ser útil para ataques apenas em casos de uso rotineiros em operações de re-criptografia, onde a saída do texto cifrado é considerada confidencial.

Atualmente, Esforços estão sendo feitos para resolver essas vulnerabilidades, com vários projetos e bibliotecas totalmente corrigidos ou em processo de correção. É essencial que os serviços que implementam Kyber atualizem suas implementações para as versões corrigidas para proteção contra essas vulnerabilidades, pois estas são consideradas importantes porque potencialmente permitem a recuperação de chaves secretas, o que representa um risco à segurança dos projetos de criptografia quântica.

O impacto do KyberSlash depende da implementação específica do Kyber e de seus casos de uso. Por exemplo, Mullvad VPN explicou que KyberSlash não afeta seu produto porque usa pares de chaves exclusivos para cada nova conexão de túnel, impossibilitando o lançamento de uma série de ataques sincronizados contra o mesmo par.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no spróximo link.