• Nenhum resultado encontrado

Implementação de um sistema eleitoral remoto - Vote Safe

N/A
N/A
Protected

Academic year: 2021

Share "Implementação de um sistema eleitoral remoto - Vote Safe"

Copied!
33
0
0

Texto

(1)

UNIVERSIDADEDOSULDESANTACATARINA CAMILA GALDINO PACHECO

JOHNATAN ESPÍDOLA CÂNDIDO

IMPLEMENTAÇÃO DE UM SISTEMA ELEITORAL REMOTO

VOTE SAFE

Tubarão 2019

(2)

CAMILA GALDINO PACHECO JOHNATAN ESPÍNDOLA CÂNDIDO

IMPLEMENTAÇÃO DE UM SISTEMA ELEITORAL REMOTO

VOTE SAFE

Trabalho de Conclusão de Curso apresentado ao Curso de Ciência da Computação da Universidade do Sul de Santa Catarina como requisito parcial à obtenção do título de Bacharel em Ciência da Computação.

Orientador: Prof. Carlos Luz, Ms.

Tubarão 2019

(3)

CAMILA GALDINO PACHECO JOHNATAN ESPÍNDOLA CÂNDIDO

IMPLEMENTAÇÃO DE UM SISTEMA ELEITORAL REMOTO COM ÊNFASE NA SEGURANÇA DOS DADOS

Este Trabalho de Conclusão de Curso foi julgado adequado à obtenção do título de Bacharel em Ciência da Computação e aprovado em sua forma final pelo Curso de Ciência da Computação da Universidade do Sul de Santa Catarina.

Tubarão, 26 de novembro de 2019.

______________________________________________________ Professor e orientador Carlos Luz, Ms.

Universidade do Sul de Santa Catarina

______________________________________________________ Professor Luciano Savio

Universidade do Sul de Santa Catarina

______________________________________________________ Professor Fernando Buss

Universidade do Sul de Santa Catarina

______________________________________________________ Professora Silvana Dal Bó

(4)

Dedicamos este trabalho a todos que estiveram presentes e acreditaram em nós, sempre nos apoiando. Primeiramente a nossa família pelo amor e compreensão e que estiveram sempre ao nosso lado e são responsáveis por tudo que somos hoje. Aos professores que muito contribuíram para nossa formação. E por fim nossos amigos que nunca nos abandonaram nessa caminhada.

(5)

AGRADECIMENTOS

Agradecemos primeiramente a Deus. As nossas famílias que sempre estiveram presentes quando precisamos. Somos gratos a todos que de alguma forma contribuíram para a conclusão de mais esta etapa de nossas vidas. Aos professores do Curso de Ciência da Computação pelos ensinamentos que contribuíram para a realização deste projeto.

(6)
(7)

RESUMO

A implantação de um sistema eleitoral torna-se fundamental nos dias atuais por decorrência do avanço tecnológico. Este trabalho tem como intuito o desenvolvimento de um sistema eleitoral web onde possa ser realizada a eleição de forma remota, com mais agilidade e segurança, onde os administradores possam cadastrar os candidatos e também ao final de uma eleição consigam visualizar de forma instantânea o resultado, e os eleitores acessam via web colocando suas credenciais de acesso e participam de uma eleição escolhendo seus candidatos. Toda esta segurança dos dados se dá por conta da criptografia de dados de votos dos eleitores. Portanto este sistema tem como intuito trazer segurança e agilidade em uma eleição.

(8)

ABSTRACT

A electoral system implementation becomes essential in nowadays due to technological evolution. The objective of this paperwork is to develop a online electoral system to perform the election remotely, fast and safe. Administrators can register the candidates and also visualise the final results of the election instantaneously, and the electors have access via web using theirs registered credentials to participate the election and being able to choose theirs candidates. All of these data security are based on data cryptography from electors votes. Therefore this system main objective is to bring security and agility to the election.

(9)

LISTA DE ILUSTRAÇÕES

Figura 1- Funcionamento do sistema eleitoral 17

Figura 2 - Modelagem do banco de dados 18

Figura 3 - Diagrama de caso de uso 19

(10)

