Introducao a Infraestrutura de Chaves Publicas e Aplicacoes

Embed Size (px)

Citation preview

Projetos especiais

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes

Escola Superior de Redes RNP

Copyright 2010, Escola Superior de Redes RNP

Produo Editorial Autores Marcelo Carlomagno Carlos Jeandr Monteiro Sutil Cristian Thiago Moecke Coordenao acadmica Derlina P. M. Miranda Design Reviso nal Pedro Sangirardi Tecnodesign Jonathan Gehard Kohler

Coordenao geral Luiz Coelho

Verso 1.0.1

Telefone/fax: (61) 3243.4340 E-mail: [email protected] Na Internet: esr.rnp.br

Esta obra distribuda sob a licena Creative Commons: Atribuio e Uso No-Comercial 2.5 Brasil

Grupos de Trabalho RNP (GT-RNP)O programa de Grupos de Trabalho (GTs) da RNP vem promovendo, desde 2002, a formao de parcerias entre a organizao e grupos de pesquisa para o desenvolvimento e introduo de aplicaes e servios inovadores na rede operada pela RNP. A cada ano, a formao de novos GTs iniciada com uma chamada de propostas comunidade de pesquisa. As propostas recebidas so analisadas por uma comisso composta por representantes da RNP e da comunidade acadmica, que seleciona os grupos a serem contratados. Os GTs selecionados desenvolvem seus projetos em etapas, implementando, inicialmente, um prottipo para a validao da aplicao ou servio proposto. Numa segunda etapa, implantado um servio piloto, com vistas sua possvel disponibilizao comunidade de usurios. Desde a criao do programa de GTs, foram desenvolvidos diversos projetos de inovao envolvendo temas ligados a aplicaes, middleware e redes. Alguns dos servios atualmente disponibilizados pela RNP para a sua comunidade de usurios, como o fone@rnp, video@rnp e a federao CAFe resultam de trabalhos desenvolvidos por GTs e so exemplos de sucesso desse programa. Tambm resultado de projetos desenvolvidos no contexto do programa de Grupos de Trabalho, a Infraestrutura de Chaves Pblicas para Ensino e Pesquisa (ICPEDU) tem como objetivo implantar um servio de gerao de certificados digitais, visando o seu uso para autenticao, assinatura digital e sigilo. Na implantao desta infraestrutura so aplicadas solues tcnicas, ferramentas e equipamentos desenvolvidos pelos Grupos de Trabalho GT-ICPEDU, do perodo 2003 a 2004, GT-ICPEDU2, do perodo 2004 a 2005, e GT-ICPEDU3, do perodo 2005 a 2006.

Escola Superior de Redes RNP

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes ApresentaoA Escola Superior de Redes da Rede Nacional de Ensino e Pesquisa (RNP) oferece cursos em tecnologia da informao e da comunicao para quem busca formao essencialmente prtica. As atividades so situaes-problema semelhantes s que so encontradas na prtica do profissional de TI. Estas atividades exigem anlise, sntese e construo de hipteses para a superao do problema. A aprendizagem torna-se mais efetiva se contextualizada realidade profissional. Os cursos propostos possuem 40 (quarenta) horas de durao divididas em 10 (dez) sesses de aprendizagem. Os participantes trabalham em grupo ou em duplas e cada um pode dispor de sua prpria estao de trabalho. O material de ensino composto de apostilas contendo slides comentados e roteiro de atividades prticas em laboratrio.

Conhecimentos prvios\\Conhecimento \\Conhecimento

bsico em informtica; bsico dos sistemas operacionais Windows e Linux.

Objetivos\\Adquirir

conhecimentos fundamentais de segurana em computao, tais como criptografia simtrica, assimtrica e funes de resumo criptogrfico. viso geral sobre o funcionamento de uma ICP e entidades envolvidas.

\\Adquirir

Ao final do curso o aluno ter aprendido a\\Utilizar

aplicaes prticas que envolvem os conceitos aprendidos, como assinatura digital e servidor web seguro, entre outros. funcionamento interno.

\\Utilizar mdulos criptogrficos seguros, alm de conhecer seu

\\Conhecer

as demandas de credenciamento e do dia-a-dia de uma Autoridade Certificadora.

Escola Superior de Redes RNP

SumrioSesso de aprendizagem 1 Fundamentos de criptografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Sesso de aprendizagem 2 Assinatura digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Sesso de aprendizagem 3 Infraestrutura de Chaves Pblicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Sesso de aprendizagem 4 Servidor Web Seguro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Sesso de aprendizagem 5 SGCI Conceitos e viso geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Sesso de aprendizagem 6 SGCI Gerenciamento de Entidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Sesso de aprendizagem 7 Gerenciando o ciclo de vida de chaves criptogrficas . . . . . . . . . . . . . . . . . . . 135 Sesso de aprendizagem 8 Utilizando o ASI-HSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Sesso de aprendizagem 9 Simulao de Credenciamento etapa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Sesso de aprendizagem 10 Simulao de Credenciamento etapa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Escola Superior de Redes RNP

1Sesso de aprendizagem 1 Fundamentos de criptografiaSumrio da sessoIntroduo................................................... 10 Definies................................................... 10 Criptografia.................................................. 11 Criptografia clssica........................................... 11 Criptografia moderna........................................... 16 Criptografia simtrica........................................... 17 Criptografia assimtrica I........................................ 17 Funes resumo (hash)......................................... 19 Assinatura digital.............................................. 19 Criptografia assimtrica II........................................ 20 Certificados digitais............................................ 20 Lista de Certificados Revogados................................... 21 Formatos.................................................... 21 Roteiro de atividades........................................... 23 Atividade 1 Cifrar o prprio nome utilizando o cifrador de Csar.......... 24 Atividade 2 Cifrar texto com o cifrador de Vigenere.................... 24 Atividade 3 Trocar mensagens sigilosas com a pessoa no computador ao lado.. 25 Atividade 4 Criao e visualizao de Certificados e LCRs............... 25 Atividade 5 Converso de formatos ................................ 26

Escola Superior de Redes RNP

10

IntroduoCriptologia Criptografia (krypts: escondido; grphein: escrita)Ocultar informao dos outros Legvel apenas para o destinatrio

IntroduoNesta primeira sesso de aprendizagem faremos uma reviso dos conceitos bsicos da criptografia. Iniciaremos descrevendo o que criptografia, passando pelos mtodos clssicos e modernos, criptografia assimtrica, funes resumo e finalmente assinatura digital. Existem duas formas bsicas de proteger informaes de forma que pessoas no autorizadas no tenham acesso ao seu contedo.

Criptoanlise

Decodificar mensagens sem conhecer a chave secreta

Esteganografia Ocultar mensagens dentro de outras

A primeira delas chamada de criptologia, que visa codificar e decodificar informaes de forma que apenas as partes interessadas possam compreendlas. A criptologia pode ser subvidida em criptografia e criptoanlise. O termo criptografia deriva das palavras krypts, que significa escondido, e grphein, que significa escrita. Portanto, a criptografia consiste de princpios e tcnicas para transformar a informao de sua forma original para outra ilegvel, de forma a proteger seu contedo do acesso de pessoas no autorizadas. A segunda a esteganografia (do grego escrita escondida), que consiste na ocultao de mensagens dentro de outras. O princpio da esteganografia ocultar a presena da mensagem, de forma que pessoas no autorizadas no detectem a existncia desta mensagem. Um exemplo bastante comum a utilizao de imagens para a ocultao de textos. importante destacar a diferena entre a criptografia e a esteganografia. A primeira oculta o contedo da mensagem, enquanto a segunda oculta a existncia da mensagem. Pode-se tambm utilizar as duas tcnicas simultaneamente, cifrando uma mensagem e depois ocultando a mensagem cifrada.

DefiniesTexto claro Texto cifrado Cifrar Decifrar Chave

DefiniesAntes de iniciar, devemos conhecer o significado de alguns termos que sero utilizados ao longo deste curso:\\Texto \\Texto

claro Texto original, no cifrado;

cifrado Texto ilegvel, no compreensvel (exceto para o destinatrio); Transformar texto plano em texto cifrado; Transformar texto cifrado em texto plano;

\\Cifrar

\\Decifrar \\Chave

Conjunto de dados utilizados para cifrar e decifrar.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

Criptografia11

Criptografia

Uma forma bastante comum de utilizao de criptografia durante a troca de mensagens entre duas pessoas. Por exemplo: se Beto deseja enviar uma mensagem cifrada para Alice, ele inicialmente compartilha uma chave secreta com ela. Aps isso, ele cifra sua mensagem utilizando esta chave compartilhada, e envia o texto cifrado para Alice. A partir deste momento, qualquer um que interceptar a mensagem no ter acesso ao seu contedo, uma vez que apenas Beto e Alice conhecem o contedo da mensagem. Quando Alice recebe a mensagem, ela utiliza a chave para decifrar o contedo e obter a mensagem original novamente.

Criptografia clssicaTransposio Original: help Cifrado: HLEP Substituio Original: help Cifrado: KHOS

Criptografia clssicaNa criptografia clssica, uma cifra de transposio se refere mudana de cada letra no texto claro para outra posio. Ao cifrar a palavra help, por exemplo, a transposio pode ser feita (entre outras possveis formas) da seguinte maneira:Citale espartano (sculo V a.c.)

1. Escrever a mensagem de forma que as letras alternadas fiquem separadas nas linhas de cima e de baixo. 2. Escrever a mensagem cifrada colocando primeiro as letras da linha superior e depois as da linha inferior.

Seguindo estes passos, a palavra help ficaria cifrada como HLEP. Um exemplo clssico da utilizao de cifra de transposio o citale espartano, que consiste em um basto de madeira, no qual enrolada uma tira de couro. O remetente escreve a mensagem ao longo da tira, e depois a desenrola, enviando apenas a tira ao destinatrio. O destinatrio, ao receber a mensagem, precisar de um citale com o mesmo dimetro para enrolar a tira, e desta forma decodificar a mensagem, obtendo a mensagem original. J a cifra de substituio um mtodo de criptografia que opera de acordo com um sistema pr-definido de substituio. Para definir de que forma so feitas as substituies, temos dois alfabetos: o original e o cifrado, que contm as letras em posies diferentes do original. Para realizar a cifragem a partir destes doisFundamentos de criptografia

Escola Superior de Redes RNPalfabetos, simplesmente obtemos a posio da letra que desejamos cifrar no alfabeto original e substitumos pela letra que se encontra na mesma posio no alfabeto cifrado.

12

Criptografia clssicaCifradores monoalfabticosRe-arranjo do alfabeto original 400.000.000.000.000.000.000.000.000 possibilidades

Alfabeto originalabcdefghijklmnopqrstuvwxyz

Alfabeto cifradoJOFPZIDKTMAEGQCSLUVWYXHNBR

