Editado em 22/07: Um ano depois da publicação original deste texto, o debate continua muito barulhento. O presidente continua a insistir em sua opinião desinformada, enquanto órgãos da grande imprensa tradicional [ex: Globo News] parecem querer interditar o debate.
Minha posição pessoal é que nenhum sistema é seguro. As urnas eletrônicas são ordens de magnitude mais seguras que o voto em papel. Mas não são invulneráveis como certas vozes no jornalismo querem que pensemos. O processo eleitoral nunca está perfeito. Sempre há espaço para melhoramento. Mas é preciso manter aberta a discussão, e este é o motivo da republicação deste material.
Para pesquisa qualificada sugiro as seguintes palavras-chave: Bruce Schneier, electronic, vote. Se quiser pode começar por aqui: The Problem with Electronic Voting Machines – Bruce Schneier. Como sempre, não tenho bons links em português para compartilhar. Segue abaixo o post original de 14/07/2021.
— o —
A discussão a respeito da segurança do voto eletrônico no país tem refletido a mesma polarização observada em outros domínios. De um lado, temos o presidente da república defendendo a impressão do voto, para fins de “confirmação de eventuais fraudes”. De outro lado, o pensamento majoritário do establishment defende o sistema atual de voto eletrônico como absolutamente invulnerável a manipulações. Como sói acontecer, ambos os lados da discussão se deixam levar por falácias.

