← Todos os artigos

E se o público, e não um fornecedor, possuísse o software que conta o seu voto?

O Condado de Los Angeles construiu o primeiro sistema de contagem de votos de código aberto e propriedade pública certificado na Califórnia — e ainda assim não resolve o problema mais difícil. Eis o que prova e o que não prova.

É 21 de agosto de 2018, e o gabinete do Secretário de Estado da Califórnia acaba de certificar algo que nunca existiu antes na história do estado: um sistema de contagem de votos que nenhuma empresa privada possui.

O software que contará os boletins de voto para aproximadamente 5,7 milhões de eleitores registados no Condado de Los Angeles — a maior jurisdição eleitoral dos Estados Unidos — pertence ao público. O seu código-fonte não é um segredo comercial trancado num servidor da empresa fornecedora. Em princípio, qualquer engenheiro qualificado pode lê-lo, inspecioná-lo e dizer-lhe o que faz.

Este é genuinamente um momento significativo. É também o início de uma conversa mais difícil.

O problema que tornou o VSAP necessário

Para compreender por que a propriedade pública do software de votação é importante, é preciso entender o que a propriedade privada produziu.

Em 2006, os investigadores de Princeton Ariel Feldman, J. Alex Halderman e Edward Felten obtiveram um Diebold AccuVote-TS — uma das máquinas de votação por ecrã tátil mais amplamente implantadas na América — e passaram cerca de um minuto com ela. Foi suficiente. Demonstraram que um atacante com breve acesso físico poderia instalar código malicioso que roubaria votos enquanto alterava todos os registos internos e contadores para parecer normal. Até construíram uma versão que se propagava automaticamente de máquina em máquina. O software que executava essa máquina era proprietário. Ninguém fora da Diebold podia inspecioná-lo. Quando os investigadores finalmente conseguiram acesso a uma, os resultados não foram tranquilizadores.

O modelo proprietário cria um problema estrutural: não pode verificar independentemente o que não consegue ver. A afirmação de um fornecedor de que o seu código é seguro não é prova de que seja seguro. Uma certificação governamental que se baseia na documentação do próprio fornecedor não é uma auditoria independente. Um funcionário dizer "testámos" não é o mesmo que o público poder testá-lo.

Em 2005, o Gabinete de Responsabilidade Governamental dos EUA examinou a segurança e fiabilidade dos sistemas eletrónicos de votação e descobriu que atividades-chave permaneciam incompletas — incluindo o estabelecimento de procedimentos de certificação adequados e repositórios para software certificado. Isto foi anos depois de o Congresso aprovar a Lei de Ajuda para Eleições na América e financiar uma agência inteira para supervisionar estes sistemas. O aparato para verificar que as máquinas de votação funcionavam conforme alegado ainda estava em montagem.

"Usamos sistemas certificados" é uma afirmação. Não é uma verificação.

O que o Condado de Los Angeles realmente construiu

O programa Voting Solutions for All People — VSAP — nasceu da frustração com exatamente esta dinâmica. As antigas máquinas de votação por ecrã tátil Sequoia AVC Edge do Condado de Los Angeles estavam chegando ao fim de vida, e o mercado de sistemas de substituição era dominado por um punhado de fornecedores privados cujo software era protegido como proprietário. O condado decidiu construir o seu próprio.

O resultado, certificado pelo Secretário de Estado da Califórnia em 21 de agosto de 2018, foi VSAP Tally Versão 1.0 — o primeiro sistema eleitoral certificado na Califórnia a usar tecnologia de código aberto e, nas próprias palavras do estado, "o primeiro sistema de contagem de votos de código aberto e propriedade pública certificado sob os padrões de sistemas de votação da Califórnia."

O condado também estabeleceu um grupo de trabalho de código aberto destinado a permitir que outras jurisdições construíssem sobre a base de código de propriedade pública. A visão era um bem comum: software de votação que pertence ao processo democrático em si, não ao balanço patrimonial de nenhuma empresa.

Isto é arquitetonicamente diferente de tudo o que veio antes dele na Califórnia. Remove uma camada de opacidade que os sistemas proprietários tornam inevitável. E importa.

Mas vale a pena ser preciso sobre o que realmente muda — e o que não.

Código aberto remove um problema. Não remove o problema.

Eis o que o software de votação de código aberto genuinamente realiza: significa que o software que conta o seu voto pode ser lido, analisado e criticado por qualquer pessoa com as competências para o fazer. Investigadores de segurança, académicos, fornecedores rivais, governos estrangeiros, cidadãos curiosos — todos eles podem, em princípio, inspecionar o código e dizer-lhe se algo está errado.

Isto não é uma coisa pequena. É exatamente como a Suíça descobriu um defeito devastador no seu sistema de votação eletrónica postal em 2019. Quando a Swiss Post publicou o código-fonte do sistema de votação pela internet construído pela Scytl antes do uso planeado em votos vinculativos, investigadores independentes Sarah Jamie Lewis, Olivier Pereira e Vanessa Teague o analisaram e descobriram uma porta criptográfica: um defeito na prova de embaralhamento que permitiria a uma autoridade gerar uma transcrição que parecia matematicamente válida enquanto tinha silenciosamente alterado votos. O sistema alegava ser universalmente verificável. Não era. A Swiss Post removeu o sistema. O defeito foi encontrado porque a fonte era pública.

