Sistema de Votação On-line – Helios

O Sistema de Votação On-Line Helios permite a realização de eleições através da Internet e com auditoria aberta ao público (End-to-end voter verifiable – E2E). Trata-se de um software livre, com documentação técnica e de usuário, facilitando assim o processo de auditoria da solução. No IFSC foi feita uma modificação da versão original do projeto, disponível em https://vote.heliosvoting.org, para permitir integrar com nossa base de usuários, para traduzir a interface para a língua portuguesa e também alguns ajustes para melhorar sua usabilidade. O código fonte desta versão do IFSC, bem como os manuais para instalação, estão disponíveis no endereço: https://github.com/ifsc/server . O Helios faz uso de criptografia homomórfica de forma que é possível computar o resultado final de uma eleição sem que seja necessário ter acesso ao voto em claro (descriptografar o voto) individual de cada eleitor.

Em 2014 no  I Workshop de Tecnologia Eleitoral,  que aconteceu em conjunto com o XIV Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais (SBSeg), e em 2015 no V Workshop de Gestão de Identidades Digitais (WGID), que aconteceu em conjunto com o XV SBSeg,  foram publicados artigos que relatam os motivos para escolha do Helios, bem como as modificações que foram feitas pela DTIC. O artigo de 2014 pode ser obtido aqui, o artigo de 2015 pode ser obtido aqui, e a notícia publicada no Link Digital do IFSC pode ser acessada aqui.

O Helios permite que:

  • O eleitor verifique se seu voto foi depositado corretamente
  • Que todos os votos depositados na urna sejam exibidos publicamente em sua forma criptografada
  • Que qualquer um possa verificar que os votos depositados na urna foram corretamente apurados

O Helios não permite que:

  • A escolha de um eleitor (seu voto) seja revelada, mesmo que este eleitor queira revelar (p.e. apresentando um recibo de votação)
  • O voto de um eleitor seja adulterado ou excluído

Abaixo são listados alguns manuais de como operar o Sistema de Votação On-Line Helios:

Manuais para eleitores

  1. Como votar usando o Helios

 Manuais para gestores de eleição

  1. Como criar uma eleição
    1. Usando o Helios como o apurador
    2. Usando apuradores humanos
  2. Como abrir uma eleição e enviar e-mail para os eleitores
  3. Como fechar uma eleição e fazer a apuração dos votos
    1. Tendo o Helios como o apurador
    2. Tendo apuradores humanos

Manuais para apuradores de eleições

  1. Como gerar e carregar sua chave criptográfica
  2. Como usar sua chave para apurar uma eleição

Perguntas Frequentes

1. Quem pode criar eleição?

Resposta: Apenas usuários com a permissão de gestor de eleição. Se você se conectou no sistema, mas não visualiza o botão Criar Eleição, deve enviar e-mail com o assunto “Solicito ser gestor de eleição no Helios” para suporte.ti@ifsc.edu.br

2. Quando a eleição é aberta?

Resposta: Apenas quando a cédula é congelada. No caso de eleitores carregados via arquivo de eleitores csv, é necessário também enviar o email com as credenciais de votação, conforme descrito em Como abrir uma eleição e enviar e-mail para os eleitores.

3. Quando a eleição é fechada?

Resposta: Quando o gestor da eleição executar a ação de clicar em Fechar eleição, ninguém mais poderá votar. Essa operação não é automática.

4. Por que não consigo carregar o arquivo de eleitores?

Resposta: Provavelmente o arquivo está em formato incorreto. O formato correto, além de um exemplo de arquivo válido, estão descritos em Como criar uma eleição, seção configurando os eleitores. Esse arquivo, além de ser no formato csv, não deve conter cabeçalho, linhas em branco ou campos faltantes. Acentuação e caracteres especiais também podem causar problemas em alguns casos, então o recomendado é removê-los ou garantir que o arquivo esteja salvo em codificação UTF-8. Para testar se seu arquivo é valido, tente abri-lo em um editor de planilhas como o LibreOffice Calc. Se ao abrir o mesmo cada campo do arquivo aparecer em uma coluna da planilha, sem linhas em branco, campos faltantes ou cabeçalho, seu arquivo provavelmente é válido.

Como auditar o resultado de uma eleição

Uma vez que a eleição foi finalizada e seu resultado final publicado, na página da própria eleição será possível obter todas as cédulas cifradas e fazer uma recontagem dos votos. O Helios oferece uma interface para fazer essa recontagem no próprio site, ciente que em momento algum será possível descobrir qual foi a escolha individual de qualquer eleitor.

Por ser desenvolvida em JavaScript, essa página é executada localmente no navegador do usuário, ou seja, não depende do servidor do Helios. Esse processo pode demorar de alguns minutos até algumas horas, dependendo da quantidade de cédulas e do poder de processamento do computador do usuário.

Nesta página tem a documentação técnica caso o interessado queira desenvolver a sua própria ferramenta para auditoria. Tom Roeder, Engenheiro de Software da Google  (2015) e pesquisador em segurança e criptografia, com base nessa documentação, implementou o Pyrios, uma biblioteca em Go para verificar as eleições conduzidas por qualquer instalação do Helios versão 3. O código fonte desta biblioteca, bem como as instruções de uso, estão disponíveis no github.