2009-sbseg-mc2

49
Capítulo 2 Modelos de Criptografia de Chave Pública Alternativos Denise Goya 1 , Mehran Misaghi 2 , Vilc Rufino 1,3 e Routo Terada 1 1 Departamento de Ciência da Computação – IME–USP 2 Instituto Superior Tupy, Sociedade Educacional de Santa Catarina – IST–SOCIESC 3 Centro de Coordenação de Estudos da Marinha em São Paulo – CCEMSP–MB {dhgoya, vilc, rt}@ime.usp.br, [email protected] Abstract In this short course some difficulties about public key infrastructure are reviewed and it is showed how to reduce them with four alternative models in assymetric cryptography: identity-based, self-certified, certificateless and certificate-based. This study starts with the conceptual analysis of each model, and presents advantages and disadvantages, pos- sible applications and use contexts. A selection of protocols and code portions illustrate the behavior of models and introduce to the students useful tools to develop new applica- tions. Resumo Neste minicurso são revisadas algumas das dificuldades relacionadas à infraestrutura de chaves públicas (ICP) convencional e como elas podem ser minimizadas por meio do uso de quatro modelos alternativos de criptografia assimétrica: baseado em identidade, auto- certificado, sem certificados (certificateless) e baseado em certificado (certificate-based). A partir da análise conceitual de cada modelo, são expostas vantagens e desvantagens, discussões sobre possíveis aplicações e contextos de uso. Uma seleção de protocolos e pequenos trechos de código ilustram o funcionamento dos modelos e introduzem aos alunos ferramentas úteis para o desenvolvimento de novas aplicações. 1 Projeto Fapesp n 2008/06189-0 49

description

Modelos de Criptografia

