Home
Aplicações de Criptografia Baseada em Identidade
Contents
1. size unsigned char data element_to_bytes data U element clear U element clear P element clear r pairing_clear pairing return data __declspec dllexport unsigned char x char rbyte int size element length in bytes U malloc xsize _cdecl calcrQ char curve unsigned char Qbyte unsigned gt 73 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica pairing t pairing element t Q r rQ pairing init set str pairing curve element init G1 Q pairing element init G1 rQ pairing element init Zr r pairing element from bytes Q Qbyte element from bytes r rbyte element mul zn rQ Q r size element length in bytes rQ unsigned char data malloc size element to bytes data rQ element clear rQ element clear Q element clear r pairing clear pairing return data __declspec dllexport unsigned char __cdecl calcV char curve unsigned char xrbyte unsigned gt char Hihash int Hilen unsigned char xrQbyte int xsize pairing t pairing element t r H1 rQ rH1 V pairing init set str pairing curve element init G1 H1 pairing element init G1 rQ pairing element init G1 rH1 pairing element init G1 V pairing element init Zr r pairing element from hash H1 Hihash Hilen element from bytes r rbyte element from bytes rQ rQbyte element mul zn rH1 H1 r element add V rH1 rQ
2. Estado da Arte Neste cap tulo apresenta se o estudo sobre o Cart o de Cidad o Portugu s e uma introdu o Criptografia Baseada em Identidade uma apresenta o de alguns esquemas importantes tanto de assinatura como de cifra bem como os respetivos princ pios de seguran a nos quais estes esquemas assentam e aplica es existentes Este cap tulo pretende fornecer uma vis o para quem n o esteja dentro da problem tica tratada neste trabalho Cap tulo 3 Algoritmos Implementados O terceiro cap tulo apresenta os algoritmos de IBE implementados os passos necess rios para a implementa o dos mesmos no sistema desenvolvido e uma an lise de performance computaci onal e tamanho do texto cifrado dos algoritmos Cap tulo 4 Arquitetura O quarto cap tulo aborda a arquitetura tecnol gica seguida neste trabalho de uma forma geral Este cap tulo apresenta a estrutura na qual assenta a implementa o do sistema criado bem como a justifica o das solu es apresentadas de forma a fornecer uma vis o do funcionamento de todo o sistema em cada uma das fases Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Cap tulo 5 Resultados O quinto cap tulo apresenta os resultados obtidos no sistema implementado as suas funciona lidades e as suas caracter sticas Cap tulo 6 Conclus o e Trabalho Futuro O ltimo cap tulo apresenta as conclus es sobre o trabalho desenvolvido e d
3. Estas propriedades fazem dos sistemas IBC vantajosos em rela o aos sistemas tradicionais de chave p blica uma vez que a distribui o de chaves muito simplificada No entanto este tipo de sistemas t m a desvantagem do PKG conhecer todas as chaves privadas Para al m disto necess rio um canal seguro para a emiss o de chaves entre o PKG e o utilizador Um sistema de IBC requer igualmente que o utilizador se autentique ao PKG da mesma forma que se autenticariam a uma CA Como tal a utiliza o do cart o de cidad o neste sistema justifica se como sendo um elemento crucial para o desenvolvimento As caracter sticas de identidade presentes no cart o neces s rias para a chave p blica bem como o seu forte mecanismo de autentica o necess rio para autentica o no PKG de forma a gerar ou recuperar uma chave privada associam se na perfei o s necessidades de um sistema desta natureza 1 2 Motiva o O presente trabalho o resultado de uma parceria entre o grupo de investiga o RELiable and SEcure Computation RELEASE da Universidade da Beira Interior e a empresa Portugal Telecom PT Inova o no mbito do projeto PRICE Privacy Reliability and Integrity in Cloud par metros p blicos de sistema estes par metros s o geralmente a chave p blica do PKG e os elementos de configura o calculados e publicados pelo PKG o processo de gera o destas elementos s necessita de ser efetuado uma vez
4. UNIVERSIDADE DA BEIRA INTERIOR Engenharia Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Jo o Pedro Cipriano Silveira Disserta o para obten o do Grau de Mestre em Engenharia Inform tica 2 ciclo de estudos Orientador Prof Doutor Paul Andrew Crocker Covilh outubro de 2013 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Dedicat ria Dedico esta disserta o aos meus pais Pelos ensinamentos e valores transmitidos E pelo apoio cont nuo e dedica o incondicional iii Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Agradecimentos Em primeiro lugar gostaria de agradecer aos meus pais pelo apoio incentivo e confian a depo sitada em mim ao longo do meu percurso acad mico bem como ao longo de toda a minha vida Sem a dedica o e o esfor o deles n o teria sido poss vel atingir este objetivo Quero agradecer ao meu irm o pelos momentos de descontra o e pela ajuda na revis o desta disserta o Quero tamb m agradecer minha melhor amiga e namorada Joana Pereira pela motiva o paci ncia e carinho dado durante estes dois anos de Mestrado Mesmo longe nunca deixo
5. Xiaofeng Chen Fangguo Zhang DivyanM Konidala and Kwangjo Kim New id based threshold signature scheme from bilinear pairings In Anne Canteaut and Kapaleeswa ran Viswanathan editors Progress in Cryptology INDOCRYPT 2004 volume 3348 of Lecture Notes in Computer Science pages 371 383 Springer Berlin Heidelberg 2005 http dx doi org 10 1007 978 3 540 30556 9 29 17 A De Caro and V lovino jpbc Java pairing based cryptography In Computers and Communications ISCC 2011 IEEE Symposium on pages 850 855 2011 20 Yvo Desmedt and Jean Jacques Quisquater Public key systems based on the difficulty of tampering In AndrewM Odlyzko editor Advances in Cryptology CRYPTO 86 volume 263 of Lecture Notes in Computer Science pages 111 117 Springer Berlin Heidelberg 1987 http dx doi org 10 1007 3 540 47721 7_9 14 Inc Fortinet Email security solution appliances for anti malware anti spam an tivirus fortinet Dispon vel a 28 de Agosto de 2013 http www fortinet com products fortimail index html 19 Gerhard Frey and Hans Georg Ruck A remark concerning m divisibility and the discrete logarithm in the divisor class group of curves Mathematics of Computation 62 865 874 1994 14 Inc Gemalto Gemplus develops the world s first identity based encryption for smart cards Dispon vel a 28 de Agosto de 2013 http www gemalto com press gemplus 2004 id_security 02 11 2004 Identity Based_Encryption htm 19 Rosario G
6. e usou o num protocolo para construir um acordo de chaves tripartido baseado no problema de Diffie Hellman em curvas el pticas Ap s o avan o de Joux em 2001 foi apresentado o primeiro esquema de IBE completamente funcional eficiente e comprovadamente seguro dentro do modelo de random oracles contra ataques de texto simples escolhido por Boneh e Franklin BF01 baseado nas propriedades de pairing bilinear em curvas el pticas Este esquema recebeu especial aten o por ser o primeiro esquema de IBE a ter seguran a prov vel num modelo apropriado de seguran a Sakai Ohgishi e Kasahara RSK01 e Cocks Coc01 apresentaram igualmente nesse ano esque mas de IBE O esquema de Cocks baseado no problema de res duos quadr ticos n o obteve tanta aten o como o esquema de Boneh e Franklin pois o m todo de cifra bit a bit que utiliza torna o esquema pouco eficiente em termos computacionais e a cifra gera mensagens cifradas bastante longas quando comparado com outros esquemas problema de expans o de texto Por exemplo ao cifrar uma mensagem de 128 bits usando um m dulo de 1024 bits resulta num texto cifrado com 261424 bits em compara o um esquema baseado em pairings produz um texto cifrado com 288 bits BGHO7 Estes problemas foram parcialmente resolvidos por Boneh Gentry e Hamburg BGHO7 o tama nho do texto cifrado produzido foi reduzido para 1160 bits no caso do exemplo anterior e foi adicionada a propriedade de anonimat
7. int size __declspec dllexport char Ppubbyte unsigned char H2hash __cdecl generateSignr char curve int xsize __cdecl calcSignR char curve unsigned char xrbyte unsigned _cdecl calcSignS char curve unsigned char xrbyte unsigned int H2len unsigned char xpkbyte unsigned char Rbyte lt gt __cdecl verifySign char curve unsigned char Pbyte unsigned char int H2len unsigned char xidHash int idHashLen unsigned lt gt char Rbyte unsigned char x Sbyte A 3 2 sign c Zinclude sign h __declspec dllexport unsigned char x initialialize pairing pairing t pairing elements of algebraic structure element t r pairing init set str pairing element init Zr r pairing element random r size unsigned char data element to bytes data r element clear r pairing clear pairing return data __declspec dllexport unsigned char x char Pbyte int size element length in bytes r malloc size __cdecl generateSignr char curve int xsize curve __cdecl calcSignR char curve unsigned char rbyte unsigned t initialialize pairing pairing t pairing elements of algebraic structure element t P r R pairing init set str pairing curve element init G1 P pairing element init G1 R pairing element init Zr r pairing element from bytes r rbyte element from bytes P Pbyte element mul zn R P k size element leng
8. o foram cumpridos com sucesso e resultaram nas seguintes contribui es e Estudo sobre os sistemas criptogr ficos baseados em identidade os esquemas subjacentes e as solu es existentes e Implementa o de um esquema de assinatura e de dois esquemas de cifra e compara o a n vel de custo computacional e Cria o de v rios wrappers para a utiliza o dos esquemas referidos na linguagem NET C e de uma biblioteca para simplificar a cria o de sistemas IBC em que a ideia fornecer uma esp cie de plugin que possa ser utilizado por outras aplica es e Defini o das caracter sticas de identidade a utilizar e especifica o de uma arquitetura baseada num centro de gera o de chaves PKG e os respetivos de autentica o com o CC gera o de chaves e revoga o e Implementa o de uma aplica o de cifra e decifra de ficheiros e integra o destas capaci dades numa aplica o Web existente de fornecimento de acesso uniforme a fornecedores de armazenamento e servi os em Cloud de forma a mostrar a viabilidade da solu o proposta e Implementa o de um sistema simples de pol ticas de privacidade de ficheiros e integra o na arquitetura criada Na base da arquitetura criada est um longo trabalho de investiga o que permitiu associar os resultados produzidos a um sistema no qual acreditamos estar a par das necessidades de seguran a do mercado Em particular pequenas e m dias empresas organi
9. Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Environments Este projeto envolve v rios trabalhos para al m da presente disserta o e tem como objetivo a cria o e disponibiliza o de solu es de privacidade confian a e integridade em plataformas Cloud para a poss vel utiliza o pela PT Inova o O projeto foi financiado por uma bolsa de investiga o fornecida pela PT Inova o atrav s do Instituto de Telecomunica es IT 1 3 Objetivos O objetivo principal deste projeto o desenvolvimento de um sistema criptogr fico baseado em caracter sticas de identidade do utilizador caracter sticas essas que est o embutidas no seu cart o eletr nico de identifica o Cart o de Cidad o pretendido uma solu o que garanta a privacidade e confidencialidade dos dados cifrados que forne a um n vel de confian a forte ao utilizador e que seja flex vel e simples fazendo uso das potencialidades oferecidas pelo Cart o de Cidad o como Smartcard e ao mesmo tempo tornando o CC num elemento fulcral para assegurar a seguran a do sistema Os objetivos principais previstos no plano de trabalho s o os seguintes Revis o da literatura sobre os sistemas criptogr ficos baseados em identidade e estudo dos sistemas de assinatura digital e sistema de cifra e Compara o dos sistemas a n vel de custo computacional envolvido Defini o das caracter sticas de identidade a
10. BBB 05 BFO1 BGHO7 BM07 BR93 Giuseppe Ateniese and Paolo Gasti Universally anonymous ibe based on the quadratic residuosity assumption In Proceedings of the The Cryptographers Track at the RSA Conference 2009 on Topics in Cryptology CT RSA 09 pages 32 47 Berlin Heidelberg 2009 Springer Verlag http dx doi org 10 1007 978 3 642 00862 7 3 15 Joseph A Akinyele Christina Garman lan Miers Matthew W Pagano Michael Rusha nan Matthew Green and Aviel D Rubin Charm a framework for rapidly pro totyping cryptosystems Journal of Cryptographic Engineering 3 2 111 128 2013 http dx doi org 10 1007 s13389 013 0057 3 20 Paul Ashley Satoshi Hada G nter Karjoth Calvin Powers and Matthias Schun ter Enterprise Privacy Authorization Language EPAL 1 2 Technical report IBM 2003 http www zurich ibm com security enterprise privacy epal Specification index html 38 Ag ncia para a Moderniza o Admnistrativa AMA Manual t cnico do middleware cartao de cidadao 2012 10 G Appenzeller L Martin and M Schertler Identity Based Encryption Architecture and Supporting Data Structures RFC 5408 Informational January 2009 http www ietf org rfc rfc5408 txt 15 59 Dan Boneh and Xavier Boyen Efficient selective id secure identity based encryption without random oracles In Christian Cachin and JanL Camenisch editors Advances in Cryptology EUROCRYPT 2004 volume 3027 of Lecture Notes in
11. O tempo de cifra da chave permanece constante como seria de esperar uma vez que este processo cifra apenas a chave e independente do tamanho do ficheiro importante relembrar que utilizado um sistema de criptografia h brida em que o ficheiro em si cifrado com o algoritmo AES em modo Cipher Block Chaining CBC com chave de 256 bits e esta chave cifrada com IBE nomeadamente utilizando o esquema Emribe apresentado no Cap tulo 3 com uma curva el ptica de tamanho ordem de 256 bits Key Encryption Time File Encryption Time Bile mize seconds seconds 100 KB 0 0792 0 0056 1 MB 0 0797 0 0388 10 MB 0 0802 0 3638 100 MB 0 0782 3 5612 500 MB 0 0789 17 8458 1 GB 0 0780 37 8323 Tabela 5 1 Tempos de execu o de cifra para ficheiros com diferentes tamanhos 53 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica A observa o feita para a Tabela 5 1 aplica se igualmente para os resultados obtidos na decifra de ficheiros e apresentados na Tabela 5 2 Os tempos de decifra para os mesmos ficheiros s o similares aos observados na cifra enquanto que os tempos de decifra da chave s o inferio res uma vez que s o necess rias menos opera es sobre a curva el ptica neste processo em compara o com a cifra da chave File Size Key Decryption Time File Decryption Time seconds seconds 100 KB 0 0193 0 0063 1 MB 0 0194 0 0421 10 MB 0 0188 0 3815 100 MB 0 0198 3 8550
12. ficas desenvolvidas por grandes organiza es mas sim apresentar se como um sistema s lido e seguro capaz de demonstrar a viabilidade da nossa solu o para utiliza o por pequenas organiza es 20 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Cap tulo 3 Implementa o dos Algoritmos 3 1 Introdu o Neste cap tulo feita uma descri o dos dois esquemas de IBE implementados s o apresentadas as fases da implementa o destes esquemas em linguagem C bem como os passos necess rios para a utiliza o dos mesmos na linguagem NET Cf feita uma compara o dos dois esquemas em termos de an lise de performance computacional e tamanho do texto cifrado dos algoritmos tamb m apresentada uma biblioteca baseada no esquema selecionado na an lise para NET C para a cria o de infraestruturas de cifra e decifra de ficheiros e recupera o e gera o de chaves privadas 3 2 Esquemas de IBE e IBS De forma a criar uma arquitetura de cifra e decifra de ficheiros baseada em IBE e prot tipos iniciais foi necess rio numa fase inicial a sele o de um esquema de IBE seguro eficiente e ade quado s necessidades da arquitetura Foram selecionados dois esquemas o esquema Fullident BF Fullident proposto por Boneh e Franklin BF01 em 2001 e Multi Receiver IBE Emribe proposto por Baek et al BSNS05 em 2005 A escolha do esquema BF Fullident justificada pela
13. mero de servidores de maneira a que qualquer membro do comit possa decifrar com sucesso a mensagem cifrada se e apenas se obtiver um n mero m nimo de partes dos servidores Outra aplica o deste esquema a constru o de um sistema de IBE mediado em que a ideia permitir a divis o da chave privada associada a uma identidade em duas partes dar uma das partes ao utilizador e a outra a um mediador poss vel assim revogar instantaneamente os privil gios do utilizador atrav s de instru es dadas ao mediador No entanto o problema de cust dia de chaves continua a existir o PKG conhece a chave privada Em CZKK05 Chen et al apresentam um esquema de IBS baseado em threshold e que combina 5A ideia distribuir a informa o secreta entre v rias entidades de forma a prevenir um nico ponto de falha ou de abuso 17 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica as vantagens de um sistema PKI com IBC que resolve o problema de cust dia de chaves e remove as desvantagens do m todo sugerido por Boneh e Franklin Shao et al SCW06 apresentaram mais tarde um esquema mais eficiente e seguro que o apresentado por Chen et al Em KG09 Kate e Goldberg apresentam igualmente uma solu o baseada em PKG distribu dos que utiliza os esquemas para a gera o de chaves de uma forma distribu da criados por Gennaro et al GJKR99 Os autores definem ainda os respetivos protoco
14. o eletr nico Exemplos destas opera es s o a obten o de informa o sobre o titular e fotografia obten o e altera o da morada leitura dos certificados e gest o de c digos PIN 2 3 Criptografia de Curva El ptica A utiliza o de curvas el pticas na criptografia foi sugerida independentemente por Neal Koblitz Kob87 e Victor Miller Mil86b em 1985 Um curva el ptica um conjunto de solu es x y para um equa o na forma y x Ax B e um ponto extra O ao qual designamos de ponto no infinito Para aplica es criptogr ficas consideramos um campo finito de q elementos F Onde q um n mero primo assim podemos pensar em F como um grupo de inteiros m dulo q A equa o da curva el ptica normalmente designada por E e utilizada a nota o E F para um grupo de pontos x y com coordenadas no campo F em conjunto com o ponto O que definido sobre todos os campos Um conjunto de pontos numa curva el ptica forma um grupo sob uma certa regra de adi o a qual damos a nota o de O ponto O o elemento de identidade do grupo Quando trabalhamos num campo finito ent o o grupo finito uma vez que h um n mero finito de pontos Dado um ponto P x y e um inteiro positivo n definimos n P P P P n vezes A ordem de um ponto P x y o menor inteiro positivo n que satisfa a n P O A seguran a da criptografia de curva el ptica baseada no problema de logaritmo
15. r lt Fip r gt Q Q Pou R ME Ho lt R H3 R M U V1 Va W1 W2 L Devolve C como mensagem cifrada o garante a integridade da sequ ncia inteira da mensagem cifrada e cont m informa o sobre as identidades para o qual foi cifrada W2 M e H2 R pode ser substitu da por W2 E p M onde E um esquema de cifra sim trica Decrypt Para decifrar a mensagem para uma dada identidade ID em que i 1 n analisar C como U Fip Fip W1 W2 c e utilizando a informa o presente em L encontrar o Fip apropriado Calcular R fp os W1 M W2 6 Ho R e o H R M U V Va W1 W2 Se a o aceitar M como mensagem decifrada caso contr rio rejeitar 3 2 3 Esquema de Assinatura Paterson IBS Setup Dado um n mero primo q o algoritmo funciona da seguinte forma Passo 1 Selecionar dois grupos G P e Gz de ordem q e um mapa bilinear que satisfa a G4 x G4 gt Go Passo 2 Escolher um n mero aleat rio P G4 Passo 3 Escolher um n mero aleat rio s Z e calcular Ppub P A master key s Passo 4 Selecionar as fun es de hash criptogr fico H 0 1 Gi Ho 0 1 gt Zg e Hs Gi gt Zq 23 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica S mbolo Significado Z grupo de inteiros Zq grupo 0 q 1 sob adi o de m dulo q Zt grupo multiplicativo de inteiros m dulo n mero primo q G gru
16. s Size element length in bytes Ppub unsigned char data malloc size element to bytes data Ppub element clear P element clear Ppub element clear s pairing clear pairing return data j A 1 3 client h include lt stdio h gt include lt stdlib h gt include lt malloc h gt include lt string h gt include lt pbc pbc h gt __declspec dllexport unsigned char x unsigned char Qidhash int len __declspec dllexport unsigned char x len int xsize __declspec dllexport unsigned char x unsigned char xrbyte int size __declspec dllexport unsigned char x unsigned char Ubyte int size 68 unsigned char xPpubbyte __cdecl encryptGetR char curve unsigned char xrhash _cdecl encryptCalcH2 char curve unsigned char rbyte gt int size int gt __cdecl encryptCalcU char curve unsigned char Pbyte gt _cdecl decryptCalcH2 char curve unsigned char Didbyte gt Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica A 1 4 client c Zinclude client h __declspec dllexport unsigned char __cdecl encryptCalcH2 char curve unsigned char xrbyte gt unsigned char Qidhash int len unsigned char xPpubbyte int xsize t pairing t pairing element t r Qid gid gidr Ppub pairing init set str pairing curve element init G1 Ppub pairing element init G1 Qid pairing element init Zr r pairing element init GT gi
17. 242257 RR AEE 124 2 2212200 gue on Resultados 5 1 INtRODUCAO wees nen nn n ret se ie te dn re be pce ns Sie a 5 2 Aplica o para a cria o de pol ticas 5 3 Aplica o Windows Desktop 2 1 een 5 3 1 Funcionamento Geral 0 2 2 ee eee ee ene 5 3 2 Liga o ao PKG e atualiza o de par metros 5 3 3 Cifra de ficheiros srs acesa sre c eR Ere a 9 CA a US ea 5 3 4 Decifra de ficheiro 2 a 5 3 5 AutentiCacao 3 Ves dece du Ge AU cea te UA ew Caer Rca Uu RT cee E 5 4 Servi o PKG no Azure eee en 5 5 Aplica o Web para gest o e cifra de ficheiros na Cloud 5 6 Tempos de execu o eee eee eh nn 5 7 CONCLUS O cR cel Re e RES De EE EE 26 De OE VR cUm e RUE vs Le s Conclus o e trabalho futuro 6 1 Goncl soes oe ko bo E DEE TESE eh DEE TE DE 7838 616 DEE SEDE tea S URS 6 2 Trabalhofuturo i i xou EEE Qua d hah eee A habe ee es 6 2 1 Aspetos de Implementa o 0 0 80 4 4 6 2 2 Novas Funcionalidades Refer ncias xii 35 35 35 36 36 37 38 40 41 41 44 44 47 47 47 47 48 48 49 50 51 51 52 53 55 57 57 58 59 59 61 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Anexos 67 A 1 Wrapper C Esquema BFFullident llle 67 AMA pkechis ue dod oe qe Be ek ey dete d ie oe 67 A 1 2
18. 4 Esquema de IBE para email da Voltage Security Investigadores da Hewlett Packard HP MBDH desenvolveram um sistema de informa o para confidencialidade e privacidade de mensagens baseado em IBE esquema de Boneh e Franklin num contexto de servi os de sa de como hospitais e outras organiza es Este sistema foi aplicado para avalia o num contexto real com o objetivo de fornecer uma alternativa segura e simples aos esquemas tradicionais de PKI Esta solu o foi aplicada numa infraestrutura j existente com requisitos predefinidos no meadamente a utiliza o de clientes e servidores de mail e mecanismos de autentica o pr existentes O sistema em si consiste na modifica o da infraestrutura de email para permitir o envio de mensagens confidenciais entre utilizadores da intranet do servi o de sa de Assim permite o envio de mensagens confidenciais para endere os e listas de email acess veis por diferentes tipos de utilizadores com diferentes pap is e direitos dentro da organiza o onde apenas utilizadores com o papel necess rio selecionado pelo remetente dentro da organiza o t m acesso ao conte do do email Outras solu es de email existentes baseadas em IBE incluem a solu o FortiMail For da empresa Fortinet e a Trend Micro Email Encryption TM da empresa Trend Micro baseado no esquema de Sakai e Kasahara SK03 De notar igualmente a solu o desenvolvida pela empresa Gemalto Gem que consiste no p
19. Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Shamir Sha85 desenhou e prop s o primeiro esquema de IBS em 1984 baseado no algoritmo RSA Rivest Shamir Adelman cryptographic algorithm No mesmo artigo idealizou o conceito de Cifragem Baseada em Identidade ou Identity Based Encryption no entanto n o conseguiu aplicar este conceito na pr tica 2 4 2 Cifragem Baseada em Identidade Em Sha85 Shamir especifica os requisitos da implementa o de um esquema de IBE e lista os dois princ pios de implementa o e A escolha de chaves baseada num gerador k completamente aleat rio Quando o k conhecido as chaves privadas podem ser facilmente calculadas para uma fra o n o negligenci vel das chaves p blicas poss veis e O problema de calcular o gerador k a partir de pares de chaves p blicas privadas gerados com k irresol vel Baseado nestes requisitos Shamir afirma que n o poss vel criar um esquema de IBE baseado no algoritmo de RSA mas conjetura que este tipo sistemas criptogr ficos existem No entanto o desenvolvimento deste tipo de sistemas foi bastante lento e apesar de terem havido v rias propostas para esquemas Tan88 MY91 TI89 DQ87 ao longo dos anos nenhuma delas foi con siderada como completamente satisfat ria Em 2000 Joux Jou04 mostrou que o algoritmo de Victor Miller Mil86a para avaliar Weil pairing em curvas alg bricas podia ser usado de forma ben fica
20. Details Certification Path Show Version 1 Fields Only Field Value Signature algorithm sha1RSA E Signature hash algorithm shal E issuer PT Cart o de Cidad o subEC E valid from 9 de outubro de 2008 16 13 23 valid to 20 de junho de 2013 00 00 00 Subject PT Cart o de Cidad o Cidad Public key RSA 1024 Bits PT Cart o de Cidad o U Cidad o Portugu s Teste Autentica o do Cidad o SN Suspenso Sofia SERIALNUMBER BI99000005 Sofia Suspenso Edit Properties Copy to File Learn more about certificate details La Figura 4 2 Exemplo da informa o contida no campo subject do certificado p blico de autentica o contido no CC Na Figura 4 2 podemos observar a informa o apresentada no campo subject do certificado p blico de autentica o do CC onde se destaca o nome completo do utilizador e o seu n mero de identifica o civil A caracter stica de identidade escolhida para usar como chave p blica nesta arquitetura foi o nome completo do utilizador Apesar desta escolha n o ser ideal uma vez que n o uma caracter stica que identifique de forma inequivoca um utilizador podem existir utilizadores com o mesmo nome suficiente numa fase de prot tipo para mostrar as capacidades de um sistema desta natureza O nome poderia ser substitu do pelo n mero de identifica o civil n mero do CC e assim teriamos uma caracter stica inequ voc
21. Hilen unsigned char xsbyte int xsize pairing t pairing element t H1 s pk pairing init set str pairing curve element init G1 H1 pairing element init G1 pk pairing element init Zr s pairing element from hash H1 Hthash H1len element from bytes s sbyte element mul zn pk H1 s size element length in bytes pk unsigned char data malloc xsize element_to_bytes data pk element clear H1 element clear pk element clear s pairing clear pairing return data int xsize int xsize _cdecl getPrivateKey char curve unsigned char Hihash int 71 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica __declspec dllexport unsigned char x char sbyte int xsize _cdecl calcPpub char curve unsigned char Pbyte unsigned gt pairing t pairing element t P s Ppub pairing init set str pairing curve element init G1 P pairing element init G1 Ppub pairing element init Zr s pairing element from bytes P Pbyte element from bytes s sbyte element mul zn Ppub P s size element length in bytes Ppub unsigned char data malloc size element to bytes data Ppub element clear P element clear Ppub element clear s pairing clear pairing return data j __declspec dllexport unsigned char __cdecl calcpairQPpub char curve unsigned char xQbyte gt unsigned char Ppubbyte int xsize t
22. Kasahara Cryptosystems based on pairing over elliptic curve The 2001 Symposium on Cryptography and Information Security 2001 14 Jun Shao Zhenfu Cao and Licheng Wang Efficient id based threshold signature schemes without pairings Cryptology ePrint Archive 2006 2006 http eprint iacr org 2006 308 pdf 18 Adi Shamir How to share a secret Commun ACM 22 11 612 613 November 1979 http doi acm org 10 1145 359168 359176 17 Adi Shamir Identity based cryptosystems and signature schemes In Proceedings of CRYPTO 84 on Advances in cryptology pages 47 53 New York NY USA 1985 Springer Verlag New York Inc http dl acm org citation cfm id 19478 19483 2 12 14 Ryuichi Sakai and Masao Kasahara Id based cryptosystems with pairing on elliptic curve Cryptology ePrint Archive Report 2003 054 2003 18 19 Amit Sahai and Brent Waters Fuzzy identity based encryption In Ronald Cramer editor Advances in Cryptology EUROCRYPT 2005 volume 3494 of Lecture Notes in Computer Science pages 457 473 Springer Berlin Heidelberg 2005 http dx doi org 10 1007 11426639_27 15 Hatsukazu Tanaka A realization scheme for the identity based cryptosystem In Carl Pomerance editor Advances in Cryptology CRYPTO 87 volume 293 of Lecture Notes in Computer Science pages 340 349 Springer Berlin Heidelberg 1988 http dx doi org 10 1007 3 540 48184 2_29 14 S Tsujii and T Itoh An id based cryptosystem based on the discrete loga
23. National Institute of Standards and Technology apresenta uma tabela em que compara o n vel de seguran a dos v rios algoritmos aprovados tendo como base o tamanho em bits das chaves ver Tabela 2 1 Symmetric Key Size x RA AOC Elliptic Curve Key Ratio of DH Cost bits pitne Belling Key Size bits EC Cost Size bits 80 1024 160 3 1 112 2048 224 6 1 128 3072 256 10 1 192 7680 384 32 1 256 15360 512 64 1 Tabela 2 1 Tamanhos de chave recomendados pelo NIST e custos relativos de computa o do algoritmo de Diffie Hellman e Curvas Elipticas 2 4 Criptografia Baseada em Identidade A Criptografia Baseada em Identidade foi inicialmente proposta em 1984 por Adi Shamir Sha85 no entanto Shamir apenas conseguiu apresentar uma solu o para o esquema de assinatura de mensagens a cifragem e decifragem de mensagens permaneceu um problema em aberto du rante v rios anos A ideia de Shamir era permitir que uma sequ ncia de bytes correspondente a uma caracter stica que identifique unicamente o utilizador como por exemplo o nome n mero de identifica o pessoal ou email pudesse ser usada como chave p blica criando assim automaticamente um v nculo entre a chave p blica e o respetivo dono Por sua vez a chave privada seria calculada por uma autoridade na qual os utilizadores teriam que confiar designada por Gerador de Chave Privada IBE Public Key bob b com RSA Public Key AAAAB3NzaC1yc2EAAAADAQABAAAASQDRSFleyASPUMr1 RU tz06
24. PKkET Me at eed b eb ru b CM ub p eua b esu 67 Ad clientihi oh Bae eRe hE Oe ee RR dE ENG E 68 AA Client C sororem eee eene Rm ue Aaa eee 69 A2 Wrapper C Esquema Emribe 0 70 ADA ipke bro a A AA ERES EEE Yer Rr RUNI Y Rhe 70 A2 2 PROC ze au RR DRE MAIS Ae EE PANE AS IEE EAD 70 A 2 3 cient h x ee emere dumm eue unde ue dos 72 AO ACUCNEGS 3 rese a san Ss 2719500 aie eonun UD a ud UN S ON EON US 73 A 3 WrapperC EsquemaPatersonIBS 75 A371 2Signizh 42 Fe cies eene d ete d eei UR e i USE Wie A Id ig 75 3 2 SIBI C cogno meus oon ER I 8 E UR eee AUG N esee N A 76 A 4 Exemplo de utiliza o da biblioteca criada para C 78 xiii Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica xiv Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Lista de Figuras 1 1 1 2 2 1 2 2 2 3 2 4 3 1 3 2 3 3 3 4 4 1 4 2 4 3 4 4 4 5 4 6 4 7 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 Esquema de cifra tradicional com chave p blica Esquema de cifra com Criptografia baseada em Identidade Frente e verso do Cart o de Cidad o Portugu s 024 Cadeia de certifica o dos certificados de chave p blica de assinatura e autenti ca o do Cart o de Cidad o Portugu s Esquema gen rico de Assinatura Bas
25. Signed by JOAO PEDRO CIPRIANO SILVEIRA E me cem Original Name file pdf Size 191KB SOFIA SUSPENSO PAULO EXPIRADO JO O PEDRO CIPRIANO SILVEIRA Signed by JO O PEDRO CIPRIANO SILVEIRA Figura 5 6 Obten o de chave privada e decifra do ficheiro 50 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 5 3 5 Autentica o De modo a obter a chave privada para o processo de assinatura do ficheiro cifrado e para a decifra necess rio que o utilizador se autentique com o seu CC atrav s da aplica o junto do PKG Para tal necess rio que utilizador tenha liga o Internet e que o servi o de PKG esteja dispon vel Your CC Authentication Certificate will be sent to the PKG Service through a secure connection in order to authenticate you Please confirm or cancel Smart Card Please enter your authentication PIN Figura 5 7 Aviso apresentado durante o processo de autentica o e pedido de introdu o do PIN de autentica o do CC Todo o processo efetuado em alguns segundos O utilizador informado que o certificado de autentica o do CC ser enviado para o PKG e o processo s continua ap s a confirma o desta aceita o Assim que a aplica o recebe o GUID para assinar ver Sec o 4 3 6 pedido ao utilizador que introduza o PIN de autentica o do CC de forma a poder utilizar a chave privada correspondente Na Figura
26. chave privada do PKG Ver Figura 1 2 1 A Alice conhece a identidade do Bob logo ir usar essa identidade como chave p blica 2 A Alice cifra a mensagem utilizando a identidade chave p blica do Bob e envia a mensagem cifrada 3 O Bob recebe a mensagem e autentica se ao PKG 4 O PKG cria a chave privada respetiva e envia ao Bob 5 O Bob usa a sua chave privada para decifrar a mensagem cifrada pela Alice e obt m a mensagem original No caso de assinatura o Bob pode verificar uma mensagem assinada pela Alice apenas com a informa o de identidade dela sem necessidade de troca de chaves uma vez que a Alice j conhece a chave privada do Bob a sua identidade No geral um sistema de IBC possui as seguintes propriedades e a chave p blica de um utilizador a sua identidade ou derivada da sua identidade Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica PKG Bc Public Key Identity Bob Bob Qe Private Key pop IN Message Public Key Identity gop aB ex N N EM a 4 Message Encrypted Message Figura 1 2 Esquema de cifra com Criptografia baseada em Identidade e n o necessario existir um reposit rio de chaves p blicas e a cifra de mensagens e o processo de verifica o de assinatura necessitam apenas da identidade do recetor e emissor respetivamente para al m dos par metros p blicos de sistema gerados pelo PKG
27. clear r element clear R element clear S element clear H2 element clear H2P element clear pk element clear pkH3R element clear H2PpkH3R pairing clear pairing return data __declspec dllexport char __cdecl verifySign char curve unsigned char Pbyte unsigned char Ppubbyte unsigned char H2hash int H2len unsigned char xidHash int idHashLen unsigned char Rbyte unsigned char Sbyte initialialize pairing pairing t pairing elements of algebraic structure element t P Ppub R S H2 ePP ePPH2 Qid ePpubQid ePpubQidH3R eRS sigResult mpz t H3R pairing init set str pairing curve 77 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica element init G1 element init G1 element init G1 element init G1 element init G1 element init Zr element init GT element init GT element init GT element init GT element init GT element init GT P pairing Ppub pairing R pairing S pairing Qid pairing H2 pairing ePP pairing ePPH2 pairing ePpubQid pairing ePpubQidH3R pairing eRS pairing sigResult pairing mpz init H3R element from bytes P Pbyte element from bytes R Rbyte element from bytes S Sbyte element from bytes Ppub Ppubbyte o ement from hash H2 H2hash H2len element mul zn H2P P H2 element pairing ePP P P element pow zn ePPH2 ePP H2 e
28. o de pr ticas de certifica o da ec de assinatura digital qualificada do cart o de cidad o Pol ticas Minist rio da Justi a 2011 9 63 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica MUL11b S A MULTICERT Declara o de pr ticas de certifica o da ec de autentica o do MVO91 MY91 NSA05 Pat02 RSKO1 SCW06 Sha79 Sha85 SK03 sw05 Tan88 T189 64 cart o de cidad o Pol ticas Minist rio da Justi a 2011 9 Alfred Menezes Scott Vanstone and Tatsuaki Okamoto Reducing elliptic curve logarithms to logarithms in a finite field In Proceedings of the twenty third annual ACM symposium on Theory of computing STOC 91 pages 80 89 New York NY USA 1991 ACM http doi acm org 10 1145 103418 103434 14 UeliM Maurer and Yacov Yacobi Non interactive public key cryptography In Do naldW Davies editor Advances in Cryptology EUROCRYPT 91 volume 547 of Lec ture Notes in Computer Science pages 498 507 Springer Berlin Heidelberg 1991 http dx doi org 10 1007 3 540 46416 6 43 14 NSA Nsa suite B cryptography Last accessed 14 Jul 2010 http www nsa gov ia programs suiteb_cryptography index shtml 2005 http www nsa gov ia programs suiteb_cryptography index shtml 11 Kenneth G Paterson ID based signatures from pairingson elliptic curves Electronics Letters 38 2002 21 K Ohgishi R Sakai and M
29. tecnologias ao longo deste cap tulo O Cart o de Cidad o e as suas fun cionalidades como documento de identifica o eletr nico e smartcard permitem ao cidad o identificar se de forma segura perante os servi os informatizados atrav s dos mecanismos de autentica o e a assinatura de mensagens e documentos eletr nicos Foi abordada igualmente a criptografia sobre curva el ptica e a sua aplica o em sistema crip togr ficos baseados em identidades Um sistema criptogr fico baseado em identidade permite que qualquer par de utilizadores possa comunicar entre si de forma segura sem necessidade de troca pr via de chaves p blicas ou de certificados e sem a necessidade de manter reposit rios de chaves p blicas A simplicidade deste tipo de sistemas elimina a necessidade da utiliza o de certificados listas de revoga o e de estruturas caras e complexas associadas a sistemas PKI Foram apresentados igualmente os problemas em aberto inerentes deste tipo de sistemas como a revoga o e a cust dia de chaves O objetivo deste cap tulo prende se utiliza o e combina o das solu es e tecnologias apre sentadas na cria o de um prot tipo de uma arquitetura criptogr fica para ficheiros que pre tende ser inovadora segura vi vel simples de implementar e f cil na sua utiliza o para o utilizador comum Esta arquitetura n o pretende ser um concorrente s v rias solu es exis tentes para infraestruturas criptogr
30. utilizar e que est o embutidas no CC Especifica o de uma arquitetura baseada num centro de gera o de chaves e os respetivos protocolos de distribui o recupera o e revoga o de chaves Implementa o de uma aplica o de cifra e decifra de ficheiros para mostrar a viabilidade da arquitetura proposta Implementa o de um sistema simples de pol ticas de privacidade de ficheiros Espera se que o produto final satisfa a os objetivos e as necessidades requeridas de forma a comprovar os benef cios de um sistema de criptografia baseada em identidade e que possa mostrar ser uma alternativa vi vel as arquiteturas tradicionais de chave p blica para a cifra e decifra de mensagens tanto a n vel particular como a n vel empresarial 1 4 Abordagem Este projeto foi abordado por fases sendo que o trabalho realizado pode ser dividido em duas fases principais a fase de Investiga o e a fase de Desenvolvimento Na fase de Investiga o foram estudados os conceitos componentes e as funcionalidades de Smartcards no caso especifico o CC Portugu s Foram estudados sistemas criptogr ficos base ados na identidade tanto sistemas de assinatura como de cifra e decifra e ainda tecnologias e produtos comerciais j existentes baseados em IBC de forma a perceber a viabilidade e as potencialidades da arquitetura a desenvolver Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Na fase
31. 0 lt POLICY gt Figura 5 1 Defini o de pol ticas e o ficheiro XML resultante 5 3 Aplica o Windows Desktop A aplica o foi criada em NET C para o sistema operativo Windows para fazer uso de todas as funcionalidades da aplica o o utilizador necessita de uma liga o Internet para autentica o e requisi o de chaves junto do PKG de um leitor de cart es capaz de ler o CC e do middleware do CC instalado no computador para o mecanismo de autentica o 47 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Add Identity Line PKG Service Status Load Identity from CC Request Private Key from PKG Sign Encrypted File Add XML Policy File Encrypted File Information Figura 5 2 Vis o geral da aplica o para Windows Desktop 5 3 1 Funcionamento Geral Pretende se com esta aplica o fornecer uma interface simples e intuitiva para o utilizador na cifra e decifra de ficheiros e assim fornecer uma prova de conceito da arquitetura desenvolvida A Figura 5 2 fornece uma vis o geral da aplica o e das suas funcionalidades estas ser o apresentadas com mais detalhe ao longo deste cap tulo 5 3 2 Liga o ao PKG e atualiza o de par metros Figura 5 3 Informa o sobre a conetividade ao servi o de PKG Como foi referido no cap tulo anterior assim que a aplica o iniciada esta vai testar primei ramente a conetivi
32. 13 No entanto esta solu o n o completa nem pr tica uma vez que os formatos do tempo t m que ser definidos priori e informados aos utilizadores Cust dia de chaves key escrow Os esquemas de IBE t m esta propriedade uma vez que o PKG que emite as chaves privadas dos utilizadores usando a chave privada do sistema Como resultado o PKG capaz de assinar ou decifrar qualquer mensagem Esta propriedade especialmente indesej vel no caso da assinatura uma vez que a garantia de n o rep dio um dos requisitos essenciais em esquemas de assinatura digital Como solu o para este problema Boneh e Franklin BF01 sugerem a distribui o da chave privada do PKG threshold cryptography por varios PKG utilizando para tal a t cnica dese nhada por Shamir Sha79 Assim o utilizador obt m partes da sua chave privada de m ltiplos PKG e constr i a sua chave privada Contudo este sistema tem como desvantagem a carga computacional no utilizador uma vez que este tem que se autenticar para cada PKG No esquema de Baek e Zheng BZ04 os autores sugerem a partilha de partes da chave privada dos utilizadores associada identidade em vez que partilhar a chave privada do PKG Este esquema torna se especialmente atraente em ambientes empresariais Bob o presidente do comit criou a identidade e obteve a chave privada correspondente do PKG Supondo que o Bob t m que se ausentar este partilha a sua chave privada por um certo n
33. 2 38 Andr Zuquete Seguran a em Redes Inform ticas FCA Editora de Inform tica Lisboa 3rd edition 2010 7 65 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 66 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Ap ndice A Anexos A 1 Wrapper C Esquema BF Fullident A 1 1 pkg h include lt stdio h gt include lt stdlib h gt include lt string h gt include lt malloc h gt include lt pbc pbc h gt __declspec dllexport unsigned char x __cdecl generateNewMasterKey char curve int xsize __declspec dllexport unsigned char __cdecl generateNewPparam char curve int xsize __declspec dllexport unsigned char __cdecl getPrivateKey char curve unsigned char xQidhash lt gt int len unsigned char xsbyte int xsize __declspec dllexport unsigned char __cdecl getPpub char curve unsigned char xPbyte unsigned gt char xsbyte int size A 1 2 pkg h include pkg h __declspec dllexport unsigned char __cdecl generateNewMasterKey char curve int xsize pairing_t pairing element_t s pairing init set str pairing curve element init Zr s pairing element random s size element length in bytes s unsigned char data malloc xsize element to bytes data s element clear s pairing clear pairing return data __declspec dllexport unsigned char __cdecl g
34. 5 7 podemos observar o aviso apresentado para aceita o pelo utilizador e a janela para a introdu o do PIN exibido via Windows Cryptographic Service Provider Windows CSP Numa arquitetura n o windows poderia ser utilizado PKCS 11 para o mesmo efeito uma vez que as duas interfaces s o suportadas pelo CC 5 4 Servi o PKG no Azure De forma a garantir a disponibilidade do PKG este foi alojado como servi o WCF Windows Communication Foundation no Windows Azure Este servi o utilizado pela aplica o Win dows Desktop e pode ser facilmente utilizado por outras aplica es desenvolvidas em diferentes linguagens e sobre v rias plataformas e o facto de estar alojado na Cloud ajuda a garantir a escalabilidade do sistema 51 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica ER Windows Azure v joaosilveira outlook com O pkgprototypetesting a PAINEL MONITORAR CONFIGURAR ESCALA VISUALIZACAO INST NCIAS RECURSOS VINCULADOS CERTIFICADOS pkgprototypetest PRODU O stressertest o CPU PERCENTAGE WCFSER ABSOLUTO w 7DIAS w o Exo Y x 1 Ss ee er E MEE NOME ORIGEM M N M X M DIA TOTAL p Hi e n amp os E E o CPU Percentage WCFServiceWebRole1 0 29 0 34 96 0 3156 Figura 5 8 Painel de controlo do servi o PKG na plataforma Windows Azure O servi o est a usar um Unico CPU apesar deste numero pode ser aumentado a qualquer mo
35. 500 MB 0 0195 19 3742 1 GB 0 0196 39 2573 Tabela 5 2 Tempos de execu o de decifra para ficheiros com diferentes tamanhos A Tabela 5 3 cont m os tempos de cifra da chave para m ltiplas identidades Observamos que a adi o de uma identidade na cifra da chave t m um custo bastante reduzido de apro ximadamente 20 milissegundos Para a adi o de 15 identidades e cifra de um ficheiro de 10 MB ter amos um tempo de cifra de chave de aproximadamente 360 milissegundos e 380 milis segundos para algoritmo AES resultando num tempo global de cifra de aproximadamente 740 milissegundos Contudo este tempo global pode ser reduzido Key Encryption Time n identities seconds 0 0789 0 1007 0 1206 0 1411 o KR Ww N 0 1618 Tabela 5 3 Tempos de execu o na cifra da chave para n identidades Para o caso da adi o de mais identidades sugerimos a paraleliza o do processo de cifra de chaves como forma de diminuir o tempo global de cifra Se olharmos para o processo de cifra do esquema Emribe apresentado na Sec o 3 2 2 poss vel verificar facilmente que o c lculo do elemento V necess rio para cada identidade pode ser paralelizado Assim para 5 identidades o resultado de cifra da chave ser C U V1 V2 V3 Va V5 W1 W2 L 0 onde V Sare Fip F gt Q Cada V corresponder a uma thread T assim para este caso teremos 5 threads Como poss vel observar na Tabela 5 4 esta paraleliza o resultou num decr sci
36. C Client D Desktop Application Desktop Application Web Application file pdf file pdf Figura 4 1 Esquema geral da arquitetura criada Na Figura 4 1 podemos observar um exemplo de funcionamento da arquitetura criada temos quatro utilizadores A e D utilizam uma aplica o web e os utilizadores B e C a aplica o para Desktop O utilizador A cifra o ficheiro file pdf com a identidade dos utilizadores B e D e envia o ficheiro cifrado file ibc para uma unidade de armazenamento partilhada pelos utilizadores B C e D Os tr s t m acesso mas apenas os utilizadores B e D podem autenticar se ao PKG e recuperar as chaves privadas correspondentes para decifrar e obter o ficheiro original 36 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 4 3 2 Caracteristica de Identidade A utiliza o de um sistema criptogr fico baseado em identidade permite nos selecionar qualquer cadeia de caracteres string que identifique inequivocamente um utilizador para utiliza o como chave p blica Na arquitetura implementada e descrita neste cap tulo o CC o com ponente essencial para a autentica o do utilizador junto do PKG Assim e sem aprofundar demasiado no processo de autentica o descrito em detalhe mais frente neste cap tulo importante que a caracter stica string utilizada como chave p blica possa ser confirmada com o certificado p blico do utilizador contido no cart o General
37. Cart es de Identifica o Eletr nica Client Application PKG 1 Check PKG Status 2 rococo gt Status gt re check K gt SE timeout 4 unavailable r 2 PKG Offline L 4 PKG Online available Check exist true hash parameters 4 Compare up to date Parameters with PKG O parameters out of date use available get parameters Send parameters parameters parameters up to date Figura 4 6 Processo de verifica o e obten o de par metros e defini o de curva eliptica o utilizador executa a aplica o e esta consegue estabelecer uma liga o com o PKG A Figura 4 6 representa o processo de obten o de par metros p blicos e defini o de chave el ptica 1 A aplica o contacta o PKG de forma a obter o seu estado caso este pedido atinja um per odo de timeout a aplica o vai assumir que o PKG est offline e ir utilizar os par metros e a defini o de curva dispon veis caso os tenha caso contr rio n o ser poss vel cifrar ficheiros o utilizador pode a qualquer momento verificar o estado do PKG de forma a tentar estabelecer uma liga o 2 Caso seja estabelecida uma liga o o PKG informa a aplica o se est dispon vel ou indispon vel o servi o de PKG pode estar desativado por exemplo para manuten o 3 Se o PKG estiver dispon vel a aplica o vai verificar se tem par metros p blicos e defini o de curva el ptica se os tiver
38. Computer Sci ence pages 223 238 Springer Berlin Heidelberg 2004 http dx doi org 10 1007 978 3 540 24676 3 14 15 18 Elaine Barker William Barker William Burr William Polk and Miles Smid Recom mendation for key management part 1 General In NIST Special Publication 800 57 August 2005 National Institute of Standards and Technology Available at http csrc nist gov publications nistpubs 800 57 SP800 57 Part 1 pdf 2005 12 Dan Boneh and Matthew K Franklin Identity based encryption from the weil pairing In Proceedings of the 21st Annual International Cryptology Conference on Advances in Cryptology CRYPTO 01 pages 213 229 London UK UK 2001 Springer Verlag http dl acm org citation cfm id 646766 704155 14 17 18 21 Dan Boneh Craig Gentry and Michael Hamburg Space efficient identity based en cryption without pairings Foundations of Computer Science IEEE Annual Symposium on 0 647 657 2007 14 X Boyen and L Martin Identity Based Cryptography Standard IBCS 1 Supersin gular Curve Implementations of the BF and BB1 Cryptosystems RFC 5091 Informa tional December 2007 http www ietf org rfc rfc5091 txt 15 Mihir Bellare and Phillip Rogaway Random oracles are practical a paradigm for designing efficient protocols In Proceedings of the 1st ACM conference on Computer 61 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica BSNSO5 BZ04 Ce
39. Fip client dll Encrypt Generate random element r Generate random element R Calculate U r P Calculate rQ r Q Calculate V r Fm r Q Calculate W Q Ppub R r genSmallR curve R genBigR curve U calcU curve P r rQ calcrQ curve Q r V calcV curve r Fip rQ Wi calcW1 curve Q Ppub r R Decrypt U dip Calculate R ETETA W R decryptCalcR curve U dip Ppubs Fip Wi Tabela 3 5 Wrappers para PKG e cliente do esquema Emribe ver Anexo A 2 A utiliza o destes wrappers num sistema real come a pela escolha ou gera o de uma curva el ptica por parte do PKG Depois da escolha da curva pode ser gerada pelo PKG a chave privada s para ambos os esquemas os par metros p blicos P e Ppup para o esquema BF Fullident e P Q Pour Q Ppub este c lculo pr vio evita que o utilizador efetue uma opera o extra durante a cifra para o esquema Emribe A defini o da curva el ptica utilizada pelo PKG bem como os par metros p blicos t m que ser disponibilizados ao utilizador aplica o cliente enquanto que a chave privada ser do conhecimento exclusivo do PKG nela depender a seguran a do sistema Para al m dos wrappers descritos foi ainda criado outro para a implementa o do esquema 26 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica de IBS Pa
40. IBE foi feita numa primeira fase sob a forma de aplica es teste em linguagem C exclusivamente para a cifra e decifra de pequenas mensagens Numa segunda fase foram criados wrappers para a implementa o dos esquemas IBE e IBS na lingua gem NET Cf e posteriormente uma biblioteca nesta linguagem com o esquema de IBE escolhido para utiliza o no desenvolvimento da arquitetura de cifra e decifra de ficheiros baseada em IBC com o CC como mecanismo de autentica o do utilizador no PKG 24 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 3 3 1 1 Aplica es de Teste Foram implementados ambos os esquemas de IBE em aplica es simples de funcionalidade limitada para demonstrar a cifra de uma mensagem curta com uma identidade X e a respetiva decifra da mensagem utilizando a chave privada correspondente a essa identidade Estas aplica es geram novos par metros de sistema sempre que s o executadas servindo unicamente como teste aos wrappers e ao respetivo esquema 3 3 1 2 Wrapper DLL A ideia inicial do projeto foi adicionar capacidades criptograficas ao CC usando m todos de IBC Decidiu se usar NET C como linguagem de desenvolvimento e usar assim as bibliotecas NET de desenvolvimento para o CC Uma vez que tanto quanto do nosso conhecimento nao existem bibliotecas para C que per mitam a utiliza o de curvas el pticas e efetua o de pairings entre elementos foi necess
41. IBE s o na sua maioria baseados em suposi es de problemas dif ceis em curvas el pticas as mais utilizadas s o e Problema de Computational Diffie Hellman CDH em G n o existe um algoritmo eficiente para calcular P P a partir P aP bP G para a be Zi e Problema de Weak Diffie Hellman W DH em G n o existe um algoritmo eficiente para calcular sQ a partir de P Q sP E Giese Z e Problema de Diffie Hellman Bilinear BDH em G1 G2 n o existe um algoritmo eficiente para calcular P P P G a partir de P aP bP cP G onde a b ce Zi e Problema de Decisional Diffie Hellman Bilinear DBDH em G1 G2 n o existe um algoritmo eficiente para decidir se r P P dado r G ea b ce Zi 2 4 2 2 Vantagens A simplicidade de um sistema IBC talvez a sua maior vantagem em rela o a outras solu es Um sistema IBC elimina a necessidade da utiliza o de certificados listas de revoga o e de estruturas caras e complexas associadas a sistemas PKI Como resultado a sua utiliza o substancialmente mais simples para o utilizador comum e o seu custo significativamente mais baixo que o de um sistema PKI Podemos apontar v rias outras potencialidades e vantagens da utiliza o de sistemas IBC N mero finito de utilizadores O sistema pode ser implementado de forma a que ap s terem sido distribu das todas as chaves privadas dos utilizadores o PKG possa ser fechado e a sua cha
42. Identifica o Eletr nica da qual a chave privada pode ser obtida a sua validade ou mesmo um intervalo de tempo espec fico Outro tipo de informa o pode igualmente ser adicionada para for ar por exemplo o cumprimento de certas pol ticas ou caracter sticas exemplo permitir que o utilizador apenas possa recuperar a chave privada respetiva caso esteja a contactar o PKG dentro de uma gama especifica de IP de uma dada organiza o 2 4 2 3 Problemas em Aberto Revoga o de Chaves Em esquemas tradicionais de PKI a revoga o de chaves p blicas um problema em que os utilizadores para cifrar uma mensagem ou verificar assinatura t m de verificar primeiro se a chave p blica foi revogada ou n o Para tal deve ser mantida uma CRL pela PKI No entanto com esquemas de IBE ocorre outro tipo de problemas de revoga o Supondo um sistema que utiliza o email como chave p blica em que a identidade do Bob bob b com se a chave privada correspondente a bob b com for comprometida o Bob n o pode voltar a utilizar o seu mail como chave p blica Em BF01 Boneh e Franklin sugerem como solu o para este problema adicionar uma string temporal identidade usada como chave p blica em que os utilizadores teriam que renovar as suas chaves privadas periodicamente Por exemplo para a identidade do Bob bob b com este usa bob b com agosto 2013 como chave p blica Assim esta chave ser apenas v lida durante o m s de agosto do ano 20
43. Identifica o Eletr nica element clear U element clear P element clear r pairing clear pairing return data __declspec dllexport unsigned char __cdecl decryptCalcH2 char curve unsigned char Didbyte lt gt unsigned char xUbyte int size pairing_t pairing element_t Did U DidU pairing init set str pairing curve element init G1 Did pairing element init G1 U pairing element init GT DidU pairing element from bytes Did Didbyte element from bytes U Ubyte element pairing DidU Did U size element length in bytes DidU unsigned char data malloc xsize element to bytes data DidU element clear Did element clear U element clear DidU pairing clear pairing return data j A 2 Wrapper C Esquema Emribe A 2 1 pkg h include lt stdio h gt Zinclude stdlib h Zinclude string h include lt malloc h gt include lt pbc pbc h gt __declspec dllexport unsigned char __cdecl generateNewMasterKey char curve int xsize __declspec dllexport unsigned char __cdecl generateNewPparam char curve int xsize __declspec dllexport unsigned char __cdecl generateNewQparam char curve int xsize __declspec dllexport unsigned char __cdecl getPrivateKey char curve unsigned char xHthash int Hilen unsigned char xsbyte int xsize __declspec dllexport unsigned char __cdecl calcPpub char curve unsigned char xPbyte unsigned gt char sbyte in
44. Nascimento N mero de k 00000000 ozz 1501 2012 identifica o civil S Assinatura N mero digitalizada do cart o Data de validade Verso Filia o N mero de 8 us FS identifica o im 000000000 Numero de utente fiscal de saude 2214 2 T lt lt lt lt lt lt lt lt lt lt lt 1 EIA lt CONCEICAO I lt PRT00000000 lt lt 0 8108108F1201158P AVILA lt lt PAULA lt AND EL A N mero da seguran a social Figura 2 1 Frente e verso do Cart o de Cidad o Portugu s e Guardar informa o pessoal para valida o interna de identidade do titular Esta valida o consiste num mecanismo de Match on Card que permite comparar uma impress o digital comunicada ao cart o com a impress o digital do titular presente no cart o para fins de valida o e Guardar informa o reservada Esta informa o consiste na morada do titular e pode ser disponibilizada pelo titular de forma fidedigna atrav s do smartcard a quem desejar ou a quem tiver autoriza o para obter esta informa o e Guardar informa o p blica de grande dimens o Esta informa o consiste na fotografia digital do titular e pelos certificados de chaves p blicas correspondentes autentica o e assinatura digital e Guardar toda a informa o do titular vis vel fisicamente no cart o e Efetuar opera es criptogr ficas usando as chaves que fazem parte da informa o priva
45. RxQHA228bjcV3vojRQhgR 1eBAfwqha fttA5xw PZGevmGeZCNKARAkriSAHgX5cxj9oMSvB1Ase5SFMptLbm eeOZK4H1JqrO8U07fAldfj5YOWZp9pgCnXdmK5 s dU8C dLHTpAfcbx1ioC2sYQ Tabela 2 2 Comparac o entre uma chave p blica IBC e uma chave p blica RSA Um sistema criptogr fico baseado em identidade permite que qualquer par de utilizadores pos sam comunicar entre si de forma segura sem necessidade de troca pr via de chaves p blicas ou de certificados eliminado assim o problema de distribui o de chaves p blicas e sem a necessidade de manter reposit rios de chaves p blicas Ao contr rio dos sistemas tradicio nais de criptografia de chave p blica em que esta geralmente uma cadeia bin ria de dif cil memoriza o Ver tabela 2 2 em sistemas de IBC o remetente apenas precisa de conhecer a caracter stica identificadora do destinat rio da qual ir ser derivada a chave p blica como por exemplo o endereco de email Esta simplicidade concetual torna este tipo de sistemas espe 12 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica cialmente atraentes uma vez que faz com que os aspetos criptogr ficos de uma comunica o sejam praticamente transparentes para o utilizador e possam ser usados pelo utilizador comum que nada sabe sobre chaves ou protocolos No entanto este tipo de sistemas trazem tamb m algumas desvantagens as quais ser o apre sentadas em detalhe nesta sec o bem como as pos
46. Size element length in bytes V unsigned char data malloc xsize element to bytes data V element clear r element clear H1 element clear rQ element clear rH1 element clear V pairing clear pairing return data __declspec dllexport unsigned char __cdecl calcW1 char curve unsigned char eQPpubbyte lt gt unsigned char smallRbyte unsigned char xbigRbyte int xsize pairing t pairing element t r R eQPpub eQPpubr W1 pairing init set str pairing curve element init Zr r pairing element init GT R pairing element init GT eQPpub pairing element init GT eQPpubr pairing element init GT W1 pairing element from bytes eQPpub eQPpubbyte element from bytes r smallRbyte element from bytes R bigRbyte element pow zn eQPpubr eQPpub r element mul W1 eQPpubr R 74 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica size element length in bytes W1 unsigned char data malloc xsize element_to_bytes data W1 element_clear r element clear R element clear eQPpub element clear eQPpubr element clear W1 pairing clear pairing return data __declspec dllexport unsigned char x __cdecl decryptCalcR char curve unsigned char Ubyte gt unsigned char pkbyte unsigned char Ppubbyte unsigned char Vbyte unsigned char Wibyte lt gt int xsize ePpubV division R t pairing t pa
47. Zq grupo 0 q 1 sob adi o de m dulo q Zt grupo multiplicativo de inteiros m dulo n mero primo q G grupo de ordem primo G algoritmo gerador que satisfaz a hip tese de Diffie Hellman DH Bilinear dip chave privada de ID Fip chave publica de ID S chave privada chave mestra do sistema P Ppub par metro p blico de sistema H fun o de hash Tabela 3 1 Nota es do Esquema BF Fullident Extract Para uma dada string ID 0 1 o algoritmo 1 calcula Fip H ID Gj e 2 define a chave privada como dip s Fip onde s a chave privada chave mestra do sistema Encrypt Para cifrar a mensagem M 0 1 com a chave publica ID 1 calcular Fip Gi 2 escolher um n mero aleat rio o 0 1 3 calcular r Hs o M e definir a mensagem cifrada como C r E P c H gtp M p Ha o onde SID Fip Ppub E G3 Decrypt Seja C U V W C uma mensagem cifrada usando a chave publica ID se U G rejeitar a mensagem cifrada Para decifrar C usando a chave privada dip G 1 Calcular V H dip U o 2 Calcular W H4 c M 3 Definir r Hs o M Verificar se U r P Caso nao se verifique rejeitar a mensagem cifrada 4 M a mensagem decifrada resultante de C A cifra de M W M Ha o pode ser substitu da por W Ey M onde E um esquema de cifra sim trica 3 2 2 Esquema Emribe Setup Dado um n mero primo q o algoritmo funciona da seguinte f
48. a da identidade de um utilizador Contudo surge outro problema o utilizador necessita de saber o n mero de identifica o das pessoas para as quais pretende cifrar o ficheiro Este problema pode ser solucionado de v rias formas dependendo 37 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica do contexto de utiliza o do sistema Para um sistema utilizado por uma empresa uma das solu es para este problema passa por utilizar o nome completo ou o primeiro e ltimo nome em conjunto com uma caracter stica que assim identificasse o utilizador dentro da empresa caracter sticas consideradas partida como conhecidas pelo utilizador remetente Por exemplo utilizando o nome e cargo da pessoa nessa empresa para tal seria necess rio a Liga o de uma base de dados ao PKG com informa o sobre os empregados nome n mero do CC e informa o sobre o cargo Num sistema para uma universidade a solu o poderia passar por utilizar o n mero de estu dante docente e funcion rio como caracteristica de identidade Ambas a solu es apresentadas necessitariam de um registo pr vio do utilizador num base de dados contudo neste tipo de contextos de esperar que este registo exista assim que o utili zador passe a fazer parte da organiza o ou universidade Outra solu o poss vel seria utilizar todo o certificado de autentica o como chave p blica Esta solu o implicaria no entan
49. a de ficheiros baseado em identidade O objetivo deste cap tulo prende se apresenta o dos esquemas utilizados das suas imple mentac es e dos desafios e op es tomadas durante o desenvolvimento Procura se desta forma 32 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica fornecer um vis o aprofundada dos algoritmos e esquemas subjacentes utilizados na arquitetura especificada no cap tulo seguinte 33 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 34 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Cap tulo 4 Arquitetura 4 1 Introdu o No Cap tulo 3 foram apresentados os esquemas criptogr ficos nos quais se baseia a arquitetura desenvolvida Neste cap tulo pretende se abordar a arquitetura de cifra e decifra de ficheiros e o sistema de associa o de pol ticas de privacidade sticky policies durante o processo de cifra dos ficheiros apresentada a estrutura da arquitetura bem como os diferentes componentes que a comp em de uma forma pormenorizada Pretende se justificar as solu es implementadas e fornecer uma vis o do funcionamento global assim como de cada uma das fases 4 2 Cen rios de Utiliza o Relativamente aos cen rios de utiliza o da arquitetura para a cifra e decifra de ficheiros com IBE e recupera o de chaves utilizando o CC foram considera
50. a do ficheiro Aviso apresentado durante o processo de autentica o e pedido de introdu o do PIN de autentica o do CC ww ee ee ee Painel de controlo do servi o PKG na plataforma Windows Azure Aplica o Web para a gest o e cifra de ficheiros na Cloud XV Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica xvi Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Lista de Tabelas 2 1 2 2 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 5 1 5 2 5 3 5 4 Tamanhos de chave recomendados pelo NIST e custos relativos de computa o do algoritmo de Diffie Hellman e Curvas El pticas Compara o entre uma chave p blica IBC e uma chave p blica RSA Nota es do Esquema BF Fullident Nota es do Esquema Multi Receiver IBE Nota es do Esquema de Assinatura Paterson IBS Wrappers para PKG e cliente do esquema BF Fullindent ver AnexoA 1 Wrappers para PKG e cliente do esquema Emribe ver Anexo A 2 Wrapper para assinatura esquema Paterson IBS ver Anexo A 3 N mero de opera es na curva el ptica entre os esquemas BF Fullident e Emribe Compara o do tamanho do cabe alho entre os esquemas BF Fullident e Emribe Compara o dos tempos em segundos de opera es sobre curva el ptica
51. a do modelo de random oracles em que a seguran a reduzida ao problema de Decisional Diffie Hellman Bilinear DBDH ver Sec o 2 4 2 1 A gera o de chaves pelo PKG uma tarefa computacionalmente pesada Em adi o gera o de chaves o PKG ainda respons vel pela autentica o e pela cria o de canais seguros de forma a transmitir as chaves privadas geradas aos respetivos utilizadores Esquemas de IBE Hier rquicos ou Hierarchical Identity Based Encryption HIBE introduzidos por Horwitz e Lynn HLO2 permitem a exist ncia de um PKG raiz que delega a gera o de chaves privadas e autentica o de identidade para os PKG de n veis mais baixos Num HIBE o PKG raiz precisa apenas de ter chaves privadas para os PKG de n veis mais baixos que por sua vez geram chaves privadas para os utilizadores Com esta delega o de fun es para os PKG de n veis inferiores a carga computacional da autentica o e gera o de chaves distribu da e reduzida para cada PKG no entanto neste esquema poss vel que os utilizadores conluiam e obtenham as chave dos PKG de n veis abaixo do primeiro Em GS02 Gentry e Silverberg estendem o esquema de Boneh e Franklin para apresentar uma solu o de HIBE completamente resistente a conluio Lynn Lyn02 mostrou a constru o de um esquema IBE com autentica o ou Authenticated Identity Based Encryption AIBE baseado no esquema de Boneh e Franklin O recetor verifica a identidade do re
52. a seguran a os fundamentos de criptografia de curva el ptica e o aparecimento da criptografia baseada em identidade assina tura e cifra Foram expostas as vantagens da utiliza o de um sistema IBC os problemas em aberto bem como as solu es existentes nesta rea No cap tulo tr s foram apresentadas as descri es t cnicas dos esquemas implementados e as implementa es que levaram cria o de um conjunto de wrappers para a linguagem NET C e ao desenvolvimento de uma biblioteca para implementa o de um sistema completo de IBE que tem por base o esquema Emribe No cap tulo seguinte foi apresentada a solu o proposta para a arquitetura de cifra e decifra de ficheiros com IBE e com o CC como mecanismo de autentica o junto do centro gerador de chaves PKG Foram abordadas a estrutura geral do sistema e os diferentes processos que a comp em bem como as respetivas justifica es para as decis es efetuadas Por fim no ltimo cap tulo foram expostos os resultados obtidos nomeadamente a aplica o prot tipo desenvolvida a integra o do sistema numa plataforma Web j existente e o servi o PKG que o elemento central na arquitetura Foram apresentados tamb m v rios tempos de execu o obtidos durante as v rias fases de funcionamento da arquitetura 57 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Os objetivos a alcan ar definidos no in cio da disserta
53. al e a adi o dos campos slengths sid Re S O campo slengths cont m informa o sobre o tamanho dos elementos seguintes sid cont m a identidade do utilizador que assinou a men sagem e os campos R e S correspondem aos elementos alg bricos necess rios para a verifica o da assinatura O campo file length necess rio de forma a calcular o tamanho do ficheiro cifrado durante o processo de decifra e saber onde acaba o ficheiro e come am os par metros de assinatura Os ltimos quatro campos s o exclusivos da assinatura e s constam no ficheiro se o utilizador decidir cifrar e assinar Caso o utilizador decida associar um ficheiro com pol ticas s chave s p blica s esta associ a o realizada combinando a s identidade s com o hash do respetivo ficheiro de pol ticas assim a chave p blica ser identidade hash ficheiro XML Esta utiliza o do hash na chave p blica vai criar a liga o entre as pol ticas e o ficheiro cifrado uma vez que hash utilizado s poder ser gerado com as pol ticas originais Se um atacante tentar alterar as pol ticas a 2Uma vez que o ficheiro cifrado por blocos de 128 bits com o algoritmo AES com chave de 256 bits o tamanho do ficheiro cifrado em bytes pode ser calculado atrav s da f rmula ciphersize filesize 16 1 x 16 40 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica chave privada gerada n o ser capaz de decifrar o
54. alcR char curve unsigned char xUbyte lt gt unsigned char pkbyte unsigned char Ppubbyte unsigned char Vbyte unsigned char Wibyte 72 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica int size A 2 4 client c t include client h _declspec dllexport unsigned char x pairing t pairing element t R pairing init set str pairing curve element init GT R pairing element random R size element length in bytes R unsigned char data malloc x size element_to_bytes data R element clear R pairing clear pairing return data __declspec dllexport unsigned char x t pairing t pairing element t r _cdecl genBigR char curve int size _cdecl genSmallR char curve int xsize pairing init set str pairing curve element init Zr r element random r size element length in bytes r unsigned char data element to bytes data pairing r element_clear r pairing_clear pairing return data __declspec dllexport unsigned char x char rbyte int size pairing_t pairing element_t P r U malloc x size _cdecl calcU char curve unsigned char Pbyte unsigned gt pairing_init_set_str pairing curve element_init_G1 P pairing element_init_G1 U pairing element_init_Zr r pairing element_from_bytes r rbyte element_from_bytes P Pbyte element_mul_zn U P r
55. ar ficheiros Para permitir estas capaci dades e uma vez que n o vi vel cifrar um ficheiro com IBE foi necess rio implementar um esquema de criptografia h brida desta forma gerada uma chave sim trica aleat ria de 256 bits com a qual cifrado o ficheiro com Advanced Encryption Standard AES e por sua vez a chave sim trica cifrada com IBE utilizando a identidade escolhida id length U length W length bytes bytes bytes identifier lengths id extension U V W IV encrypted file 12 bytes 12 bytes extension length V length IV length bytes bytes bytes id length extension length U length V length W length IV length Figura 3 1 Representa o de um ficheiro cifrado com o esquema BF Fullident A cifra e decifra envolve elementos alg bricos os quais t m de ser passados com o ficheiro cifrado para tal houve necessidade de definir um cabe alho para o ficheiro que inclu sse estes elementos e outra informa o necess ria no processo de decifra do ficheiro 27 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica id length U length W1 length IV length bytes bytes bytes bytes identifier lengths id extension U V W1 W2 IV encrypted file extension length V length W2 length 12 bytes 14 bytes bytes bytes bytes id length extension length U length V length W1 length W2 length IV length Figura 3 2 Representa o de um ficheiro ci
56. aseia no esquema IBE de Boneh e Franklin para garantir o envio de mensagens de forma segura sem as dificuldades e as despesas de uma solu o tradicional baseada em certificados Esta solu o baseia se em usar o email como chave p blica Ver Figura 2 4 para cifrar e enviar email de forma segura Passo 1 Alice cifra o email usando o endere o de email do Bob bob b com como chave p blica Passo 2 Quando o Bob recebe a mensagem autentica se ao Key Server ou PKG O PKG contacta um servi o de autentica o externa para autenticar o Bob Passo 3 Depois de o Bob estar autenticado junto do PKG o PKG envia a chave privada do Bob com a qual ele pode decifrar a mensagem Esta chave privada pode ser utilizada para decifrar todas as futuras mensagens recebidas pelo Bob Algumas estat sticas VSb do Voltage SecureMail em 2011 inclu am 50 milh es de utilizadores mundiais com proje o de 100 milh es em 2014 estimativa de aproximadamente mil milh es de emails cifrados e enviados em 2011 Um ter o das 20 maiores companhias p blicas mundiais usavam esta solu o como standard para o envio de emails seguros 18 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Key Server 1 2 3 Encrypt with Public Key Bob Private Key for Name bob b com Authenticates bob b com Di Send Secure Email Alice Bob Figura 2
57. aso da arquitetura criada estas pol ticas s o aplicadas a ficheiros cifrados de forma a controlar e limitar o acesso ao conte do do ficheiro original respetivo 35 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica e A cifra das solu es de um teste exame com a identidade dos alunos que v o efetuar a prova qual associada uma data inicio de validade da chave privada assim a solu o poderia ser colocada online antes da realiza o da prova mas s seria poss vel obter a chave respetiva ap s a sua realiza o e O exemplo anterior aplica se igualmente disponibiliza o de testes exames e outros conte dos os alunos podem descarregar as provas mas s ser poss vel obter uma chave privada para decifrar o ficheiro na data designada pelo professor 4 3 Descri o do Sistema A sistema criado foi desenhado com base nas caracter sticas e funcionalidades pretendidas no in cio do desenvolvimento do projeto e dos requisitos inerentes dos cen rios de uso apresentados na sec o anterior O objetivo principal foi a cria o de um sistema de cifra e decifra de ficheiros que fizesse uso do mecanismo de autentica o do CC e das funcionalidades caracter sticas de um sistema criptogr fico baseado em identidade 4 3 1 Funcionamento Geral file pdf Id 1 Client B ld 2 Client D file ibe Client A Web Application Client B Client
58. b Estes padr es e pol ticas garantem a sal vaguarda da informa o privada presente no smartcard Uma das carater sticas a prote o por PIN de controlo de acesso referidos anteriormente na sec o 2 2 Estes PIN controlam o acesso morada chave privada de autentica o e chave privada de assinatura e toleram o m ximo de tr s tentativas Ap s tr s tentativas erradas a funcionalidade respetiva fica inutiliz vel e de forma a ser desbloqueada o titular tem que se deslocar a uma entidade autorizada e indicar o respetivo c digo de desbloqueio PUK que lhe 9 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica GTE CyberTrust Global Root ECRaizEstado a Cartao de Cidadao 001 EC de Autenticacao do Cartao de cidadao 0001 Nome Completo do Titular EC de Assinatura Digital Qualificada do Cartao de cidadao 0001 Nome Completo do Titular Figura 2 2 Cadeia de certifica o dos certificados de chave p blica de assinatura e autentica o do Cart o de Cidad o Portugu s foi fornecido com o CC Esta funcionalidade de prote o por PIN especialmente importante para a seguran a na utiliza o do par de chaves assim tricas pois garante a confidencialidade das chaves privadas mesmo que o cart o seja extraviado assumindo que os PIN s o apenas do conhecimento do titular do cart o Para al m disto o CC fornecido com um c digo de oito algarismos que permite o can
59. b para gest o e cifra de ficheiros na Cloud A biblioteca desenvolvida e apresentada na Sec o 3 5 utilizada por uma aplica o Web criada no mbito de uma disserta o desenvolvida paralelamente no Projeto PRICE Esta aplica o fornece acesso web uniforme aos fornecedores de armazenamento e servi os na Cloud mais populares tais como a Dropbox Skydrive Meo Cloud e Google Drive ver Figura 5 9 e usa o mecanismo de autentica o do CC como Token de acesso nico contudo funciona de forma diferente da aplica o anteriormente apresentada 52 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica O PKG est integrado na aplica o Web assim tanto a cifra e decifra de ficheiros como o cumprimento das pol ticas da responsabilidade da pr pria aplica o Esta forma de im plementa o especialmente interessante na defini o e cumprimento de pol ticas e regras baseadas em papeis uma vez que a pr pria aplica o respons vel por estes dois processos e cont m informa o sobre o utilizador 24 10 2012 05 12 2011 23 02 2013 24 09 2012 PRRRRRTOPPEB 16 01 2013 Figura 5 9 Aplica o Web para a gest o e cifra de ficheiros na Cloud 5 6 Tempos de execu o Na Tabela 5 1 poss vel observar os tempos de cifra do ficheiro e de chave obtidos na aplica o Windows Desktop para v rios ficheiros gerados aleatoriamente com tamanhos diferentes
60. bot o representado na imagem por um smartcard Encrypt Decrypt Encrypt Decrypt PKG Online PKG Online Sofia Suspenso Sofia Suspenso Paulo Expirado Paulo Expirado Jodo Pedro Cipriano Silveira lt Jo o Pedro Cipriano Silveira Sign Fle Reset neem Encrypt Figura 5 4 Cifra de um ficheiro com m ltiplas identidades Para o processo de cifra o utilizador pode ainda selecionar se deseja ou n o assinar o ficheiro cifrado com a sua identidade atrav s da op o Sign File de modo a realizar este processo necess rio que o utilizador se autentique ao PKG Para al m desta op o a aplica o permite ainda carregar e associar um ficheiro XML com uma defini o das pol ticas s chave s p blica s com a qual quais o ficheiro ser cifrado atrav s do bot o Load Policy Caso sejam associadas pol ticas estas s o guardadas juntamente com o ficheiro cifrado como mostrado anteriormente O utilizador pode selecionar o ficheiro que deseja cifrar simplesmente arrastando o para a rea assinalada na aplica o Depois de cifrado pode arrastar o ficheiro resultante para a pasta local pretendida o Na Figura 5 4 o ficheiro file pdf cifrado com tr s identidades Sofia Suspenso Paulo Expirado e Joao Pedro Cipriano Silveira e assinado com a identidade do utilizador o ficheiro cifrado resultante file ibc 49 Aplica es de Criptografia Baseada em Identidade com Cart es de I
61. ca es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Cap tulo 5 Resultados 5 1 Introdu o Neste cap tulo ser o apresentados os resultados do sistema implementado Ser apresentada a aplica o para Windows de cifra e decifra de ficheiros e uma solu o para servi os de ar mazenamento em Cloud criada no mbito de uma disserta o desenvolvida paralelamente no Projeto PRICE que utiliza a arquitetura proposta Para al m destas aplica es ser apresentado igualmente o servi o de PKG que se encontra a correr online na plataforma Azure 5 2 Aplica o para a cria o de pol ticas As pol ticas de ficheiros apresentadas no cap tulo anterior podem ser definidas e criadas em linguagem XML num simples editor de texto pelo utilizador De modo a facilitar a defini o e cria o destas foi criada uma aplica o para Windows em que o utilizador pode especificar de forma simples as pol ticas desejadas e guardar automaticamente o ficheiro XML gerado com as especifica es selecionadas ver Figura 5 1 1 lt xml version 1 0 encoding utf 8 gt Dates 2 lt POLICY gt V Start 01 01 2013 00 00 Br 3 lt DATE active true gt M End 01 01 2014 00 00 Br 4 lt Start gt 01 01 2013 00 00 lt Start gt 5 lt End gt 01 01 2014 00 00 lt End gt Security Clearance 6 lt D ATE gt ear 7 SECURITY 4 y 8 lt Type gt Level 3 lt Type gt 9 lt SECURITY gt Save 1
62. celamento de todas as funcionalidades do cart o assim que fornecido s autoridades competentes Os certificados de assinatura e de autentica o do titular de um cart o e os respetivos certifi cados das CA podem ser validados atrav s do Online Certificate Status Protocol OCSP Para al m disto todos os certificados exceto o certificado raiz incluem informa o sobre onde pode ser obtida uma lista de revoga o de certificados ou Certificate Revocation List CRL Esta lista cont m todos os certificados que foram revogados e cuja data de validade ainda n o expirou a data de revoga o e a raz o para a revoga o 2 2 5 Middleware O middleware permite a comunica o entre o sistema operativo do smartcard do CC e um com putador O middleware para o CC disponibilizado pelo Estado Portugu s AMA12 constitu do por tr s Application Programming Interface API e CryptoAPI CSP e PKCS 11 e elD lib 10 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica As duas primeiras interfaces consistem em APIs para opera es criptogr ficas e a elD lib para as funcionalidades n o criptogr ficas do CC As interfaces CryptoAPI CSP e PKCS 11 s o dire cionadas para aplica es baseadas e n o baseadas na arquitetura windows respetivamente No caso da interface elD lib esta permite realizar opera es com o smartcard que s o especificas natureza do CC como documento de identifica
63. cheiros descrita no cap tulo anterior o utilizador tem ainda as op es de assinar o ficheiro com a sua identidade esquema Paterson IBS e as sociar informa o sobre um ficheiro com uma descri o de pol ticas XML s chave s p blica s Se o utilizador pretender apenas cifrar o ficheiro n o necess rio qualquer contato com o PKG desde que a aplica o disponha dos respetivos par metros p blicos e da defini o de curva el ptica Contudo se pretender assinar o ficheiro necess rio autenticar se no PKG atrav s da aplica o com o CC e obter a chave privada correspondente sua identidade ver Sec o 4 3 6 No caso da assinatura o cabe alho do ficheiro cifrado ir sofrer altera es em rela o ao apresentado para o esquema Emribe no cap tulo anterior de forma a poder guardar todas as informa es e elementos necess rios para a verifica o da assinatura hash SHA256 sid length S length e bytes bytes MM HUM file length encrypted file slengths sid R S 8 bytes 6 bytes R length bytes 2 bytes sid length 2 bytes R length 2 bytes S length Figura 4 4 Cabecalho de um ficheiro cifrado e assinado Na Figura 4 4 possivel observar a azul a parte correspondente dos elementos do ficheiro para a qual efetuado o hash este sera assinado com a chave privada do utilizador A vermelho est assinalada a adi o dos campo file length de 8 bytes que cont m o tamanho do ficheiro origin
64. d pairing element init GT gidr pairing element from hash Qid Qidhash len element from bytes r rbyte element from bytes Ppub Ppubbyte element pairing gid Qid Ppub element pow zn gidr gid r size element length in bytes gidr unsigned char data malloc xsize element to bytes data gidr element clear Ppub element clear Qid element clear r element clear gid element clear gidr pairing clear pairing return data 3 __declspec dllexport unsigned char __cdecl encryptGetR char curve unsigned char rhash int lt gt len int xsize pairing_t pairing element_t r pairing init set str pairing curve element init Zr r pairing element from hash r rhash len size element length in bytes r unsigned char data malloc xsize element_to_bytes data r element_clear r pairing_clear pairing return data 3 __declspec dllexport unsigned char __cdecl encryptCalcU char curve unsigned char Pbyte lt gt unsigned char xrbyte int xsize pairing_t pairing element_t P r U pairing init set str pairing curve element init G1 P pairing element init G1 U pairing element init Zr r pairing element from bytes r rbyte element from bytes P Pbyte element mul zn U P r size element length in bytes U unsigned char data malloc xsize element to bytes data U 69 Aplica es de Criptografia Baseada em Identidade com Cart es de
65. da do cart o As opera es realizadas pelo smartcard em nome do titular do cart o necessitam da introdu o de um Person Identification Number PIN de quatro algarismos Cada cart o possui tr s PIN para autoriza o da indica o da morada autentica o do titular e produ o de assinatura digital Estes PIN s o uma camada de seguran a caso o titular perca o seu cart o pois impede 8 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica que as funcionalidades do cart o sejam utilizadas por outrem uma vez que que cada PIN disp e apenas de tr s tentativas de descoberta Se estas forem utilizadas erradamente o PIN bloqueado e o seu desbloqueio s poss vel junto de uma entidade autorizada e com o PIN Unlock Key PUK respetivo fornecido com o CC 2 2 1 Autentica o A autentica o com smartcard do CC pode ser realizada de duas formas Atrav s do Europay Mastercard and Visa Chip Authentication Program EMV CAP em que o cart o inserido num leitor pessoal e o titular digita o PIN de autentica o de forma a gerar uma One time Password OTP Esta OTP pode ser enviada a uma entidade que a consiga verificar e assim autenticar o titular Outra forma mais comum atrav s do par de chaves assim tricas RSA 1024 bits de autentica o presentes no smartcard que podem ser usadas por v rios protocolos e aplica es como forma do titular se autenticar Cada vez que o tit
66. dade ao servi o PKG O endere o do PKG pode ser definido pelo utilizador a 48 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica qualquer momento num ficheiro de configura o que parte da aplica o Se conseguir estabe lecer liga o e iniciar uma sess o SSL a aplica o ir primeiro verificar se possui os par metros e a defini o de curva el ptica caso n o os possua vai pedir estes elementos ao PKG caso contr rio vai efetuar o hash dos elementos e verificar se estes coincidem com os elementos presentes no PKG e efetuar a respetiva atualiza o se necess rio Se a aplica o n o conseguir estabelecer liga o ver Figura 5 3 o utilizador pode verificar a qualquer altura a conetividade utilizando para tal o bot o Check Sem liga o estabelecida o utilizador pode apenas cifrar ficheiros a assinatura e a decifra n o est o dispon veis pois necess rio obter uma chave privada junto do PKG 5 3 3 Cifra de ficheiros Na cifra de ficheiros o utilizador come a por introduzir as identidades at um m ximo de cinco Este limite imposto pela aplica o e n o pela arquitetura proposta assim perfeitamente poss vel a cria o de aplica es com a biblioteca ou com os wrappers apresentados que per mitam a cifra para n identidades O utilizador pode introduzir estas identidades manualmente ou carregar a identidade a partir do Cart o de Cidad o utilizando o
67. de Desenvolvimento foram implementados alguns dos esquemas analisados em pequenas aplica es em linguagem C para o teste de assinatura e cifra e decifra de pequenas mensagens Foram criados pequenos wrappers para permitir a utiliza o destes esquemas em linguagens NET e posteriormente criadas algumas aplica es prot tipo bem como a cria o de uma biblioteca para facilitar a implementa o da arquitetura descrita neste documento 1 5 Contribui es No mbito do projeto desenvolvido surgiram algumas contribui es que consideramos impor tantes nomeadamente e Estudo de v rios esquemas de IBC das suas vantagens potencialidades e problemas em aberto e Especifica o de uma arquitetura de cifra e decifra de mensagens com criptografia baseada em identidade e respetivos esquemas de gera o e recupera o de chaves com o Cart o de Cidad o e Aplica o Desktop prot tipo e respetivo servi o online com mecanismos de autentica o atrav s do CC para gera o de chaves e Biblioteca para NET baseada na arquitetura especificada com todos os m todos neces s rios para a cria o de um sistema completo 1 6 Estrutura da Disserta o Este documento est dividido em v rios cap tulos que mostram sequencialmente o processo de investiga o desenvolvido Neste primeiro cap tulo foi descrito o projeto as motiva es os objetivos que se pretendem alcan ar bem como as contribui es do projeto Cap tulo 2
68. dentifica o Eletr nica 5 3 4 Decifra de ficheiro A janela de decifra na aplica o permite ao arrastar um ficheiro cifrado para o campo desti nado mostrar informa o sobre este ao utilizador ver Figura 5 5 Esta informa o consiste no nome original e tamanho do ficheiro identidades para as quais foi cifrado e caso tenha sido assinado e a assinatura respetiva seja verificada com sucesso pela aplica o mostrado por quem foi assinado o ficheiro no caso de a assinatura n o ser verificada com sucesso a aplica o ir mostrar a mensagem Unable to verify signature ou caso n o tenha sido assinado File not signed Contudo a decis o de decifrar ou n o o ficheiro cabe sempre ao utilizador da aplica o Original Name file pdf Size 191KB SOFIA SUSPENSO PAULO EXPIRADO JO O PEDRO CIPRIANO SILVEIRA Signed by JO O PEDRO CIPRIANO SILVEIRA File not signed Figura 5 5 Informa o sobre o ficheiro cifrado Para decifrar o ficheiro o utilizador tem primeiro que efetuar um pedido da chave privada necess ria ao PKG utilizando para tal o bot o Request Private Key Este bot o vai desencadear o processo de autentica o do utilizador junto do PKG Ap s a obten o da chave com sucesso o utilizador pode ent o decifrar e obter o ficheiro original Figura 5 6 PKG Online Private Key Loaded Original Name file pdf Size 191KB SOFIA SUSPENSO PAULO EXPIRADO JOAO PEDRO CIPRIANO SILVEIRA
69. discreto de curva el ptica em que E uma curva el ptica sobre um campo finito F P um ponto pertencente a E F e Q um ponto pertencente ao grupo lt P se Problema encontrar um inteiro t que satisfa a a condi o Q t P Acredita se Mil86b que o problema do logaritmo discreto de curva el ptica dif cil de resolver computacionalmente quando o ponto P tem como ordem um n mero primo grande A ordem do grupo normalmente designada como tamanho da curva el ptica determina a dificuldade do problema Acredita se que o mesmo n vel de seguran a proporcionado por um sistema baseado em RSA com um m dulo grande pode ser alcan ado por um grupo muito menor de curva el ptica Assim s o reduzidos os requisitos computacionais de armazenamento e transmiss o Tal como outros sistemas criptogr ficos populares n o existe at agora uma prova matem tica de seguran a para criptografia de curva el ptica Contudo foi promulgada bem como siste mas baseados nela pela National Security Agency NSA NSA05 na confer ncia RSA em 2005 onde recomenda a sua utiliza o para a prote o de informa es tanto classificadas como n o classificadas dos sistemas de seguran a e de informa o nacionais com chaves de 384 bits Em 2 lt P gt um grupo gerado por P ou por outras palavras lt P gt O P P P P P P Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica BBB 05 o NIST
70. dos tr s cen rios distintos e al guns exemplos de como poderiam beneficiar com um sistema desta natureza Hospital Cl nica Este cen rio semelhante infraestrutura criada por investigadores da HP e apresentada na Sec o 2 5 1 para um sistema de informa o para confidencialidade e privaci dade de mensagens num ambiente hospitalar Apresentamos alguns exemplos e A informa o m dica de um paciente apenas poder ser acedida decifrada pelo s seu s m dico s ou por ele pr prio e Em caso de emerg ncia deve ser poss vel decifrar as informa es com autoriza o de uma entidade superior por exemplo dire o do hospital Este caso torna a cust dia de chaves key escrow referida no Cap tulo 2 como uma desvantagem numa vantagem particularmente til neste tipo de situa es Empresa Para este cen rio apontamos como exemplos de utiliza o e Informa es importantes podem ser cifradas com m ltiplas identidades em associa o com o cargo desempenhado dentro da empresa assim um utilizador pode perder as permiss es para decifrar esses dados se despromovido e A cifra de informa es que s devem ser disponibilizadas numa certa data assim sera imposs vel obter uma chave privada antes da data estipulada para decifrar as informa es Escola Universidade Neste cen rio apontamos como exemplos de utiliza o 10 conceito de sticky policies consiste na associa o de pol ticas a dados informa o no c
71. e privacy practices Privacy enabled management of customer data pages 69 84 Springer 2002 38 Ben Lynn Authenticated identity based encryption Cryptology ePrint Archive Re port 2002 072 2002 http eprint iacr org 15 Ben Lymn Pbc library the pairing based cryptography library http crypto stanford edu pbc 2008 Dispon vel a 28 de Agosto de 2013 19 24 Marco Casassa Mont Pete Bramhall Chris R Dalton and Keith Harrison A flexible role based secure messaging service Exploiting ibe technology in a health care trial Technical report Trusted Systems Laboratory HP Laboratories Bristol 19 Victor S Miller Short programs for functions on curves In IBM Thomas J Watson Research Center 1986 14 Victor S Miller Use of elliptic curves in cryptography In Lecture notes in computer sciences 218 on Advances in cryptology CRYPTO 85 pages 417 426 New York NY USA 1986 Springer Verlag New York Inc http dl acm org citation cfm id 18262 25413 11 Marco Casassa Mont Siani Pearson and Pete Bramhall Towards accountable ma nagement of identity and privacy Sticky policies and enforceable tracing services pages 377 382 IEEE Computer Society 2003 38 L Martin and M Schertler Using the Boneh Franklin and Boneh Boyen Identity Based Encryption Algorithms with the Cryptographic Message Syntax CMS RFC 5409 Informational January 2009 http www ietf org rfc rfc5b409 txt 15 59 S A MULTICERT Declara
72. e descodificada de forma a que possam ser armazenadas trans mitidas e recuperadas pelo destinat rio da informa o sem comprometer a sua integridade e confidencialidade Estas t cnicas permitem assim um meio efetivo de prote o de informa es suscet veis a ataques e fornecem formas de comunica o seguras servi os de autentica o privacidade e de integridade de dados Os servi os b sicos de seguran a que um sistema criptogr fico deve fornecer s o Confiden cialidade Integridade Autentica o e N o Repudia o A Confidencialidade consiste em manter a informa o secreta para todos os que n o est o autorizados a ver essa informa o Integridade garante que a informa o n o foi alterada por entidades desconhecidas ou n o au torizadas Autentica o garante a identidade de uma entidade envolvida na comunica o Por ltimo a N o Repudia o previne a nega o de a es e compromissos previamente realizados 1 1 Enquadramento Os sistemas infraestruturas criptogr ficas mais conhecidas e utilizadas s o as de chave p blica ou Public Key Infrastructure PKI Num sistema tradicional a associa o entre um utilizador e a sua chave p blica obtida atrav s de um certificado digital emitido por uma autoridade de certifica o ou Certification Authority CA O CA verifica as credenciais do utilizador antes de emitir o respetivo certificado Se a Alice quiser enviar uma mensagem cifrada ao Bob precisa da chav
73. e p blica do certificado do Bob Ver Figura 1 1 1 O Bob gera um par de chaves p blica e privada autentica se e regista se no CA 2 OCA valida a identidade e emite um certificado 3 A Alice recebe o certificado do Bob 4 A Alice utiliza a chave p blica presente no certificado do Bob para cifrar a mensagem e enviar assim a mensagem cifrada ao Bob Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 5 Por sua vez o Bob utiliza a sua chave privada e decifra a mensagem cifrada pela Alice obtendo a mensagem original CA E Certificate Bob C Public Key Bob Certificate Bob Cr Public Key pop Private Key pop IN gt Message Encrypted Message Figura 1 1 Esquema de cifra tradicional com chave p blica De forma simplificar o processo de gest o de certificados Shamir Sha85 introduziu o conceito de Criptografia Baseada em Identidade ou Identity Based Cryptography IBC em 1984 Num sistema de IBC a chave p blica do utilizador derivada de uma informa o de identidade e a sua chave privada gerada por uma terceira entidade confi vel designada por Gerador de Chave Privada ou Private Key Generator PKG A principal vantagem deste tipo de sistemas a simplifica o do processo de gest o de chaves Desta forma a Alice pode enviar uma mensagem cifrada ao Bob usando a informa o de identidade deste antes de ele obter a sua
74. eada em Identidade Esquema de IBE para email da Voltage Security Representa o de um ficheiro cifrado com o esquema BF Fullident Representa o de um ficheiro cifrado com o esquema Emribe Altera es no cabe alho do ficheiro cifrado com n identidades para os esquemas BF Fullident e Emribe respetivamente Compara o dos tempos em segundos de opera es sobre curva el ptica para n identidades entre os dois esquemas BF Fullident e Emribe Esquema geral da arquitetura criada Exemplo da informa o contida no campo subject do certificado p blico de au tentica o contidono CC 2 teve 8 a Exemplo de um ficheiro XML de pol ticas Cabe alho de um ficheiro cifrado e assinado Ficheiro file pdf cifrado com a identidade ID e com ID Pol ticas Processo de verifica o e obten o de par metros e defini o de curva el ptica Processo de autentica o e obten o de chave privada junto do PKG Defini o de pol ticas e o ficheiro XML resultante Vis o geral da aplica o para Windows Desktop Informa o sobre a conetividade ao servi o de PKG Cifra de um ficheiro com m ltiplas identidades Informa o sobre o ficheiro cifrado 0 0 0 0 0 Obten o de chave privada e decifr
75. ema byte GetPrivateKey string id string curve byte masterKey 3 5 2 Fun es do Cliente Utilizador O utilizador t m ao seu dispor fun es para a cifra e decifra de ficheiros Estas permitem que o utilizador efetue a cifra e decifra de ficheiro de forma simples e sem necessidade que este conhe a o funcionamento interno do algoritmo de cifra MemoryStream EncryptStream string identities string policy MemoryStream streamln string originalFileName string curve byte paramP byte paramQ byte parameQPpub MemoryStream DecryptStream string identity byte privateKey MemoryStream strea min string curve byte paramPpub A fun o de cifra do ficheiro recebe como par metros a s identidade s com a s qual quais o utilizador pretende cifrar o ficheiro uma string opcional com informacao adicional para adici onar s identidades chave p blicas exemplo data de validade da chave privada o ficheiro a ser cifrado string opcional com o nome ou extens o original do ficheiro a cifrar defini o da curva el ptica e par metros p blicos P Q e 6 Q Ppub Esta func o implementa ainda o elemento c descrito na Secc o 3 2 2 desta forma possivel verificar a integridade do cabecalho durante a funcao de decifra Na fun o de decifra do ficheiro esta recebe a identidade e a chave privada correspondente o ficheiro cifrado a curva el ptica e o par metro p blico Ppup 31 Aplica es de Criptografia Baseada e
76. emas de IBEe IBS eee nn 3 2 1 Esquema BF Fullident 3 2 2 Esquema Emribe ves up uU RU VU RUE RESET iii vii xi xiii xvii xix 21 21 21 21 22 xi Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 3 2 3 Esquema de Assinatura Paterson IBS 3 3 Implementa o sss 2 8 Db S PR B RA a EB aaa 3 3 1 Implementa oem C 0 0 0 0 40 4 4 404 4 3 3 2 Implementa o em NET C 0 0 3 4 An lise de Efici ncia Computacional osoo e eee eee 3 5 Biblioteca NET C secem ecen a eee eee ee a nn 3 5 1 Funcoes do PKG sata Ba be RA VS Balin Ge ie AA Ur ee DE G 3 5 2 Fun es do Cliente Utilizador 0 0 0 80 u 3 6 Conclus o eee ss Arquitetura 4 1 IntroducaO sc ra o moy oo 9o DAN 9 o9 a bc DR Pod bow be 4 4 2 Cen rios de Utiliza o 222r 4 3 Descri o do Sistema eee eer nn 4 3 1 Funcionamento Geral lees 4 3 2 Caracteristica de Identidade l l eee 4 3 3 Politicas ses ces 28727 ED 26724 26 RR 16 26 UO LEE 2 4 3 4 Cifrae Assinatura lt s d Rail E RA ee rr nr 4 3 5 DECIR A2 icu scuta cete RO TE STERN a ela Ste aet 4 3 6 Comunica o Autentica o e Gera o de Chaves Privadas 4 4 Modelo de Seguran a 0 0 0 0 0 0 0 0 4B CONCUSSA 47445 re Em irs md E tne RR
77. encionados na sec o anterior ibc e ibz Se o tipo de ficheiro for ibz a aplica o vai extrair as pol ticas XML e o ficheiro cifrado ibc Caso o ficheiro ibc tenha sido assinado calculado o hash correspondente ao cabe alho e ao conte do cifrado e verificada a assinatura com os elementos presentes no final do ficheiro O utilizador informado pela aplica o do resultado da verifica o de assinatura e pode decidir se pretende decifrar ou n o o ficheiro Para decifrar o ficheiro o utilizador necessita de se autenticar corretamente atrav s da aplica o com o seu CC no PKG e obter a chave privada correspondente sua identidade ou identidade mais o hash das pol ticas 4 3 6 Comunica o Autentica o e Gera o de Chaves Privadas O processo de autentica o do utilizador junto do servi o de PKG apenas necess rio para a gera o de chaves privadas Durante este processo o CC do utilizador nomeadamente o certificado de autentica o do CC utilizado como forma de comprovar a identidade de um utilizador A chave privada de um utilizador pode ser correspondente apenas sua identidade ou identidade em jun o com as pol ticas descritas anteriormente Durante o processo de comunica o a aplica o e o PKG comunicam entre si utilizando sess es sobre Transport Layer Security Secure Sockets Layer TLS SSL Uma sess o iniciada assim que 41 Aplica es de Criptografia Baseada em Identidade com
78. enerateNewPparam char curve int xsize pairing_t pairing element_t P pairing init set str pairing curve element init G1 P pairing element random P size element length in bytes P unsigned char data malloc xsize element to bytes data P element clear P pairing clear pairing return data 67 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica __declspec dllexport unsigned char x int len unsigned char xsbyte int xsize cdecl getPrivateKey char curve unsigned char Qidhash gt pairing t pairing element t Qid s Did pairing init set str pairing curve element init G1 Qid pairing element init G1 Did pairing element init Zr s pairing element from hash Qid Qidhash len element from bytes s sbyte element mul zn Did Qid s size element length in bytes Did unsigned char data malloc size element to bytes data Did element clear Qid element clear Did element clear s pairing clear pairing return data j __declspec dllexport unsigned char x char sbyte int xsize cdecl getPpub char curve unsigned char Pbyte unsigned lt gt t pairing t pairing element t P s Ppub pairing init set str pairing curve element init G1 P pairing element init G1 Ppub pairing element init Zr s pairing element from bytes P Pbyte element from bytes s sbyte element mul zn Ppub P
79. ennaro Stanislaw Jarecki Hugo Krawczyk and Tal Rabin Secure Distribu ted Key Generation for Discrete Log Based Cryptosystems 1999 18 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica GM03 GS02 HLO2 Jou04 KG09 Kob87 KSW02 Lyn02 Lyn08 MBDH Mil86a Mil86b MPBO3 MSO9 MUL1 1a Simon Godik and Tim Moses editors eXtensible Access Control Markup Language XACML Version 1 0 February 2003 38 Craig Gentry and Alice Silverberg Hierarchical id based cryptography Cryptology ePrint Archive Report 2002 056 2002 http eprint iacr org 15 Jeremy Horwitz and Ben Lynn Toward hierarchical identity based encryption In LarsR Knudsen editor Advances in Cryptology EUROCRYPT 2002 volume 2332 of Lecture Notes in Computer Science pages 466 481 Springer Berlin Heidelberg 2002 http dx doi org 10 1007 3 540 46035 7 31 15 Antoine Joux A one round protocol for tripartite diffie hellman Journal of Crypto logy 17 4 263 276 2004 http dx doi org 10 1007 s00145 004 0312 y 14 Aniket Kate and lan Goldberg Asynchronous distributed private key generators for identity based cryptography Cryptology ePrint Archive Report 2009 355 2009 http eprint iacr org 18 Neal Koblitz Elliptic Curve Cryptosystems Mathematics of Computation 48 1987 11 Gunter Karjoth Matthias Schunter and Michael Waidner Platform for enterpris
80. ent e Emribe A constru o apresentada dos esquemas BF Fullident e Emribe para m ltiplas identidades im plicam altera es no cabe alho do ficheiro cifrado apresentado na sec o anterior U length W length U length W length TN bytes bytes bytes bytes e lengths Us V Wi M Un Va Wa IVa J V length IV length V length IV length E bytes bytes bytes bytes V length PRENNE bytes EM lengths U Vi Va W1 W2 IV V length Ut bytes Figura 3 3 Alterac es no cabecalho do ficheiro cifrado com n identidades para os esquemas BF Fullident e Emribe respetivamente Na Figura 3 3 poss vel observar as alterac es delineadas a vermelho efetuadas no cabecalho do ficheiro para conter os novos elementos alg bricos necess rios cifra para m ltiplas identi dades Em ambos os esquemas existem alterac es no campo lengths no entanto a diferenca de tamanho m nima mais 2 bytes para representar o n mero de identidades com as quais o ficheiro foi cifrado No caso do esquema BF Fullident as altera es no tamanho s o not rias para n identidades o tamanho total dos elementos alg bricos no cabe alho dos ficheiros ser n x U length V length W length IV length Para o esquema Emribe as altera es s o significativamente menores apenas o elemento V sofre altera es na cifra para m ltiplas identidades V Vn U length n
81. escreve tecnologias e funcionalidades que podem ser futuramente integradas no sistema de forma a complementar a solu o Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Cap tulo 2 Estado da Arte 2 1 Introdu o Neste cap tulo apresentado o estudo do estado da arte e das tecnologias utilizadas no decorrer deste trabalho Este cap tulo come a por apresentar de forma geral o Cart o de Cidad o Por tugu s bem como as suas caracter sticas e funcionalidades ainda apresentada a Criptografia Baseada em Identidade as suas vantagens v rios tipos de esquemas criptogr ficos de assinatura e cifra baseados neste tipo de sistemas bem como os problemas em aberto inerentes 2 2 Cart o de Cidad o O Cart o de Cidad o Portugu s come ou a ser emitido em Fevereiro de 2007 como documento de cidadania portugu s com o objetivo de substituir o bilhete de identidade cart o de con tribuinte cart o de benefici rio de seguran a social e cart o de utente do servi o nacional de sa de Como documento f sico permite ao cidad o identificar se presencialmente de forma segura Como documento tecnol gico permite a identifica o do cidad o perante servi os informatizados e a autentica o de documentos eletr nicos Foi lan ado como parte de um plano de desenvolvimento tecnol gico com os objetivos de juntar num s documento os documentos necess rios em v rios servi os p b
82. esso o PKG ir gerar um Globally Unique Identifier GUID de 128 bits que ser enviado aplica o 43 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 4 O GUID ap s ser recebido pela aplica o vai ser assinado com a chave privada do certi ficado de autentica o pedido que o utilizador introduza o PIN de autentica o do CC e enviado de volta para o PKG j assinado 5 O PKG verifica se a assinatura v lida com a chave p blica do certificado de autentica o enviado 6 Se a assinatura for v lida o PKG vai gerar e enviar a chave privada solicitada pelo utilizador a aplica o A sess o terminada pelo PKG ap s esta opera o O PKG n o guarda qualquer informa o de forma permanente sobre os utilizadores nem ar mazena as suas chaves Todos os dados transmitidos pelo utilizador atrav s da aplica o s o eliminados no PKG assim que a sess o terminada 4 4 Modelo de Seguran a No Cap tulo 1 Listamos como requisitos b sicos de seguran a que um sistema criptogr fico deve fornecer s o Confidencialidade Integridade Autentica o e N o Repudia o A seguran a do sistema como um todo ir depender de cada um dos seus elementos Assim o sistema ir depender da seguran a dos esquemas de IBE e de IBS nos quais se baseia a cifra de chaves e a assinatura de ficheiros na seguran a do algoritmo AES com chave de 256 bits utilizado na cifra dos
83. ficheiro As pol ticas ter o que ser enviadas juntamente com o ficheiro resultante da cifra file pdf encrypted file pdf encrypted with with identity D identity ID hash policy xml file ibc i file ibc policy xml file ibz Figura 4 5 Ficheiro file pdf cifrado com a identidade ID e com ID Pol ticas Ap s o processo de cifra o ficheiro cifrado resultante ter extens o ibc desta forma um utilizador pode distinguir de forma f cil um ficheiro cifrado com esta arquitetura Se para al m da cifra o ficheiro for associado a um conjunto do pol ticas a aplica o ir criar um contentor com o XML das pol ticas e com o ficheiro cifrado ibc este contentor ter a extens o ibz e consistir num ficheiro ZIP ver Figura 4 5 A utiliza o deste tipo de ficheiro t m dois objetivos transportar a defini o das pol ticas junto do ficheiro cifrado e facilitar o acesso do utilizador s pol ticas de forma a poder visualizar facilmente o seu conte do poss vel retirar tanto o ficheiro de pol ticas como o ficheiro cifrado do contentor ibz no entanto nunca sera poss vel obter a chave privada junto do PKG se este n o tiver acesso s pol ticas associadas de forma a verificar o cumprimento ou n o das mesmas na cifra do ficheiro original 4 3 5 Decifra Tal como na cifra a decifra baseada na biblioteca descrita no Cap tulo 3 No processo de decifra a aplica o pode receber os dois tipos de ficheiros resultantes m
84. ficheiros no CC como smartcard nos canais de comunica o utilizados e na resist ncia do PKG a ataques que possam comprometer a sua integridade e a chave privada do sistema A integridade de um ficheiro cifrado garantida em duas fases na verifica o da assinatura do ficheiro caso este a contenha e no processo de decifra do ficheiro em que s o utilizados os elementos presentes no cabe alho e o conte do decifrado de forma a verificar se a integridade do ficheiro original foi mantida importante num sistema desta natureza que seja imposs vel para um atacante fazer se passar por um utilizador leg timo do sistema ou pelo PKG Pressup e se que os canais de comunica o entre a aplica o e o PKG s o seguros Pressup e se igualmente que os esquemas criptogr ficos subjacentes utilizados s o seguros e que o servi o de PKG um servi o no qual o utilizador pode confiar e no qual imposs vel para um atacante obter a chave privada do sistema Em rela o ao CC pressup e se que um atacante n o pode ler nem modificar as chaves criptogr ficas armazenadas no smartcard ultrapassando as suas resist ncias adultera o Pressup e se igualmente que n o poss vel forjar a assinatura digital do emissor de identidade para modificar um certificado 4 5 Conclus o Neste cap tulo foi apresentada a arquitetura desenvolvida no decorrer desta disserta o foi abordada a estrutura geral bem como a estrutura dos diferentes co
85. frado com o esquema Emribe Na Figura 3 1 e 3 2 poss vel observar uma representacao dos ficheiros cifrados com o res petivo cabecalho para os esquemas BF Fullident e Emribe respetivamente Assim para um ficheiro cifrado com o esquema BF Fullident temos o campo identifier que tal como o nome indica funciona como identificador do tipo de ficheiro Neste caso a designa o escolhida foi ibeprototype o campo lengths cont m informa o sobre os tamanhos dos campos seguintes no cabe alho no campo id est contida a informa o sobre a identidade chave p blica com a qual est cifrado o ficheiro o campo extension consiste na informa o sobre a extens o do ficheiro original os campos U V W e IV consistem em informa o sobre os elementos necess rios para o processo de decifra do ficheiro por ltimo o campo encrypted file cont m o conte do do ficheiro cifrado com o algoritmo AES Estas aplica es em Cf s o um passo para a cria o da biblioteca para a implementa o de sistemas de cifra e decifra de ficheiros baseados em IBE descrita mais frente neste cap tulo 3 4 An lise de Efici ncia Computacional Uma das caracter sticas pretendidas na biblioteca e no sistema de IBE com o CC foi a funcio nalidade de cifra de um ficheiro para m ltiplas identidades Enquanto que o esquema Emribe implementa esta funcionalidade por defeito sendo esta o ponto forte do esquema no es quema BF Fullident necess rio cifrar a
86. i apresentada cada uma das suas funcionalidades como a liga o ao PKG e atualiza o de par metros a cifra de ficheiros com as op es de cifrar com um m ximo de cinco identidades adicionar assinatura e carregar um ficheiro de pol ticas XML e a respetiva 55 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica decifra de ficheiros Foi igualmente apresentado o processo de autentica o na aplica o onde necess rio utilizar o PIN de autentica o do CC de forma a poder usar a sua chave privada de autentica o Os tempos de execu o obtidos nesta aplica o foram bastante satisfat rios na assinatura e na cifra de chaves tanto para uma como para v rias identidades bem como para os tempos do processo de decifra Para a autentica o obtivemos um resultado pior que o esperado facto que se justifica pelas velocidades bastante lentas das opera es sobre o CC feita uma breve descri o da aplica o web para o acesso uniforme aos v rios fornecedores de armazenamento e servi os na Cloud desenvolvida de forma paralela no mbito de outra disserta o de mestrado dentro do Projeto PRICE Foi igualmente apresentado o servi o de PKG desenvolvido e que se encontra a correr online no Azure que suporta acesso concorrente e que consideramos a partir dos resultados obtidos como computacionalmente bastante eficiente O objetivo deste cap tulo consiste na apresenta o de um p
87. ias Aqueles que passam por n s n o v o s s n o nos deixam s s Deixam um pouco de si levam um pouco de n s Antoine de Saint Exup ry Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica vi Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Resumo A presente disserta o resulta da investiga o sobre Criptografia Baseada em Identidade cujo o objetivo principal a cria o de um sistema que utilize os mecanismos de autentica o de um cart o de identifica o eletr nica EID Card em particular do Cart o de Cidad o CC Por tugu s e as caracter sticas de identidade presentes no cart o para permitir a cifra e decifra de ficheiros O sistema foi idealizado com o objetivo de estender as capacidades criptogr ficas do CC proporcionando ao mesmo tempo um sistema seguro inovador simples e transparente na sua utiliza o e nas suas funcionalidades para o utilizador comum O desenvolvimento deste projeto justificado com o aumento vis vel da procura de solu es que garantam a privacidade e confidencialidade de dados armazenados em servi os de informa o e em particular na Cloud Neste trabalho proposta de forma detalhada uma implementa o de um sistema para a Privacidade e Confidencialidade de ficheiros utilizando Criptografia Baseada em Identidade e o Cart o de Cidad o Este sistema permite a cifra de fichei
88. ibe Para al m das compara es j apresentadas foram efetuados testes para avaliar a performance real dos dois esquemas na cifra para m ltiplas identidades estes testes foram efetuados numa m quina com processador Intel i7 3610QM 2 30Ghz com a mesma curva el ptica A tabela e o gr fico da Figura 3 4 amp Tabela 3 9 apresentam o resultado dos testes realizados o esquema BF Fullident ligeiramente mais eficiente para cifra com uma e duas identidades para mais de duas identidades o esquema Emribe superior Tendo em conta todas as compara es efetuadas o esquema escolhido para a utiliza o na biblioteca para cifra e decifra de ficheiros em NET C foi o esquema Emribe Esta escolha justificada pela efici ncia computacional superior ao esquema BF Fullident no tempo de cifra e pelo tamanho reduzido necess rio no cabe alho do ficheiro cifrado resultante 3 5 Biblioteca NET C A biblioteca criada para NET C usa o wrapper desenvolvido para o esquema Emribe e permite implement lo de uma forma simples numa aplica o ou sistema para a cifra e decifra de ficheiros Esta biblioteca tem como funcionalidades principais a gera o de par metros p blicos e privados a gera o de chaves privadas correspondentes a uma identidade e a cifra para m ltiplas identidades e respetiva decifra de ficheiros Funcionalidades de autentica o para gera o de uma chave privada junto de um PKG n o es t o implementadas na bibl
89. idade de introdu o do PIN de autentica o para a utiliza o da chave privada respetiva tem especial influ ncia no tempo m dio obtido Na adi o de pol ticas na cifra de um ficheiro esta opera o n o vai influenciar o tempo de cifra da chave nem o tempo de cifra do ficheiro A nica opera o extra que necessita de ser efetuada o hash das pol ticas e a sua adi o na chave p blica opera es que podemos considerar como irrelevantes em termos computacionais Todos os testes aplica o aqui representados foram efetuados numa m quina com processa dor Intel i7 3610QM 2 30Ghz Os resultados apresentados correspondem m dia dos valores obtidos ap s v rias repeti es do mesmo teste 5 7 Conclus o Neste cap tulo foram apresentados os resultados obtidos nomeadamente a aplica o desenvol vida para Windows de cifra e decifra de ficheiros e que corresponde a um cliente na arquitetura proposta e a solu o para fornecimento de acesso web uniforme a fornecedores de armazena mento e servi os em Cloud que aplica a biblioteca criada especificada no Cap tulo 3 Foi desenvolvida uma aplica o para facilitar a cria o de pol ticas XML esta permite ao utili zador escolher de forma gr fica as regras especifica es e gerar automaticamente um ficheiro XML com as op es selecionadas Em rela o aplica o para Windows Desktop foi apresentado o funcionamento geral da ferra menta Especificamente fo
90. iding at the same time a secure innovative simple and transparent in its use and functionalities system to the common user The development of this project is justified with the noticeable increase in demand for solutions that ensure the privacy and confidentiality of data stored in information services and particulary in Cloud services This work proposes in detail an implementation of a system for the Privacy and Confidentiality of files using Identity Based Encryption and the Portuguese EID Card This system allows the encryption of files with multiple identities public keys and the association of flexible privacy and access policies The encryption process is executed without the necessity of previous key sharing using the users identity as the public key The creation and distribution of private keys is managed by a third party in which will depend the security of the system and that needs the strong authentication mechanism of the EID card The final system is deployed in various desktop applications and as a service being part of a wider system for Cloud storage Keywords Citizen Card Cryptography Identity Based Cryptography Security Authentication Confidenti ality Privacy File Policies Cloud Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica ndice Dedicat ria Agradecimentos Re
91. ilizador pode obter a chave privada depois da data definida no par metro Start antes desta data imposs vel obter a chave e decifrar o ficheiro e Start e End o utilizador pode obter a chave privada no per odo correspondente entre a data definida no par metro Start e a data definida no par metro End Para o elemento SECURITY necess ria uma base de dados no PKG ou a que este possa ter acesso A ideia desta regra uma entidade superior poder definir v rios n veis de seguran a consoante o papel que o utilizador tem dentro da organiza o que utiliza esta arquitetura Foram definidas quatro strings que pretendem representar n veis crescentes de seguran a para exemplifica o None sem n vel definido Level 1 Level 2 e Level 3 Um utilizador com n vel superior tem acesso aos n veis de seguran a inferiores por exemplo se o utilizador tiver n vel de seguran a Level 2 tem acesso aos n veis Level 2 Level 1 e None mas nunca a n veis superiores Esta regra requer que o PKG tenha acesso a uma lista com os utilizadores do sistema e o respetivo n vel de seguran a 1 lt xml version 1 0 encoding utf 8 gt 2 POLICY 3 DATE active true gt 4 lt Start gt 11 01 2013 00 00 lt Start gt 5 lt End gt 01 01 2014 00 00 lt End gt 6 lt DATE gt 7 lt SECURITY gt 8 lt Type gt Level 1 lt Type gt 9 lt SECURITY gt 10 lt POLICY gt Figura 4 3 Exemplo de um ficheiro XML de pol ticas Na Figura 4 3 po
92. import ncia do mesmo para a literatura de IBE No caso do esquema Emribe a escolha incidiu sobre este pois implementa a cifra de uma mensagem para n recetores utilizadores por defeito e de forma eficiente Foi igualmente selecionado um esquema de assinatura IBS Esta escolha incidiu sobre o esquema criado por Paterson Pat02 em 2002 Paterson IBS pelo fato de utilizar as mesmas primitivas computacionais subjacentes aos esquemas BF Fullident e Emribe isto possibilita que possam ser usados os mesmo par metros de sistema e as mesmas chaves 3 2 1 Esquema BF Fullident Setup Dado um n mero primo q o algoritmo funciona da seguinte forma Passo 1 Selecionar dois grupos G1 G2 de ordem q e um mapa bilinear que satisfa a G4 x Gi Go Escolher um gerador aleat rio P Gi Passo 2 Escolher um n mero aleat rio s Ze calcular Poup s P Passo 3 Escolher uma fun o de hash criptogr fico H 0 1 gt Gj Escolher uma fun o de hash criptogr fico Hz G 0 1 para algum n O espa o da mensagem cifrada C Gj x 0 1 Os par metros do sistema s o params q G1 G2 8 n PPpub Hi H A master key s Zi Passo 4 Escolher uma fun o de hash criptografico H3 0 1 x 0 1 Zj e uma fun o de hash criptogr fico H4 0 1 gt 0 1 21 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica S mbolo Significado Z grupo de inteiros
93. ioteca As fun es da biblioteca podem ser divididas em dois grupos as que ser o para utiliza o pelo PKG e as que ser o para utiliza o pelo cliente utilizador do sistema 30 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 3 5 1 Fun es do PKG O PKG t m como fun o a gera o dos par metros de sistema necess rios par metro privado s e par metros p blicos P Q Pour e Q Ppub e a gera o de uma chave p blica para a identi dade id A gera o destes par metros pode ser efetuada com recurso s fun es presentes na biblioteca byte GenerateMasterKey string curve byte GeneratePparam string curve byte GenerateQparam string curve byte CalculatePpubparam string curve byte Pbyte byte masterKey byte CalculatePairQPpub string curve byte Qbyte byte Ppubbyte Estas fun es recebem como par metro uma string com a descri o da curva el ptica selecio nada pelo PKG e s necessitam de ser executadas uma vez Ap s a gera o destes par metros a chave privada s t m de permanecer do conhecimento exclusivo do PKG a seguran a do sistema depende desta exclusividade e os par metros p blicos e a defini o da curva el ptica utilizada devem ser disponibilizados aos utilizadores do sistema Para a gera o de uma chave privada devem ser passados como par metros fun o a identi dade id a curva el ptica e chave privada do sist
94. iring element t U pk Ppub V W1 eUpk pairing init set str pairing curve element init G1 U pairing element init G1 pk pairing element init G1 Ppub pairing element init G1 V pairing element init GT W1 pairing element init GT eUpk pairing element init GT ePpubV pairing element init GT division pairing element init GT R pairing element from bytes U Ubyte element from bytes pk pkbyte element from bytes Ppub Ppubbyte element from bytes V Vbyte element from bytes W1 Wibyte element pairing eUpk U pk element pairing ePpubV Ppub V element div division eUpk ePpubV element mul R division W1 size element length in bytes R unsigned char data malloc xsize element to bytes data R element clear U element clear pk element clear Ppub element clear V element clear W1 element clear eUpk element clear ePpubV element clear division element clear R pairing clear pairing return data 3 A 3 Wrapper Cf Esquema Paterson IBS A 3 1 sign h include lt stdio h gt include lt stdlib h gt include lt string h gt 75 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica include lt malloc h gt include lt pbc pbc h gt __declspec dllexport unsigned char x __declspec dllexport unsigned char x char Pbyte int xsize __declspec dllexport unsigned char x char Pbyte unsigned char H2hash
95. key Qe private key invalid terminate Conditions True False O auth certificate ID equals ID O valid certificate O hash policies equals policies hash O valid policies Figura 4 7 Processo de autentica o e obten o de chave privada junto do PKG s o opcionais uma vez que um ficheiro pode ser cifrado apenas com a identidade que foi utilizado em conjunto com a s identidade s para cifrar um ficheiro 2 O PKG ao receber os dados enviados pelo utilizador ir efetuar verifica es de forma a validar estes dados i Confirmar que a identidade transmitida corresponde identidade presente no certi ficado de autentica o ii Verificar se o certificado enviado realmente um certificado de autentica o do CC se v lido atrav s da constru o da uma cadeia de certificados e se n o foi revogado iii Calcular e confirmar se o hash da descri o das pol ticas igual ao hash enviado pela aplica o iv Verificar a constru o das pol ticas e confirmar a sua aplica o Se qualquer uma destas quatro condi es for falsa ou n o se verificar a sess o imediata mente terminada pelo PKG e a aplica o recebe uma mensagem indicando que o processo foi terminado e a raz o respetiva No caso do ficheiro cifrado n o ter pol ticas associadas os processos iii e iv s o ignorados e o PKG verifica apenas os dois primeiros processos 3 Caso todas as verifica es sejam efetuadas com suc
96. lement from hash Qid idHash idHashLen element pairing ePpubQid Ppub Qid element to mpz H3R R element pow mpz ePpubQidH3R ePpubQid H3R element mul sigResult ePPH2 ePpubQidH3R element pairing eRS R S char c o if element cmp eRS sigResult 0 t CUP 3 else Ca Mites 3 element_clear P element_clear Ppub element_clear R element_clear S element_clear H2 element clear ePP element clear ePPH2 element clear Qid element clear ePpubQid element clear ePpubQidH3R element clear eRS element clear sigResult pairing_clear pairing return c A 4 Exemplo de utiliza o da biblioteca criada para Cf using System using System Collections Generic using System Ling using System Text using IBE Library using System Runtime InteropServices 78 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica using System 10 namespace ClassTest t class Program t static void Main string args i parameters string curve type a q 926629974365961749165749657496020618394062841150844171442198952048837206866830 5474628817527896986344200338864169590399457334880430003523545566948455517527 h 160011587607540055741654752809243579101406160487510427106979832859283189304664 r 57910179395176324786422158884349897274761612203995286971393764853566905778177 exp2 255 exp1 243 sign1 1 signO 1 by
97. lementados em linguagem C numa primeira fase sob a forma de pequenas aplicac es de teste com funcionalidades simples de cifra e decifra e de assinatura Numa segunda fase os tr s esquemas foram implementados em wrappers para a utilizac o na linguagem NET C de forma a possibilitar o desenvolvimento nesta linguagem As fun es dos wrappers foram apresentadas e foi feita a correspond ncia entre estas func es e as v rias operac es no algoritmo dos esquemas Foram desenvolvidas duas aplicac es para cifra e decifra em NET C baseadas nos esquemas de IBE e explicadas as implementac es que foram necess rias para o seu funcionamento correto Nomeadamente a implementacao de um esquema de criptografia h brida em que o algoritmo AES utilizado juntamente com IBE e a defini o dos cabe alhos dos ficheiros cifrados A nivel da an lise de efici ncia computacional foram feitos estudos comparativos entre os dois esquemas implementados BF Fullident e Emribe quando utilizados para cifrar com m ltiplas identida des Para tal foram analisadas o numero de opera es sobre a curva el ptica o tamanho dos cabe alhos dos ficheiros resultantes da cifra e a compara o dos tempos das opera es sobre curva el ptica referidas Ap s a an lise de efici ncia dos esquemas de IBE foi escolhido e implementado o esquema Em ribe na cria o de uma biblioteca para NET CZ com fun es para o desenvolvimento de um sistema completo de cifra e decifr
98. licos e promover o desenvolvimento das transa es eletr nicas atrav s do mecanismo de autentica o forte e da assinatura digital e a intera o com diferentes servi os p blicos e privados Assim permite ao titular provar a sua identidade perante terceiros atrav s da autentica o eletr nica Algumas estat sticas a 13 de agosto de 2013 1 e 8445200 cart es entregues e 30 47 t m assinatura digital ativada Visualmente o CC ver Figura 2 1 cont m v rias informa es do cidad o como a fotografia elementos de identifica o civil e os n meros de identifica o dos diversos organismos p blicos cujo o cart o combina e substitui Eletronicamente e como carater stica mais inovadora o fato de ser um smartcard com diversas funcionalidades Zuq10 mais especificamente e Guardar informa o privada que o titular pode usar mas n o conhecer ou divulgar Esta informa o consiste em tr s criptogr ficas Chave sim trica de autentica o do titular Chave privada de um par de chaves assim tricas RSA para a autentica o do titular Chave privada de um par de chaves assim tricas RSA para a produ o de assinaturas digitais do titular Informa o retirada do site cartaodecidadao pt a 20 de agosto de 2013 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica ES muss PORTUGAI v Nome s Sexo altura e 186 PRT 10 08 1901 eee Data de nacionalidade
99. los de extra o de chaves privadas num modelo de comunica o que pode funcionar de forma s ncrona ou assincrona para a implementa o em tr s esquemas de IBE Boneh e Franklin IBE BFO1 Sakai e Kasahara IBE SK03 e Boneh e Boyen IBE BB04 Estes protocolos permitem manter em segredo a chave privada do utilizador dos nodos PKG sem comprometer a sua efici ncia Os esquemas de HIBE apresentados anteriormente podem tamb m ser utilizados para reduzir o problema de cust dia de chaves dividindo a por diferentes n veis hier rquicos Os utilizadores obt m a sua chave privada do PKG correspondente em vez de obterem diretamente a chave do PKG raiz 2 5 Solu es Existentes A ideia de Shamir foi inovadora mas foi o importante avan o de Boneh e Franklin BF01 apresentado em 2001 que realmente impulsionou a cria o de novos esquemas de IBC de cifra e assinatura e a consequente cria o de bibliotecas para a implementa o destes esquemas e primeiras solu es criptogr ficas comerciais baseadas nestes 2 5 1 Solu es Comerciais Em 2002 o avan o tecnol gico de Boneh e Franklin tornou se na base para a cria o da empresa Voltage Security por tr s dos alunos de Boneh Rauker Kacker e Appenzeller Um ano depois em 2003 a Voltage Security lan a o Voltage SecureMail VSa uma solu o de cifragem de email com suporte para as principais aplica es e servi os de mail como por exemplo Outlook Hotmail Yahoo e Gmail que se b
100. m Identidade com Cart es de Identifica o Eletr nica Caso exista algum problema nos par metros passados s fun es como exemplo ficheiro in v lido erro ao verificar a integridade ou chave privada errada a biblioteca lan a a exce o adequada para informar o utilizador do que est errado Para al m das fun es apresentadas a biblioteca fornece tamb m ao utilizador fun es auxilia res para recuperar informa o do ficheiro cifrado como o nome do ficheiro original caso este exista uma vez que este par metro opcional na fun o de cifra recuperar a informa o adi cional adicionada s identidades chave p blica caso esta exista na arquitetura desenvolvida seria o hash da pol ticas o qual ir ser falado no seguinte cap tulo e recuperar a s identi dade s com a s qual quais foi cifrado o ficheiro string GetOriginalFilename MemoryStream streamln string GetPolicy MemoryStream streamln string Getldentities MemoryStream streamln No Anexo A 4 pode se observar o c digo fonte de um exemplo da utilizac o da biblioteca onde s o utilizadas as fun es do PKG e do Cliente Utilizador efetuada a gera o de par metros a cifra de um ficheiro com duas identidades diferentes e a respetiva decifra com a chave privada gerada correspondente a uma das identidades utilizadas 3 6 Conclus o Neste cap tulo foram apresentadas as descri es t cnicas dos esquemas de IBE e IBS imple mentados Estes foram imp
101. m sistema IBE 25 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Por si s os wrappers n o implementam a cifra e decifra de mensagens mas permitem a utiliza o das fun es necess rias para a cria o de um sistema com essas capacidades em C Assim temos dois DLLs um para implementa o numa aplica o cliente e outro para utiliza o no PKG cada um com as fun es especificas necess rias para efetuar opera es sobre curvas el pticas Nas Tabelas 3 4 e 3 5 poss vel observar a correspond ncia para o esquema BF Fullident e Emribe respetivamente entre os c lculos necess rios sobre a curva el ptica nas quatro fases ver Sec o 3 2 1 e as opera es correspondentes no wrapper Assim as fun es no wrapper do PKG t m como fim gerar os par metros p blicos e privados do sistema Setup e gerar a chave privada Extract Por sua vez o wrapper do cliente utilizador tem por fun o gerar os elementos necess rios para a cifra e decifra Encrypt e Decrypt pkg dil Setup Generate s master key s generateNewMasterKey curve Generate P parameter Generate Q parameter Calculate Ppub s P Calculate Q Ppub Extract P generateNewPparam curve Q generateNewQparam curve Ppub getPpub curve P s Q Ppub calcpairQPpub curve Q Ppub dip getPrivateKey curve Fip S Generate dip s
102. mensagem m ltiplas vezes criando uma composi o n sequencial do esquema original n como o n mero de identidades vezes que a mensagem ser cifrada assim o algoritmo de cifra descrito na Sec o 3 2 1 para n identidades ser C riP o amp Hip M Ha o onde gi Fip Ppub G5 onde ID corresponde a uma identidade e i 1 n Assim para a cifra de uma mensagem com este esquema para n identidades temos n opera es de pairing para calcular gip 6 Fip Ppub gt nenhuma adi o n multiplica es no grupo G para calcular r P e n exponencia es no grupo G2 de forma a calcular gj Para a cifra de uma mensagem para n identidades no esquema Emribe n o efetuado qualquer pairing o pairing Q Ppub pr calculado durante a fase de Setup e utilizado como par metro p blico efetuada uma exponencia o no grupo G para calcular Q Ppub s o efetuadas n 3 multiplicac es no grupo G4 rQ rP e Q Ppub R uma vez e rH ID n vezes e n adi es no grupo G para calcular rH ID rQ Na Tabela 3 7 poss vel observar mais facilmente a comparac o do n mero de operac es sobre a curva el ptica destes dois esquemas 28 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Pairings Add inG Multi in G Exp in G2 BF Fullident n 0 n n Emribe 0 n n 3 1 Tabela 3 7 N mero de opera es na curva el ptica entre os esquemas BF Fullid
103. menta o de um Public Parameter Server PPS desta forma o PKG substitu do na disponibiliza o de par metros e defini o de curva Assim este ir ter como fun o exclusiva a gera o de chaves privadas Explorar e implementar mecanismos que permitam eliminar os problemas de cust dia de chaves inerentes do esquema utilizado e Apesar de em certos aspetos a arquitetura apresentada nesta disserta o ser muito seme lhante descrita no RFC5408 AMSO9 seria interessante explorar esta arquitetura e seguir o RFC5409 MS09 de forma a implementar a constru o de mensagens cifradas utilizando CMS Permitir m ltiplas assinaturas ou seja possibilitar que um ficheiro cifrado seja assinado por um conjunto de utilizadores 6 2 2 Novas Funcionalidades Como novas funcionalidades prop e se e A defini o e adi o de novas regras para estender as pol ticas de ficheiros existentes como por exemplo a adi o de uma pol tica que permita definir a gama de IP a partir dos quais o utilizador pode obter a chave privada com sucesso e Possibilitar ao utilizador armazenar as chaves privadas obtidas do PKG para utilizar poste riormente ou delegar 59 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 60 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Bibliografia AGO9 AGM 13 AHK 03 AMA12 AMSO9 BB04
104. mento numa quest o de segundos e foi configurado para suportar um m ximo de 200 sess es ou 200 pedidos em acesso concorrente Durante os testes efetuados observamos que o processo de autentica o de um utilizador e a respetiva gera o de chaves t m um custo computaci onalmente baixo Nos testes efetuados o valor m ximo de utiliza o atingido pelo CPU foi de 0 34 mesmo com v rios utilizadores em acesso concorrente Figura 5 8 Foram tamb m efetuados alguns testes de stress com dois computadores diferentes em simul t neo a executar 25 threads cada um em que cada thread correspondente a uma sess o em que o utilizador contacta o servidor autentica se com o seu certificado e recebe a chave privada correspondente Ap s v rios teste obtivemos um resultado de em m dia 19 segundos para a realiza o de 50 processos de autentica o e obten o de chaves cada processo corres ponde ao upload do certificado para o servi o verifica o autentica o gera o e obten o de chave privada logo o tempo obtido dependente de v rios fatores para al m do PKG como os computadores de origem e a velocidade e qualidade da liga o internet A partir dos resultados obtidos acreditamos que o servi o capaz de dar resposta a um n mero elevado de pedidos apenas com um CPU este n mero de CPUs virtual e pode ser a qualquer momento aumentado para responder s necessidades dos utilizadores do servi o 5 5 Aplica o We
105. metente e se a mensagem foi ou n o adulterada assim poss vel remover a necessidade de usar assinaturas digitais quando a autentica o necess ria Sahai e Waters SW05 desenharam um esquema designado por Fuzzy IBE em que a identidade vista como um conjunto de atributos descritivos Este esquema permite que uma chave privada para a identidade ID possa ser usada para decifrar uma mensagem cifrada com a identidade ID apenas se ID e ID estiverem pr ximas uma da outra quando medidas por uma distancia de semelhan a Esta propriedade de toler ncia de erro do esquema permite o uso de caracter s ticas de identidade biom tricas que t m inerente algum ru do cada vez que s o amostradas De notar ainda tr s Request For Comments RFC nesta rea No RFC5091 BMO7 os autores descrevem os algoritmos para a implementa o dos esquemas Boneh Franklin e Boneh Boyen referidos anteriormente No RFC5408 AMSO9 Appenzeller et al descrevem a arquitetura de seguran a necess ria para a implementa o de um sistema de IBE Por ltimo em MSO9 os autores descrevem conven es para a utiliza o dos algoritmos descritos no RFC5091 com Cryptographic Message Syntax CMS Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 2 4 2 1 Problemas Base Com a exce o do esquema de Cocks Coc01 e outros esquemas derivados deste baseados no problema de res duos quadr ticos os esquemas de
106. mo de mais de 50 do tempo de execu o de cifra de chave No caso de 5 identidades passamos de 161 para 93 milissegundos ficando este valor abaixo do resultado obtido para 2 identidades numa cifra de chave em s rie tamb m interessante observar que o tempo de cifra de chave com 10 identidades em modo s rie 54 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica e 25 identidades em modo paralelo com threads semelhante o que evidencia o aumento substancial de efic cia no tempo de cifra Estes testes foram efetuados num computador com quatro cores f sicos e os tempos s o referentes ao tempo total da cifra de chave c lculo dos elementos U W1 W2 e o em s rie e c lculo dos V em paralelo no caso da utiliza o de threads Key Encryption Time Key Encryption Time CAs Normal seconds w Threads seconds 5 0 1618 0 0935 10 0 2527 0 1265 15 0 3563 0 1770 20 0 4564 0 2135 25 0 5219 0 2475 Tabela 5 4 Compara o dos tempos de execu o na cifra da chave para n identidades em modo s rie e em paralelo Para o caso da assinatura de um ficheiro registou se um tempo m dio de 50 milissegundos No caso da autentica o e gera o de chave o tempo m dio da opera o foi cerca de 18 segundos Este tempo condicionado por fatores como a velocidade e estabilidade da liga o Internet e as opera es sobre o smartcard do CC que s o bastante lentas neste caso a necess
107. mponentes que a comp em Foram apresentados tr s cen rios de utiliza o desta arquitetura que pensamos poderem bene ficiar com um sistema desta natureza e fornecidos v rios exemplos de utiliza o que justificam 44 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica esta escolha Foram apresentados os componentes e as decis es efetuadas como a escolha da caracteristica de identidade e as suas justifica es Foi apresentado o modelo de pol ticas XML especificadas e a sua integra o e aplica o dentro da arquitetura bem como cada uma das regras implemen tadas A n vel da cifra e assinatura foram apresentadas as altera es necess rias no cabe alho de um ficheiro cifrado e a decis o tomada para a integra o do XML de pol ticas com o ficheiro cifrado Na decifra foram descritos o processo de decifra em si e a verifica o de assinatura Foram tamb m expostos detalhadamente os processos de comunica o autentica o e gera o de chaves privadas Foi ainda apresentado o modelo de seguran a baseado na seguran a dos elementos que constituem o sistema como um todo O objetivo deste cap tulo prende se apresenta o do funcionamento da arquitetura e jus tifica o das solu es implementadas nas v rias fases que constituem o funcionamento global desta 45 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 46 Apli
108. o ao texto cifrado ningu m consegue descobrir quem o recipiente da mensagem ao olhar apenas para o texto cifrado No entanto o esquema criado 30 algoritmo de Miller foi inicialmente utilizado para atacar MVO91 FR94 certos tipos de sistemas criptogr ficos baseados em curvas el pticas Ser seguro no modelo de random oracles significa que as func es de hash subjacentes usadas no esquema s o consideradas func es aleat rias ideais BR93 14 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica computacionalmente mais exigente que o esquema de Cocks e outros esquemas padr o de IBE e PKI Ateniese e Gasti AG09 basearam se igualmente no esquema de Cocks resolveram o problema da efici ncia e adicionaram a propriedade de anonimato ao texto cifrado Canetti Halevi e Katz CHK03 criaram a primeira constru o de um esquema IBE com segu ran a prov vel fora do modelo de random oracles Para provar a seguran a descreveram um modelo ligeiramente mais fraco de seguran a conhecido como modelo de selective ID no qual o advers rio declara que identidade vai atacar antes dos par metros p blicos globais serem gerados Boneh e Boyen BB04 criaram tamb m um esquema baseado no mesmo modelo com pletamente seguro sem random oracles mas n o computacionalmente eficiente para ser usado na pr tica Waters Wat05 apresentou o primeiro esquema eficiente de IBE completamente seguro for
109. orma Passo 1 Selecionar dois grupos G e Gz de ordem q e um mapa bilinear que satisfa a G4 x G4 gt Go Passo 2 Escolher dois n meros aleat rios Q G e P G4 Passo 3 Escolher um n mero aleat rio s Z e calcular Pp up P A master key s Passo 4 Selecionar as fun es de hash criptogr fico H 0 1 gt Gi H G2 gt 0 1 para algum n e Hs Gy x x Gy x Go x 0 1 gt 10 1 22 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica S mbolo Significado Z grupo de inteiros Zq grupo 0 q 1 sob adi o de m dulo q Zt grupo multiplicativo de inteiros m dulo numero primo q G grupo de ordem primo G algoritmo gerador que satisfaz a hip tese de DH Bilinear dip chave privada de ID Fio chave p blica do ID S chave privada chave mestra do sistema P Poup Q par metro p blico de sistema H fun o de hash Tabela 3 2 Nota es do Esquema Multi Receiver IBE Extract Para uma dada string ID 0 1 calcular dip s Fip Gj em que Fip a chave p blica calculada como Fip Hi ID G Devolver dip como chave privada associada iden tidade ID Encrypt Para cifrar a mensagem M c 0 1 com m ltiplas identidades chaves p blicas ID 1D escolher dois n meros aleat rios Re Ga e r Z e calcular C U Vi Vn W1 W2 L c de forma a que U Vi Vn W1 W2 L o r PBr Fip r gt Qui
110. pairing t pairing element t Q Ppub eQPpub pairing init set str pairing curve element init G1 Q pairing element init G1 Ppub pairing element init GT eQPpub pairing element from bytes Q Qbyte element from bytes Ppub Ppubbyte element pairing eQPpub Q Ppub size element length in bytes eQPpub unsigned char data malloc size element to bytes data eQPpub element clear Q element clear Ppub element clear eQPpub pairing clear pairing return data 3 A 2 3 client h include lt stdio h gt include lt stdlib h gt include lt malloc h gt include lt string h gt include lt pbc pbc h gt __declspec dllexport unsigned char __cdecl genBigR char curve int xsize __declspec dllexport unsigned char __cdecl genSmallR char xcurve int xsize __declspec dllexport unsigned char __cdecl calcU char curve unsigned char Pbyte unsigned gt char rbyte int xsize __declspec dllexport unsigned char __cdecl calcrQ char curve unsigned char Qbyte unsigned lt gt char rbyte int xsize __declspec dllexport unsigned char __cdecl calcV char curve unsigned char xrbyte unsigned gt char Hthash int Hilen unsigned char xrQbyte int xsize __declspec dllexport unsigned char __cdecl calcW1 char curve unsigned char eQPpubbyte lt gt unsigned char smallRbyte unsigned char xbigRbyte int xsize __declspec dllexport unsigned char __cdecl decryptC
111. para n identidades entre os dois esquemas BF Fullident e Emribe Tempos de execu o de cifra para ficheiros com diferentes tamanhos Tempos de execu o de decifra para ficheiros com diferentes tamanhos Tempos de execu o na cifra da chave para n identidades Compara o dos tempos de execu o na cifra da chave para n identidades em modo s rie e em paralelo 1 een xvii Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica xviii Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Lista de Acr nimos AES AIBE API CA CBC cc CMS CRL CSP DH DLL EID EMV CAP EPAL GUID HIBE IBC IBE Advanced Encryption Standard Authenticated Identity Based Encryption Application Programming Interface Certification Authority Cipher Block Chaining Cartao de Cidadao Cryptographic Message Syntax Certificate Revocation List Cryptographic Service Provider Diffie Hellman Dynamic Link Library Electronic Identity Europay Mastercard and Visa Chip Authentication Program Enterprise Privacy Authorization Language Globally Unique Identifier Hierarchical Identity Based Encryption Identity Based Cryptography Identity Based Encryption Identity Based Signature Internet Protocol Initialization Vector National Security Agency Online Certificate Status Protocol One time Password Personal Identification N
112. po de ordem primo G algoritmo gerador que satisfaz a hip tese de DH Bilinear dip chave privada de ID Fio chave p blica do ID S chave privada chave mestra do sistema P Poub par metro p blico de sistema H fun o de hash Tabela 3 3 Nota es do Esquema de Assinatura Paterson IBS Extract Para uma dada string ID 0 1 calcular dip s H ID e G Devolver dip como chave privada associada identidade ID Sign Para assinar a mensagem M c 0 1 escolher o n mero aleat rio r Z r o inverso de r em Z e calcular a assinatura de M como o par R S G x G4 onde R r P S r H2 M P Hs R dip Verify Para verificar a assinatura R S na mensagem M calculamos R S e comparamos com P P H M P up Fip S P onde Fip Hi ID Gj A assinatura aceite se estes dois valores coincidirem em Gs pois se R S for uma assinatura v lida em M temos R S r P r Ho M P Hs R dip P H2 M P Hs R dip P p H2 M E EMP pubs Fip 9 I I MW m 3 3 Implementa o De forma a implementar os esquemas apresentados houve necessidade de recorrer a uma biblioteca que permitisse tanto a gera o de curvas el pticas como as opera es sobre estas como por exemplo pairings Para tal utiliz mos a biblioteca para linguagem C apresentada na Sec o 2 5 2 PBC Library Lyn08 3 3 1 Implementa o em C A implementa o dos esquemas de
113. r CHKO3 Coc01 CZKK05 DCI11 DQ87 For FR94 Gem GJKR99 62 and communications security CCS 93 pages 62 73 New York NY USA 1993 ACM http doi acm org 10 1145 168588 168596 14 Joonsang Baek Reihaneh Safavi Naini and Willy Susilo Efficient multi receiver identity based encryption and its application to broadcast encryption In Serge Vaudenay editor Public Key Cryptography PKC 2005 volume 3386 of Lecture Notes in Computer Science pages 380 397 Springer Berlin Heidelberg 2005 http dx doi org 10 1007 978 3 540 30580 4 26 21 Joonsang Baek and Yuliang Zheng Identity based threshold decryption In Feng Bao Robert Deng and Jianying Zhou editors Public Key Cryptography PKC 2004 volume 2947 of Lecture Notes in Computer Science pages 262 276 Springer Berlin Heidelberg 2004 http dx doi org 10 1007 978 3 540 24632 9 19 17 CertiVox Miracl cryptographic sdk Dispon vel a 28 de Agosto de 2013 http www certivox com miracl 20 Ran Canetti Shai Halevi and Jonathan Katz A forward secure public key encryption scheme In Proceedings of Eurocrypt 2003 pages 255 271 Springer Verlag 2003 15 Clifford Cocks An identity based encryption scheme based on quadratic residues In Bahram Honary editor Cryptography and Coding volume 2260 of Lecture Notes in Computer Science pages 360 363 Springer Berlin Heidelberg 2001 http dx doi org 10 1007 3 540 45325 3_32 14 16
114. rimeiro sistema de IBE para smartcards baseado no esquema de Boneh e Franklin 2 5 2 Bibliotecas Existem v rias bibliotecas open source dispon veis que auxiliam na implementa o de esquemas de assinatura e cifra baseados em IBC em v rias linguagens de programa o nomeadamente bibliotecas para a cria o e utiliza o de curvas el pticas e PBC Library Lyn08 biblioteca para a linguagem C desenvolvida por Ben Lynn um ex aluno de Boneh com v rias solu es para esquemas IBE publicadas Cont m v rias im plementa es e exemplos de esquemas de IBS e IBE e v rios programas para gera o de 19 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica curvas el pticas e jPBC DCI11 biblioteca para a linguagem Java consiste num port e num wrapper da bi blioteca PBC Library Corre na plataforma Android sem ser necess ria qualquer altera o biblioteca Tal como a PBC Library inclui v rios exemplos de esquemas MIRACL Cer biblioteca para as linguagens C e C criada pela empresa Shamus Software e adquirida em 2011 pela empresa CertiVox Tem como principal caracter stica o fato de correr em varios ambientes incluindo plataformas moveis Charm Crypto AGM 13 biblioteca para a linguagem Python que tem por base mo dulos em linguagem C Foi desenhada para minimizar o tempo de desenvolvimento e a complexidade do c digo 2 6 Conclus es Foram referidas v rias
115. rio criar um wrapper sob a forma de uma Dynamic Link Library DLL que nos permitisse usar as fun es da biblioteca PBC Library em C pkg dil Setup Generate s master key s generateNewMasterKey curve Generate P parameter P generateNewPparam curve Calculate Ppup S lt P Ppub getPpub curve P s Extract Generate dip s Fip dip getPrivateKey curve Fip S client dll Encrypt Get element r r encryptGetR curve H3 c M Calculate U r P U encryptCalcU curve P r Calculate H gt gip H encryptCalcH2 curve r Fip Ppub Decrypt Calculate H dip U r decryptCalcH2 curve dip U Tabela 3 4 Wrappers para PKG e cliente do esquema BF Fullindent ver Anexo A 1 Foram criados dois wrappers para os dois esquemas de IBE apresentados BF Fullident e Em ribe ver Anexos A 1 e A 2 Estes wrappers est o divididos em dois m dulos correspondentes ao utilizador e ao PKG e implementam exclusivamente as opera es sobre curva el ptica no esquema as restantes opera es podem ser efetuadas normalmente em linguagem Cf neces s rias pelo utilizador e pelo PKG respetivamente o utilizador n o necessita das fun es do PKG nem vice versa 1A seguran a do esquema n o dependente do acesso do utilizador s fun es presentes no wrapper do PKG a separa o em dois wrappers tem como objetivo simplificar a implementa o de u
116. rithm problem Selected Areas in Communications IEEE Journal on 7 4 467 473 1989 14 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica TM VSa VSb Wat05 WLD 02 Zuq10 Inc Trend Micro Email encryption solutions secure email trend micro usa Disponivel a 28 de Agosto de 2013 http www trendmicro com us enterprise network web messaging security email encryption index html 19 Inc Voltage Security Email encryption securemail email data protection secure messaging and key management solutions voltage security Disponivel a 28 de Agosto de 2013 http www voltage com products securemail 18 Inc Voltage Security Voltage security celebrates 10 years of identity based encryp tion rapidly growing commercial adoption within global 2000 companies voltage security Disponivel a 28 de Agosto de 2013 http voltage com pressreleases PR110824 VoltageSecurity celebrates 10years of IBE htm 18 Brent Waters Efficient identity based encryption without random oracles In Ronald Cramer editor Advances in Cryptology EUROCRYPT 2005 volume 3494 of Lecture Notes in Computer Science pages 114 127 Springer Berlin Heidelberg 2005 http dx doi org 10 1007 11426639_7 15 Xin Wang Guillermo Lao Thomas DeMartini Hari Reddy Mai Nguyen and Edgar Valenzuela Xrml extensible rights markup language In Michiharu Kudo editor XML Security pages 71 79 ACM 200
117. ros com m ltiplas identidades chaves p blicas e a associa o de pol ticas de privacidade e acesso flex veis a esses ficheiros A cifra efetuada sem a necessidade de partilha pr via de chaves utilizando a identidade do utilizador como chave p blica A respetiva cria o e distribui o de chaves privadas gerida por uma terceira entidade na qual ir depender a seguran a do sistema e que necessita do mecanismo de autentica o forte do Cart o de Cidad o O sistema final est implementado em v rias aplica es para Desktop como servi o faz parte de um sistema mais vasto para armazenamento em Cloud Palavras chave Cart o de Cidad o Criptografia Criptografia Baseada em Identidade Seguran a Autentica o Confidencialidade Privacidade Pol ticas de Ficheiros Cloud vii Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica viii Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Abstract The present dissertation results of the investigation on Identity Based Cryptography having as goal the creation of a system that uses the authentication mecanisms of an Electronic ID Card EID Card more specifically the Portuguese EID Card and the identity characteristics present on this card to allow the encryption and decryption of files The sistem was designed with the purpose of extending the cryptographic abilities of the card prov
118. rot tipo final da aplica o cliente e do servi o PKG Ambos desenvolvidos como teste arquitetura proposta no cap tulo anterior 56 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Cap tulo 6 Conclus o e trabalho futuro O tema desta disserta o surgiu da parceria entre o laborat rio RELEASE da Universidade da Beira Interior e a PT Inova o de Aveiro no mbito do projeto PRICE cujo o objetivo o desenvolvimento e aplica o de tecnologias para a privacidade em ambientes de computa o em Cloud e em particular o uso de criptografia baseada em identidade em armazenamento na Cloud e pol ticas de privacidade No inicio do trabalho foram identificados e propostos os objetivos a atingir na realiza o desta disserta o A investiga o e o trabalho levado a cabo durante o decorrer da disserta o permitiu que estes objetivos fossem alcan ados com sucesso 6 1 Conclus es No primeiro cap tulo foi feita uma introdu o tem tica da disserta o apresentada as moti va es indicados os objetivos principais propostos para este trabalho forma de abordagem investiga o e apresentada a estrutura desta disserta o No segundo cap tulo fez se um levantamento do estado da arte e das tecnologias utilizadas no decorrer do trabalho Foi apresentado o Cart o de Cidad o e as suas caracter sticas como documento de identifica o e smartcard com especial nfase n
119. s o de pol ticas f cil e transparente para o utilizador Contudo a forma como a verifica o e o controlo de pol ticas est implementado permite que seja poss vel alterar a linguagem proposta a qualquer momento para uma das apre sentadas ou para outra linguagem de pol ticas n o referida A implementa o deste sistema de pol ticas de ficheiros na arquitetura em parte semelhante descrita por Mont et al MPBO3 O s utilizador es a quem os ficheiros foram destinados cifrados com a identidade deste s utilizador es t m que respeitar as pol ticas associadas de forma a obter uma chave privada capaz de decifrar os ficheiros e obter o conte do original 38 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica No mbito da arquitetura criada foram definidas duas pol ticas como exemplo uma regra temporal designada pelo elemento DATE e uma regra relacionada com o n vel de seguran a do utilizador qual nos podemos referir como seguran a baseada em papeis role based security SECURITY O elemento DATE t m dois par metros Start e End e consiste numa regra para definir o per odo temporal na qual uma chave privada pode ser gerada pelo PKG Assim o utilizador pode definir tr s modos para controlar a validade da chave privada e End o utilizador pode obter a chave privada at data definida no par metro End depois desta data imposs vel obter a chave e Start o ut
120. s veis solu es para ultrapassar estas des vantagens sem perder as funcionalidades pelas quais os sistemas IBE s o conhecidos 2 4 1 Assinatura Baseada em Identidade Um esquema gen rico de Assinatura Baseada em Identidade ou Identity Based Signature IBS pode ser descrito em quatro fases algoritmos aos quais podemos chamar Setup Extract KeyGen Sign e Verify ou Inicializa Extrai Assina e Verifica Se a Alice pretender assinar uma men sagem ver Figura 2 3 vai obter do PKG a sua chave privada que est associada sua chave p blica identidade A Alice assina a mensagem com a chave obtida Por sua vez o Bob utiliza a identidade da Alice para verificar a assinatura da mensagem 1 Pk PKG sk PKG PKG Figura 2 3 Esquema gen rico de Assinatura Baseada em Identidade e Setup O centro de gera o de chaves ou PKG cria um par de chaves par metros chave privada skp c e chave p blica pkp ambos os intervenientes t m conhecimento desta chave Extract Keygen Alice autentica se ao PKG 1 e obt m a sua chave privada 2 skip correspondente sua identidade IDajice e Sign Alice utiliza a sua chave privada skip cria a assinatura o para a mensagem M 3 e envia M assinada Verify Bob ao receber a mensagem M e a assinatura correspondente c verifica 4 se a assinatura o para a mensagem M genu na utilizando a identidade da Alice IDalice e a chave p blica do PKG pkpu Aplica es de
121. ss vel observar um exemplo de um ficheiro XML de pol ticas para esta arqui tetura De forma a obter a chave privada para decifrar um ficheiro cifrado com a identidade X e a com as pol ticas descritas neste exemplo necess rio cumprir as duas regras A chave s poder ser obtida entre 1 de novembro de 2013 e 1 de Janeiro de 2014 e apenas se o utilizador com a identidade X tiver n vel de seguran a Level 1 na organiza o qual pertence se este n vel for alterado pela organiza o para None o utilizador deixa de poder obter a chave privada Para al m das duas pol ticas apresentadas foram ainda contemplada a utiliza o do endere o de IP em que a ideia permitir que o utilizador apenas possa obter a chave privada para deci frar um ficheiro se o processo de autentica o for iniciado a partir de uma gama de IPs especifica 39 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica A cria o destas pol ticas realizada pelo utilizador mas a confirma o e aplica o das mesmas efetuada pelo servi o de PKG no processo de autentica o e gera o de chaves privadas como ser mostrado mais frente nesta sec o 4 3 4 Cifra e Assinatura O processo de cifra de ficheiros para m ltiplos utilizadores utilizado na arquitetura tem como base o esquema Emribe e a sua implementa o foi efetuada com recurso biblioteca des crita no Cap tulo 3 Para al m da cifra de fi
122. sumo Abstract ndice Lista de Figuras Lista de Tabelas Lista de Acr nimos 1 Introdu o 141 Enquadramento 2 ess spa XDR Pa he ne ossis n oe a us 1 22 gt MOTIVA O et se Sue oss o e ense Cor Wh Gp Va a Be Goh a gh 1 3 Objetivos gt x o p eR ede PE Ee eee SS endet A ener oe et 1 4 Abordagem uu anda ade n ue Le ue e Ve vex ee e 1 5 Contrib i es vao e sue vei dpt A Se AT CAE BE mes 1 6 Estrutura da Disserta o ele 2 Estado da Arte 2 1 Introdu o 2 2 Reged we Bee wee E 3 Ee 2 2 Cart o de Cidadao ss sia ged es ea ea aaa DADO de ses osos e isi ets Ne 2 2 1 Autentica o s 23 23x k a X on a Bak an oe wo RoR SR le a 2 22 ASSINATURA ms epp qu a o So eo EROR eret ARA pw a t apo a tet cea dux ert ap e 2 2 3 Hierarquias e Certifica o 0 0 4 0 4 4 40 4 LLA Seguranca vv LUIS o Sel A et lt IS 2 25 Middleware usos ouem ehem eedem ds 2 3 Criptografia de Curva El ptica 0 0 0 0 4 4 0 2 4 CriptografiaBaseadaemiIidentidade 2 4 1 AssinaturaBaseadaemIdentidade 2 4 2 Cifragem Baseada em Identidade 2 5 Solu es Existentes e scree e a eee eee rh ns 2 5 1 Solu es Comerciais eee 2 5 2 Bibliotecas RR ede eee este e E 2 6 CONCLUS ES mediora a oot n hue m e ut s ute ue ey ee Re eo e AG 2 4 3 Implementa o dos Algoritmos ZT o ot Co 6 7 eee DIREN NO es Pe RES 3 2 Esqu
123. t xsize __declspec dllexport unsigned char __cdecl calcpairQPpub char curve unsigned char xQbyte gt unsigned char Ppubbyte int xsize A 2 2 pkg c Zinclude pkg h __declspec dllexport unsigned char __cdecl generateNewMasterKey char curve int xsize t pairing t pairing element t s pairing init set str pairing curve element init Zr s pairing element random s size element length in bytes s unsigned char data malloc size 70 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica element to bytes data s element clear s pairing clear pairing return data __declspec dllexport unsigned char x __cdecl generateNewPparam char curve t __declspec dllexport unsigned char x t __declspec dllexport unsigned char x pairing t pairing element t P pairing init set str pairing curve element init G1 P pairing element random P Size element length in bytes P unsigned char data malloc xsize element to bytes data P element clear P pairing clear pairing return data __cdecl generateNewQparam char xcurve pairing t pairing element t Q pairing init set str pairing curve element init G1 Q pairing element random Q size element length in bytes Q unsigned char data malloc xsize element to bytes data Q element clear Q pairing clear pairing return data
124. te byte P byte Q byte Ppub byte QPpub V S IBE GenerateMasterKey curve P IBE GeneratePparam curve Q IBE GenerateQparam curve Ppub IBE CalculateTparam curve P S QPpub IBE CalculatePairQPpub curve Q Ppub set identities string identities identity1 identity2 open file to encrypt input txt MemoryStream fileln new MemoryStream using FileStream fs File OpenRead input txt fs CopyTo fileln 3 encrypt input txt with identities array MemoryStream inCrypted IBE EncryptStream identities null fileln curve P Q QPpub save encrypted file as encrypted ibc FileStream fileOut1 new FileStream encrypted ibc FileMode Create FileAccess Write lt inCrypted WriteTo fileOut1 fileOut1 Close generate private key for identity1 byte privateKey IBE GetPrivateKey identity1 curve S decrypt file and save result to output txt MemoryStream deCrypted IBE DecryptStream identity1 privateKey inCrypted curve gt Ppub FileStream fileOut new FileStream output txt FileMode Create FileAccess Write deCrypted WriteTo fileOut 79 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 80
125. terson IBS ver Anexo A 3 Este wrapper consiste num nico m dulo e utilizado exclusivamente pelo utilizador Como os par metros e as chaves necess rias para assinatura e verifica o neste esquema utilizam as mesmas primitivas computacionais que o esquemas BF Fullident e Emribe podemos utilizar os par metros de sistema e as chaves privadas geradas pelo PKG de um destes esquemas Este aspeto torna se bastante conveniente pois permite adicionar propriedades de assinatura e verifica o de mensagens no lado do utilizador cliente a um sistema que j tenha implementado um destes esquemas IBE de forma simples e eficiente sem necessidade de efetuar qualquer altera o no PKG existente sign dll Setup Generate r r generateSignr curve Calculate R element R calcSignR curve r P Calculate S element S calcSignS curve r P H gt M dip R Verify Verify Signature ver verifySign curve P Ppub H2 M Fin R S Tabela 3 6 Wrapper para assinatura esquema Paterson IBS ver Anexo A 3 Na Tabela 3 6 possivel observar a correspond ncia para o esquema Paterson IBS entre os c lculos necessarios sobre a curva eliptica para a cria o e verifica o da assinatura e as opera es correspondentes no wrapper 3 3 2 Implementa o em NET C Partindo dos wrappers descritos anteriormente desenvolvemos aplica es para os dois esque mas em NET C com capacidades para cifrar e decifr
126. th in bytes R unsigned char data malloc size element to bytes data R element clear P element clear r element clear R pairing clear pairing return data j 76 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica __declspec dllexport unsigned char __cdecl calcSignS char curve unsigned char xrbyte unsigned lt char Pbyte unsigned char H2hash int H2len unsigned char xpkbyte unsigned char Rbyte lt gt int size initialialize pairing pairing t pairing elements of algebraic structure element t P r R S H2 H2P pk pkH3R H2PpkH3R mpz t H3R pairing init set str pairing curve element init G1 P pairing element init G1 R pairing element init G1 S pairing element init G1 H2P pairing element init G1 pk pairing element init G1 pkH3R pairing element init G1 H2PpkH3R pairing element init Zr r pairing element init Zr H2 pairing mpz init H3R element from bytes r rbyte element from bytes P Pbyte element from bytes R Rbyte element from bytes pk pkbyte element from hash H2 H2hash H2len element mul zn H2P P H2 element to mpz H3R R element mul mpz pkH3R pk H3R element add H2PpkH3R pkH3R H2P element invert r r element mul zn S H2PpkH3R r size element length in bytes S unsigned char data malloc xsize element_to_bytes data S element clear P element
127. to a exist ncia de um reposit rio ou do envio pr vio deste certificado do destinat rio para o recetor assim como a perda da caracter stica principal de um sistema IBC 4 3 3 Pol ticas O conceito de sticky policies foi introduzido em 2002 por Karjoth et al KSW02 a ideia na qual este conceito se baseia a associa o de um conjunto de pol ticas e regras a informa es de forma a tornar poss vel o controlo de acesso a estas informa es Uma arquitetura t pica de sticky policies composta por tr s elementos o dono da informa o o recetor e uma autori dade de confian a respons vel pela confirma o e aplica o das pol ticas De forma a facilitar a defini o e compreens o de pol ticas pelos utilizadores estas s o nor malmente definidas utilizando linguagens pr prias tais como Enterprise Privacy Authorization Language AHK 03 EPAL eXtensible Access Control Markup Language GMO3 XACML e eX tensible Rights Markup Language WLD 02 XrML Estes tr s exemplos bem como a maior das linguagens de defini o de pol ticas t m como base a linguagem Extensible Markup Language XML No contexto da arquitetura descrita e uma vez que o pequeno n mero de pol ticas sem grande complexidade n o justificava a implementa o de uma das linguagens anteriores optou se por criar de raiz uma especifica o simples de pol ticas baseada igualmente na linguagem XML que permitisse tornar tanto a cria o como a compreen
128. u de me dar for as para continuar a lutar pelos meus objetivos e dar o meu melhor em tudo o que fa o Ao Prof Doutor Paul Andrew Crocker estou profundamente agradecido pela oportunidade que me foi dada ao integrar o projeto Privacy Reliability and Integrity in Cloud Environments PRICE e pelo seu papel como orientador Os seus conhecimentos observa es prontid o e tempo despendido foram de grande import ncia para a realiza o desta disserta o ao longo de todas as etapas Quero agradecer tamb m ao Prof Doutor Sim o Melo de Sousa pelo seu esp rito cr tico e pelos seus pareceres que se tornaram indispens veis ao longo das v rias fases deste projeto Ao Ricardo Azevedo da PT Inova o pelo interesse e apoio dado ao longo de todo o desenvolvi mento do projeto e disserta o Quero expressar os meus agradecimentos ao meu colega de Mestrado e amigo Jo o Gouveia tanto pela ajuda brainstorming e colabora o no mbito do projeto PRICE que engloba ambas as nossas disserta es como pelos momentos de descontra o proporcionados dentro e fora do laborat rio Gostaria de agradecer tamb m aos meus amigos e colegas de laborat rio Leopoldo Ismael e Ruben Esp rito Santo pelo nimo distra o e companhia nas longas noites de trabalho e caf Por ltimo gostaria de agradecer aos restantes colegas do RELiablE And SEcure Computation Group RELEASE e aos meus amigos Cl udia Caronho Vitor Rolo Pedro Querido e Samuel D
129. ular pretenda usar a sua chave privada do par de chaves assim tricas de autentica o o PIN tem que ser enviado para o smartcard O smartcard possui um certificado X 509 com a chave p blica de autentica o que pode ser comunicado de forma a que possa ser verificado e a chave privada de autentica o validada 2 2 2 Assinatura Para a assinatura digital o smartcard do CC possui um par de chaves assim tricas RSA 1024 bits de assinatura digital que podem ser usadas para a assinatura de documentos pelo titular O smartcard cont m tamb m um certificado com a chave p blica da assinatura digital Este certificado pode ser comunicado a terceiros com o fim de verificar e validar a assinatura do titular Tal como na autentica o de forma a usar a chave privada do par de chaves assim tricas o titular do cart o tem que enviar o respetivo PIN de assinatura para o smartcard 2 2 3 Hierarquias e Certifica o Ambos os certificados de chave p blica autentica o e assinatura dos titulares do CC possuem hierarquias de certifica o que t m como certificado raiz GTE CyberTrust Global Root ver Figura 2 2 Este certificado pertence empresa GTE Corporation e faz normalmente parte dos certificados confi veis que v m instalados por defeito em browsers e outro software 2 2 4 Seguran a A seguran a do CC assegurada por v rias caracter sticas e o smartcard obedece a v rios padr es e pol ticas de seguran a MUL11a MUL11
130. umber Public Key Cryptography Standards Private Key Generator Public Key Infrastructure Public Parameter Server PIN Unlock Key Request For Comments Rivest Shamir Adelman cryptographic algorithm Secure Sockets Layer Transport Layer Security Universidade da Beira Interior eXtensible Access Control Markup Language Extensible Markup Language eXtensible Rights Markup Language xix Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica XX Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Cap tulo 1 Introdu o Com a massifica o do uso da Internet o constante crescimento de redes inform ticas e de utiliza o de servi os em Cloud surgem d vidas quanto privacidade e confidencialidade dos dados armazenados A quest o da seguran a toma assim especial import ncia especialmente se imaginarmos a possibilidade de informa es confidenciais de particulares ou empresas es tarem expostas a intrusos e atacantes na Internet com meios cada vez mais sofisticados que comprometem a seguran a e a privacidade dessas informa es Desta forma a criptografia tem especial import ncia na salvaguarda da confidencialidade e privacidade dos dados fazendo com que apenas as entidades s quais pertencem ou foram des tinadas as informa es possam compreend las A criptografia fornece t cnicas pelas quais a informa o pode ser codificada
131. vai enviar o hash destes para o PKG caso contr rio vai pedir estes elementos ao PKG 4 O PKG ao receber o hash dos elementos da aplica o vai compar lo com o hash dos ele mentos que possui se este coincidir enviada a informa o aplica o que os elementos est o atualizados 5 Caso a aplica o n o disponha dos par metros p blicos e defini o de curva el ptica ou caso estejam desatualizados estes ser o enviados pelo PKG A sess o de um utilizador termina quando este recebe a chave privada uma mensagem de erro caso n o seja poss vel gerar a chave pretendida devido ao incumprimento das pol ticas ou caso o utilizador n o seja capaz de se autenticar corretamente ou quando a sess o atinge o tempo m ximo de inatividade Na Figura 4 7 poss vel visualizar o processo de autentica o de forma a obter uma chave privada junto do PKG 1 A aplica o envia o certificado de autentica o do CC para o PKG a identidade do utili zador o ficheiro com a descri o das pol ticas e o hash das pol ticas a descri o e o hash 42 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica Client Application PKG D auth certificate ID policies policies hash auth certificate private key T auth certificate public key Generate GUID Generate private key 6 ID hash policies 4 sign GUID signed GUID private
132. ve privada utilizada para a gera o destas chaves possa ser destru da N o necess rio pr registo O utilizador pode receber uma mensagem cifrada sem nunca ter usado um sistema de cifra O PKG pode atribuir lhe uma chave para decifrar a mensagem a pedido Por outras palavras um utilizador n o precisa de estar registado no sistema para receber mensagens cifradas que a si lhe foram endere adas Expira o de chaves em vez de revoga o Este ponto em esquemas IBE pode ser considerada igualmente como uma vantagem ou desvantagem Um dos problemas mais dif ceis de uma PKI a revoga o de chaves num esquema IBE podemos utilizar uma data de validade para as chaves em vez de revoga o No entanto esta solu o n o resolve por completo o problema ver Sec o 2 4 2 3 Vulnerabilidade a spam reduzida Por exemplo para um sistema PKI para emails necess ria a publica o de uma lista de chaves p blicas reposit rio de certificados Uma lista desta natu reza pode assim tornar o sistema vulner vel a spam Num esquema de IBE da mesma natureza estes reposit rios n o necessitam de ser mantidos a chave p blica de um utilizador a sua identidade neste caso o seu email Possibilidade de adicionar informa o adicional identidade chave p blica poss vel cifrar uma mensagem para uma certa identidade e especificar por exemplo a data a partir 16 Aplica es de Criptografia Baseada em Identidade com Cart es de
133. x V length W length IV length A Tabela 3 8 mostra a compara o em termos de tamanho do cabe alho considerado apenas o tamanho dos elementos alg bricos uma vez que o tamanho das restantes informa es id ntico entre os dois esquemas de um ficheiro cifrado para n identidades com ambos os esquemas e uma chave de curva el ptica com 256 bits n identities BF Fullident Emribe 1 240 bytes 464 bytes 2 480 bytes 592 bytes 3 720 bytes 720 bytes 4 960 bytes 848 bytes 5 1200 bytes 976 bytes 0 2400 bytes 1616 bytes Tabela 3 8 Compara o do tamanho do cabe alho entre os esquemas BF Fullident e Emribe 29 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica poss vel observar em fun o da tabela que o esquema Emribe mais eficaz em termos de tamanho do cabe alho Para este exemplo a adi o de uma identidade no esquema BF Fullident representa uma adi o no tamanho de 242 bytes contra 130 bytes do esquema Emribe 0 16 n identities BF Fullident Emribe 0 14 1 0 0031 0 0057 oa 2 0 0061 0 0073 3 0 0090 0 0087 0 1 4 0 0122 0 0101 em 5 0 0151 0 0118 0 06 0 04 10 0 0302 0 0193 0 02 25 0 0756 0 0419 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 idee BF Fullident Emribe 50 0 1508 0 0796 Figura 3 4 amp Tabela 3 9 Compara o dos tempos em segundos de opera es sobre curva el ptica para n identidades entre os dois esquemas BF Fullident e Emr
134. za es e servi os p blicos ou privados que necessitam de assegurar a confidencialidade e integridade das infor ma es transmitidas dentro dos seus servi os de informa o No primeiro cap tulo referimos como servi os b sicos de seguran a que um sistema criptogr fico deve fornecer a Confidencialidade Integridade Autentica o e N o Repudia o Acredita mos que a arquitetura proposta e as solu es apresentadas nesta disserta o v o de encontro a estes requisitos Concluindo os resultados obtidos foram bastante satisfat rios e confiamos que a implementa o pr tica da nossa solu o num contexto real pode ser vantajosa em rela o aos sistemas de informa o criptogr ficos tradicionais A n vel pessoal o trabalho desenvolvido durante o decorrer da disserta o foi bastante gratifi cante permitiu o contacto com uma variedade de conce es e tecnologias que eram numa fase inicial desconhecidos e possibilitou uma aprendizagem importante a n vel tecnol gico nas reas de smartcards e seguran a com nfase especial na criptografia 6 2 Trabalho futuro Em termos de trabalho futuro e futuras dire es de investiga o estes podem ser divididos em aspetos de implementa o e novas funcionalidades 58 Aplica es de Criptografia Baseada em Identidade com Cart es de Identifica o Eletr nica 6 2 1 Aspetos de Implementa o No que diz respeito aos aspetos de implementa o prop e se e Imple
Download Pdf Manuals
Related Search
Related Contents
USER'S MANUAL Haier HF-299 User's Manual Sinbo Electrical Coffee Pot 消費者庁から措置命令を受けました対象製品「エアリア」 Intérieur_Tableau de bord_PBSA_002_2012.indd - Plate User Manual - Surplustronics ASUS SB7895 User's Manual Samsung RSH7UNPN manual de utilizador 平成11年那審第14号 油送船第三星泉丸機関損傷事件 言渡年月日 Copyright © All rights reserved.
Failed to retrieve file