paint-brush
Como a criptografia pode proteger a votação onlineby@nerv
587
587

Como a criptografia pode proteger a votação online

O maior desafio da votação electrónica remota é alcançar um elevado nível de segurança num ambiente não controlado e numa plataforma insegura. As propriedades de voto eletrônico e muitas classificações diferentes que definem os requisitos mínimos já estão estabelecidas. O objetivo é sempre conciliar duas propriedades aparentemente mutuamente exclusivas: verificabilidade e privacidade.
featured image - Como a criptografia pode proteger a votação online
Network Emergency Response Volunteers HackerNoon profile picture


Nota: Algumas das informações apresentadas aqui são intencionalmente simplificadas. Detalhes particulares dependem da implementação real, pois existem inúmeras formas e técnicas criptográficas alternativas que atingem os mesmos objetivos.


“O maior desafio da votação eletrônica remota é alcançar um alto nível de segurança em um ambiente não controlado e uma plataforma insegura. As propriedades da votação eletrônica e muitas classificações diferentes que definem os requisitos mínimos já estão estabelecidas. O maior desafio do voto eletrônico remoto é alcançar um alto nível de segurança em um ambiente não controlado e uma plataforma insegura. As propriedades do voto eletrônico e muitas classificações diferentes que estabelecem os requisitos mínimos já estão estabelecidas. O objetivo é sempre conciliar duas propriedades aparentemente mutuamente exclusivas : verificabilidade e privacidade.propriedades sob diferentes nomes como: confidencialidade, integridade, privacidade, democracia, universalidade, verificabilidade, etc.. Independentemente disso, o objetivo é sempre conciliar duas propriedades aparentemente mutuamente exclusivas: verificabilidade e privacidade."


A ideia fundamental por trás da votação online é a verificabilidade, no sentido de que os votos devem ser criptografados e tornados públicos, convencendo os eleitores sem margem de dúvida de que todo o procedimento foi realizado regularmente. Vamos nos aprofundar em como isso pode ser alcançado, mas antes de ler o resto do artigo, sugerimos assistir à apresentação dessa ideia por Ron Rivest[ 1 ] até 5:07.


Então, vamos considerar:


Tabela pública de votos somente anexada após a realização da votação cibernética segura, conforme publicado em um blockchain


Os eleitores conhecem unicamente a entrada correspondente ao seu voto


a identificação do eleitor é criptografada

Aqui, v é o voto que só pode ser totalmente descriptografado usando uma chave privada e E(v) é a criptografia adicionada


E agora aqui está a matemática...


Usando criptografia homomórfica em E(v1), E(v2), E(v3) e E(v4) podemos demonstrar que E(v1)+ E(v2) + E(v3) + E(v4) = E( v1+v2+v3+v4) !


A contagem final é, portanto, D( E(v1+v2+v3+v4) ) onde D é a função de descriptografia que pode ser computada por qualquer pessoa assim que a enquete terminar sem a necessidade de acessar v individualmente: D(E(v1) ), D(E(v2) ) etc., que só pode ser descriptografado usando as chaves privadas...


posse de chave privada


Somente os próprios eleitores podem descriptografar v individualmente e verificar se seu voto foi registrado corretamente! Concluindo, os eleitores podem verificar seus votos e a contagem final com privacidade e precisão!


Criptografia homomórfica


Uau! Posso verificar se meu voto está correto! Mas como posso ter certeza de que os votos emitidos por outras pessoas também são legais sem usar suas chaves privadas?


Digamos que atribuímos o valor 0 para significar uma recusa a uma determinada proposta de política que está sendo pesquisada e 1 para estar em concordância, formando um conjunto de respostas possíveis {0,1}. Um verificador, que pode ser qualquer um, pode querer ter certeza de que todas as entradas publicadas na tabela somente anexada correspondem a um elemento válido no conjunto de respostas possíveis e nada mais, como o que seria uma entrada com valor 100 As provas de conhecimento zero permitem precisamente isso. Para entender como, pode ser útil primeiro entender o que realmente são os ZKPs. "Em criptografia, uma prova de conhecimento zero ou protocolo de conhecimento zero é um método pelo qual uma parte (o provador) pode provar a outra parte (o verificador) que uma determinada afirmação é verdadeira, enquanto o provador evita transmitir qualquer informação adicional além de o fato de que a afirmação é realmente verdadeira."[ 2 ]


provas de conhecimento zero


Pode parecer contraditório, mas com os ZKPs qualquer eleitor pode provar inequivocamente a validade do seu voto! Novamente, um voto é apenas uma representação de um elemento dentre um conjunto de escolhas possíveis. Para entender como os ZKPs devem ser aplicados à votação, sugerimos dar uma olhada nos seguintes artigos[ 3 ], [ 4 ] pois eles abordam esta questão com mais detalhes.


Verificação ZKP


Essa técnica pode então ser estendida para incluir conjuntos maiores que {0,1}, preservando as propriedades matemáticas da criptografia homomórfica e dos ZKPs, permitindo pesquisas mais complexas do que as simples respostas sim, não/concordo, discordo. Isto cria casos de uso interessantes, como eleições de múltiplos candidatos, referendos que poderiam ter diferentes propostas de soluções para um único problema, questionários em pesquisas de mercado...