Por exemplo, utilizando os alfabetos original e cifrados do slide, para cifrar a palavra cifrar, obtemos inicialmente a posio da letra c, no alfabeto original, e substitumos pela letra localizada na mesa posio no alfabeto cifrado, no caso, a letra F. Depois fazemos o mesmo para o i, que substitudo por T e assim por diante. Os cifradores monoalfabticos se caracterizam por utilizarem apenas um alfabeto cifrado; porm, possvel utilizar mais de um alfabeto cifrado, dando origem aos cifradores polialfabticos. Jlio Csar utilizava cifradores de substituio monoalfabticos com frequncia em suas batalhas. O mtodo que ele empregava era simplesmente substituir a letra desejada por outra que estivesse trs casas frente no alfabeto. Para decifrar, basta realizar o procedimento oposto, obtendo a letra que estivesse trs casas atrs.

Texto originalcifrar

Texto cifradoFTIUJU

Criptografia clssicaCifrador de Csar Texto original: escola superior de redes Texto cifrado: HVFROD VXSHULRU GH UHGHV Alfabeto original Alfabeto cifradoabcdefghijklmnopqrstuvwxyz DEFGHIJKLMNOPQRSTUVWXYZABC

Cifrar E(x) = (x+3) mod 26 exemplo: E(0) = 3 mod 26 = 3 Decifrar D(x) = (x-3) mod 26 exemplo: D(3) = 0 mod 26 = 0

Criptografia clssicaCifrador de Csar

Cifrador de Csar

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

13

Embora no tenha resistido at a nossa poca, uma vez que facilmente quebrado hoje em dia, em sua poca o cifrador de Csar se mostrou eficiente, apresentando vantagens bastante interessantes:\\

simples de ser utilizado, mesmo manualmente, possibilitando rapidamente cifrar e decifrar uma mensagem; utilizar diferentes chaves (deslocamentos, nesse caso), alterando o nmero de casas a serem deslocadas no alfabeto cifrado.

\\Permite

Contudo, este tipo de cifragem pode ser facilmente quebrado, uma vez que existem apenas 25 possveis alfabetos cifrados. Uma simples variao deste mtodo de cifragem, que ao invs de fazer deslocamentos, embaralhe o alfabeto cifrado, pode aumentar o nmero possvel de alfabetos para 400.000.000.000.00 0.000.000.000.000 possibilidades.

Criptografia clssicaAtaques Surgimento da criptoanlise Decifrar a mensagem sem conhecer a chave Origem rabe (sculo IX) Mtodo para quebrar a cifra de substituio monoalfabtica Anlise de frequncia

Com o advento da criptoanlise, no sculo IX, surgiram os ataques sobre as cifras existentes. O princpio bsico da criptoanlise decifrar a informao sem que se conhea a chave. Os rabes foram os pioneiros nesta rea, a apenas sculos depois a Europa passou a utilizar criptoanlise, no sculo XV.

Os rabes criaram ataques sobre os cifradores monoalfabticos utilizando o conceito de anlise de Contar a frequncia dos caracteres no texto frequncia. Basicamente, a anlise de frequncia Digramas Trigramas consiste em contar o nmero de ocorrncias de Origem na Europa apenas no sculo XV cada letra no texto cifrado, e comparar este resultado com a frequncia dos caracteres em um texto claro no idioma de origem. Por exemplo, em ingls, o caractere mais comum o e; se no texto cifrado a letra de maior frequncia for o R, pode-se imaginar que o e foi substitudo pelo R durante o processo de cifragem, e assim por diante. Um adicional importante a este mtodo a contagem de digramas e trigramas, que so sequncias de dois e trs caracteres que aparecem com mais frequncia no texto cifrado e substituir pelos que aparecem com maior frequncia em um texto claro comum. Apenas no Sculo XVI surgiram os principais criptoanalistas europeus, como Giovanni Soro, Philibert Babou e Franois Viete.

Fundamentos de criptografia

Escola Superior de Redes RNP

14

Tabela de frequncias

Criptografia clssicaCifradores polialfabticos Mais de um alfabeto cifrado Alfabeto original: abcdefghijklmnopqrstuvwxyz Alfabeto cifrado 1:JCHFZOTXRSLDWBPIVEAYGNMQUK

Alfabeto cifrado 2:PKBFLRIJEQTMYOAVHDCUXGSNZW

Com o intuito de eliminar ou ao menos dificultar os ataques por anlise de frequncia, surgiram os cifradores polialfabticos, que utilizam mais de um alfabeto para cifrar um texto. Desta forma, uma mesma letra pode ser substituda no texto cifrado por 2 ou mais caracteres. No exemplo dado a letra l, que em um cifrador monoalfabtico seria substituda apenas por uma letra, foi substituda por D e M.

Texto original: hello Texto cifrado: XKDMP

a b c d ... z a A B C D ... Z b B C D E ... A c C D E F ... B . . . . . ... .Quadrado de Vigenere

Exemplo: Texto original: bazar Palavra-chave: chave Texto cifrado: DHZVV

z Z A B C ... YUm dos cifradores polialfabticos mais famosos foi o de Vigenere, pelo fato de ser de fcil entendimento e implementao. A cifra de Vigenere utiliza 26 alfabetos para cifrar a mensagem.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

15

ca

O quadrado de vigenere trata-se de um alfabeto normal, seguido de 26 alfabetos cifrados, cada um deslocando uma letra em relao ao anterior. Para ilustrar como se realiza o processo de cifragem utilizando esta tcnica, vamos cifrar a palavra bazar e para isso utilizar a palavra-chave chave para realizar a cifragem do texto. Vale lembrar que caso a palavra-chave seja menor que o texto a ser cifrado, esta deve ser repetida at que para cada letra do texto a ser cifrado exista uma letra da palavra-chave correspondente. Para cifrar a letra b, inicialmente identificamos a letra correspondente na palavra-chave, que nesse caso c, que por sua vez define uma linha do quadrado que deve ser utilizada. Deve-se olhar para a linha que se inicia com a letra c e pegar o caractere desta linha que cruza com a coluna iniciada com o caractere b, e obtemos a letra D. O processo deve ser repetido para cada letra da mensagem a ser cifrada, resultado no texto cifrado DHZVV. Note que a letra a, repetida no texto claro, cifrada em dois caracteres diferentes, H e V. Enigma uma mquina de criptografia com rotores, utilizada tanto para cifrar como para decifrar mensagens. Criada pelos alemes em 1918, tem fama de ter sido um equipamento que produzia cifras quase impossveis de serem decifradas. O cdigo foi, no entanto, quebrado, e a informao contida nas mensagens produzidas por esta mquina geralmente tida como responsvel pelo fim da Segunda Guerra Mundial, pelo menos um ano antes da previso de trmino. Um vdeo que demonstra o funcionamento desta mquina pode ser encontrado em: http://www. youtube.com/watch?v=DnBsndE1IkA

a azistas da

nBsndE1IkA

Mquina Enigma: 1918 Alemanha. Utilizada pelos nazistas durante a Segunda Guerra Mundial, possuia trs rotores

Fundamentos de criptografia

Cifradores de blocos 16 Escola Superior de Redes RNPDividem a mensagem em blocos de tamanho fixo (ex: 128 bits) Criptografia moderna DES, AES

Cifradores de blocos: Dividem a mensagem em blocos de tamanho fixo (ex: 128 bits). DES, AES A era da criptografia moderna comea realmente em 1949, com Claude Shannon. Neste ano, ele publicou um artigo chamado Communication Theory of Secrecy Systems com Warren Weaver, que foi o primeiro passo para o estabelecimento de uma base terica slida para criptografia e criptoanlise. Em 1976 foi publicado, pelo governo americano, o algoritmo DES (Data Encryption Standard), aberto de criptografia simtrica, selecionado pelo NIST em um concurso. O DES foi o primeiro algoritmo de criptografia disponibilizado abertamente ao mercado. Vale lembrar que todos os algoritmos apresentados at agora, desde os clssicos, tm caractersticas simtricas, ou seja, para decifrar um texto, basta utilizar o procedimento oposto ao que foi realizado durante a cifragem dos dados. Entre os modernos algoritmos de criptografia simtrica, podemos agrupar duas principais categorias:\\Cifradores

de blocos Dividem a mensagem em blocos de tamanho fixo durante a cifragem dos dados; entre os cifradores de blocos, podemos citar o DES e o AES. de fluxo Cifram cada dgito do texto plano por vez.

\\Cifradores

Criptografia modernaCifradores de fluxo Cifram cada dgito do texto plano por vez Utilizados com maior frequncia quando dficil conhecer o tamanho do texto plano RC4

J entre os cifradores de fluxo, que so utilizados com menor frequncia do que os de bloco, o algoritmo mais conhecido atualmente o RC4.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

17

Criptografia simtricaComo distribuir as chaves de maneira segura? Como verificar se a mensagem no foi modificada? Como ter certeza de que a mensagem foi realmente enviada por quem diz t-la enviado?

Criptografia simtricaAo finalizar este breve estudo sobre criptografia simtrica, podemos notar que, embora estes algoritmos sejam bastante eficientes, surgem algumas questes que no so tratadas por esta sub-rea da criptografia. So elas: Como distribuir as chaves de maneira segura? - Aprendemos at agora que para que uma comunicao entre duas ou mais partes seja realizada de forma segura, necessrio que ambas as partes conheam previamente a chave. Porm, como fazer isso de maneira segura? Como garantir que apenas quem eu desejo vai conhecer esta chave? Como verificar se a mensagem no foi modificada? - Como podemos detectar se algum no autorizado conseguiu ter acesso mensagem e no a modificou antes que ela fosse entregue? Como ter certeza de que a mensagem foi realmente enviada por quem diz ter enviado? - Como saberchaves uma terceira parte no autorizada, que descobriu a chave Par de se no h secreta e est enviando mensagens em nome de outras pessoas?

Criptografia assimtricaPblica e Privada Confidencialidade

Criptografia assimtrica I

Par de chaves (pblica e privada); Confidencialidade Com o intuito de responder as questes levantadas, alm de outras questes, surgiu a Criptografia Assimtrica. A sua principal diferena em relao Criptografia Simtrica que utiliza o conceito de par de chaves para cifrar e decifrar mensagens. Dessa forma, foi criado um par de chaves, sendo uma chave considerada pblica, que pode ser disponibilizada livremente, e outra privada, que deve ser mantida apenas em posse de seu detentor. Essas chaves so complementares, ou seja, uma mensagem cifrada com uma chave deve ser decifrada por sua chave correspondente.

Fundamentos de criptografia

Escola Superior de Redes RNP

Criptografia assimtrica

18