SUMÁRIO 1 INTRODUÇÃO... 10 2 OBJETIVO GERAL ... 11 3 CONTEXTUALIZAÇÃO DO PROBLEMA ... 11 4 CARACTERIZAÇÃO DO NEGÓCIO ... 12 5 SOLUÇÕES CORRELATAS ... 12 5.1 ADDER ... 12 5.2 JCJ ... 133 5.3 CIVITAS ... 14 5.4 HELIOS ... 14

5.5 PRETTY GOOD DEMOCRACY ... 15

5.6 SISTEMA DE ELEIÇÃO REMOTO SECRETO E VERIFICÁVEL ... 15

6 ANÁLISE E LEVANTAMENTO DE REQUISITOS ... 16

7 MODELO PROPOSTO ... 16

8 DIAGRAMAS UML ... 19

9 TECNOLOGIAS UTILIZADAS ... 21

10 PROJETO DE IMPLANTAÇÃO E FUNCIONALIDADES ... 22

11 CONSIDERAÇÕES FINAIS ... 31

(11)

10

1 INTRODUÇÃO

Partindo de uma ideia principal, onde atualmente o avanço tecnológico é evidente e que uma das maiores preocupações dos sistemas é quanto à segurança dos dados inseridos, assim como também a sua integridade, todas as atividades realizadas manualmente tendem a se adaptar a esta nova era tecnológica, fazendo com que surjam sistemas mais robustos e seguros para suprir essas necessidades.

No contexto do processo eleitoral brasileiro, as eleições são realizadas através de uma urna eletrônica, na qual vem previamente com as informações cadastradas, este equipamento não possui conexão com a internet o que traz certa segurança contra invasão, porém outros problemas surgem, como a locação da população "voluntária" para realizar as operações manuais, os eleitores encontrarem sua sessão, a digitação de dados para liberar a votação na urna e identificações de pessoas. A urna também pode apresentar problemas com relação ao software, pois os dados estão contidos em uma espécie de pendrive que fica plugado na parte traseira da urna, podendo haver mau contato, assim como esses dados pré cadastrados pelos funcionários da justiça eleitoral podem vir adulterados.

Conforme o TSE (2019):

A urna eletrônica somente grava a indicação de que o eleitor já votou. Pelo embaralhamento interno e outros mecanismos de segurança, não há nenhuma possibilidade de se verificar em quais candidatos um eleitor votou, em respeito à Constituição Federal brasileira, que determina o sigilo do voto.

Outro problema no processo eleitoral atual é quando uma pessoa está viajando e não está em sua sessão, ela apenas justifica seu voto, impedindo com que o eleitor possa realizar a votação.

Com o ambiente de comunicação tão presente na vida da população, a internet veio para contribuir e facilitar atividades diárias. O desenvolvimento de um sistema eleitoral facilitaria aos eleitores a realizarem as suas escolhas, sem a necessidade de deslocamento até a sessão e passar por transtornos. Com o sistema eleitoral web bastaria acessar através de um computador, independente da cidade na qual se encontra, colocar suas credenciais de acesso e realizar a escolha de seus candidatos de forma segura e confidencial.

É importante salientar quanto a obtenção do resultado final, pois seria de forma rápida e facilitada, sem a necessidade de envio dos dados de cada urna para uma central

(12)

11

para apuração. Em um sistema web, a apuração é simultânea não demorando na obtenção do resultado final.

A informatização poderia contribuir, automatizar e facilitar, e um sistema eleitoral vem para contribuir, pois não necessitaria da mão de obra alocada dos voluntários, gastos com envio, configuração manual de urnas, e contabilização dos dados entre outros processos realizados manuais atualmente.

Portanto este projeto contempla o desenvolvimento de um sistema eleitoral web, com dois painéis, sendo um para os administradores e um para os eleitores, e tem como objetivo trazer segurança e agilidade em uma eleição, segurança com relação ao eleitor na hora de escolher seus candidatos e agilidade podendo realizar esta escolha sem a necessidade de sair de casa.

2 OBJETIVO GERAL