Acabamos de discutir como alguém pode verificar a contagem final, se o seu voto é o pretendido e como todos os outros votos foram legais! Ao mesmo tempo preservando a privacidade dos eleitores! A forma como esses algoritmos são montados, preservando as propriedades da criptografia homomórfica e do ZKP, é complexa e requer um conhecimento profundo de criptografia, que pode ser provado matematicamente como verdadeiro.[ 5 ]


Qualquer eleitor pode fazer essas verificações sozinho, sem depender de terceiros! Em aplicações adequadas de votação eletrônica remota, os eleitores são os auditores da votação!


Existem outros detalhes e técnicas criptográficas relativas à votação online cibersegura, como acontece com o uso de endereços furtivos[ 6 ], pelo menos em blockchains que mantêm todas as transações públicas, como o Ethereum. Eles são usados para evitar vincular os eleitores às suas carteiras. Mas consideramos isso um detalhe técnico, que preocupa apenas os desenvolvedores de software e não algo que todos os usuários de votação online devam estar cientes, ao contrário da criptografia homomórfica e dos ZKPs, cujo conhecimento ajuda a construir confiança no sistema.


Como essas chaves privadas são geradas e entregues ao eleitor sem comprometer a segurança?


Em última análise, as chaves privadas precisam estar vinculadas à verdadeira identidade do usuário para evitar gastos duplos. Uma abordagem é usar PKIs fornecidas por autoridades confiáveis, como identidades eletrônicas emitidas pelo estado e incorporadas em cartões inteligentes de identidade nacional... Porque certamente as instituições públicas pensaram em seus próprios mecanismos para manter essas chaves seguras, certo?


Em qualquer caso, esta é uma questão mais relacionada com a própria identidade digital que analisaremos num artigo futuro, a fim de poupar o leitor de muitos detalhes e manter a informação mais bem organizada. Basta dizer que, embora a identidade digital em si seja uma questão complexa por si só, existem formas de garantir com relativa confiança que cada persona digital é única, capacitando múltiplas entidades confiáveis com a tarefa de atestar a identidade de uma pessoa. Uma citação de Bob Marley descreve com precisão o que argumentaremos:


“Você pode enganar algumas pessoas algumas vezes, mas não pode enganar todas as pessoas o tempo todo”


O que acontece se um eleitor detectar fraude ou for coagido fisicamente a votar de uma determinada forma?


A primeira medida a ser tomada é disponibilizar um canal onde as pessoas possam denunciar essas situações para que essas ocorrências sejam levadas em consideração. Se forem marginais, representando 0,01% do total de votos, por exemplo, esta não seria realmente uma situação problemática, a menos que estivéssemos a discutir um referendo muito sensível que exija a defesa dos valores democráticos e onde o resultado final esteja próximo do equivalente a uma situação 50/50. Isto pode ser mitigado exigindo que o consenso da maioria seja maior, como 55/45, para que uma votação seja considerada válida.


No cenário em que alguém vê que seu voto foi registrado incorretamente, considerando que todo o aparato é suportado por blockchain e, portanto, não está sob controle de um administrador de sistema específico que fornece o serviço, a abordagem mais razoável é assumir que a própria máquina de votação está comprometida e não todo o blockchain em si. As medidas de proteção mais diretas a serem tomadas então seriam o eleitor mudar de máquina e/ou sistema operacional. Esse problema está mais relacionado a ameaças à segurança cibernética, como engenharia social e malware. Recomenda-se o uso de hardware e software de código aberto, bem como o uso de sistema operacional amnésico[ 7 ]. O software amnésico sempre retorna ao seu estado inicial configurado, portanto, mesmo que os eleitores instalem malware clicando involuntariamente e executando um vírus, a reinicialização da máquina reverte o software para uma configuração inalterada, mitigando efetivamente essas ocorrências.


Outra situação que se pode querer considerar é aquela em que o eleitor é coagido a votar de uma determinada forma, seja fisicamente ou por chantagem. A única abordagem para se defender contra a coerção, além de viver numa sociedade decente, é permitir que a revogação ocorra na mesma votação. Há investigação[ 8 ] nesta área, embora permaneçam, até onde sabemos, por implementar formas de fundir esta técnica com todas as outras acima mencionadas. Certamente há uma maneira. De qualquer forma, a reabertura da fase eleitoral é sempre uma possibilidade. Deve-se notar também que prevenir a coerção também impediria a venda de votos, por razões óbvias.


Não defendemos o abandono total do voto em papel porque, pelo menos presencialmente, o voto em papel é uma excelente oportunidade para testar a identidade (real ou digital), mas, no entanto, somos fortemente a favor da sua adopção em a política como ferramenta complementar capaz de gerar consenso mais rapidamente e ao mesmo tempo ser uma fonte secundária de confirmação dos resultados da votação impressa.

Já estamos lá?