Transcript of 2009-sbseg-mc2

  • Captulo

    2Modelos de Criptograa de Chave PblicaAlternativos

    Denise Goya1, Mehran Misaghi2, Vilc Runo1,3 e Routo Terada11Departamento de Cincia da Computao IMEUSP2Instituto Superior Tupy, Sociedade Educacional de Santa Catarina ISTSOCIESC3Centro de Coordenao de Estudos da Marinha em So Paulo CCEMSPMB{dhgoya, vilc, rt}@ime.usp.br, [email protected]

    Abstract

    In this short course some difculties about public key infrastructure are reviewed and itis showed how to reduce them with four alternative models in assymetric cryptography:identity-based, self-certied, certicateless and certicate-based. This study starts withthe conceptual analysis of each model, and presents advantages and disadvantages, pos-sible applications and use contexts. A selection of protocols and code portions illustratethe behavior of models and introduce to the students useful tools to develop new applica-tions.

    Resumo

    Neste minicurso so revisadas algumas das diculdades relacionadas infraestrutura dechaves pblicas (ICP) convencional e como elas podem ser minimizadas por meio do usode quatro modelos alternativos de criptograa assimtrica: baseado em identidade, auto-certicado, sem certicados (certicateless) e baseado em certicado (certicate-based).A partir da anlise conceitual de cada modelo, so expostas vantagens e desvantagens,discusses sobre possveis aplicaes e contextos de uso. Uma seleo de protocolose pequenos trechos de cdigo ilustram o funcionamento dos modelos e introduzem aosalunos ferramentas teis para o desenvolvimento de novas aplicaes.

    1Projeto Fapesp n 2008/06189-0

    49

  • 2.1. IntroduoA criptograa de chave pblica surgiu com a busca por solues para dois problemasintrinsecamente relacionados com o modelo de criptograa simtrica: como distribuiruma chave secreta e como autenticar algum, com garantia de irretratabilidade?

    Ambos problemas foram brilhantemente abordados em [Dife e Hellman 1976]e nasceu um novo paradigma para a criptograa, a de chave pblica. Nesse modelo,tambm chamado de assimtrico, todo usurio possui um par de chaves, uma pblica eoutra secreta. A chave pblica pode ser divulgada por meio de um canal pblico e serusada para cifrar mensagens. A chave secreta usada para decifrar e no precisa sertransmitida. Naquela ocasio, Dife e Hellman apresentaram um protocolo de acordode chave secreta sobre canal inseguro e deniram os princpios de funcionamento daassinatura digital.

    natural que um novo paradigma traga consigo novos problemas. Com a crip-tograa de chave pblica, no foi diferente. Um problema central nesse modelo o delegitimao da chave pblica. Como garantir que uma chave pblica pertence, de fato, aalgum? Uma soluo que se tornou prtica comum a de implantao de uma infraes-trutura de chaves pblicas (ICP, ou PKI Public Key Infrastructure), cuja marca so oscerticados digitais de chave pblica. Tal soluo, entretanto, embute algumas diculda-des, como as resumidas abaixo:

    processos complexos de implantao e manuteno da infraestrutura; custos de emisso, distribuio e armazenamento de certicados; custos para recuperar e validar certicados; diculdades com revogao de certicados.

    H pelo menos dois caminhos para minimizar essas diculdades: modicar o mo-delo de ICP (que no nosso foco) e modicar o modelo de criptograa de chave pblica.Esta ltima abordagem d origem ao que chamamos de modelos alternativos.

    O objetivo deste texto apresentar quatro modelos de criptograa de chave pblicaalternativos que dispensam a ICP convencional ou que a simplicam. So eles, o modelobaseado em identidade, o de chave pblica autocerticada, o modelo sem certicadose o baseado em certicado. Este ltimo, apesar do nome sugerir o modelo tradicionalcom certicados X.509, alternativo por variar na forma de gerao, distribuio e usodo certicado. Optamos por adotar as nomeaes dadas originalmente pelos autores,simplesmente as traduzindo respectivamente de identity-based, self-certied public key,certicateless e certicate-based.

    Mostraremos, na seo 2.2, que pequenas modicaes nos parmetros que con-cebem o modelo de criptograa de chave pblica podem induzir um modelo diferente ecriar um novo paradigma de criptograa assimtrica. Conforme dissemos anteriormente,novos paradigmas tendem a criar novos problemas. s vezes, os problemas no so pro-priamente novos, mas so inexistentes no modelo convencional com ICP. Portanto, pre-tendemos confrontar propriedades, vantagens e desvantagens de cada modelo, para que

    50 Minicursos SBSeg 2009

  • seja possvel uma anlise mais apurada e realista por aqueles que intencionam implantarnovos criptossistemas de chave pblica, minimizando efeitos colaterais de uma ICP.

    Na seo 2.3, apresentaremos detalhes de construo, alguns algoritmos e protoco-los selecionados e possveis aplicaes. Seguem posteriormente, na seo 2.4, compara-es gerais entre os modelos, consideraes sobre implementao, sugestes de trabalhosfuturos e concluses.

    Antes de tudo, revisamos na prxima subseo alguns conceitos em criptograade chave pblica, importantes para a compreenso dos modelos alternativos. Descriesmais detalhadas de fundamentos de criptograa e segurana podem ser obtidas em livroscomo [Mao 2003] e [Terada 2008].

    2.1.1. Conceitos Preliminares

    Em criptograa de chave pblica, todo usurio tem um par de chaves (s,P). A chavepblica P est matematicamente relacionada com a chave secreta s, de forma que:

    P calculada a partir de s, mas a partir do valor de P, computacionalmente invivel descobrir s.

    Desse modo, podemos escrever genericamente que P = f (s), onde f uma funoinjetora. s vezes, a funo f inclui parmetros do sistema ou outros dados. Por exemplo,na cifragem de ElGamal, P = gs, onde g um parmetro do sistema. Eventualmente, fpode parecer complexa e, em implementaes concretas, pode at ser codicada por umalgoritmo probabilstico ou s ser calculada a partir de P. Mas, por simplicidade, bastapensar que a chave pblica funo da secreta.

    Ora, se a chave pblica apenas resultado de um clculo, como comprovar queesse clculo est nica e exclusivamente associado a algum que conhea o valor secretos que o gerou? Em criptossistemas de chave pblica, se no houver uma garantia delegitimidade da chave pblica, no haver segurana alguma.

    Uma soluo para a legitimao de chaves pblicas que nos interessa revisar aqui a baseada em certicados digitais. Para se garantir que (s,P) pertence a um certo usuriocom identidade ID, introduzimos uma entidade convel que chamaremos de Autori-dade de Conana (AC), ou autoridade certicadora. AC tem seu prprio par de chaves(sAC ,PAC) e emite certicados digitais que atestam que um certo valor P pertence a umaentidade identicada por ID. Todos que conarem na autoridade, usaro P certos de queestaro se comunicando com ID.

    Um certicado digital (no modelo convencional) nada mais do que um do-cumento que contm, na essncia, dados sobre ID, sua chave pblica P, dados sobre aautoridade AC, alm de uma assinatura digital de AC que assegura a validade dos dadosdo certicado. Portanto, a assinatura no certicado uma garantia de que a chave Pest associada com ID. Podemos interpretar essa assinatura como uma funo que tem naentrada a chave pblica P, a identidade ID e a chave secreta da autoridade sAC .

    Uma ICP nada mais do que um agregado de hardware, software, pessoal espe-cializado e procedimentos, para gerenciar todo o ciclo de vida dos certicados: da sua

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 51

  • criao, distribuio at sua renovao ou revogao. Alguns aspectos do funcionamentodessa infraestrutura sero revistos ao longo do texto, conforme se zer necessrio.

    Os principais atributos da criptograa de chave pblica, no modelo convencionalsobre ICP, so sintetizados na tabela 2.1. Durante a anlise dos modelos alternativos, ve-remos que a variao desses atributos modica sensivelmente as propriedades do modelo.

    Tabela 2.1. Atributos do modelo convencional de criptograa de chave pblica.

    Chave secreta Chave pblica Garantias P = f (s) f (ID,P,sAC)

    escolhida pelo usurio calculada pelo usurio calculada pela autoridade,(ou pela autoridade) (ou pela autoridade) exclusivamente

    Para cifrar uma mensagem para o dono de P ou para vericar uma assinatura dele,os usurios usam o valor da chave P, obtido do certicado (ver a gura 2.1).

    Para decifrar uma mensagem destinada ao dono de P ou para que este crie umaassinatura, necessria a chave secreta s correspondente.

    Figura 2.1. Cifrando no modelo convencional com ICP

    Quando dissemos que a autoridade do sistema deve ser uma entidade de conana,no entramos no mrito sobre o que signica conana. Em [Girault 1991], so deni-dos os trs nveis abaixo, que indicam o grau de credibilidade que devemos depositar naautoridade.

    Nvel 1: a autoridade conhece (ou calcula facilmente) chaves secretas dos usurios; podepersonicar qualquer entidade sem ser detectada;

    Nvel 2: a autoridade desconhece (ou dicilmente calcula) chaves secretas dos usurios;pode personicar qualquer entidade, gerando falsas chaves pblicas, sem ser detec-tada;

    52 Minicursos SBSeg 2009

  • Nvel 3: a autoridade desconhece (ou dicilmente calcula) chaves secretas dos usurios;pode personicar qualquer entidade, porm detectada.

    No modelo com ICP e certicados de chave pblica X.509, a autoridade alcananvel 3, o mais desejvel. Os modelos alternativos, muitas vezes caem em nveis maisbaixos e, consequentemente, a autoridade tem mais poder e os usurios precisam conarmais nela.

    2.2. Modelos Alternativos: Conceitos e PropriedadesNas prximas quatro subsees, descreveremos os princpios de funcionamento dos mo-delos alternativos, as premissas, propriedades, pontos fortes e fracos de cada um, de formaconceitual, sem citarmos algoritmos nem protocolos, por enquanto.

    2.2.1. Criptograa de Chave Pblica Baseada em Identidade

    A ideia central da criptograa de chave pblica baseada em identidade muito simples.Se um problema o fato da chave pblica ser um valor numrico sem sentido explcito,por que no calcular a chave secreta a partir da pblica, que passa a ser uma cadeia decaracteres com algum signicado? Em [Shamir 1984], foi proposto que a chave pblicafosse a prpria identidade do usurio, como nome, endereo de email, CPF, nmero detelefone celular, endereo IP, nmero serial de dispositivos eletrnicos, etc.

    Se a chave pblica predeterminada (igual identidade), como, ento, calculara chave secreta? A resposta a essa questo vem junto com as primeiras premissas desegurana do modelo: existe uma AC, com as seguintes atribuies principais:

    Criar e manter a guarda segura de uma chave mestra secreta sAC ; Identicar e registrar todos usurios do sistema; Calcular as chaves secretas dos usurios; Entregar as chaves secretas de forma segura (com sigilo e autenticidade).

    Em 1984, Shamir descreveu o modelo e algoritmos para assinatura digital. Foramnecessrias quase duas dcadas at que fossem descobertos algoritmos de cifragem eci-entes e demonstrados seguros, para que o modelo baseado em identidade despertasse uminteresse renovado nos pesquisadores e na indstria.

    Para ns de comparao, na tabela 2.2, v-se que a chave secreta calculada emfuno do segredo da autoridade do sistema e da identidade do usurio. Para uma fconveniente, invivel recuperar a chave mestra a partir dos valores de ID. E somentea autoridade capaz de gerar as chaves secretas, de modo que a prpria secreta s agarantia de que o uso de ID funcionar nas operaes criptogrcas envolvendo o donodessa identidade.

    Para cifrar uma mensagem para o dono de ID ou para vericar uma assinaturade ID, os usurios usam a identidade ID mais os parmetros pblicos do sistema, queincluem a chave pblica da autoridade (ver a gura 2.2).

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 53

  • Tabela 2.2. Atributos do modelo de criptograa de chave pblica baseada em identidade.

    Chave secreta Chave pblica Garantias = f (ID,sAC) ID s

    calculada pela autoridade e escolhida pelo usurio oucompartilhada com o usurio formatada pela autoridade

    Para decifrar uma mensagem destinada a ID ou para que este crie uma assinatura, necessria a chave secreta de ID.

    Vantagens

    O modelo baseado em identidade atraente por apresentar vrias vantagens interessantes.A primeira que a chave pblica pode, em grande parte dos casos, ser memorizvel porhumanos. Muito diferente da chave pblica convencional, que costuma ser uma cadeiabinria com centenas ou milhares de bits. A identidade pode ser informada pelo prpriousurio aos seus parceiros e no h a obrigatoriedade de manuteno de diretrios dechaves.

    Se houver credibilidade na autoridade do sistema e no contedo identicador daidentidade, a certicao ocorre implicitamente. Tornam-se dispensveis os certicadosdigitais e, mais ainda, a infraestrutura que os gerencie. Como consequncia, muitos pro-cedimentos existentes sobre uma ICP deixam de existir nos sistemas baseados em identi-dade.

    Para que seja possvel visualizar a economia de tempo de processamento, de cus-tos de armazenamento e de transmisses de dados, vamos relembrar, por exemplo, como, de maneira geral, uma operao de cifragem com ICP. Para Beto cifrar uma mensagempara Alice, antes de tudo, ele deve obter o certicado que fora emitido para a Alice (con-

    Figura 2.2. Cifrando no modelo baseado na identidade

    54 Minicursos SBSeg 2009

  • sultando um diretrio pblico ou a prpria Alice). De posse do certicado, Beto precisavericar o perodo de validade e a assinatura contida no certicado. A vericao daassinatura um processo que, s vezes, percorre todo o caminho de certicao das au-toridades certicadoras envolvidas na hierarquia, at se chegar autoridade certicadoraraiz. Se at este ponto, nada falhou, Beto pode guardar o certicado da Alice para futurosusos. Entretanto, antes de cada uso, Beto precisa consultar uma autoridade de validao,para vericar se o certicado no foi revogado (quase sempre, um procedimento de con-sulta a um servidor que esteja on-line). Estando o certicado vlido e no revogado, Betoextrai a chave pblica da Alice, cifra a mensagem e transmite.

    No modelo baseado em identidade, basta que os parmetros do sistema sejamautnticos (no modelo com ICP tambm preciso que os parmetros do sistema sejamautnticos). Satisfeita essa condio, as operaes de Beto para cifrar com base na iden-tidade se resumem a obter o identicador da Alice, cifrar e enviar (considerando-se querevogao de identidade tratada como explicado adiante).

    Uma peculiaridade do modelo baseado em identidade o fato da chave pblicapoder ser usada antes do clculo da chave secreta. Assim, possvel cifrar uma mensagempara quem ainda no se registrou junto autoridade do sistema nem possui chave secretade decifragem. Por contraste, no modelo com certicados, o usurio deve primeiramentese registrar e obter seu certicado, para ento poder receber uma mensagem cifrada sobsua chave pblica.

    Desvantagens

    O preo a pagar por todas essas vantagens uma srie de desvantagens, que, em algunscontextos, podem ser muito crticas.

    A primeira desvantagem, que caracterstica de sistemas baseados em identidadepuros (isto , sem modicaes que tentam minimizar ou eliminar os efeitos dessacaracterstica) a custdia de chaves. Conforme explicado anteriormente, a autoridadedo sistema tem a capacidade de gerar as chaves secretas de todos os usurios sob suaresponsabilidade. Isso implica que a autoridade alcana nvel 1 de conana, na deniode [Girault 1991]. Consequentemente, pode decifrar quaisquer textos cifrados a que tiveracesso (se puder identicar a identidade do destinatrio). Tambm pode assinar em nomede qualquer usurio e no h como garantir irretratabilidade. Portanto, fundamental quea autoridade do sistema seja convel o bastante para que aes de bisbilhotagem ou defalsicao como essas sejam controlveis.

    A propriedade de custdia de chaves, referenciada por key escrow nos textos emingls, nem sempre indesejvel. Dentro de uma empresa, por exemplo, se todos os do-cumentos e dados sensveis so cifrados pelo funcionrio que o gerou, a diretoria pode teracesso decifragem em caso de morte ou desligamento do funcionrio. Quando houvernecessidade de monitoria do contedo de emails cifrados, tambm pode ser justicvel acustdia de chaves. No entanto, para a maioria das aplicaes, custdia de chaves umadesvantagem.

    Outro ponto desfavorvel ao modelo baseado em identidade a necessidade de

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 55

  • um canal seguro para distribuio das chaves secretas. Se a entrega ocorrer num ambi-ente em rede e remotamente, h que se garantir autenticao mtua e entrega com sigilo.Para podermos comparar, no modelo sobre ICP, a autenticao frequentemente acontecedurante o registro do usurio junto autoridade de registro (muitas vezes presencial), masno h transmisso nem compartilhamento de segredo.

    Do lado do usurio, a guarda da chave secreta deve ser prova de perdas e roubos,o que sugere o uso de mecanismos adicionais para proteo da chave, como dispositivosde hardware, senha ou desao/resposta. E sempre que for necessrio renovar a chavesecreta, obrigatria a interao do usurio com a autoridade do sistema. Esses aspectosde guarda e renovao parecem ser equivalentemente implementados nos modelos comICP e baseado em identidade.

    O risco de comprometimento da chave mestra no sistema baseado em identi-dade muito alto, maior que no modelo convencional. Sobre a ICP, o comprometimentoda chave secreta da autoridade potencialmente leva criao de certicados falsos de cha-ves pblicas. Portanto, so afetadas as operaes que ocorrerem num momento posteriorao comprometimento da chave mestra. J no modelo baseado em identidade, quando achave mestra roubada ou perdida, operaes criptogrcas do passado e do futuro es-to comprometidas, para todos os usurios sob a autoridade em questo. Qualquer textocifrado capturado poder ser decifrado, se o intruso souber as identidades, e independen-temente se a cifra foi gerada antes ou depois do vazamento da chave mestra.

    Outra preocupao que se deve ter no modelo baseado em identidade a possibili-dade de revogao de identidades. Caso a chave secreta de um usurio seja comprome-tida, sua identidade deve ser revogada. Portanto, no recomendvel usar simplesmente onmero do CPF ou do telefone celular, por exemplo, como identicador de usurio. Nemsempre possvel cancel-los. Uma alternativa concatenar ao identicador principalum perodo de validade, como em JoaoSilva-deJan09aDez09. Caso esse usuriotenha seu segredo comprometido, nova chave secreta poderia ser gerada para uma novaidentidade, como JoaoSilva-deAgo09aDez09. No entanto, pode no ser trivial ga-rantir que ningum use a antiga identidade comprometida. Diminuir a granularidade doperodo, por um lado pode ajudar, por outro, sobrecarregar a autoridade, que ter querenovar as chaves com maior frequncia (e vale lembrar que a cada renovao o canalseguro deve ser restabelecido).

    Caractersticas Adicionais

    Como observado por [Shamir 1984], o modelo baseado em identidade ideal para gru-pos fechados de usurios, como executivos de uma multinacional ou liais de um banco,uma vez que a sede dessas corporaes podem servir como autoridade do sistema, emque todos conam. Aplicaes de pequena escala, em que os custos com implantao emanuteno de uma ICP sejam proibitivos, so candidatas ao uso do modelo baseado emidentidade. Quando as desvantagens citadas anteriormente no forem crticas, as caracte-rsticas do modelo possibilitam implementaes interessantes.

    Vale evidenciarmos a exibilidade de denio da chave pblica. A cadeia decaracteres associada com a identidade pode, em princpio, ser qualquer coisa. A con-

    56 Minicursos SBSeg 2009

  • catenao de indicadores de tempo e atributos possibilitam aplicaes em servios comdisponibilidade temporal ou sigilo no envio de mensagens com base em papis, comodescrito em [Misaghi 2008].

    Alguns exemplos de servios com disponibilidade temporal: documento con-dencial que possa ser revelado imprensa ou a um grupo particular, somente a partir dedeterminada data e hora; lances de um leilo que devem ser mantidos em segredo at om das negociaes; ou exibio de um lme que deve ser habilitada somente dentro doperodo de locao contratado.

    Vrios trabalhos foram desenvolvidos para adaptar o modelo baseado em iden-tidade a hierarquias de autoridades, dentre os quais, o de [Gentry e Silverberg 2002] um dos pioneiros. Uma das vantagens em trabalhar de forma hierrquica diviso daresponsabilidade da autoridade do sistema com autoridades subordinadas. E isso trazconsequncias importantes. A criao das chaves secretas dos usurios pode ser delegadaa nveis inferiores da hierarquia, distribuindo a carga de trabalho da entidade geradora.Alm disso, o segredo de cada usurio passa a depender das chaves mestras de mais deuma autoridade e, portanto, diminui o risco do comprometimento de uma chave mestra eh maior controle sobre o uso indevido de uma chave secreta por conta da custdia.

    A organizao hierrquica de autoridades tambm viabiliza a cifragem paragrupos de usurios. Mas uma generalizao desse tema se deu com o trabalho de[Abdalla et al. 2006], a partir do qual a identidade pode conter caracteres curingas. Numservio de correio eletrnico cifrado, por exemplo, *@*.usp.br atinge todos usuriosde todos departamentos da USP; admin@*.usp.br diz respeito a todos administrado-res de sistema dentro daquela universidade.

    O modelo baseado em identidade tambm tem sido alvo de estudos nabusca por alternativas ao SSL/TLS, para aplicaes na Web, como se pode ver em[Crampton et al. 2007]. Com a eliminao de certicados, simplicam-se o processode distribuio de chaves pblicas e o controle de acesso. De forma semelhante, omodelo tem sido explorado para prover segurana em vrias outras reas de aplicao,como computao em grade e redes de sensores (ver por exemplo [Lim e Paterson 2005]e [Szczechowiak et al. 2008]) e outras aplicaes na subseo 2.3.2.

    2.2.2. Criptograa de Chave Pblica Autocerticada

    O modelo de criptograa de chave pblica autocerticada foi proposto inicialmente em[Girault 1991]. Aqui, a ideia que a prpria chave pblica contenha uma garantia deque seu valor est associado com a identidade. Isso possvel se existir uma autoridadeconvel que auxilia na gerao da chave pblica e se o clculo dessa chave depender:

    da identidade do usurio; do segredo da autoridade; e do segredo do usurio.

    A criao da chave pblica autocerticada sempre ocorre a partir de um proto-colo interativo entre o usurio e a autoridade. Analogamente ao modelo convencional de

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 57

  • criptograa de chave pblica, na proposta de Girault o usurio escolhe sua prpria chavesecreta e a mantm em sigilo. Durante a interao, tanto o usurio quanto a autoridadeprecisam comprovar que conhecem um segredo (suas respectivas chaves secretas), semrevel-lo ao outro. Desse modo, a interao pode embutir um protocolo de identicao,uma assinatura ou uma forma qualquer de conhecimento-zero.

    Dependendo da construo do protocolo, a chave pblica calcula pelo usurioou pela autoridade. Porm, em todos os casos, s o usurio conhece sua chave secreta, oque signica que no h custdia de chaves, um dos pontos fracos do modelo baseado emidentidade. Os atributos desse modelo so resumidos na tabela 2.3.

    Tabela 2.3. Atributos do modelo de criptograa de chave pblica autocerticada.

    Chave secreta Chave pblica Garantias P = f (ID,s,sAC) P

    escolhida pelo usurio calculada pela autoridade ou pelo usurio,em um protocolo de prova interativa

    O uso de uma chave pblica falsa impede a correta inverso da operao criptogr-ca. Em outras palavras, se Beto cifrar um texto com uma chave pblica falsicada paraAlice, ela no ser capaz de decifr-lo. Da mesma forma, se Alice assinar um documento,todos que forem enganados sobre sua verdadeira chave pblica no podero vericar essaassinatura. Isso caracteriza o que chamamos de certicao implcita.

    No modelo tradicional com certicados, a validade da chave pblica explici-tamente vericada antes de seu uso. J no modelo autocerticado, isso no ocorre. Alegitimidade de uma chave pblica autocerticada conrmada implicitamente quando ainverso da operao criptogrca for bem sucedida. claro que essa propriedade nemsempre conveniente. Em [Kim et al. 1999], por exemplo, pode ser conferida uma solu-o em que possvel vericar previamente a chave certicada. Na gura 2.3, vemos ouso da chave autocerticada num processo de cifragem e decifragem.

    Figura 2.3. Cifrando no modelo autocerticado

    58 Minicursos SBSeg 2009

  • Em seu trabalho, Girault mostrou duas formas de se gerar chave pblica autocer-ticada e indicou como realizar um acordo de chaves com autenticao mtua. Em outrotrabalho independente, [Gnther 1989], tambm foi apresentado um protocolo de acordode chaves com autenticao em que as identidades dos usurios eram usadas nos clculosda chave negociada. A ideia de explorar a identidade para indiretamente validar a chavepblica retomada em [Al-Riyami e Paterson 2003], com outro modelo alternativo, queestudaremos na prxima subseo.

    Em sntese, a vantagem mais importante da criptograa de chave pblica auto-certicada a inexistncia de certicados digitais para as chaves pblicas (uma vez que acerticao acontece implicitamente) e sem recair em custdia de chaves.

    Em contrapartida, surgem desvantagens. Relativamente ao modelo baseado emidentidade, o de chave pblica autocerticada menos atrativo por requerer um reposit-rio de chaves pblicas (ou cada usurio deve informar sua chave pblica aos outros).

    Entretanto, o ponto mais crtico a segurana do modelo originalmente denidoem [Girault 1991]. Na poca daquela publicao, as formalizaes de demonstrao desegurana para criptograa de chave pblica comeavam a ser construdas. At ento, osprotocolos no possuam demonstraes matemticas de sua segurana; continham sim-plesmente alguns argumentos intuitivos sobre a diculdade de sua quebra. Os protocolosde Girault e a maioria dos trabalhos subsequentes no apresentavam modelos formais desegurana e, portanto, no eram demonstrados seguros. Ao contrrio, muitos deles foramquebrados em algum momento posterior.

    At mesmo os esquemas de [Girault 1991] sofreram abalo. No texto original, oautor alegou ter encontrado uma forma de manter o nvel 3 de conana na autoridade,sem ter que distribuir certicados digitais. Em [Saeednia 2003], no entanto, os esquemasde Girault foram rebaixados ao nvel 1 (o mesmo do modelo baseado em identidade). Umacorreo foi sugerida nesse mesmo artigo, porm o preo para se recuperar a classicaode nvel 3 foi um alto custo computacional.

    Vrios pesquisadores estudaram o problema de construir esquemas baseados nachave pblica autocerticada que pudessem ser demonstrados seguros. Os resultadospositivos quase sempre surgiram quando foram introduzidas variaes sobre a concepooriginal de Girault.

    Essas variaes, que ganharam nomes como certicado implcito ou assinaturaautocerticada, so mais adequadamente enquadrados dentro de outros modelos. Brevesdescries sobre as variantes mais interessantes sero dadas na subseo 2.3.3.

    A chave pblica autocerticada, como garantia de autenticao do usurio, noevoluiu como modelo independente. Isto , no se chegou, pelo menos at o momento, aum conjunto de primitivas bsicas que garantam condencialidade, autenticidade e inte-gridade, todas demonstravelmente seguras.

    2.2.3. Criptograa de Chave Pblica sem Certicados

    O modelo de criptograa de chave pblica sem certicados foi apresentado originalmenteem [Al-Riyami e Paterson 2003]. Os autores buscavam uma forma de eliminar a cust-dia de chaves do modelo baseado em identidade, mais especicamente do protocolo de

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 59

  • cifragem de [Boneh e Franklin 2001]. Combinando ideias deste ltimo com o modelode chave pblica autocerticada de [Girault 1991], chegou-se a um modelo intermedirioentre o baseado em identidade e o convencional com certicados.

    O modelo resultante deixa de ser baseado em identidade, pois h uma chave p-blica diferente do identicador do usurio. Porm, por haver uso da identidade, ocorrea certicao implcita, sem que haja necessidade de distribuio e armazenamento decerticados digitais. Por esses motivos, costuma-se dizer que o modelo sem certicadosde [Al-Riyami e Paterson 2003] rene o melhor dos dois paradigmas: no h certicadose no h custdia de chaves.

    Como nos modelos anteriores, o sem certicados tambm depende da existnciade uma autoridade de conana AC. O papel dela , alm de identicar e registrar todosos usurios, calcular parte das chaves secretas dos usurios.

    O clculo das chaves parciais envolve a chave mestra secreta da autoridade, e aidentidade do usurio. A entrega dessas chaves parciais deve acontecer de forma segura,com autenticidade e sigilo. Porm, s com o conhecimento da chave secreta parcial, no possvel decifrar nem assinar documentos. Logo no h custdia de chaves.

    A chave pblica de cada usurio calculada de modo semelhante ao que ocorreno modelo convencional. Cada usurio escolhe seu segredo e gera a chave pblica a partirdesse segredo. A chave pblica pode ser divulgada pelo prprio usurio ou colocada emum diretrio pblico.

    A chave secreta completa composta por duas partes: a parcial fornecida pelaautoridade e o segredo do usurio. Somente com essas duas partes possvel assinarmensagens ou realizar decifragens. E o usurio o nico que conhece o segredo completo.

    Na tabela 2.4, podemos visualizar os principais parmetros envolvidos no modelosem certicados.

    Tabela 2.4. Atributos do modelo de criptograa de chave pblica sem certicado.

    Chave secreta Chave pblica Garantias = [x,d] [P, ID] s

    x segredo escolhido pelo usurio P = f (x)d = f (ID,sAC) segredo parcial calculado pela calculada pelo usurio

    autoridade e compartilhado com o usurio

    Para cifrar uma mensagem para A ou para vericar uma assinatura de A, outrosusurios precisam da chave pblica e da identidade de A. Desse modo, podemos dizer quea identidade parte da chave pblica. Dentre os parmetros do sistema, a chave pblicada autoridade fundamental nos clculos e um dos dados de entrada (ver a gura 2.4).

    Para criar uma assinatura de A necessria a chave secreta completa de A, mais a

    60 Minicursos SBSeg 2009

  • Figura 2.4. Cifrando no modelo sem certicado

    identidade de A, a m de se conrmar a certicao implcita. Para decifrar uma mensa-gem emitida para A, basta a chave secreta completa de A.

    Na anlise de segurana do modelo sem certicado, os autores modelaram doistipos de adversrios. O primeiro cumpre o papel de um usurio do sistema que tem opoder de substituir a chave pblica de qualquer outro usurio; ele no entanto desconhecea chave mestra da autoridade. Esse tipo de adversrio foi denido, pois, como no hcerticados para validarem explicitamente as chaves pblicas antes de seu uso, no hgarantia alguma da veracidade delas.

    O segundo tipo de adversrio representa a prpria autoridade do sistema que, em-bora honesta, pode tentar bisbilhotar as mensagens cifradas.

    Um esquema considerado seguro no modelo sem certicados quando acom-panhado de uma prova de que adversrios, de qualquer dos dois tipos, alcanam pro-babilidade desprezvel de sucesso em diferenciar entre duas cifras de duas mensagensconhecidas.

    O esquema de cifragem apresentado em [Al-Riyami e Paterson 2003] foi demons-trado seguro sobre essa modelagem de dois adversrios. Posteriormente, surgiram pro-postas de assinatura e outros protocolos variantes, com demonstraes sob os mesmosprincpios desse modelo de segurana.

    A criptograa de chave pblica sem certicados apresenta outras vantagens, almda j citada desnecessidade de distribuio de certicados e eliminao da custdia dechaves.

    Primeiramente, o risco do comprometimento da chave mestra menor do queno modelo baseado em identidade. Se houver perda ou violao da chave mestra numsistema sem certicado, sero comprometidas apenas as chaves secretas parciais. Paraconseguir decifrar mensagens cifradas anteriormente ao comprometimento da chave mes-tra, o impostor dever tambm obter o segredo do usurio. E para personicar usuriosou decifrar novas mensagens, antes ter que substituir chaves pblicas por valores cujosegredo associado seja escolhido pelo adversrio.

    Outra propriedade, que exclusiva do modelo sem certicado, que o processo

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 61

  • de renovao da chave pblica pode ser totalmente controlado pelo usurio. Isto , ousurio pode atualizar sua chave pblica e at mesmo possuir vrias delas, sem ter que secomunicar com a autoridade do sistema. A chave secreta parcial ser nica e gerada umas vez para cada identicador.

    E, assim como no modelo baseado em identidade, possvel criar a chave p-blica e us-la (para cifrar) antes mesmo que o usurio tenha entrado em contato com aautoridade para seu registro e obteno da chave parcial (que habilitar a decifragem).

    Uma das desvantagens do modelo que ainda no tem uma soluo simples o quefoi chamado de ataque Denial of Decryption (DoD), em referncia aos ataques de negaode servio [Liu et al. 2007]. O DoD se d quando algum divulga falsamente uma chavepblica ou a substitui em um repositrio pblico, com o objetivo de prejudicar um usuriolegtimo do sistema. Este, por sua vez, ser incapaz de decifrar mensagens que lhe tenhamsido enviadas, se tiverem sido cifradas com a chave falsa. Analogamente, assinaturasvlidas deixam de ser vericveis se for divulgada uma chave pblica ilegtima. E, numprimeiro instante, no ser possvel detectar se o que est errado a chave ou a assinatura.

    Outro preo a se pagar pela vantagem de no haver certicados uma consequn-cia da autenticao implcita. Quem envia uma mensagem cifrada s ter condies devericar a autenticidade da chave pblica depois que o destinatrio conseguir decifrar.Um remetente ter cincia de um eventual ataque DoD somente depois de ter consumidoconsidervel tempo de processamento e de comunicao.

    Embora no seja necessrio armazenar nem distribuir certicados, o modelo aindarequer um repositrio de chaves pblicas (ou uma forma de distribuio dessas chaves).Porm, mais crtico do que manter esse repositrio, gerenciar um canal autntico econdencial para entrega da parcial secreta; no modelo convencional com ICP, o canaldeve ser autntico, mas o certicado pblico.

    Comparando com o modelo baseado em identidade, aqui esse canal seguro usadocom frequncia um pouco menor: basta uma troca segura para cada identicador de usu-rio. No modelo baseado em identidade, se forem usados perodos de validade no identi-cador, o canal seguro ter que ser estabelecido a cada renovao.

    Da forma como foi proposto originalmente, o modelo sem certicado situa-se nonvel 2 de conana na autoridade, pois uma autoridade desonesta pode divulgar chavespblicas falsas. E no possvel comprovar se quem gerou a chave falsa foi a autoridadeou um usurio qualquer.

    Uma autoridade desonesta pode proceder da seguinte forma: ela escolhe um se-gredo, calcula a chave pblica correspondente e a divulga como se fosse de um usurio A;se a autoridade capturar textos cifrados para A sob essa falsa chave pblica, ter condiesde decifr-los, pois conhece o segredo e a chave parcial secreta. Em seguida, para tentarocultar a fraude, cifra novamente com a chave pblica verdadeira e repassa para o desti-natrio, ngindo ser o remetente original. Raciocnio semelhante vale para falsicao deassinatura por parte da autoridade.

    Portanto, os usurios de um sistema no modelo sem certicados precisam conarque a autoridade do sistema no propaga ativamente chaves pblicas falsas.

    62 Minicursos SBSeg 2009

  • Conforme discutido em [Al-Riyami 2005], possvel elevar o nvel de conanadentro do modelo sem certicado, se o valor da chave pblica for includo no clculoda chave parcial secreta. Desse modo, possvel detectar uma fraude da autoridade, sobalgumas condies, explicadas a seguir.

    Vamos primeiro considerar o caso de um esquema de assinatura, projetado paragarantir irretratabilidade. No modelo sem certicados, para assegurar que uma assinaturano tenha posteriormente a autoria negada, o identicador de cada usurio deve incluir ovalor da chave pblica, por exemplo, concatenando ID com P (ID||P). E no clculo dachave parcial secreta, o usurio precisa provar o conhecimento do valor secreto corres-pondente; ao mesmo tempo, a autoridade tambm deve demonstrar que conhece a chavemestra. Em outras palavras, a gerao da chave parcial deve consistir de um protocolointerativo com provas de posse de segredo. Nessas condies, o esquema de assinaturatem a propriedade de irretratabilidade e a autoridade alcana nvel 3 de conana.

    Para esquemas de cifragem, a anlise um pouco mais trabalhosa. Quando oidenticador do usurio embute o valor da chave pblica (como em ID||P), no h obri-gatoriedade de que a chave parcial seja mantida em segredo. Isso verdade, pois, aparcial sozinha no a chave secreta completa e, para que a autoridade consiga bisbilho-tar mensagens de algum usurio, antes ter que substituir falsamente a chave pblica e oidenticador, alm de gerar nova parcial.

    Considere, ento, a seguinte fraude: a autoridade substitui a identidade originalda Alice ID||P por ID||P; Beto, ao tentar enviar uma mensagem com sigilo para Alice, enganado sobre os dados dela e cifra usando ID||P; a autoridade captura tal mensagem ea decifra, descobrindo o contedo; a autoridade cifra novamente sob o identicador reale submete para Alice como se nada anormal tivesse ocorrido.

    Nem sempre essa fraude ser detectvel. Primeiro, Beto e Alice tero que descon-ar de tal possibilidade e perceberem que a Alice possui dois identicadores distintos:um foi usado por Beto para cifrar, e outro pela Alice para decifrar.

    Se a chave parcial for considerada pblica, a evidncia dessa fraude ser a existn-cia das duas chaves parciais, que s a autoridade consegue emitir. No entanto, a autoridadetentar ocultar a chave parcial derivada da chave pblica falsa, para no se autoincriminar.

    Por outro lado, se a chave parcial for considerada secreta, compartilhada apenasentre a autoridade e o usurio em questo, a evidncia criptogrca dessa fraude ser aexistncia de duas cifras para uma mesma mensagem, sob duas chaves pblicas distintasde Alice. Entretanto essa evidncia pode ser questionada pela autoridade: quem garanteque Beto no inventou a chave pblica falsa, criou as duas cifras e est tentando levantarsuspeitas sobre a autoridade?

    Desse modo, nem sempre a fraude ser detectvel para o caso de cifragem. E onvel de conana no chega a 3.

    Usos e aplicaes do modelo sem certicado so em grande parte relacionadoss aplicaes do modelo baseado em identidade. Quando uma aplicao deste ltimotiver como requisito a eliminao da custdia de chaves, o modelo sem certicado podeser empregado. Isso pode ser armado, pois protocolos com base na identidade quase

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 63

  • sempre podem ser modicados para o modelo de Al-Riyami e Paterson.

    O modelo sem certicado tambm indicado para uso em grupos fechados ou par-ceiros de negcios, em contextos em que a autoridade de conana pode ser representadapor algum do prprio grupo.

    2.2.4. Criptograa de Chave Pblica Baseada em Certicado

    O modelo de criptograa de chave pblica baseada em certicado, proposto por[Gentry 2003] uma variao do modelo convencional que mantm a infraestrutura dechaves pblicas.

    O objetivo inicial do autor era resolver o problema de revogao de chaves pbli-cas e eliminar o trfego de validao de certicados. Na soluo proposta, os certicadosso usados apenas pelo prprio usurio dono (e no por todos que precisem se comunicarcom segurana com o proprietrio do certicado, como no modelo tradicional).

    No modelo de Gentry, a hierarquia de autoridades certicadoras existe da mesmaforma que nas ICPs sob padro X.509. Cada usurio cria seu par de chaves, ou, alter-nativamente, a autoridade cria e entrega para o usurio, dependendo dos requisitos daaplicao.

    O que muda para a autoridade certicadora que, para cada perodo i predeter-minado, novo certicado deve ser gerado para todos os usurios (e esse perodo menorque na ICP comum). Esse certicado funciona como se fosse uma parte adicional chavesecreta do usurio, pois sem certicado vlido para um perodo, no possvel assinarnem decifrar. Portanto, do ponto de vista do usurio, o que muda em relao ao modeloconvencional a forma como usado o certicado.

    Ao proprietrio do certicado, cabe a responsabilidade de obter e armazenar local-mente o certicado vlido para o perodo. Ele ser usado como se fosse um componenteda chave secreta, embora possa ser distribudo em canal pblico.

    Aos usurios terceiros, o certicado no tem serventia alguma, pois para cifrarpara A ou para vericar uma assinatura de A, bastam a chave pblica e a identidade de A,mais o perodo i. A certicao da chave pblica ocorre implicitamente.

    Na tabela 2.5, podemos visualizar os principais parmetros envolvidos no modelobaseado em certicado. E, na gura 2.5, ilustrado o processo de cifragem e decifragem.

    Tabela 2.5. Atributos do modelo de criptograa de chave pblica baseado em certicado.

    Chave secreta Chave pblica Garantia[s,c] [P = f (s), ID] c = f (ID,P,sAC , i)

    s segredo calculada pelo usurio c o certicadoescolhido pelo usurio (ou pela autoridade) calculado pela autoridade(ou pela autoridade) (exclusivamente), para perodo i

    64 Minicursos SBSeg 2009

  • Figura 2.5. Cifrando no modelo baseado em certicado

    Se compararmos com o modelo convencional de ICP, o modelo de Gentry temcomo principal vantagem a eliminao do trfego de validao dos certicados, ou seja,no h consultas para vericao do estado do certicado. O autor estabelece que ocerticado emitido para o perodo i automaticamente invalidado quando expira o prazopara o qual foi emitido. Uma premissa fundamental que a chave pblica sempre considerada vlida por quem a usa. Portanto, o perodo deve ser curto o bastante para queo comprometimento de uma chave secreta cause o menor dano possvel at o m daqueleperodo.

    Se uma chave secreta comprometida, o usurio notica a autoridade e gera novopar de chaves. A autoridade, por sua vez, passa a emitir certicados somente para a novachave.

    O trabalho que um usurio tem antes de cifrar para algum (ou vericar umaassinatura) , portanto, o de obter a identidade e a chave pblica e de us-las diretamente.Numa ICP convencional, como j dissemos anteriormente, primeiro necessrio obter ocerticado, veric-lo (prazo de validade e assinatura), valid-lo (consultar uma lista decerticados revogados, por exemplo), para ento extrair e usar a chave pblica.

    Comparando com o modelo baseado em identidade, o baseado em certicado tema vantagem de eliminar a custdia de chaves, pois a criao do par de chaves acontece exa-tamente como no sistema tradicional, em que a chave secreta pode ser de conhecimentoexclusivo do usurio.

    Em relao ao modelo sem certicado, o de Gentry apresenta como vantagens onvel 3 de conana na autoridade e a no necessidade de canal sigiloso para troca desegredos. Em contrapartida, o modelo baseado em certicado ainda requer uma infraes-trutura para emisso e distribuio de certicados e pode ser considerado simplesmenteuma variao do modelo convencional de criptograa de chave pblica sobre ICP.

    A principal desvantagem do modelo de Gentry a potencial sobrecarga sobre aautoridade, devido reemisso de certicados. Isso vai depender de como for denido,no sistema, a frequncia com que os certicados devem ser atualizados, combinado com onmero de usurios. Para quando for grande o nmero de usurios, o autor descreve umatcnica auxiliar, que foi denominada subset covers, em que os certicados tm sobrevida

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 65

  • maior e so reconrmados a cada perodo de tempo; como consequncia, a carga deemisses diminui.

    Um ponto bastante crtico associado ao modelo baseado em certicado situa-senos detalhes de projeto e implementao, pois deles dependem o quo bem ser resolvidoo problema de revogao de certicados.

    Dentro do modelo baseado em certicado, revogao signica: a autoridade parade emitir certicados para a chave pblica cuja secreta foi comprometida. Na realidade,nem chave pblica e nem certicado revogado.

    Suponha que Alice teve seu segredo violado e imediatamente ela entrou em con-tato com a autoridade para gerar novo par de chaves. Se os demais usurios no foreminformados de que a chave pblica foi alterada e a continuarem usando, aquele que violoua antiga chave da Alice potencialmente poder usar o certicado revogado at o m doperodo de validade dele, seja na tentativa de falsicar assinaturas ou para ler documentoscifrados, capturados de alguma forma.

    Desse modo, o ideal que, antes de usar uma chave pblica, todo usurio a ob-tenha de algum repositrio atualizado, ou a pegue diretamente do usurio que a gerou.E ambas possibilidades requerem sistemas online, aproximando-se mais do que costumaser implementado tradicionalmente, com listas de certicados revogados (CLR) ou veri-cao online do estado do certicado (OCSP). Outra alternativa reduzir o perodo i deemisso de certicados, o que sobrecarrega a autoridade.

    Se a deciso de projeto for para que seja mantido um repositrio de chaves p-blicas vlidas, consultado por todos usurios antes de uma operao criptogrca, surgenova preocupao no gerenciamento de chaves: a segurana desse repositrio deve seradequada o bastante para que ele nunca seja atualizado falsamente. E esse repositrio dechaves pblicas substitui o que seria um repositrio de certicados digitais, na implemen-tao convencional.

    Por outro lado, cada usurio talvez tenha que ter um repositrio particular de cer-ticados emitidos para vrios perodos. Isso pode ocorrer se i for relativamente pequenoe existirem, por exemplo, certicados diferentes para cada hora ou menos. Suponha umsistema de email baseado em certicado e o seguinte cenrio. Alice ca fora da empresa,em visita a algum cliente, passa um perodo sem consultar o sistema, e ao mesmo temporecebe grande quantidade de emails cifrados. Ao retornar, Alice ter que obter todos oscerticados necessrios para ler as mensagens, alguns referentes a um mesmo perodo,outros no.

    Cabe um comentrio sobre o tamanho do certicado de Gentry. A rigor, o au-tor separa as informaes do certicado em duas partes. Os dados do usurio, que soessencialmente textuais, fazem parte de seu ID; os usurios podem manter uma cpialocal ou, por praticidade, guardar apenas um hash desses dados, pois eles sero usadosnos protocolos. O equivalente assinatura da autoridade sobre os dados do certicado,ca sicamente separado dos dados. O que o autor chama de certicado, e que usadocomo parte da chave secreta, apenas esse valor de assinatura. E somente esse valor atualizado e transmitido constantemente.

    66 Minicursos SBSeg 2009

  • Portanto, embora o trfego para distribuio de certicados possa ser mais cont-nuo, em cada conexo, o tamanho dos dados menor. Ainda assim, no trivial compararo trfego neste modelo com o padro X.509.

    O trfego para distribuio de certicados pode ser maior ou menor no modelobaseado em certicado. Isso depende das caractersticas do sistema que o implementar.Digamos que Alice se comunica com sigilo com uma quantidade n de outros usurios dosistema. Nenhum desses n usurios ter que obter certicado da Alice (como ocorre nomodelo da ICP tradicional), mas Alice tem que obter seu prprio certicado, um nmerox de vezes. Durante a fase de projeto de um sistema baseado em certicado, prudenteavaliar como x se relaciona com n e averiguar se o valor de x pode ser um problema ouno.

    Em [Gentry 2003], armado que o modelo baseado em certicado comea a setornar ineciente atualizando, a cada hora, mais de 225 milhes de certicados, aproxima-damente. Esses dados foram obtidos pelo autor, analisando a capacidade de autoridadescerticadoras em sistemas na poca.

    Para a anlise de segurana do modelo, similarmente ao modelo sem certica-dos, so denidos dois tipos de adversrios: um representa o usurio comum, porm nocerticado; outro adversrio representa a prpria autoridade, que no conhece o segredodos usurios e considerada honesta em no divulgar falsas chaves pblicas, mas tentabisbilhotar mensagens cifradas.

    Os esquemas demonstrados seguros no modelo baseado em certicado preveemos dois tipos de usurio. Isto , um esquema de cifragem demonstrado seguro se, soba condio de que o adversrio, seja de qual tipo, no conhece o segredo associado auma chave pblica, alvo de um ataque, no tem condies de diferenciar entre dois textoscifrados de duas mensagens distintas. E isso acontece mesmo que o adversrio tivera capacidade de decifrar mensagens para outras chaves pblicas. E num esquema deassinatura, apenas com o conhecimento do certicado e da chave pblica, os adversriosde ambos os tipos no so capazes de gerar uma assinatura vlida.

    Conforme detalharemos na subseo 2.3.5, os esquemas de assinatura mais recen-tes so demonstrados seguros mesmo que o adversrio tenha a capacidade de substituirchaves pblicas por valores sua escolha, porm sob a condio de que no h emissode certicado vlido para a falsa chave.

    Para se compreender o nvel de conana que a autoridade alcana sob o modelobaseado em certicado, necessria uma anlise semelhante que foi apresentada noestudo do modelo sem certicado. Aqui, o certicado uma assinatura da autoridadesobre as informaes de identicao do usurio, incluindo a chave pblica e um perodo.

    Para que num esquema de assinatura haja garantia de irretratabilidade, o registroda chave pblica deve ocorrer sob canal autntico e com prova de posse de segredo. Se aautoridade divulgar uma chave pblica ilegtima, ela ter condies de criar um certicadopara essa chave e assinar falsamente. A fraude ser detectada se toda chave pblica (usadana vericao de assinaturas) for divulgada obrigatoriamente junto do certicado. Doiscerticados e duas chaves comprometem a idoneidade da autoridade. Nessas condies,o nvel de conana 3 e h irretratabilidade de assinatura.

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 67

  • Nos esquemas de cifragem, tambm ser necessria a publicao do certicadojunto de cada chave pblica. Isso se deve ao fato da autoridade pretender decifrar men-sagens, cifradas sob falsas chaves pblicas, e reenviar ao usurio nal recifradas coma verdadeira chave. A evidncia da fraude se dar com a existncia de um certicadoemitido para a chave falsa. Como somente a autoridade tem acesso chave mestra, sela emite certicados. Se a substituio de chave pblica ocorrer em canal autntico, aautoridade responsabilizada pela fraude.

    Entretanto, gerenciar o armazenamento de todos os certicados, para cada chavepblica, passa a ser uma preocupao adicional. E maior que na ICP tradicional, pois atendncia que o volume de certicados seja maior.

    2.3. Construes e AplicaesPara as prximas subsees, selecionamos alguns protocolos que ilustram o funciona-mento do modelos alternativos. Tambm citaremos os trabalhos que marcaram a evoluode cada paradigma e descreveremos aplicaes que podem ter soluo mais elegante oueciente em um modelo em particular. Primeiramente, descreveremos alguns conceitospreliminares, necessrios para a compreenso dos algoritmos.

    2.3.1. Conceitos Fundamentais

    Grupos

    Um grupo um conjunto no vazio dotado de uma operao , que satisfaz as seguintespropriedades [Koblitz 1994]:

    Possui um elemento identidade: quando aplicada a operao sobre um elementoQ qualquer do grupo e a identidade, o resultado o prprio elemento Q;

    Possui o elemento inverso: quando aplicada a operao sobre um elemento Qqualquer do grupo e seu elemento inverso de Q, o resultado o elemento identidade;

    Associativo: se Q,R,S pertencem ao grupo, ento (QR)S = Q (RS); Fechado: a operao sobre elementos do grupo sempre tem como resultado um

    elemento do grupo.

    Na verdade no denimos o que a operao , ns a usamos para genericamentedenir operaes de adio ou multiplicao. Quando um grupo denido para operaesde adio podemos dizer que um grupo aditivo, neste texto iremos represent-lo por G1;quando um grupo denido para operaes de multiplicao dizemos que um grupomultiplicativo e iremos represent-lo por G2.

    Quando o nmero de elementos de um grupo nito, este nmero e chamado deordem do grupo.

    Podemos aplicar a operao sobre o mesmo elemento Q do grupo n vezes, comn um nmero natural: Q Q Q Q. Para Q G1 representamos por nQ, no casode Q G2 representamos por Qn. Dizemos que Q um elemento gerador do grupo

    68 Minicursos SBSeg 2009

  • quando podemos representar todos os elementos deste grupo atravs de Q operado sobreele mesmo. Se o grupo possui um elemento gerador chamado de grupo cclico.

    Em implementaes prticas, os grupos de interesse so formados por pontos so-bre alguma curva elptica.

    Emparelhamento Bilinear

    Sejam G1 e G2 grupos cclico de ordem prima q. Um emparelhamento bilinear ad-missvel, de acordo com a denio em [Boneh e Franklin 2001], um mapeamentoe : G1G1 G2, que satisfaz as seguintes condies:

    1. Bilinear: para qualquer P,Q G1 e a,b Zq, temos:e(aP,bQ) = e(P,Q)ab = e(abP,Q) = e(P,abQ)

    2. No Degenerado: no leva todos os pares G1G1 identidade em G23. Computvel: existe algoritmo eciente que calcula e(P,Q) para todos P,Q G1

    Modelos de Segurana

    Os modelos de segurana so a base da demonstrao formal de que um algoritmo seguro e indicam quais so as condies para que ele opere sem riscos. Os protocolosdemonstravelmente seguros sob o modelo padro tendem a ser mais robustos e os de-monstrados sob o modelo do orculo aleatrio tendem a ser mais ecientes.

    Ferramentas de Apoio

    Para implementao e testes de criptossistemas possvel usar ferramentas matemticasou bibliotecas que implementam total ou parcialmente funes teis, tais como: hash,manipulao de nmeros grandes, algoritmos criptogrcos padro, emparelhamento bi-linear, entre outras.

    Na subseo 2.3.4 utilizamos uma modicao do exemplo dl2.cpp da biblio-teca MIRACL (http://www.shamus.ie/) e conseguimos em poucas linhas de c-digo descrever um esquema baseado em emparelhamento, mostrando ser possvel com-provar rapidamente a adequao de um algoritmo para determinada aplicao. Essa bi-blioteca de uso livre para ns educacionais, possui uma extensa quantidade de funespara manipulao de nmeros grandes, corpos GF(p) e GF(2m), curvas elpticas, funeshash e criptograa simtrica; possui interfaces em C e C++; ainda se destaca por seu altodesempenho em testes de Benchmarks.

    Outras bibliotecas no proprietrias que podem auxiliar as implementa-es so OpenSSL disponvel em http://www.openssl.org/, Cripto++ dis-ponvel em http://www.cryptopp.com/, SECCURE disponvel em http://point-at-infinity.org/seccure/, SKS disponvel em http://sks.

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 69

  • merseine.nu/, LibECC disponvel em http://libecc.sourceforge.net/;e outras bibliotecas proprietrias tal como Java SE 6 e a Microsoft Cryptography API.

    Alm disso existem ferramentas matemticas que auxiliam a criao e de-monstrao de diversos modelos criptogrcos, tais como as ferramentas livresSAGE, disponvel em http://www.sagemath.org, e PARI-GP, disponvel emhttp://pari.math.u-bordeaux.fr/, e outras proprietrias tais como MAGMAhttp://magma.maths.usyd.edu.au/magma/, Mathematica http://www.wolfram.com/, Maple http://www.maplesoft.com/ e Matlab http://www.mathworks.com/. O livro [Trappe e Washington 2005] apresenta vrios exem-plos utilizando as trs ltimas ferramentas.

    2.3.2. Criptograa de Chave Pblica Baseada em Identidade

    Quando Shamir descreveu o modelo baseado em identidade, em 1984, apenas assinaturadigital ganhou algoritmos concretos. Por muitos anos sem sucesso, pesquisadores tra-balharam na busca por algoritmos ecientes e seguros para cifragem e decifragem, quecompem o chamado esquema IBE (Identity Based Encryption).

    Em 2001, dois criptossistemas baseados em identidade, mudaram este panorama.Um foi proposto por [Cocks 2001], fundamentado em resduos quadrticos, e outro por[Boneh e Franklin 2001], baseado em emparelhamentos bilineares. Este ltimo ganhounotoriedade no apenas pela ecincia, bem como pela formalizao completa de IBE epelas demonstraes de segurana que se tornaram referncia para outros protocolos decifragem sobre emparelhamentos. Vale mencionarmos que o uso de emparelhamentosbilineares em esquemas baseados em identidade havia sido anteriormente estudado por[Sakai et al. 2000] e que [Joux 2000] tambm j tinha sinalizado que emparelhamentosapresentavam grande atrativo para a criptograa, ao propor o primeiro protocolo de acordode chaves de trs participantes com uma s interao.

    Os criptossistemas hierrquicos baseados em identidades surgiram na sequn-cia, conforme detalhados em [Gentry e Silverberg 2002] e, posteriormente, em[Boneh e Boyen 2004, Yao et al. 2004, Chatterjee e Sarkar 2007]. As implementaescom hierarquia de autoridades se justicam no apenas porque reduzem a responsabi-lidade e a sobrecarga sobre uma autoridade centralizada, mas tambm porque so umaabordagem para eliminar a caracterstica de custdia de chaves.

    Desde ento, o modelo recebeu cada vez mais ateno dos pesquisadores, que pas-saram a acrescentar melhorias em vrias frentes: aumento da velocidade do clculo de em-parelhamento em [Fan et al. 2008], reduo do tamanho da chave em [Naccache 2007], eaumento do nvel de segurana com demonstraes sem a hiptese de orculos aleatrios,que o caso do esquema proposto por [Waters 2005]. Paralelamente, surgiram inmerosprotocolos e aplicaes interessantes; s para citar alguns:

    Assinatura em anel;

    Assinatura curtas;

    Assinatura em grupo;

    70 Minicursos SBSeg 2009

  • Cifrassinatura; Acordo de chaves autenticado; Acordo de chaves com vrios participantes; Implementao de disponibilidade condicional.

    Passemos, ento, descrio genrica de esquema de cifragem e respectiva con-cretizao dessa denio genrica, apresentada em [Boneh e Franklin 2001].

    Esquema de cifragem baseado na identidade

    Um esquema IBE composto por quatro fases: inicializa, extrai, cifra e decifra. Nor-malmente qualquer usurio pode cifrar uma mensagem usando um ID na fase de cifra. Odestinatrio, proprietrio do ID, poder decifrar a mensagem, por meio de decifra, usandouma chave privada correspondente a ID, obtida da autoridade de conana AC. Conforme[Baek et al. 2004], essas fases so denidas da seguinte forma:

    inicializa Os parmetros do sistema so gerados, junto com o par de chaves da AC, coma privada s e pblica P.

    extrai Beto se autentica junto AC e obtm sua chave privada sBeto, que associada identidade IDBeto.

    cifra Usando a identidade do Beto, IDBeto, e P, Alice cifra a sua mensagem m em textoclaro e obtm o texto cifrado C.

    decifra Ao receber o texto cifrado C de Alice, Beto decifra a mensagem atravs da suachave privada sBeto.

    Segue, abaixo, o esquema IBE de [Boneh e Franklin 2001]:

    inicializa Dado um parmetro de segurana k, gera a chave mestra sZq e os parmetrospblicos do sistema params = q,G1,G2,e,n,P,Ppub,H1,H2,H3,H4, onde G1 eG2 so grupos de ordem prima q, e : G1G1 G2 um emparelhamento bilinearadmissvel, P gerador de G1, Ppub = sP e Hi so funes de hash, tais que:

    H1 : {0,1} G1H2 : G2 {0,1}nH3 : {0,1}n{0,1}n ZqH4 : {0,1}n {0,1}nO espao de mensagens M = {0,1}n. O espao de textos cifrados C = G1{0,1}n{0,1}n.

    extrai Dados um identicador IDA {0,1}, params e a chave mestra s, calcular QA =H1(IDA) e a chave secreta dA = sQA.

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 71

  • cifra Dados um texto m M , uma identidade IDA e params, calcular o texto cifradorP, H2(e(QA,Ppub)r),mH4(), onde r = H3(m,), para {0,1}n, esco-lhido aleatoriamente.

    decifra Dados C = U,V,W C , a chave secreta dA e params:Se U G1, C rejeitado. Caso contrrio, calcular V H2(e(dA,U)) = e W H4() = m. Com r = H3( ,m), vericar se U = rP. Se for, m a resposta, senoC rejeitado.

    Vale salientarmos que a proposta de [Boneh e Franklin 2001] foi o primeiro a serimplementado na prtica e foi o ponto de partida para produtos comercializados nestarea. O esquema de [Cocks 2001] no usa emparelhamentos; despertou menor inte-resse devido ao alto grau de expanso do texto cifrado, porm ressurgiu melhorado em[Boneh et al. 2007], quando o problema de inecincia em espao computacional foi re-solvido.

    Adiante, descrevemos a denio de esquema de assinatura baseada na identidade,conhecido por IBS (Identity Based Signature).

    Esquema genrico de assinatura baseada na identidade

    Um esquema IBS genrico consiste em quatro fases: inicializa, extrai, assina e verica.Normalmente, nesse esquema, Alice pretende assinar um documento, obtm da AC a suachave de assinatura que est associada informao do seu identicador. Ela assina amensagem com a chave obtida. Para Beto vericar a assinatura de Alice, precisa doidenticador dela (e de nenhum certicado). As fases de um esquema genrico podem serdetalhadas conforme [Baek et al. 2004]:

    inicializa Os parmetros do sistema so gerados, junto com o par de chaves da AC, coma privada s e pblica P.

    extrai Alice se autentica junto AC e obtm a sua chave privada, sAlice , associada suaidentidade IDAlice.

    assina Com a sua chave privada sAlice , Alice cria a assinatura sobre a mensagem m.

    verica Beto verica se assinatura genuna sobre a mensagem m, usando a identidadede Alice e a chave pblica da AC, P, aceitando-a ou a rejeitando.

    O esquema IBS de [Shamir 1984] considerado o ponto inicial para outros es-quemas que surgiram. Por exemplo, o esquema proposto em [Hess 2003] permite a pr-computao na fase de assinatura, o que bastante til no caso de um assinante ter muitosdocumentos para assinar. A pr-computao auxilia na eliminao de uma das operaesde emparelhamento na fase de vericao de assinatura, contribuindo para desempenhodo sistema. Um IBS poder ser implementado a partir de um esquema hierrquico decifragem baseado na identidade (HIBE - Hierarchical Identity Based Encryption), como

    72 Minicursos SBSeg 2009

  • comentado em [Misaghi 2008, Joye e Neven 2009]. Neste ltimo, so dados os detalhesde construo e transformao de diversos modelos de assinatura baseada na identidadecom as suas principais caractersticas.

    Enquanto os esquemas de cifragem fornecem o servio de condencialidade, osde assinatura conferem autenticidade e integridade. Em algumas situaes, esses trs re-quisitos devem ser assegurados nas mensagens trafegadas. [Zheng 1997] mostrou quemais eciente do que encadear os algoritmos desses dois esquemas, comp-los em umnico esquema, que foi chamado de cifrassinatura. [Malone-Lee 2002] elaborou um mo-delo de segurana para esquema de cifrassinatura baseado na identidade e apresentou umprotocolo, que foi aprimorado por vrios outros trabalhos que vieram na sequncia.

    Para nalizarmos as construes do modelo, comentaremos a seguir a prximaprimitiva importante em criptograa de chave pblica, que tambm ganhou verso nestemodelo: acordo de chaves baseado em identidade, IBKA (Identity Based Key Agreement).

    Esquema de acordo de chaves baseado em identidade

    O protocolo de acordo de chave um dos primitivos fundamentais em criptograa, poispor meio dele possvel usar um canal inseguro para combinar um segredo em comumentre dois ou mais participantes, sem que a chave secreta de cada um seja revelada. Osegredo negociado pode dar origem a uma chave de sesso e ser usado em algoritmos decriptograa simtrica, que so bem mais ecientes que os do modelo de chave pblica.

    Um protocolo de acordo da chaves que oferea autenticao mtua chamado deprotocolo de acordo de chaves autenticado. No caso do modelo baseado em identidade, aautenticao ocorre implicitamente.

    Um esquema IBKA genrico consiste em trs fases: inicializa, extrai, acordo.[Mccullagh e Barreto 2004] propem um esquema eciente de acordo da chave com au-tenticao implcita. O esquema se destaca pela possibilidade de instanciamento com ousem custdia de chaves, sem a necessidade de ter mais passos no seu esquema. O esquemaapresentado a seguir caracterizado pela custdia da chave:

    inicializa Dado um parmetro de segurana, so obtidos dois grupos G1 e G2 de ordemprima q, e um emparelhamento bilinear e : G1G1 G2. escolhida uma funohash H1 : {0,1} Zq. A AC seleciona um gerador P de G1, escolhe uma chavesecreta sZq e calcula a chave pblica como Ppub = sP. A chave secreta mantidasob sigilo e os demais parmetros so distribudos atravs de canais autenticados.

    extrai A AC calcula a chave privada da Alice como sAlice = (a + s)1P, onde a =

    H1(IDAlice). O valor pblico da Alice QAlice = (a+ s)P, que pode ser calculadopor qualquer usurio como aP+Ppub. Analogamente, Beto possui valor pblicoQBeto = (b+ s)P e seu segredo sBeto = (b+ s)

    1P.

    acordo O acordo da chave ser feito da seguinte forma:

    1. Alice escolhe um valor aleatrio xa Zq , calcula Ta = xaQBeto = xa(b+ s)P eenvia TA para Beto.

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 73

  • 2. Beto escolhe um valor aleatrio xb Zq , calcula Tb = xbQAlice = xb(a+ s)P eenvia TB para Alice.

    3. Alice calcula KAB = e(Tb,sAlice)xa; de forma semelhante, Beto calcula KBA =

    e(Ta,sBeto)xb . Se ambos seguirem esse protocolo, calcularo o mesmo segredo

    compartilhado, pois:KAB = e(Tb,sAlice)

    xa

    = e(xb(a+ s)P,(a+ s)1P)xa= e(P,P)xaxb

    = e(xa(b+ s)P,(b+ s)1P)xb= e(Ta,sBeto)

    xb

    = KBA

    Avanos importantes

    No tarefa fcil enumerar todos os avanos relevantes que foram feitos sobre o modelobaseado em identidade, pois muitos trabalhos merecem meno. Entretanto, para nali-zarmos esta subseo, pontuamos dois bastante recentes, que nos do uma noo razovelsobre o atual estgio das pesquisas que tratam dois pontos crticos do modelo baseado emidentidade: custdia de chaves e revogao da identidade.

    Custdia de chaves provavelmente uma das mais indesejveis caractersticas nomodelo baseado em identidade. Na tentativa de remov-la, [Al-Riyami e Paterson 2003]e [Gentry 2003], acabaram por criar modelos alternativos, que no so baseados em iden-tidade por possurem outra chave pblica. Entretanto, mantendo-se a identidade comonico valor de chave pblica, a soluo mais comum para eliminar a custdia de cha-ves gira em torno de uma hierarquia de autoridades e de adaptaes sobre os esquemasexistentes.

    Em [Chow 2009], no entanto, proposta uma nova abordagem para impedir quea autoridade decifre mensagens de seus usurios. Se o texto cifrado embutir uma garantiasobre o anonimato do destinatrio, passa a ser proibitivo o custo computacional para que aautoridade tente decifrar as mensagens trafegadas. Chow estendeu o modelo de seguranapara IBE de modo a contemplar o anonimato, descreveu um esquema concreto seguro sobesse modelo e props uma nova arquitetura para permitir que a emisso da chave secretaseja feita de forma annima perante a autoridade.

    A soluo convencional que existe para o problema de revogao de identidade a concatenao de perodos de validade junto do identicador do usurio, criando iden-tidades como JoaoSilva-Setembro09. O problema dessa tcnica a alta carga detrabalho sobre a autoridade, na medida em que aumenta a frequncia de renovao dechaves. Em termos computacionais, dizemos que a complexidade da renovao linearno nmero de usurios.

    No trabalho de [Boldyreva et al. 2008], a identidade preservada (sem concatena-o) e a complexidade de renovao logartmica no nmero de usurios, o que muitoeciente quando a quantidade de usurios envolvidos bastante grande.

    74 Minicursos SBSeg 2009

  • Aplicaes do Modelo Baseado em Identidade

    Em [Appenzeller e Lynn 2002] foi proposto um novo protocolo de segurana na camadade rede que permite comunicao autenticada e cifrada entre os ns da rede. Os autoresusaram IBE na formulao do protocolo, tornando-o uma alternativa ao IPSec. Dentreas vantagens em se usar IBE, podem ser citados o fato de ser desnecessrio o processode handshaking inicial e no h troca de certicados para se enviar mensagens cifradas.Neste caso, o remetente simplesmente envia um pacote cifrado com o endereo IP dodestinatrio.

    A importncia da computao em grade se deve ao aumento expressivo de apli-caes que requerem poder computacional e capacidade de armazenamento cada vez mai-ores. A comunicao segura sobre uma infraestrutura de computao em grade normal-mente ocorre sobre uma ICP. Uma forma de aliviar a carga de trabalho, reduzir o trfegoe evitar o armazenamento de certicados digitais empregar o modelo baseado em iden-tidade, como uma abordagem alternativa em tais ambientes [Lim 2006]. Nesse trabalho,o autor prope um protocolo de acordo de chaves com autenticao mtua baseado emidentidade e indica como viabilizar servios de delegao e single sing-on.

    Redes tolerantes a atrasos e desconexes (DTNs) so redes caracterizadas pelaconectividade intermitente e que, por algum motivo, so desconectadas, interrompidas ouapresentam um certo atraso na entrega de pacotes. Podem estar em uma rea de grandeextenso ou at debaixo da gua. Nesses tipos de redes, o modelo baseado na identidadepode contribuir na implantao de condencialidade, conforme [Asokan et al. 2007]. Se-gundo os autores, a adoo de IBE em DTNs diminui a carga sobre o servidor e os recep-tores so menos exigidos com relao conectividade.

    Outra aplicao de interesse em que o modelo baseado em identidade tem par-ticipao a busca em dados cifrados. Considere sistemas de emails cifrados, em quepalavras-chave podem ser pesquisadas por um redirecionador sem que o contedo seja re-velado. Por exemplo, uma secretria pr-organizando emails de seu diretor por palavras-chave como urgente ou projetoX. Sem que ela consiga ler o contedo dos emails, sercapaz de redirecionar as mensagens com tais palavras-chave e prioriz-las. Naturalmente,essa secretria pode ser substituda por um sistema automatizado de ltragem, junto doservidor de emails.

    Analogamente, logs cifrados podem ser pesquisados por um auditor pr-habilitadoa localizar ocorrncias relacionadas a palavras especcas. Em [Abdalla et al. 2008] apresentado um importante trabalho nessa rea; uma das contribuies refere-se a umatransformao de um esquema IBE com garantia de anonimato para um esquema segurode criptograa de chave pblica com busca de palavras-chave.

    Uma das formas de se implementar autenticao mtua por meio do uso decartes inteligentes. [Scott et al. 2006] descrevem a implementao de trs emparelha-mentos bilineares sobre um smartcard de 32 bits. Neste artigo, os autores demonstramque os emparelhamentos podem ser calculados com ecincia equivalente alcanadapelas primitivas criptogrcas clssicas.

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 75

  • 2.3.3. Criptograa de Chave Pblica Autocerticada

    Com o objetivo de exemplicarmos o conceito de chave pblica autocerticada, vamosdescrever um dos protocolos de gerao de chaves de [Girault 1991], um que baseadona assinatura RSA.

    Inicialmente, a autoridade seleciona parmetros RSA, isto , escolhe n, produtode dois primos p,q. Calcula seu par de chaves: escolhe e relativamente primo a (p 1)e (q 1), e calcula d como inversa de e no mdulo (p 1)(q 1). Escolhe g de ordemmaximal no grupo multiplicativo (Z/nZ). Os parmetros n,e,g so tornados pblicos eos demais, mantidos em segredo.

    Um usurio com identidade I escolhe sua chave secreta s, calcula v = gs mod ne entrega v para a autoridade. Por meio de um protocolo de identicao, o usurio deveprovar autoridade que conhece s, sem revel-lo.

    A autoridade, ento, calcula e entrega a chave pblica:

    P = (gs I)d mod nConforme dissemos na seo 2.2.2, a chave pblica autocerticada calculada em funoda identidade do usurio (I) e dos segredos da autoridade e do usurio (no caso acima,respectivamente s e d).

    A autoridade alcanar nvel 3 de conana se demonstrar que gera os parmetrosde forma honesta, conforme detalhado em [Saeednia 2003].

    Um exemplo de uso da chave autocerticada acima dado por com um protocolode acordo de chaves autenticado, proposto em [Girault 1991], que, embora seja vulner-vel ao ataque do intermedirio, ilustra o princpio de funcionamento da chave autocerti-cada de forma simples. Considere que os atributos de Alice so (IA,sA,PA) e de Beto,(IB,sB,PB). Ambos negociam uma chave secreta calculando:

    Alice calcula (PeB+ IB)

    sA

    Beto calcula (PeA+ IA)

    sB

    Como d e = 1 mod (p 1)(q 1), pode-se vericar que Pe + I = gs mod n.Desse modo, os dois clculos acima so iguais a gsAsB mod n. O protocolo autenticado,pois Alice tem certeza de que conversa com Beto e vice-versa, sem a necessidade de seconferir certicados.

    Uma quantidade considervel de publicaes na sia, durante as duas ltimasdcadas, tem como tema a chave pblica autocerticada. possvel encontrar propostasde cifragem, cifra autenticada, acordo de chaves, assinatura e assinatura em grupo, s paracitar algumas. Praticamente todas so desprovidas de demonstraes formais e, portanto,no devemos consider-las para uso prtico.

    Talvez boa parte desses trabalhos tenha sido motivada pelo forte potencial de apli-cao do conceito. Em [Petersen e Horster 1997], so relatados os seguintes usos parachave pblica autocerticada, com vantagens sobre o modelo convencional de certica-dos digitais:

    76 Minicursos SBSeg 2009

  • Delegao do poder de decifrar ou assinar; Delegao de direitos; Votao eletrnica; Dinheiro eletrnico; Acordo no-interativo de chaves de sesso, com autenticao.

    Na ocasio da publicao de [Petersen e Horster 1997] ainda no eram conhecidasas aplicaes de emparelhamentos bilineares, que hoje so base de solues mais ecien-tes (e demonstravelmente seguras) para os usos acima. Entretanto, vale citarmos as ideiasprincipais que esses autores relatam para aplicao da chave pblica autocerticada, poisessas ideias so de alguma forma retomadas ou reaproveitadas em trabalhos posteriores.

    Para os casos de delegao de assinatura ou de decifragem, os protocolos de ge-rao de chaves autocerticadas so adaptados para serem executados entre o usurioprincipal e aquele para quem delegado algum poder. O procurador calcula seu parde chaves por meio do protocolo interativo com o emissor da procurao. A delegaode direitos ocorre dentro de um contexto de hierarquia de autoridades; cada n da hierar-quia pode ser associado a um privilgio, que concedido queles que forem previamenteautorizados, por meio da emisso de chaves autocerticadas.

    As aplicaes de votao e dinheiro eletrnicos citadas em[Petersen e Horster 1997], se baseiam num protocolo de gerao de chave pblicaautocerticada para um pseudnimo (em vez da identidade). O pseudnimo garante oanonimato e o sigilo do voto ou do uso de um dinheiro emitido, mas, ao mesmo tempo,oferece algum nvel de rastreabilidade, por exemplo para assegurar que cada eleitor voteuma nica vez, ou para que num caso de extorso o banco e uma entidade de conanadentro do sistema possam, em conjunto, rastrear as movimentaes fraudulentas.

    O acordo de chaves com autenticao de [Petersen e Horster 1997] permite que aschaves pblicas autocerticadas deem origem a novos pares de chaves, recalculados pelosprprios usurios sem necessidade de interao com a autoridade. Esses pares de chavesso usados no clculo de chaves de sesso, em protocolo com autenticao implicitamentevericada. Mais precisamente falando, cada usurio divulga um valor de testemunho (emvez da prpria chave pblica); a partir de um testemunho, da identidade e dos parmetrospblicos, qualquer usurio pode recalcular a chave pblica autocerticada. Quando ovalor de testemunho combinado com um perodo de tempo ou a um nmero de sesso,por exemplo, possvel realizar uma negociao no interativa de chaves de sesso.

    Variaes e Mais Aplicaes

    Quando tentamos isolar os trabalhos relacionados ao de [Girault 1991] que apresentamformalizaes conceituais e/ou demonstraes de segurana, encontramos variantes doconceito original que no podem ser enquadrados dentro do modelo de chave pblicaautocerticada, porm mantm algum aspecto da autocerticao.

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 77

  • Uma primeira variante a assinatura autocerticada, que pressupe a existnciade uma ICP convencional. Ou seja, todo usurio tem um par de chaves calculado da formatradicional e obtm um certicado digital para a chave pblica. Esse certicado, entre-tanto, distribudo de uma forma diferenciada, para otimizar as operaes de vericaode assinatura.

    No modelo convencional com ICP, a vericao de uma nica assinatura sobreum documento acaba levando a dois procedimentos de vericao: primeiro necessriovericar a assinatura da autoridade sobre o certicado; sendo esta vlida, extrada achave pblica do usurio para se conferir a assinatura do documento em questo. Oesquema de assinatura proposto em [Lee e Kim 2002] evita essa vericao dupla. Apartir do valor de assinatura do certicado obtido da autoridade, o usurio calcula umpar de chaves para assinatura (pode opcionalmente ser diferente para cada documentoassinado). A nova chave pblica calculada autocerticada. A assinatura a ser transmitidaconsiste dos dados do certicado e de um testemunho, a partir do qual recalculada achave pblica para vericao da assinatura.

    Em [Shao 2007], outro esquema de assinatura autocerticada proposto. O autorestabelece que parte do valor da assinatura do certicado deve ser secreto e obtm umavariante mais prxima do trabalho de [Al-Riyami e Paterson 2003], de criptograa dechave pblica sem certicado.

    Tambm com o objetivo principal de eliminar a dupla vericao de assinaturasem sistemas baseados na infraestrutura de chaves pblicas, existe o que a empresa Cer-ticom chama de certicado implcito. Estruturalmente, em nada difere um certicadoimplcito de um padro X.509 para chaves pblicas; a infraestrutura necessria para am-bos a mesma. No entanto, o valor de assinatura no certicado usado para qualquerusurio recalcular a chave pblica autocerticada. E essa operao de extrao do valorda chave pblica mais barato computacionalmente que uma vericao de assinatura(para validar um certicado).

    Um exemplo de gerao de certicado implcito descrito em[Brown et al. 2002]. Todos algoritmos associados a essa tecnologia e que so de-senvolvidos pela Certicom esto protegidos por uma srie de patentes (por exemplo, USPatent 20090041238). A linha de produtos ZigBee Smart Energy inclui um dispositivoque realiza as funes de uma autoridade certicadora, emitindo certicados implcitossobre curvas elpticas ECQV (Qu-Vanstone) para dispositivos com limitao de recursos(de armazenamento, de banda ou computacionais).

    Outro uso menos esperado da chave autocerticada tambm se deu dentro do mo-delo com certicados. Uma diculdade existente em sistemas com criptograa de chavepblica a validao da segurana de esquemas demonstravelmente seguros, quando im-plementados em conjunto com outras operaes. Pode acontecer, por exemplo, um pro-tocolo de assinatura com segurana demonstrvel no ter garantia de segurana quandousado dentro de uma ICP. No trabalho de [Boldyreva et al. 2007], os modelos de segu-rana para esquemas de cifragem e de assinatura incluem as vrias operaes que aconte-cem dentro de uma infraestrutura de chaves pblicas. Os autores propuseram dois proto-colos demonstrados seguros nesse modelo. Na prtica, esses protocolos oferecem maiorgarantia de segurana em implementaes reais, pois o modelo de adversrios mais

    78 Minicursos SBSeg 2009

  • amplo. E um dos pontos chave desse trabalho o emprego da certicao implcita.

    2.3.4. Criptograa de Chave Pblica sem Certicados

    Quando o modelo sem certicados foi proposto em [Al-Riyami e Paterson 2003], os au-tores apresentaram denies formais de um esquema de cifragem CLE (CerticatelessEncryption), deniram um modelo de segurana extremamente forte e construram umesquema concreto que cumpre todos os requisitos denidos.

    Na sequncia, surgiram vrias outras propostas, muitas das quais demonstradasseguras sob um modelo de segurana aparentemente mais realista, embora mais fraco queo original. At hoje os pesquisadores questionam se o poder dado ao adversrio no mo-delo de segurana proposto inicialmente demasiado forte ou no. Ningum conseguiuapontar uma aplicao real em que o modelo se aplica na totalidade, mas, por outro lado,como j existem protocolos que atendem um grau de segurana maior, h quem os prera,apesar deles serem um pouco menos ecientes.

    No replicaremos aqui as formalizaes sobre o modelo sem certicados e refe-renciamos o leitor excelente pesquisa feita por [Dent 2008], onde h tambm um levan-tamento de vrios protocolos de cifragem e uma discusso sobre os modelos de segurana.

    Para ilustrar o funcionamento da cifragem no modelo sem certicados, listamos oesquema de [Goya 2006] que simples o bastante, pois envolve menos parmetros e ciframais curta que o de [Al-Riyami e Paterson 2003]. O esquema foi demonstrado segurosob o modelo enfraquecido. Os cdigos 1 a 3 referem-se a trechos do esquema a seguir,implementados em MIRACL.

    inicializa Dado um parmetro de segurana k, inteiros n e k0, com 0 < k0 < n, AC:

    1. Gera dois grupos G1 e G2 de ordem prima q > 2k e um emparelhamentobilinear e : G1G1 G2. Escolhe aleatoriamente um gerador Q G1.

    2. Escolhe aleatoriamente s Zq e calcular Qo := sQ.3. Escolhe trs funes de hash

    H1 : {0,1} G1H2 : G1G2G1 {0,1}nH3 : {0,1}nk0 {0,1}k0 Zq

    4. Dene:M = {0,1}nk0 , como espao de mensagens;C = G1{0,1}n, como espao de textos cifrados;s, como chave-mestra do sistema;params := q,G1,G2,e,n,k0,Q,Qo,H1,H2,H3, como parmetros do sis-tema.

    extrai Dados um identicador IDA {0,1}, params e a chave-mestra s:

    1. Calcular QA := H1(IDA).

    IX Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 79

  • 2. Entrega para entidade A a chave secreta parcial dA := sQA.

    publica Dado params, a entidade A escolhe um valor aleatrio sA Zq outra chavesecreta parcial e calcula sua chave pblica PA := sAQ. A.

    cifrar Dados um texto m M , uma identidade IDA, params e a chave pblica PA:

    1. Escolher aleatoriamente {0,1}k02. Calcular

    r := H3(m,)QA := H1(IDA)gr := e(Qo,QA)r

    f := rPA3. Devolver o texto cifrado C = rQ,(m )H2(rQ,gr, f ).

    decifra Dados C = U,V C e os valores secretos dA e sA:

    1. Calcularg := e(U,dA)f := sAU(m ) :=V H2(U,g, f )

    2. Desmembrar (m ) e calcular r := H3(m,)3. Se U := rQ, devolver a mensagem m, seno C rejeitado.

    Cdigo 1 - Gerar chaves para a entidade A

    / / Execu tado pe l o u s ua r i o :/ / sA ( ge ra r v a l o r s e c r e t o )sA = rand (BITS_RANDOM, 2 ) ;

    / / PA ( c a l c u l a r chave p u b l i c a )PA = Q;PA = sA ;

    / / Execu tado pe l a a u t o r i d a d e :QA = H1( "A" ) ;

    / / dA ( chave s e c r e t a p a r c i a l )dA = QA;dA = s ;

    Evoluo do Modelo

    Vamos pontuar os trabalhos mais signicativos que marcaram a evoluo do modelo decriptograa de chave pblica sem certicados. Citaremos primeiramente os esquemas quecontemplam o sigilo; os de assinatura so descritos posteriormente.

    80 Minicursos SBSeg 2009

  • Cdigo 2 - Cifrar para a entidade A

    / / m p e r t e n c e n t e a Ms t r = MENSAGEM;m = ( char ) s t r . c _ s t r ( ) ;

    / / E s co l h e r a l e a t o r i o o ( s igma )o = rand (TAM_k0_BITS , 2 ) ;

    r = H3(m, o ) ;

    / / g = e (Q0 ,QA) ^ rg = t a t e (Q0 ,QA) ;g = pow ( g , r ) ;

    / / f = r PAf = PA ;f = r ;

    / / Obter t e x t o c i f r a d o c=/ / u = rQ ;u = Q;u = r ;

    / / v = m. o XOR H2( g , U, f )v1 = conc a t e n a (m, o ) ;v = H2( g , u , f ) ;v = XOR( v , v1 ) ;

    Cdigo 3 - Decifrar pela entidade A

    / / Obter g e f g l = t a t e ( u , dA ) ;f l = u ;f l = sA ;

    / / (m. o ) = v XOR H2( gl , u , f l )mo = H2( gl , u , f l ) ;mo = XOR(mo , v ) ;

    / / Separar m e om = Get_m (mo ) ;o = Get_o (mo ) ;

    r l = H3(m, o ) ;

    P1_aux = Q;P1_aux = r l ;

    i f ( P1_aux == u ){

    cou t

  • quantidade de exponenciaes. Em termos de ecincia, esse esquema superado pormuitos outros que so baseados em emparelhamentos. S para se ter uma ideia, a ver-so mais antiga comparada com esquemas de cifrassinatura em [Barreto et al. 2008] eperde em vrias ocasies (isto , mesmo apenas cifrando, o esquema sem emparelhamento mais lento que alguns esquemas que cifram e assinam simultaneamente).

    Talvez no seja exagero dizer que o calcanhar de Aquiles do modelo sem certi-cados o que se convencionou chamar de Denial of Decryption (DoD). razovel pensarem uma tal forma de ataque, pois as chaves pblicas so distribudas e no certicadas ex-plicitamente. Se o destinatrio (dono da verdadeira chave pblica) no conseguir decifrarou obter uma mensagem diferente da original, o ataque bem sucedido. No contexto deassinatura, usurios no conseguem validar assinaturas legtimas e sequer podem identi-car que o erro est na chave pblica e no na assinatura. No caso de implementaes queenvolvam um repositrio centralizado para armazenar as chaves pblicas, o ataque DoDter este nome mais que justicado, se o impostor substituir vrias (ou todas) chaves.

    A soluo delineada em [Liu et al. 2007] para se evitar o DoD envolve o clculoda chave pblica dependentemente da chave parcial secreta. Isso, entretanto, elimina umadas caractersticas peculiares do modelo sem certicado, que a possibilidade de se gerarchaves pblicas antes da interao com a autoridade do sistema. A proposta combinaCLE e CLS (respectivamente cifragem e assinatura no modelo sem certicado), criandoduas chaves parciais secretas, uma para CLE e outra para CLS. Portanto, h tambm duaschaves secretas completas, uma para decifrar e outra para assinar. A chave pblica passaa ser um par < pk, > onde a assinatura do usurio sobre sua prpria chave pblicapk. Um remetente deve vericar antes de cifrar com pk e, assim, DoD evitado.

    Os autores chamaram essa soluo de self-generated certicate PKC; ela se as-semelha a certicados autoassinados em ICPs. Um questionamento que ainda est emaberto se no possvel outro tipo de soluo, pois, na verdade, os autores inseriramuma espcie de certicado (a assinatura, que deve ser vericada e que s pode existirdepois de uma interao com a autoridade) em um modelo que, em princpio, sem cer-ticados.

    Um outro aspecto problemtico no modelo sem certicados, ainda que em menorescala que o DoD, o ataque da autoridade mal intencionada. O modelo de seguranadenido originalmente em [Al-Riyami e Paterson 2003], presume que a autoridade ho-nesta e segue os protocolos conforme especicados. Em [Au et al. 2007b], no entanto, apresentada a possibilidade de que a autoridade gere parmetros desonestamente, demodo a conseguir um atalho para decifrar textos, sem o conhecimento dos usurios.

    exceo de [Libert e Quisquater 2006, Hu et al. 2006], todos os esquemas pro-postos at o trabalho de [Au et al. 2007b], so vulnerveis a essa autoridade mal intencio-nada e mesmo os trabalhos mais recentes tambm o so em grande parte. O esquemade [Dent et al. 2008], por exemplo, falha nesse quesito. [Dent 2008] provou que umesquema CLE construdo sob a tcnica de [Dodis e Katz 2005] evita esse tipo de ao;uma implementao concreta de esquema de cifragem sob essa tcnica pode ser vista em[Chow et al. 2006], cuja proposta tem por objetivo principal o de resolver o problema derevogao de chaves pblicas no modelo sem certicados. Outro trabalho que trata oproblema da autoridade mal intencionada o de [Hwang et al. 2008], que apresenta um

    82 Minicursos SBSeg 2009

  • CLE demonstrado seguro sem orculos aleatrios.

    A propsito do problema de revogao, a soluo de [Chow et al. 2006] requer ummediador convel, a quem a autoridade entrega as chaves parciais secretas, e que se tornacapaz de iniciar o processo de decifragem. A cifra parcialmente decifrada submetida aodestinatrio nal, que completa a operao com o secreto aleatrio. Com esta soluo, omediador deve estar online e disponvel sempre que algum precisar cifrar ou decifrar.

    Com relao a assinaturas no modelo sem certicados, existem inmeros tra-balhos publicados, muitos porm demonstrados posteriormente inseguros. Um esquemaque ainda se mantm seguro apresentado em [Zhang et al. 2006], que melhorado em[Hu et al. 2007]. Este ltimo aperfeioa alguns aspectos do modelo de segurana paraassinatura, mas regride em outro (o orculo de assinatura sempre responde corretamente,mesmo que o adversrio fornea valor invlido de chave secreta). Todas essas propostasse baseiam no modelo do orculo aleatrio.

    Em [Liu et al. 2007], h um esquema de assinatura demonstrado seg