Utilizando este conceito, se Beto deseja enviar uma mensagem sigilosa para Alice, ele deve cifrar o contedo de sua mensagem utilizando a chave pblica de Alice Par de chaves (de domnio pblico), e enviar para ela o texto cifrado. Alice, por sua vez, ao Pblica e Privada receber a mensagem cifrada, utiliza sua chave privada para decifrar o contedo. Desta forma, podemos garantir que apenas Alice conseguir decifrar o contedo Autenticidade da mensagem enviada por Beto.

Par de chaves (pblica e privada); Autenticidade

Por outro lado, se desejamos provar que a mensagem recebida foi realmente enviada pela pessoa que diz t-la enviado, o procedimento o seguinte: Beto cifra o contedo da mensagem utilizando sua chave privada, e envia para Alice, que por sua vez utiliza a chave pblica de Beto para obter o texto claro. Se a mensagem foi corretamente decifrada utilizando a chave pblica de Beto, podese entender que a mensagem cifrada foi gerada com a chave privada correspondente (a qual somente Beto tem acesso). Com isso, podemos ter certeza de que foi Beto quem criou a mensagem.

Criptografia assimtricaDiffie Hellman, 1976 Principais algoritmos RSA DSA

O conceito de criptografia assimtrica foi publicado em 1976 por Diffie Hellman, e tem como seus algoritmos mais famosos o RSA, criado em 1977 por Rivest, Shamir and Adlemane, e o DSA, criado pela NSA.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

19

Funes resumo (hash)Procedimento ou funo matemtica para transformar um conjunto de dados em outro conjunto de tamanho fixo (resumo criptogrfico) Impossvel obter a mensagem original a partir do resumo criptogrfico Difcil coliso

Funes resumo (hash)Uma funo resumo, tambm conhecida como funo de hash, uma funo matemtica para transformar um conjunto de dados em uma pequena sequncia de dados de tamanho fixo (resumo criptogrfico). Essa sequncia busca identificar um arquivo ou informao unicamente. Outra caracterstica importante referente s funes resumo, que no deve ser possvel obter a informao original a partir de um valor de hash.

Como a sequncia do hash limitada (128, 256, 512 bits etc), podem existir colises (sequncias iguais para entradas diferentes). Quanto maior a dificuldade de produzir colises, mais eficiente o algoritmo.

Assinatura digitalA assinatura digital um mtodo para prover caractersticas, em meio digital, a um documento, de maneira semelhante a assinaturas feitas em papel. A utilizao da assinatura digital gera uma prova de quem o autor, ou emissor, da mensagem. Alm disso, prov as seguintes propriedades: Autenticidade Busca garantir que a mensagem autntica, o autor da mensagem realmente quem diz ser. Integridade Permite vericar se a mensagem enviada a mesma mensagem que foi recebida ou se sofreu alguma alterao. Irretratabilidade O emissor no pode negar a autenticidade da mensagem. O processo de assinatura consiste em gerar o resumo criptogrfico da mensagem e cifrar este resumo com a chave privada do assinante. Para a vericao de uma assinatura digital, necessrio decifrar a assinatura gerada com a chave pblica do assinante e comparar o resultado dessa operao com o resumo do documento original.

Fundamentos de criptograa

Escola Superior de Redes RNP

20

Criptografia assimtrica

Criptografia assimtrica IIAt este momento, conseguimos, atravs dos conhecimentos obtidos, solucionar trs problemas com que nos deparamos:\\Distribuir

as chaves de maneira segura, o que foi resolvido atravs da utilizao de criptografia assimtrica. se uma mensagem foi modificada, o que foi resolvido atravs da assinatura digital. certeza de que a mensagem foi enviada por quem diz t-la enviado, o que foi resolvido atravs do uso de assinaturas digitais.

\\Detectar

\\Ter

Porm, surge uma nova pergunta: j que uma chave um conjunto de bits, como podemos saber quem o seu detentor?

Certificados digitaisNecessidade de relacionar uma chave a um indivduo Kohnfelder (1978) relaciona um usurio a uma chave Caractersticas importantes: Objeto puramente digital Contm informaes do detentor da chave privada Criado por uma entidade confivel Possvel delimitar suas possveis aplicaes Fcil determinar se foi violado Possvel verificar seu estado atual

Certificados digitaisUm dos principais problemas da criptograa de chaves pblicas determinar quem possui a chave privada correspondente. Para solucionar este problema, foi proposto o uso de Certicados Digitais de Chaves Pblicas, ou simplesmente certicados. Cada certicado contm a chave pblica e a identicao da entidade que controla a respectiva chave privada. Segundo R. Housley, um certicado ideal deve conter uma srie de caractersticas importantes: a. Ser um objeto puramente digital, para que possamos distribu-lo e process-lo automaticamente; b. Deve conter informaes sobre o detentor da chave privada; c. Deve ser fcil de determinar se o certicado foi recentemente emitido; d. Deve ser criado por uma entidade convel ao invs do prprio usurio que detm a chave privada; e. Uma vez que uma entidade convel pode criar vrios certicados, inclusive para um mesmo usurio, deve ser fcil diferenci-los; f. Deve ser fcil determinar se o certicado foi forjado ou se genuno; g. Deve ser prova de violao, de modo que ningum consiga alter-lo; h. Deve ser possvel vericar de forma imediata se alguma informao no certicado no mais vlida; i. Deve-se poder determinar para quais aplicaes o certicado vlido.

e a um indivduo rio a uma chave

a chave privada

plicaes

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

21

Os certificados digitais x.509 apresentam em sua estrutura as caractersticas listadas nos itens acima; porm, os itens h e j no aparecem diretamente no contedo do certificado, pois so apenas apresentadas referncias dentro do certificado para onde podemos obter tal informao. Tais caractersticas so providas a partir das Listas de Certificados Revogados (item h) e Polticas de Certificao (item i).

Lista de Certificados RevogadosNecessidade de tornar um certificado invlido Impossvel apagar todas as cpias existentes de um certificado Objeto puramente digital Motivos para revogao Modificao de um certificado Comprometimento da chave privada Encerramento de uso

Lista de Certificados RevogadosPara que seja possvel determinar se as informaes contidas em um certificado digital so vlidas em um determinado momento no tempo, foram criadas as listas de certificados revogados (LCR), que so listas emitidas periodicamente por uma Autoridade Certificadora ou por uma entidade para a qual foi delegada esta funo, que contm a relao dos certificados que no so mais vlidos.

Uma LCR um objeto digital, o que permite a distribuio, processamento e validao de forma eletrnica, de maneira semelhante a um certificado. A LCR assinada pela entidade que a emitiu, permitindo a verificao de sua integridade, e possui dois campos de data, um com a data de sua emisso e outro com a data de expirao, a lista dos nmeros seriais dos certificados emitidos, a data da revogao do certificado e extenses (opcional). Vrios motivos podem gerar a necessidade de revogao de um certificado digital:\\A

atualizao de dados nele contidos; da chave privada;

\\Comprometimento \\Cancelamento

do uso do certificado; da chave privada da Autoridade Certificadora;

\\Comprometimento \\Entre

outros motivos.

FormatosAbstract Syntax Notation (ASN.1) Estrutura de dados Codificar e Decodificar dadosCertificados LCRs

FormatosOs certificados digitais e as listas de certificados revogados so armazenados em arquivos, e sua estrutura, ou seja, a forma que seus dados so estruturados so definidos utilizando o Abstract Syntax Notation One (ASN.1). A ASN.1 uma notao padro que permite a representao, codificao/decodificao e transmisso de dados. Este formato possui uma

ExampleQuestion ::= SEQUENCE { trackingNumber INTEGER, question } IA5String

Fundamentos de criptografia

Escola Superior de Redes RNPsrie de regras para a descrio e codificao das estruturas de forma precisa, evitando ambiguidades. O exemplo apresentado no slide demonstra como uma lista de exerccios seria representada no formato ASN.1. ExampleQuestion ::= SEQUENCE { trackingNumber INTEGER, question } IA5String

22

FormatosBase64 Codifica dados binrios tratando-os numericamente em uma representao de base 64. Distinguished Encoding Rules (DER) Representa uma estrutura ASN.1 Privacy Enhanced Mail (PEM) Base64 com cabealhos

Base64 um mtodo para codificao de dados para transferncia. geralmente utilizado para codificar dados binrios, traduzindo-os para uma representao em base 64. O conjunto de caracteres constitudo por 64 caracteres de a a z, A a Z e 0 a 9. O caractere = utilizado como um sufixo especial; a recomendao RFC 989 definiu que o smbolo * pode ser utilizado para delimitar dados codificados, mas no cifrados. O Distinguished Encoding Rules (DER) uma sintaxe para transferncia de mensagens especificadas pela ITU dentro do X.690. Trata-se de um mtodo para codificar dados, como um certificado digital x.509, por exemplo. O Privacy Enhanced Mail (PEM) uma proposta criada para prover segurana em e-mails atravs da utilizao de criptografia de chaves pblicas.

FormatosExemplo de arquivo no formato PEM-----BEGIN CERTIFICATE----MIIDtTCCAp2gAwIBAgIJALgslSVdQqJEMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNV BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX aWRnaXRzIFB0eSBMdGQwHhcNMDgwOTIyMDMzNTU1WhcNMDgxMDIyMDMzNTU1WjBF skW3EjU1jQpoU5ovuV4UwLHs73mkz1jRoFxPYW1N7x3b1eXIlpqGZmv6nOc3R3Xm pIlkUhZ+8cp8G262od50qudiAA4BNfxoK900VCJMlgkGtJAuCIR32NDmgImgqs6t v3ESAjzOpwafksne2jcnYTt0v8FBli0+MWC9ON709I4JTC+XNvRBZEMF88n+n73h oNVnZ2qECuiPwTHAjIY3v/5VwYu+vn0Rh6jradZmIGqg8Uq5/CH6aWM= -----END CERTIFICATE-----

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

1Sesso de aprendizagem 1 Fundamentos da criptografia Roteiro de atividadesTpicos e conceitos\\Cifradores \\Criptografica

Clssica

Competncias tcnicas desenvolvidas\\Entender

o funcionamento dos cifradores clssicos

Tempo previsto para as atividades\\20

minutos (resoluo do exerccio proposto)

Escola Superior de Redes RNP

24

Atividade 1 Cifrar o prprio nome utilizando o cifrador de CsarEscrever em um pedao de papel o prprio nome e cifr-lo utilizando o cifrador de Csar.

Atividade 2 Cifrar texto com o cifrador de VigenereCifre o texto abaixo utilizando o cifrador de Vigenere: divert troops to east ridge Utilize a tabela abaixo para a realizao desta atividade, e como chave a palavra WHITE.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

25