Implementar um protótipo de um sistema eleitoral remoto para atender as necessidades da população, garantindo agilidade, acessibilidade, confiabilidade, integridade e a confidencialidade dos dados.

3 CONTEXTUALIZAÇÃO DO PROBLEMA

O problema consiste em que as eleições, sejam elas para definição de presidente, governadores, prefeitos de países, estados e cidades ou para definição de eleições internas em empresas, são realizadas de formas presenciais em locais delimitados. Estas eleições ocorrem através cédulas de papel ou através da urna eletrônica, sendo que os dois métodos possuem suas falhas quanto à segurança, além do problema quanto a coação dos eleitores, há possibilidade de fraudes dos votos coletados.

A respeito da segurança da informação no modelo eleitoral atual das urnas eletrônicas, não é possível saber ao certo como ocorre. Segundo o TSE (2019):

A segurança do sistema eletrônico de votação é feita em camadas. Por meio de dispositivos de segurança de tipos e com finalidades diferentes, são criadas diversas barreiras que, em conjunto, não permitem que o sistema seja violado. Em resumo, qualquer ataque ao sistema causa um efeito dominó e a urna eletrônica trava, não sendo possível gerar resultados válidos.

(13)

12

Outro problema encontrado nestes métodos eleitorais são que o eleitor deve ir a um local para realizar a votação, o que com o avanço tecnológico já deveria ter sido resolvido, pois há a necessidade do deslocamento ao local onde encontra-se a urna para realizar a votação. Quando um eleitor encontra-se em viagem o mesmo não pode expressar a sua vontade em escolher seu candidato, ele apenas pode justificar que encontra-se viajando. Outro problema encontrado com relação as eleições que ocorrem atualmente são a necessidade de alocação de voluntários para realizarem o trabalho de identificação, organização, liberação da urna, e divulgação dos resultados de uma eleição. Estas pessoas são convocadas para prestar este serviço e comparecer durante todo o dia da eleição exercendo uma função designada pelo tribunal eleitoral.

Com o avanço da tecnologia ocorrendo de forma constante e a segurança da informação tornando-se cada vez mais robusta o sistema de eleição encontra-se em defasagem com relação a segurança dos dados inseridos nas urnas e seus métodos de realização de eleições, tornando-se fundamental esta adequação tecnológica.

4 CARACTERIZAÇÃO DO NEGÓCIO

Este sistema desenvolvido é voltado para realização de eleições, independente de sua finalidade, onde seu objetivo seja a escolha de candidatos para representação ou ocupação de uma função a ser exercida, podendo ser utilizado para eleições nacionais e municipais, e até mesmo para utilização de empresas e escolas em eleições internas, com a finalidade de automatizar um processo que hoje é realizado de forma manual, com resultados de forma rápida e segura.

5 SOLUÇÕES CORRELATAS

5.1 ADDER

Adder é um sistema eleitoral online de código aberto desenvolvido por Kiayias, Korman e Walluck em 2006, e pode ser aplicado tanto para eleições pequenas quanto grandes.

(14)

13

O Adder inclui uma fase de configuração preliminar na qual vários administradores eleitorais se envolvem em um protocolo criptográfico para criar uma chave pública para a eleição, que é então publicada no site da eleição. A chave de descriptografia correspondente é distribuída entre os administradores usando criptografia de limite.

Para votar basta fazer o login com os dados credenciais, baixar a chave pública, realizar a votação e realizar a criptografia dos votos utilizando a chave pública e anexá-los no sistema online para concluir a votação, depois de enviar os votos há uma tabela online onde é possível verificar os votos computados para possível conferência. A privacidade na eleição é garantida, pois para descriptografar um voto de um eleitor é necessário as chaves que foram distribuídas entre os partidos, para que assim os votos sejam descriptografados. Porém este sistema possui problemas de segurança como o computador do eleitor pode possuir software malicioso que altere o voto sem que o ele perceba, assim também como coação para realizar o voto em um determinado candidato.

5.2 JCJ

