Full text
Universidade do Minho Escola de Engenharia Cristiana Rosa Loureiro Teixeira Especificação da adaptação da eVotUM ao suporte expedito de votações, presenciais ou distância, de pequenos grupos Outubro 2022 Especificação da adaptação da eVotUM ao suporte expedito de votações, presenciais ou distância, de pequenos grupos Cristiana Rosa Loureiro Teixeira UMinho | 2022
Cristiana Rosa Loureiro Teixeira Especificação da adaptação da eVotUM ao suporte expedito de votações, presenciais ou distância, de pequenos grupos Outubro de 2022 Dissertação de Mestrado Mestrado Integrado em Engenharia e Gestão de Sistemas de Informação Trabalho efetuado sob a orientação do Professor Doutor Luís Alfredo Martins do Amaral
ii DIREITOS DE AUTOR E CONDIÇÕES DE UTILIZAÇÃO DO TRABALHO POR TERCEIROS Este é um trabalho académico que pode ser utilizado por terceiros desde que respeitadas as regras e boas práticas internacionalmente aceites, no que concerne aos direitos de autor e direitos conexos. Assim, o presente trabalho pode ser utilizado nos termos previstos na licença abaixo indicada. Caso o utilizador necessite de permissão para poder fazer um uso do trabalho em condições não previstas no licenciamento indicado, deverá contactar o autor, através do RepositóriUM da Universidade do Minho. Licença concedida aos utilizadores deste trabalho Atribuição CC BY https://creativecommons.org/licenses/by/4.0/
iii AGRADECIMENTOS Durante todo o processo de realização desta dissertação contei com o apoio, direto e indireto, de múltiplas pessoas, às quais estou profundamente grata. Quero, portanto, deixar aqui expressos os meus agradecimentos: Ao meu orientador, Professor Luís Amaral, pela orientação prestada e pelo incentivo, disponibilidade e apoio que sempre me demonstrou. À Eurotux, pelo conhecimento e auxílio continuamente facultados. À família, pelo encorajamento oportuno e por estar sempre presente. Às amigas, com quem ultrapassei inúmeros desafios ao longo de todo este percurso. E a todos aqueles que, de algum modo, acompanharam e apoiaram a evolução deste trabalho.
iv DECLARAÇÃO DE INTEGRIDADE Declaro ter atuado com integridade na elaboração do presente trabalho académico e confirmo que não recorri à prática de plágio nem a qualquer forma de utilização indevida ou falsificação de informações ou resultados em nenhuma das etapas conducente à sua elaboração. Mais declaro que conheço e que respeitei o Código de Conduta Ética da Universidade do Minho.
v RESUMO Especificação da adaptação da eVotUM ao suporte expedito de votações, presenciais ou distância, de pequenos grupos. A realização de votações pela Internet é uma necessidade crescente da sociedade atual, que se revigorou, sobretudo, na mais recente pandemia mundial e nos anos que dela decorrem. Propõe-se analisar a eVotUM, vigente plataforma de voto eletrónico da Universidade do Minho, utilizada em eleições de vários órgãos da academia, e aferir a sua adaptabilidade para um novo contexto de votação mais expedito, através de reuniões presenciais ou à distância, com um número reduzido de intervenientes. Por meio de uma identificação e caraterização da atual arquitetura da plataforma, bem como dos seus componentes principais, procede-se ao levantamento dos requisitos funcionais e não funcionais indispensáveis à conceção da nova plataforma, eVotUM light, adaptada ao novo contexto de votação em que se insere. O estudo possibilita a especificação de tal sistema de votação, resultante do reaproveitamento de determinados componentes originais e da evolução ou simplificação de alguns outros. Palavras-Chave: eVotUM, eVotUM light, Plataforma de voto eletrónico, Votação, Sistemas de votação eletrónica.
vi ABSTRACT Specification of eVotUM's adaptation to support in-person or remote voting of small groups. Voting through the Internet is a growing need in today's world, which has been invigorated, above all, in the most recent global pandemic and in the years that followed it. It is proposed to analyze eVotUM, the current electronic voting platform of the University of Minho, used in elections of several academic bodies, and to assess its adaptability to a new, more expeditious voting context, through face-to-face or remote meetings, with a reduced number of participants. Through an identification and characterization of the current platform architecture, as well as its main components, the functional and non-functional requirements essential to the conception of the new platform, eVotUM light, adapted to the new voting context in which it operates, are surveyed. The study allows for the specification of such a voting system, resulting from the reuse of certain original components and the evolution or simplification of some others. Keywords: eVotUM, eVotUM light, Electronic voting platform, Votation, Electronic voting systems.
vii ÍNDICE DIREITOS DE AUTOR E CONDIÇÕES DE UTILIZAÇÃO DO TRABALHO POR TERCEIROS ............... ii AGRADECIMENTOS .................................................................................................................... iii DECLARAÇÃO DE INTEGRIDADE ................................................................................................ iv RESUMO ..................................................................................................................................... v ABSTRACT .................................................................................................................................. vi 1. INTRODUÇÃO ....................................................................................................................... 1 1.1 Enquadramento .......................................................................................................... 1 1.2 Motivação e Importância da Investigação ................................................................. 3 1.3 Finalidade e Objetivos ................................................................................................ 4 1.4 Caraterização da Abordagem de Investigação ........................................................... 5 1.5 Estrutura da Dissertação ............................................................................................ 6 2. FUNDAMENTOS .................................................................................................................... 8 2.1 Introdução aos Sistemas de Votação ......................................................................... 8 2.2 Votação Eletrónica pela Internet ............................................................................. 10 2.2.1 Riscos Associados ................................................................................................. 11 2.2.2 Modelos e Protocolos Criptográficos Existentes ................................................. 14 2.2.3 Sistemas Vigentes ................................................................................................. 19 2.2.3.1 Helios ............................................................................................................ 20 2.2.3.2 REVS [Robust Electronic Voting System] ...................................................... 21 2.2.3.3 Sensus ........................................................................................................... 24 3. CARATERIZAÇÃO DA PLATAFORMA EVOTUM .................................................................... 26 3.1 Visão Integral da Plataforma .................................................................................... 26 3.1.1 Intervenientes ...................................................................................................... 27 3.1.2 Processo de Votação pelo Eleitor ......................................................................... 28
2 No sentido de progredir e ultrapassar os obstáculos que dessa desatualização emergiam, a Universidade do Minho, em parceria com o Grupo Eurotux, com a Devise Futures e com o CCG (Centro de Computação Gráfica), promoveu, no ano de 2017, a implementação da plataforma de votação eletrónica eVotUM, solução essa que veio possibilitar a realização de eleições tradicionais via Web, mediante a utilização de um browser, instalado num computador ou smartphone. A reunião de arranque do projeto decorreu a 01/04/2016. O Grupo Eurotux, responsável pela implementação da plataforma, é constituído por especialistas em planeamento, integração e implementação de sistemas informáticos. O grupo oferece soluções de tecnologias de informação construídas à medida das necessidades dos clientes e os seus projetos privilegiam critérios de segurança, tratamento adequado de situações de contingência e alta disponibilidade dos sistemas. As tecnologias utilizadas vão desde produtos open source, inerentemente transparentes, confiáveis e de elevado desempenho, a produtos proprietários de diversos fabricantes. O sistema eVotUM permite, atualmente, diversas eleições simultâneas, com anonimato, segurança, transparência e singularidade, e está disponível para ser utilizado por qualquer unidade da universidade nos processos eleitorais, sejam estes atos eleitorais ou referendos de opinião. O sistema de votação eletrónica veio, assim, conferir uma maior celeridade e eficiência às operações de votação e apuramento, preservando todas as garantias de segurança e credibilidade inerentes a todo o processo. No entanto, atualmente, a utilização deste sistema para contextos de votação em tempo real durante reuniões, sejam estas presenciais ou à distância, constituídas por um número de intervenientes reduzido, é muito pouco ajustada. A plataforma foi projetada para suportar votações que obedecem, rigorosamente, a um conjunto de fases integrantes de um processo eleitoral, fases essas que são, neste novo contexto, desnecessárias.
3 1.2 Motivação e Importância da Investigação Na atualidade, a utilização de sistemas de votação eletrónica deixou de ser uma mera idealização e transformou-se numa necessidade incontestável e de aceitação e aderência crescentes. A pandemia global da COVID-19, que surgiu em 2020, suscitou uma mudança profunda no dia-a-dia das pessoas, organizações e instituições, alterando, fundamentalmente, o modo de viver e de trabalhar que se estabelecera até então. Dadas as adversidades, tais organizações e instituições viram-se forçadas a alterar os seus paradigmas de trabalho e a instituir mudanças a grande velocidade, através de novas práticas e modelos de organização. Contudo, apesar de as metodologias de trabalho terem vindo a ser adaptadas para fazer face à nova realidade, estas detêm ainda um vasto potencial de evolução. A necessidade de serem promovidas votações, em tempo real, em contexto de reuniões remotas, fossem estas organizacionais ou institucionais, surgiu, e a realidade que se presenteava era muito pouco ajustada. A plataforma de votação eletrónica eVotUM, em particular, foi projetada para suportar votações que obedecem, rigorosamente, a um amplo conjunto de fases integrantes de um processo eleitoral aceite como convencional, fases essas que são, num contexto de votação mais simplificado, desnecessárias. Posto isto, identificou-se a oportunidade de reimplementar a plataforma existente de tal modo que se ajuste à utilização no novo contexto de votação, reaproveitando, para tal, as componentes desenvolvidas até à data, simplificando as suas interfaces e ajustando todo o processo eleitoral. A plataforma que advirá dessa adaptação é, portanto, a eVotUM light. O aproveitamento desta oportunidade é o móbil da dissertação.
4 1.3 Finalidade e Objetivos Como já referido, a eVotUM oferece diversas soluções de voto, no entanto, ainda não tem uma solução adaptada a um contexto de votação em reuniões, quer estas sejam em formato online ou até mesmo presencial, para oferecer aos seus utilizadores. Tal como foi evidenciado na introdução deste capítulo, as votações pela Internet estão a aumentar, assim como a procura destes serviços por parte de governos e organizações. Este protejo de dissertação foi realizado com o intuito de especificar uma nova solução, eVotUM light, dedicada a votações num novo contexto, preservando caraterísticas como a rapidez, a fácil utilização e a alta segurança, que já detém. Nesse sentido, no decorrer desta dissertação estão previstos, fundamentalmente, os seguintes objetivos e correspondentes resultados esperados: • Procura de clarificação sobre quais as funcionalidades e arquiteturas projetadas para as plataformas de votação eletrónica atualmente dominantes, resultando numa revisão de literatura atualizada sobre as arquiteturas existentes e, ainda, sobre as caraterísticas naturalmente intrínsecas a sistemas desta natureza; • Identificação e caraterização da arquitetura atualmente implementada na eVotUM, resultando na descrição dos principais componentes da atual plataforma de votação; • Levantamento dos requisitos funcionais e não funcionais necessários ao suporte de votações em reuniões, em formato online ou presenciais, resultando na caraterização dos requisitos indispensáveis à futura plataforma eletrónica, cingida ao novo contexto de votação; • Especificação de uma nova plataforma que cumpra os requisitos funcionais e não funcionais previamente especificados, resultante de uma evolução e simplificação das componentes já existentes na eVotUM. O resultado associado é, portanto, a especificação funcional e não funcional da eVotUM light para contextos de votação, em tempo real, durante reuniões.
5 1.4 Caraterização da Abordagem de Investigação Numa primeira instância, concernente à pesquisa inicial da dissertação, é efetuada uma revisão de literatura, isto é, um levantamento bibliográfico referente ao estado da arte no âmbito dos sistemas de votação eletrónica através da Internet, recorrendo, para tal, aos diversos repositórios de referência existentes, particularmente, o Google Scholar. Numa segunda instância, é satisfeita uma análise detalhada da arquitetura da eVotUM, para que, posteriormente, pudesse ser efetuada a prescrição de uma nova solução em função do problema a resolver, isto é, uma variante da plataforma atual capaz de suportar, de forma expedita, votações presenciais ou distancia por parte de pequenos grupos. A investigação visa, portanto, gerar conhecimentos, para que, num futuro próximo, possa ocorrer a sua aplicação prática, com vista à solução de um problema específico. Nesse sentido, a pesquisa efetuada é do tipo aplicada e envolve interesses locais. Tal como previamente referido, os resultados produzidos pela investigação procuram satisfazer a necessidade atual de criação de uma nova plataforma de votação eletrónica através da Internet, adaptada para contextos de votação de pequena escala em reuniões e, para tal, é imprescindível efetuar a sua especificação, objetivo central da dissertação.
6 1.5 Estrutura da Dissertação A presente dissertação encontra-se organizada em cinco capítulos, nomeadamente: 1. Introdução No primeiro capítulo é exposta a introdução ao tema da dissertação, pelo que serão apresentados o enquadramento, a motivação e importância da investigação, a finalidade e objetivos inerentes, a caraterização da abordagem de investigação e, por fim, a estrutura da dissertação. Este permite situar o projeto no contexto do tema elegido, possibilitando a agregação de conhecimentos e compreensão do que irá ser aplicado ao longo da investigação. 2. Fundamentos Ao longo do segundo capítulo são retratados diversos aspetos concernentes a sistemas de votação eletrónica. É, portanto, contextualizada a relevância da Internet no exercício da democracia e, posteriormente, expostos alguns dos riscos associados ao voto eletrónico pela Internet, enunciados os modelos de votação eletrónica existentes, bem como os sistemas de voto eletrónico vigentes na atualidade. 3. Caraterização da Plataforma eVotUM No terceiro capítulo é, numa primeira instância, apresentada uma visão integral da atual plataforma eVotUM e, posteriormente, descrito o comportamento funcional e arquitetura tecnológica que a caraterizam, o que servirá de referência para a especificação da eVotUM light. 4. Especificação da Plataforma Futura No decorrer do quarto capítulo é efetuada a especificação detalhada da futura plataforma de votação eletrónica, eVotUM light, adaptada, portanto, ao novo contexto de votação, de pequenos grupos, em reuniões presenciais, à distância e, sobretudo, híbridas.
7 Especificá-la passa, então, por descrever um variado conjunto de atributos que lhe são caraterísticos e, nesse sentido, o capítulo começa por introduzir uma visão integral da plataforma e, posteriormente, subdivide-se em três lógicas distintas, designadamente, o comportamento funcional, o comportamento dinâmico e a arquitetura tecnológica inerentes à plataforma. 5. Conclusão Por fim, no último capítulo, são retiradas as principais conclusões associadas ao trabalho desenvolvido, anunciadas as dificuldades sentidas aquando da sua concretização e traçadas perspetivas futuras tendo por base a solução proposta.
8 CAPÍTULO 2 FUNDAMENTOS Ao longo do presente capítulo são retratados diversos aspetos concernentes a sistemas de votação eletrónica através da Internet. Inicialmente, é efetuada uma introdução aos sistemas de votação eletrónica, nomeadamente no que diz respeito aos seus requisitos, às suas fases de votação e às entidades envolvidas no processo. De seguida, é contextualizada a relevância da Internet no exercício da democracia e a vigorosa tendência, na atualidade, de desenvolver sistemas de votação desta natureza. Posteriormente, são expostas diversas problemáticas referentes ao novo paradigma de votação, ou seja, alguns dos riscos associados ao voto eletrónico pela Internet. Posto isto, são enunciadas as premissas criptográficas de referência, os modelos existentes, bem como os sistemas de voto eletrónico vigentes na atualidade. 2.1 Introdução aos Sistemas de Votação São múltiplas as vertentes inerentes aos sistemas de votação que requerem uma análise cuidada por parte dos investigadores, desde requisitos, arquiteturas e mecanismos de implementação, até questões legais e éticas suscitadas pela utilização desses mesmos sistemas. Um sistema de votação eletrónica deve, idealmente, transpor as características e funcionalidades que o sistema de votação tradicional oferece e deve, portanto, ser desenhado e arquitetado com foco na segurança. Este tem de cumprir e garantir diversos requisitos gerais, comuns a todas as eleições, recorrendo, para tal, a mecanismo de segurança, sendo que se trata de um sistema crítico. No entanto, apresenta necessidades e comportamentos distintos daqueles encontrados nos sistemas tradicionais. Na tabela 1 são enumerados e descritos os principais requisitos, apontados pela literatura, para sistemas desta natureza.
9 Tabela 1 - Requisitos dos Sistemas de Votação Eletrónica (Nogueira, J. A. P. M., 2011) Requisito Descrição Autenticidade Apenas eleitores autorizados devem poder votar; Singularidade Cada eleitor deve poder votar uma única vez por eleição; Anonimato A associação entre o voto e o respetivo eleitor deve ser inexequível; Integridade O voto não deve poder ser alterado, falsificado ou eliminado; Incoercibilidade Nenhum eleitor deve ser capaz de provar o voto que emitiu; Verificabilidade Qualquer pessoa deve ser capaz de verificar que todos os votos foram corretamente contabilizados; Auditabilidade e Certificabilidade O sistema deve poder ser testado, auditado e certificado por agentes independentes; Mobilidade O sistema não deve restringir o local de votação; Transparência O sistema deve ser claro e transmitir rigor, precisão e segurança ao eleitor; Disponibilidade O sistema deve estar sempre disponível durante o período eleitoral; Acessibilidade e Conveniência O sistema deve ser acessível a pessoas com necessidades especiais, sem exigir equipamentos ou competências específicas; Detetabilidade e Recuperabilidade O sistema deve poder detetar erros, falhas e ataques, bem como recuperar informação até ao ponto de falha. As fases de uma votação, suportada por um sistema de votação eletrónica, podem ser equiparadas às de uma votação tradicional. Existe, pois, uma grande variedade de processos de votação, processos esses que dizem respeito à realização de uma eleição. De um modo genérico, cada eleição, tradicional ou eletrónica, envolve cinco etapas (Burmester e Magkos, 2003; Wang K., 2017), nomeadamente: 1. Registo: Esta primeira fase contempla a compilação dos cadernos eleitorais com todos os eleitores elegíveis; 2. Validação: Esta etapa envolve a verificação das credenciais dos eleitores que tentam votar e só permite que eleitores registados, que ainda não votaram, prossigam;
10 3. Reunião: Esta terceira fase pressupõe a reunião dos votos de todos os eleitores; 4. Verificação: Na quarta etapa é verificada a validade dos votos, sendo que apenas os votos válidos passam fase de contagem; 5. Contagem: É, portanto, na fase da contagem que se procede ao apuramento dos votos, sendo, por fim, publicado o resultado. Importante será também referir que, em sistemas de votação que apresentem algum tipo de anonimização, as entidades envolvidas no processo de votação eletrónica são, tipicamente, as seguintes: • Votante; • Emissor de votos; • Recetor de votos; • Anonimizador de votos; • Contador de votos. 2.2 Votação Eletrónica pela Internet Parcela eminente da vida contemporânea ocorre no meio digital, através do qual as pessoas convivem, interagem e estimulam acontecimentos, usufruindo do ambiente virtual tanto para realização pessoal como social. É, hoje, improrrogável refletir sobre o exercício da democracia no novo contexto de votação na Internet, sendo que este vai adquirindo novos formatos ao longo do tempo, mediante novos panoramas. O voto eletrónico assenta na utilização de recursos informáticos aquando do processo de votação, sendo que nos casos em que se procede à votação de forma remota é atribuída a designação de votação pela Internet. Sistemas de votação eletrónica pela internet facultam características melhoradas, comparativamente com sistemas de votação tradicionais, tais como precisão, conveniência, flexibilidade e mobilidade. O sistema de votação pela Internet é um sistema através do qual qualquer eleitor pode empregar o seu direito de voto a partir de qualquer parte do mundo, de forma segura, o que pode, em última análise, intensificar a
11 responsabilização. Os efeitos positivos potencialmente promovidos pela votação através da Internet são difíceis de quantificar, nomeadamente no que diz respeito à qualidade dos votos, sendo que por esta via não ocorrem votos nulos, nem erros na contagem, o que acontece, por vezes, pela via tradicional. A votação online é simples, atrativa e fácil de usar, além de reduzir esforços manuais e promover uma maior agilidade de análise da informação. 2.2.1 Riscos Associados Apesar de todas as características proficientes referidas, subsistem alguns inconvenientes na utilização destes sistemas, nomeadamente a possibilidade de ocorrerem falhas no software, existir um acesso inseguro à Internet ou, até mesmo, a impertinência de o eleitor não estar familiarizado com o uso das tecnologias. O voto eletrónico, cumprido através da Internet, é utilizado, não obstante, na maioria dos países desenvolvidos em eleições não vinculativas, como a eleição de muitas comissões representativas, conselhos de administração, conselhos científicos, entre muitos outros, e podem, efetivamente, envolver um grande número de eleitores. Existe, portanto, uma necessidade urgente de oferecer sistemas de votação eletrónica seguros, fiáveis e de confiança (Zúquete et. al., 2008). Sistemas de votação são, por natureza, extremamente sensíveis, e têm uma maior predisposição para sofrer ataques provenientes do exterior, isto é, representam um alvo de eleição por parte de entidades que pretendem influenciar, de forma ilícita, os resultados das eleições. O surgimento da votação eletrónica e, em particular, da votação pela Internet, veio potenciar a exploração de vulnerabilidades no software, ambiente de execução ou infraestrutura dos sistemas de votação e o esforço no sentido de ofender a integridade e privacidade da votação (Brioso, 2012). Não existem, portanto, sistemas infalíveis e as abordagens ao desenvolvimento de sistemas de votação eletrónica devem considerar, desde a sua génese, a existência de riscos e a consequente necessidade de os gerir, seja através da prevenção, mitigação ou contenção das potenciais consequências. Uma visão sistémica é, então, imprescindível no entendimento de sistemas de votação eletrónica, isto porque não é possível dissociar o sistema técnico, infraestrutura de suporte, dos seus eleitores e operadores durante o processo eleitoral, e de
18 Atualmente, são utilizados quatro modelos criptográficos fundamentais no âmbito da votação eletrónica, tendo em conta a técnica de anonimização utilizada (Burmester e Magkos, 2003; de Sousa Grilo, 2015). Os sistemas E-Voting pertencem, então, a um dos quatro modelos seguintes: 1. Modelo de Assinaturas Cegas: As assinaturas cegas são utilizadas, neste modelo, para possibilitar o voto anónimo, dissociando o voto do respetivo eleitor. Este foi proposto, pela primeira vez, por Atsushi Fujioka, utilizado para resolver a problemática da validação de votos com respeito à privacidade do eleitor, sem recorrer, para tal, a canais anónimos. O modelo tem, no entanto, a particular desvantagem de exigir que o eleitor esteja ativo em duas fases do processo, a fim de garantir o correto funcionamento do protocolo; 2. Modelo de Canais Anónimos: Um canal anónimo esconde a correspondência estabelecida entre o remetente e a respetiva mensagem, ou seja, protege a sua identidade. O primeiro canal anónimo proposto na literatura por David Chaum (Chaum, 1981), mix network, consiste numa sequência de servidores, cada um dos quais recebe um conjunto de mensagens de entrada e produz um conjunto de mensagens de saída, numa ordem permutada, o que quebra a ligação entre o remetente e o destinatário e, em última análise, transforma o rastreamento da comunicação mais difícil. Representa, pois, um modelo que se serve de múltiplas camadas para assegurar o anonimato, isto é, de cada vez que o voto atravessa uma camada são geradas novas chaves secretas. Trata-se, portanto, de um método que providencia anonimato, mas requer, consequentemente, um profuso poder computacional (Danezis e Diaz, 2008); 3. Modelo de Cifra Homomórfica: Modelo proposto por Ronald Cramer (Cramer et al., 1997), que se baseia em propriedades e algoritmos de cifra homomórfica, previamente descritos. Funções homomórficas são, em modelos desta natureza, aplicadas para calcular o resultado da eleição, sem decifrar os votos individuais. O mecanismo de encriptação homomórfica baseia-se na aplicação de operações aritméticas a números cifrados. O resultado pode ser decifrado adotando uma chave privada, no entanto, não
19 é possível a decifragem dos números de forma individual recorrendo a essa mesma chave privada. Sucintamente, cada eleitor cifra o seu voto com a chave pública da autoridade de voto. Por sua vez, os votos cifrados, recebidos pelo sistema, são distribuídos pelos clientes de contagem, onde cada um decifra o resultado parcial e publica-o. Como os votos não são decifrados individualmente, os eleitores podem estar associados a um dado voto sem que percam a sua privacidade. Por conseguinte, deixa de ser necessária a utilização de assinaturas cegas ou de canais anónimos. Por fim, procede-se ao apuramento da votação, onde os resultados parciais são agregados e é obtido o resultado. A precisão da contagem final pode ser verificada por todas as partes, portanto, existe verificabilidade universal. Desfavoravelmente, o modelo carece de uma alta capacidade computacional; 4. Modelo de Benaloh: Exemplo da utilização do mecanismo de encriptação homomórfica, proposto por Benaloh (Benaloh, 2006), onde cada eleitor partilha uma fração do seu voto com múltiplas autoridades de voto, cifrada com a chave pública da autoridade recetora que a publicará. No final do processo de votação, as autoridades reúnem as respetivas frações para efetuar a apuração do resultado da eleição. Esquemas desta natureza, embora estruturalmente simples, acarretam custos elevados de comunicação, uma vez que cada eleitor necessita de submeter o seu voto através de múltiplos canais, tantos quanto o número de autoridades de voto em causa. O modelo utiliza o princípio do segredo partilhado. 2.2.3 Sistemas Vigentes Existem, atualmente, múltiplos sistemas que possibilitam a realização de votações pela Internet. Nesta secção é apresentado um breve panorama, fundamentalmente centrado em aspetos arquiteturais, relativo aos sistemas de votação eletrónica mais relevantes propostos pela comunidade científica, à luz de alguns dos protocolos e modelos criptográficos referidos anteriormente. Em particular, os sistemas Helios e Sensus, considerados na análise, foram concebidos para efetivação de eleições de pequena escala, o que poderá servir de referência para a especificação da futura plataforma, objetivo central da dissertação. De um modo geral,
20 esta análise auxilia na compreensão das tecnologias utilizadas na implementação dos diversos sistemas de votação existentes, dos requisitos que os mesmos satisfazem e, ainda, das suas limitações. 2.2.3.1 Helios Sistema de votação pela internet, open-source, web-based, que possibilita a auditagem dos votos, averiguação de que são recebidos e apurados de forma apropriada, por parte dos eleitores e, ainda, a verificabilidade universal, sendo um sistema open-audit. Desenhado com base no modelo de Benaloh (Benaloh, 2006), e com recurso às mais recentes tecnologias e mais avançadas técnicas criptográficas, de modo a assegurar a integridade dos votos e a privacidade do eleitor num ambiente inseguro como aquele facultado pela Internet (Wang K., 2017). Trata-se, portanto, de um sistema passível de ser utilizado em votações organizadas por qualquer organização, grupo ou comunidade, que visa assegurar, entre outras propriedades, a verificabilidade e o sigilo do voto (Brioso, 2012). A verificabilidade, por sua vez, assegura a retificação do resultado, independentemente do software ou hardware em causa: o protocolo de votação fornece procedimentos de auditoria e provas criptográficas que permitem verificar a correção do resultado. A verificabilidade é, frequentemente, dividida em três propriedades distintas (Brioso, 2012; Cortier et. al., 2019; Bernhard e Warinschi, 2013): 1. Verificabilidade individual: Cada eleitor é capaz de verificar se o seu boletim de voto foi apurado; 2. Verificabilidade universal: Qualquer pessoa é capaz de verificar se o resultado corresponde a todos os boletins de voto publicados; 3. Verificabilidade de elegibilidade: Qualquer pessoa pode verificar se os boletins de voto advêm, apenas, de eleitores elegíveis.
21 A verificabilidade pode, ainda, ser dividida em três noções (Cortier et. al., 2019), de acordo com as diferentes fases da eleição, assegurando a verificabilidade end-to-end: 1. Cast-as-intended: A cédula encriptada inclui o voto elegido pelo eleitor; 2. Recorded-as-cast: O voto registado corresponde ao voto emitido pelo eleitor; 3. Counted-as-recorded: Todos os votos registados são corretamente contabilizados. Posto isto, o Helios disponibiliza dois métodos de verificação, um a ser utilizado pelos eleitores, na correção do voto entregue ao Ballot Preparation System, e outro a ser utilizado pelos administradores. Apesar de estarem focados nos eleitores e administradores, todos os intervenientes, incluindo eleitores não elegíveis, podem auditar toda a eleição recorrendo a ambos os métodos (Joaquim et. al., 2011). As premissas criptográficas aplicadas no Helios são a cifra homomórfica, modelo proposto por Ronald Cramer (Cramer et al., 1997), e o algoritmo El Gamal, sistema de chaves assimétricas, proposto por El Gamal (Taher Elgamal, 1984). O sistema é implementado com recurso a técnicas de encriptação homomórfica, focada em E-Voting, e ElGamal exponencial. É também utilizada a contagem através de mix networks, para assegurar a propriedade countas-recorded, e o mecanismo de verificação proposto por Josh Benaloh (Benaloh, 2006), para garantir a propriedade de cast-as-intended. O sistema utiliza, ainda, threshold encryption, em detrimento da comum encriptação de chave pública, de modo a evitar qualquer ponto único de potencial contravenção de privacidade. Threshold encryption não admite a desencriptação através de entidades individuais, sendo exigido um número mínimo pré-determinado de mandatários para o efeito. 2.2.3.2 REVS [Robust Electronic Voting System] Sistema de votação concebido para ambientes distribuídos com falhas, como a Internet, para apoiar eleições em larga escala. O REVS cumpre as características desejadas dos sistemas de votação tradicionais, tais como exatidão, democracia, privacidade e verificabilidade e, ademais, permite um processo de votação seguro, mesmo num ambiente defeituoso.
22 Essencialmente, este é um sistema de votação pela internet tolerante a falhas e baseado no modelo de assinaturas cegas. Para além de tolerar falhas na rede, nos servidores e nos clientes de voto, através de uma arquitetura baseada na replicação de componentes, é também capaz de garantir, até certo nível, o correto funcionamento das entidades envolvidas e, consequentemente, do sistema em geral. Na arquitetura original, os canais anónimos, estabelecidos entre eleitores e servidores de votação, são implementados com recurso a servidores especiais, designados Anonymizers (Wang K., 2017; Eliasson e Zúquete, 2006). O REVS utiliza uma arquitetura composta por quatro servidores, designadamente, Ballot Distributor, Administrators, Anonymizers e Counters. Existe, ainda, um Voter’s module, utilizado pelos eleitores como apoio à sua participação e, ainda, um Commissioner, módulo responsável pela preparação da eleição (Eliasson e Zúquete, 2006). Os componentes descritos são, detalhadamente, os seguintes: • Comissário [Commissioner]: Módulo utilizado para preparar a eleição, isto é, registar os eleitores e definir a configuração operacional para a eleição, ou seja, o par de chaves eleitorais, o voto, os endereços e chaves públicas dos servidores, o número de assinaturas necessárias, entre outros. O comissário também assina todos os dados eleitorais, para que qualquer pessoa possa verificar a autenticidade dos mesmos. Este pode ser visto como uma espécie de comissão eleitoral; • Distribuidor de boletins de voto [Ballot Distributor]: Assegura a distribuição dos boletins pelos eleitores e é responsável pela configuração das chaves e assinaturas envolvidas no processo. Toda a informação que este distribui deve ser assinada pelo comissário, em que todos os eleitores confiam. Assim, podem ser replicados vários distribuidores o que, em última análise, além de reduzir a carga de trabalho em cada um, melhora a eficiência, em eleições de larga escala, e proporciona tolerância às falhas de comunicação, proporcionando robustez ao processo de distribuição; • Administradores [Administrators]: Entidades eleitorais que têm o poder de decidir sobre a aceitabilidade de um voto de um eleitor. Um voto só é aceitável para a contagem final da eleição se tiver um conjunto mínimo de assinaturas de diferentes administradores. O eleitor utiliza uma chave diferente na autenticação com cada
23 administrador e, uma vez que o administrador não consegue derivar nenhuma outra chave a partir daquela que conhece, não pode, por si só, fazer-se passar por um eleitor; • Anonimizadores [Anonymizers]: Fornecem anonimato ao eleitor, impedindo que um contador associe o voto ao respetivo IP da máquina. Estes servidores atrasam e misturam, aleatoriamente, os votos dos eleitores, antes de serem enviados para os contadores. A aleatoriedade nas submissões dos votos impede, portanto, a potencial associação entre votos e respetivos eleitores, tendo por base o tempo da participação na votação; • Contadores [Counters]: Servidor que verificam a validade dos votos, ou seja, se contêm todas as assinaturas requeridas. Posteriormente, remove votos repetidos e efetua a contagem. Os eleitores enviam os seus boletins de voto finais aos contadores através dos anonimizadores, encriptados com a chave pública da eleição, impedindo assim os anonimizadores e os contadores de assistirem aos votos durante a eleição. No entanto, o sistema REVS pode ser também utilizado sem recurso a Anonimizadores e, nesse cenário, os eleitores enviam os seus votos diretamente aos contadores; • Módulo do eleitor [Voter’s Module]: Módulo utilizado pelo eleitor para participar na eleição. Realiza todas as interações adequadas com os servidores eleitorais, tais como obtenção do boletim de voto, aquisição da assinatura dos administradores e posterior submissão do mesmo. Este módulo é ainda responsável por gerar as chaves secretas do eleitor e controlar o correto preenchimento do boletim de voto. Figura 1 - Arquitetura original REVS (Zúquete et. al., 2008)
24 Analisando, então, a arquitetura inicialmente proposta para o sistema REVS, tal como ilustrado na Figura 1, o primeiro passo passa pela recolha do boletim, preparado pelo comissário, por parte do eleitor que, no segundo passo, é autenticado pelos administradores do sistema. Posteriormente, o eleitor recebe o seu voto cego assinado por mais de metade dos administradores e, já no terceiro passo, esse mesmo voto é submetido aos contadores através dos anonimizadores. Por fim, no quarto e último passo, os contadores totalizam e publicam os votos recolhidos (Zúquete e Almeida, 2008; Zúquete et. al., 2008). 2.2.3.3 Sensus Sistema de votação eletrónica sugerido por Lorrie Cranor e Ron Cytron, (Cranor et al., 1997), na sequência do trabalho realizado por Fujioka, Inicialmente pensado para reproduzir a votação por correio tradicional, veio a revelar-se suficientemente flexível para permitir outros tipos de votação, nomeadamente eleições em pequena escala, isto é, com um número de intervenientes moderado. Utiliza assinaturas cegas de modo a assegurar que apenas eleitores registados possam votar e, ainda, que votem somente uma vez. O Sensus permite que os eleitores verifiquem se os seus votos foram contados de forma correta e anónima. Mesmo satisfazendo a maioria dos requisitos de segurança de um sistema de votação eletrónica, o Sensus permite que uma das entidades envolvidas no processo eleitoral possa emitir os seus próprios votos em nome da abstenção (Wang K., 2017). O Sensus é, então, um sistema que apresenta quatro componentes essenciais (Zúquete et. al., 2008): • Registrador [Registrar]: Responsável pelo registo dos eleitores em cada eleição. Este deve selecionar uma lista de pessoas elegíveis para registo e uma lista de pessoas que se candidataram ao registo e cujas identidades foram verificadas. Através dessa seleção origina, depois, uma lista de eleitores registados. Os eleitores registados são, geralmente, listados pelos seus nomes ou códigos de identificação, uma chave pública de encriptação e, opcionalmente, um endereço de correio eletrónico;
25 • Agente [Pollster]: Atua como um agente de votação do eleitor, que apresenta os boletins de voto a cada eleitor e coleciona esses votos, sendo ainda responsável pelas operações criptográficas e entrega dos boletins de voto à urna. Trata-se, portanto, do único componente do sistema completamente confiável. Este pode também ser utilizado para ajudar os eleitores a verificar se os seus votos foram contados corretamente ou para concorrer a uma eleição; • Validador [Validator]: Responsável por verificar o registo de eleitores e assegurar que apenas um voto é emitido por cada eleitor registado. O validador cria um certificado de validação cego ao assinar um boletim de voto cego. O eleitor, então, decifra o certificado de validação e submete-o ao contador juntamente com o voto. Este utiliza a lista de eleitores registados para obter a chave pública de cada eleitor e verificar as assinaturas nos seus boletins de voto. Com este método não é mantido qualquer registo da ordem em que os boletins de voto são validados; • Contador [Tallier]: Responsável pela recolha dos votos, contagem e apuração dos resultados da eleição. Os eleitores submetem, primeiramente, os boletins de voto encriptados, assinados pelo validador, ao contador e este, por sua vez, verifica a autenticidade da validação e se o voto encriptado é único entre os recebidos até à data. Se o boletim de voto for válido e único, o contador emite um recibo assinado ao eleitor.
26 CAPÍTULO 3 CARATERIZAÇÃO DA PLATAFORMA EVOTUM No presente capítulo é descrita a arquitetura atual da plataforma de votação eletrónica eVotUM, plataforma essa que servirá de referência, no próximo capítulo, para a especificação da futura plataforma de votação, adequadamente adaptada a contextos mais nuclearizados de votação em reuniões. Caraterizar o atual sistema de votação passa, então, por descrever um conjunto de atributos que o integram. Nesse sentido, o capítulo começa por apresentar uma visão integral da plataforma, isto é, uma descrição das suas principais caraterísticas, funcionalidades e, ainda, intervenientes. Posto isto, o capítulo subdivide-se em duas lógicas distintas, designadamente, o comportamento funcional e a arquitetura tecnológica inerentes à plataforma de votação eletrónica eVotUM. A infraestrutura tecnológica da plataforma é, no segmento final do capítulo, repartida pela descrição das suas componentes de Software e Hardware, da sua arquitetura e, ainda, do seu fluxo de comunicação, para identificação das componentes mais relevantes e posterior reutilização em proveito da eVotUM light. 3.1 Visão Integral da Plataforma Numa primeira fase de caraterização da eVotUM é apresentada uma visão integral da plataforma e, como tal, numa primeira instância, são especificados os seus intervenientes. Posteriormente, são discriminadas matérias referentes ao processo de votação por parte do eleitor, à gestão do processo eleitoral por parte da comissão eleitoral, à gestão do sistema por parte do administrador, a toda a comunicação estabelecida na plataforma, ao tipo de eleições autorizadas, entre outras. Por último, de modo a retratar as transições de estado associadas ao processo eleitoral e à eleição, são apresentados os seus respetivos diagramas de estado, recorrendo à ferramenta de modelação UML. É, portanto, descrito, sucintamente, o propósito da plataforma, todas as suas funcionalidades, e quem intercede em cada uma das mesmas. Os anexos contêm, ainda, o Guia do Eleitor, o Guia da Comissão Eleitoral, bem como o Guia do Responsável Institucional.
27 3.1.1 Intervenientes Os agentes que interatuam com o sistema eVotUM desempenham funções diferenciadas e dispõem de restrições de acesso igualmente distintas, sendo, portanto, necessário clarificar quem são esses intervenientes e quais os papéis que desempenham na plataforma. Na tabela 2 são enumerados todos os possíveis intervenientes na plataforma e descrita a função que nela desempenham. Tabela 2 - Intervenientes na Plataforma de Votação Eletrónica eVotUM Interveniente Descrição Administrador Técnico Responsável pela gestão das páginas de conteúdo informativo da plataforma, bem como pela emissão e correspondente carregamento de certificados digitais a serem utilizados pelo sistema eVotUM. Tem, para tal, acesso ao Sistema de Administração. Público Apto a aceder às páginas públicas do Sistema de Votação, com: • Informação genérica: Perguntas frequentes, Política de segurança de informação, Política de privacidade, Termos de utilização, Mapa do site e Contactos; • Consulta de Processos Eleitorais: Toda a informação disponibilizada pela Comissão eleitoral; • Verificação de Caderno Eleitoral: Podendo ser apresentada uma reclamação em caso de equívocos no mesmo. Eleitor Uma vez autenticado no Sistema de Votação, através das credenciais utilizadas na Intranet da Universidade do Minho, está apto para: • Alterar Dados Pessoais: e-mail, telemóvel, e modo de envio de chave de segurança; • Consultar os Processos Eleitorais dos quais faz parte do Caderno Eleitoral; • Comunicar com a Comissão Eleitoral; • Votar em cada uma das Eleições, caso esteja dentro do período de votação; • Verificar se o seu voto foi contabilizado na Eleição, através da introdução da Referência de Votação. Comissão Eleitoral Cada elemento da Comissão Eleitoral, depois de autenticado no Sistema de Gestão de Eleições, acede a uma área onde pode selecionar o processo eleitoral a gerir, de entre os processos eleitorais no estado Aberto, alterar os seus Dados Pessoais, e aceder ao Histórico de Ações.
34 3.1.7 Tipos de Eleição Autorizados A plataforma de votação eletrónica eVotUM oferece, aos seus eleitores, uma ampla variedade de eleições. Cada parâmetro associado a uma determinada eleição é configurado de acordo com as necessidades inerentes ao respetivo ato eleitoral. A configuração da eleição está, pois, ao encargo da Comissão Eleitoral. Na tabela 5 são enumeradas as configurações disponíveis no sistema, passíveis de serem aplicadas numa eleição. Tabela 5 - Configurações disponíveis para uma Eleição na Plataforma eVotUM Configuração Descrição Categoria do Eleitor Cada eleitor pode ser detentor de um “peso” diferente, isto é, a influência do seu voto pode ser inferior ou superior à de um outro eleitor, consoante a categoria a que pertencer. Formato de Visualização A visualização das Listas/Candidatos, no boletim de voto, pode surgir em dois formatos distintos: • Formato de Lista - Listas apresentadas sequencialmente. O eleitor seleciona a lista de interesse e, posteriormente, surge uma cruz na opção selecionada; • Formato Dropdown - Cada linha do boletim de voto contém uma lista, em formato Dropdown. O eleitor seleciona a lista de interesse e essa torna-se visível. Limite de Escolhas Assinaláveis O eleitor pode escolher uma ou mais Listas/Candidatos. Funcionalidade Write In O eleitor pode escolher um candidato cujo nome não consta no boletim de voto. Para tal, deve preencher, no local assinalado, o nome do candidato. Método D’Hondt O método D´Hondt, também conhecido como método dos quocientes, é aplicado nas eleições com mais de um lugar em disputa. É um sistema matemático que permite distribuir o número de mandatos pelos candidatos elegíveis. Votação Ordenada Os eleitores classificam as Listas/Candidatos de acordo com a sua ordem de preferência.
35 3.1.8 Arquivo do Processo Eleitoral O processo eleitoral é arquivado, de forma automática, seis meses após a última homologação da ata da eleição nesse processo, ocorrendo as seguintes ações: • O processo eleitoral, tal como todas as suas eleições, passa para o estado Arquivado; • Todos os dados de votação são apagados do sistema eVotUM. É apagado o estado da votação no Validator Service, os votos guardados e decifrados no Counter Service e a referência de votação guardada no Anonymizer Service. Toda a informação remanescente ao processo, bem como respetivas eleições, continua a poder ser acedida pelo público e pelos eleitores. 3.1.9 Diagramas de Estados A ferramenta de especificação UML prevê um diagrama exclusivo para a modelação do comportamento interno de um determinado objeto, subsistema ou sistema global, durante o seu ciclo de vida. A esse diagrama concedido o nome de Diagrama de Estados ou, ainda, Diagrama de Máquina de Estados. Através da sua utilização é possível retratar os diferentes estados de um objeto, as correspondentes transições entre estados, os eventos que fazem desencadear tais transições, bem como as operações, aes e atividades, que são executadas dentro de um estado ou durante uma transição. Os objetos evoluem, ao longo do tempo, através de um conjunto de estados, como resposta a eventos e passagem de tempo. 3.1.9.1 Processo Eleitoral O Processo Eleitoral passa, necessariamente, por quatro estados, designadamente: • Novo: Após a criação do Processo Eleitoral pelo Responsável Institucional;
36 • Aberto: Após a publicitação automática do Processo Eleitoral, em data/hora definida pela Comissão Eleitoral; • Fechado: Após o fecho de todas as eleições do Processo Eleitoral; • Arquivado: Seis meses após a transição para o estado Fechado. Nos estados Fechado e Arquivado, tanto o público como o eleitor, continuam a ter acesso aos dados do respetivo processo eleitoral. Na figura 2, ilustra-se o diagrama de estados referente ao Processo Eleitoral, para uma melhor compreensão. 3.1.9.2 Eleição Todas as eleições passam, obrigatoriamente, por nove estados, designadamente: • Novo: Após a criação da Eleição pelo Responsável Institucional; • Aberto: Após a publicitação automática do Processo Eleitoral, em data/hora definida pela Comissão Eleitoral; • Caderno Eleitoral Provisório: Após iniciação do período de verificação do caderno eleitoral, em data/hora definida pela Comissão Eleitoral; • Caderno Eleitoral Definitivo: Após finalização do período de verificação do caderno eleitoral, em data/hora definida pela Comissão Eleitoral; Figura 2 - Diagrama de Estados referente ao Processo Eleitoral
37 • Em votação: Após iniciação do período de votação, em data/hora definida pela Comissão Eleitoral; • Em contagem: Após finalização do período de votação, em data/hora definida pela Comissão Eleitoral; • Votos escrutinados: Após escrutinação dos votos pela Comissão Eleitoral; • Ata em homologação: Após disponibilização da ata pela Comissão Eleitoral; • Fechada: Após finalização do período de verificação da ata, em data/hora definida pela Comissão Eleitoral. No estado Fechado, tanto o público como o eleitor, continuam a ter acesso aos dados da respetiva eleição. Na figura 3 é ilustrado o diagrama de estados referente à Eleição, para uma melhor compreensão. 3.2 Comportamento Funcional da Plataforma A plataforma de votação eletrónica atual, eVotUM, pode ser caraterizada através de uma especificação funcional do seu comportamento, que consiste, essencialmente, na enunciação dos requisitos funcionais e, ainda, dos requisitos não funcionais implementados no âmbito do projeto. Figura 3 - Diagrama de Estados referente à Eleição
38 Os requisitos do sistema constituem o conjunto de condições que definem a estrutura e comportamento do software. Requisitos convenientemente delineados e documentados são essenciais para qualquer projeto de engenharia de software bem-sucedido. Os requisitos são, portanto, declarações articuladas de forma clara sobre o que o sistema deve ser capaz de fazer para satisfazer as necessidades e condições dos utilizadores. Estes são definidos em duas categorias distintas, designadamente, requisitos funcionais e requisitos não funcionais, sendo que os primeiros descrevem o comportamento e funções do sistema, e os últimos descrevem os critérios que podem ser empregues na avaliação do funcionamento do mesmo. 3.2.1 Requisitos Funcionais Requisitos funcionais pormenorizam comportamentos específicos que o software deve ser capaz de satisfazer, sendo, portanto, definidos como requisitos que especificam o que sistema deve, necessariamente, fazer. O conceito também pode ser entendido através da revisão do sistema em termos de entradas e saídas, isto é, especifica o que o sistema deve fazer em resposta a diferentes entradas. Os requisitos funcionais, implementados no âmbito do desenvolvimento da plataforma eVotUM, são devidamente especificados no anexo IV, passível de ser consultado no final do presente documento, segundo as suas respetivas categoria e subcategoria, e aliados a uma descrição pormenorizada. De seguida, através da Tabela 6, é possível visualizar a informação referente ao primeiro requisito de cada uma das categorias existentes. Tabela 6 - Requisitos Funcionais implementados no âmbito do projeto da eVotUM Requisito Categoria Subcategoria Descrição REQ 1.1 Geral Design O tema genérico deve estar adaptado aos browsers Internet Explorer 11, Firefox 34, Chrome 40, Safari, e versões superiores. REQ 2.1 Sistema de Consultas Página Inicial A Homepage deve apresentar a informação seguinte:
39 • Logótipo eVotUM e frase estática “Sistema de Votaão Eletrónica da Universidade do Minho”: Redireciona para a Homepage ao clicar; • Menu Estático: Processos Eleitorais [REQ 2.8], Como Funciona [REQ 2.11], Contactos [REQ 2.12]; • Texto estático sobre a plataforma; • Botão "Verificar cadernos eleitorais": Redirecionada para a listagem de processos eleitorais [REQ 2.8]; • Botão "Autentique-se para votar": Redireciona para a página de autenticação [REQ 2.6]. REQ 3.1 Sistema de Votação Passo 1: Selecionar Eleição O eleitor autenticado ao clicar no botão "votar" que surge no detalhe do processo eleitoral ou na listagem dos meus processos eleitorais, é redirecionado para a área de votação. O sistema de votação é constituído por 5 passos [REQ 3.1 a REQ 3.6]. No passo 1 são apresentadas todas as eleições associadas ao respetivo processo eleitoral, das quais o eleitor faz parte do caderno eleitoral. Para cada eleição é apresentada a seguinte informação: • Nome da eleição; • Descrição da eleição; • Período de Votação (Data de início de Data de fim); • Botão "Votar": Está ativo quando o período de votação está em curso, enquanto o eleitor não votar. Ao clicar no botão o eleitor é redirecionado para o "Passo 2". Antes da listagem de eleições é, ainda, apresentada uma mensagem informativa sobre o número total de eleições e o número de eleições que estão ainda disponíveis para votação. REQ 4.1 Sistema de Gestão de Eleições Pedido de criação do processo eleitoral: Dados Gerais O responsável institucional acede ao formulário para pedido de criação do processo eleitoral através do endereço. O formulário é composto pelos passos se inserção de dados gerais e de membros. O passo dos Dados Gerais apresenta a seguinte estrutura: [Processo Eleitoral] Informação básica do processo eleitoral: • Logótipo: Dimensão mínima de 135x100px; • Indentificador do processo eleitoral; • Descrição do processo eleitoral; [Eleições] Devem ser inseridas as várias eleições associadas ao processo eleitoral. Por defeito é apresentado o
40 formulário de inserção de uma eleição com a seguinte estrutura: • Calendário eleitoral: Formulário de inserção dos dados do caderno eleitoral [REQ 4.2]; • Identificador da eleição (limite de caracteres: 100); • Descrição da eleição (limite de caracteres: 260); • Botão "+": Ao clicar é adicionado um novo bloco com os campos referidos acima, para que seja criada uma eleição. Ao clicar no botão "Seguinte", são submetidos os dados inseridos até ao momento e o responsável institucional passa para a criação de membros [REQ 4.3]. REQ 5.1 Integrações Autenticação O mecanismo de autenticação deve ser integrado com o mecanismo utilizado pela DTSI, que corresponde ao ADFS da Microsoft. No momento de login são transferidos, como parâmetros para o endpoint a fornecer pela DTSI, os seguintes dados: • Email; • Password. São recebidos os seguintes dados como resposta: • Sucesso ou Insucesso do login; • Nome do utilizador; • Número de telefone; • Forma de envio de PIN: SMS ou Email; • Foto. Apesar de o design apresentar o botão "recuperar senha", essa funcionalidade não estará disponível na plataforma. Para recuperar senha o utilizador deve comunicar diretamente com a DTSI. Os testes relativos a esta integração só podem ser efetuados na Intranet da Universidade do Minho. REQ 6.1 Notificações Sistema de Consultas No sistema de consultas existem as seguintes notificações: • Envio de email com a referência de voto após uma votação; • Envio de email quando o utilizador altera o email de comunicação. É enviada uma notificação para o email antigo a informar que foi inserido um novo email de comunicação e é enviada uma notificação também para o novo email. REQ 7.1 Mensagens Listagem Ao aceder à área de mensagens é apresentada, por defeito, a listagem de mensagens recebidas. Esta área a
41 contém as tabs "Recebidas" e "Enviadas", apresentando o total de mensagens existentes em cada listagem. [Recebidas]: Apresenta a lista de todas as mensagens recebidas pelo utilizador autenticado; [Enviadas]: Apresenta a lista de todas as mensagens enviadas pelo utilizador autenticado. Nas listagens de mensagens, para cada mensagem é apresentada a seguinte informação: • Remetente da mensagem; • Data de envio da mensagem; • Assunto da mensagem; • Texto da mensagem: São apresentados X carateres (Definir de forma a preencher uma linha) • Botão para responder à mensagem; • Botão para eliminar a mensagem. Ao clicar no botão para responder à mensagem, abre o formulário de submissão de mensagens [REQ 7.2] com os seguintes campos pré-preenchidos (Não editáveis): • Nome utilizador autenticado; • Email do utilizador autenticado; • Destinatário da mensagem de origem; • Assunto: Texto "Re:" seguido do assunto da mensagem de origem. Ao clicar no botão “eliminar mensagem”, a mesma passa para o estado "Lixo", e deixa de aparecer na listagem visível para o utilizador. Ao clicar no assunto da mensagem o utilizador é encaminhado para uma página que apresenta a seguinte informação: • Assunto da mensagem; • Texto da mensagem completo; • Botão "Voltar": Ao clicar redireciona novamente para a lista de mensagens. No topo da listagem surge o botão "Nova", que abre uma página com o formulário de submissão de mensagens [REQ 7.2]. REQ 8.1 Sistema de Administração Autenticação A página de autenticação é composta por um formulário igual ao da autenticação do sistema de consultas [REQ 2.5], composto pelos seguintes campos: • Email; • Password. O mecanismo de autenticação deve estar integrado com a autenticação da DTSI [REQ 5.1].
42 3.2.2 Requisitos Não Funcionais Requisitos não funcionais descrevem o modo de funcionamento do sistema, ou seja, estão centrados na forma como o sistema desempenha uma determinada função. Quando equiparados com requisitos funcionais, tendem a ser vistos como menos relevantes, mas desempenham um papel igualmente vital para o sistema, sendo, sobretudo, essenciais para o seu bom desempenho. Um requisito não funcional deve ser mensurável, ou seja, deve ser possível verificar se está ou não a ser atendido pelo software. Na Tabela 7, apresentada de seguida, enumeram-se e descrevem-se todos os requisitos não funcionais caraterizadores da plataforma de votação eletrónica atual. Tabela 7 - Requisitos Não Funcionais implementados no âmbito do projeto da eVotUM Requisito Descrição Autenticidade Somente pessoas com a devida permissão podem exercer o direito de voto; Unicidade Todo e qualquer eleitor está apto a votar uma única vez; Anonimato Não é possível associar um voto a um eleitor, nem associar um eleitor a um voto; Integridade Nenhum voto pode ser modificado ou destruído; Irrevelável Nenhum eleitor detém a capacidade de comprovar a matéria do voto exercido; Verificabilidade É possível verificar, de forma independente, que todos os votos foram contabilizados corretamente; Auditabilidade O sistema de votação eletrónico pode ser testado e auditado por entidades independentes; Mobilidade O sistema de votação eletrónico não restringe o local de votação; Transparência O sistema de votação eletrónico é claro, exato, preciso e seguro; Disponibilidade O sistema de votação eletrónico está sempre disponível durante o período de votação;
43 Deteção e Recuperação O sistema de votação eletrónico deteta erros, falhas e ataques e recupera a informação até ao ponto de falha. 3.3 Infraestrutura Tecnológica da Plataforma A caraterização da plataforma atual é dada por concluída, neste segmento final, com a descrição da infraestrutura tecnológica que lhe é própria. A descrição engloba, naturalmente, a caraterização de todas as suas componentes de Software e Hardware, a arquitetura da sua Infraestrutura e, ainda, o fluxo de comunicação que se estabelece, no processo de votação, para cada eleição. A eVotUM é, como já foi referido, um sistema de votação eletrónica via Web, suportada, exclusivamente, por operações que envolvam um navegador Web, sendo, por isso, estabelecidas comunicações através de redes abertas, não seguras por definição. Os eleitores podem, portanto, interagir com a plataforma mediante a utilização de um browser, instalado num desktop, computador portátil, tablet ou smartphone. Face a esse leque de dispositivos, o sistema é capaz de adaptar a sua interface às condições de visualização e interação impostas. A eVotUM está preparada para realizar diversas eleições em simultâneo, encontrando-se ao dispor de qualquer órgão ou unidade da Universidade do Minho em matéria de processos eleitorais. Este sistema permite, ainda, a interação com os seus utilizadores tanto em língua portuguesa como inglesa e disponibiliza um mecanismo de simulação de votação, para efeitos de demonstração e prática de utilização do sistema. 3.3.1 Componentes de Software Estruturalmente, o sistema eVotUM é suportado por quatro tipos distintos de serviços, designadamente, o Validator Service, equivalente à tradicional mesa eleitora, o Filter Service, o Anonymizer Service e o Counter Service, equivalente à urna habitual. Estes quatro serviços constituem o Back-end do sistema e atuam como um sistema distribuído, com vista a diminuir o conluio e, ainda, dispor redundância, com vista a ser tolerante a falhas.
50 dos elementos de rede, como de serviços e aplicações. Entre os diversos indicadores, destacase o uptime dos vários equipamentos e serviços aplicacionais que constituem a plataforma. Será importante referir que todos os sistemas, tal como o eVotUM, geram logs de registo de atividade, designadamente de acessos remotos, comandos executados, entre outros. Todos estes logs são enviados, após escrita em disco local, para um servidor central, responsável por aglomerar os registos. É, então, através da centralização de logs que o comprometimento de um qualquer servidor é mitigado. Os logs são preservados em disco WORM. As atualizações na plataforma seguem as boas práticas, sendo, portanto, efetuadas, primeiramente, em ambiente de qualidade e, após validação, em ambiente de produção. Ademais, com vista à mitigação de ataques físicos é utilizada uma sala-cofre onde o acesso é permitido desde que N (onde N > 1) pessoas se encontrem na sala (custódia múltipla). Não é possível a saída de qualquer elemento da sala se não ficarem N pessoas na sala a qualquer momento. O sistema de base de dados permanece em servidor separado e sem acesso físico concorrente com os restantes servidores. Finalmente, no que respeita à integridade da base de dados, todos os dados inseridos são assinados com HMAC, o que garante que os dados não sejam alterados pelo administrador da base de dados. É, ainda, cumprida uma separação de privilégios, ou seja, o gestor do servidor da aplicação não pode ser gestor do servidor da base de dados. 3.3.3 Fluxo de Comunicação Cada ato eleitoral pode ser constituído por uma ou mais eleições. No processo de votação, para cada eleição, existe um fluxo de comunicação. Como se pode verificar na Figura 6, o diagrama exibido faz referência ao fluxo de comunicação que se estabelece na plataforma eVotUM aquando da realização de uma eleição.
51 De modo a complementar a informação já ilustrada na Figura 6, serão clarificadas, na Tabela 9, cada uma das etapas do processo de votação: Tabela 9 - Etapas referentes ao Processo de Votação numa Eleição na eVotUM Etapa do Processo Descrição Etapa 0 1. Para iniciar o processo de votação, o eleitor acede ao sistema eVotUM e autentica-se (passo 1 da Figura 6) pela introdução do user e password no Browser, que as envia ao Sistema de Votação (SV); 2. O SV valida a password do eleitor, e envia a lista de eleições nas quais pode participar (eleições no estado “aberta”); 3. O eleitor seleciona eleição a participar (passo 3 da Figura 6); 4. O Browser recebe do SV (passo 4 da Figura 6): • BVoto – Boletim de Voto; • {user + ID eleição}SV – ‘user’ do eleitor e identificador da eleião ‘ID eleião’ do BVoto, assinado com a chave privada do SV (único modo de na Etapa 2, o Validator Service (VS) ter a certeza que quem está a votar é um eleitor que foi autenticado pelo SV para uma determinada eleição). O ‘user’ e ‘ID eleião’ são assinados em conjunto (numa estrutura json) de modo a serem fornecidos (passo Figura 6 - Fluxo de Comunicação detalhado referente a uma Eleição na eVotUM (Fluxos de Comunicação, CCG, Eurotux & Devise Futures)
52 5 da Figura 6) ao VS. Se fossem assinados em separado, poderia ser efetuado um ataque de Denial of Service (DoS), no passo 5, enviando {user}SV e {ID eleição}SV que já conhecesse ao VS (a blind signature poderia ser uma string qualquer, já que o VS não tem meios para validar o seu conteúdo, sintaxe ou semântica); • {ID eleição}SV – Identificador da eleição do BVoto, assinado com a chave privada do Sistema de Votação (único modo de na Etapa 4, 5 e 6 ter a certeza que o voto pertence eleião ‘ID eleião’); • CD eleição – Certificado digital da eleição, necessário para cifrar o voto respeitante ao BVoto; • CD VS – Certificado digital do VS, de modo a validar a blind signature do VS na Etapa 3. Etapa 1 1. O Browser apresenta o boletim de voto ao eleitor, que expressa a sua intenção de voto; 2. Após o eleitor indicar que efetuou a votação, o Browser transforma o voto para formato json, adicionando um campo com SHA256 ({user + ID eleição}SV). Este campo tem como único objetivo garantir que duas cifras do voto de dois eleitores distintos que tenham votado da mesma maneira, não são iguais; 3. O Browser interpreta o voto em json e apresenta-o ao eleitor, pedindolhe para confirmar a votação. A importância de o browser interpretar json e de o eleitor confirmar a votação é garantir que o voto é corretamente transformado para este formato; 4. O voto, em formato json, é cifrado com a chave pública da eleição (passando a ser representado por [Voto]) contida no ‘CD eleião’ recebida do SV na etapa 0; 5. É calculado o SHA256 ([Voto]), já que este será o ‘token’ sobre o qual se irá aplicar a blind signature, de acordo com a literatura das blind signatures que refere que a mesma deve ser efetuada sobre um Hash criptográfico e não sobre a mensagem original, devido a potenciais ataques que poderiam ser efetuados com sucesso se a blind signature fosse sobre a mensagem. Como vantagem adicional, o [Voto] não tem de ser comunicado ao VS; 6. O número único que identifica o boletim de voto (designado por ‘Nº único BVoto’) calculado como o SHA256 (SHA256([Voto]) + SHA256 ({user + ID eleição}SV)). Poderá ser calculado de outro modo, mas esta forma garante a aleatoriedade e unicidade desejada, não sendo possível, a partir do mesmo, estabelecer qualquer relação com o voto ou com o eleitor. Este identificador não é colocado dentro do voto cifrado, de modo que o Anonymizer Service (AS), na etapa 5, possa colocar o voto cifrado numa tabela/BD e o número único do boletim de voto noutra, não havendo, deste modo, qualquer hipótese de os relacionar após essa etapa; 7. É aplicada a blind signature sobre o SHA256 do voto cifrado, representando-se por blind (SHA256 ([Voto])); 8. É enviado pedido para o VS, com os seguintes dados (passo 5 da Figura 6):
53 • {user + ID eleição}SV – de modo ao VS ter a certeza que quem está a votar o eleitor ‘user’ que foi autenticado pelo SV para a eleião ‘ID eleião’; • Blind (SHA256([Voto])) – blind signature que irá ser assinada pelo VS. Etapa 2 1. O Validator Service/Mesa Eleitoral (VS) valida: • A assinatura de {user + ID eleição}SV; • Se o certificado de assinatura SV é um certificado de Sistema de Votação emitido pela hierarquia eVotUM; • Se o certificado de assinatura SV e o certificado raiz da hierarquia eVotUM estão dentro da validade e não foram revogados. 2. Seguidamente, o VS valida se a eleião ‘ID eleião’ está dentro do período/horário de votação e verifica o direito de voto do eleitor ‘user’ para a eleião ‘ID eleião’. 3. Caso o estado do eleitor ‘user’ na eleião ‘ID eleião’ seja “Não votou” ou se já estiver no estado “Em votaão”, o estado passa a “Em votaão” sendo-lhe associado a hora em que passou a esse estado. 4. O VS assina a blind signature, sendo tal representado por {blind (SHA256 ([Voto]))}VS. 5. O VS gera o SHA256 da blind signature assinada – SHA256 ({blind (SHA256 ([Voto]))} VS) – e associa-o ao eleitor ‘user’ na eleião ‘ID eleião’. Desse modo, na etapa 4, o Filter Service (FS) utilizará este Hash para indicar que recebeu o voto cifrado do eleitor ‘user’, sem que necessite de ter conhecimento do ‘user’. 6. Na resposta ao pedido da etapa 1, devolvida para a etapa 3 (passo 6 da Figura 6) a blind signature assinada pelo VS (ou código de erro apropriado). Etapa 3 1. O Browser verifica a assinatura da blind signature assinada, verificando que foi assinada com a chave pública do CD VS recebido na etapa 0. 2. O Browser gera o SHA256 da blind signature assinada – SHA256 ({blind (SHA256 ([Voto]))}VS) –, que será utilizada na etapa 4. 3. É efetuado o unblind da blind signature assinada, obtendo-se neste passo o SHA256 do voto cifrado assinado pelo VS, i.e., unblind ({blind (SHA256([Voto]))}VS) = {SHA256([Voto])}VS. 4. O Browser utiliza o SHA256([Voto]) calculado na etapa 1 e o certificado CD VS recebido na etapa 0, para verificar a assinatura de {SHA256([Voto])}VS 5. É enviado pedido para o Filter Service (FS), com os seguintes dados (passo 7 da Figura 6): • {ID eleição}SV – de modo ao FS ter a certeza que o BVoto pertence à eleião ‘ID eleião’; • SHA256({blind (SHA256([Voto]))}VS) – a ser utilizado pelo FS na comunicação com o VS; • [Voto] – que FS irá reencaminhar para o AS; • {SHA256 ([Voto])}VS – que FS irá reencaminhar para o AS; • No único BVoto – que FS irá reencaminhar para o AS.
54 Etapa 4 1. O FS começa por efetuar várias verificações sintáticas e semânticas ao pedido que recebe do Browser: • Valida a correção sintática do pedido recebido do browser, em termos de estrutura e formato do pedido; • Verifica a assinatura de {ID eleição}SV, assim como se o certificado de assinatura SV é um certificado de Sistema de Votação emitido pela hierarquia eVotUM e se o certificado de assinatura SV e o certificado raiz da hierarquia eVotUM estão dentro da validade e não foram revogados; • Calcula a SHA256 do [Voto] e verifica se a mesma coincide com a SHA256 contida em {SHA256([Voto])}VS; • Verifica a assinatura de {SHA256([Voto])}VS, assim como se a assinatura VS é um certificado de Validator Service emitido pela hierarquia eVotUM e se o certificado de assinatura VS e o certificado raiz da hierarquia eVotUM estão dentro da validade e não foram revogados. 2. O FS envia {ID eleição}SV e SHA256 ({blind (SHA256([Voto]))}VS) a VS (passo 8 da Figura 6). VS valida se na eleião ‘ID eleião’ existe um SHA256 ({blind (SHA256 ([Voto]))}VS) que esteja no estado “Em votaão” há menos de dois minutos. Caso tal ocorra, VS muda estado para “Votou” e responde ok a FS (caso contrário responde código de erro apropriado), conforme passo 9 da Figura 6. Esta comunicação entre FS e VS é necessária para ultrapassar eventuais problemas na quebra de acesso à Internet do dispositivo utilizado pelo eleitor para votar, depois da etapa 1 e antes da etapa 4. Caso isso ocorresse, e esta comunicação não existisse, o voto não seria contabilizado (não seria efetuado o passo 7 da Figura 6), mas o eleitor já não poderia voltar a tentar votar novamente (para o VS, o eleitor já teria votado). De modo a isso não acontecer, e para além desta comunicação entre o FS e VS, existem 3 estados de votação (no VS) por eleitor: • “Não votou”; • “Em votaão” – durante após o passo 6 da Figura 6. Se esta comunicação for efetuada passado o prazo estabelecido, VS responde com código de erro apropriado, de modo que FS a reencaminhe para o Browser do eleitor onde irá aparecer uma mensagem inteligível, i.e., "Excedeu o tempo máximo de votação. Volte a votar"; • “Votou” – quando o VS recebeu esta comunicação, durante o tempo máximo de "Em votação". 3. O FS reencaminha para Browser (passo 10 da Figura 6) a resposta do VS, e caso esta seja positiva, Browser apresenta ao eleitor (e envia-lhe por correio eletrónico) o número único que identifica o boletim de voto (‘No único BVoto’), conforme passo 11-B da Figura 6. Caso a resposta de VS não seja positiva, o Browser apresenta a mensagem de erro adequado ao eleitor e o FS finaliza o processamento do pedido. 4. É enviado pedido para o Anonymizer Service (AS), com os seguintes dados (passo 11-VS da Figura 6): • {ID eleição}SV; • [Voto];
55 • {SHA256([Voto])}VS; • No único BVoto. Etapa 5 1. O Anonymizer Service (AS) guarda (e mistura aleatoriamente) o [Voto] e o {SHA256([Voto])}VS numa tabela (da Urna eleitoral) para a eleião ‘ID eleião’ e, guarda (e mistura aleatoriamente) o ‘Nº único BVoto’ noutra tabela (da Urna eleitoral) para a eleião ‘ID eleião’. A mistura aleatória é efetuada do seguinte modo: • Antes do início da eleição é criada tabela na Urna eleitoral (uma para o voto e outra para o número único do boletim de voto) com o triplo de entradas em relação aos votantes totais da eleição; • De cada vez que chega um “pacote” para lá colocar gerado um número aleatório entre 1 e o número de entradas na tabela, que corresponde à linha onde colocar o “pacote”; • Se nessa linha já tiver sido colocado um “pacote”, volta-se ao passo anterior, até se encontrar uma linha que não tenha nenhum “pacote”; • De referir que são gerados números aleatórios diferentes para cada tabela, de modo ao voto ser colocado na linha ditado por um número aleatório, e o número único ser colocado na linha ditada por outro número aleatório. Etapa 6 1. Extração: O CS verifica, neste passo, a assinatura e integridade dos votos cifrados e, para tal: • Calcula a SHA256 do [Voto] e verifica se a mesma coincide com a SHA256 contida em {SHA256([Voto])}VS; • Verifica a assinatura de {SHA256([Voto])}VS, assim como se a assinatura VS é um certificado de Validator Service emitido pela hierarquia eVotUM e se o certificado de assinatura VS e o certificado raiz da hierarquia eVotUM estão dentro da validade e não foram revogados. 2. Decifragem de voto: São, neste segundo passo, decifrados todos os votos da eleição e, portanto: • É gerada a password de acesso à chave privada da eleição, a partir das várias partes guardadas pela Comissão eleitoral; • O voto é decifrado; • É validada a estrutura json do voto. 3. Contagem: No terceiro passo todos os votos são contabilizados, apurando-se o resultado. 4. Verificação final: É efetuada, neste passo, uma verificação da eleição, que será disponibilizada, no passo seguinte, à Comissão eleitoral, para análise. A verificação final consiste em: • Obter a quantidade de eleitores, desta eleição, nos vários estados (“Não votou”, “Votou”, “Em votaão”). Para tal, o CS comunica com o VS, conforme passos 12 e 13 da Figura 6;
56 • Quantificar os dados obtidos no passo 1 (Extração) e passo 2 (Decifragem de voto), incluindo número de votos recebidos, com/sem assinatura do VS correta, com/sem SHA256 do [Voto] coincidente com a SHA256 contida em {SHA256([Voto])}VS, decifrados (ou não) corretamente, com/sem estrutura json válida. 5. Publicação dos resultados: No quinto passo são disponibilizados os dados do passo 4 para análise pela Comissão Eleitoral. Adicionalmente, é disponibilizado um Template da ATA à Comissão Eleitoral, com os dados do passo 3 pré-preenchidos, de forma a poder ser elaborada e assinada. No final da assinatura da ATA, a Comissão Eleitoral altera o estado da eleião para “Eleião fechada”. 6. Verificação de voto: Após a eleião estar no estado “Eleião fechada”, o eleitor pode verificar se o seu voto foi contabilizado (através do número único que identifica o boletim de voto), conforme passo 14 da Figura 6.
57 CAPÍTULO 4 ESPECIFICAÇÃO DA PLATAFORMA FUTURA – eVotUM light No decorrer do presente capítulo é efetuada a caraterização detalhada da arquitetura da futura plataforma de votação eletrónica, adaptada, portanto, ao novo contexto de votação em reuniões. Especificá-la passa, então, por descrever um variado conjunto de atributos que lhe são caraterísticos e, nesse sentido, o capítulo começa por introduzir uma visão integral da plataforma e, posteriormente, subdivide-se em três lógicas distintas, designadamente, comportamento funcional, comportamento dinâmico e infraestrutura tecnológica inerentes à plataforma. Numa primeira instância, é, ainda, vital recapitular a motivação e importância inerentes à especificação de uma nova plataforma, isto é, o móbil da dissertação. Como tal, é importante referir a necessidade de serem promovidas votações, em tempo real, em contexto de reuniões integralmente remotas, integralmente presenciais ou, essencialmente, híbridas, isto é, com ambas as modalidades em simultâneo, uma vez que a realidade atual é muito pouco ajustada para o efeito. A plataforma de votação eletrónica eVotUM, caraterizada no capítulo prévio, foi, como se pôde constatar, projetada para suportar votações que obedecem a um profuso e rigoroso conjunto de fases de um processo eleitoral, fases essas que são, no novo contexto de votação idealizado, desnecessárias. Identificou-se, então, a oportunidade de reimplementar a plataforma existente, com todas as alterações imprescindíveis à materialização da eVotUM light, reaproveitando algumas das componentes já desenvolvidas, simplificando as interfaces e ajustando todo o processo eleitoral. 4.1 Visão Integral da Plataforma Nesta primeira fase, de caraterização da plataforma eVotUM light, é importante começar por apresentar uma visão integral do que será a plataforma e, como tal, é especificado quem serão os seus intervenientes, isto é, quem irá interatuar com a mesma. Posteriormente, são discriminadas matérias referentes ao processo de votação por parte do votante, à criação e
58 gestão da votação por parte do secretário da reunião, ao tipo de votações autorizadas, entre outras. É, portanto, descrito, de forma concisa, o propósito desta nova plataforma, quais as suas funcionalidades, e quem intercede em cada uma das mesmas. 4.1.1 Intervenientes Os agentes que podem interatuar com o sistema eVotUM light desempenham funções diferenciadas e dispõem de restrições de acesso igualmente distintas, sendo importante clarificar quem são esses intervenientes e quais os papéis que desempenham na plataforma. Na tabela 10 são enumerados tais intervenientes e descrita a função que lhes compete desempenhar. Tabela 10 - Intervenientes na Plataforma eVotUM light Interveniente Descrição Secretário Responsável por criar a votação, uma vez autenticado no Sistema de Gestão de Votações. A definição de parâmetros referentes à votação, tais como candidatos, lista de participantes, bem como a configuração do tipo de votação e boletim, são exemplos de atividades ao seu encargo. Este é, ainda, responsável pela gestão da votação, encarregue, portanto, de autorizar a sua abertura e respetivo fecho. Tem, nesse sentido, acesso a um painel de Gestão de Operações da Votação, onde é possível: • Adicionar e/ou remover elementos da lista de participantes na votação; • Autorizar abertura da votação; • Verificar, em período de votação, número de votos em urna; • Autorizar encerramento da votação; • Autorizar escrutínio dos votos e apresentação de resultados. Votante Utilizador que, uma vez autenticado no Sistema de Votação, está apto para: • Alterar informação referente a dados pessoais, nomeadamente, email, telemóvel, e modo de envio de chave de segurança; • Participar nas votações das quais faz parte da lista de participantes, caso estejam dentro do período de votação; Verificar se o seu voto foi contabilizado na votação, através da introdução da referência de votação.
59 Administrador O administrador é meramente responsável pelo carregamento inicial dos certificados digitais a utilizar pelo sistema. Não desempenha, portanto, um papel ativo no funcionamento da plataforma, isto é, não administra, efetivamente, a sua utilização. Contrariamente à eVotUM, esta nova plataforma irá interatuar com um número bastante reduzido de agentes, uma vez que os principais intervenientes são, apenas, o Secretário da reunião e o Votante. O Secretário é, neste caso, responsável pela criação e, ainda, gestão da votação. Sendo este um novo contexto de votação, mais intimista, o papel a desempenhar pelo Secretário da reunião é bastante mais abrangente do que aquele praticado na eVotUM tanto pelo Responsável Institucional como por qualquer elemento da Comissão Eleitoral. A sua função começa pela criação da votação, isto é, tipo de votação, lista de candidatos e, por fim, lista de participantes. A lista de participantes na votação representa a lista de presenças na reunião, existindo, portanto, a necessidade de a manter atualizada no decorrer da reunião. Finalmente, a função do Secretário deverá passar pela gestão da votação, isto é, autorização de abertura e fecho da mesma, análise de votos em urna durante o período de votação e, ainda, autorização de contagem dos votos e respetiva publicação de resultados. O participante na reunião será, por sua vez, convocado pelo Secretário do Conselho Geral a participar na votação enquanto votante. O votante poderá alterar os seus dados pessoais, participar na votação e, ainda, conferir a contabilização do seu voto através da referência de votação, sendo que terá de votar, necessariamente, num dos candidatos apresentados, uma vez que o voto em branco não é, neste novo contexto, autorizado. No caso de o votante não consentir nenhuma das alternativas, terá de comunicar com o Secretário do Conselho Geral que, previamente à votação, o removerá da lista. 4.1.2 Processo de Votação pelo Votante Para participar numa votação através da plataforma de votação eletrónica eVotUM light, o votante necessita de satisfazer determinadas pré-condições. Para esclarecer, integralmente, o processo associado à votação, são descritos, na Tabela 11, todos os passos que o constituem.
66 REQ 3.5 Sistema de Votação Passo 4.2: Segurança - Inserir Código PIN Neste passo é apresentado o formulário onde deve ser inserido o PIN de votação recebido. Ao clicar em "Submeter Voto" o votante finaliza o processo de votação. Neste momento é enviado um email para o votante com a sua referência de votação. REQ 3.6 Sistema de Votação Passo 5: Recolher Referência de Votação Neste passo é apresentada a referência de votação do votante. Ao clicar em "OK" a votação em questão deixa de estar ativa, ficando o botão "Votar" bloqueado e sendo atualizado o número de votações ativas. REQ 4.1 Sistema de Gestão de Votações Criação da Votação: Passo 1 – Inserir Dados Gerais O Secretário, responsável pela criação da votação, é, no Passo 1, obrigado a preencher os Dados Gerais, que apresentam a seguinte estrutura: • Identificador da votação: dois campos de texto simples para inserir a informação em português e em inglês (limite de caracteres: 100); • Descrição da votação: dois campos de texto simples para inserir a informação em português e em inglês (limite de caracteres: 260); REQ 4.2 Sistema de Gestão de Votações Criação da Votação: Passo 2 – Selecionar Tipo de Votação No passo 2 são efetuadas as configurações gerais da votação. Este passo é composto pelos seguintes campos: [Default] • Limite de escolhas assinaláveis: Por defeito o limite está definido para uma única opção; • Write in: Por defeito está preenchida com a opção “Não”; • Votação Ordenada: Radio buttons com as opções Sim ou Não. Por defeito está preenchida com a opão “Não”; • Peso dos votos: Radio buttons com as opções Sim ou Não. Por defeito está preenchida com a opção “Não”; • Método de Hondt: Radio buttons com as opções Sim ou Não. Por defeito está preenchida com a opção “Não”. REQ 4.3 Sistema de Gestão de Votações Criação da Votação: Passo 3 – Inserir Lista de Participantes No passo 3 é feita a inserção dos votantes que fazem parte da lista de presenças da reunião. Esta inserção é feita através da importação de um ficheiro, com formato CSV, que deve conter os seguintes dados: • Número de identificação; • Nome; • Email; • Telemóvel; O sistema valida, para cada votante, que:
67 • O email está bem formado; • Não existem dois votantes com o mesmo email; • Os números de identificação (alfanumérico) são únicos; REQ 4.4 Sistema de Gestão de Votações Criação da Votação: Passo 4 – Inserir Candidatos No passo 4 são inseridos os candidatos concorrentes à votação. Os dados associados são: • Nome; • Informação adicional; Este passo é composto por um formulário que apresenta por defeito uma linha com os seguintes campos vazios: • Designação; • Documentos: É possível adicionar mais do que um documento e para cada documento deve ser inserida a designação associada. Deve ser possível eliminar e trocar a ordem dos documentos, que será a ordem com a qual serão apresentados no sistema de consultas; • Botão para adicionar novos documentos; • Botão para eliminar o candidato. Ao clicar no botão "+" é adicionada uma nova linha com os campos referidos acima, para que sejam preenchidos os dados de um novo candidato. REQ 4.5 Sistema de Gestão de Votações Criação da Votação: Passo 5 – Configurar Boletim de Voto No passo 5 é feita a configuração do boletim de voto. Os dados a configurar são os seguintes: • Instruções a constar no boletim de voto: dois campos de texto simples para preencher em português e em inglês; • Apresentação dos candidatos: Radio button com as opções Lista e Dropdown; • Ordenação dos candidatos: Apresentados todos os candidatos e o Secretário pode escolher a posição em que cada um é apresentado. Para além da gestão manual da ordem dos candidatos deve existir um botão para gerar aleatoriamente a ordem dos candidatos. Ao clicar no botão "Pré-visualizar boletim" é apresentada uma janela pop-up com a representação do boletim de voto que irá surgir no sistema de votação. REQ 4.7 Sistema de Gestão de Votações Gestão da Votação: Passo 1 – Autorizar Abertura de Votação No Passo 1, através do Painel de Gestão da Votação, o Secretário tem permissão para dar começo à votação, atravs do botão “Iniciar Votação”. Nestas circunstâncias, de votação em contexto de reuniões, não existem calendários eleitorais, isto é, períodos de votação pré-
68 definidos, pelo que apenas o Secretário tem autoridade para decidir quando se dará início à votação. REQ 4.8 Sistema de Gestão de Votações Gestão da Votação: Passo 2 – Controlar Votos em Urna No Passo 2, através do Painel de Gestão da Votação, o Secretário pode observar o número de votos já em urna, em tempo real. Nesta tab, o Secretário tem oportunidade de analisar o número de votos já efetuados e o número de votos por efetuar, o que lhe permite perceber quando avançar para o fecho da votação. REQ 4.9 Sistema de Gestão de Votações Gestão da Votação: Passo 3 – Autorizar Fecho de Votação No Passo 3, através do Painel de Gestão da Votação, o Secretário tem permissão para dar fecho à votação, através do botão “Terminar Votação”. Nestas circunstâncias, de votação em contexto de reuniões, não existem calendários eleitorais, isto é, períodos de votação pré-definidos, pelo que apenas o Secretário tem autoridade para decidir quando se dará termo à votação. Através do controlo de votos em urna, no Passo 2, o Secretário tem perceção do número de votos já efetuados e, no caso desse número corresponder à totalidade de votantes, poder-se-á finalizar a votação. REQ 4.10 Sistema de Gestão de Votações Gestão da Votação: Passo 4 – Autorizar Escrutínio de Votos No Passo 4, através do Painel de Gestão da Votação, o Secretário tem permissão para dar início ao escrutínio dos votos. Nesta tab, o Secretário terá, portanto, de clicar no botão “Iniciar Escrutínio de Votos” para que se dê o processo. Posto isto, o resultado da votação é apresentado, no painel, ao Secretário da Reunião. REQ 4.11 Sistema de Gestão de Votações Gestão da Votação: Passo 5 – Autorizar Publicação de Resultados Por fim, no Passo 5, através do Painel de Gestão da Votação, o Secretário tem autorização para publicar o resultado da votação na plataforma. Nesta tab, o Secretário terá, portanto, de clicar no botão “Publicar Resultados” para que se dê o processo. Posto isto, o resultado da votação é apresentado, na plataforma, a todos os participantes. 4.2.1.2 Requisitos Não Funcionais Requisitos não funcionais, como já referido no capítulo anterior, descrevem o modo de funcionamento do sistema, ou seja, estão centrados na forma como o sistema desempenha uma determinada função. Na eVotUM light devem ser asseguradas propriedades semelhantes às apontadas, na literatura, para sistemas de votação. Nesse sentido, e embora a realização
69 de votações neste novo contexto exija um nível de complexidade e segurança relativamente inferior, as propriedades mantêm-se as mesmas que já haviam sido apresentadas para a eVotUM, tal como podem ser observadas na tabela 7 do capítulo prévio. 4.2.2 Casos de Uso O UML trata-se de uma ferramenta de documentação e modelação de sistemas e, nesse sentido, define elementos gráficos, por forma a representar as diversas componentes que os constituem, as suas respetivas interações e, ainda, eventuais mudanças de estado, com o objetivo de facilitar a compreensão do funcionamento de tais sistemas em especificação. Trata-se, portanto, de uma linguagem padrão, objetiva, eficiente e entendida por todos. Diagramas desta natureza auxiliam na obtenção de uma visão clara e única do sistema em análise e são essenciais na prevenção de erros intrínsecos à fase de especificação do projeto, bem como de erros de comunicação estabelecidos entre as diversas partes envolvidas. Diagramas UML encontram-se subdivididos em duas categorias distintas, designadamente, estruturais e comportamentais, sendo a primeira responsável pela modelação de aspetos estáticos do sistema e a segunda, por sua vez, responsável pela especificação do seu comportamento face a determinadas interações. O diagrama de Caso de Uso constitui, assim, um exemplo de diagrama comportamental, indispensável na medida em que, através do seu aproveitamento, os requisitos funcionais do projeto podem ser apresentados num novo formato, o que permite, em última análise, visualizar todo o sistema mais facilmente, através de diagramas padronizados, dotados de uma notação gráfica inteligível. Os casos de uso explicam o que irá acontecer aquando da interação do utilizador com o sistema, ou seja, expõem os requisitos do ponto de vista do utilizador final e representam as diferentes utilizações que esse mesmo pode exercer no sistema. Os atores são, por sua vez, utilizadores que interagem com o sistema. Um ator pode ser uma pessoa, um outro sistema, ou, até mesmo, tempo, que interage com a aplicação ou sistema, devendo ser, portanto, um objeto externo que produz ou consome dados. Deste modo, um caso de uso pode ser definido como uma sequência de eventos, e interações com o sistema, que produzem um resultado de valor para o ator.
70 De uma perspetiva funcional, são estabelecidos, essencialmente, dois tipos de interação com a eVotUM light, referentes à comunicação que se institui entre a mesma e os seus dois principais atores. Tais interações correspondem, pois, à comunicação entre o Secretário da Reunião e a plataforma e, ainda, entre o Votante e a plataforma. De modo a melhor compreender tais interações, previamente especificadas na Tabela 13 referente aos requisitos funcionais do projeto, são agora ilustradas, através de diagramas de Caso de Uso, as relações que se estabelecem entre a eVotUM light e os seus intervenientes, o que permite, pois, visualizar todo o sistema mais facilmente. 4.2.2.1 Autenticação do Utilizador na eVotUM light Inicialmente, é retratado, também recorrendo a um diagrama de Caso de Uso, o processo de autenticação que se sucede na plataforma por parte dos seus utilizadores [Figura 7]. Embora ambos obedeçam a um mesmo processo de autenticação, são, posteriormente, encaminhados para sistemas distintos. Figura 7 - Diagrama de Caso de Uso referente ao Processo de Autenticação do Utilizador na eVotUM light
71 4.2.2.2 Interação do Votante com a eVotUM light O Votante interage com a plataforma eVotUM light através de dois sistemas distintos, designadamente, o Sistema de Consultas e o Sistema de Votação. Nas Figuras 8 e 9, são ilustradas tais interações, através dos respetivos Diagramas de Caso de Uso. Figura 8 - Diagrama de Caso de Uso referente à interação do Votante com o Sistema de Votação da eVotUM light Figura 9 - Diagrama de Caso de Uso referente à interação do Votante com o Sistema de Consultas da eVotUM light
72 4.2.2.3 Interação do Secretário com a eVotUM light O Secretário da Reunião, por outro lado, interage com a plataforma através do Sistema de Gestão de Votações. Na Figura 10 é ilustrada tal interação, através do respetivo Diagrama de Caso de Uso. 4.3 Comportamento Dinâmico da Plataforma A plataforma de votação eletrónica eVotUM light pode ser caraterizada, ainda, através de uma especificação dinâmica do seu comportamento, que consiste, portanto, na discriminação pormenorizada daquelas que serão as suas interfaces. O resultado de tal especificação é, pois, o Manual de Utilização da eVotUM light, quer do ponto de vista do Votante quer do ponto de Figura 10 - Diagrama de Caso de Uso referente à interação do Secretário da Reunião com a eVotUM light
73 vista do Secretário da Reunião. O Manual de Utilização da plataforma reflete, nesse caso, para cada interveniente, os seus respetivos Casos de Uso. Importa, ainda, referir que as interfaces aqui apresentadas servem, meramente, de orientação para o desenvolvimento daquela que será a plataforma futura. Grande parte irá resultar, inclusive, numa mera simplificação das interfaces já existentes. 4.3.1 Manual de Utilização do Votante Para conceder uma ideia precisa daquela que será dinâmica de utilização da plataforma por parte do Votante, é apresentado, agora, o seu Manual de Utilização. Representados e especificados, nesta secção, estão os diversos ecrãs com os quais o Votante é confrontado. O Manual está, então, repartido pelos processos de Autenticação, Votação e Consultas. 4.3.1.1 Autenticação Para se autenticar na plataforma, o Votante deverá clicar no botão "Autenticação", que surge no cabeçalho, através do qual é redirecionado para o formulário de Login, composto pelos campos "Username " e "Password" [Figura 11]. Figura 11 - Formulário de Autenticação na eVotUM light
74 4.3.1.2 Votação Passo 1: Para poder participar na votação, o Votante deverá clicar no botão "Votar”, que surge na Listagem “As Minhas Votaes” [Figura 12 e 13]. Para cada votação é apresentada a informação: • Identificador; • Estado; • Botão "Votar". AS MINHAS VOTAÇÕES Votar Votação Teste eVotUM light AS MINHAS VOTAÇÕES DADOS PESSOAIS ligh t Votação Teste Passo 1: Selecione a Votação Votações Votação Teste Votação Teste 1 light Figura 12 - Listagem de Votações do Votante na eVotUM light Figura 13 - Passo 1: Selecionar Votação
75 Passo 2: Apresentado o Boletim de Voto, através do qual o Votante deverá escolher o candidato em quem pretende votar [Figura 14]. Caso não pretenda prosseguir deverá clicar no botão "Anterior". Caso pretenda avançar deverá clicar no botão "Seguinte". Passo 3: Confirmar a escolha de candidato previamente efetuada [Figura 15]. Caso o Votante não pretenda prosseguir deverá clicar no botão "Anterior". Caso pretenda avançar deverá clicar no botão "Votar". Figura 14 - Passo 2: Selecionar Candidato Figura 15 - Passo 3: Confirmar Seleção de Candidato
82 • Iniciar Votação [Passo 1]; • Votos em Urna [Passo 2]; • Fechar Votação [Passo 3]; • Escrutinar Votos [Passo 4]; • Publicar Resultados [Passo 5]. Escreva uma equação aqui. Passo 1: Autorizar o começo da votaão, atravs do botão “Autorizar Início da Votaão” [Figura 25]. Passo 2: Atravs do botão “Número Total de Boletins em Urna” [Figura 26], o Secretário consegue aceder à área referente à Urna eletrónica [Figura 27], o que lhe permite observar o Figura 24 - Painel de Votações Figura 25 - Passo 1: Autorizar Início da Votação PAINEL DE VOTAÇÕES Votação Teste 1 Votação Teste 2 Votação Painel da Votação Iniciar Votação Ver Urna Fechar Votação Escrutinar Votos Publicar Resultados Completo Incomplet o Alterar Votação Por favor, clique no botão para autorizar o Início da votação. Iniciar Votação Ver Urna Fechar Votação Escrutinar Votos Publicar Resultados Autorizar Início da Votação
83 número de votos já efetuados, em tempo real, e perceber quando avançar para o fecho da votação. Passo 3: Autorizar o fecho da votaão, atravs do botão “Autorizar Fecho da Votaão” [Figura 28]. Através do controlo de votos em urna, no Passo 2, o Secretário tem perceção do número de votos já efetuados e, no caso desse número corresponder à totalidade de votantes, poder-se-á finalizar a votação. Figura 26 - Passo 2: Aceder à Urna Eletrónica ligh t Número Total de Boletins em Urna: Votante Número Total de Votantes: 10 2 Figura 27 - Passo 2: Visualizar Número Total de Boletins em Urna Figura 28 - Passo 3: Autorizar Fecho da Votação Por favor, clique no botão para visualizar o número total de boletins em urna. Iniciar Votação Ver Urna Fechar Votação Escrutinar Votos Publicar Resultados Número Total de Boletins em Urna Por favor, clique no botão para autorizar o Fecho da votação. Iniciar Votação Ver Urna Fechar Votação Escrutinar Votos Publicar Resultados Autorizar Fecho da Votação
84 Passo 4: Autorizar escrutínio dos votos [Figura 29]. Nesta área, o Secretário terá de clicar no botão “Autorizar Escrutínio de Votos” para que se dê o processo. Posto isto, o resultado da votação é apresentado no Painel [Figura 30]. Passo 5: Autorizar publicação do resultado da votação na plataforma [Figura 31]. Nesta área, o Secretário terá de clicar no botão “Publicar Resultados” para que se dê o processo. Posto isto, o resultado da votação é apresentado, na plataforma, a todos os votantes. ligh t Candidato com maior Número de Votos: Candidato Número Total de Votos: 10 Número de Votos Candidato 1 Candidato 2 7 3 Candidato 1 Figura 29 - Passo 4: Autorizar Escrutínio dos Votos Figura 30 - Passo 4: Apresentação de Resultados no Painel do Secretário Figura 31 - Passo 5: Autorizar Publicação de Resultados Por favor, clique no botão para autorizar o Escrutínio dos Votos. Iniciar Votação Ver Urna Fechar Votação Escrutinar Votos Publicar Resultados Autorizar Escrutínio dos Votos Por favor, clique no botão para autorizar a Publicação dos Resultados. Iniciar Votação Ver Urna Fechar Votação Escrutinar Votos Publicar Resultados Autorizar Publicação de Resultados
85 4.4 Infraestrutura Tecnológica da Plataforma A especificação da plataforma futura é concluída, neste segmento final, com a descrição daquela que será a sua infraestrutura tecnológica. Tal como aconteceu, no capítulo anterior, para a eVotUM, a descrição da infraestrutura da eVotUM light engloba a caraterização de todas as componentes de Software e Hardware, da arquitetura e do fluxo de comunicação que se estabelece em cada votação. A eVotUM light é, essencialmente, uma adaptação da eVotUM, projetada no sentido de promover votações a uma escala substancialmente inferior à que é, atualmente, praticada. A adequação da plataforma ao novo contexto não altera, no entanto, de forma considerável, a sua infraestrutura tecnológica. A eVotUM light permanece, pois, uma plataforma de votação eletrónica via Web, sendo estabelecidas comunicações através de redes abertas, não seguras por definição. Os votantes podem interagir com a plataforma mediante a utilização de um browser, instalado num desktop, computador portátil, tablet ou smartphone. O sistema é, por conseguinte, capaz de adaptar as suas interfaces às condições de visualização e interação impostas. A eVotUM light, tal como a eVotUM, está preparada para concretizar diversas votações em simultâneo, encontrando-se ao dispor de qualquer elemento da Universidade do Minho em matéria de votações em reuniões. Este sistema permite, ainda, a interação com os seus utilizadores tanto em língua portuguesa como inglesa. 4.4.1 Componentes de Software Estruturalmente, a eVotUM light é idêntica à eVotUM, sendo, pois, suportada por quatro serviços, designadamente, o Validator Service, o Filter Service, o Anonymizer Service e o Counter Service. Existem, ainda, no sistema, quatro componentes de apoio, nomeadamente, o Sistema de Administração, o Sistema de Gestão de Votações, o Sistema de Consultas e o Sistema de Votação. Importa referir que tais componentes, embora aparentemente idênticas
86 às da eVotUM, podem estar sujeitas a algumas alterações. Na tabela 14 explana-se cada um dos componentes do sistema previamente enunciados. Tabela 14 - Descrição detalhada dos componentes de Software da eVotUM light Componente de Software Descrição Validator Service Este serviço é responsável por validar os votos dos votantes, recolhidos através do sistema. Possui, tal como a votação, um certificado digital de chaves pública e privada. Através da chave privada, procede à assinatura do voto cifrado e cegado, que recebe do votante, validando-o. A assinatura, por sua vez, é guardada sem qualquer associação do voto ao respetivo votante. A ação do Validator Service termina com a devolução do voto, já assinado, ao votante. Filter Service Este serviço funciona como um filtro único para os votos dos votantes, antes de os mesmos serem enviados ao Anonymizer Service. A sua finalidade consiste em ocultar a origem do voto, pelo que, para o Anonymizer Service, os votos terão todos a mesma origem. O Filter Service aplica, ainda, verificações fortes aos pacotes que recebe e não guarda nenhum voto ou informação relativa ao mesmo. A ação do Filter Service acaba com o envio do pacote para o Anonymizer Service. Anonymizer Service O Anonymizer Service recebe um pacote constituído pelo voto cifrado, e respetiva assinatura, proveniente do Validator Service. Posto isto, procede à anonimização do mesmo. Este procedimento passa, então, por receber o pacote, guardá-lo de forma aleatória e misturá-lo, de imediato, com os votos previamente recolhidos. Os votos são guardados numa estrutura, tecnologicamente não ordenada, referenciados apenas por um número aleatório, gerado quando é recebido. Tem-se, assim, um tuplo constituído por <número, pacote>, guardado em posição desconhecida. Posteriormente, a estrutura é misturada. Etiquetas temporais são, no caso concreto da eVotUM light, desnecessárias, uma vez que a votação só é dada por encerrada após a reunião dos votos de todos os participantes em urna. Não existe, portanto, a necessidade de admitir votos que ainda estejam em transição no sistema, e já tenham passado a fase do Validator Service, no período válido de votação. Counter Service O Counter Service recebe os votos, misturados, do Anonymizer Service. Os votos podem ser enviados, para o serviço de contagem, em lotes, durante o período de votação, ou, então, de uma só vez,
87 no final da votação. É, então, neste serviço que os votos são decifrados e contabilizados, no final da votação. Sistema de Administração O sistema de administração constitui o instrumento através do qual o administrador da plataforma tem permissão para efetuar, se necessário, o carregamento dos certificados digitais a utilizar pelo sistema. Os certificados são carregados, por norma, uma única vez, correspondente à fase de ativação da plataforma. O administrador não desempenha, assim, um papel ativo no funcionamento da plataforma, isto é, não administra, efetivamente, a sua utilização. Sistema de Gestão de Votações O sistema de gestão de votações concede apoio ao Secretário da Reunião. Para que a criação ou gestão de uma votação se torne mais intuitiva, o sistema de gestão de votações assenta o seu funcionamento num modelo de fluxo de trabalho, workflow, que guia o Secretário nas diversas tarefas conexas à votação. Sistema de Consultas O sistema de consultas permite, ao votante, verificar a listagem de votações das quais faz parte, o arquivo de votações, bem como as informações gerais referentes a uma dada votação. Através do sistema de consultas o votante poderá, ainda, aceder ao sistema de votação. Adicionalmente, concluído o período de votação, o votante poderá, neste local, verificar se o seu voto foi contabilizado na votação. A verificação é efetuada através de um número único atribuído ao voto no momento da votação. Sistema de Votação O sistema de votação é o meio através do qual o votante participa numa votação, podendo expressar a sua escolha através do voto. Para que tal seja possível, o sistema requer que o votante se autentique no sistema, recorrendo aos respetivos dados de autenticação. Uma vez efetuada a autenticação, o votante tem acesso à lista de votações nas quais poderá participar. O boletim será constituído por uma barra que exibe a progressão da votação até à sua conclusão. No final da votação é apresentado, ao votante, o número único atribuído ao seu voto. 4.4.2 Arquitetura da Infraestrutura A plataforma eVotUM light dispõe dos mesmos servidores da eVotUM, designadamente, o WebServer, o DBServer e os Application Servers. O WebServer, também referido como servidor Front-end, é o nível com o qual o navegador web do utilizador comunica e trata de pedidos HTTP. O DBServer, por outro lado, executa o processo da base de dados, utilizando a Structured Query Language, SQL, para armazenar e recuperar dados. Os Application Servers
88 suportam o objetivo de dotar a plataforma de uma arquitetura orientada a serviços Web. O diagrama lógico referente à arquitetura da infraestrutura é, portanto, em tudo semelhante ao que se pôde observar para a eVotUM, no capítulo anterior, através da Figura 4. No que respeita à redundância da infraestrutura tecnológica, também a eVotUM light reaproveita toda a lógica da eVotUM e, nesse sentido, diversos dos seus componentes, como Firewalls e Web Servers, recorrem à replicação. Também a base de dados utiliza tecnologias como a replicação, no sentido de garantir uma alta disponibilidade do serviço. Neste modelo, tal como referido para a eVotUM, quando uma componente falha, a tarefa é enviada para componente complementar. Através do recurso a máquinas virtuais são, então, mantidas duas versões idênticas dos diversos servidores e Firewalls inerentes à plataforma. O objetivo é, portanto, garantir a utilização ininterrupta do sistema e evitar a perda de dados. Na Figura 5, do capítulo 3, é possível observar o diagrama referente à redundância aplicada ao sistema. Como também se poderá averiguar na figura, o sistema contempla, ainda, um servidor de gestão, responsável por efetuar as cópias de segurança, cumprir a monitorização e manter a centralização de logs da infraestrutura. A eVotUM light não deverá recorrer, à partida, a uma sala-cofre, em matéria de atualizações da plataforma, tal como a eVotUM, sendo que apenas o Secretário da Reunião é responsável pela sua modificação. A integridade da base de dados, por outro lado, segue os moldes da eVotUM e, nesse sentido, os dados são assinados com HMAC e é cumprida uma separação de privilégios, ou seja, o gestor do servidor da aplicação não pode ser gestor do servidor da base de dados. 4.4.3 Fluxo de Comunicação Para cada votação existe um fluxo de comunicação. O diagrama que faz referência ao fluxo de comunicação que se estabelece na eVotUM light, aquando de uma votação, é em tudo semelhante ao da eVotUM, representado na Figura 6 do capítulo prévio, salvo pequenos ajustes na terminologia. O diagrama funciona, basicamente, como um meio de compreensão da correspondência que se estabelece entre os diversos serviços e sistemas da plataforma e o votante e, nesse sentido, o da eVotUM light é equivalente ao da eVotUM.
89 Na Figura 32 está, portanto, ilustrado o diagrama atualizado, representativo do fluxo de comunicação que se estabelece na eVotUM light. Figura 32 - Fluxo de Comunicação detalhado referente a uma Votação na eVotUM light (Fluxos de Comunicação, CCG, Eurotux & Devise Futures)
90 CAPÍTULO 5 CONCLUSÃO No presente capítulo serão retiradas as principais conclusões associadas ao trabalho desenvolvido, anunciadas as dificuldades sentidas aquando da sua concretização e traçadas perspetivas futuras tendo por base a solução proposta. Os objetivos inicialmente assinalados para a dissertação foram integralmente satisfeitos. A revisão de literatura, antes de mais, possibilitou um estudo minucioso no que concerne a arquiteturas projetadas para plataformas de votação eletrónica, o que resultou, por fim, numa melhor compreensão dos sistemas, dessa natureza, existentes. Para o efeito foram analisados inúmeros artigos e dissertações referentes à matéria em investigação. A caraterização da eVotUM resultou, por sua vez, numa descrição detalhada de todas as componentes que a constituem e viabilizou, posteriormente, a especificação da eVotUM light, cujos componentes resultam, diretamente, da identificação e adaptação dos da eVotUM. Esta caraterização foi concebida, ainda, por meio de uma descrição do comportamento funcional e arquitetura tecnológica que lhe são inerentes, com vista à prossecução do objetivo seguinte, de especificação da nova plataforma. Uma vez concluído este segmento, e tendo por base os seus fundamentos, tornou-se exequível o objetivo seguinte, de levantamento e descrição dos requisitos funcionais e não funcionais imprescindíveis ao suporte da eVotUM light. A concretização do último objetivo traçado para o projeto, de especificação de uma nova plataforma de votação, pensada para reuniões em formato híbrido, resultou, pois, do culminar do estudo efetuado e de uma continua reflexão. Só então foi possível efetuar uma descrição detalhada da eVotUM light, delinear os seus requisitos, funcionais e não funcionais, e esboçar, com base em todas as adaptações, as suas interfaces. A especificação derivou, então, de uma descrição integral da plataforma, designadamente, dos seus comportamentos funcional e dinâmico e da sua respetiva infraestrutura tecnológica.
91 A realização deste trabalhou veio salientar a importância e urgência de desenvolver uma plataforma que promova votações em reuniões de uma forma segura, mas muito simples e intuitiva. O uso da eVotUM para esse efeito tem sido, até agora, um processo fastidioso, uma vez que a plataforma se encontra muito pouco ajustada para o efeito e exige o cumprimento de um alargado conjunto de etapas, intrínsecas àquele que é, por norma, o processo eleitoral. A especificação da eVotUM light procurou, assim, reaproveitar a atual arquitetura da eVotUM e adaptar, convenientemente, todas as suas implementações, ao novo contexto de votação. Nesse sentido, todas as garantias de segurança e credibilidade, inerentes à eVotUM, ficam salvaguardadas, e o propósito da nova plataforma é devidamente cumprido. Todavia, foram sentidas algumas dificuldades aquando do desenvolvimento do trabalho, sobretudo em questões, de caráter técnico, concernentes à especificação da eVotUM light. As implicações, que a adaptação da eVotUM teve, na infraestrutura tecnológica da eVotUM light, originaram diversas dúvidas, designadamente em matéria de decifragem de votos e, ainda, de geração de credenciais para utilizadores da plataforma. A primeira grande questão que se colocou foi se a segurança da votação não seria comprometida, neste novo contexto, uma vez que o único detentor do segredo, de acesso à chave privada da votação, seria o Secretário da reunião, isto é, o responsável pela votação. Tal não foi possível aferir, por falta de conhecimento técnico na matéria, o que tem, naturalmente, repercussões nos resultados do trabalho. Ademais, a segunda questão que se colocou foi se a atribuição de credenciais aos utilizadores deveria ser efetuada pelo Secretário, através da submissão de uma lista com os respetivos dados dos participantes na votação, ou se deveria ser efetuada por um Serviço de Diretoria externo, tendo sido determinado que a segunda opção seria a mais viável e, portanto, de uso na eVotUM light. Para desenvolvimento futuro aponto, antes de mais nada, a urgência em implementar a solução, neste documento, especificada. Uma vez implementada, a plataforma deverá, ainda, ser utilizada e avaliada em contexto real, para que, por último, possa ser convenientemente ajustada. Como resultado dos esforços enunciados, poderão, então, ser suportadas votações, em tempo real, em contexto de reuniões híbridas de pequenos grupos.
98 C. COMO VERIFICAR O CADERNO ELEITORAL
99 D. COMO VOTAR
100
101
102
103
104 E. COMO VERIFICAR SE O VOTO FOI CONTABILIZADO
105 F. COMO ENVIAR MENSAGENS À COMISSÃO ELEITORAL
106
107 G. COMO ALTERAR OS DADOS PESSOAIS
114 ii. Editar Calendário Eleitoral [Tab Calendário Eleitoral] 1. Definir Período de Publicação de Listas Candidatas: a. Início do Período [Date/Hour Picker]; b. Fim do Período [Date/Hour Picker]; 2. Definir Período de Publicação do Caderno Eleitoral: a. Data de Publicação do Caderno Eleitoral Provisório [Date/Hour Picker]; b. Data de Publicação do Caderno Eleitoral Definitivo [Date/Hour Picker]; c. Início do Período de Reclamação [Date/Hour Picker]; d. Fim do Período de Reclamação [Date/Hour Picker]; 3. Definir Período de Votação: a. Ínicio do Período de Votação [Date/Hour Picker]; b. Fim do Período de Votação [Date/Hour Picker]; 4. Definir Período de Publicação de Resultados: a. Data de Publicação [Date/Hour Picker]; b. Ínicio do Período de Homologação [Date/Hour Picker]; c. Fim do Período de Homologação [Date/Hour Picker]; 5. Guardar Edição [Botão Guardar].
115 iii. Editar Peso do Voto [Tab Peso do Voto] 1. Introduzir Pesos de Voto permitidos na Eleição iv. Editar Caderno Eleitoral [Tab Caderno Eleitoral] 1. Carregar Caderno Eleitoral [Botão Escolher Ficheiro]: Ficheiro CSV UTF-8, delimitado pelo caracter ponto e vírgula, constituído pelos campos personnel_number, name, email, category (pesos de voto, se aplicável); 2. Submeter Edição [Botão Submeter]. v. Editar Candidatos [Tab Candidatos] 1. Editar/Inserir Nome do Candidato/Lista [Write In]; 2. Editar/Inserir Nome do Documento [Write In]; 3. Carregar Documento [Botão Escolher Ficheiro]; 4. Adicionar Documento [Icon Button]; 5. Apagar Candidato [Icon Button]; 6. Adicionar Candidato [Icon Button]; 7. Guardar Edição [Botão Guardar].
116 vi. Editar Boletim de Voto [Tab Boletim de Voto] 1. Inserir Instruções a Figurar no Boletim de Voto [Write In]; 2. Selecionar Modo de Apresentação [Radio Button]; 3. Misturar Candidatos [Botão Misturar Candidatos]; 4. Pré-visualizar Boletim de Voto [Botão Pré-Visualização Do Boletim de Voto]; 5. Guardar Edição [Botão Guardar]. b. Gerir Painel do Dia da Eleição [Botão Gerir] i. Iniciar Votação [Tab Iniciar Votação] 1. Rever/Editar Início do Período de Votação [Date/Hour Picker]; 2. Aprovar Início do Período de Votação [Botão Aprovar Início do Período de Votação].
117 ii. Fechar Votação [Tab Fechar Votação] 1. Rever/Editar Fim do Período de Votação [Date/Hour Picker]; 2. Aprovar Fim do Período de Votação [Botão Aprovar Fim do Período de Votação] iii. Escrutinar Votos [Tab Escrutinar Votos] 1. Iniciar Contagem de Votos [Botão Iniciar Contagem de Votos]
118 iv. Visualizar Número de Boletins na Urna em Período de Votação [Botão Número Total de Boletins na Urna Eleitoral] 5. VISUALIZAR MENSAGENS a. Visualizar Mensagens Recebidas [Botão Recebidas]; i. Ler Mensagem [Click Link]; ii. Arquivar Mensagem [Icon Button]. b. Visualizar Mensagens Enviadas [Botão Enviadas]; c. Visualizar Mensagens Arquivadas [Botão Arquivadas].
119 6. VISUALIZAR HISTÓRICO DE AÇÕES
120 ANEXO III GUIA DO RESPONSÁVEL INSTITUCIONAL
121 Neste terceiro anexo apresentado o Guia do Responsável Institucional, referente à criação de um processo eleitoral. Este processo é efetuado pelo Responsável Institucional, autenticado na respetiva Área do Sistema eVotUM. Importa ainda referir que o processo inclui duas etapas, sendo a segunda efetuada, automaticamente, pelo sistema. O Guia apresenta cinco passos a serem cumpridos, necessariamente, na Etapa 1, pelo Responsável Institucional, de modo a efetuar a devida criação do processo eleitoral. Posteriormente, para efeitos de uma boa compreensão, é esclarecido o processo à luz da Etapa 2. Finalmente, são esclarecidos os processos de cifra e decifra dos votos. A. ETAPA 1 1. FORNECER DADOS GERAIS REFERENTES AO PROCESSO ELEITORAL a. Carregar Ficheiro referente ao Logótipo do Processo Eleitoral [Botão Escolher Ficheiro]; b. Inserir Identificador do Processo Eleitoral [PT] [Write In]; c. Inserir Descrição do Processo Eleitoral [PT] [Write In]; d. Inserir Identificador do Processo Eleitoral [EN] [Write In]; e. Inserir Descrição do Processo Eleitoral [EN] [Write In]; f. Selecionar Tipo de Processo Eleitoral [Radio Button]; g. Avançar para o Próximo Passo [Botão Seguinte].
122 2. FORNECER DADOS CONCRETOS REFERENTES ÀS ELEIÇÕES a. Criação de Eleição i. Identificar Eleição 1. Inserir Identificador da Eleição [PT] [Write In]; 2. Inserir Descrição da Eleição [PT] [Write In]; 3. Inserir Identificador da Eleição [EN] [Write In]; 4. Inserir Descrição da Eleição [EN] [Write In]. ii. Definir Período de Apresentação de Listas Candidatas 1. Definir Início do Período [Date/Hour Picker]; 2. Definir Fim do Período [Date/Hour Picker]. iii. Definir Caderno Eleitoral 1. Definir Horário de Publicação do Caderno Eleitoral Provisório [Date/Hour Picker]; 2. Definir Início do Período de Reclamação [Date/Hour Picker]; 3. Definir Fim do Período de Reclamação [Date/Hour Picker]; 4. Definir Horário de Publicação do Caderno Eleitoral Definitivo [Date/Hour Picker]. iv. Definir Período de Votação 1. Definir Início do Período de Votação [Date/Hour Picker]; 2. Definir Fim do Período de Votalção [Date/Hour Picker]. v. Definir Resultados 1. Definir Data de Publicação de Resultados [Date/Hour Picker]; 2. Definir Início do Período de Homologação [Date/Hour Picker]; 3. Definir Fim do Período de Homologação [Date/Hour Picker]. b. Avançar para o Próximo Passo [Botão Seguinte]
123 3. FORNECER DADOS REFERENTES À COMISSÃO ELEITORAL a. Inserir Membros da Comissão Eleitoral i. Inserir Username do Membro da Comissão Eleitoral [Write In]; ii. Verificar Validez do Username Inserido [Botão Verificar]; iii. Inserir Designação do Membro da Comissão Eleitoral [Write In]; iv. Selecionar Função do Membro da Comissão Eleitoral [Dropdown List]. b. Avançar para o Próximo Passo [Botão Seguinte].
130 REQ 2.7 Sistema de Consultas Páginas Institucionais O portal deve apresentar, em rodapé, as seguintes páginas institucionais: • Sobre o eVotUM; • Perguntas frequentes; • Política de segurança e informação; • Política de privacidade; • Termos de utilização; • Mapa do Site; • Contactos. REQ 2.8 Sistema de Consultas Processos Eleitorais: Listagem A listagem apresenta os últimos três processos eleitorais publicados, ordenados do mais recente para o mais antigo. Para cada processo eleitoral é apresentada a seguinte informação: • Logótipo; • Nome do processo eleitoral; • Estado do processo eleitoral; • Botão "Consultar": redireciona para a página de consulta do processo eleitoral [REQ 2.9]. No topo da listagem surge o botão "Arquivo" que redirecionada para a página de arquivo dos processos eleitorais [REQ 2.9]. No final da listagem surge o botão "Ver todos" que redireciona para uma página que apresenta a lista de todos os processos eleitorais abertos. Este botão só é apresentado no caso de existiram mais processos eleitorais no estado aberto. REQ 2.9 Sistema de Consultas Processos Eleitorais: Página de Consulta O eleitor autenticado, bem como o utilizador anónimo, ao clicar no botão "Consultar" disponível na listagem de processos eleitorais, é redirecionado para a página de consulta de um processo eleitoral. A página de consulta de um processo eleitoral apresenta a seguinte estrutura: [Informações gerais do processo eleitoral] • Texto descritivo do processo eleitoral; • Documentos associados ao processo eleitoral, em que para documento é apresentado o nome associado ao documento, seguido dos links para visualização dos ficheiros. [Eleições] A lista de eleições apresenta todas as eleições associadas ao processo eleitoral, independentemente do seu estado. Por defeito é apenas apresentado o nome da eleição e uma seta, em que ao clicar abre a respetiva informação
131 detalhada. Ao clicar numa eleição diferente é escondida a informação da anterior. A informação detalhada a apresentar é a seguinte: • Estado atual; • Período de verificação; • Texto descritivo da eleição; • Período de votação; • Calendário eleitoral; • Caderno eleitoral; • Lista de candidatos e respetivos ficheiros associados; • Botão "Apresentar reclamação": Ao clicar abre o formulário de envio de mensagens. Se a Página de Consulta for acedida por um eleitor que faz parte do caderno eleitoral, é apresenta ainda a seguinte informação: • Botão "Votar" no canto superior direito da listagem. Ao clicar no botão, o eleitor é redirecionado para a página de votação [REQ 3.1]; • Botão "Consulta de referência de votos". Ao clicar no botão, o eleitor é redirecionado para a página de consulta de referência de votos [REQ 2.17]. REQ 2.10 Sistema de Consultas Processos Eleitorais: Arquivo Ao clicar no botão "Arquivo" que surge na listagem de processos eleitorais, o utilizador é redirecionado para a página de arquivo de processos eleitorais que apresenta a seguinte estrutura: [Filtros de pesquisa] Os processos eleitorais podem ser filtrados pelos seguintes critérios: • Paginação: Corresponde ao número de itens visíveis por página e deve ter as opções 5 ou 10. Por defeito deve existir uma paginação de 5 em 5 itens; • Ano: Devolver todos os anos que tiveram, pelo menos, uma eleição, desde a primeira eleição existente na plataforma, até ao momento atual. [Listagem de processos eleitorais] Apresenta todos os processos eleitorais que se encontram no estado fechado, ordenados por data de publicação do mais recente para o mais antigo. Para cada processo deve ser apresentada a seguinte informação: • Logótipo; • Nome do processo eleitoral; • Lista de eleições do processo eleitoral: Ao clicar redireciona para a página de consulta do processo eleitoral [REQ 2.9]. • Estado do processo eleitoral;
132 • Botão "Consultar": Ao clicar redireciona para a página de consulta do processo eleitoral [REQ 2.9]. Não é possível visualizar mais informação sobre os processos eleitorais já fechados, apenas a que surge nesta listagem. REQ 2.11 Sistema de Consultas Como funciona Página estática que apresenta informação relativa à plataforma. O botão “Guia do Eleitor” redireciona o utilizador para uma página que contém o guia de utilização da eVotUM. REQ 2.12 Sistema de Consultas Contactos O utilizador anónimo, bem como o eleitor autenticado, ao clicar no link "Contactos" que surge no cabeçalho ou rodapé é redirecionado para a página de contactos. A página de contactos deve ser composta pela seguinte estrutura: [Formulário de contacto] • Nome; • Email; • Assunto; • Mensagem; • Campo reCAPTCHA. Após submetida, a mensagem é enviada para o responsável institucional. Caso a submissão seja efetuada com sucesso surge uma mensagem informativa com o texto "O seu pedido foi submetido com sucesso". Caso algum dos campos tenha um erro, é apresentada a respetiva mensagem de erro. [Informação de contacto] • Nome; • Email; • Telefone; • Morada; • Mapa de localização. REQ 2.13 Sistema de Consultas Os meus processos eleitorais O eleitor autenticado ao clicar no link "Os meus processos eleitorais", que surge no cabeçalho, é redirecionado para a página que apresenta a listagem de processos eleitorais das quais o eleitor faz parte. Esta listagem apresenta os processos ordenados do mais recente para o mais antigo. Para cada processo eleitoral é apresentada a seguinte informação: • Logótipo; • Nome do processo eleitoral; • Estado do processo eleitoral;
133 • Botão "Consultar": redireciona para a página de consulta do processo eleitoral [REQ 2.9]; • Botão "Votar": redireciona para a página de votação das eleições do respetivo processo eleitoral [REQ 3.1]. No final da listagem surge um botão “Processos Eleitorais em falta" e ao clicar surge uma janela pop-up a informar o eleitor que para fazer uma reclamação associada a uma eleição da qual não faz parte no momento, deve fazer logout e aceder à consulta pública (para utilizadores anónimos) do respetivo processo eleitoral. REQ 2.14 Sistema de Consultas Dados pessoais O eleitor autenticado ao clicar no link "Dados pessoais", que surge no cabeçalho, é redirecionado para a página que apresenta os seus dados pessoais. Esta página apresenta a seguinte estrutura: • Imagem de perfil: Fornecida pela DTSI e não pode ser editada; • Nome: Fornecido pela DTSI e não pode ser editado; • Email: Fornecido pela DTSI e não pode ser editado; • Telemóvel: Fornecido pela DTSI; • Telemóvel para comunicação: por defeito aparece o mesmo da DTSI, mas pode ser editado pelo eleitor; • Email para comunicação: por defeito aparece o mesmo da DTSI e pode ser editado pelo eleitor nesta área; • Forma de envio de PIN de votação: Apresenta as opções SMS e Email e por defeito tem a opção SMS selecionada. Caso o utilizador não tenha número de telemóvel associado tem por defeito a opção Email selecionada; No final deve existir um botão "Guardar" para preservar a edição dos campos editáveis. REQ 2.15 Sistema de Consultas Mensagens O eleitor autenticado ao clicar no link "Mensagens", que surge no cabeçalho, é redirecionado para a página que apresenta as suas mensagens. REQ 2.16 Sistema de Consultas Histórico O eleitor autenticado ao clicar no link "Histórico", que surge no cabeçalho, é redirecionado para a página que apresenta o histórico das eleições das quais o eleitor fez parte. Esta página apresenta a seguinte estrutura: [Filtros de pesquisa] As eleições podem ser filtradas pelos seguintes critérios: • Paginação: Corresponde ao número de itens visíveis por página e deve ter as opções 5 ou 10. Por defeito deve existir uma paginação de 5 em 5 itens; • Ano: Corresponde ao ano em que a eleição se realizou.
134 [Listagem de eleições] Apresenta todas as eleições cujo eleitor autenticado fez parte, ordenadas por data de publicação, da mais recente para a mais antiga. Para cada eleição deve ser apresentada a seguinte informação: • Logótipo do processo eleitoral da respetiva eleição; • Nome do processo eleitoral; • Nome da eleição; • Data de início da eleição; • Data de fim da eleição. REQ 2.17 Sistema de Consultas Consulta de referência de voto O eleitor autenticado ao consultar a página de detalhe de um processo eleitoral pode clicar no botão "Consulta de referência de voto", e ser redirecionado para a página onde pode consultar se a sua referência de votação faz parte da lista de referências associadas à eleição. Esta página apresenta um formulário de pesquisa onde pode ser inserida a referência do voto e após a submissão da pesquisa surge uma mensagem informativa a indicar se a referência faz ou não parte da lista associada à eleição em questão. REQ 3.1 Sistema de Votação Passo 1: Selecionar Eleição O eleitor autenticado ao clicar no botão "votar" que surge no detalhe do processo eleitoral ou na listagem dos meus processos eleitorais, é redirecionado para a área de votação. O sistema de votação é constituído por 5 passos [REQ 3.1 a REQ 3.6]. No passo 1 são apresentadas todas as eleições associadas ao respetivo processo eleitoral, das quais o eleitor faz parte do caderno eleitoral. Para cada eleição é apresentada a seguinte informação: • Nome da eleição; • Descrição da eleição; • Período de Votação (Data de início de Data de fim); • Botão "Votar": Está ativo quando o período de votação está em curso, enquanto o eleitor não votar. Ao clicar no botão o eleitor é redirecionado para o "Passo 2". Antes da listagem de eleições é apresentada uma mensagem informativa sobre o número total de eleições e o número de eleições que estão ainda disponíveis para votação. REQ 3.2 Sistema de Votação Passo 2: Selecionar Lista Neste passo, é apresentado o boletim de voto e o eleitor escolhe a lista ou o candidato em que pretende votar. Caso não pretenda prosseguir pode clicar no botão "Anterior" e é redirecionado para o passo 1 [REQ 3.1], onde deve escolher novamente em que eleição pretende
135 votar. Caso pretenda avançar deve clicar no botão "Seguinte" e é redirecionado para o passo 3 [REQ 3.3]. REQ 3.3 Sistema de Votação Passo 3: Confirmar Lista Neste passo o eleitor deve confirmar a escolha de lista ou candidato efetuada, existindo apenas para efeitos de validação. Caso este não pretenda prosseguir pode clicar no botão "Anterior" e é redirecionado para o passo 2 [REQ 3.2], onde pode escolher outra lista ou candidato em que pretende votar. Caso pretenda avançar deve clicar no botão "Votar" e é redirecionado para o passo 4 [REQ 3.4]. REQ 3.4 Sistema de Votação Passo 4: Segurança - Envio de código PIN Neste passo deve ser feita a seleção do mecanismo de envio do PIN de votação, sendo apresentado um formulário para esse efeito. Por defeito surge a opção que estiver inserida nos dados pessoais do eleitor. Após a seleção, o eleitor deve clicar no botão "Continuar" e é enviado, automaticamente, o PIN de votação e o utilizador é encaminhado para o passo 5 [REQ 3.5]. Caso não pretenda prosseguir pode clicar no botão "Anterior" e é redirecionado para o passo 3 [REQ 3.3]. REQ 3.5 Sistema de Votação Passo 5: Segurança - Inserção de código PIN Neste passo é apresentado o formulário onde deve ser inserido o PIN de votação recebido. Ao clicar em "Submeter Voto" o eleitor finaliza o processo de votação na respetiva eleição e é redirecionado para o passo 6 [REQ 3.6], onde é apresentada a sua referência de votação. Neste momento é enviado um email para o eleitor com a referência da sua votação. Caso o eleitor não pretenda prosseguir pode clicar no botão "Anterior" e é redirecionado para o passo 4 [REQ 3.4]. O PIN de votação deve ficar visível. REQ 3.6 Sistema de Votação Passo 6: Informação de submissão de voto Neste passo é apresentada a referência de votação do eleitor. Ao clicar em "OK" o utilizador é encaminhado novamente para o passo 1 [REQ 3.1] e a eleição em questão deixa de estar ativa, ficando o botão "Votar" bloqueado e sendo atualizado o número de eleições ativas. REQ 4.1 Sistema de Gestão de Eleições Pedido de criação do processo eleitoral: Dados Gerais O responsável institucional acede ao formulário para pedido de criação do processo eleitoral através do endereço. O formulário é composto pelos passos se inserção de dados gerais e de membros. O passo dos Dados Gerais apresenta a seguinte estrutura: [Processo Eleitoral] Informação básica do processo eleitoral: • Logótipo: Dimensão mínima de 135x100px; • Indentificador do processo eleitoral; • Descrição do processo eleitoral;
136 [Eleições] Devem ser inseridas as várias eleições associadas ao processo eleitoral. Por defeito é apresentado o formulário de inserção de uma eleição com a seguinte estrutura: • Calendário eleitoral: Formulário de inserção dos dados do caderno eleitoral [REQ 4.2]; • Identificador da eleição (limite de caracteres: 100); • Descrição da eleição (limite de caracteres: 260); • Botão "+": Ao clicar é adicionado um novo bloco com os campos referidos acima, para que seja criada uma nova eleição. Ao clicar no botão "Seguinte", são submetidos os dados inseridos até ao momento e o responsável institucional passa para a criação de membros [REQ 4.3]. REQ 4.2 Sistema de Gestão de Eleições Pedido de criação do processo eleitoral: Calendário Eleitoral Quando o responsável institucional clica no botão "Calendário eleitoral" que surge nos dados gerais do formulário de pedido de criação do processo eleitoral, abre uma janela pop-up com o formulário de gestão de caderno eleitoral que apresenta a seguinte estrutura: [Datas de proposituras] • Data de início; • Data de fim. [Cadernos eleitorais] • Data de publicação antes de verificação; • Data de publicação após verificação e correção. [Votação] • Período de votação: Apresenta dois campos para a data de início e fim. [Consulta das referências de votos] • Data da consulta: Apenas um dia. [Ata eleitoral] • Data de publicação; • Período de verificação: Apresenta dois campos para a data de início e fim. Após preencher esta informação, o responsável institucional clica no botão "Inserir", os dados ficam associados à respetiva eleição e a janela pop-up fecha, voltando para a página de dados gerais. Caso clique no botão "Fechar" a janela pop-up fecha, voltando para a página de dados gerais e os dados inseridos não são guardados.
137 REQ 4.3 Sistema de Gestão de Eleições Pedido de criação do processo eleitoral: Membros Nesta área, caso já existam membros, é apresentada uma listagem com a seguinte informação para cada membro: • ID; • Nome; • Qualidade; • Designação; • Email; • Telemóvel; • Endereço Postal; • Opção de envio de Credenciais; • Botão "Editar": Ao clicar acede ao formulário de edição de dados do membro, que é igual ao formulário de criação de membros; • Botão "Eliminar": Ao clicar elimina o respetivo membro da lista de membros. Após a listagem surge o botão "+", em que ao clicar abre uma janela pop-up com o formulário de criação de membro. Este formulário apresenta os seguintes campos: • Nome: caixa de texto simples; • Qualidade: caixa de seleção com as opções "Presidente" ou "Outro"; • Designação: caixa de texto simples; • Email: caixa de texto livre com validação para formato de email; • Telemóvel: caixa de texto com o formato XXXXXXXXXXXXX; • Endereço Postal: caixa de texto livre; • Opção de envio de credenciais: caixa de seleção com as opções "SMS" ou "Email". Por defeito está preenchido com a opção SMS; Após preencher esta informação o responsável institucional clica no botão "Inserir", é criado um novo membro associado à respetiva eleição e a janela pop-up fecha, voltando para a página de membros. Caso clique no botão "Fechar" a janela pop-up fecha, voltando para a página de membros e os dados inseridos não são guardados. No final da listagem, para além do botão para adicionar novos membros, existe o botão "Anterior", em que ao clicar redireciona para o passo de gestão de dados gerais, e o botão "Seguinte" em que ao clicar redireciona para a página de resumo que apresenta todos os dados submetidos relativos ao processo eleitoral [REQ 4.4].
138 REQ 4.4 Sistema de Gestão de Eleições Pedido de criação do processo eleitoral: Resumo Esta página apresenta toda a informação preenchida nos passos "Dados gerais" e "Membros", exatamente com a mesma representação que nos respetivos passos, mas sem botões de inserção. Surge ainda um botão "Imprimir" que gera um PDF com os dados. No final surge o botão reCAPCHA, de preenchimento obrigatório, para prosseguir com a submissão. Caso responsável institucional clique no botão "Anterior" é redirecionado para o passo de gestão de membros. Caso clique no botão "Seguinte" a submissão é efetuada e surge uma janela pop-up com uma mensagem informativa de que o seu pedido foi submetido com sucesso. Nesta janela ao clicar em "Ok" o responsável institucional é encaminhado para o passo de dados gerais vazio, podendo fazer uma nova submissão e recomeçar todo o processo. REQ 4.5 Sistema de Gestão de Eleições Processos eleitorais: Listagem O membro da comissão eleitoral ao autenticar-se no sistema de gestão de eleições é redirecionado para a listagem de processos eleitorais. Esta apresenta todos os processos eleitorais no estado aberto cujo membro faz parte. Para cada processo eleitoral é apresentada a seguinte informação: • Logótipo do processo eleitoral; • Identificador do processo eleitoral; • Descrição do processo eleitoral; • Botão "Selecionar" que redireciona para a área de detalhe do respetivo processo eleitoral [REQ 4.6]. REQ 4.6 Sistema de Gestão de Eleições Processos eleitorais: Detalhe Esta página apresenta a seguinte estrutura: • Botão "Configuração de operações" que redireciona para [REQ 4.7]; • Logótipo do processo eleitoral; • Identificador do processo eleitoral; • Descrição do processo eleitoral; • Data de publicação do processo eleitoral; • Documentos: Apresenta o número de documentos do processo. Ao clicar no ícone de edição é redirecionado para a página de edição do processo eleitoral [REQ 4.8]; • Eleições: Apresenta o número de eleições associadas ao processo. Ao clicar no botão "Eleições" redireciona para o painel de eleições [REQ 4.9]; REQ 4.7 Sistema de Gestão de Eleições Processos eleitorais: Configuração de operações Área onde é definido o nível de segurança que deve ser associado a cada ação crítica. Para as ações que se seguem deve ser definido qual o respetivo nível de segurança, Simples, Forte ou Crítico: • Abrir eleição com verificação de que a urna está vazia • Encerramento de eleição/urna
139 • Contagem de votos • Publicação do processo eleitoral • Alterar quem responde às mensagens • Configuração inicial do processo eleitoral • Outros Ao clicar no botão "Gravar", surge um formulário onde devem ser inseridas as chaves de todos os membros da comissão eleitoral. Apenas após a inserção das chaves e validação pela aplicação, as configurações ficam guardadas. REQ 4.8 Sistema de Gestão de Eleições Processos eleitorais: Edição O membro da comissão eleitoral ao clicar no botão de edição que surge no detalhe dos processos eleitorais acede à área de edição do processo, que é composta por Informações Gerais e Comissão Eleitoral. Em Informações Gerais estão pré-preenchidos os dados que foram inseridos pelo responsável institucional, e é possível editar os seguintes dados: • Logótipo; • Identificador do processo eleitoral; • Descrição do processo eleitoral; • Data de publicação; • Documentos: É apresentado o nome do documento, o ficheiro e o botão para eliminação do ficheiro. Ao clicar no botão "Gravar" são guardas as alterações efetuadas. Em Comissão Eleitoral são apresentados os dados dos membros da comissão eleitoral. Estes dados são apenas informativos e não podem ser editados pela comissão eleitoral. REQ 4.9 Sistema de Gestão de Eleições Painel de Eleições: Ecrã inicial O membro da comissão eleitoral ao clicar no botão "Eleições" que surge no detalhe dos processos eleitorais acede ao painel de gestão de eleições. O Painel de eleições apresenta a informação geral das eleições associadas ao processo eleitoral, permitindo o acompanhamento e gestão dos dados da eleição. Para cada eleição é apresentada a seguinte informação: • Identificador da Eleição; • Painel de Operações: O botão "Gerir" fica ativo XX dias antes do início do período de votação. Ao clicar no botão "Gerir" o membro da comissão vai para a página onde é feita a gestão de operações críticas perto do período de votação da eleição; • Configurações: Apresenta o ícone representativo do estado da gestão deste passo;