O Incidente do Backdoor no Dual EC DRBG
Revisite o escândalo do Dual EC DRBG com backdoor da NSA e o que ele revela sobre os riscos da padronização criptográfica.
O Incidente do Backdoor no Dual EC DRBG é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.
O que é o Dual EC DRBG
O Dual Elliptic Curve Deterministic Random Bit Generator (Dual EC DRBG) foi um dos quatro mecanismos DRBG padronizados pelo NIST na SP 800-90A (2006). Ele gera bits pseudoaleatórios usando dois pontos de curva elíptica, P e Q: em cada etapa, calcula r_i = x(s_i * P) (a coordenada x da multiplicação de pontos); depois s_{i+1} = x(r_i * P) atualiza o estado, e output = x(r_i * Q) gera os bits. O gerador parecia legítimo na notação acadêmica. Ele foi incluído na SP 800-90A do NIST e posteriormente recomendado pela RSA Security como padrão em sua biblioteca criptográfica BSAFE, disseminando-se em softwares empresariais e governamentais.
A matemática da porta dos fundos
A porta dos fundos do Dual EC DRBG explora a relação entre P e Q. Se um adversário conhecer um escalar secreto e tal que Q = e * P, então, dado qualquer bloco de saída, poderá calcular: a partir de output = x(r * Q), fazer força bruta sobre a coordenada y de r*Q; depois calcular r*P = (1/e) * (r*Q) mod n. A partir de r*P, poderá prever todas as saídas futuras e recuperar o estado interno. O conhecimento de e é a porta dos fundos — equivale ao logaritmo discreto de Q em relação a P. O padrão do NIST fornecia os valores de P e Q sem explicar como foram escolhidos, tornando impossível verificar se haviam sido gerados aleatoriamente sem um segredo oculto.
Primeiro alerta acadêmico: Shumow e Ferguson
Em agosto de 2007, Dan Shumow e Niels Ferguson apresentaram um artigo seminal na sessão Rump da CRYPTO, intitulado "Sobre a possibilidade de uma porta dos fundos no NIST SP800-90 Dual EC PRNG". Eles demonstraram formalmente que, se alguém conhecesse e (o ECDLP de Q em relação a P), essa pessoa poderia prever toda a saída do Dual EC DRBG com aproximadamente 32 bytes de saída. Eles demonstraram isso com um exemplo simplificado. A apresentação chamou ampla atenção da comunidade de criptografia. Bruce Schneier escreveu: "não temos como saber se a NSA consegue ler a saída do Dual_EC_DRBG ou não". Apesar desse alerta, o Dual EC DRBG permaneceu na norma por mais seis anos.
Os documentos de Snowden: confirmação
Em setembro de 2013, The New York Times, The Guardian e ProPublica publicaram reportagens baseadas em documentos vazados por Edward Snowden, revelando que a NSA havia introduzido secretamente vulnerabilidades em normas criptográficas. Um documento, intitulado "Projeto de capacitação de inteligência de sinais", descrevia um programa de US$ 250 milhões por ano para "influenciar secretamente" normas e produtos de criptografia. Embora o documento não mencionasse explicitamente o Dual EC DRBG, a comunidade de criptografia concluiu amplamente, em conjunto com a demonstração matemática de Shumow e Ferguson, que a NSA havia inserido a porta dos fundos ao escolher P e Q com uma relação e conhecida, mantendo e em segredo enquanto submetia as constantes à NIST.
A RSA Security e o contrato de US$ 10 milhões
A Reuters informou, em dezembro de 2013, que a NSA havia pago US$ 10 milhões à RSA Security para tornar o Dual EC DRBG o padrão no conjunto de ferramentas criptográficas BSAFE da RSA. A RSA Security, então uma divisão da EMC, distribuía o BSAFE em programas empresariais usados por instituições financeiras, empresas de assistência médica e prestadores de serviços governamentais. A declaração da RSA negou que tivesse implementado conscientemente uma porta dos fundos, mas reconheceu ter aceitado o contrato. Essa revelação foi especialmente prejudicial: o BSAFE era comercializado como um produto de segurança, e seus clientes o haviam escolhido especificamente por sua garantia criptográfica. O incidente prejudicou gravemente a reputação da RSA Security e levou a boicotes à conferência da RSA em 2014.
Resposta da NIST e retirada da norma
Após as revelações de Snowden, a NIST tomou várias medidas. Em setembro de 2013, a NIST reabriu o SP 800-90A para consulta pública e recomendou não usar o Dual EC DRBG enquanto a análise estivesse em andamento. Em abril de 2014, a NIST publicou o SP 800-90A Revisão 1, que removeu completamente o Dual EC DRBG — restaram apenas Hash_DRBG, HMAC_DRBG e CTR_DRBG. A NIST também iniciou uma revisão de todas as suas normas e diretrizes criptográficas, examinando especificamente se a influência da NSA havia comprometido outras normas. O grupo de trabalho do Processo de Normas e Diretrizes Criptográficas da NIST foi criado para aumentar a transparência e a participação pública em futuros esforços de padronização.
Impacto na confiança criptográfica
A porta dos fundos do Dual EC DRBG teve implicações profundas para a confiança da comunidade de criptografia nos órgãos de padronização. O caso demonstrou que uma agência nacional de inteligência estava disposta a enfraquecer deliberadamente normas criptográficas usadas no mundo todo, afetando não apenas adversários, mas também aliados, empresas e cidadãos particulares. O incidente acelerou a adoção de algoritmos abertos e auditáveis com números sem nada na manga: o Keccak do SHA-3 usou um algoritmo documentado para gerar suas constantes; BLAKE2 e BLAKE3 derivam constantes das partes fracionárias de constantes matemáticas; Curve25519 usa um número primo (2^255 - 19) escolhido especificamente para ser auditável. A geração "comprovadamente aleatória" de parâmetros de curvas elípticas tornou-se uma prática padrão.
Números sem nada na manga
O escândalo do Dual EC DRBG popularizou o conceito de constantes "sem nada na manga" (NUMS) — parâmetros criptográficos gerados a partir de fontes publicamente verificáveis que não podem conter alçapões ocultos. Exemplos: o SHA-2 usa valores iniciais de resumo derivados das raízes quadradas dos 8 primeiros números primos; as constantes das rodadas são derivadas das raízes cúbicas dos 64 primeiros números primos. BLAKE2 deriva constantes das expansões fracionárias de pi e de outras constantes matemáticas. Ed25519 usa o número primo 2^255 - 19 e um ponto-base cujo logaritmo discreto em relação a qualquer outro ponto é comprovadamente desconhecido (ele é escolhido como o resumo de uma cadeia de caracteres). Essas práticas permitem que qualquer pessoa verifique que as constantes não foram escolhidas com conhecimento secreto.
Dual EC em produtos reais: incidente da Juniper
Em dezembro de 2015, a Juniper Networks divulgou que havia código não autorizado no ScreenOS (seu sistema operacional de proteção de rede) desde 2012. A investigação revelou duas portas dos fundos: uma substituía a constante Q do Dual EC DRBG por um valor controlado pelo invasor (permitindo que o invasor que conhecesse o e correspondente descriptografasse o tráfego da VPN), e uma segunda porta dos fundos estava na senha administrativa do SSH. A substituição de Q no Dual EC era especialmente sofisticada: a Juniper já usava um valor Q não padrão, e o invasor o substituiu pelo seu próprio, explorando duas vezes a estrutura de alçapão do Dual EC. Isso demonstrou que até mesmo implementações que divergiam dos valores P/Q da NIST poderiam ser atacadas por qualquer pessoa que inserisse seu próprio Q.
Lições para a padronização criptográfica
O incidente do Dual EC DRBG ensina várias lições. (1) Transparência: os parâmetros criptográficos devem ter origens verificáveis — constantes sem documentação de derivação são suspeitas. (2) Projeto de algoritmos: os algoritmos não devem ter estruturas que possam ocultar alçapões (a relação Q/P do Dual EC não oferece nenhum benefício de segurança em comparação com projetos mais simples de DRBG). (3) Conflito de interesses: os órgãos de padronização devem gerenciar rigorosamente os conflitos com agências de inteligência. (4) Revisão pela comunidade: os criptógrafos acadêmicos devem ter autonomia para levantar preocupações antes da publicação das normas, não depois. (5) Vigilância na implantação: as organizações devem auditar quais DRBGs suas bibliotecas criptográficas usam e remover proativamente as opções não recomendadas.
Panorama dos DRBGs após a porta dos fundos
Após a remoção do Dual EC, o panorama recomendado de DRBGs se consolidou em torno de Hash_DRBG, HMAC_DRBG e CTR_DRBG. A comunidade de código aberto também adotou DRBGs que não são da NIST em contextos nos quais as normas da NIST não são consideradas confiáveis: os RNGs baseados em ChaCha20 (usados no núcleo do Linux desde a versão 5.17, no OpenBSD e no libsodium) são amplamente vistos como resistentes a portas dos fundos porque ChaCha20 é uma cifra de fluxo simples, sem estruturas de alçapão. Fortuna (usado no FreeBSD e em versões antigas do macOS) é anterior ao SP 800-90A e continua sendo considerado confiável. O incidente do Dual EC também reacendeu o interesse em RNGs de hardware (RDRAND) como fontes de entropia — embora o RDRAND também tenha enfrentado acusações de possível inserção de porta dos fundos, o que levou à recomendação de combiná-lo com entropia de software, em vez de usá-lo exclusivamente.
Questionário sobre a porta dos fundos do Dual EC
Qual relação matemática permite a porta dos fundos do Dual EC DRBG?
Recapitulação da porta dos fundos do Dual EC DRBG
O Dual EC DRBG foi padronizado no NIST SP 800-90A em 2006. Em 2007, Shumow e Ferguson demonstraram que conhecer e (sendo Q=e*P) permite prever toda a saída a partir de 32 bytes. Os vazamentos de Snowden, em 2013, confirmaram a influência da NSA sobre as normas criptográficas. Segundo relatos, a RSA Security recebeu US$ 10 milhões para tornar o Dual EC o padrão no BSAFE. A NIST removeu o Dual EC no SP 800-90A Revisão 1 (2014). O incidente da Juniper, em 2015, mostrou o alçapão sendo explorado em um produto real. As lições incluem constantes NUMS, derivação transparente, gestão de conflitos de interesses e processos de auditoria após a padronização. Os RNGs baseados em ChaCha20 surgiram como uma alternativa confiável.
Perguntas Frequentes
A aula “O Incidente do Backdoor no Dual EC DRBG” é grátis?
Sim — o texto completo de “O Incidente do Backdoor no Dual EC DRBG” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.
O que vou aprender em “O Incidente do Backdoor no Dual EC DRBG”?
Revisite o escândalo do Dual EC DRBG com backdoor da NSA e o que ele revela sobre os riscos da padronização criptográfica. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cryptology Academy?
Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “O Incidente do Backdoor no Dual EC DRBG”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cryptology Academy?
Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- NIST SP 800-90A: Padrões de DRBG
- Aspectos Internos de Hash-DRBG, HMAC-DRBG e CTR-DRBG
- O Incidente do Backdoor no Dual EC DRBG
- Testando e Validando Implementações de RNG