Como disse eloquentemente o cientista da computação Jeffrey Dean:


“A força motriz por trás das cifras dos computadores modernos não é a segurança, mas a eficiência. A questão não é: você pode criar uma cifra segura. Você pode. A questão é se você pode criar um que funcione eficientemente em enormes conjuntos de dados ou em hardware muito limitado”.


O desafio da tecnologia blockchain é precisamente a sua capacidade de escalar à medida que a base de utilizadores e a procura por computação crescem. As implementações atuais de algoritmos criptográficos na votação online apoiada por blockchain estimam os custos em cerca de US$ 10 por voto, conforme implementado no Ethereum.[ 14 ] Nós da Brightgov acreditamos que melhorias podem ser feitas a fim de reduzir esse valor para menos de US$ 1, fazendo uso de um blockchain mais rápido, bem como ajustes nos algoritmos matemáticos subjacentes.


Ao longo da história, a criptografia desempenhou um papel importante na mudança do curso dos acontecimentos. A cifra de César, uma das criptografias mais simples, é famosa por ter sido usada pelo imperador romano há dois milênios. A capacidade dos Aliados de interceptar e descriptografar mensagens criptografadas pela máquina de cifragem japonesa Purple e pela alemã Enigma foi crucial para fornecer a principal vantagem necessária para encerrar a Segunda Guerra Mundial.


Para quem sabe programar e tem interesse em aprender mais, sugerimos a leitura do nosso trabalho de pesquisa.[ 15 ] Você também pode jogar com o CryptoBallot para se familiarizar com esse tipo de software.[ 16 ]


Concluindo, as pesquisas on-line ciberseguras não são apenas possíveis, mas também altamente necessárias. A sua adoção no espaço político tem o potencial de ser um dos eventos mais perturbadores das nossas vidas... Tudo o que você precisa fazer é confiar nos algoritmos executados no seu computador e no blockchain e, se não confiar, você sempre pode fazer isso. faça você mesmo as contas com papel e caneta.


Referências:


[1] " O SEU voto foi contado? (feat. criptografia homomórfica) " pelo professor Ron Rivest, Numberphile, no YouTube, 2016. https://www.youtube.com/watch?v=BYRTvoZ3Rho


[2] Entrada à prova de conhecimento zero na Wikipedia, https://en.wikipedia.org/wiki/Zero-knowledge_proof


[3] " Como usar ZKP para provar a adesão ao conjunto sem expor o conjunto ou o membro" por Anders Borch, blog do autor, 2019. https://blog.cyborch.com/how-to-use-cryptographic-accumulators-to -provar-afiliação-ao-conjunto-sem-expor-o-conjunto-ou-o-membro/


[4] " Provas de conhecimento zero para associação a conjuntos " por Dario Fiore, em ZKProof Standards, 2020. https://zkproof.org/2020/02/27/zkp-set-membership/


[5] " Non-interactive Zero-Knowledge from Homomorphic Encryption " por Ivan Damg ̊ard et al., Theory of Cryptography Conference, 2006. https://cs.nyu.edu/\~nicolosi/papers/NonIntSi.pdf


[6] " Endereço Stealth (Criptomoeda) " por Jake Frankenfield, Investopedia, 2022. https://www.investopedia.com/terms/s/stealth-address-cryptocurrency.asp


[7] Entrada Tails (sistema operacional) na Wikipedia, https://en.wikipedia.org/wiki/Tails_(operating_system)


[8] " VoteAgain: Um sistema de votação escalonável e resistente à coerção " por Wouter Lueks et al., Spring Labs, Universidad Carlos III de Madrid, 2020. https://arxiv.org/pdf/2005.11189.pdf


[9] Fundação Heritage , https://www.heritage.org/


[10] " Ainda mais fingidas de fraude nas Legislativas 2022? " entrada no YouTube, em português, 2022. https://www.youtube.com/watch?v=L8fA9aOuR9k


[11] " AnaKarina denuncia "FRAUDE ELEITORAL" por parte da CNE " verbete no YouTube, em português, Angola, 2022. https://www.youtube.com/watch?v=hLm8ocLgXCU


[12] " Perguntas frequentes - Fraude eleitoral ", https://www.voteaustralia.org.au/faq_voter_fraud


[13] " Índice de Democracia 2020: Na doença e na saúde? " relatório da The Economist Intelligence Unit, 2020. https://www.eiu.com/n/campaigns/democracy-index-2020/


[14] " ethVote: Rumo à votação segura com registros distribuídos " por Johannes Mols et Emmanouil Vasilomanolakis, Universidade de Aalborg, Dinamarca, 2020. https://www.researchgate.net/publication/341000573_ethVote_Towards_secure_voting_with_distributed_ledgers


[15] " Visão geral da votação eletrônica remota " por NERV, um artigo submetido à 14ª Conferência ICEGOV em 2021, https://ia601401.us.archive.org/33/items/remote-e-voting-overview/Remote e -visão geral da votação.pdf


[16] CryptoBallot , https://github.com/cryptoballot/cryptoballot


Também aparece aqui .