Atividade 3 Trocar mensagens sigilosas com a pessoa no computador ao ladoUtilizar a documentao on-line do OpenSSL. 1. Utilizando OpenSSL atravs de linha de comando, gere uma chave RSA de 1024 bits (comando genrsa): openssl genrsa -aes128 -out private.pem 1024 2. Extraia a chave pblica correspondente chave gerada no passo 1: openssl rsa -in private.pem -pubout -out publica.pem 3. 4. 5. 6. Envie a chave pblica para a pessoa no computador ao lado; Crie um arquivo texto contendo a mensagem; Obtenha a chave pblica da pessoa ao lado; Cifre a mensagem de texto utilizando a chave pblica da pessoa ao lado (comando rsautl): openssl rsautl -encrypt -inkey publica.pem -pubin -in file.txt -out file.cifrado 7. 8. Envie para a pessoa ao lado; Decifre a mensagem recebida, utilizando sua chave privada (comando rsautl): openssl rsautl -decrypt -inkey private.pem -in file. cifrado -out decrypted.txt

Atividade 4 Criao e visualizao de Certificados e LCRsUtilize a documentao on-line do OpenSSL para consulta. 1. Utilizando OpenSSL atravs de linha de comando, gere um certificado auto-assinado: openssl req -new -x509 -newkey rsa:2048 -out autoassinado.pem -keyout chaveprivada.pem

Fundamentos de criptografia