É um sistema eleitoral online criado por Juels, Catalano e Jakobsson em 2005, e possui um alto nível de resistência a coeção, pois antes da eleição há uma fase de registro onde o eleitor recebe uma credencial para votar e também pode gerar credenciais falsas, pois na hora da eleição caso esteja sendo coagido ele pode informar a credencial falsa, esse voto será computado e colocado na tabela como voto legítimo, porém quando os votos foram computados eles não serão contabilizados, e quando o eleitor conseguir votar sem a coesão ele informará a credencial verdadeira e o voto será contabilizado. Quando encerrada a votação ela pode possuir votos com credenciais falsas e eles devem ser identificados para que não sejam contabilizados para isto basta comparar a credencial emitida na fase de cadastro com a credencial informada descartando aquelas que não conferem. O maior problema do JCJ é o tempo de processamento e recursos computacionais utilizados para verificação da veracidade de votos.

Conforme Hao e Ryan (2017, p.201):

A distribuição da funcionalidade de registro para JCJ também foi discutida, incluindo proteção contra um potencial ataque de negação de serviço, pelo qual os atacantes inundam o quadro de avisos com votos credenciais falsas, criando assim sérios atrasos no processamento. Outras propostas incluem formalização do processo de votação no Civitas, uma interface de usuário

(15)

14

inspirada em parte por Helios e gerenciamento de credenciais usando cartões inteligentes.

5.3 CIVITAS

Desenvolvido por Clarkson, Chong e Myers em 2008, corresponde ao sistema JCJ porem com melhorias no protocolo de segurança para registro de eleitores. Onde o eleitor divide a credencial verdadeira em diversos administradores, e quando realizada a votação combina sua credencial com as demais distribuídas para validação do voto. O Civita diminui o tempo de processamento e recursos computacionais utilizando este método de validação, pois se as credenciais não forem válidas esse voto não é computado, somente é validado o voto quando as credenciais são válidas.

5.4 HELIOS

Sistema desenvolvido pela Adida em 2008 é destinado para casos em que a privacidade e integridade de votos é fundamental. Para votar o eleitor vai até o site da eleição e escolhe seus candidatos e criptografa seus dados salvando em seu computador e emitindo uma espécie de recibo para conferência, posteriormente realiza login no sistema e imputa o voto criptografado gerado anteriormente, que serão divulgados em um quadro de votos. Ao encerrar a eleição os votos contidos no quadro são processados utilizando uma criptografia que quebra a ligação do eleitor com o voto e só assim os votos são descriptografados e contabilizados. A primeira versão do Helios utilizava protocolo mixnet- Sake-Kilian, já sua versão 2.0 utiliza criptografia homomórfica distribuindo chaves de descriptografia entre vários administradores da eleição. Este sistema possui várias vulnerabilidades como o invasor pode copiar e redigir votos anteriormente lançados, e um sistema corrompido podem distribuir recibos idênticos para eleitores diferentes enquanto modifica seus votos reais sem serem detectados.

Conforme Hao e Ryan (2017, p.203):

Helios fornece garantias de E2E, mas, como observado anteriormente, não é adequado para eleições políticas onde o risco de coerção é alto. Adida reconhece isso como uma limitação geral dos sistemas de votação remota e sugere que o Helios possa de fato educar os eleitores sobre essa ameaça.

(16)

15

Esse problema foi resolvido em versões mais novas assim como também introduzidas melhorias como autocontagem de votos e maiores garantias de privacidade.

5.5 PRETTY GOOD DEMOCRACY

Desenvolvido por Ryan e Teague em 2001, democracia muito boa (pretty good democracy) trata-se de um sistema online de votação onde o eleitor recebe em sua residência um cartão com um código físico, que atribui códigos de votos e reconhecimento único escolhidos aleatoriamente para os candidatos, estes códigos são sequências alfanuméricas de comprimento que resiste a ataques de adivinhações. Para votar o eleitor realiza login no sistema e informa o seu id fornecido em sua folha de código e em seguida fornece o código do candidato a votar, como os códigos são aleatórios eles somente podem ser acessados pelo eleitor e pelos administradores o que impede que um malwere desvende o voto ou altere o mesmo. Para registrar o voto um número de administradores com suas chaves tem que gerar um código de aprovação o que impede alteração no registro de voto. Os principais problemas deste sistema é a coação e a venda do cartão de votação com os códigos que são processos que não podem ser impedidos.

