Nova técnica de ataque de canal lateral para recuperar chaves ECDSA

Pesquisadores da Universidade. Masaryk descoberto informação sobre vulnerabilidades em diversas implementações do algoritmo de criação de assinatura digital ECDSA/EdDSA, que permite restaurar o valor de uma chave privada com base na análise de vazamentos de informações sobre bits individuais que surgem ao usar métodos de análise de terceiros. As vulnerabilidades receberam o codinome Minerva.

Os projetos mais conhecidos afetados pelo método de ataque proposto são OpenJDK/OracleJDK (CVE-2019-2894) e a biblioteca libgcrypt (CVE-2019-13627) usado no GnuPG. Também suscetível ao problema MatrizSSL, Crypto ++, loboCrypt, elíptico, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, fácil-ecc e cartões inteligentes Athena IDProtect. Não testados, mas os cartões Valid S/A IDflex V, SafeNet eToken 4300 e TecSec Armored Card, que utilizam módulo ECDSA padrão, também são declarados como potencialmente vulneráveis.

O problema já foi corrigido nas versões libgcrypt 1.8.5 e wolfCrypt 4.1.0, os demais projetos ainda não geraram atualizações. Você pode acompanhar a correção da vulnerabilidade no pacote libgcrypt nas distribuições nestas páginas: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, arco.

Vulnerabilidades não suscetível OpenSSL, Botan, mbedTLS e BoringSSL. Ainda não testado Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL no modo FIPS, Microsoft .NET crypto,
libkcapi do kernel Linux, Sodium e GnuTLS.

O problema é causado pela capacidade de determinar os valores de bits individuais durante a multiplicação escalar em operações de curva elíptica. Métodos indiretos, como estimativa de atraso computacional, são usados ​​para extrair informações de bits. Um ataque requer acesso sem privilégios ao host no qual a assinatura digital é gerada (não excluído e um ataque remoto, mas é muito complicado e requer uma grande quantidade de dados para análise, por isso pode ser considerado improvável). Para carregar está disponível ferramentas usadas para o ataque.

Apesar do tamanho insignificante do vazamento, para o ECDSA a detecção de até mesmo alguns bits com informações sobre o vetor de inicialização (nonce) é suficiente para realizar um ataque para recuperar sequencialmente toda a chave privada. Segundo os autores do método, para recuperar uma chave com sucesso, é suficiente uma análise de várias centenas a vários milhares de assinaturas digitais geradas para mensagens conhecidas do invasor. Por exemplo, 90 mil assinaturas digitais foram analisadas usando a curva elíptica secp256r1 para determinar a chave privada usada no cartão inteligente Athena IDProtect baseado no chip Inside Secure AT11SC. O tempo total de ataque foi de 30 minutos.

Fonte: opennet.ru

Adicionar um comentário