Um sistema fechado não pode ser apanhado desta forma. A porta clandestina permanece oculta até que alguém com acesso interno escolha — ou seja pago — para a revelar.

Mas código aberto é uma condição inicial, não uma linha de chegada.

Considere o que ainda deve ser verdadeiro para um sistema de votação de código aberto ser confiável:

Primeiro, o código que corre no dia da eleição deve ser realmente o código que foi publicado. Software de código aberto é inspecionável. O binário compilado a executar numa máquina específica numa noite específica é um artefato diferente. Se não conseguir verificar que a fonte publicada e o programa em execução são os mesmos — através de hashes criptográficos verificados contra o código publicado, selados antes da implantação e verificados depois — então publicar a fonte é um gesto de transparência, não uma garantia.

Segundo, a cadeia de custódia física ainda governa o que o software conta. Um boletim de voto que é trocado, perdido ou duplicado antes de chegar ao scanner não se importa como é o software de contagem aberto. Quando o Tribunal Constitucional Austríaco anulou uma eleição presidencial em 2016, não foi porque o software estava errado — foi porque aproximadamente 77 mil boletins postais tinham sido manipulados antes do permitido pela lei, por pessoas não autorizadas, sem testemunhas obrigatórias. Cerca de 30 mil votos separavam os candidatos. O software poderia ter sido perfeito e o resultado ainda seria não-verificável, porque a cadeia física estava quebrada. Nenhuma quantidade de código de código aberto conserta um saco selado aberto na sala errada na hora errada pelas pessoas erradas.

Terceiro, auditar a saída ainda requer um registo físico que o software não pode falsificar. Um sistema de contagem de código aberto que produz apenas um número digital — sem registo de papel verificado por eleitores, sem artefato independentemente verificável — ainda o deixa confiando na saída da máquina. A Corte Constitucional Federal Alemã captou isto na sua decisão histórica de 2009: uma eleição é apenas legítima quando "os passos essenciais da votação e da determinação do resultado podem ser examinados pelo cidadão de forma confiável e sem qualquer conhecimento especializado do assunto." Ler código-fonte requer conhecimento especializado. Contar boletins de papel não.

A auditoria ainda tem que acontecer — e ainda carrega erro

Código aberto torna o sistema inspecionável antes da eleição. Auditorias tornam a saída verificável depois.

Ambas importam. Nenhuma sozinha é suficiente.

A contagem manual completa da Geórgia em 2020 de aproximadamente cinco milhões de boletins confirmou o resultado tabulado pela máquina com uma margem de cerca de um décimo de um por cento — uma demonstração poderosa do que boletins marcados por eleitores mais um processo de auditoria séria podem conseguir. O Colorado tornou-se o primeiro estado a completar uma auditoria de limitação de risco ao nível estatal em 2017, incorporando rigor estatístico que verificações de amostra de percentagem fixa não podem igualar.

Mas auditorias têm limites que raramente são discutidos honestamente.

No Condado de Antrim, Michigan, em 2020, uma contagem manual destinada a verificar resultados corrigidos de máquina diferiu do total da máquina por cerca de uma dúzia de votos de aproximadamente 15 700 lançados. Não por causa de fraude. Não por causa de software. Porque contar à mão é feito por humanos às 2 da manhã sob luzes fluorescentes, lendo marcas que às vezes são ambíguas, aplicando decisões de julgamento que variam de mesa em mesa. A contagem manual é o padrão ouro — e o padrão ouro ainda está fora por uma dúzia de votos num condado pequeno.

Numa corrida decidida por menos votos do que isso, "a contagem manual confirmou" é um consolo. Não é prova.

Em Windham, New Hampshire, uma auditoria forense ordenada pelo estado rastreou uma contagem significativamente errada para dobras através de objectivos de voto em boletim — uma máquina de dobragem que criou vincos nos boletins de correio eletrónico através dos objectivos ovais, que os scanners óticos leram como votos marcados. Nenhum malware. Nenhuma fraude. Uma interação mecânica entre uma máquina de dobragem alugada e o sistema ótico de um scanner de boletim, produzindo erros nas centenas. Apanhada apenas porque o papel existia e uma contagem manual podia recuperar a intenção do eleitor.

A lição não é "papel falha." A lição é que cada método — máquina, contagem manual ou scanner ótico — carrega erro irredutível, e o único sistema honesto é aquele onde esses erros podem ser independentemente apanhados e medidos, não apenas tranquilizados por funcionários.

O que "propriedade pública" ainda não pode dizer-lhe

Eis a pergunta que os arquitetos do VSAP não podiam responder completamente apenas tornando o código público: quem o verifica, com que frequência e com que independência?

