Análise de side-channel em Secure Elements
Ataques eletromagnéticos de side-channel e o que a pesquisa pública revela sobre os limites do hardware certificado.
A maioria das falhas de segurança em hardware ocorre no nível do chip: firmware, cadeias de suprimentos, software complementar ou comportamento do usuário. Na maior parte dos incidentes documentados, o Secure Element é contornado, e não quebrado. Os artigos anteriores desta série detalharam esse ponto.
No entanto, o próprio chip também já foi invadido. Encontramos registros documentados de ataques físicos diretos contra secure elements. Esses ataques miram as operações criptográficas do próprio chip, extraem chaves secretas e têm sucesso apesar das defesas de hardware para as quais o chip foi projetado.
Este artigo aborda os casos documentados mais relevantes envolvendo pesquisas sobre side-channel eletromagnético.
O que é um ataque eletromagnético de side-channel?
Um ataque eletromagnético de side-channel é uma técnica que monitora as emissões de rádio de um chip durante operações criptográficas para inferir as chaves secretas utilizadas.
Esse ataque explora o fato de que um chip físico realizando operações criptográficas vaza informações por fenômenos físicos observáveis (consumo de energia, variação de tempo, emissões eletromagnéticas) que se correlacionam com os valores secretos processados.
Em um algoritmo criptográfico de tempo constante perfeito, todas as operações levam o mesmo tempo e consomem a mesma energia, independentemente dos dados de entrada. Essa é a defesa padrão contra ataques de timing e energia. O fabricante precisa tornar o sinal uniforme para que nada seja observado.
O desafio é que atingir um comportamento realmente de tempo constante em toda a implementação criptográfica é difícil, e pequenas variações são fáceis de introduzir e difíceis de detectar.
Casos de análise de side-channel em SEs
Caso 1: NXP A700X / Google Titan Security Key
ELETROMAGNÉTICO SIDE-CHANNEL · NinjaLab · USENIX Security 2021 · CVE-2021-3011
O NXP A700X é um secure element da família P5x da NXP Semiconductors, uma linha de microcontroladores seguros usados em cartões inteligentes bancários, documentos de identidade e tokens de autenticação de hardware. O A700X é o chip presente na Google Titan Security Key, o token de autenticação de dois fatores da Google usado para proteger contas Google e autenticação FIDO U2F. Ele também foi encontrado no YubiKey NEO da Yubico e em tokens de autenticação da Feitian.
A função do chip é gerar e armazenar uma chave privada ECDSA durante o registro do dispositivo, e depois usar essa chave para assinar desafios de autenticação. O protocolo FIDO U2F é explicitamente projetado para que a chave privada nunca saia do dispositivo. Não existe interface legítima para exportá-la.
Como o ataque foi executado
Para entender a implementação ECDSA da NXP sem acesso ao código-fonte, os pesquisadores usaram primeiro o NXP J3D081, uma plataforma JavaCard open-source que utiliza a mesma biblioteca criptográfica do A700X.
Eles reverteram a estrutura do algoritmo no J3D081, o que forneceu os dados de referência necessários para localizar o cálculo vulnerável no chip A700X alvo.
Preparação física: Um soprador de ar quente e um bisturi foram usados para remover a carcaça plástica do Titan, expondo o NXP A700X. A sonda EM foi posicionada próxima à superfície do chip. O dispositivo permaneceu totalmente funcional, pois não foi necessária modificação permanente.
Coleta de dados: Aproximadamente 6.000 operações de assinatura ECDSA foram disparadas ao enviar desafios de autenticação para o Titan. Cada operação gerou um traço EM. A coleta completa levou cerca de seis horas.
Recuperação da chave: Os traços EM foram processados offline usando algoritmos de recuperação de chave baseados em lattice. A chave privada ECDSA foi extraída com sucesso. Os pesquisadores então usaram a chave recuperada para construir um clone de software capaz de se passar pelo Titan físico para qualquer conta registrada.
Equipamentos utilizados: Sonda EM Langer de campo próximo, micromanipulador Thorlabs de três eixos, osciloscópio Pico Technology PicoScope. O custo total dos equipamentos é de aproximadamente US$ 13.000.
Acesso físico necessário: Algumas horas com o dispositivo. É preciso abrir a carcaça plástica do Titan, deixando evidências visíveis de manipulação. O dispositivo permanece funcional e pode ser devolvido à vítima.
O que esse ataque revela
O ataque ao NXP A700X é uma extração direta e bem-sucedida de uma chave privada de um chip projetado para impedir tal extração. A garantia de segurança do protocolo FIDO U2F — de que a chave nunca sai do dispositivo — foi quebrada ao ler informações vazadas da implementação física desse algoritmo no chip.
A família P5x da NXP havia recebido certificação CC, com a última avaliação em 2015. A relevância do ataque para o hardware atual é limitada. Mas ele evidencia o que a certificação CC pode deixar passar.
Caso 2: Infineon SLE78 / EUCLEAK (YubiKey 5 Series)
ELETROMAGNÉTICO SIDE-CHANNEL · NinjaLab · CHES 2024 · CVE-2024-45678
O Infineon SLE78 é uma das famílias de secure element mais amplamente utilizadas no mundo. É o chip presente na YubiKey 5 Series, a chave de segurança de hardware mais popular do mundo. Ele também aparece em uma ampla variedade de aplicações críticas para segurança:
- Passaportes eletrônicos,
- Cartões inteligentes bancários,
- Sistemas automotivos de chaves,
- Infraestrutura de autenticação IoT,
- Carteiras de hardware para criptomoedas.
O SLE78 possui certificação CC EAL6+, o segundo nível mais alto de garantia disponível e padrão para aplicações comerciais que exigem máxima segurança. Ele já passou por cerca de 80 avaliações CC distintas em diferentes configurações de produto.
A biblioteca criptográfica da Infineon é proprietária. Ela é compilada no firmware do chip e não é documentada publicamente.
Como a vulnerabilidade foi encontrada: abordagem de plataforma aberta
Thomas Roche, do NinjaLab, seguindo a mesma metodologia usada na pesquisa do Google Titan em 2021, começou estudando a Feitian — uma plataforma aberta e programável baseada em um chip Infineon SLE78 similar, que utiliza a mesma biblioteca criptográfica da YubiKey 5.
Com a vulnerabilidade caracterizada na plataforma aberta da Feitian, Roche avançou para a YubiKey 5Ci real.
Preparação física: A carcaça externa da YubiKey foi aberta e a sonda EM posicionada próxima à superfície do SLE78. O dispositivo permaneceu funcional.
Coleta de dados: Traços EM foram coletados durante operações de assinatura ECDSA, a mesma operação realizada toda vez que a YubiKey é usada para autenticação.
Recuperação da chave: Cada traço capturou as emissões EM durante o passo de inversão modular. A chave privada ECDSA foi recuperada com sucesso usando algoritmos baseados em lattice.
Custo dos equipamentos: Aproximadamente €10.000, incluindo o notebook usado para processamento offline.
Janela de acesso físico: Bastam alguns minutos com o dispositivo para coletar as aquisições EM necessárias. O processamento offline exige tempo adicional, mas não requer mais acesso físico.
O que essa pesquisa revela
Isso significa que a YubiKey poderia ser clonada. Um atacante sofisticado, com acesso físico temporário ao dispositivo, um setup de sondas e o tempo de computação offline necessário, pode produzir uma cópia de software capaz de gerar respostas válidas de autenticação para qualquer conta registrada naquela YubiKey.
A metodologia de avaliação pode não ter incluído equipamentos de medição EM suficientemente sensíveis. Os avaliadores CC EAL podem ter focado a análise em operações matemáticas diferentes dentro da rotina de assinatura.
EUCLEAK é a evidência pública mais clara de que a certificação CC EAL6+ significa que o chip foi testado contra técnicas conhecidas e modelos de ameaça definidos.
O que os dois casos de side-channel demonstram
Considerando em conjunto, o ataque ao NXP A700X e o EUCLEAK formam um registro documentado de ataques físicos diretos contra chips seguros e chips adjacentes. Cada um mirou um fabricante diferente, com a mesma técnica, e obteve sucesso.
Chip | Técnica | Ano | Descoberta principal |
|---|---|---|---|
NXP P5x family (CC EAL4+) | EM side-channel (SCA) | 2021 | Chave privada ECDSA extraída; token FIDO clonado sem detecção. Falha em multiplicação escalar sem tempo constante na cryptolib ECC da NXP. |
Infineon SLE78 (CC EAL6+) | EM side-channel (timing via EEA) | 2024 | Chave privada ECDSA extraída de um chip certificado EAL6+. Vulnerabilidade não detectada ao longo de 14 anos e ~80 avaliações CC. |
Esse é o desafio fundamental do design de secure elements: a criptografia correta é necessária, mas não suficiente. A implementação também precisa ser de tempo constante, devidamente blindada e resistente à análise de side-channel.
Conclusões
Ambos os ataques descritos neste artigo exigiram que o pesquisador tivesse o dispositivo em mãos por minutos ou horas, utilizasse equipamentos laboratoriais especializados e caros (€10.000–$13.000 no mínimo) e tivesse conhecimento avançado em análise eletromagnética de side-channel e criptoanálise baseada em lattice. Nenhum deles pode ser realizado remotamente, nem deixam o dispositivo com aparência de danificado.
Para você, usuário comum de carteira de hardware, o inimigo realista não é um laboratório estatal com uma sonda Langer e um suíte de processamento de sinais. São os golpes de phishing, engenharia social, softwares maliciosos e armazenamento comprometido de seed phrase.
Fontes primárias
Caso 1 — NXP A700X / Google Titan:
- Artigo completo: ninjalab.io/a-side-journey-to-titan/ e eprint.iacr.org/2021/028
- Apresentação USENIX Security 2021: usenix.org/conference/usenixsecurity21/presentation/roche
- CVE-2021-3011
Caso 2 — Infineon SLE78 / EUCLEAK:
- Artigo completo e página oficial da pesquisa: ninjalab.io/eucleak/
- Cryptology ePrint Archive: eprint.iacr.org/2024/1380
- Aviso de segurança da Yubico: YSA-2024-03
- CVE-2024-45678 — NVD/NIST
- Apresentação CHES 2024: hardwear.io/netherlands-2024/presentation/eucleak.pdf