PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
CIN - Centro De Informática Pós-Graduação Em Ciência Da Computação
[email protected] www.cin.ufpe.br/~posgraduacao
RECIFE 2014.
CRIPTOGRAFIA HOMOMÓRFICA APLICADA AO VOTO
ELETRÔNICO
Por
FÁBIO CRISTIANO SOUZA OLIVEIRA
UFPE - UNIVERSIDADE FEDERAL DE PERNAMBUCO
CIn - CENTRO DE INFORMÁTICA
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
FÁBIO CRISTIANO SOUZA OLIVEIRA
CRIPTOGRAFIA HOMOMÓRFICA APLICADA AO VOTO ELETRÔNICO
Dissertação apresentada como requisito parcial à obtenção do grau de Mestre em Ciência da Computação, do Programa MINTER-DINTER PETROLINA de Pós-graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, área de concentração segurança computacional.
ORIENTADOR: Prof. Dr. Ruy José Guerra Barretto de Queiroz.
RECIFE 2014.
Catalogação na fonte
Bibliotecária Jane Souto Maior, CRB4-571
Oliveira, Fábio Cristiano Souza
Criptografia homomórfica aplicada ao voto eletrônico/ Fábio Cristiano Souza Oliveira. - Recife: O Autor, 2014.
202 f., fig., tab., quadro
Orientador: Ruy José Guerra Barretto de Queiroz.
Dissertação (mestrado) - Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2014.
Inclui referências e apêndices.
1. Ciência da Computação. 2. Segurança da Informação. 3. Teoria da Computação. I. Queiroz, Ruy José Guerra Barreto de (orientador). I. Título.
Ciênciada Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título “Criptografia Homomórfica Aplicada Ao Voto Eletrônico” orientada pelo Prof. Ruy José Guerra Barretto de Queiroz e aprovada pela Banca Examinadora formada pelos professores:
________________________________________________ Prof. Carlos André Guimarães Ferraz
Centro de Informática / UFPE
_________________________________________________ Prof. Diego de Freitas Aranha
Instituto de Computação / UNICAMP
_______________________________________________ Prof. Ruy José Guerra Barretto de Queiroz
Centro de Informática / UFPE
Visto e permitida a impressão. Recife, 06 de junho de 2014.
___________________________________________________ Profa. Edna Natividade da Silva Barros
Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.
Agradecimentos
Antes de agradecer a qualquer pessoa, quero agradecer a Deus e ao Senhor Jesus Cristo, por ter me dado forças e discernimento para concluir esse Mestrado e nunca ter me deixado desistir.
A minha querida esposa Solange e aos meus filhos, Gabriel e Maria Eduarda que são verdadeiras bençãos de Deus. Obrigado pela compreensão nas minhas ausencias.
Aos meus queridos país Rita e José pelo incentivo e força.
Aos meus irmãos Cláudio, Cristini e Cláudia, também pelo incentivo.
Ao IF Sertão-PE e a todos companheiros do colegiado de informática por oportunizar este momento na minha vida.
A UFPE e o Centro de Informática, na pessoa da Profª Edna que pacientemente nos atendeu durante todo o programa MINTER-PETROLINA. Obrigado pela oportunidade e por toda a estrutura oferecida para que eu pudesse concluir meu trabalho.
Aos professores do CIn, em especial ao meu orientador Ruy Queiroz por compartilhar o conhecimento, pela paciência e ajuda durante todo o processo de desenvolvimento do trabalho.
E a todos aqueles que ajudaram diretamente ou indiretamente para que eu chegasse até o fim dessa jornada.
“Talvez não tenha conseguido fazer o melhor, mas lutei para que o melhor fosse feito. Não sou o que deveria ser, mas Graças a Deus, não sou o que era antes”.
Resumo
A democracia representativa depende do planejamento e da execução adequada de uma eleição. Requisitos de segurança e restrições rigorosas são impostas na tentativa de evitar resultados duvidosos e fraudes dos mais variados tipos. Sistemas de votação eletrônica têm sido introduzidos visando mitigar os problemas associados aos métodos tradicionais. No entanto, a segurança desses sistemas ainda é insuficiente, principalmente, no que diz respeito à privacidade do eleitor e a verificabilidade fim-a-fim do voto. Nos últimos anos, melhorias nos sistemas de votação têm sido propostas a fim de atender a esses requisitos. Muitas propostas são baseadas nos fundamentos matemáticos rígidos fornecidos por métodos criptográficos. Neste cenário, surge a encriptação completamente homomórfica, o Santo Graal da criptografia moderna, sugerida pela primeira vez em 1978 por Rivest, Adleman e Dertouzos. O principio fundamental da criptografia homomórfica é a computação em dados encriptados. De lá para cá, sistemas de votação foram desenvolvidos com o uso de esquemas parcialmente homomórficos alegando favorecer a privacidade e a verificabilidade. No entanto, em 2009 Gentry propôs o primeiro método matemático para a encriptação completamente homomórfica trazendo novas perspectivas para aplicação desse método criptográfico. Assim, esta pesquisa teve como objetivo analisar e categorizar através de mapeamento sistemático, relatos de experiências e publicações científicas, para identificar elementos de criptografia homomórfica que compõem as abordagens de apoio à privacidade e a verificabilidade fim-a-fim do voto, bem como traçar uma perspectiva para a encriptação completamente homomórfica no voto eletrônico. Foram analisados 815 estudos, dos quais 13 foram selecionados e categorizados de acordo com as questões de pesquisa. Após análise, foi possível perceber que a privacidade e a verificabilidade do voto são fornecidas pela combinação de mecanismos criptográficos e não criptográficos. A eficiência dos sistemas baseados em tecnologia homomórfica é um desafio.
Palavras Chaves: Criptografia Homomórfica. Mapeamento Sistemático. Privacidade.
Abstract
Representative democracy depends on the proper planning and execution of an election. Safety requirements and stringent restrictions are imposed in an attempt to avoid spurious results and fraud of all kinds. Electronic voting systems have been introduced to mitigate the problems associated with traditional methods. However, the security of these systems is still insufficient, especially with regard to privacy of the voter verifiability and end-to-end voting. In recent years improvements in voting systems have been proposed to meet these requirements. Many proposals are based on hard mathematical foundations provided by cryptographic methods. In this scenario, fully homomorphic encryption, the holy grail of modern cryptography, first suggested in 1978 by Rivest, Adleman and Dertouzos arises. The fundamental principle of homomorphic encryption computing is encrypted data. Since then, voting systems were developed using partially homomorphic schemes claiming to favor privacy and verifiability, however, in 2009 Gentry proposed the first mathematical method for fully homomorphic encryption bringing new perspectives to apply this cryptographic method. Thus, this research aims to analyze and categorize through systematic mapping, experience reports and scientific publications, to identify elements that compose homomorphic encryption approaches to support privacy and verifiability end- to-end voting, and draw a perspective to fully homomorphic encryption on electronic voting. 815 studies, of which 13 were selected and categorized according to the research questions were analyzed. After analysis, it was revealed that privacy and verifiability of voting are provided by a combination of cryptographic and non-cryptographic mechanisms. The effectiveness of technology based homomorphic systems is a challenge.
KeyWords: Electronic Voting System. e-voting. Homomorphic Encryption. Privacy.
Lista de Figuras
FIGURA 1.1: SISTEMA DE VOTAÇÃO FIM-A-FIM ... 18
FIGURA 1.2: SISTEMA DE VOTAÇÃO CRIPTOGRÁFICO DE ALTO NÍVEL. ... 20
FIGURA 2.1: SISTEMA DE CRIPTOGRAFIA DE CHAVE SIMÉTRICA. ... 31
FIGURA 2.2: SISTEMA DE CRIPTOGRAFIA DE CHAVE PÚBLICA. ... 35
FIGURA 2.3: REPRESENTAÇÃO ESQUEMÁTICA DE UM ALGORITMO PROBABILÍSTICO. ... 38
FIGURA 3.1: DIAGRAMA DAS FASES DE UM ESQUEMA DE VOTAÇÃO. ... 58
FIGURA 3.2: TIPOS DE SISTEMAS DE VOTAÇÃO ELETRÔNICA. ... 60
FIGURA 3.3: URNA DRE USADA NA HOLANDA ATÉ 2006. ... 62
FIGURA 3.4: URNA DRE USADA NO BRASIL EM 2012. ... 62
FIGURA 3.5: URNA VVPAT. ... 63
FIGURA 3.6: MAQUINA VOTAR USADA NA ARGENTINA EM 2010. ... 64
FIGURA 4.1: ESTUDOS RETORNADOS. ... 84
FIGURA 4.2: PARTICIPAÇÃO DOS MOTORES E BUSCAS MANUAIS NOS ESTUDOS SELECIONADOS. ... 87
FIGURA 4.3: EVOLUÇÃO TEMPORAL DE PUBLICAÇÕES. ... 88
FIGURA 4.4: ESQUEMAS APLICADOS EM VOTO ELETRÔNICO. ... 90
FIGURA 4.5: DESAFIOS IDENTIFICADOS. ... 92
FIGURA 4.6: PROVIMENTO DE PRIVACIDADE E VERIFICABILIDADE. ... 93
FIGURA 4.7: COMPOSIÇÃO DA CÉDULA DE VOTAÇÃO ... 102
FIGURA 4.8: ELEITOR DESTACA PARTE ESQUERDA DA CÉDULA. ... 103
FIGURA 4.9: AUTORIDADE DESTACA A SUPERFÍCIE SCRATH E DESCARTA. ... 103
FIGURA 4.10: RECIBO DE VOTAÇÃO USADO PARA VERIFICAÇÃO APÓS A VOTAÇÃO. ... 103
FIGURA 4.11: PROTOCOLO 2-DNF. ... 112
FIGURA 4.12: PROTOCOLO MALICIOUS-BOB-2-DNF. ... 113
FIGURA 4.13: TELA DE VOTAÇÃO PARA O ELEITOR NO VOTEBOX. ... 116
FIGURA 4.14: FUNÇÃO DE ENCRIPTAÇÃO E DECRIPTAÇÃO DO VOTEBOX. ... 116
FIGURA 4.15: ENCRIPTAÇÃO HOMOMÓRFICA E TÉCNICAS CRIPTOGRÁFICAS E NÃO CRIPTOGRÁFICAS PROVENDO PRIVACIDADE E VERIFICABILIDADE EM SISTEMAS DE VOTAÇÃO ELETRÔNICA ... 130
Lista de Tabelas
TABELA 4.1: RESULTADO DAS RODADAS DE SELEÇÃO DOS ESTUDOS PRIMÁRIOS. ... 86 TABELA 4.2: CATEGORIZAÇÃO DOS ESTUDOS PRIMÁRIOS SELECIONADOS. ... 89 TABELA 4.3: QUANTIFICAÇÃO DA QUALIDADE DOS ESTUDOS PRIMÁRIOS ... 96
Lista de Quadros
QUADRO 2.1: LISTA DE ESQUEMAS PARCIALMENTE HOMOMÓRFICOS. ... 47
QUADRO A1: STRING DE BUSCA PARA A QUESTÃO CENTRAL DE PESQUISA ... 168
QUADRO A2: CRITÉRIOS DE INCLUSÃO DE ESTUDOS ... 169
Lista de Símbolos
Zq Grupo finito de inteiros de ordem q.
|| Concatenação de string de bits.
(pk, sk) ← KeyGen(1k) pk e sk são selecionados aleatoriamente de um conjunto k bits.
≡ Congruência.
Enc(m,k) Encriptação do purotexto m sob a chave k.
Dec(c,k) Decriptação do cifrotexto c sob a chave k. Φ(N) Função totiente de Euler que fornece o
tamanho de Zn* de inteiros módulo n.
O(nk) Notação assintótica (é um processo assintótico para descrever o comportamento de limites, isto é, o comportamento do sistema quando a entrada tende ao infinito).
Principais Abreviações
Dec Decriptação.
desp Desprezível.
DRE Direct Recording Eletrônics (Registro Eletrônico
Direto).
DRE-VVPAT Direct Recording Electronic System-Voter Verified. Paper Audit Trail.
DRE-E2E Direct Recording Electronic End-To-End.
EML Election Markup Language.
Enc Encriptação.
FHE Fully Homomorphic Encryption (Encriptação Completamente Homomórfica).
IND Indistinguível.
mod Operação modular.
MS Mapeamento Sistemático.
PDA Personal Digital Assistants.
PKCS Public-key Cryptosystem.
PIN Personal Identification Number.
PPT Probabilistic Polynomial Time.
RFID Radio-Frequency Identification.
RS Revisão Sistemática.
SMS Short Message Service.
SHE Somewhat Homomorphic Encryption (Encriptação
Parcialmente Homomórfica). SVE Sistema de Votação Eletrônico.
NIZK Non-Interactive Zero Knowledge (Prova de Conhecimento Zero Não Interativa).
Sumário
1. INTRODUÇÃO ... 14 1.1 CONTEXTO ... 14 1.2 PROBLEMA DE PESQUISA ... 23 1.3 PERGUNTA DE PESQUISA ... 23 1.4 HIPÓTESE ... 23 1.5 OBJETIVOS ... 24 1.5.1 Geral ... 24 1.5.2 Específicos ... 24 1.6 METODOLOGIA ... 251.7 CONTRIBUIÇÕES DESTE TRABALHO ... 26
1.8 ESTRUTURA DA DISSERTAÇÃO ... 26
2. PRIMITIVAS CRIPTOGRÁFICAS ... 29
2.1 INTRODUÇÃO À CRIPTOGRAFIA ... 29
2.2 CRIPTOGRAFIA MODERNA ... 32
2.2.1 Criptografia de Chave Pública ... 33
2.2.2 Encriptação Probabilística e Determinística ... 37
2.2.3 Funções de Hash ... 38
2.2.4 Noções de Segurança ... 39
2.3 CRIPTOGRAFIA HOMOMÓRFICA ... 43
2.3.1 Criptografia Parcialmente Homomórfica ... 45
2.3.2 Criptografia Completamente Homomórfica de Gentry ... 48
2.4 RESUMO ... 49
3. INTRODUÇÃO AO VOTO ELETRÔNICO ... 50
3.1 VOTO ELETRÔNICO:ASPECTOS TEÓRICOS ... 50
3.1.1 Descrição do Modelo de Votação ... 50
3.1.2 Estilos de Voto ... 53
3.1.3 Voto Eletrônico ... 54
3.1.4 Tipos de Sistemas de Votação Eletrônica ... 58
3.2 VOTO ELETRÔNICO E CRIPTOGRAFIA ... 67
3.2.1 Requisitos de Segurança Providos por Criptografia ... 67
3.2.2 Mecanismos de Segurança Providos por Criptografia... 76
3.3 RESUMO ... 82
4. ENCRIPTAÇÃO HOMOMÓRFICA E VOTO ELETRÔNICO: RESULTADOS ... 83
4.1 EXTRAÇÃO E ANÁLISE DOS DADOS ... 83
4.2 ANÁLISE DAS EVIDÊNCIAS ... 88
4.2.1 Esquemas Homomórficos Aplicados ao Voto Eletrônico ... 89
4.2.2 Desafios Identificados ... 90
4.2.3 Provimento de Privacidade e Verificabilidade ... 92
4.2.4 FHE e o Voto Eletrônico ... 93
4.3 ANÁLISE QUALITATIVA ... 94
4.3.1 Esquema de Votação Incoercível e Recibo Livre de Comprovação Com Criptossistema de Chave Pública Distribuída ElGamal ... 97
4.3.2 SVE Com Apuração Homomórfica, Cédulas Com Código de Barras 2D e Scratch OFF Auditável ... 100
4.3.3 SVE Remoto Sem Criptografia Durante a Votação ... 105
4.3.4 Eleições Com Escrita em Cédulas e Propriedades Homomórficas ... 107
4.3.5 SVE Com 2-DNF ... 110
4.3.6 SVE Com Sistema de Desafio de Votação ... 113
4.3.7 STAR-Vote ... 118
4.3.8 SVE Remoto de Auditoria Aberta, Privacidade Eterna, Base Homomórfica e Canal Privado ... 121
4.3.9 Comparação Entre os Estudos ... 124
5. CONSIDERAÇÕES FINAIS ... 132
5.1 DESAFIOS E AMEAÇAS A VALIDADE DO TRABALHO ... 132
5.2 CONCLUSÕES ... 133
5.3 TRABALHOS FUTUROS ... 138
6. REFERÊNCIAS ... 142
A. PROTOCOLO DE MAPEAMENTO SISTEMÁTICO ... 158
A.1 INTRODUÇÃO ... 158
A.2 PLANEJAMENTO ... 161
A.2.1EQUIPE ... 161
A.2.2ESCOPO ... 162
A.2.3QUESTÕES DE PESQUISA E HIPÓTESES ... 163
A.2.3.1 HIPÓTESE BÁSICA ... 164
A.2.3.1.1 HIPÓTESES SECUNDÁRIAS... 164
A.2.4FONTES DE PESQUISA ... 165
A.2.4.1.1 CRITÉRIOS ADOTADOS PARA SELEÇÃO DAS FONTES ... 165
A.2.4.2 RESTRIÇÕES... 166
A.2.5IDIOMA ... 167
A.2.6ESTRATÉGIAS DE BUSCA ... 167
A.2.6.1 STRING E TERMOS DE BUSCA ... 167
A.2.6.2 BUSCA MANUAL ... 169
A.2.7CRITÉRIOS DE INCLUSÃO E EXCLUSÃO ... 169
A.2.8PROCEDIMENTOS DE SELEÇÃO ... 170
A.2.9PROCESSO DE EXTRAÇÃO DOS DADOS ... 171
A.2.10 PROCESSO DE SÍNTESE DOS DADOS ... 171
A.2.10.1 ANÁLISE QUANTITATIVA ... 172
A.2.10.2 ANÁLISE QUALITATIVA E CRITÉRIOS DE AVALIAÇÃO ... 172
A.2.11 RECURSOS UTILIZADOS ... 173
A.2.12 RESUMO ... 173
B. ESTUDOS PRIMÁRIOS ... 174
C. ESTUDOS EXCLUÍDOS ... 176
D. EVIDÊNCIAS COLETADAS ... 184
D.1 ESQUEMAS HOMOMÓRFICOS APLICADOS AO VOTO ELETRÔNICO ... 184
D.2 DESAFIOS IDENTIFICADOS ... 188
D.3 PROVIMENTO DE PRIVACIDADE E VERIFICABILIDADE ... 191
D.4 FHE E O VOTO ELETRÔNICO ... 194
E. FORMULÁRIOS USADOS NESTA DISSERTAÇÃO ... 196
F. CRIPTOSSISTEMAS ELGAMAL E PAILLIER ... 198
F.1 ELGAMAL ... 198
Capítulo
1
1. Introdução
Este capítulo relata as o contexto as principais motivações para realização deste trabalho, problema de pesquisa, pergunta de pesquisa, hipótese, lista os objetivos de pesquisa almejados, metodologia, contribuições deste trabalho e, finalmente, mostra como está estruturado o restante da presente dissertação.
1.1 Contexto
Dentre as tarefas mais importantes de qualquer sistema democrático, estão o planejamento e a execução de uma eleição que designa um sucessor ou simplesmente a vontade da maioria sobre um tema. Não surpreendentemente, essas também são duas de suas tarefas mais desafiadoras, cujos requisitos e restrições são muito rigorosas. Assim, os resultados duvidosos, os métodos engenhosos de fraude foram anotados ao longo da história das votações, cobrindo desde a manipulação de máquinas eletrônicas, cidadãos mortos que misteriosamente votaram e formas variadas para coação de eleitores.
Cada vez mais Sistemas de Votação Eletrônica (SVE) são introduzidos, ou testados em vários países, que em alguns casos, estão disponíveis em rede. Isto se dá devido aos seus aspectos diferenciados em relação aos métodos tradicionais, pois reduzem o tempo entre o término e os resultados finais da votação; eliminam erros de preenchimento de cédulas; possuem em geral interfaces de áudio para
deficientes visuais; a gestão da cédula é bastante simplificada usando alguns tipos de cartões de memória em vez de papel; provê a Gravação Direta Eletrônica (GDE) que proporciona economia em relação aos custos associados com a produção das cédulas de papel; melhora o fator usabilidade, permitindo que idosos e pessoas com baixo nível de instrução possam proferir seu voto com maior facilidade e; possibilita votações à distância (FÉ, 1996; SARAH et al., 2008; COSTA, 2008; AL-SHAMMARI et al., 2012 ).
No entanto, os benefícios relacionados à segurança têm sido difíceis de perceber (ARANHA et al., 2013; HALDERMAN et al., 2014; BUNDES VERFASSUNGS-GERICHT, 2009; TEC, 2007; BOWEN, 2007; TALBI et al., 2008). Pesquisadores (ARANHA et al., 2013; COSTA. 2008; BRENNAN CENTER FOR JUSTICE, 2006; BISHOP e WAGNER, 2007) indicam que o fato da maioria dos SVEs serem proprietários impede a realização de auditorias adequadas. Uma diferença importante em relação às eleições tradicionais baseadas em papel é a falta de transparência, pois tais sistemas contam com a confiabilidade: do software que é usado para coletar, registrar e contar os votos; do processo de envio dos votos; dos servidores que armazenam os votos; além dos indivíduos que gerenciam tais servidores (KREMER et al., 2010).
Na prática, é muito difícil estabelecer o nível de confiança aceitável. Algumas possíveis falhas e inconsistências apresentadas pelos SVEs são relacionadas por Brennan Center For Justice (2006) como: programas de computador com código malicioso ou corrompido; equipamentos de votação operacionalmente inadequados ou descalibrados; indisponibilidade do sistema; desativação de recurso de ajuda ao eleitor; ataques (KOHNO et al., 2004; VIOMUNDO, 2012) aos sistemas de comunicação; e alterações intencionais ou acidentais no servidor de armazenamento.
Trazendo para o cenário brasileiro em 2012, Aranha e um grupo de pesquisadores apresentaram um relatório com um conjunto de vulnerabilidades no
software da urna eletrônica brasileira. Os pesquisadores conseguiram recuperar de
registrados na urna eletrônica (ARANHA et al., 2013). Diversas fragilidades adicionais no software ou no processo de desenvolvimento foram detectadas. Os autores ressaltaram a necessidade de maiores cuidados quanto à proteção do sigilo do voto, bem como da adição de mecanismos que permitam a verificação do voto. Atualmente, o Brasil é o único país no mundo que permanece a adotar sistema de votação eletrônica sem verificação independente do resultado.
Neste sentido, percebe-se que há uma grande demanda por aplicações com técnicas de engenharia apropriadas, que proporcionem a construção correta de SVEs de maneira confiável para mitigar algumas das consequências e riscos associados a seu uso. Assim, o desafio é projetar sistemas que proporcionem um bom nível de precisão do resultado, enquanto que, ao mesmo tempo, garantam o sigilo e a integridade dos votos, sendo estes, requisitos de qualquer eleição pública (COSTA. 2008; BRENNAN CENTER FOR JUSTICE, 2006; BISHOP e WAGNER, 2007). Em contrapartida, podem surgir conflitos, pois na ausência da exigência do sigilo, uma simples apresentação dos votos lançados traria a precisão, porém revelaria como os eleitores votaram. Por outro lado, no caso em que o sigilo é importante, surge o problema de obter um resultado preciso e independente das entradas (IAVOSS, 2007).
Propostas de SVEs com verificabilidade fim-a-fim buscam reduzir drasticamente a necessidade de confiança nestes sistemas. Cada eleitor passa a ter garantias que o seu voto será registrado conforme proferido, permitindo a qualquer pessoa verificar se todos os votos registrados foram incluídos corretamente na contagem final. Surpreendentemente, geralmente através do uso de criptografia, esses sistemas podem também proporcionar privacidade dos votos. SVEs fim-a-fim fazem isso sem a introdução de qualquer perigo de "influência indevida" dos eleitores, como a compra de votos e coerção. Além disso, esses sistemas oferecem todas estas propriedades, sem depender da confiança em determinadas pessoas, processos manuais, dispositivos ou softwares (IAVOSS, 2007).
Muitas pesquisas têm sido desenvolvidas na busca por protocolos que atendam de maneira satisfatória os requisitos da verificabilidade (COHEN e
FISCHER, 1985; BENALOH, 1987; NEFF, 2001; BENALOH, 2006; BACKES et al., 2008; SMYTH et al., 2010). O conceito de verificabilidade em eleições surgiu na literatura acadêmica em (COHEN e FISCHER, 1985; BENALOH, 1987; SAKO e KILIAN, 1994; NEFF, 2001; JUELS et al., 2005; FUJIOKA et al., 1992), onde três aspectos relevantes são levantados por Kremer et al., (2010):
• Verificabilidade Individual: o eleitor pode verificar se o seu voto foi incluído no quadro de avisos corretamente, isto é, se a integridade de sua intenção foi preservada.
• Verificabilidade Universal: qualquer pessoa pode verificar se o resultado da eleição corresponde às cédulas publicadas no quadro de avisos.
• Verificabilidade da Elegibilidade: qualquer pessoa pode verificar se cada voto na eleição foi lançado por um eleitor válido havendo, no máximo, um voto por eleitor.
Como consequência imediata, não é necessário ter privilégio para verificar a eleição, ou seja, não está restrita a funcionários eleitorais. Em um cenário verificável fim-a-fim, qualquer pessoa pode checar as entradas e as saídas de contra provas matemáticas. Os detalhes dos processos internos tornam-se irrelevantes, e a verificabilidade torna-se universal, conforme ilustrado na Figura 1.1. Na figura, apenas dois pontos de controle são necessários. Em (1) um recibo é obtido a partir da interação do eleitor com a máquina de votação, e por sua vez comparado com o quadro de avisos público, e verificado pelo eleitor quanto à sua exatidão. (2) Qualquer observador verifica que somente os eleitores aptos votaram e que todas as ações exibidas no quadro de avisos são válidas.
Neste modelo de sistema de votação, a segurança pode ser obtida por meio do uso de criptografia que irá prover serviços (CaaS – Cryptography as a
Service) relacionados aos requisitos da verificabilidade fim-a-fim em SVEs. Uma
sobre bases matemáticas sólidas, garantindo os mecanismos nece democracia (RYAN, 2007
Figura 1.1: Sistema de votação fim Fonte: Baseado em Adida (2006).
Para Adida (2006), SVEs baseados em criptografia trazem de volta os antigos sistemas de votação de outrora, onde todos os cidadãos votavam publicamente, e onde a contagem dos votos também ocorria em público para que todos pudessem auditar.
sofisticadas e de difícil
BENALOH, 1987; CHAUM, 2004; PENG SVEs por oferecer:
• sigilo do voto, e
• prova de conhecimento
processo de escrutínio, isto é, da abertura dos votos.
Em relação aos sistemas eleitorais, Benaloh (2006), de métodos criptográficos em duas fases:
bases matemáticas sólidas, garantindo os mecanismos nece democracia (RYAN, 2007; MORAIS e DAHAB, 2012).
Figura 1.1: Sistema de votação fim-a-fim. Adida (2006).
Para Adida (2006), SVEs baseados em criptografia trazem de volta os antigos sistemas de votação de outrora, onde todos os cidadãos votavam publicamente, e onde a contagem dos votos também ocorria em público para que todos pudessem auditar. Nesta linha, protocolos criptográficos usam técnicas sofisticadas e de difícil compreensão para não especialistas (NEFF, 2001; 1987; CHAUM, 2004; PENG et al., 2005), no entanto, favorecem os
sigilo do voto, e
prova de conhecimento-zero ao fornecer auditoria pública no processo de escrutínio, isto é, da abertura dos votos.
Em relação aos sistemas eleitorais, Benaloh (2006), classifica de métodos criptográficos em duas fases:
bases matemáticas sólidas, garantindo os mecanismos necessários à
Para Adida (2006), SVEs baseados em criptografia trazem de volta os antigos sistemas de votação de outrora, onde todos os cidadãos votavam publicamente, e onde a contagem dos votos também ocorria em público para que rotocolos criptográficos usam técnicas especialistas (NEFF, 2001; ), no entanto, favorecem os
zero ao fornecer auditoria pública no processo de escrutínio, isto é, da abertura dos votos.
1. Cada eleitor prepara e lança o voto encriptado contendo a sua intenção. Uma vez encriptada, a cédula e até mesmo a identidade do eleitor que lançou o voto podem ser tornados públicos a partir da decriptação.
2. A segunda situação considera que, uma vez que todos os eleitores participantes votaram, o conjunto de cédulas criptografadas é processado de forma a produzir um registro e uma prova de que o registro corresponde ao conjunto de cédulas. Em alguns casos, as cédulas originais decifradas são reveladas, mas as associações individuais entre os votos revelados e as identidades dos eleitores são removidas através de técnicas de mix-nets (CHAUM, 1981).
Na figura 1.2, é possível perceber o funcionamento de um SEV fim-a-fim com a aplicação de técnicas criptográficas. Os eleitores lançam o voto criptografado que é publicado em um quadro de avisos, onde os nomes dos eleitores podem ser verificados por qualquer pessoa. Em seguida é aplicado o embaralhamento, por
mix-nets, promovendo o anonimato do voto e então é realizada a decriptação,
fornecendo provas ao longo do caminho de forma que qualquer observador possa verificar. Por fim, os resultados são então publicados para que todos possam ver.
Muitas pesquisas têm sido desenvolvidas na busca por protocolos que atendam de maneira satisfatória os requisitos da verificabilidade (COHEN e FISCHER, 1985; BENALOH, 1987; NEFF, 2001; BENALOH, 2006; BACKES et al., 2008; SMYTH et al., 2010). As propostas dos autores envolvem técnicas criptográficas e utilizam técnicas amplamente conhecidas, embora com grau elevado de complexidade.
No entanto, os protocolos mais eficientes são categorizados por suas abordagens (HIRT e SACO, 2000) em três tipos: sistemas que utilizem mix-nets (CHAUM, 1981; PARK et al.,1993; SAKO e KILIAN, 1995; OGATA et al., 1997; JACKOBSON, 1998); esquemas de uso de assinaturas cegas (blind signatures) (FUJIOKA et al.,1992) e sistemas que utilizem criptografia homomórfica (COHEN e FISCHER, 1985; BENALOH e YUNG, 1986, BENALOH, 1987, BENALOH e
TUINSTRA, 1994; SAKO e KILIAN, 1994). A adequação de cada um destes três tipos aos SVEs varia de acordo com as condições sob as quais devem ser aplicados.
Dentre os tipos ou técnicas apresentadas, podemos destacar a encriptação homomórfica que é uma forma
tipos específicos de computaç
um resultado encriptado que é o cifrotexto do resultado das operações realizadas no purotexto2. Por exemplo, usando uma única chave pública é possível gerar encriptações de x e y e, então, obter a encriptação de
informação sobre x ou y ← c1 + c2. Dessa forma, é po
e y, isto é, dos votos proferidos pelos
atuais fazem o uso de esquemas criptográficos parcialmente homomórficos, em vista que esquemas completamen
de aplicações práticas. Ressalte
número e/ou no tipo de operações matemáticas realizadas.
Figura 1.2: Sistema de votação criptográfico de alto nível.
1 Cifrotexto é o mesmo que texto encriptado, ou seja, é um texto de uma mensagem digital com
informação ilegível.
2 Purotexto é o inverso do cifro texto. Um purotexto é um texto de uma mensagem digital com
informação legível.
; SAKO e KILIAN, 1994). A adequação de cada um destes três tipos aos SVEs varia de acordo com as condições sob as quais devem ser
Dentre os tipos ou técnicas apresentadas, podemos destacar a encriptação homomórfica que é uma forma de encriptação que dá possibilidade a tipos específicos de computações serem realizadas com cifrotexto
um resultado encriptado que é o cifrotexto do resultado das operações realizadas no Por exemplo, usando uma única chave pública é possível gerar e, então, obter a encriptação de x + y sem revelar qualquer
ou de x + y. Assim, c1 ← Ek(m1) e c2 ← E
. Dessa forma, é possível preservar o sigilo e a privacidade das entradas dos votos proferidos pelos eleitores. Os protocolos de votação eletrônica atuais fazem o uso de esquemas criptográficos parcialmente homomórficos,
em vista que esquemas completamente homomórficos ainda permitem a construção Ressalte-se que esquemas parciais possuem limitações no número e/ou no tipo de operações matemáticas realizadas.
Figura 1.2: Sistema de votação criptográfico de alto nível.
Cifrotexto é o mesmo que texto encriptado, ou seja, é um texto de uma mensagem digital com Purotexto é o inverso do cifro texto. Um purotexto é um texto de uma mensagem digital com ; SAKO e KILIAN, 1994). A adequação de cada um destes três tipos aos SVEs varia de acordo com as condições sob as quais devem ser
Dentre os tipos ou técnicas apresentadas, podemos destacar a ão que dá possibilidade a s com cifrotexto1, a fim de se obter um resultado encriptado que é o cifrotexto do resultado das operações realizadas no Por exemplo, usando uma única chave pública é possível gerar sem revelar qualquer ← Ek(m2), em que, c3 ssível preservar o sigilo e a privacidade das entradas x
eleitores. Os protocolos de votação eletrônica atuais fazem o uso de esquemas criptográficos parcialmente homomórficos, tendo te homomórficos ainda permitem a construção possuem limitações no
Cifrotexto é o mesmo que texto encriptado, ou seja, é um texto de uma mensagem digital com Purotexto é o inverso do cifro texto. Um purotexto é um texto de uma mensagem digital com
Fonte: Baseado em Adida (2006).
Os primeiros protocolos de votação baseados em criptografia homomórfica, foram propostos primeiro por Cohen e Fischer (1985) e Benaloh (1986). Pode-se dizer que, nesses esquemas os votos são criptografados ou como “0” para o candidato X ou “1” para o candidato Y. Em seguida, todos os votos codificados resultantes são homomorficamente adicionados, um de cada vez, para se obter uma única encriptação do número de votos para o candidato X. Os administradores podem decriptar o valor do resultado para descobrir a quantidade de votos para o candidato X. A diferença entre o número total de votos, e os votos proferidos para o candidato X é, então, a quantidade de votos proferidos para o candidato Y. A abordagem pode ser estendida para mais de duas opções de codificação de vários "contadores" dentro de um único texto cifrado. Além disso, uma prova de conhecimento-zero é normalmente necessária para cada voto apresentado, a fim de assegurar que cada voto seja verdadeiramente a encriptação de “0” ou “1”, e não, por exemplo, 111000 (ADIDA, 2006). Caso contrário, um eleitor malicioso poderia facilmente limpar a contagem e modificar os resultados da votação.
Por outro lado, os recentes avanços na criptografia completamente homomórfica tem despertado o interesse da comunidade científica. A criptografia completamente homomórfica é considerada um dos Santos Graals da criptografia moderna. Em poucas palavras, um esquema completamente homomórfico permite a avaliação de programas arbitrariamente complexos em dados criptografados. O problema foi sugerido por Rivest, Adleman e Dertouzos em 1978. No entanto, a primeira proposta de método matemático para solucionar o problema só ocorreu trinta anos depois, com o trabalho de descoberta de Gentry (2009 e 2010), embora tenha havido um progresso significativo na criptografia parcialmente homomórfica (PAILLIER, 1999, BONEH et al., 2005; ISHAI E PASKIN, 2007).
A construção de algoritmos eficientes para obtenção de homomorfismos secretos – privacy homomorphisms, como apresentado por Rivest, Adleman e Dertouzos (1978), é um objetivo muito cobiçado da criptografia moderna, por permitir
a construção de killer applications3 (MORAIS e DAHAB, 2012). Estas aplicações podem ser usadas para prover criptografia como um serviço (Cryptography as a
Service - CaaS) relacionadas aos SVEs como, por exemplo:
• Banco de dados encriptados, o SVE manipula os votos encriptados retornando informações que permitem eleitores e observadores conferirem os resultados;
• Disco rígido encriptado, semelhante ao caso anterior, o SVE não consegue obter informação confidencial do disco, mas consegue manipulá-lo;
• Mecanismos de busca encriptados, permitem buscas individuais de votos lançados sem revelar informação sobre o que está sendo buscado;
• Computação sobre dados encriptados, permite delegar o processamento de um programa ao SVE, que computa sobre os dados encriptados e, portanto não tem acesso à informação sigilosa (MORAIS e DAHAB, 2012).
Tais aspectos motivaram o interesse em investigar formas de aplicação da encriptação homomórfica em SVEs, de maneira que não se restrinja unicamente à escolha de ocupantes de cargos públicos. Tendo em vista que a Internet abre novos caminhos e possibilita a interação e a integração de grupos distantes fisicamente, rompendo fronteiras, trazendo novos cenários para uma eleição através de sistemas disponíveis online, a exemplo do Helios Voting4 onde são realizadas votações para a escolha da empresa do ano, ou até mesmo o melhor título para um livro.
Desta forma, este estudo propõe uma análise sobre a aplicação da encriptação homomórfica em SVEs como forma de garantir a privacidade e a verificabilidade fim-a-fim do voto, tendo em vista o novo cenário proposto pela
3 Disponível em: <http://www.macmillandictionary.com/dictionary/british/killer-app>. Acesso em: 01 de
mai de 2013.
encriptação completamente homomórfica. Para tal, será realizado um mapeamento sistemático acerca do tema, a fim de verificar a aplicabilidade da encriptação homomórfica e completamente homomórfica nos sistemas de votação eletrônica com verificabilidade fim-a-fim e que, ao mesmo tempo, garanta o sigilo do voto.
1.2 Problema de Pesquisa
É possível perceber na literatura propostas de sistemas de votação eletrônica que utilizam o esquema de encriptação homomórfica, porém não fica claro em quais aspectos, benefícios e dificuldades cercam a sua aplicação no que diz respeito à privacidade do eleitor, bem como a verificabilidade do voto. Partindo das novas descobertas sobre encriptação completamente homomórfica, surgem também indagações de como este novo modelo pode contribuir para os requisitos de segurança do voto eletrônico e o que pode oferecer. Diante do exposto até aqui é que formulamos a pergunta de pesquisa a seguir.
1.3 Pergunta de Pesquisa
A utilização da criptografia homomórfica no voto eletrônico promove melhorias nos requisitos de segurança, especificamente, na privacidade do eleitor e na verificabilidade do voto, bem como pode trazer novas perspectivas para eleições baseadas nesse modelo criptográfico?
1.4 Hipótese
Para esta pesquisa, a partir do contexto, problema apresentado e pergunta de pesquisa chegou-se à seguinte hipótese:
Hipótese básica
Com a criptografia homomórfica (de RIVEST, ADLEMAN E DERTOUZOS, 1978; GENTRY, 2009, 2010), é possível combinar protocolos com ou sem criptografia, de forma a obter o sigilo e a verificabilidade do voto em qualquer fase de uma eleição.
Hipóteses secundárias
• A criptografia homomórfica permite computar votos criptografados garantindo o sigilo dos votos lançados em um SVE e, sem revelar a escolha do eleitor.
• A criptografia homomórfica aliada a outras técnicas criptográficas e mecanismos provê a verificabilidade fim-a-fim do voto preservando a privacidade do eleitor.
• Com a criptografia completamente homomórfica é possível ter eleições com bom nível de privacidade e verificabilidade fim-a-fim do voto, por meio da implementação de mecanismos de busca em votos encriptados.
1.5 Objetivos
1.5.1 Geral
Analisar e categorizar, através de mapeamento sistemático, relatos de experiências e publicações científicas, com o propósito de identificar elementos de criptografia homomórfica que compõem as abordagens de apoio à privacidade e à verificabilidade fim-a-fim do voto do ponto de vista de pesquisadores no contexto das eleições por meio de sistemas de votação eletrônica.
1.5.2 Específicos
• Categorizar a aplicação da criptografia homomórfica no voto eletrônico;
• Identificar a importância da criptografia homomórfica para os sistemas de votação eletrônica;
• Investigar estratégias, ferramentas, tecnologias e processos que envolvam criptografia homomórfica em sistemas de votação eletrônica;
• Identificar os desafios da aplicação de criptografia homomórfica ao voto eletrônico;
• Verificar aplicabilidade da criptografia homomórfica como forma de garantir privacidade e verificabilidade fim-a-fim do voto;
• Favorecer a popularização da inserção de técnicas criptográficas no voto eletrônico;
• Traçar perspectiva para aplicação da criptografia completamente homomórfica em sistemas de votação eletrônica.
1.6 Metodologia
Como será adotada a metodologia de mapeamento sistemático um tipo de revisão sistemática para esta pesquisa, vale ressaltar os seus propósitos, indicados a seguir:
(...) “Uma revisão literária sistemática é um meio de identificar, avaliar e interpretar todas as pesquisas disponíveis relevantes a uma determinada questão de pesquisa, ou área de um tópico, ou fenômeno de interesse. Estudos individuais que contribuem para uma revisão sistemática são chamados estudos primários; uma revisão sistemática é uma forma de estudo secundário."(...) (KITCHENHAM e CHARTERS, 2007).
Percebe-se, que a Revisão Sistemática se propõe a bem mais que somente endossar a revisão de literatura desta pesquisa, o que implica num trabalho de maior extensão e com maior grau de dificuldade para sua realização. De acordo com Brereton et al. (2007), existem razões relevantes para se utilizá-la, e que merecem ser destacadas:
• Identificar e analisar as soluções propostas para resolver os problemas levantados;
• Analisar os métodos de pesquisa usados para investigar as soluções propostas;
• Prover um framework para o posicionamento de novas atividades de pesquisa;
• Identificar lacunas nas atuais pesquisas.
Além disso, analisando os diversos estudos disponíveis de um determinado tema, esta permite verificar evidências empíricas que suportam ou refutam hipóteses teóricas, permitindo ainda a elaboração de novas hipóteses.
Aplicada ao escopo deste trabalho, o mapeamento sistemático fornecerá uma forma estruturada de pesquisa e catalogação do material disponível sobre criptografia homomórfica em Sistemas de Votação Eletrônica, com suas particularidades. Através desta metodologia, este trabalho poderá servir também como base para futuras pesquisas, mostrando as possíveis lacunas da área. O protocolo aplicado para a condução do mapeamento encontra-se no apêndice A. Os resultados dos procedimentos adotados podem ser conferidos nos capítulos 4 e 5.
1.7 Contribuições Deste Trabalho
Esta pesquisa traz duas importantes contribuições: primeiro identifica que a encriptação homomórfica por si só não garante a privacidade e a verificabilidade em SVEs com garantias de segurança. A segunda contribuição é a de apontar que não há uma tendência do uso de FHE no voto eletrônico. Os detalhes são apresentados ao longo do trabalho.
Além destas, esta pesquisa identifica elementos criptográficos e não criptográficos que em conjunto com a encriptação homomórfica possibilitam que sistemas de votação possam atender aos requisitos da privacidade para eleitores e da verificabilidade fim-afim.
Não menos importante, esta dissertação visa contribuir para o ensino, a aprendizagem, a prática e a teoria da votação fundamentada em criptografia. Segundo Adida (2006), cada contribuição torna mais útil e realista a aplicação da criptografia na votação eletrônica.
1.8 Estrutura da Dissertação
Este capítulo introdutório apresentou a motivação e o cenário de aplicação das ideias a serem apresentadas nesta dissertação. Estes tópicos serão refinados ao longo dos próximos capítulos. A organização do texto deste trabalho segue a estrutura abaixo:
Capítulo 2 ─ Primitivas Criptográficas: uma série de conceitos criptográficos
importantes para protocolos de votação, incluindo criptografia de chave pública, encriptação parcialmente e completamente homomórfica. Esta seção também utiliza
o resultado de um estudo baseado em pesquisa exploratória para descrever métodos matemáticos concebidos à base da encriptação homomórfica e, dessa forma, empregados como recurso pelos sistemas de votação eletrônica.
Capítulo 3 ─ Introdução ao Voto Eletrônico: descreve os conceitos relacionados
aos sistemas de votação eletrônica que de alguma forma tem relação com o tema da dissertação. Esta seção utiliza o resultado de um estudo baseado em pesquisa exploratória para descrever requisitos de segurança, desejados e necessários, ao funcionamento adequado dos sistemas de votação eletrônica, de forma a prover verificabilidade fim-a-fim, bem como o sigilo do voto.
Capítulo 4 ─ Encriptação Homomórfica e Voto Eletrônico: Resultados:
apresenta os resultados obtidos do mapeamento sistemático através da execução do protocolo definido no apêndice A. Para isso, são apresentadas: a extração e análise dos dados; análise das evidências; análise qualitativa e; a discussão sobre os resultados com os procedimentos realizados.
Capítulo 5 ─ Considerações Finais: contêm as conclusões, os desafios e as
ameaças a validade da pesquisa, contribuições do trabalho, além de indicar possíveis trabalhos futuros.
Referências ─ Este capítulo contempla as referências utilizadas para a construção
desta pesquisa.
Apêndice A ─ Apresenta o protocolo empregado para a realização da revisão
sistemática desta pesquisa.
Apêndice B ─ Apresenta os estudos primários selecionados para coleta das
evidências e buscas das respostas das questões de pesquisa.
Apêndice C ─ Apresenta os estudos excluídos a partir dos critérios de exclusão
definidos no protocolo do mapeamento sistemático.
Apêndice D ─ Apresenta as evidências coletadas a partir dos estudos primários. Apêndice E ─ Apresenta os formulários utilizados nesta dissertação.
Apêndice F ─ Apresenta uma breve descrição dos criptossistemas ElGamal e
Capítulo
2
2. Primitivas Criptográficas
Protocolos de votação para eleições democráticas dependem de inúmeras construções de técnicas criptográficas, bem como de conceitos que norteiam a segurança e relacionados à criptografia. Este capítulo está dividido em três seções e apresenta uma revisão dos conceitos e notações empregadas. A primeira seção é iniciada com conceitos introdutórios de criptografia, além de termos empregados. A seção dois traz definições sobre criptografia moderna e criptografia de chave pública, em seguida uma revisão dos conceitos relacionados a noções básicas de segurança. A seção três traz propriedades de criptossistemas parcialmente homomórficos, tendo em vista que estão presentes em alguns protocolos de votação eletrônica, e por fim a seção três apresenta o principio da encriptação completamente homomórfica. Existem muitas definições formais para criptografia que podem ser encontradas em (GOLDWASSER e BELLARE, 2008; KATZ e LINDELL, 2007; MENEZES, VANSTONE e OORSCHOT, 1996). Este capítulo, em parte, é um resumo dos conceitos mais importantes encontrados nos trabalhos dos autores mencionados.
2.1 Introdução à Criptografia
Por muito tempo a criptografia convencional se preocupou unicamente em garantir a privacidade e a autenticidade da informação. Esquemas criptográficos foram desenvolvidos com o objetivo de garantir estes requisitos na comunicação entre duas partes em um canal público considerado inseguro. Garantir a privacidade significa impedir a extração de qualquer informação de uma mensagem, por um terceiro não autorizado. Já a autenticidade garante ao receptor a legitimidade do remetente e do conteúdo da mensagem.
“We stand today on the brink of a revolution in cryptography.” – “New Directions in Cryptography”, W. Diffie and M. E. Hellman, 1976.”
Como a transmissão das mensagens ocorre pelas redes de computadores, especificamente, a Internet, pode-se considerá-la um canal público. Um canal é considerado público quando a sua segurança é inadequada às necessidades dos seus usuários. Em contrapartida, um canal privado garante que nenhum adversário tenha acesso ao conteúdo da mensagem enviada. Já um canal
untappable é dito fisicamente seguro e garante que nenhum adversário tem acesso
a mensagem enviada. Em uma comunicação, qualquer canal pode ser ameaçado por um terceiro comumente chamado de bisbilhoteiro, adversário ou criptoanalista (DIFFE e HELLMAN, 1976). Um adversário pode atuar de forma passiva apenas monitorando o tráfego dos dados e, assim, ameaçando a confidencialidade dos dados, ou de forma ativa, alterando a transmissão no canal de comunicação e, dessa forma, ameaçando: a integridade, confidencialidade e a autenticidade dos dados.
Ao longo dos últimos trinta anos, técnicas criptográficas têm sido desenvolvidas e aperfeiçoadas a fim de prevenir diferentes incidentes de segurança. Atualmente, sistemas que possuem requisitos como sigilo, autenticação, integridade, não-repúdio e anonimato fazem uso destas técnicas em algum nível. Basicamente, as técnicas criptográficas podem ser divididas em duas categorias: simétricas conhecida como criptografia convencional; e assimétricas. As técnicas podem ser usadas isoladamente ou em conjunto. Ambas as categorias fazem uso de encriptação e decriptação.
A encriptação é a conversão de dados compreensíveis, purotexto, para outra forma, chamada de texto cifrado ou cifrotexto, no qual o texto cifrado não deve ser facilmente compreendido por pessoas não autorizadas. Por outro lado, a decriptação realiza o processo inverso, isto é, converte um cifrotexto em purotexto. Vale ressaltar, que um adversário pode ter acesso aos dados transmitidos em forma de cadeia de bits, no entanto, por está encriptado, o mesmo não será capaz de compreender a comunicação (GOLDREICH, 2004; KATZ e LINDELL, 2007).
Esquemas de encriptação que tem como princípio o compartilhamento de um segredo são conhecidos como sistemas de criptografia de chave privada ou de
chave simétrica (KATZ e LINDELL, 200 três domínios: K, P e C, purotexto e o espaço de c
KeyGen
KeyGen
KeyGen
KeyGen
, , , ,Enc
Enc
Enc
Enc
eDec
Dec
Dec
Dec
. O conjuntomensagem P é denominado esquema de encriptação de chave privada ou então de criptossistema de chave simétrica. No modelo de chave privada, duas entidades compartilham uma única chave
entidades por um canal seguro (KATZ e LINDELL, 200
O modelo da
simétrica. Neste, duas entidades, Alice e Bob desejam comunicar Para isso, antes do inicio d
necessário que Alice apli
que transforma
m
numa mensagem encriptada ou cifrotexto secretak
. Ao receberc
,m
. Considera-se que Alice e Bob sejam entidades equivalentes e que uma terceira entidade, um adversário, possa esem compreender a informação transmitida.
Figura 2.1: Sistema de Criptografia de Chave Fonte: Baseado em Katz e Lindell
Apesar de ser um esquema eficiente, há um problema quanto à distribuição e ao gerenciamento das chaves. Quando um grupo de
necessita comunicar-se entre si,
chaves para tornar possível tal comunicação de quaisquer grupo, ou seja, o gerenciamento das chaves torna
chave simétrica (KATZ e LINDELL, 2007). O modelo de chave privada é definido por , sendo respectivamente o espaço de chaves, o espaço de e o espaço de cifrotextos. Além destes, são definidos três algoritmos:
. O conjunto
ε
= {KeyGen
KeyGen
KeyGen
KeyGen
,Enc,
Enc,
Enc,
Enc,
Dec
Dec
Dec
Dec
}é denominado esquema de encriptação de chave privada ou então de istema de chave simétrica. No modelo de chave privada, duas entidades compartilham uma única chave
k
k
k
k
, que deve ser combinada previamente entre as entidades por um canal seguro (KATZ e LINDELL, 2007).O modelo da Figura 2.1 contempla o uso de um esquema de . Neste, duas entidades, Alice e Bob desejam comunicar
Para isso, antes do inicio do envio da mensagem
m
em purotexto para Bob, Alice aplique uma função (ou algoritmo de encriptação)numa mensagem encriptada ou cifrotexto c, sob a ação da chave , Bob aplica a função de decriptação
Dec
se que Alice e Bob sejam entidades equivalentes e que uma terceira entidade, um adversário, possa escutar a comunicação no canal público, no entanto, sem compreender a informação transmitida.
.1: Sistema de Criptografia de Chave Simétrica. Katz e Lindell (2007)
Apesar de ser um esquema eficiente, há um problema quanto à distribuição e ao gerenciamento das chaves. Quando um grupo de
se entre si, de forma segura
chaves para tornar possível tal comunicação de quaisquer duas pessoas deste grupo, ou seja, o gerenciamento das chaves torna-se difícil (GOLDREICH, 2004; ). O modelo de chave privada é definido por sendo respectivamente o espaço de chaves, o espaço de ifrotextos. Além destes, são definidos três algoritmos:
} com o espaço de
é denominado esquema de encriptação de chave privada ou então de istema de chave simétrica. No modelo de chave privada, duas entidades , que deve ser combinada previamente entre as
contempla o uso de um esquema de chave . Neste, duas entidades, Alice e Bob desejam comunicar-se em segredo. em purotexto para Bob, é uma função (ou algoritmo de encriptação)
Enc
k(m)
,, sob a ação da chave
Dec
k(c)
, recuperando se que Alice e Bob sejam entidades equivalentes e que uma terceira scutar a comunicação no canal público, no entanto,Apesar de ser um esquema eficiente, há um problema quanto à distribuição e ao gerenciamento das chaves. Quando um grupo de n pessoas segura, são necessárias
duas pessoas deste se difícil (GOLDREICH, 2004;
KATZ e LINDELL, 2007). A próxima seção apresenta conceitos de criptografia de chave pública e criptografia moderna.
2.2 Criptografia Moderna
A criptografia moderna parte do princípio de que um adversário possui limitações em seu poder computacional, ou seja, não possui recursos infinitos de processamento e memória. Portanto, o foco recai sobre problemas computacionalmente difíceis de resolver, ao invés de sistemas incondicionalmente seguros da teoria de Shannon conforme indicado em seu trabalho seminal (SHANNON,1949). No modelo de Shannon (1949), o purotexto é combinado com uma chave secreta escolhida aleatoriamente com o mesmo comprimento do purotexto. Em contra partida, a criptografia moderna emprega a ideia de tornar inviável a violar a segurança do sistema em termos de tempo computacional, em vez de tornar impossível, princípio usado pelo modelo de Shannon (KATZ e LINDELL, 2007).
O termo “inviabilidade de violar a segurança” é usado no lugar “impossibilidade de violar a segurança”. Na maioria das publicações da última década, assume-se que os algoritmos utilizados são de natureza probabilística e executado em tempo polinomial (Probabilistic Polynomial Time - PPT). O tempo de funcionamento da encriptação, decriptação e os algoritmos do adversário são medidos como uma função do parâmetro de segurança k, por exemplo, uma chave privada (GOLDREICH, 2004; KATZ e LINDELL, 2007).
Um algoritmo é dito PPT, quando executa em tempo polinomial e tem como resultado um valor probabilístico, isto é, se o número de passos necessários para completar o algoritmo para um determinado valor de entrada é O(nk), em que n é o tamanho da entrada, k é um inteiro não negativo. Qualquer algoritmo cujo tempo de execução não possa ser limitado é chamado de algoritmo de tempo exponencial. A grosso modo, algoritmos de tempo polinomial são considerados eficientes, enquanto algoritmos de tempo exponenciais são considerados ineficientes (GOLDREICH, 2004; KATZ e LINDELL, 2007).
Como a criptografia moderna precisa combinar algoritmos eficientes para usuários legítimos, com decodificação computacionalmente inviável para um dado adversário, exigindo a presença de primitivas com certos tipos especiais de propriedades de dificuldade computacional. Destes, talvez o mais fundamental seja o de função de alçapão ou trapdoor one-way function. A função de alçapão consiste em ser fácil de calcular numa direção, mas muito difícil em outra, o termo “alçapão” é usado porque alguma parte da informação pode ser usada para tornar a parte difícil em fácil de resolver. Atrelado ao conceito de função de alçapão está o de função desprezível.
Uma função f é desprezível se, para todo polinômio positivo p(.), existe um
N tal que para todos os inteiros n > N tem-se que , por exemplo, 2-n.
Nesta linha, considera-se que um criptossistema é seguro se para todo adversário de tempo-polinomial probabilístico A, que empreenda um ataque de algum tipo específico, e para todo polinômio p(.) existe um inteiro N tal que a probabilidade de que A tenha sucesso nesse ataque é menor que para todo n
> N, ou seja, a probabilidade de um adversário obter sucesso é no mínimo
desprezível (GOLDREICH, 2004; KATZ e LINDELL, 2007).
Outra importante primitiva para os esquemas de encriptação são os geradores de números aleatórios. Por exemplo, as chaves de encriptação devem ser geradas de forma que o adversário não tenha o mínimo conhecimento sobre as mesmas. A geração das chaves tipicamente envolve a escolha de sequências de números aleatórios. Bons métodos de geração de sequências aleatórias são difíceis de encontrar (MENEZES, VANSTONE e OORSCHOT, 1996). A próxima seção apresenta a criptografia de chave pública e sua definição formal.
2.2.1 Criptografia de Chave Pública
Em contraste com o esquema de chave simétrica apresentado na seção 2.1, um novo esquema criptográfico foi proposto por Diffie e Hellman em 1976 (DIFFIE e HELLMAN, 1976). No artigo intitulado “New Directions in Cryptography” os
autores promoveram uma grande mudança na criptografia introduzindo o esquema criptográfico denominado de assimétrico, também conhecido como criptografia de chave pública (public-key cryptosystem - PKCS). A ideia dos autores consiste em permitir a troca de mensagens de forma segura entre duas partes, sem que nunca tivessem partilhado na realidade um segredo em comum, isto é, compartilhado uma chave secreta previamente.
Diffie e Hellman também apresentaram o conceito de Trapdoor One Way
Funcion, e como ela pode ser usada para obter um criptossistema seguro. Nesse
modelo, para que o algoritmo seja eficaz, as funções devem possuir a propriedade de uma função ser o inverso da outra. Além de que, deve ser fácil de computar e encriptar eficientemente. Dessa forma, tais funções são fáceis de computar, mas difíceis de inverter, a menos que se conheça, ou se tenha acesso a uma chave secreta k.
Neste sentido, o esquema assimétrico emergiu com o conceito de que cada chave tem sua inversa, denotando um par de chaves. Cada par tem duas características: (1) qualquer mensagem encriptada com uma chave pode ser decriptada com sua chave correspondente; (2) dada uma das chaves, a chave pública, é inviável descobrir a chave privada (DIFFIE, 1988). Portanto, neste modelo cada entidade aplica um algoritmo de geração de chaves e produz um par de chaves válidas (pk,sk) chamadas de chave pública e chave privada, respectivamente. Essencialmente, qualquer pessoa ou entidade pode pegar a chave pública de uma entidade, disponibilizado em um meio também público, encriptar a mensagem desejada, e enviar ao receptor e, somente este, por meio de sua chave privada poderão decriptar o texto cifrado.
No modelo de criptografia de chave pública conforme ilustrado pela Figura 2.2, Alice deseja enviar uma mensagem para Bob. Para isso, Bob faz o uso do algoritmo KeyGen a fim de gerar um par de chaves (
sk
B,pk
B) ЄK
pub xK
priv. A chave privadask
B deve ser mantida em segredo por Bob e, nem mesmo Alice pode conhecê-la, enquanto que a chave públicapk
B deve ser divulgada de algumamaneira, por exemplo, p comunicação é semelhant
Figura 2.2: Sistema de Criptografia de Chave Fonte: Baseado em Katz e Lindell
A criptografia de chave pública
chaves, tendo em vista que não é mais necessário que cada membro da comunicação troque chaves com cada membro da comunicação, pois a chave pública está disponível de alguma forma.
inseriu o conceito de assinatura digital, impedindo que um terceiro ou o receptor forge a assinatura do remetente, e ao mesmo tempo impossibilita que o remetente negue a origem da mensagem assinada
irretratabilidade (DIFFIE,
Realmente, Diffie e Hellman (1976) sugeriram um novo modelo criptográfico, porém não indicaram quais algoritmos e estruturas matemáticas seriam capazes de atender ao modelo, tendo em vista que a ideia apresentada
não era prática.
No entanto, em 1978 Rivest, Shamir e Aldleman apresentaram um modelo matemático que resolvia o problema, desenvolvendo o primeiro esquema de encriptação de chave pública implementável, isto é, um cripto
prático denominado de RSA (RIVEST, SHAMIR e ALDLEMAN, 1978). Resumidamente o esquema tem a seguinte estrutura: N =
primos grandes. O algoritmo
maneira, por exemplo, por e-mail ou em um repositório na Internet. O restante da comunicação é semelhante ao esquema de chave privada (Katz e Lindell
: Sistema de Criptografia de Chave Pública. Katz e Lindell (2007).
A criptografia de chave pública simplificou processo de gerenciamento de chaves, tendo em vista que não é mais necessário que cada membro da comunicação troque chaves com cada membro da comunicação, pois a chave está disponível de alguma forma. A criptografia de chave pública também o conceito de assinatura digital, impedindo que um terceiro ou o receptor forge a assinatura do remetente, e ao mesmo tempo impossibilita que o remetente origem da mensagem assinada, uma propriedade também conhecida como
(DIFFIE, 1988; KATZ e LINDELL, 2007).
Realmente, Diffie e Hellman (1976) sugeriram um novo modelo criptográfico, porém não indicaram quais algoritmos e estruturas matemáticas seriam capazes de atender ao modelo, tendo em vista que a ideia apresentada
No entanto, em 1978 Rivest, Shamir e Aldleman apresentaram um modelo matemático que resolvia o problema, desenvolvendo o primeiro esquema de encriptação de chave pública implementável, isto é, um criptos
de RSA (RIVEST, SHAMIR e ALDLEMAN, 1978). Resumidamente o esquema tem a seguinte estrutura: N = p.q
primos grandes. O algoritmo KeyGen retorna o par (d.e), tal que d.e
a Internet. O restante da Katz e Lindell, 2007).
processo de gerenciamento de chaves, tendo em vista que não é mais necessário que cada membro da comunicação troque chaves com cada membro da comunicação, pois a chave A criptografia de chave pública também o conceito de assinatura digital, impedindo que um terceiro ou o receptor forge a assinatura do remetente, e ao mesmo tempo impossibilita que o remetente , uma propriedade também conhecida como
Realmente, Diffie e Hellman (1976) sugeriram um novo modelo criptográfico, porém não indicaram quais algoritmos e estruturas matemáticas seriam capazes de atender ao modelo, tendo em vista que a ideia apresentada na época
No entanto, em 1978 Rivest, Shamir e Aldleman apresentaram um modelo matemático que resolvia o problema, desenvolvendo o primeiro esquema de ssistema assimétrico de RSA (RIVEST, SHAMIR e ALDLEMAN, 1978).
p.q, onde p e q são d.e ≡ 1 (mod (Φ(N)).
O algoritmo de encriptação calcula c = Enc(m) = me (mod N), enquanto o algoritmo
de decriptação calcula Dec(c, d) = cd (mod N). A corretude é garantida, pois Dec(Enc(m,e), d) = Dec(me (mod N), d) = me.d (mod N ) ≡ m (mod N).
O criptossistema assimétrico favorece a realização de uma comunicação entre entidades de maneira segura, semelhante ao esquema de chave privada, porém as entidades envolvidas não necessitam compartilhar a chave previamente por um canal seguro. Como definição formal Katz e Lindell (2007) estabelecem que um esquema de encriptação de chave pública,
ε, é uma tupla (
KeyGen, Enc,
Dec
) de algoritmos probabilísticos de tempo polinomial. Mais precisamente, umesquema de criptografia de chave pública é composto pelos seguintes algoritmos (KATZ e LINDELL, 2007):
(1) Algoritmo de geração de chaves (
KeyGen
): toma como entrada umparâmetro de segurança
1
n e tem como saída um par de chaves(
p
k,s
k). Sendo a primeira destas, a chave pública e a segunda achave privada ou chave secreta.
(pk, sk) ← KeyGen(1k)
(2) Algoritmo de encriptação (
Enc
): recebe como entrada uma chavepública pk e uma string m chamada de mensagem de um espaço de mensagens (M). (
Enc
) produz um texto cifrado c a partir de umespaço de textos cifrados (C), e pode ser denotado como:
c ←
Enc
pk(m)
ou simplesmenteEnc(m)
.c = Encpk(m)
(3) Algoritmo de decriptação (Dec): recebe uma chave privada sk e um texto cifrado c como entrada, e produz como saída uma mensagem
m = Decsk(c)
2.2.2 Encriptação Probabilística e Determinística
Um esquema de criptografia de chave pública é dito determinístico, quando o algoritmo de encriptação é determinístico. A noção de “encriptação determinística” foi formalizada por Bellare et al. (2007). Dada uma entrada particular, um algoritmo determinístico sempre produzirá a mesma saída e possuirá o mesmo comportamento. O criptossistema determinístico mais conhecido é o RSA que fixa uma chave de encriptação para um dado texto puro, e sempre produz exatamente o mesmo texto cifrado (JAIN et al., 2012). RSA em sua forma pura é considerado altamente inseguro, Bellare e Rogaway (1994) introduziram melhorias de segurança, o modelo RSA-OAEP5 (RSA - Optimal Asymmetric Encryption Padding).
Em contrapartida, os algoritmos de encriptação probabilísticos foram mencionados pela primeira vez em Goldwasser e Micali (1984). O esquema é baseado na teoria da complexidade computacional e, portanto, na intratabilidade de alguns problemas na teoria dos números, como fatoração ou resíduos quadráticos em relação a módulos compostos.
A idéia básica adota um algoritmo com a capacidade de gerar números aleatórios. Existem certas desvantagens em encriptação determinística, do fato que um purotexto específico m sempre ser codificado em um mesmo texto cifrado c. Para evitar isto, esquemas de encriptação probabilísticos utilizam a aleatoriedade no processo de encriptação em si, de modo que para um texto simples específico m existem muitas possíveis mensagens cifradas, c1, c2, ..., cr. Assim, com a aplicação direta da chave secreta k, existem muitos possíveis cifrotextos c1, c2, ..., cr de uma mesma mensagem m, na qual a decodificação do cifrotexto sempre devolverá a mensagem original, conforme apresentado na Figura 2.3.
5 Note-se que há um grande número de trabalhos mais recentes propondo variantes ou melhorias de