5.6 SISTEMA DE ELEIÇÃO REMOTO SECRETO E VERIFICÁVEL

Implementado por Ranieri Althof em 2018, é um sistema baseado no Adder, onde são utilizados servidores de terceiros para realizar autenticação e uma biblioteca para criptografia dos dados. Neste sistema temos três servidores, o primeiro de autenticação utiliza o protocolo OpenId Connect do Google para autenticar os eleitores no sistema. O segundo é o sistema de voto onde apenas registra os votos e evita a sua duplicação. O terceiro a biblioteca Swartz que criptografa e descriptografa os votos que possui propriedade homomórficas, ou seja, é um sistema com chaves assimétricas, utilizando o criptosistema de Paillier.

Conforme Ranieri (2018, p.43):

O criptosistema de Paillier foi escolhido por possuir estas características, sendo um criptosistema de chaves assimétricas com propriedades homomórficas cuja complexidade é dada pela hipótese de intratabilidade da residuosidade composta de decisão.

(17)

16

6 ANÁLISE E LEVANTAMENTO DE REQUISITOS

Para desenvolvimento deste projeto foi necessário a aquisição de um servidor em nuvem para armazenamento do sistema que esta proposto para desenvolvimento, realizar configurações de segurança e acesso para o mesmo. Assim como obter conhecimentos das tecnologias que serão utilizadas para desenvolvimento do back e front end da aplicação. Outro ponto importante é analisar o funcionamento do algoritmo de paillier, para criptografar os votos assim que forem salvos pelo eleitor, e fazer com que apenas o servidor no momento da apuração consiga descriptografar o candidato que foi votado.

Quanto a parte do cliente em questão que seriam os eleitores e os administradores eleitorais, será necessário que possuam um equipamento eletrônico com acesso a internet, podendo ser um computador, celular ou tablet, pois como o sistema será web, necessita apenas de um navegador para realizar o acesso e poder realizar suas escolhas.

7 MODELO PROPOSTO

A solução consiste de um sistema eleitoral web com armazenamento em nuvem. O sistema possui dois perfis de usuário, sendo eles: administradores eleitorais (que seriam as pessoas responsáveis pela eleição ou órgão responsável), e os eleitores.

O usuário com permissão de administrador é responsável pelo cadastro da eleição, sua data de realização, cargos, candidatos e ao final de uma eleição verificar o resultado obtido, já os eleitores com acesso ao sistema no dia da eleição realizarão a escolha dos candidatos da eleição que estiver disponível.

Ao realizar os cadastros, o administrador estará enviando os dados para um servidor em nuvem que terá a função de exibir as eleições para os eleitores, criptografar os votos de cada eleitor, verificar a veracidade do eleitor e não permitir a modificação dos votos. Na imagem abaixo é possível verificar este processo.

(18)

17

Figura 1- Funcionamento do sistema eleitoral

Fonte: do Autor (2019)

Tomamos como exemplo a utilização de um sistema web em uma eleição municipal, o tribunal regional eleitoral irá cadastrar os candidatos, seus partidos, e a data em que a eleição ocorrerá. No dia da eleição os eleitores entrarão no sistema web com suas credenciais e participarão da eleição escolhendo seus candidatos. Ao final de uma eleição o administrador do tribunal regional eleitoral irá verificar o resultado da eleição divulgando assim os candidatos escolhidos.

Após verificar diversos sistemas eleitorais desenvolvidos, optamos pela metodologia de um servidor que conterá o sistema eleitoral e realizará a criptografia dos votos utilizando o algoritmo de Paillier, pois o mesmo não precisa ser descriptografado para verificar a autenticidade da informação contida na informação criptografada.

O algoritmo de Paillier funciona da seguinte maneira: Primeiramente é gerado as chaves escolhendo dois números primos aleatórios altos p e q, tal que mdc(pq, (p-1)(q-1)) =

1. Esta propriedade é garantida caso ambos os números tenham o mesmo número de