Escola Superior de Redes RNP2. Exiba o contedo do certificado na tela (comando x509): openssl x509 -in auto-assinado.pem -text noout 3. 4. Obtenha uma LCR de uma AC Comercial (http://crl.verisign.com); Exiba o contedo da LCR na tela (comando crl); openssl crl -in Class3Commercial.crl -text -noout -inform DER

26

Atividade 5 Converso de formatosUtilize a documentao on-line do OpenSSL. 1. Converta o certificado gerado na atividade 1 para o formato DER (comando x509): openssl x509 in certificado.crt inform PEM out certificado_der.crt outform DER 2. Converta a LCR obtida na atividade 1 para o formato PEM (comando crl): openssl crl in lcr.crl inform DER out lcr_pem.crl outform PEM

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 1

2Sesso de aprendizagem 2 Assinatura digitalSumrio da sessoAssinatura digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Coliso de hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Assinatura de longo prazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Formatos de armazenamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Legislao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Assinatura digital na ICP-Brasil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 OpenDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 OpenXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Atividade 1 Assinatura Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Atividade 2 Assinatura digital de documento PDF . . . . . . . . . . . . . . . . . . . . . . 48 Atividade 3 Assinatura Digital no OpenOffice . . . . . . . . . . . . . . . . . . . . . . . . . 49

Escola Superior de Redes RNP

28

Assinatura digital

Assinatura digital

Autenticidade/No repdio; Integridade Nesta sesso, exploraremos mais a fundo o tema Assinatura Digital. Uma vez Autenticidade/No repdio compreendido o conceito de hash e de criptografia assimtrica, apresentados na sesso anterior, a ideia bsica da assinatura digital torna-se relativamente simples. Integridade A assinatura digital lembra, em muitos aspectos, a assinatura de prprio punho. Ela traz algumas propriedades importantes para os documentos eletrnicos:\\Integridade

Permite verificar se o documento no foi alterado aps a aplicao da assinatura; Permite verificar se um documento realmente foi gerado e aprovado pelo signatrio; repdio Impede que o signatrio recuse a autoria/conhecimento do documento.

\\Autenticidade

\\No

Mas a assinatura digital tambm tem diferenas com relao assinatura de prprio punho. Algumas mais e outras menos evidentes, mas que merecem ateno do usurio. Nesta sesso, aprofundaremos os conhecimentos no tema, buscando uma compreenso terica e prtica das principais caractersticas do processo de assinatura digital. O processo de assinatura digital faz uso da criptografia assimtrica, ou seja, faz uso de duas chaves:\\Uma

pblica, disponibilizada livremente, normalmente associada a dados pessoais do signatrio atravs de um certificado digital; privada, mantida protegida em sigilo pelo signatrio.

\\Uma

Alm disso, o processo ainda usa as funes resumo, ou funes hash. O procedimento de assinatura digital consiste nos seguintes passos: 1. O assinante gera um resumo criptogrfico da mensagem; 2. O assinante cifra o resumo com sua chave privada.Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

29

Este resumo criptogrfico cifrado uma assinatura digital da mensagem, e deve ser encaminhado ao destinatrio anexado mensagem. Para verificar a assinatura, o destinatrio executa os seguintes passos: 1. Tendo em mos a chave pblica, que ele sabe ser do remetente, o destinatrio decifra a assinatura, obtendo o resumo. 2. Tendo em mos a mensagem, gera novamente, de maneira independente, o resumo criptogrfico da mensagem. 3. O destinatrio compara os resumos obtidos no passo 1 e no passo 2:\\Se \\Se

ambos resumos so iguais, a assinatura vlida. os resumos no so iguais, a assinatura invlida.

A propriedade de autenticidade verificada no passo 1. Se uma outra chave privada, que no aquela associada chave pblica que o destinatrio conhece, tivesse sido utilizada para cifrar o resumo criptogrfico da assinatura, ao decifr-lo o hash original no seria obtido. J a propriedade da integridade verificada no passo 2. Se a mensagem sofrer uma alterao, aps a aplicao da assinatura, o resumo criptogrfico calculado pelo destinatrio no ir coincidir com aquele obtido pela decifragem da assinatura. importante notar que, apesar de guardarem semelhanas com as propriedades providas por uma assinatura de prprio punho, as propriedades da assinatura digital mostram-se mais fortes. Quanto a integridade, um documento assinado em papel pode sofrer adulteraes. O banco pagar por um cheque o valor que nele consta, sem verificar se o valor foi colocado antes ou depois da assinatura. Um pequeno ponto de tinta que no altere um contrato no invalidar a assinatura. J no caso de uma assinatura digital, um simples bit modificado na mensagem torna a assinatura invlida. Um cheque em branco digital, se existisse, uma vez assinado no poderia receber um valor sem invalidar a assinatura. J no que diz respeito autenticidade, tambm h uma mudana sensvel. Enquanto a verificao de uma assinatura de prprio punho depende da especialidade do grafoscopista, a verificao da autenticidade da assinatura digital, considerando-se o sigilo da chave privada, puramente matemtica e reside na confiana nos algoritmos utilizados. Outras diferenas tornam-se evidentes em uma anlise mais minunciosa, como o fato da assinatura no fazer mais parte do documento, e sim ser algo que pode ser desanexado. Exploraremos algumas destas diferenas com mais ateno durante esta sesso.

Assinatura digital

Escola Superior de Redes RNP

30

Coliso de hashO hash tem tamanho fixo. Ento existe um nmero finito de hashes Existem infinitas mensagens, portanto: Mais de uma mensagem tem o mesmo hash = Coliso de hash

Coliso de hashUma das particularidades da assinatura digital que a confiana estabelecida sobre ela depende da confiana nos algoritmos envolvidos. E um dos algoritmos utilizados um algoritmo de resumo criptogrfico ou hash. Ao olhar com mais ateno para a funo de resumo, percebe-se algumas caractersticas importantes. Entre elas, destaca-se o fato de que a funo resumo tem tamanho fixo limitado. Por exemplo, o MD5 tem 128 bits, o SHA-1 tem 160 bits. Mas se olharmos para as mensagens, no h limite de tamanho. Eu posso escrever quantas mensagens eu desejar, potencialmente infinitas mensagens. Desta forma, torna-se evidente que necessariamente mais de uma mensagem vai Coliso de hash ter o mesmo hash. Este evento recebe o nome de coliso de hash, e crtico para a confiana em uma assinatura digital.

A figura ilustra um ataque fazendo uso da coliso de hash. Suponha que um atacante obtm um documento que tem o mesmo hash de uma mensagem j assinada, ou ento obtm duas mensagens com mesmo hash, uma inocente, que ele convence a vtima a assinar, e outra maliciosa. Uma terceira pessoa, a quem chamamos de juiz, ao receber a mensagem maliciosa com a assinatura original anexada, aceitar aquela assinatura como vlida.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

31

Coliso de hashExemplo de coliso Ok, mas... funciona? J existem exemplos de: Dois arquivos HTML diferentes, com mesmo hash MD5 Dois arquivos PostScript diferentes, com mesmo hash MD5 Dois Certificados Digitais diferentes, com mesmo hash MD5

A pergunta que pode ocorrer : Mas isso funciona na prtica?. A resposta sim. Existem diversos exemplos prticos, disponveis publicamente, que demonstram a possibilidade de se obter colises reais de hash com efeitos prticos. Demonstraremos na sesso:\\Dois

arquivos HTML Pginas de duas empresas diferentes, com mesmo resumo MD5; arquivos PostScript, com mesmo resumo MD5: carta de recomendao; concesso de acesso a dados sigilosos;

\\Dois

\\Uma \\Uma \\Dois

certificados digitais com mesmo resumo MD5.

Coliso de hashSem pnico possvel que duas mensagens tenham a mesma assinatura, mas... ... uma boa funo de hash tem as seguintes caractersticas: difcil, tendo h(m), achar m difcil, tendo m1, encontrar m2 tal que h(m1)=h(m2) E mais difcil que encontrar uma coliso, encontrar uma coliso til Por quanto tempo voc quer que a assinatura continue vlida?

Se voc ficou assustado, o objetivo foi alcanado. Agora, iremos tentar tranquiliz-lo novamente. Como foi dito, ao mesmo tempo que a assinatura guarda semelhanas com a assinatura de prprio punho, ela tem suas particularidades que precisam ser bem compreendidas. Corretamente utilizada, ela d garantias de segurana que podem ser consideradas muito mais fortes. Voltando para a questo especfica das funes hash, cabe relembrar algumas caractersticas importantes que dificultam sensivelmente os ataques propostos:\\Boas

funes de hash, em geral, so virtualmente randmicas. pequena modificao na entrada tem que causar uma enorme modificao na sada (ex: ~50% dos bits).

\\Uma

Com estas caractersticas, mesmo que se encontrem colises, dificilmente elas sero teis, no sentido de que sero duas mensagens inteligveis, ao menos enquanto o algoritmo ainda considerado seguro, o que no o caso do MD5, no qual j existem diversas fragilidades conhecidas e que no deveria mais ser utilizado em qualquer aplicao crtica. Normalmente, uma questo de tempo: se sua assinatura no precisa ser validada a longo prazo, apenas amanh e nunca mais, no h muito com o que se preocupar. Mas no mundo real, muitas aplicaes precisam que a assinatura continue vlida por muito tempo. Em alguns casos, at para sempre!

Assinatura digital

Escola Superior de Redes RNP

Assinatura de longo prazoAssinatura de longo prazo

32

Toda assinatura digital vai expirar um dia

Toda assinatura digital vai expirar um dia Alm da questo do algoritmo de hash, que pode um dia ficar vulnervel e desta forma limitar a confiana em uma assinatura digital, outros aspectos limitam sua validade. Uma assinatura digital, na prtica, faz uso de certificados digitais. O certificado digital um conjunto de dados que inclui uma chave pblica, e informaes sobre o detentor da chave privada associada sua chave pblica, alm de um perodo de validade onde o certificado deve ser considerado vlido (no antes e no depois de um certo intervalo de tempo). Para garantir a confiabilidade destas informaes, o prprio certificado assinado digitalmente, por uma terceira parte confivel, que tambm tem seu certificado assinado por outra entidade, formando o que se chama de cadeia de certificao. Estudaremos esse assunto com mais detalhes na sesso 3. Quando a chave privada de um certificado digital comprometida, a autoridade que a emitiu coloca o certificado em uma Lista de Certificados Revogados, que est disponvel para consulta e assinada pela autoridade. Acontece que, para evitar o crescimento infinito da lista, os certificados expirados so removidos desta lista. E a surge mais um problema: como garantir, aps a expirao do certificado, que o certificado no estava revogado quando foi usado? Ou pior ainda, e no futuro, quanto estas ACs nem existirem mais? Por fim, alm do algoritmo de hash, outros algoritmos esto envolvidos no processo, como os de gerao das chaves e de cifragem. Se ocorrer quebra de algum dos algoritmos criptogrficos envolvidos, a assinatura tambm fica comprometida, sem ser possvel verificar se ela foi feita quando estes problemas no existiam.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

Assinatura de longo prazo

33

Carimbo de tempo

Carimbo de tempoPara resolver estas questes, precisamos entender o conceito de Carimbo de Tempo, ou TimeStamp. Um carimbo de tempo semelhante a uma assinatura digital, mas contm tambm uma informao de data/hora confivel. Desta forma, um carimbo de tempo cria uma ncora entre o contedo assinado e uma data, de forma confivel. Para isso necessrio uma TimeStamping Authority (TSA), ou Autoridade de Carimbo de Tempo. Trata-se de uma entidade confivel (assim como uma Autoridade Certificadora) que fornece o servio de carimbo de tempo.

Assinatura de longo prazoUtilizar carimbo de tempo para conservar a validade por longo prazo Antes da expirao da assinatura/carimbo anterior Utilizando algoritmos mais avanados

O carimbo de tempo pode ser feito sobre qualquer dado. Mas um dos usos mais comuns a aplicao do carimbo de tempo apenas assinatura digital, j que ancorando-a ao tempo, estar sendo ancorado todo o documento junto. Desta forma, o carimbo de tempo permite se ter certeza da existncia de um documento em determinada data. Com esta garantia, caso o certificado do signatrio venha a expirar, ou o algoritmo/hash da assinatura esteja comprometido, o carimbo garantir que a assinatura ocorreu antes da existncia destes problemas, e que portanto a assinatura pode ser validada com base na data do carimbo, e no na data atual.

Existem algumas consideraes que devem ser feitas quanto a aplicao de um carimbo de tempo:\\A

aplicao de carimbo de tempo deve ser feita quando o carimbo de tempo anterior ou a assinatura ainda era vlida. O que o carimbo faz ancorar a assinatura a uma data onde se sabia que a assinatura era ntegra; de nada adianta aplicar um carimbo em uma assinatura que j no mais verificvel/vlida.

Assinatura digital

Escola Superior de Redes RNP\\

Assinatura de longo prazo\\

34

necessrio que o carimbo de tempo utilize algoritmos melhores que os da prpria assinatura, se o objetivo proteger contra quebra de algoritmos. necessrio conservar tambm certificados da cadeia de certificao e listas

Utilizar carimbo de tempo para conservar a em que o carimbolongo prazo validade por de tempo foi de certificados revogados vlidos na data emitido, para que seja possvel realizar todas as verificaes necessrias Antes da expirao da assinatura/carimbo anterior sobre a cadeia de certificao. Estes dados podem no Utilizando algoritmosassinatura for verificada, especialmente estar mais disponveis mais avanados no dia em que a a longo prazo.

Formatos de armazenamentoPKCS#7/CMS/CAdES ASN.1 RFCs: XML-DSig/XAdES XML Padres W3S

Formatos de armazenamentoUma assinatura digital, na prtica, contm muito mais informaes do que o resumo criptogrfico da mensagem cifrado. Entre outros dados, podem constar data e local onde a assinatura foi realizada, certificado do signatrio e sua cadeia de certificao, informaes sobre estado de revogao do certificado (LCR, resposta OCSP), carimbo de tempo. Existem duas maneiras principais de representar uma assinatura digital: Binria e XML.

RFC 3852 - Cryptographic Message Syntax (CMS) RFC 5126 - CMS Advanced Electronic Signatures (CAdES)

A primeira, e mais antiga, representada pelo PKCS#7,e seu sucessor, o CMS. Atualmente descrito pela RFC 5280, trata-se de um formato binrio, codificado em ASN.1. O ASN.1 um padro usado para descrio de dados transmitidos em protocolos de telecomunicaes, de maneira independente do software e hardware onde foi gerado e onde interpretado. A segunda forma representada pela XML-DSig, um formato baseado em XML. Cada vez mais o eXtensible Markup Language (XML) tem sido utilizado para aIntroduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

35

representao de informaes, pois permite a representao destas em uma sintaxe simples de ser interpretada tanto por pessoas quanto por computadores, e que tambm extensvel, possibilitando a utilizao nas mais diversas aplicaes. Alm disso, existem padres para as chamadas assinaturas avanadas, que incorporam caractersticas que agregam mais segurana assinatura, como o carimbo de tempo:\\CAdES, \\XAdES,

baseado no CMS; baseado no XML-DSig.

LegislaoNa ICP-Brasil, a eficcia jurdica garantida pela MP 2200-2

LegislaoA ICP-Brasil foi instituda pela Medida Provisria 2200, de 28 de Junho de 2001 - a ltima reedio, em vigor no presente momento, e a MP 2200-2 de 24 de agosto de 2001 - com o objetivo de garantir a autenticidade, a integridade, e a validade jurdica de documentos em forma eletrnica, das aplicaes de suporte e das aplicaes habilitadas que utilizem certificados digitais, bem como a realizao de transaes eletrnicas seguras [1, Art. 1]. Alm da MP, ainda existe uma srie de decretos referentes a ICP-Brasil.

A MP delega ao Instituto de Tecnologia da Informao (ITI) a responsabilidade de gerir e regulamentar a ICP-Brasil. Isto feito atravs da publicao de resolues. Documentos assinados digitalmente utilizando certificados ICP-Brasil presumem-se verdadeiros com relao aos signatrios: MP 2200-2: Art. 10. Consideram-se documentos pblicos ou particulares, para todos os fins legais, os documentos eletrnicos de que trata esta Medida Provisria. 1o As declaraes constantes dos documentos em forma eletrnica produzidos com a utilizao de processo de certificao disponibilizado pela ICPBrasil presumem-se verdadeiros em relao aos signatrios, na forma do art. 131 da Lei no 3.071, de 1o de janeiro de 1916 (Cdigo Civil). 2o O disposto nesta Medida Provisria no obsta a utilizao de outro meio de comprovao da autoria e integridade de documentos em forma eletrnica, inclusive os que utilizem certificados no emitidos pela ICP-Brasil, desde que admitido pelas partes como vlido ou aceito pela pessoa a quem for oposto o documento.

Assinatura digital

Escola Superior de Redes RNP

36

Assinatura digital na ICP-BrasilConjunto Normativo DOC-ICP-15: diz exatamente como deve ser a assinatura, para que ela seja vlida na ICP-Brasil (eficcia jurdica) Baseado nos padres XAdES e CAdES Prope cinco formatos de assinatura digital para cada padro

Assinatura digital na ICP-BrasilO Comit Gestor da ICP-Brasil divulga resolues que regulamentam padres, polticas e procedimentos que devem ser seguidos na ICP-Brasil. Foi aprovado no incio de 2009 o DOC-ICP-15, que regulamenta como deve ser realizada uma assinatura digital na ICP-Brasil. Este conjunto normativo baseado nos padres CaDES e XaDES, ou seja, possui recursos que permitem a conservao a longo prazo das assinaturas digitais.

Assinatura digital na ICP-BrasilFormato AD-U

Existem 5 perfis de formatos de assinatura disponveis, cada um adequado a determinadas situaes.

Formato AD-U O AD-U, ou Assinatura Digital de Uso Restrito a assinatura simples, que j utilizamos rotineiramente. No h qualquer preocupao com conservao a longo prazo. Deve ser usada apenas em casos muito especficos, onde no h qualquer interesse em verificar a assinatura em mdio ou longo prazo, e se deseja um Formato AD-T tamanho mnimo para a assinatura.

Assinatura digital na ICP-Brasil

Formato AD-T Na AD-T, a Assinatura Digital Temporal, insere-se um carimbo de tempo, ancorando a assinatura a uma data onde ela era vlida.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

37

Agrega algum valor conservao de longo prazo, mas ainda exige cuidados. necessrio conservar os certificados da cadeia de certificao e LCRs externamente. De qualquer forma, importante pois d confiana sobre a data em que o documento foi assinado, alm de prolongar um pouco a vida til de uma assinatura. Formato AD-R

Assinatura digital na ICP-Brasil

Formato AD-R O AD-R a Assinatura Digital com Referncias. Adiciona referncias sobre certificados e LCRs utilizados na assinatura, e coloca um carimbo de tempo sobre toda essa informao. Desta forma, pode-se consultar um banco de dados externo para obter os dados necessrios validao da assinatura (certificados e LCRs, por exemplo).

Assinatura digital na ICP-Brasil

As referncias podem ser o hash dos certificados/LCRs. Permite que sejam validadas assinaturas a longo prazo, mesmo aps a expirao/extino das ACs, desde que Formato AD-C exista o banco de dados com certificados e LCRs disponveis para consulta.

Formato AD-C O AD-C a Assinatura Digital Completa. Acrescenta ainda os valores completos dos certificados, LCRs e outras informaes necessrias validao da assinatura. As referncias permanecem pois elas esto sob o carimbo de tempo, ancoradas ao momento em que os algoritmos envolvidos eram seguros. Desta forma, fica dispensado o banco de dados de certificados e LCRs.

Assinatura digital

Assinatura digital na ICP-BrasilEscola Superior de Redes RNP

Formato AD-A

38

Formato AD-A Finalmente, o AD-A o formato para Assinatura Digital de Arquivamento. colocado um carimbo de tempo sobre todo o conjunto, utilizando algoritmos fortes. Toda a estrutura e informaes ficam ancoradas no tempo em que eram seguras. Deve ser utilizado para documentos que precisam ser mantidos confiveis para longos prazos. Devem ser aplicados novos carimbos de tempo frequentemente, com a finalidade de evitar a perda da eficcia probante por expirao da cadeia de certificao ou quebra dos algoritmos usados no carimbo de tempo de arquivamento. Este processo, preferencialmente, deve ser automatizado.

OpenDocumentFormato proposto pela Sun XML Padro aberto ISO/IEC 26300:2006 Assinatura digital No existe assinatura digital no padro v1.1 O software OpenOffice.org gera assinaturas XML-DSig Padro v1.2 deve incorporar o padro XadES, e eventualmente o BrOffice trar suporte ao padro ICPBrasil

OpenDocumentO Open Document Format (ODF) um padro de representao de documentos digitais proposto pela Sun. Baseado em XML, um padro aberto definido pela norma ISO/IEC 26300:2006. o padro utilizado pela sute de aplicativos de escritrio OpenOffice.org, e sua verso brasileira BrOffice.org, ambos softwares livres.

O ODF no possui suporte para assinatura digital na verso 1.1 do padro, mas o OpenOffice.org gera assinaturas no formato XML-DSig. Segundo o website do BrOffice, a verso 1.2 do padro trar suporte XaDES, e o BrOffice trar suporte para a gerao de assinaturas digitais no novo padro da ICP-Brasil. Confira em: http://www.broffice.org/odf_1-2_suportara_assinatura_digital_ compativel_com_ICP-Brasil

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

39

OpenXMLFormato proposto pela Microsoft XML Em fase final para se tornar padro ISO/IEC DIS 29500 Assinatura digital XML-DSig

OpenXMLO OpenXML um formato de documento proposto pela Microsoft, tambm baseado em XML. Est em processo de se tornar o padro ISO/IEC DIS 29500. O OpenXML j traz suporte a assinaturas digitais, tambm em formato XML-DSig.

PDFFormato proposto pela Adobe Subconjunto da linguagem de programao PostScript: layout e grficos Sistema de incorporao e substituio de fontes Sistema de armazenamento estruturado: com compresso de dados onde adequado Formado por objetos:Arrays, Strings, Dicionrios, Streams etc.

PDFO Portable Document Format (PDF) um formato de representao de documentos eletrnicos proposto pela Adobe. Iremos abord-lo com mais detalhes por ser um formato que tem sido amplamente utilizado para representao de documentos com assinatura digital. Um documento PDF um conjunto de objetos que seguem uma determinada sintaxe, de forma a definir o contedo de uma pgina. Estes objetos podem ser arrays, strings, dicionrios ou streams. Imagens, por exemplo, podem ser armazenadas em streams, com filtros de compresso e codificao.

Assinatura digital PKCS#7 no interior de um dicionrio de assinaturas

Uma das diferenas marcantes do PDF sua abordagem de assinatura digital, interna ao documento, e tem uma representao visual. A assinatura digital em um PDF armazenada no formato PKCS#7, dentro de um objeto do tipo dicionrio, que contm ainda outras informaes sobre a assinatura, como seu aspecto visual.

Assinatura digital

Escola Superior de Redes RNP

PDF

40

A imagem ilustra um documento PDF assinado, visualizado no Adobe Reader. Note a representao visual da assinatura na parte inferior da pgina.

Exemplo de PDF assinado

Exemplo de PDF assinado

Este um documento PDF simples, apresentado para desmistificar um pouco a noo que se tem do PDF. Pode parecer um pouco complicado primeira vista, mas mais simples do que parece. Exemplo%PDF-1.7 6 0 obj > endobj 1 0 obj > endobj 4 0 obj > endobj 2 0 obj > stream BT /F1 24 Tf 1 0 0 1 260 600 Tm (Hello World)Tj ET endstream endobj 5 0 obj > endobj 3 0 obj > endobj xref 07 0000000000 65535 f 0000000060 00000 n 0000000228 00000 n 0000000424 00000 n 0000000145 00000 n 0000000333 00000 n 0000000009 00000 n trailer > startxref 488 %%EOF

PDF

Exemplo

/Type /Font

Note-se que apenas ASCII. O PDF suporta tambm contedo binrio codificado em streams, muito utilizado para armazenamento, por exemplo de imagens.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

41

F

Perceba que um formato editvel, apesar do uso mais comum e popularizado do PDF de envio e distribuio de documentos em sua verso final. Este o PDF correspondente ao cdigo anterior, salvo em formato .pdf.

emplo

PDFExemplo

Localizao da assinatura

Localizao da assinatura

A assinatura digital de um PDF (PKCS#7) fica no interior do documento, dentro de um objeto do tipo dicionrio. Este dicionrio possui diversas informaes sobre a assinatura, entre as quais se destacam:\\Contents

Contm o contedo do PKCS#7, codificado em hexadecimal.

Assinatura digital

Escola Superior de Redes RNP\\Byterange

42

Define a regio de bytes do documento onde assinada. formada por dois pares de valores inteiros, que identificam o incio e o tamanho de duas regies do documento. O ByteRange inclui todo o documento exceto os bytes do valor do campo Contents, conforme ilustra a figura.

PDF

A gerao de um documento assinado ocorre da seguinte forma: o documento gerado com um espao em branco para o campo Contents, (suficiente para pior caso), e o ByteRange setado conforme o documento gerado. O hash calculado a partir desse valor, de forma que inclui todo o documento, menos a parte correspondente ao Contents. Ento gerada a assinatura PKCS#7, inserida na regio destinada ao campo Contents. Note que informaes como aparncia da assinatura tambm ficam na parte assinada do documento. Somente o hash cifrado e demais informaes do PKCS#7 esto fora do ByteRange.

Mltiplas assinaturas

Mltiplas assinaturas possvel aplicar mltiplas assinaturas sobre um mesmo documento PDF, graas ao sistema de atualizaes incrementais. Este sistema permite que se modifique um documento PDF, adicionando novas verses para objetos modificados, mantendo os objetos originais intactos. Isso feito adicionando novas informaes ao final do documento. Desta forma, novas assinaturas tambm podem ser inseridas, sendo aplicadas sempre sobre as demais. As assinaturas anteriores no cobriro mais todo o documento. Entretanto, como os ddados compreendidos no ByteRange no foram modificados, esta assinatura ainda pode ser validada, com a ressalva de que ela vlida apenas para a primeira verso do documento, e no para as modificaes subsequentes. Por esse motivo necessrio avaliar com cautela mltiplas

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

43

assinaturas. O Adobe 9 considera mltiplas assinaturas vlidas apenas se no for feita nenhuma outra modificao no documento (incluso/remoo de dados).

PDFTipos de assinaturas Assinatura de Certificao

Uma assinatura em PDF pode ser de trs tipos. Interessam especialmente dois deles:\\Assinatura

nica Primeira assinatura aplicada ao documento Autor aprova o documento Assinaturas simples Podem existir mltiplas assinaturas Podem indicar aprovao do contedo, compromisso etc.

Assinatura de Documento

de certificao No mximo existe uma por documento, e se existe deve ser a primeira. Indica aprovao do autor ao documento, e define que tipo de modificaes podem ser feitas posteriormente (por exemplo, pode ser autorizada a adio de notas, ou de novas assinaturas). de documento a assinatura simples, podendo existir quantas assinaturas forem necessrias.

\\Assinatura

Ainda existe a assinatura de direitos de uso, usada para liberar funcionalidades extras no Adobe Reader. utilizada por exemplo para permitir que o Adobe Reader assine um documento gerado no Adobe Acrobat.

Assinatura digital

Escola Superior de Redes RNP

44

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

2Sesso de aprendizagem 2 Assinatura digital Roteiro de atividadesTpicos e conceitos\\Criptografia \\Assinatura \\OpenSSL \\Assinatura

assimtrica

digital

digital em PDF e OpenDocument

Competncias tcnicas desenvolvidas\\Assinatura

digital atravs do OpenSSL, Adobe Reader e OpenOffice

Tempo previsto para as atividades\\90-120

minutos (resoluo dos exerccios propostos e atividades em laboratrio)

Escola Superior de Redes RNP

46

Atividade 1 Assinatura DigitalEste exerccio foi desenvolvido para ser realizado em duplas, que devem compartilhar uma mquina. Cada pessoa deve trocar SEU_NOME e OUTRO_ALUNO pelo seu nome e pelo nome do colega, respectivamente. O aluno deve iniciar a mquina virtual VMware do sistema operacional Linux Ubuntu, e logar utilizando login icpedu e senha icpedu. A senha para o comando sudo (executar comando como administrador do sistema) tambm icpedu. Cada computador tem pr-instalada a aplicao OpenSSL. O exerccio consiste em gerar e verificar manualmente uma assinatura digital. Note que o prprio OpenSSL tem comandos mais simples e diretos para a realizao de assinaturas digitais, embora este exerccio tenha como objetivo a fixao de cada etapa do processo de assinatura digital. Todos os comandos esto descritos em linhas deslocadas direita. Procure entender a funo de cada comando, associando o mesmo com o contedo visto em aula. No execute os comandos sem entend-los, e em caso de dvida consulte o instrutor. 1. Gerando chaves RSA 1. Inicie o Terminal (Console), disponvel na barra superior ou no menu Aplicaes/Acessrios. 2. Cada aluno deve criar uma pasta chamada s5a1_SEU_NOME, e entrar nela: mkdir s5a1_SEU_NOME cd s5a1_SEU_NOME 3. Cada aluno deve gerar um par de chaves assimtricas RSA de 2048 bits com o comando openssl genrsa: openssl genrsa -out chave_SEU_NOME.key 2048 4. Extraia a chave pblica para um arquivo separado chamado chave.pub: openssl rsa -in chave_SEU_NOME.key -pubout -out chave_ SEU_NOME.pub 2. Realizando uma assinatura 1. Crie um arquivo de texto simples com alguma mensagem, por exemplo: echo Alguma mensagem > mensagem_SEU_NOME.txt

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

47

2. Gere um resumo criptogrfico SHA-1 do arquivo mensagem_SEU_NOME.txt com o comando openssl dgst, armazenando o mesmo no arquivo hash.txt: openssl dgst -sha1 -out hash_SEU_NOME.txt mensagem_SEU_ NOME.txt 3. Voc pode visualizar o contedo do arquivo hash_SEU_NOME.txt com o comando cat: cat hash_SEU_NOME.txt 4. Cifre o hash com a chave privada gerada anteriormente e o comando openssl rsautl: openssl rsautl -sign -in hash_SEU_NOME.txt \-inkey chave_SEU_NOME.key -out assinatura_SEU_NOME.asc 5. Copie os arquivos mensagem_SEU_NOME.txt, assinatura_SEU_NOME.asc e chave_SEU_NOME.pub para a pasta do seu colega: cp mensagem_SEU_NOME.txt ../s5a1_OUTRO_ALUNO/ cp assinatura_SEU_NOME.asc ../s5a1_OUTRO_ALUNO/ cp chave_SEU_NOME.pub ../s5a1_OUTRO_ALUNO/ 3. Verificando a assinatura Cada aluno deve assumir o papel de verificador, na pasta do outro aluno. Lembrese de que ele apenas tem acesso chave pblica, e que exportamos no arquivo chave_OUTRO_ALUNO.pub, a mensagem (arquivo mensagem_ OUTRO_ALUNO. txt) e a assinatura (arquivo assinatura_ OUTRO_ALUNO.asc). 1. Decifre a assinatura com a chave pblica e o comando openssl rsautl: openssl rsautl -verify -pubin -inkey chave_OUTRO_ALUNO. pub \ -in assinatura_OUTRO_ALUNO.asc Ser exibido na tela o hash SHA-1 decifrado. 2. Utilize mais uma vez o comando openssl dgst para gerar o hash SHA-1 e verifique se o mesmo obtido com o comando do passo anterior: openssl dgst -sha1 mensagem_OUTRO_ALUNO.txt

Assinatura digital

Escola Superior de Redes RNP

48

Atividade 2 Assinatura digital de documento PDFUm documento PDF chamado ExemploAssinaturaDigitalPDF_distributed. pdf est disponibilizado no desktop do usurio. Trata-se de um formulrio PDF simples. Execute os seguintes passos: 1. Criar Chave Privada e Certificado 1. Acesse o menu Documentos/Configuraes de Segurana; 2. Adicione um ID Digital, utilizando a opo Criar um ID Digital em Novo arquivo PKCS#12. 3. Salve o arquivo PKCS#12 em um diretrio conhecido (anote o local). Voc vai precisar dele novamente. 2. Assinando o arquivo 1. Abra o arquivo ExemploAssinaturaDigitalPDF_distributed.pdf; 2. Clique sobre a rea de assinatura digital (com uma pequena marca vermelha no canto superior esquerdo); 3. Selecione sua identidade digital e assine o documento, informando sua senha; 4. Salve o arquivo com o nome ExemploAssinaturaDigitalPDF_assinado.pdf. 3. Verificando uma Assinatura 1. Abra o painel de assinaturas. Exiba detalhes da assinatura e do certificado buscando visualizar como esto representados os conceitos aprendidos na aula. Note que a assinatura aceita como vlida, pois o certificado que voc acabou de criar considerado confivel. 2. Verifique o arquivo ExemploAssinaturaDigitalPDF_cristian.pdf que est disponibilizado. Note que esta assinatura no reconhecida, pois o signatrio no considerado confivel. Aprenderemos como confiar neste certificado na prxima sesso.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

49

Atividade 3 Assinatura Digital no OpenOffice1. Criar Chave Privada e Certificado openssl req -new -key chave_SEU_NOME.key -x509 -out certificado_SEU_NOME.pem openssl pkcs12 -export -in certificado_SEU_NOME.pem -inkey chave_SEU_NOME.key -out p12_MEU_NOME.p12 -name SEU NOME 2. Importar Chave no Repositrio NSS (Firefox) 1. Importe no Firefox: Edit/Preferences/YourCertificates/Import. 2. Crie arquivo no OpenOffice, e assine utilizando o menu Arquivo/Assinatura.

Assinatura digital

Escola Superior de Redes RNP

50

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 2

3Sesso de aprendizagem 3 Infraestrutura de Chaves PblicasSumrio da sessoPGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 x.509 - ICP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Autoridades certificadoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Autoridades de registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Repositrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 ACs Intermedirias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Certificao digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Caminhos de certificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Polticas de Certificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 ICPEDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 ICP-Brasil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Atividade 1 Criar chave PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Atividade 2 Importar chave da pessoa ao lado . . . . . . . . . . . . . . . . . . . . . . . . 66 Atividade 3 Trocar mensagens utilizando PGP . . . . . . . . . . . . . . . . . . . . . . . . 67

Escola Superior de Redes RNP

52

PGPUtiliza Criptografia de Chaves Pblicas (assimtrica) para relacionar nome e e-mail de uma pessoa a uma Chave Web of trust No utiliza o conceito de Autoridades Certificadoras Certificados so criados pelo prprio usurio Outros usurios atestam a veracidade do certificado

PGPNa terceira sesso de aprendizagem, aprenderemos o que a Infraestrutura de Chaves Pblicas. Iniciaremos nossas atividades apresentando o PGP, uma alternativa ao formato x.509. Logo aps ser discutido em detalhes o padro x.509, bem como todas as entidades, arquiteturas e outros itens que envolvem o conceito ICP. O Pretty Good Privacy (PGP) um programa de computador que prov privacidade e autenticao atravs do uso de criptografia. Ele utiliza Criptografia de Chaves Pblicas (assimtrica) para relacionar nome e e-mail de uma pessoa a uma chave. Porm, o PGP no utiliza o conceito de Autoridades Certificadoras (terceira parte confivel que atesta a veracidade das informaes contidas no certificado e o emite). Os certificados PGP so criados pelo prprio usurio. Para que seja possvel ter certeza de que as informaes contidas no certificado PGP so verdadeiras, outros usurios atestam a veracidade do certificado, assinando uma confirmao de que as informaes so verdadeiras. A este conceito dado o nome de web of trust.

x.509 - ICPConjunto de: Entidades Polticas Mecanismos criptogrficos Tcnicas de gesto Facilitar o uso de criptografia de chaves pblicas Principais componentes Autoridades Certificadoras Autoridades de Registro Repositrio

x.509 - ICPCom a evoluo da criptografia de chaves pblicas e o conceito da existncia de uma chave pblica que pode ser distribuda livremente, surgiram novas necessidades e questes a serem tratadas. Entre elas, merece destaque a questo de como associar uma chave pblica a seu responsvel. Vimos anteriormente que esta associao pode ser feita atravs dos certificados digitais. Aprendemos tambm que faz-se necessria uma entidade confivel para atestar a ligao entre o responsvel pela chave e sua respectiva chave pblica, dando origem aos certificados digitais.

No PGP quem atesta esta relao so os outros usurios; j no x.509 foi criado o conceito de uma entidade chamada de Autoridade Certificadora (AC), a entidade responsvel pela identificao do usurio e por atestar que ele possui a chave privada correspondente chave pblica. Este processo realizado atravs da assinatura de um documento pela AC, que contm dados de identificao do usurio, sua chave pblica e outros atributos necessrios. Este documento chamado de Certificado Digital x.509 e representa o mais bsico elemento de uma Infraestrutura de Chaves Pblicas (ICP).Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 3

53

\\Uma

ICP constituda por um conjunto de: Pessoas, mquinas, servidores etc;

\\Entidades \\Polticas

Conjunto de normas e prticas que regem uma ICP; criptogrficos;

\\Mecanismos \\Tcnicas

de gesto.

O objetivo principal de uma ICP facilitar o uso de criptografia de chaves pblicas, tendo como principais componentes:\\Autoridades \\Autoridades \\Repositrio.

Certificadoras; de Registro;

Autoridades certificadorasComposio de: Hardware Software Pessoas Responsveis por: Emisso de certificados digitais Emisso de listas de certificados revogados Gerenciamento das informaes dos certificados Verificao dos dados das requisies Delegar tarefas

Autoridades certificadorasA Autoridade Certificadora (AC) composta por hardware, software e pessoas que a operam. o elemento de uma ICP responsvel pela emisso de certificados, emisso de LCRs, gerenciamento e publicao das informaes sobre certificados revogados, alm de ser capaz de delegar determinadas funes a outras entidades. Ao emitir um certificado, uma AC assegura que a entidade requisitante detm a chave privada correspondente chave pblica contida no certificado. Os certificados emitidos podem ser para outras Acs (conhecidas como ACs intermedirias), para entidades finais ou para ambos. Quando emite LCRs, uma AC gera uma lista assinada contendo informaes sobre os certificados revogados, como a data e o motivo da revogao. De maneira semelhante ao certificado, quando uma AC assina sua LCR, ela atesta seu conhecimento e a autenticidade do contedo da lista.

Autoridades certificadoras

Emisso de certificados digitais

Emisso de certificados digitais

Infraestrutura de Chaves Pblicas

dades certificadoras54

so de listaEscola Superior de Redes RNP de certificados revogados

Uma infraestrutura de chaves pblicas pode ser constituda por uma nica AC, porm em muitos casos faz-se necessrio que determinadas tarefas sejam delegadas a outras entidades a fim de minimizar a carga de tarefas sobre a AC. Por exemplo, uma AC pode delegar a outra AC, denominada AC intermediria, a emiso de certificados em seu nome, ou ento delegar a emisso da LCR a outra AC. Outra delegao de tarefa bastante comum em uma AC a de delegar o processo de identificao dos usurios para uma entidade chamada Autoridade de Registro (AR). Emisso de lista de certificados revogados

Autoridades de registroComposio de: Hardware Software Pessoas Atua por delegao de uma AC Responsveis por: Verificar o contedo de requisies de certificados Solicitar revogao de certificados Podem atuar em uma ou mais ACs

Autoridades de registroA Autoridade de Registro (AR) uma entidade composta por software, hardware e operadores para os quais a AC delega a tarefa de verificar o contedo de requisies de certificados. Uma AC pode delegar a tarefa de verificao de informaes para vrias ARs, que podem desempenhar seu papel para vrias ACs. A existncia desta entidade em uma ICP faz-se necessria de acordo com a abrangncia que uma AC pode ter, seja ela por sua distribuio geogrfica, ou por um elevado nmero de usurios.

Autoridades de registro

Aprovao de certificados

Aprovao de certificados

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 3

55

RepositrioResponsvel por disponibilizar Certificados digitais Listas de Certificados Revogados Declarao de Prticas de Certificao On-line Sempre disponvel

RepositrioO Repositrio de Certificados Digitais tambm atua por delegao da AC, e normalmente composto por software e hardware com o objetivo de publicar os certificados digitais e listas de certificados revogados atuais emitidos por uma ou mais ACs. Os dados disponibilizados e armazenados pelo Repositrio de Certificados Digitais so assinados pela AC representada por ele, garantindo sua integridade e sua autenticidade e tornando-o imune a ataques de substituio e fabricao. O Repositrio de Certificados Digitais uma parte da ICP que precisa estar sempre disponvel, e por isso necessita de medidas de segurana.

Relao entre os componentesACs Intermedirias

Relao entre os componentes Como j vimos, uma AC pode delegar a responsabilidade de emisso de certificados para uma ou mais ACs Intermedirias. Os motivos pelos quais uma AC pode fazer isto so:\\Reduo

da carga de trabalho sobre uma AC, fazendo com que a AC Raiz tenha que emitir um nmero menor de certificados, dividindo esta tarefa com outras ACs. o crescimento de toda a estrutura da AC.

\\Facilitar

\\Aumentar

a abrangncia (se necessrio), j que com mais ACs possvel distribuir melhor a localizao e o escopo das emisses de certificados digitais.

Infraestrutura de Chaves Pblicas

Escola Superior de Redes RNP\\Melhorar

56

ACs IntermediriasAC pode delegar a responsabilidade de emisso de certificados para uma ou mais ACs Intermedirias Reduo da carga de trabalho sobre uma AC Facilita o crescimento Aumenta a abrangncia (se necessrio) Se a AC Raiz autorizar, uma AC Intermediria pode delegar a tarefa de emisso para outras ACs abaixo dela Se desejar, uma AC pode limitar o nmero de ACs abaixo dela

a capacidade de tolerncia a erros, uma vez que se uma AC Intermediria tiver problemas, apenas o que est abaixo desta AC ser comprometido. Se houvesse apenas a AC Raiz, a estrutura toda seria comprometida.

Cs Intermedirias

Se a AC Raiz autorizar, uma AC Intermediria pode delegar a tarefa de emisso para outras ACs abaixo dela. Alm disso, pode limitar o nmero de ACs abaixo dela atravs do uso de uma extenso especfica para este fim.

Certificao digitalPor que confiar ? Certificado contm informaes sobre o detentor da chave privada Emitido por uma entidade confivel Dados so verificados ICPs so auditadas Utilizam mecanismos que agregam:Integridade Autenticidade No repdio

Certificao digitalPor que devemos confiar em toda esta estrutura? Um dos grandes objetivos de uma ICP que ela seja confivel, que seus usurios confiem nela. Para que isso ocorra, uma srie de caractersticas podem ser encontradas:\\Os

certificados contm informaes sobre o detentor da chave privada; certificados so emitidos por uma entidade confivel, no caso, uma AC;

\\Os

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 3

57

\\Os

dados apresentados pelo requisitante so verificados, e a forma como so verificados est disponvel em documentos; ICPs so auditadas. mecanismos que agregam:

\\As

\\Utilizam

\\Integridade; \\Autenticidade; \\No

repdio. As arquiteturas de ICPs surgiram para definir como as entidades de uma ICP estabelecem confiana entre elas. As arquiteturas mais utilizadas so:\\AC

Arquiteturas ICPDefinem como as entidades de uma ICP estabelecem confiana Diversas possveis arquiteturas AC nicaListas de confiana

nica de confiana

\\Listas

\\Hierrquica \\Certificao \\Ponte

Hierrquica

cruzada

Arquiteturas ICPAC nica

Certificao cruzada Ponte

Durante este curso destacaremos apenas o modelo de AC nica, que representa o modelo mais bsico de uma ICP, e o modelo de AC Hierrquica, que o modelo adotado tanto na ICP-Brasil como na ICPEDU. A AC nica trata-se da mais simples arquitetura de ICP existente, onde uma nica Autoridade Certificadora implementada, sendo responsvel por toda a gerncia e controle de uma ICP. Operaes como emisso de certificados digitais, emisso de listas de certificados revogados e o controle sobre essas informaes so de total responsabilidade da AC nica. Neste modelo, para que se estabelea confiana entre os usurios, basta que estes confiem apenas em certificados e LCRs emitidos pela AC que emitiu seu prprio certificado, sem necessidade de estabelecimento de confiana em outras ACs.

AC nica

Infraestrutura de Chaves Pblicas

as ICP

Escola Superior de Redes RNP

58

ca

A arquitetura hierrquica a mais utilizada atualmente. Diferentemente do modelo de AC nica, no modelo de ICP Hierrquica existem mais ACs pertencentes mesma ICP. Desta forma, as ACs nesta arquitetura so organizadas na forma de rvore com um ponto comum de confiana chamado AC Raiz. Nesta arquitetura, a AC Raiz, alm de ser responsvel pela emisso do seu prprio certificado, emite tambm certificados de outras ACs, chamadas AC subordinadas (ou intermedirias), que por sua vez podem emitir certificados para usurios ou outras ACs e assim por diante. A AC Raiz normalmente no emite certificados para usurios finais, emitindo apenas certificados para outras ACs.

Hierrquica

Caminhos de certificaoCaminho entre um Certificado de Entidade Final e o Ponto de Confiana (AC Raiz) Todos os certificados de ACs Intermedirias entre um certificado de entidade final e a AC Raiz devem ser includos Para considerar um certificado vlido Verificar o certificado Verificar TODOS os certificados do caminho de certificao

Caminhos de certificaoAo utilizarmos a arquitetura hierrquica, surge um novo conceito necessrio para a verificao de certificados digitais, o caminho de certificao. Este caminho so os certificados de ACs percorridas entre um Certificado de Entidade Final e o Ponto de Confiana (AC Raiz). Para considerar um certificado vlido, devemos verificar cada certificado do caminho de certificao e todos eles devem ser vlidos.

Pode-se dividir os critrios de montagem do caminho de certificao de acordo com os parmetros utilizados para a realizao do encadeamento. Com isso, temos dois principais tipos:

Caminhos de certificaoConstruo por nomespor nome;

\\Encadeamento

\\Encadeamento

por identificador de chave.

Construo por nomes

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 3

59

No encadeamento por nomes, partindo do certificado a ser validado para o ponto de confiana, a validao se faz atravs da comparao do campo emissor do certificado atual com o campo sujeito do prximo certificado da cadeia e assim por diante, conforme nos mostra a figura. Este mtodo satisfatrio quando h garantia de que todas as ACs envolvidas na construo do caminho de certificao possuem apenas um par de chaves. Porm, podem ocorrer situaes onde existam nomes iguais e chaves diferentes, gerando uma ambiguidade na escolha do certificado para a construo do caminho. Com isso, faz-se necessria a utilizao de um identificador nico para a construo do caminho de certificao, e com a terceira verso de certificados X.509, surgiu um par de extenses chamadas AuthorityKeyIdentifier (AKID) e SubjectKeyIdentifier (SKID), identificadores nicos referentes s chaves dos certificados. Nestes identificadores, comumente so utilizados os resumos Construo por nomes e identificadores de criptogrficos da chave pblica do detentor do certificado. chave

Caminhos de certificao

Construo por nomes e identificadores de chave

A montagem do caminho de certificao utilizando o encadeamento por identificador de chave realizada de forma semelhante a do encadeamento por nome, diferindo pelo fato de que a verificao se d pelo valor do SubjectKey Identifier (SKID) e do AuthorityKeyIdentifier (AKID). Portanto, a construo na forma direta AKID do primeiro certificado deve ser igual ao SKID do prximo e assim por diante. A estrutura ASN.1 da extenso AKID definida da seguinte forma: AuthorityKeyIdentifier::= SEQUENCE{ keyIdentifier [0]KeyIdentifier OPTIONAL, authorityCertIssuer [1]GeneralNames OPTIONAL, AuthorityCertSerialNumber [2] CertificateSerialNumberOPTIONAL } KeyIdentifier::=OCTETSTRING

Infraestrutura de Chaves Pblicas

Escola Superior de Redes RNPDe acordo com a RFC 5280:

60

O keyIdentier pode ser utilizado para selecionar certificados durante a construo do caminho. O par authorityCertIssuer e authoritySerialNumber podem ser utilizados apenas para prover preferncia para um certificado sobre outros durante a construo do caminho de certificao. O valor do campo authorityCertIssuer deve ser igual ao valor do campo Issuer do certificado do emissor e o valor do campo authorityCertSerialNumber deve ser igual ao valor do campo serialNumber do certificado do emissor. A estrutura ASN.1 da extenso SKID definida da seguinte forma: SubjectKeyIdentifier ::= KeyIdentifier

Caminhos de certificaoValidao/Verificao do Caminho de Certificao Para cada certificado do caminho encontrado, verificar:Assinatura digital Validade Situao (revogado ou no) Extenso BasicConstraints Extenses crticas

Depois de construdo o caminho de certificao, deve ser realizada a validao/verificao de todos os certificados do(s) caminho(s) encontrado(s). Para cada certificado do caminho encontrado, deve-se verificar:\\Assinatura

digital Verificar se a assinatura digital do certificado vlida; de validade Verificar se os certificados esto dentro do perodo de validade; de revogao Verificar se o certificado est revogado;

\\Data

\\Situao

\\Restries

bsicas Todos os certificados intermedirios devem ter o campo CA da extenso basicConstraints marcado como true. Se o campo pathLenConstraint existir, verificar se seu valor est sendo respeitado; de polticas Verificar todas as restries polticas aplicveis ao certificado; de nomes Verificar todas as restries de nomes aplicveis ao certificado; crticas Reconhecer e processar todas as extenses crticas presentes no certificado;

\\Restries

\\Restries

\\Extenses

Caso alguma das verificaes acima falhe, o caminho deve ser considerado invlido, caso contrrio o caminho pode ser aceito.

Introduo a Infraestrutura de Chaves Pblicas e Aplicaes Sesso de aprendizagem 3

61

Polticas de CertificaoDocumentos que determinam as polticas e prticas que regem uma ICP Definem as condies em que uma ICP pode operar Declarao de Prticas de Certificao Descreve como a poltica implementada dentro de uma AC Especfica PC x DPC PC um documento de mais alto nvel DPC mais detalhado

Polticas de CertificaoAs polticas de certificao so documentos escritos pelos responsveis de uma Autoridade Certificadora, e constituem a base para auditoria, delegao de autoridade ou qualquer outra necessidade da AC. Basicamente, so estes documentos que definem as condies em que uma ICP pode operar. Existem dois documentos principais dentro das polticas de uma ICP:\\Polticas

de Certificao (PC) Definem em alto nvel como uma poltica deve ser implementada; de Prticas de Certificao (DPC) Descreve como a poltica implementada dentro de uma AC Especfica.

\\Declarao

Basicamente, a diferena entre uma PC e DPC que uma PC um documento de mais alto nvel enquanto uma DPC mais detalhada.

ICPEDUEsforo da Rede Nacional de Ensino e Pesquisa (RNP) para viabilizar a implantao de uma infraestrutura de chaves pblicas acadmica Objetivos Uso acadmico Autenticao Desenvolver cultura em certificao digital Treinamento Pesquisa Aplicaes

ICPEDUO projeto ICPEDU esforo da Rede Nacional de Ensino e Pesquisa (RNP) para viabilizar a implantao de uma infraestrutura de chaves pblicas acadmica. Objetivos deste projeto:\\Uso

acadmico Viabilizar o uso acadmico de certificao digital; Permitir o uso de certificao digital para autenticao de pessoas e equipamentos dentro das instituies; cultura em certificao digital Fazer com que a certificao digital se popularize e tenha seu uso difundido dentro das intituies acadmicas; Capacitar pessoas na rea de ICP;

\\Autenticao

\\Desenvolver

\\Treinamento \\Pesquisa

Desenvolver pesquisa na rea;

\\Aplicaes

Criar e implementar softwares e ferramentas para viabilizar a implantao do projeto e agilizar o dia-a-dia das instituies envolvidas.

Infraestrutura de Chaves Pblicas