Publicar código-fonte é necessário. Não é suficiente a menos que alguém realmente o leia — adversarialmente, com o objetivo de encontrar o que está errado em vez de confirmar o que parece certo. O Tribunal Superior Eleitoral do Brasil convida o público a atacar suas máquinas de votação numa prova de segurança oficial anual, com testadores qualificados externos enviando planos de teste aprovados e constatações usadas para melhorar os sistemas antes de cada eleição. Isto é revisão adversária institucionalizada — não uma certificação, um desafio contínuo. É um modelo onde "confie em nós" é substituído por "tente quebrantá-lo."

Washington D.C. descobriu algo similar, da forma difícil, em 2010: quando o Distrito abriu um piloto de devolução de boletim pela internet para teste público antes da implantação, uma equipa da Universidade de Michigan ganhou quase controlo completo do servidor em aproximadamente 48 horas, alterou todos os boletins que tinham sido lançados, e passou despercebido durante dias. As vulnerabilidades foram apanhadas porque o teste era aberto e real. O sistema nunca foi usado para votação ao vivo. Teste público adversário — não certificação privada — é o que protegeu os eleitores de D.C.

O grupo de trabalho de código aberto do VSAP e repositório de código público são passos nesta direção. Mas um repositório de código não é o mesmo que um programa de teste adversário institucionalizado com constatações públicas, remediação obrigatória e confirmação independente.

A pergunta que vale a pena fazer: a versão a executar do VSAP Tally foi testada independentemente e adversarialmente por partes sem relação financeira com o condado ou qualquer fornecedor? Cada plano de teste e as suas constatações foram tornados públicos? Não o código — o binário específico que executou a última eleição, os registos da cadeia de custódia para cada cartão de memória, os valores de hash publicados antes da abertura das urnas.

Estas não são perguntas retóricas. São a lista de verificação que separa "código aberto" de "independentemente verificável."

A continuidade de 2000 até hoje

A Lei de Ajuda para Eleições na América passou em 2002 como resposta federal à eleição de 2000, na qual a Suprema Corte constatou que boletins de perfuração idênticos estavam sendo avaliados de forma diferente por diferentes escrutinadores em diferentes condados — chads amassados contados aqui, rejeitados lá — sem padrão uniforme pré-publicado para ler a intenção do eleitor. O problema não era fraude. Era ambiguidade integrada no sistema, resolvida pelo julgamento humano aplicado inconsistentemente, produzindo um resultado que dependia de quem estava contando em qual sala.

A HAVA financiou novo equipamento e criou a Comissão de Assistência Eleitoral. Movimentou os requisitos de sistemas de votação em direção a uma linha de base federal. O que não fez — e o que a GAO documentou três anos depois — foi construir o aparato completo para verificação independente. Padrões e certificação são apenas tão fortes quanto a instituição que os força, e essa instituição ainda estava em montagem.

VSAP é uma abordagem diferente. Diz: em vez de pedir-lhe que confie no fornecedor, estamos a pedir-lhe que leia o código. Isto é progresso. Não é o destino.

O destino é um sistema cuja correção qualquer cidadão pode verificar — não por ser um engenheiro de software, mas porque a cadeia de evidência de boletim a resultado é à prova de adulteração, legível por máquina e publicada ao nível da secção de voto no momento em que a contagem termina.

Software de contagem de código aberto é um tijolo nessa parede. Registos de papel verificados por eleitores são outro. Auditorias adversárias rotineiras e independentes — não verificações internas — são um terceiro. Compromissos criptográficos que provam que o código publicado é o código a executar são um quarto. Resultados em tempo real, ao nível da secção de voto e legíveis por máquina que qualquer pessoa pode descarregar e reconciliar independentemente são um quinto.

O Condado de Los Angeles construiu algo genuinamente importante. Também construiu algo que ainda pode ser obscurecido por uma sala selada, uma cadeia de custódia quebrada ou um binário compilado que ninguém verificou contra a fonte publicada.

O argumento para VSAP é o mesmo argumento que sempre esteve disponível: transparência vence segredo. Aberto vence fechado. Inspecionável vence confie-em-mim. O que não é completo. E "completo" é o único padrão que permite ao público — não a um fornecedor, não a um Secretário de Estado, não a um juiz — confirmar que a contagem está correta.


O que ainda não pode ser verificado independentemente: se os binários compilados específicos que correram em máquinas VSAP em qualquer noite de eleição foram criptograficamente verificados contra o código de código aberto publicado antes da abertura das urnas, e se esses registos de verificação estão disponíveis publicamente em formato legível por máquina. O que o tornaria verificável: um requisito de publicação de hash pré-eleição obrigatório, teste adversário público com constatações publicadas e resultados ao nível da secção de voto publicados no momento em que a contagem de cada secção está completa — para que qualquer pessoa possa reconciliá-los.

Veja como a lacuna de código-fonte secreto se desenrola em todo o mundo →

Leia a versão de dois minutos do problema de verificabilidade →

Explore a nossa base de dados completa de casos →

Fontes