'Certificado' significa que passou num teste uma vez. Não significa que seja seguro hoje.
Uma revisão de segurança aprovou o sistema. Depois investigadores externos encontraram a falha — enquanto 280.000 pessoas já estavam a votar. A palavra 'certificado' não impediu que isso acontecesse.
É a terceira semana de março de 2015, e a eleição do estado de Nova Gales do Sul está em curso. Centenas de milhares de votantes já depositaram os seus boletins de voto online através de um sistema chamado iVote. A autoridade eleitoral executou as suas verificações de segurança. O sistema foi revisto. Ninguém levantou um alerta.
Depois dois investigadores — J. Alex Halderman da Universidade de Michigan e Vanessa Teague na Austrália — apontam um navegador para o sistema em funcionamento e direto.
Não são funcionários eleitorais. Não têm acesso privilegiado. Estão a trabalhar do exterior, examinando o que qualquer adversário com capacidade de rede poderia alcançar.
O que encontram não é uma vulnerabilidade teórica enterrada num protocolo obscuro. É um caminho de ataque que funciona. O sistema iVote estava a carregar código a partir de um servidor de análise externo através de uma ligação vulnerável a fraquezas TLS então conhecidas — a classe de ataque conhecida como FREAK e Logjam. Um atacante posicionado na rede poderia ter usado esse canal para manipular votos e comprometer a privacidade dos boletins de voto. E o serviço de verificação telefónica construído especificamente para que os votantes pudessem confirmar que o seu voto tinha sido registado corretamente? Era ele próprio suscetível a manipulação, o que significava que a verificação não estava a verificar nada.
A revisão de segurança pré-eleitoral não tinha encontrado nada disto.
No momento em que os investigadores relataram as suas descobertas, aproximadamente 280.000 votos já tinham sido depositados.
A palavra 'certificado' está a fazer um trabalho enorme aqui — e não o está a ganhar
Aqui está o que 'certificado' realmente significa em contextos de tecnologia eleitoral.
Significa que num ponto definido no tempo — antes da implementação, num ambiente de laboratório controlado — um sistema foi testado contra uma especificação escrita, passou esses testes e recebeu um documento dizendo assim.
Esse documento não se atualiza a si próprio. Não executa novamente os testes quando uma dependência muda. Não sabe que um script de análise de terceiros foi adicionado à stack web após a auditoria. Não sabe que a versão da biblioteca TLS em produção difere da que os revisores examinaram. Não sabe nada do que aconteceu depois do momento em que o carimbo foi aplicado.
A certificação é uma fotografia. O sistema continua a funcionar num mundo que não fica quieto.
Isto não é uma falha peculiar a Nova Gales do Sul. É estrutural em todo o regime de certificação que funciona verificando um sistema uma vez e depois confiando no resultado. A fotografia está congelada. O ambiente de ameaça não está.
O que Halderman e Teague encontraram não foi o resultado de uma revisão pré-eleitoral apressada ou incompetente. Foi o resultado de revisar um sistema que depois continuou a existir e a mudar. O servidor de análise externo do qual o código carregava — essa dependência era parte da superfície de ataque, e as superfícies de ataque não são estáticas.
A lição não é 'executar uma auditoria pré-eleitoral melhor'. A lição é que uma verificação única não pode substituir a verificabilidade contínua, independente e externa. E a agudeza específica do iVote é que o mecanismo de verificação — a confirmação por telefone — estava ele próprio comprometido. A própria prova de correção do sistema poderia ter sido manipulada.
Um cadeado que não pode verificar não é um cadeado. É uma fachada.
Um tribunal federal fez a mesma descoberta — sobre um boletim de papel que pode segurar na mão
Cinco anos depois, num contexto muito diferente, um tribunal federal dos EUA em Atlanta estava a ler testemunho perito sobre um sistema que de facto produz um artefato físico. Os dispositivos de marcação de boletim Dominion da Geórgia imprimem um boletim de papel. Pode segurá-lo. Pode levá-lo a um funcionário de sondagem. Pode, em teoria, inspecioná-lo.
Exceto que há um problema.
O dispositivo de marcação de boletim imprime duas coisas: texto legível pelo homem mostrando as suas escolhas, e um código QR. É o código QR que o scanner lê quando tabula votos. E um código QR não é legível pelo homem. Não pode olhar para ele e confirmar que diz o que o texto diz.
Na sua opinião de outubro de 2020 em Curling v. Raffensperger, o Tribunal Distrital dos EUA para o Distrito Norte da Geórgia reviu testemunho perito incluindo do Dr. Halderman — o mesmo investigador que tinha analisado iVote — sobre o que um ataque cibernético poderia fazer. O tribunal achou que o sistema 'não fornece um registo de boletim verificável e auditável porque depende do código QR para a tabulação de votos e esse código não pode ser lido e verificado pelo votante'.
O tribunal também citou a conclusão de 2018 das Academias Nacionais diretamente: nenhum mecanismo técnico existe atualmente para garantir que uma aplicação de contagem de votos produz resultados precisos, e testes sozinhos não podem garantir que os sistemas não foram comprometidos.
Leia essa frase novamente. Testes sozinhos não podem garantir que os sistemas não foram comprometidos.
Isto não é uma afirmação de investigação marginal. É um tribunal federal citando as Academias Nacionais, numa opinião legal publicada. Testes — que é fundamentalmente o que a certificação é — não podem garantir a integridade do que realmente está a funcionar.
O tribunal da Geórgia, enfrentando uma eleição real semanas depois, recusou-se a ordenar uma mudança de último minuto para boletins marcados à mão em papel. Pesou a perturbação contra o risco e escolheu continuidade. Isso é uma decisão pragmática defensável. Mas não resolve o problema subjacente: o artefato que os votantes poderiam inspecionar não era o artefato a ser contado.
A certificação tinha aprovado o sistema. A lacuna de verificabilidade do sistema permaneceu.
O padrão por trás de ambos os casos: o problema fotografia-versus-direto
iVote de Nova Gales do Sul e Curling parecem superficialmente diferentes. Um envolve um sistema de votação pela internet funcionando em servidores em rede. O outro envolve um boletim de papel produzido numa cabine de votação.
Mas partilham a mesma falha estrutural.
Em ambos os casos, o que foi certificado e o que realmente estava a funcionar não eram comprovadamente a mesma coisa — e não havia mecanismo disponível para o público, ou para votantes individualmente, para fechar essa lacuna em tempo real.
No caso do iVote, a lacuna era entre o sistema conforme revisado e o sistema conforme implementado, que tinha uma dependência direto num servidor externo que nenhum revisor tinha avaliado. A funcionalidade de verificação destinada a apanhar problemas tinha ela própria sido comprometida.
No caso da Geórgia, a lacuna era entre o que o votante podia ver (texto legível pelo homem) e o que a máquina realmente contava (um código de barras que o votante não pode descodificar). O boletim de papel que deveria permitir auditoria estava a codificar informação que o auditor — o votante — não pode ler. Uma recontagem manual desses boletins de papel audita o output do código de barras, não a intenção do votante. Como o tribunal notou, se o código de barras codifica algo diferente do que o texto diz, a contagem manual do papel confirma a manipulação, não a escolha do votante.
A certificação aprovou ambos os sistemas.
Nenhuma das lacunas era detetável olhando para um documento de certificação.
O que realmente fecharia essa lacuna?
Certificação não é inútil. Um sistema que nunca foi testado por ninguém é pior do que um que foi testado uma vez. O problema é tratá-la como suficiente — como a conclusão em vez do início de um processo de verificação.
O que a tornaria suficiente?
Três coisas que são tecnicamente alcançáveis e atualmente raras.
Primeiro: atestação do que realmente está a funcionar, não apenas do que foi revisado. Um sistema que pode criptograficamente provar a um observador externo que o código a executar votos hoje é o mesmo código que foi testado — não uma versão posterior, não uma dependência corrigida, não um módulo trocado — fecha a lacuna de fotografia. Isto não é ficção científica. É um problema resolvido em engenharia de software. Simplesmente não é exigido na maioria dos regimes de certificação de tecnologia eleitoral.
Segundo: verificabilidade externa independente que não dependa do fornecedor ou da autoridade. A lição do iVote é que o mecanismo de verificação do próprio sistema pode ser atacado. Uma verificação que o próprio sistema administra não é verificação independente. Verificabilidade significa que alguém do exterior — um investigador, um partido político, um cidadão com um portátil — pode confirmar o comportamento do sistema contra um registo à prova de adulteração que não recebeu do sistema a ser verificado. O Tribunal Constitucional Federal da Alemanha entendeu isto em 2009 quando sustentou que os votantes devem ser capazes de verificar os passos essenciais de uma eleição 'sem qualquer conhecimento especializado'. O padrão não é 'especialistas podem revê-lo'. É 'pessoas comuns podem verificá-lo'.
Terceiro: o artefato a ser contado deve ser o artefato que o votante pode inspecionar. Um código QR que nenhum votante pode ler falha isto. Um boletim de papel que o votante marca à mão, que um scanner lê opticamente, chega muito mais perto — porque um ser humano olhando para o mesmo papel pode avaliar a mesma marca que a máquina avaliou. A comissão holandesa que recomendou voltar ao papel em 2007 chamou a este princípio controleerbaarheid — verificabilidade — e tratou-a como inegociável: 'não há segredos no processo eleitoral e as perguntas devem ser respondíveis e as respostas verificáveis e comprovam'. Isto não é uma descrição de um boletim de código QR.
As auditorias ainda podem deixar a questão em aberto
A objeção que provavelmente já está a formar: e as auditorias pós-eleitorais? E as recontagens manuais?
Ajudam. Uma auditoria limitadora de risco que amostra boletins de papel contra totais de máquinas, conforme o Colorado foi pioneiro em 2017, fornece evidência estatística real de que a contagem de máquinas reflete o registo de papel. A contagem manual completa da Geórgia de quase 5 milhões de boletins presidenciais em novembro de 2020 confirmou o resultado da máquina com cerca de uma décima de ponto percentual.
Mas auditorias do output de dispositivo de marcação de boletim com código QR auditam a interpretação do código QR, não a intenção do votante — a menos que o auditor verifique separadamente que o texto legível pelo homem e o código de barras correspondem. Esse passo não é padrão.
E as auditorias acontecem depois dos factos. No caso do iVote, a eleição estava direto antes da falha ser encontrada. Uma auditoria pós-eleitoral de um sistema de votação online não pode recuperar votos que foram silenciosamente alterados em trânsito, porque não há cópia independente do que foi depositado para auditar. A arquitetura inteira de votação pela internet torna o modelo 'papel como verdade fundamental' indisponível.
Há também a questão irredutível sobre as próprias recontagens manuais. O Condado de Antrim, Michigan, executou uma recontagem manual completa de aproximadamente 15.700 boletins presidenciais em dezembro de 2020 — e a recontagem manual ainda diferiu da tabulação da máquina em cerca de uma dúzia de votos. Numa corrida decidida por centenas de votos, uma dúzia de discrepâncias inexplicadas entre a contagem 'padrão ouro' e a contagem de máquina não resolvem a questão; prolongam-na. A auditoria confirmou que o método é imperfeito. 'A auditoria confirmou' é uma garantia, não prova, quando o próprio método de auditoria carrega erro irredutível.
A resposta não é abandonar auditorias. A resposta é construir sistemas onde a verdade fundamental é criptograficamente protegida, publicamente visível e independentemente verificável — para que 'a auditoria confirmou' signifique algo falsificável.
O que ainda não pode verificar — e o que o tornaria verificável
Aqui está o que permanece opaco neste momento na maioria das jurisdições que executam sistemas de votação certificados.
Não pode verificar que o código funcionando no dia da eleição é o código que foi certificado. Nenhum mecanismo de atestação pública existe para a maioria dos sistemas implementados.
Não pode verificar, como votante, que um boletim de código QR codifica as suas escolhas corretamente. Nenhuma ferramenta de descodificação independente é fornecida na cabine de votação.
Não pode verificar que as dependências direto de um sistema de votação pela internet correspondem ao sistema que foi revisado. A dependência do servidor de análise do iVote não estava no âmbito da auditoria.
Não pode verificar que uma revisão de segurança pré-eleitoral cobriu a superfície de ataque conforme ela existia no dia da eleição, porque essa superfície muda.
O que tornaria estas coisas verificáveis — independentemente, sem confiar no fornecedor ou no órgão certificador?
Construções de software publicadas, versionadas com hashes criptográficos, verificadas por partes independentes no ponto de implementação. Registos de papel verificáveis pelo votante onde o que o votante marca é o que o scanner lê e o que qualquer auditor pode avaliar. Publicação de resultados ao nível de secção de voto em tempo real, legível por máquina que qualquer pessoa pode descarregar e verificar. E testes públicos adversariais — não uma revisão única pré-eleitoral, mas um convite aberto e contínuo para investigadores externos encontrarem problemas, conforme o tribunal eleitoral do Brasil institucionalizou com o seu programa de testes públicos de segurança.
'Certificado' é uma afirmação sobre o passado. O que as eleições precisam é de uma afirmação sobre agora — uma que qualquer membro do público pode independentemente confirmar, sem confiar na palavra de ninguém.
Os investigadores de Nova Gales do Sul encontraram a falha do iVote do exterior, sem acesso especial, durante uma eleição direto. Isso é tanto o aviso como o modelo. O aviso: revisão fechada e única deixa lacunas. O modelo: investigadores externos com acesso a um sistema em funcionamento podem encontrar o que pessoas internas perdem.
A diferença entre um desastre e um quase-incidente é se a arquitetura do sistema deixa pessoas externas verificá-lo — antes dos votos serem depositados, enquanto estão a ser depositados, e depois serem contados.
Certificação diz que o sistema foi verificado.
Verificabilidade diz que pode ser verificado.
Essas não são a mesma coisa, e nenhuma garantia de autoridade eleitoral, por mais sincera que seja, pode fechar a lacuna entre elas.
Veja como esta lacuna de verificação é comum em todo o mundo →
Leia a versão de dois minutos →
Explore a base de dados completa de casos →
Fontes
- Halderman, Teague — The New South Wales iVote System: Security Failures and Verification Flaws in a Live Online Election (arXiv:1504.05646)
- Curling v. Raffensperger, No. 1:17-cv-2989-AT, Opinion and Order (N.D. Ga. Oct. 11, 2020) (Justia)
- Bundesverfassungsgericht, Judgment of 3 March 2009, 2 BvC 3/07 and 2 BvC 4/07 (English translation)
- Adviescommissie inrichting verkiezingsproces (Commissie Korthals Altes), 'Stemmen met vertrouwen', 27 September 2007
- Colorado Secretary of State — A new kind of election audit: Colorado is first to complete it
- Michigan Department of State — Final numbers from Antrim County audit affirm accuracy of election results
- Tribunal Superior Eleitoral (Brazil) — Teste Público de Segurança dos Sistemas Eleitorais