dígitos. Depois, calcula-se n = pq e λ = mmp(p-1, q-1). Onde mmp significa mínimo múltiplo comum. Após isso é escolhido um número aleatório g, que seja da ordem múltipla de n ou mdc(L(gλ mod n2 ) n) = 1. Onde L(x) = (x-1)/n. A chave pública é (n, g), e a

privada (p, q, λ). A criptografia de uma mensagem m < n se dá por: c = gmrn mod n2,e para decifrar um texto cifrado c utiliza-se a função m = (L(gλ mod n2) / L(gλ mod n2 )) mod n.

Primeiramente serão desenvolvidas as funcionalidades principais do sistema, como cadastros, histórico e resultados de eleições, de acordo com o modelo de dados abaixo:

(19)

18

Figura 2 - Modelagem do banco de dados

Fonte: do Autor (2019).

Posteriormente será implementada a criptografia dos votos e identificação dos mesmos para contabilização de votos, e o sistema de autenticação para logar no sistema. Para assim desenvolver as interfaces dos painéis administrativos de acordo com as permissões. Por fim será criado o servidor em nuvem e configurado os protocolos de segurança, de acesso, balanceamento de carga, e armazenamento do sistema. Assim que finalizadas estas etapas o sistema estará operante em um endereço web, acessível e pronto para criação e utilização em eleições.

(20)

19

8 DIAGRAMAS UML

No diagrama abaixo de caso de uso é possível visualizar detalhadamente os papéis dos dois atores deste sistema assim como as funcionalidades que irão compor este sistema. Figura 3 - Diagrama de caso de uso

Fonte: do Autor (2019).

No diagrama abaixo de classe é possível visualizar as classes e métodos que irão compor o sistema.

(21)

20 Figura 4 - Diagrama de classe

(22)

21

9 TECNOLOGIAS UTILIZADAS

Com relação às tecnologias utilizadas para desenvolvimento deste sistema, podemos começar com a linguagem da programação utilizada para desenvolvimento do sistema eleitoral. Como linguagem de programação foi utilizada o python na versão 3.6 e o Java. O python foi utilizado para desenvolvimento back-end da aplicação devido a sua praticidade e compatibilidade com o algoritmo de paillier que foi utilizado para a criptografia dos votos, e também foram utilizadas as bibliotecas a flask e SQLAlchemy para auxilio nesta praticidade de desenvolvimento e conexão com banco de dados. Já para a programação front-end foi utilizando uma biblioteca do Java o PrimeFaces1. Já o servidor web foi criado um ambiente cloud na Digital Ocean possuindo o sistema operacional Ubuntu na sua versão 18.04.3 de x64, que já possui seu mecanismo próprio de balanceamento de carga e espelhamento, portando em caso de queda do servidor através dos mecanismos próprios contratados a aplicação continua em funcionando. A aplicação web utilizada foi o wildfly que é específico para aplicações em java e o banco de dados foi utilizado o postgres. Outros mecanismos foram também adotados nessa implementação para segurança do servidor e para transferência de arquivos, como as chaves de ssh que foram adicionadas para acesso permitido apenas por dispositivos autorizados e como o git que foi instalado para melhor transferência e atualização do sistema. Outro mecanismo adotado foi o certificado digital gerado a partir do lets encrypt para que as conexões aconteçam através do HTTPS de forma segura.

1

O PrimeFaces é uma biblioteca de componentes de interface de usuário de código-fonte aberto para aplicativos baseados em JavaServer Faces.

(23)

22

10 PROJETO DE IMPLANTAÇÃO E FUNCIONALIDADES

Neste tópico serão apresentadas as telas do sistema e suas funcionalidades, demonstrando a utilização de cada uma de acordo com o perfil de administrador e eleitor.

A tela de login é a tela inicial do sistema, onde os administradores e eleitores colocarão seu usuário que será o título de eleitor e a senha. Os administradores que cadastrarão os eleitores, e as credenciais de acesso serão enviadas por e-mail para o eleitor poder acessar o sistema.

Após realizar o primeiro login será necessária a alteração de senha para os próximos acessos ao sistema.

(24)

23

Para alterar a senha é necessário colocar o login, senha atual e a nova senha, após isto basta clicar no botão salvar.

