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
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
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.
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
Recommended