De um lado [o do Presidente] temos a fetichização do voto; a ideia de que o objeto-urna ou o objeto-voto–impresso são o alfa e o ômega da eleição. De outro temos os guardiões do tabu da Urna Eletrônica Segura e Santificada, refratários a qualquer consideração prática sobre a natureza da segurança de sistemas eletrônicos digitais e da falibilidade humana. Ambos os lados parecem esquecer, se é que chegam a considerar, que a eleição é um processo, no qual objetos físicos (urnas, canetas, pedaços de papel) são pequenos componentes de uma intrincada estrutura. Nenhuma ação isolada em determinada parte componente do sistema vai resultar em solução de qualquer problema.
O que é pior, sinto que a mera discussão do [falso] problema do voto eletrônico x voto impresso está se tornado área proibida. Noto que se quer criar uma atmosfera de repressão à discussão, a qual não posso coonestar. Até mesmo altas instâncias da república se movimentam no sentido de criminalizar a investigação do tema.
Apresento hoje a primeira manifestação do que espero venha a ser uma série de posts visando ampliar o debate sobre esta questão de interesse existencial para o Brasil – que em minha opinião está muito longe de terminar. Na verdade nunca houve debate técnico aberto sobre este tema na sociedade. É preciso envolver as pessoas no debate qualificado [a blogosfera me parece um ambiente mais adequado do que as redes sociais]. Não me furtarei a comentar sobre o assunto quando assim me aprouver, como me é garantido pela Carta Magna [embora, nessas horas, devo admitir que um domínio e um site hospedado no exterior – em uma democracia ainda sólida – fazem a diferença].
De Hashes para Hashes
A necessidade de verificação e supervisão do software dos fabricantes de máquinas de votação tornou-se urgente em 2003, quando a Diebold Election Systems foi descoberta instalando software não certificado em máquinas de quatro municípios da Califórnia, o que levou a empresa a ser acusada de mentir para as autoridades municipais e estaduais sobre o problema.
Desde 2005, as diretrizes do sistema de votação federal americano exigem que os fabricantes de urnas eletrônicas forneçam também às autoridades eleitorais um método confiável para verificar a) se as versões corretas do sistema operacional estão instaladas em suas urnas; b) se o software não foi alterado desde a instalação e c) se não há software não-autorizado rodando no sistema [nada além do sistema operacional deve rodar].
“Se o processo de validação de hash tiver que ser realizado pelo mesmo técnico do fabricante do software”, escreveu o secretário de estado na época, “então o processo de validação perde um de seus principais objetivos, que é garantir que o fabricante seja honesto e cumpra os requisitos de certificação impostos pelo estado”.
Para fazer essa verificação, a Electoral Assistance Commission [EAC – Comissão de Assistência Eleitoral] federal e os laboratórios de teste do sistema de votação, que examinam e certificam o software e hardware de votação, criam um hash “confiável” de cada programa de software eleitoral certificado para uso nas eleições nos EUA. Para os não técnicos, o hash é uma cifra criada – a partir do conteúdo do arquivo – por uma função matemática que não permite reversão [a operação inversa]. Entretanto, um mesmo documento [ou programa de computador] gera o mesmo hash. Isso permite comparar dois documentos [ou dois programas]. Esse hash é então usado como a assinatura do documento ou do programa. Um hash é geralmente do tipo:
127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935
Um mesmo documento, uma mesma assinatura. Assim, quando as autoridades eleitorais recebem um novo software eleitoral [ou atualizações de software existente] para instalar em suas máquinas, eles geram o hash desse software e usam a ferramenta de verificação do fornecedor para comparar esse hash com o hash EAC “confiável” guardado nos arquivos seguros do Sistema Eleitoral.
As jurisdições variam na forma como conduzem as verificações de hash.
Estudo de um caso
O caso enfocado aqui aconteceu em 2020 e dá uma mostra da formidável complexidade do voto eletrônico, complexidade essa que não se deixa capturar por formulações simplistas e voluntarismos inócuos de ambos os lados da polarização política brasileira.
Em setembro de 2020, poucas semanas antes dos eleitores irem às urnas em uma das eleições presidenciais mais críticas e contenciosas do país, as autoridades estaduais no Texas souberam de um problema preocupante com o software eleitoral amplamente usado em seu estado e no país: Brian Mechler, um cientista de computação dos Laboratórios de Pesquisa Aplicada da Universidade do Texas em Austin, descobriu enquanto testava o software da Election Systems & Software [ES&S] no ano passado, que a ferramenta de verificação de hash da empresa nem sempre funcionava corretamente.
O componente não estava envolvido na tabulação de votos; em vez disso, se tratava-se de uma ferramenta de diagnóstico fornecida pela ES&S para auxiliar os técnicos a verificar se o software de votação instalado no equipamento eleitoral era exatamente a versão do software certificada pelo laboratório federal e que o sistema não tinha sido alterado pelo fabricante ou qualquer outra pessoa desde a data da certificação.
Com o software ES&S no Texas foi seguido o seguinte protocolo para detecção de falhas:
- O software extraído do equipamento eleitoral é carregado em uma unidade USB.
- O hash EAC confiável é carregado em uma segunda unidade USB, junto com três scripts: um para fazer o hash do software extraído do equipamento de eleição; um que compara os hashes desse software ao hash EAC; e um terceiro script que relata os resultados dessa verificação de hash.
- As unidades USB são inseridas em um sistema autônomo que não é usado para eleições, onde a verificação de hash é conduzida.
- O script que verifica os hashes é um aplicativo de código aberto chamado “diff”; o script que relata os resultados é um item separado do pacote do software, e de autoria da ES&S.
No fim do processo de inspeção, Mechler encontrou o problema no script de relatório, que indicava hashes iguais mesmo quando não havia dois hashes sendo comparados. Isso foi descoberto por acidente quando Mechler um dia se esqueceu de carregar no sistema o hash EAC confiável que fazia a verificação de hash.
No relatório que escreveu para o gabinete do secretário de estado, Mechler criticou a ES&S por produzir um roteiro de verificação mal escrito [uma falha, portanto, de processo].
O script deveria ter executado verificações explícitas sobre a existência dos dois arquivos que estão sendo comparados, devendo falhar ruidosamente caso um deles não exista. Este bug indica que a ES&S não desenvolveu seu processo de verificação de hash com […] qualidade suficiente
Mas não foi apenas a ES&S que falhou em verificar a precisão do script. Os fornecedores são obrigados a incluir o método ou ferramenta de verificação no pacote de seu software de votação. Mas não há indicação de que os laboratórios concretamente verificam se os métodos e ferramentas de verificação do software fornecidas pelo fabricante funcionam; eles simplesmente verificam se o fornecedor enviou a ferramenta.
O Government Accountability Office [GAO – Escritório de Auditoria do Governo] reconheceu esse problema há mais de uma década em um relatório publicado em 2008. O GAO aconselhou o EAC a criar um repositório certificado de software de urnas eletrônicas, estabelecer procedimentos para conduzir verificações de hash desse software e criar um protocolo para testar as ferramentas de verificação de hash do fornecedor e certificar-se de que funcionam.
Quatro anos depois, no entanto, o GAO observou que o EAC havia ignorado seus conselhos e não tinha planos de desenvolver padrões para ferramentas de verificação de hash ou um protocolo de teste para verificar se funcionavam corretamente. Isso significava, escreveu o GAO, que as jurisdições estaduais e locais não teriam “os meios para verificar de forma efetiva e eficiente se os sistemas de votação usados nas eleições federais estão usando o mesmo software que os certificados pela EAC”.
A falha relatada aqui refere-se a apenas um dos componentes do software [a aplicação que gera o relatório do sistema]. Mas veja que em qualquer dessas fases uma vulnerabilidade pode estar à espreita; nas pessoas, nos dispositivos, nos procedimentos, etc. Eu poderia passar dias [ou meses] postando sobre problemas semelhantes. Eu poderia até mesmo citar as suspeitas que eu mesmo tive sobre as urnas eletrônicas, vividas pessoalmente na jornada eleitoral de 2000. Mas deixo para depois. Fico com a análise fria dos fatos.
De fato, estou começando a pesquisa para uma revisão sistemática dos artigos acadêmicos que apontam problemas nos sistema de votação eletrônicos – que espero publicar aqui quando as circunstâncias permitirem. Já no início do trabalho noto que, ao contrário do Brasil, artigos críticos ao voto eletrônico pululam na Internet anglófona, notadamente nos EUA. Essa revisão poderá ser o primeiro post da discussão que pretendo encetar na medida em que o ciclo eleitoral de 2022 evolui.
Fonte consultada e citada: https://zetter.substack.com/p/votings-hash-problem-when-the-system