Na tela de início do sistema com o perfil de administrador pode ser visto as eleições em aberto e as últimas eleições realizadas, assim como informações se participou, quando foi realizada esta eleição. O sistema apresenta o menu lateral, onde é possível ir para a página de eleições e de eleitores. No menu lateral também há a opção de alterar a senha e sair do sistema eleitoral.

(25)

24

Na tela de eleição com o perfil de administrador é possível verificar as últimas eleições, realizar busca de eleições e criar uma nova eleição. Ao clicar em nova eleição exibirá a seguinte tela:

Nesta tela é possível cadastrar uma nova eleição, inserindo um nome para esta eleição e observação, assim como informações do primeiro turno como a data de início e fim da eleição e os cargos que serão disputados. Quando realizada a apuração o sistema

(26)

25

através de cálculos verifica a se há necessidade de um segundo turno, habilitando assim a opção de cadastro do segundo turno de uma eleição.

Na segunda aba da tela de cadastro de eleições é possível realizar o cadastro dos candidatos delimitando o cargo, nome do candidato e partido, e caso haja um vice-candidato deve ser inserido o nome e partido do vice-candidato.

Caso seja necessário o cadastro de um novo partido, ao clicar no botão de cadastrar partido será exibida a tela para inserir no nome, sigla e número do partido a ser criado.

(27)

26

Na terceira aba da tela de cadastro e eleições é possível visualizar a tela de apurações realizadas. Nela é possível identificar quais candidatos foram ou não eleitos e a quantidade de votos que cada um recebeu. Também é possível realizar filtros por cargo e turno de eleição.

Na tela de eleitor com o perfil de administrador é possível verificar os eleitores já cadastrados, realizar busca de eleitores e criar um novo eleitor. Ao clicar em novo eleitor exibirá a seguinte tela:

(28)

27

Nesta tela é possível cadastrar um novo eleitor, inserindo um nome, CPF, e-mail, seus dados eleitorais como zona, seção, número de inscrição, o estado e cidade onde reside. O perfil é somente adicionado quando o eleitor for administrador de eleições. Tendo como exemplo as eleições municipais os administradores seriam as pessoas do cartório eleitoral ou TRE, que são as responsáveis por cadastrar os candidatos, partidos e eleições.

Assim que realizado o cadastro de um eleitor o mesmo recebe o e-mail de identificação para acesso ao sistema.

Quando acessado o sistema com o perfil eleitor, o mesmo terá permissões para votar, e visualizar eleições e seus resultados.

(29)

28

Na tela de inicio do sistema pode ser visto ver as eleições em aberto e as últimas eleições realizadas, assim como informações se participou quando foi realizada esta eleição. Temos também o menu lateral, nele é possível ir para a página de eleições para verificar resultados de eleições. No menu lateral também há a opção de alterar a senha e sair do sistema eleitoral.

Quando houver uma eleição em aberto em que o eleitor ainda não votou, ela será exibida com a opção de votar habilitada.

No menu lateral eleição é possível visualizar as últimas apurações de eleições realizando o filtro por cargo e turno de eleição. Nesta tela também é possível visualizar a quantidade de votos e se o candidato foi ou não eleito.

(30)

29

Na tela de votação é descrito quais cargos estão sendo concorridos nesta eleição e há os campos para serem preenchidos sendo eles o número do candidato e o nome. Quando preenchido o número do candidato ele faz uma busca e preenche para o eleitor no nome do candidato. Ao clicar em confirmar voto abrirá a seguinte tela de confirmação para o eleitor:

Nesta tela é solicitado a confirmação de usuário e senha, e o eleitor receberá um e-mail com um código de verificação.

(31)

30

Este código de validação deve ser informado na tela de confirmação para que o voto do eleitor possa ser confirmado, este código de confirmação fica válido por 05 minutos, após este tempo deve ser solicitado novamente.

Após realizar o processo de confirmação o eleitor receberá um e-mail de comprovação de participação na eleição.

Este e-mail confirma que o eleitor participou de uma determinada eleição, e há nele um código hash gerado para conferência do eleitor e possível auditoria contra fraude ou alteração de votos. A geração do código hash acontece após salvar os dados na base, e é pego o texto cifrado do id do candidato escolhido de cada cargo votado, concatenado todos e usando a função md5 nativa do python.

(32)

31

11 CONSIDERAÇÕES FINAIS

Nessa implementação foi possível concluir que este sistema pode ser utilizado para quaisquer tipos de eleições. Este sistema demonstrou a agilidade na criação de eleições, assim como nos cadastros de candidatos e eleitores, sem a necessidade de retrabalho e diminuindo a quantidade de pessoas que atualmente necessita para realização do cadastramento e configuração no caso de eleições com urna eletrônica, e composição de fichas de votação no caso das eleições realizadas em cédulas de papel. Outro ponto importante é quanto a segurança e comprovação do eleitor, foram adotados métodos de comprovação de veracidade e para identificação do eleitor. Quanto às apurações pode-se perceber a rapidez para saber os resultados e de forma segura, assim que fechada a eleição a apuração ocorre resultando nos eleitos ou na necessidade de segundo turno.

Verificamos como possibilidades para trabalhos futuros a confirmação do voto por biometria do eleitor para verificação de identidade e a criação de credenciais falsas para quando o eleitor estiver realizando uma eleição e esteja sendo coagido ele inserir a credencial falsa e este voto não será contabilizado, sendo posteriormente possível ele realizar a votação com a credencial verdadeira.

Compreendemos que esta implantação tem como intuito beneficiar a população quanto a agilidade, facilidade para realizar uma votação não necessitando mais sair de suas casas, e que até mesmo pessoas que estejam viajando possam estar contribuindo e expressando sua opinião. E que estas pessoas não fiquem esperando horas para obter os resultados, além da segurança ao realizar suas escolhas.

(33)

32

REFERÊNCIAS

ALTHOFF, Ranieri. Implementação de um sistema eleitoral remoto secreto e verificável. Disponível em: https://repositorio.ufsc.br/bitstream/handle/123456789/ 192304/ main.pdf? sequence=1&isAllowed=y Acesso em: 21 jun. 2019.

DIGITALOCEAN. Products Overview. Disponível em: https://www.digitalocean.com/ products/ Acesso em: 20 Ago. 2019.

GITBOOK. WildFly – Um livro opensource. Disponível em: https://jboss-books.gitbooks.io/wildfly/content/ Acesso em: 22 ago. 2019.

HAO, Feng e RYAN, Peter Y.A. Real-World Electronic Voting - Design, analysis and deployment. CRC Press, 2017.

HAT, Red. What is Wildfly? Disponível em: https://wildfly.org/about/ Acesso em: 26 jul. 2019.

SOCIETY, Daylighting. Paillier crypstosystem. Disponível em: https://paillier.daylighting society.org/about Acesso em: 26 jul. 2019.

TSE. Segurança. Disponível em: http://www.tse.jus.br/eleicoes/urna-eletronica/seguranca Acesso em: 21 jun. 2019.

TSE. Urna Eletrônica. Disponível em: http://www.tse.jus.br/eleicoes/urna-eletronica/urna-eletronica Acesso em: 21 jun. 2019.

Referências

Documentos relacionados

Relembrar os antigos (muito antigos) games de escolhas alternadas e diálogos longos que mudam a rota do nosso personagem é uma ótima estratégia em videogames. O jogo traz uma

Os Coordenadores Setoriais, enquanto professores, procuram dar o exemplo, mas deixam claro que encontram, no seu percurso como extensionistas, esse elemento dificultador;  O

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

2016: SEMINÁRIO EM ANTA GORDA: INÍCIO DO PLEITO PARA CÂMARA SETORIAL E PROGRAMA Seminário e reuniões na SEAPI para construção.. do

◦ Os filtros FIR implementados através de estruturas não recursivas têm menor propagação de erros. ◦ Ruído de quantificação inerente a

Os candidatos reclassificados deverão cumprir os mesmos procedimentos estabelecidos nos subitens 5.1.1, 5.1.1.1, e 5.1.2 deste Edital, no período de 15 e 16 de junho de 2021,

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades