Baixe o app para aproveitar ainda mais
Prévia do material em texto
ISBN 978-85-63630-47-6 9 788563 630476 O curso ICPEdu Introdução a Infraestrutura de Chaves Pú- blicas e Aplicações apresenta como implantar um serviço de geração de certificados digitais para a comunidade de ensino e pesquisa, visando o seu uso para autenticação, assinatura digital e sigilo. Este curso capacita os profissio- nais envolvidos na implantação da Infraestrutura de Cha- ves Públicas Acadêmica em suas respectivas instituições. Ao final do curso , o aluno conhecerá os fundamentos necessários para o estabelecimento e manutenção dos principais componentes que constituem uma ICP: autori- dades certificadoras e de registro. LI VR O DE A PO IO A O CU RS O Dayana Spagnuelo é mestre em Ciência da Computa- ção (2013) formada pela Universidade Federal de Santa Catarina. Atuou como bolsista no Laboratório de Segu- rança em Computação durante sua formação acadêmica, se envolvendo em diversos projetos multidisciplinares. Já lecionou criptografia básica e avançada para cursos de pósz graduação em nível de especialização em Gestão de Tecnologia da Informação e Segurança da Informação. Atu- almente trabalha diretamente com pesquisa acadêmica na área de Segurança da Informação. A RNP – Rede Nacional de Ensino e Pesquisa – é qualificada como uma Organização Social (OS), sendo ligada ao Ministério da Ciência, Tecnologia e Inovação ( M C T I ) e r e s p o n s á v e l p e l o Programa Interministerial RNP, que conta com a participação dos ministérios da Educação (MEC), da Saúde (MS) e da Cultura (MinC). Pioneira no acesso à Internet no Brasil, a RNP planeja e mantém a rede Ipê, a rede óptica nacional acadêmica de alto desempenho. Com Pontos de Presença nas 27 unidades da federação, a rede tem mais de 800 instituições conectadas. São aproximadamente 3,5 milhões de usuários usufruindo de uma infraestrutura de redes avançadas para comunicação, computação e experimentação, que contribui para a integração entre o sistema de Ciência e Tecnologia, Educação Superior, Saúde e Cultura. Ciência, Tecnologia e Inovação Ministério da Educação Ministério da Saúde Ministério da Cultura Ministério da ICPEdu Introdução a Infraestrutura de Chaves Públicas ICPEdu Introdução a Infraestrutura de Chaves Públicas e Aplicações Marcelo Carlomagno Carlos Jeandré Monteiro Sutil Cristian Thiago Moecke Jonathan Gehard Kohler Dayana Pierina Brustolini Spagnuelo A RNP – Rede Nacional de Ensino e Pesquisa – é qualificada como uma Organização Social (OS), sendo ligada ao Ministério da Ciência, Tecnologia e Inovação ( M C T I ) e r e s p o n s á v e l p e l o Programa Interministerial RNP, que conta com a participação dos ministérios da Educação (MEC), da Saúde (MS) e da Cultura (MinC). Pioneira no acesso à Internet no Brasil, a RNP planeja e mantém a rede Ipê, a rede óptica nacional acadêmica de alto desempenho. Com Pontos de Presença nas 27 unidades da federação, a rede tem mais de 800 instituições conectadas. São aproximadamente 3,5 milhões de usuários usufruindo de uma infraestrutura de redes avançadas para comunicação, computação e experimentação, que contribui para a integração entre o sistema de Ciência e Tecnologia, Educação Superior, Saúde e Cultura. Ciência, Tecnologia e Inovação Ministério da Educação Ministério da Saúde Ministério da Cultura Ministério da ICPEdu Introdução a Infraestrutura de Chaves Públicas e Aplicações Marcelo Carlomagno Carlos Jeandré Monteiro Sutil Cristian Thiago Moecke Jonathan Gehard Kohler Dayana Pierina Brustolini Spagnuelo ICPEdu Introdução a Infraestrutura de Chaves Públicas e Aplicações Marcelo Carlomagno Carlos Jeandré Monteiro Sutil Cristian Thiago Moecke Jonathan Gehard Kohler Dayana Pierina Brustolini Spagnuelo Rio de Janeiro Escola Superior de Redes 2015 Copyright © 2015 – Rede Nacional de Ensino e Pesquisa – RNP Rua Lauro Müller, 116 sala 1103 22290-906 Rio de Janeiro, RJ Diretor Geral Nelson Simões Diretor de Serviços e Soluções José Luiz Ribeiro Filho Escola Superior de Redes Coordenação Luiz Coelho Edição Lincoln da Mata Revisão técnica Jean Martina Equipe ESR (em ordem alfabética) Adriana Pierro, Celia Maciel, Cristiane Oliveira, Derlinéa Miranda, Edson Kowask, Elimária Barbosa Evellyn Feitosa, Felipe Nascimento, Lourdes Soncin, Luciana Batista, Luiz Carlos Lobato, Renato Duarte e Yve Abel Marcial. Capa, projeto visual e diagramação Tecnodesign Versão 2.0.2 Este material didático foi elaborado com fins educacionais. Solicitamos que qualquer erro encon- trado ou dúvida com relação ao material ou seu uso seja enviado para a equipe de elaboração de conteúdo da Escola Superior de Redes, no e-mail info@esr.rnp.br. A Rede Nacional de Ensino e Pesquisa e os autores não assumem qualquer responsabilidade por eventuais danos ou perdas, a pessoas ou bens, originados do uso deste material. As marcas registradas mencionadas neste material pertencem aos respectivos titulares. Distribuição Escola Superior de Redes Rua Lauro Müller, 116 – sala 1103 22290-906 Rio de Janeiro, RJ http://esr.rnp.br info@esr.rnp.br Dados Internacionais de Catalogação na Publicação (CIP) I61 ICPEdu Introdução a Infraestrutura de chaves públicas e aplicações / Marcelo Carlomagno Carlos ... [et. al.]; – Rio de Janeiro: RNP/ESR, 2014. 190 p. : il. ; 27,5 cm. Bibliografia: p.173-174. ISBN 978-85-63630-47-6 1. Segurança de Computadores. 2. Criptografia. 3. RNP. I. Carlos, Marcelo Carlomagno. II. Título CDD 005.8 iii Sumário Escola Superior de Redes A metodologia da ESR ix Sobre o curso x A quem se destina xi Convenções utilizadas neste livro xi Permissões de uso xii Sobre o autor xii 1. Fundamentos de criptografia Introdução 1 Definições 2 Criptografia 2 Criptografia clássica 2 Criptografia moderna 7 Criptografia simétrica 8 Como distribuir as chaves de maneira segura? 8 Como verificar se a mensagem não foi modificada? 8 Como ter certeza de que a mensagem foi realmente enviada por quem diz ter enviado? 8 Criptografia assimétrica 8 Funções-resumo (hash) 10 Assinatura digital 10 Criptografia assimétrica 11 Certificados digitais 11 iv Lista de Certificados Revogados 12 Formatos 13 2. Assinatura digital Assinatura digital 15 Colisão de hash 17 Assinatura de longo prazo 19 Formatos de armazenamento 22 Legislação 23 Assinatura digital na ICP-Brasil 24 OpenDocument 26 OpenXML 27 PDF 27 3. Infraestrutura de Chaves Públicas X.509: ICP 33 Autoridades certificadoras 34 Autoridades de registro 35 Repositório 36 ACs Intermediárias 37 Certificação digital 37 Arquiteturas ICP 38 Caminhos de certificação 39 Políticas de Certificação 42 ICPEDU 42 ICP-Brasil 44 4. Servidor Web Seguro SSL/TLS 47 Autenticação 48 Sigilo 48 Em quem você confia? 51 Apache 52 v 5. SGCI – Conceitos e visão geral SGCI – Visão geral 55 Árvore de Certificação 58 SGCI – Instalação 59 Perfis de usuário 61 Autoridades Certificadoras 63 Criação de AC Raiz 64 Campos avançados 65 Usuários 68 Configurações 70 Modelo de Certificado 71 Criação de AC Raiz 72 6. SGCI – Gerenciamento de Entidades Criação de Autoridades Certificadoras Intermediárias 75 Criação de Autoridades de Registro 78 Relacionamentos de Confiança 78 Emissão de certificados 82 Revogação de certificados 84 Lista de Certificados Revogados (LCR) 86 Cópias de Segurança (backups) 87 Registro de atividades (logs) 88 7. Gerenciando o ciclo de vida de chaves criptográficas O que é um HSM? 89 Para que serve? 90Ciclo de vida de chaves criptográficas 91 Características de um HSM 92 Hardware 92 Software 93 Normas e Certificações 93 Conhecendo e Inicializando o ASI-HSM 93 Por que mais um HSM? 94 ASI-HSM – Diferenciais 94 vi ASI-HSM – Componentes 95 ASI-HSM – Características 95 ASI-HSM – Boas práticas de uso 98 ASI-HSM – Perfis de usuário 99 Perfil de Administração 99 Perfil de auditoria 100 Perfil de Operação 100 Operações comuns 100 Preparando a instalação 101 Instalação 101 Certificado SSL 104 Preparação do HSM 104 Preparação para uso 105 Configuração 106 Configuração dos parâmetros internos do HSM 107 8. Usando o ASI-HSM Criação dos perfis de usuário 109 Criação de administradores 110 Demais perfis (Audit e Oper) 112 Geração e liberação de chave para uso 113 Geração de chaves 113 Importação de chaves 116 Liberação (carga) de chaves para uso 118 Exportação de logs gerenciais 121 Procedimento de backup 124 Importação da chave de backup 127 Geração de backup 129 Restauração de backup 132 Ativar perfis de operação 134 Colocar o HSM em Modo Operacional 134 Atualização de firmware 135 Teste das Funções Criptográficas 139 Apagar as configurações do HSM 141 vii 9. Integração do SGCI com o ASI-HSM Credenciamento de entidade 145 Cerimônia de credenciamento 146 10. Federação CAFe e SAEC Federação 155 Elementos de uma Federação 157 Interação entre componentes 159 Federação CAFe 159 SAEC 160 Instalação e configuração 161 Utilização do SAEC 161 Administração do SAEC 163 Operação de Instituições 170 Modelos 171 Certificados 171 Bibliografia 173 viii ix A Escola Superior de Redes (ESR) é a unidade da Rede Nacional de Ensino e Pesquisa (RNP) responsável pela disseminação do conhecimento em Tecnologias da Informação e Comunica- ção (TIC). A ESR nasce com a proposta de ser a formadora e disseminadora de competências em TIC para o corpo técnico-administrativo das universidades federais, escolas técnicas e unidades federais de pesquisa. Sua missão fundamental é realizar a capacitação técnica do corpo funcional das organizações usuárias da RNP, para o exercício de competências aplicá- veis ao uso eficaz e eficiente das TIC. A ESR oferece dezenas de cursos distribuídos nas áreas temáticas: Administração e Projeto de Redes, Administração de Sistemas, Segurança, Mídias de Suporte à Colaboração Digital e Governança de TI. A ESR também participa de diversos projetos de interesse público, como a elaboração e execução de planos de capacitação para formação de multiplicadores para projetos edu- cacionais como: formação no uso da conferência web para a Universidade Aberta do Brasil (UAB), formação do suporte técnico de laboratórios do Proinfo e criação de um conjunto de cartilhas sobre redes sem fio para o programa Um Computador por Aluno (UCA). A metodologia da ESR A filosofia pedagógica e a metodologia que orientam os cursos da ESR são baseadas na aprendizagem como construção do conhecimento por meio da resolução de problemas típi- cos da realidade do profissional em formação. Os resultados obtidos nos cursos de natureza teórico-prática são otimizados, pois o instrutor, auxiliado pelo material didático, atua não apenas como expositor de conceitos e informações, mas principalmente como orientador do aluno na execução de atividades contextualizadas nas situações do cotidiano profissional. A aprendizagem é entendida como a resposta do aluno ao desafio de situações-problema semelhantes às encontradas na prática profissional, que são superadas por meio de análise, síntese, julgamento, pensamento crítico e construção de hipóteses para a resolução do pro- blema, em abordagem orientada ao desenvolvimento de competências. Dessa forma, o instrutor tem participação ativa e dialógica como orientador do aluno para as atividades em laboratório. Até mesmo a apresentação da teoria no início da sessão de apren- dizagem não é considerada uma simples exposição de conceitos e informações. O instrutor busca incentivar a participação dos alunos continuamente. Escola Superior de Redes x As sessões de aprendizagem onde se dão a apresentação dos conteúdos e a realização das atividades práticas têm formato presencial e essencialmente prático, utilizando técnicas de estudo dirigido individual, trabalho em equipe e práticas orientadas para o contexto de atua- ção do futuro especialista que se pretende formar. As sessões de aprendizagem desenvolvem-se em três etapas, com predominância de tempo para as atividades práticas, conforme descrição a seguir: Primeira etapa: apresentação da teoria e esclarecimento de dúvidas (de 60 a 90 minutos). O instrutor apresenta, de maneira sintética, os conceitos teóricos correspondentes ao tema da sessão de aprendizagem, com auxílio de slides em formato PowerPoint. O instrutor levanta questões sobre o conteúdo dos slides em vez de apenas apresentá-los, convidando a turma à reflexão e participação. Isso evita que as apresentações sejam monótonas e que o aluno se coloque em posição de passividade, o que reduziria a aprendizagem. Segunda etapa: atividades práticas de aprendizagem (de 120 a 150 minutos). Esta etapa é a essência dos cursos da ESR. A maioria das atividades dos cursos é assíncrona e realizada em duplas de alunos, que acompanham o ritmo do roteiro de atividades proposto no livro de apoio. Instrutor e monitor circulam entre as duplas para solucionar dúvidas e oferecer explicações complementares. Terceira etapa: discussão das atividades realizadas (30 minutos). O instrutor comenta cada atividade, apresentando uma das soluções possíveis para resolvê-la, devendo ater-se àquelas que geram maior dificuldade e polêmica. Os alunos são convidados a comentar as soluções encontradas e o instrutor retoma tópicos que tenham gerado dúvidas, estimulando a participação dos alunos. O instrutor sempre estimula os alunos a encontrarem soluções alternativas às sugeridas por ele e pelos colegas e, caso existam, a comentá-las. Sobre o curso O curso desenvolve as competências e habilidades necessárias para a administração e operação de entidades participantes da ICPEDU. O curso garante ao aluno o conhecimento necessário para o bom entendimento de uma Infraestrutura de Chves Públicas (ICP) como um todo. O curso é dividido em duas partes, cuja primeira é focada na aprendizagem dos conceitos básicos envolvidos em uma ICP, incluindo fundamentos de criptografia clássica e moderna, abrangendo tanto as técnicas de criptografia simétrica quanto assimétrica. Enquanto a segunda parte é mais prática e foca-se no gerenciamento da ICP, tanto no momento de criação de entidades, quanto nas pequenas tarefas do dia a dia. Durante o desenvolvimento do curso o participante terá a oportunidade de conhecer de perto o processo técnico de emissão de certificados, além de conhecelo também do ponto de vista de um usuário final e de um operador da ICPEDU. O foco está no domínio sobre os conceitos envolvidos em uma ICP e na familiarização do participante com as tecnologias ICPEDU. Tanto as relativas ao gerenciamento do ciclo de vida de certificados digitais, quanto de chave criptográficas. Ao final do curso o participante terá conhecimento sobre a gestão de Autoridades Certifica- doras e de Registro, apresentando capacidades técnicoadministrativas para a utilização dos softwares de gestão e emissão de certificados digitais, e o módulo de segurança criptográ- fica. Tendo assim o conhecimento necessário para a implantar a ICPEDU em sua instituição. Cada participante adquirirá também conhecimento básico para compreensão de políticas de certificações e declarações de práticas de certificação, e base para se aprofundar no assunto.Além disso, os participantes terão aprendido também sobre as utilizações para certificados digitais e criptografia assimétrica, e realizado atividades práticas sobre as principais delas. xi A quem se destina Especialistas de TI que desejam adquirir conhecimento sobre criptografia básica e Infraes- trutura de Chaves Públicas, ou aperfeiçoar os seus conhecimentos sobre a ICPEDU e suas tecnologias. O curso destina-se também à membros de instituições de ensino que desejam implantar nestas a ICPEDU, e à pessoas com interesse de administrar ou operar Autoridades Certificadoras ou de Registro em seu dia a dia. Convenções utilizadas neste livro As seguintes convenções tipográficas são usadas neste livro: Itálico Indica nomes de arquivos e referências bibliográficas relacionadas ao longo do texto. Largura constante Indica comandos e suas opções, variáveis e atributos, conteúdo de arquivos e resultado da saída de comandos. Comandos que serão digitados pelo usuário são grifados em negrito e possuem o prefixo do ambiente em uso (no Linux é normalmente # ou $, enquanto no Windows é C:\). Conteúdo de slide q Indica o conteúdo dos slides referentes ao curso apresentados em sala de aula. Símbolo w Indica referência complementar disponível em site ou página na internet. Símbolo d Indica um documento como referência complementar. Símbolo v Indica um vídeo como referência complementar. Símbolo s Indica um arquivo de aúdio como referência complementar. Símbolo ! Indica um aviso ou precaução a ser considerada. Símbolo p Indica questionamentos que estimulam a reflexão ou apresenta conteúdo de apoio ao entendimento do tema em questão. Símbolo l Indica notas e informações complementares como dicas, sugestões de leitura adicional ou mesmo uma observação. xii Permissões de uso Todos os direitos reservados à RNP. Agradecemos sempre citar esta fonte quando incluir parte deste livro em outra obra. Exemplo de citação: TORRES, Pedro et al. Administração de Sistemas Linux: Redes e Segurança. Rio de Janeiro: Escola Superior de Redes, RNP, 2013. Comentários e perguntas Para enviar comentários e perguntas sobre esta publicação: Escola Superior de Redes RNP Endereço: Av. Lauro Müller 116 sala 1103 – Botafogo Rio de Janeiro – RJ – 22290-906 E-mail: info@esr.rnp.br Sobre o autor Marcelo Carlomagno Carlos, doutor em segurança da informação pelo Information Security Group na Royal Holloway University of London, mestre e bacharel em ciência da computação pela Universidade Federal de Santa Catarina. Atuou como membro do grupo de operação da ICPEDU e também como desenvolvedor do mesmo projeto. Gerenciou a equipe de desenvol- vimento e da implantação do projeto João de Barro, e fez parte da equipe responsável pela atualização da plataforma operacional da ICP-Brasil.” Jeandré Monteiro Sutil é mestre em Ciências da Computação pela Universidade Federal de Santa Catarina, em atuação há mais de 10 anos na área de segurança de sistemas compu- tacionais. Dedica-se ao estudo e desenvolvimento de técnicas e protocolos de criptografia, assinatura digital e segurança de transações eletrônicas. Como pesquisador do LabSEC/ UFSC, atuou no projeto ICPEDU da Rede Nacional de Pesquisa, como coordenador da equipe de desenvolvimento do software embarcado no módulo de segurança criptográfica da ICP educacional. Participou ainda do projeto Ywapa, no desenvolvimento de solução nacional em gestão de certificados digitais para o Governo Federal. Assumiu a Diretoria Técnica da empresa BRy Tecnologia S.A., em 2010, dedicando-se atualmente à manutenção e ampliação do portfólio de soluções da empresa, com inovações que promovam a segurança e confiabili- dade nos processos digitais. Cristian Thiago Moecke é mestre em ciência da computação pela Universidade Federal de Santa Catarina. Atuou desde sua graduação em projetos acadêmicos relacionados à ICP-Brasil ( João de Barro) e ICP-EDU. Hoje atua como líder de projetos na BRy Tecnologia no desenvolvimento de soluções inovadoras para a segurança de documentos eletrônicos. Jonathan Gehard Kohler possui graduação em Ciências da Computação pela Universidade Federal de Santa Catarina (2007) e mestrado em Ciências da Computação pela Universidade Federal de Santa Catarina (2011). Foi pesquisador no Laboratório de Segurança em Compu- tação (LabEC) entre 2006 e 2012, participando ativamente de diversos projetos envolvendo instituições como Rede Nacional de Ensino e Pesquisa (RNP) e Instituto Nacional de Tecnolo- gia da Informação (ITI). Tem experiência na área de Segurança da Computação, com ênfase em Infraestruturas de Chaves Públicas, Gerenciamento de Certificados Digitais, Políticas de Certificação e Engenharia de Software. Atualmente é Analista de Sistemas no Tribunal de Justiça de Santa Catarina, atuando na área de Segurança em Computação. xiii Dayana Spagnuelo é mestre em Ciência da Computação (2013) formada pela Universidade Federal de Santa Catarina. Atuou como bolsista no Laboratório de Segurança em Compu- tação durante sua formação acadêmica, se envolvendo em diversos projetos multidiscipli- nares. Já lecionou criptografia básica e avançada para cursos de pósgraduação em nível de especialização em Gestão de Tecnologia da Informação e Segurança da Informação. Atual- mente trabalha diretamente com pesquisa acadêmica na área de Segurança da Informação. Jean Everson Martina possui graduação em Ciencias da Computação pela Universidade Federal de Santa Catarina (2001), mestrado em Ciências da Computação pela Universidade Federal de Santa Catarina (2005 ) e doutorado em Ciências da Computação pela Universi- dade de Cambridge no Reino Unido (2011). É professor do Departamento de Informática e de Estatística da Universidade Federal de Santa Catarina desde 2013 e professor visitante da Universidade de Hertfordshire no Reino Unido desde 2010. Tem experiência na área de Ciência da Computação, com ênfase em Gerenciamento de Certificados Digitais, Protocolos Criptográficos, Sistemas Embarcados, Métodos Formais, e Engenharia de Software voltada a segurança da Informação. xiv 1 C ap ítu lo 1 - Fu nd am en to s de c ri pt og ra fia ob je tiv os conceitos 1 Fundamentos de criptografia Conhecer criptografia (Clássica, Moderna e Assimétrica); entender as funções de resumo (hash); aprender assinatura digital. Criptografia (Clássica, Moderna e Assimétrica); Funções de resumo (hash); Assinatura digital. Introdução qCriptologia. 1 Criptografia (kryptós: escondido; gráphein: escrita). 2 Ocultar informação dos outros. 3 Legível apenas para o destinatário. 1 Criptoanálise. 2 Decodificar mensagens sem conhecer a chave secreta. Esteganografia. 1 Ocultar mensagens dentro de outras. Nesta primeira sessão de aprendizagem, será feita uma revisão dos conceitos básicos da criptografia. Começaremos pela descrição do que é criptografia e passaremos pelos métodos clássicos e modernos, criptografia assimétrica e funções-resumo, até a assinatura digital. Existem duas formas básicas de proteger informações para que pessoas não autorizadas sejam excluídas do acesso ao seu conteúdo. A primeira delas é chamada de criptologia, que visa a codificar e decodificar dados para que apenas as partes interessadas possam compreendê-los. A criptologia é subdividida em criptografia e criptoanálise. O termo criptografia deriva das palavras kryptós (que significa “escondido”) e gráphein (“escrita”). Portanto, consiste em princípios e técnicas para transformar a informação original em um código ilegível, de modo que proteja seu conteúdo. 2 IC PE du In tr od uç ão a In frae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s A segunda é a esteganografia (do grego, “escrita escondida”), que consiste na ocultação de mensagens dentro de outras. O princípio da esteganografia é camuflar a presença da informação, para que pessoas desautorizadas não detectem sua existência. Um exemplo bastante comum é o uso de imagens para a ocultação de textos. É importante destacar a diferença entre criptografia e esteganografia. A primeira impede a leitura da mensagem, enquanto a segunda oculta a existência da informação. Também é pos- sível usar as duas técnicas simultaneamente, “escondendo” um texto após ter sido cifrado. Definições q 1 Texto claro. 1 Texto cifrado. 1 Cifrar. 1 Decifrar. 1 Chave. Antes de iniciar, é preciso conhecer o significado de alguns termos que serão utilizados ao longo deste curso: 1 Texto claro: texto original, não cifrado; 1 Texto cifrado: texto ilegível, não compreensível (exceto para o destinatário); 1 Cifrar: transformar texto plano em texto cifrado; 1 Decifrar: transformar texto cifrado em texto plano; 1 Chave: conjunto de dados utilizados para cifrar e decifrar. Criptografia Beto Alice Texto cifradoTexto claro Texto claro Chave Chave Cifrar Decifrar A criptografia é muito usada 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. Depois, Beto cifra o texto com essa chave e o envia para Alice. A partir deste momento, qualquer um que interceptar a mensagem não terá acesso ao seu conteúdo, uma vez que apenas Beto e Alice conhecem a chave para decifrá-la. Quando Alice recebe a mensagem, ela utiliza a chave e obtém a mensagem original novamente. Criptografia clássica qTransposição: 1 Original: help. 1 Cifrado: HLEP. Figura 1.1 Criptografia simétrica. 3 C ap ítu lo 1 - Fu nd am en to s de c ri pt og ra fia qSubstituição: 1 Original: help. 1 Cifrado: KHOS. Na criptografia clássica, uma cifra de transposição se refere à mudança de cada letra no texto claro para outra posição. Ao cifrar a palavra “help”, por exemplo, a transposição pode ser feita (entre outras possíveis formas) da seguinte maneira: 1 Escrever a mensagem de forma que as letras alternadas fiquem separadas nas linhas de cima e de baixo; 1 Escrever a mensagem cifrada, colocando primeiro as letras da linha superior e depois as da linha inferior. Com esses passos, a palavra “help” ficaria cifrada como HLEP. Um exemplo clássico da utilização de cifra de transposição é o citale espartano, que consiste em um bastão 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 destinatário. O destinatário, ao receber a mensagem, precisará de um citale com o mesmo diâmetro para enrolar a tira, e, dessa forma, decodificar o texto e ler a mensagem original. Já a cifra de substituição é um método de criptografia que opera de acordo com um sistema predefinido. Para estabelecer de que forma são feitas as substituições, há dois alfabetos, o original e o cifrado (que contém as letras em posições diferentes). Para realizar a cifragem a partir dos dois alfabetos, é preciso obter a posição da letra que desejamos codificar no alfabeto original e substituí-la pela letra que está na mesma posição no alfabeto cifrado. q 1 Cifradores monoalfabéticos. 2 Rearranjo do alfabeto original. 2 400.000.000.000.000.000.000.000.000 possibilidades. 1 Alfabeto original. 2 abcdefghijklmnopqrstuvwxyz 1 Alfabeto cifrado. 2 JOFPZIDKTMAEGQCSLUVWYXHNBR 1 Texto original. 2 Cifrar. 1 Texto cifrado. 2 FTIUJU. Por exemplo, utilizando os alfabetos original e cifrado do slide, para cifrar a palavra “cifrar”: obtemos inicialmente a posição da letra “c”, no alfabeto original, e a substituímos pela letra localizada na mesma posição no alfabeto cifrado, no caso, a “F”. Depois, repetimos o pro- cesso para o “i”, que é substituído por “T”, e assim por diante. Figura 1.2 Citale espartano (século V a.c.). 4 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s Os cifradores monoalfabéticos se caracterizam por utilizar apenas um alfabeto cifrado. Porém, é possível dispor de mais de um alfabeto cifrado, o que origina os cifradores polialfabéticos. qCifrador de César: 1 Texto original: escola superior de redes. 2 Texto cifrado: HVFROD VXSHULRU GH UHGHV. 1 Alfabeto original: 2 abcdefghijklmnopqrstuvwxyz 1 Alfabeto cifrado: 2 DEFGHIJKLMNOPQRSTUVWXYZABC Cifrar: 1 E(x) = (x+3) mod 26 exemplo: E(0) = 3 mod 26 = 3 Decifrar: 1 D(x) = (x-3) mod 26 exemplo: D(3) = 0 mod 26 = 0 Júlio César utilizava cifradores de substituição monoalfabéticos com frequência em suas batalhas. O método que ele empregava era simplesmente substituir a letra desejada por outra que estivesse três casas à frente no alfabeto. Para decifrar, bastava realizar o procedi- mento oposto, obtendo a letra que estivesse três casas atrás. X Y Z A B C D E F A B C D E F G H I . . . . . . q 1 Cifrador de César. 1 Características: 2 Simples de ser utilizado (manualmente). 2 Pode-se utilizar outras chaves (diferente de 3). 1 Desvantagens: 2 Fácil de ser “quebrado” (25 chaves possíveis). Embora não tenha resistido até nossa época, uma vez que é facilmente quebrado, hoje em dia o cifrador de César se mostrou eficiente naquele tempo, apresentando vantagens bem interessantes: 1 É simples de ser usado, mesmo manualmente, possibilitando rapidez ao cifrar e decifrar uma mensagem; 1 Permite utilizar diferentes chaves (deslocamentos, neste caso), alterando o número de casas a serem deslocadas no alfabeto cifrado. Contudo, esse tipo de cifragem pode ser facilmente quebrado, uma vez que existem apenas 25 possíveis alfabetos cifrados. Uma simples variação desse método, que, em vez de fazer deslocamentos, embaralhe o alfabeto cifrado, pode aumentar o número de alfabetos para 400.000.000.000.000.000.000.000.000 possibilidades. Figura 1.3 Cifrador de César. 5 C ap ítu lo 1 - Fu nd am en to s de c ri pt og ra fia q 1 Ataques. 1 Surgimento da criptoanálise. 2 Decifrar a mensagem sem conhecer a chave. 1 Origem árabe (século IX): 2 Método para quebrar a cifra de substituição monoalfabética. 2 Análise de frequência. 3 Contar a frequência dos caracteres no texto. 3 Digramas. 3 Trigramas. 1 Origem na Europa apenas no século XV. Com o advento da criptoanálise, no século IX, surgiram os ataques sobre as cifras exis- tentes. O princípio básico da criptoanálise é decifrar a informação sem que se conheça a chave. Os árabes foram os pioneiros nessa área. A Europa adotou a criptoanálise somente no século XV. Os árabes criaram ataques sobre os cifradores monoalfabéticos usando o conceito de análise de frequência. Basicamente, consiste em contar o número de ocorrências de cada letra no texto cifrado e comparar o resultado com a frequência dos caracteres em um texto claro no idioma de origem. Por exemplo, em inglês, o caractere mais comum é o “e”. Se no texto cifrado a letra de maior frequência for o “R”, pode-se imaginar que o “e” foi substituído pelo “R” durante o processo de cifragem, e assim por diante. Um adicional importante a esse método é a contagem de digramas e trigramas, sequências de doise três caracteres que aparecem com mais frequência no texto cifrado, e substituí-los pelos que aparecem com maior frequência em um texto claro comum. e t a o i n s h r d l c u m w f g y p b v k j x q z Letter Re la ti ve F re qu en cy (i n pe rc en t) 12 10 8 6 4 2 12,7 Apenas no século XVI surgiram os principais criptoanalistas europeus, como Giovanni Soro, Philibert Babou e François Viete. l Tabela 1.4 Tabela de frequências. 6 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s qCifradores polialfabéticos. 1 Mais de um alfabeto cifrado. Alfabeto original: 1 abcdefghijklmnopqrstuvwxyz 1 Alfabeto cifrado 1: 2 JCHFZOTXRSLDWBPIVEAYGNMQUK 1 Alfabeto cifrado 2: 2 PKBFLRIJEQTMYOAVHDCUXGSNZW Texto original: hello. Texto cifrado: XLDMP. Com o intuito de eliminar ou ao menos dificultar os ataques por análise de frequência, surgiram os cifradores polialfabéticos, que usam mais de um alfabeto para cifrar um texto. Dessa forma, uma mesma letra pode ser substituída no texto cifrado por 2 ou mais carac- teres. No exemplo dado, a letra “l”, que em um cifrador monoalfabético seria substituída apenas por uma letra, foi substituída por “D” e “M”. a b c d ... z a A B C D ... Z b B C D E ... A c C D E F ... B . . . . . ... . z Z A B C ... Y Exemplo: 1 Texto original: bazar; 1 Palavra-chave: chave; 1 Texto cifrado: DHZVV. Um dos cifradores polialfabéticos mais famosos foi o de Vigenere, por ser de fácil entendi- mento e implementação. A cifra de Vigenere utiliza 26 alfabetos para cifrar a mensagem. O quadrado de Vigenere é um alfabeto normal, seguido de 26 alfabetos cifrados, cada um deslocando uma letra em relação ao anterior. Para ilustrar como se realiza o processo de cifragem a partir dessa técnica, vamos cifrar a palavra “bazar” e, para isso, usar 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”, inicial- mente identificamos a letra correspondente na palavra-chave, que nesse caso é “c”, e por sua vez define uma linha do quadrado a ser usada. Deve-se olhar para a linha que se inicia com a letra “c” e pegar o caractere dessa linha que cruza com a coluna iniciada com o carac- tere “b”, e obtemos a letra “D”. O processo deve ser repetido para cada letra da mensagem a ser cifrada, resultando no texto cifrado “DHZVV”. Note que a letra “a”, repetida no texto claro, é cifrada em dois caracteres diferentes, “H” e “V”. Figura 1.5 Quadrado de Vigenere. 7 C ap ítu lo 1 - Fu nd am en to s de c ri pt og ra fia qMáquina Enigma. 1 1918 – Alemanha. 1 Usada pelos nazistas durante a Segunda Guerra Mundial. 1 Três rotores. Enigma é uma máquina de criptografia com rotores, utilizada tanto para cifrar como para decifrar mensagens. Criada pelos alemães em 1918, leva a fama de ter sido um equipamento que produzia cifras quase impossíveis de serem decifradas. O código foi, no entanto, quebrado, e a informação contida nas mensagens produzidas por essa máquina é geralmente tida como responsável pelo fim da Segunda Guerra Mundial, pelo menos um ano antes da previsão de término. Criptografia moderna qCifradores de blocos. 1 Dividem a mensagem em blocos de tamanho fixo (exemplo: 128 bits). 1 DES ou AES. A era da criptografia moderna começa realmente com Claude Shannon, em 1949. Nesse 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 teórica sólida para a criptografia e a criptoanálise. Em 1976, foi publicado pelo governo americano o algoritmo Data Encryption Standard (DES), aberto de criptografia simétrica, selecionado pelo NIST em um concurso. O DES foi o pri- meiro algoritmo de criptografia disponibilizado abertamente ao mercado. Entre os modernos algoritmos de criptografia simétrica, podemos agrupar duas principais categorias: 1 Cifradores de blocos: dividem a mensagem em blocos de tamanho fixo durante a cifragem dos dados. Podemos citar o DES e o AES; 1 Cifradores de fluxo: cifram cada dígito do texto plano por vez. Usados com maior frequ- ência quando é díficil conhecer o tamanho do texto plano. Um vídeo que demonstra o funciona- mento da máquina Enigma pode ser encontrado em: http://goo.gl/9GyPB5 (em inglês). w Figura 1.6 Máquina Enigma. Todos os algoritmos apresentados até agora, desde os clássicos, têm características simétricas, ou seja, para decifrar um texto, basta usar o procedi- mento oposto ao que foi realizado durante a cifragem dos dados. l 8 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s Já entre os cifradores de fluxo, que são usados com menor frequência que os de bloco, o algoritmo mais conhecido atualmente é o RC4. Plaintext Ciphertext KeyBlock Cipher Encryption Block Cipher Encryption Block Cipher Encryption Electronic Codebook (ECB) mode encryption Key Key Plaintext Ciphertext Plaintext Ciphertext Criptografia simétrica qComo distribuir as chaves de maneira segura? 1 De que forma verificar se a mensagem não foi modificada? 1 Como ter certeza de que a mensagem foi realmente enviada por quem diz tê-la enviado? Ao finalizar esse breve estudo sobre criptografia simétrica, podemos notar que, embora esses algoritmos sejam bastante eficientes, surgem algumas questões que não são tratadas por essa subárea da criptografia. São elas: Como distribuir as chaves de maneira segura? Aprendemos até agora que, para uma comunicação entre duas ou mais partes ser realizada de forma segura, é necessário que as partes conheçam previamente a chave. Porém, como fazer isso de maneira segura? Como garantir que apenas quem eu desejo conheça essa chave? Como verificar se a mensagem não foi modificada? Como podemos detectar se alguém não autorizado conseguiu ter acesso à mensagem e a modificou antes que ela fosse entregue? Como ter certeza de que a mensagem foi realmente enviada por quem diz ter enviado? Como saber se não há uma terceira parte não autorizada que descobriu a chave secreta e está enviando mensagens em nome de outras pessoas? Criptografia assimétrica qPar de chaves. 1 Pública e Privada. Confidencialidade. Com o intuito de responder às questões levantadas, além de outras, surgiu a Criptografia Assimétrica. Sua principal diferença em relação à Criptografia Simétrica é que usa o conceito de par de chaves para cifrar e decifrar mensagens. Figura 1.7 Cifradores de blocos. 9 C ap ítu lo 1 - Fu nd am en to s de c ri pt og ra fia Dessa forma, foi criado um par de chaves, sendo uma chave considerada pública, que pode ser disponibilizada livremente, e outra privada, que deve ser mantida apenas em posse de seu detentor. Essas chaves são complementares, ou seja, uma mensagem cifrada com uma chave deve ser decifrada por sua chave correspondente. Com esse conceito, se Beto deseja enviar uma mensagem sigilosa para Alice, ele deve cifrar o conteúdo de sua mensagem utilizando a chave pública de Alice (de domínio público) e enviar para ela o texto cifrado. Alice,por sua vez, ao receber a mensagem cifrada, usa sua chave privada para decifrar o conteúdo. Dessa forma, podemos garantir que apenas Alice conseguirá decifrar o texto enviado por Beto. Este processo é esquematizado na figura 1.8. Beto Alice Texto cifradoTexto claro Texto claro Chave pública de Alice Chave privada de Alice Cifrar Decifrar qPar de chaves: 1 Pública 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, esquematizado na figura 1.9 é descrito a seguir: Beto cifra o conteúdo da mensagem com sua chave privada e a envia para Alice, que, por sua vez, utiliza a chave pública de Beto para obter o texto claro. Se a mensagem foi correta- mente decifrada com a chave pública de Beto, pode-se 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 Beto criou a mensagem. Chave privada de Beto Chave pública de Beto Beto Alice Texto cifradoTexto claro Texto claro Cifrar Decifrar q 1 Diffie Hellman, 1976. 1 Principais algoritmos: 2 RSA. 2 DAS. O conceito de criptografia assimétrica 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. Figura 1.8 Envio de mensagem de Beto para Alice. Figura 1.9 Envio de mensagem de Alice para Bob. 10 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s Funções-resumo (hash) q 1 Procedimento ou função matemática para transformar um conjunto de dados em outro conjunto de tamanho fixo (resumo criptográfico). 1 Impossível obter a mensagem original a partir do resumo criptográfico. 1 Difícil colisão. Uma função-resumo, também conhecida como função de hash, é uma função matemática para transformar um conjunto de dados em uma pequena sequência de dados de tamanho fixo (resumo criptográfico). Essa sequência busca identificar um arquivo ou informação unicamente. Outra característica importante referente às funções-resumo é que não deve ser possível obter a informação original a partir de um valor de hash. Como a sequência do hash é limitada (128, 256, 512 bits etc.), podem existir colisões (sequências iguais para entradas diferentes). Quanto maior a dificuldade de produzir colisões, mais eficiente é o algoritmo. Assinatura digital A assinatura digital é um método para prover características, em meio digital, a um docu- mento, de maneira semelhante a assinaturas feitas em papel. A utilização da assinatura digital gera uma prova de quem é o autor, ou emissor, da men- sagem. Além disso, provê as seguintes propriedades: 1 Autenticidade: busca garantir que a mensagem é autêntica, que o autor da mensagem é realmente quem diz ser; 1 Integridade: permite verificar se a mensagem enviada é a mesma mensagem que foi recebida ou se sofreu alguma alteração; 1 Irretratabilidade: emissor não pode negar a autenticidade da mensagem. O processo de assinatura consiste em gerar o resumo criptográfico da mensagem e cifrar esse resumo com a chave privada do assinante. Para a verificação de uma assinatura digital, é necessário decifrar a assinatura gerada com a chave pública do assinante e comparar o resultado dessa operação com o resumo do documento original. 11 C ap ítu lo 1 - Fu nd am en to s de c ri pt og ra fia Documento assinado Resumo Chave privada Texto plano Assinatura Função Resumo Texto plano Cifragem Criptografia assimétrica q 1 Como distribuir as chaves de maneira segura? 1 Como verificar se a mensagem não foi modificada? 1 Como ter certeza de que a mensagem foi realmente enviada por quem diz ter enviado? 1 Como vincular uma chave a informações de seu detentor? Até este momento, conseguimos, por meio dos conhecimentos obtidos, solucionar três problemas com os quais nos deparamos: 1 Distribuir as chaves de maneira segura, o que foi resolvido pela utilização de criptografia assimétrica; 1 Detectar se uma mensagem foi modificada, o que foi resolvido pela assinatura digital; 1 Ter certeza de que a mensagem foi enviada por quem diz tê-la enviado, o que foi resol- vido com o uso de assinaturas digitais. Porém, surge uma nova pergunta: já que uma chave é um conjunto de bits, como podemos saber quem é o seu detentor? Certificados digitais q 1 Necessidade de relacionar uma chave a um indivíduo. 1 Kohnfelder (1978) relaciona um usuário a uma chave. 1 Características importantes: 2 Objeto puramente digital. 2 Contém informações do detentor da chave privada. 2 Criado por uma entidade confiável. 2 Possível delimitar suas possíveis aplicações. 2 Fácil determinar se foi violado. 2 Possível verificar seu estado atual. Figura 1.10 Assinatura digital. 12 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s Um dos principais problemas da criptografia de chaves públicas é determinar quem possui a chave privada correspondente. Para solucionar esse problema, foi proposto o uso de Certificados Digitais de Chaves Públicas ou simplesmente certificados. Cada um contém a chave pública e a identificação da entidade que controla a respectiva chave privada. Segundo R. Housley, um certificado ideal deve conter uma série de características importantes: 1 Ser um objeto puramente digital, para que possamos distribuí-lo e processá-lo automaticamente; 1 Conter informações sobre o detentor da chave privada; 1 Ser fácil de determinar se o certificado foi recentemente emitido; 1 Ser criado por uma entidade confiável, em vez do próprio usuário que detém a chave privada; 1 Uma vez que uma entidade confiável pode criar vários certificados, inclusive para um mesmo usuário, deve ser fácil diferenciá-los; 1 Ser fácil determinar se o certificado foi forjado ou se é genuíno; 1 Ser à prova de violação, de modo que ninguém consiga alterá-lo; 1 Ser possível verificar de forma imediata se alguma informação no certificado não é mais válida; 1 Deve-se poder determinar para quais aplicações o certificado é válido. Os certificados digitais x.509 apresentam em sua estrutura as características listadas nesses itens. Porém, os itens h e j não aparecem diretamente no conteúdo do certificado, pois são apresentadas apenas referências dentro do certificado para onde podemos obter tal infor- mação. Tais características são providas a partir das Listas de Certificados Revogados (item h) e Políticas de Certificação (item i). Versão Número de série Emissor Validade Sujeito Chave Pública Extensões Assinaturas da AC Lista de Certificados Revogados q 1 Necessidade de tornar um certificado inválido. 2 Impossível apagar todas as cópias existentes de um certificado. 1 Objeto puramente digital. 1 Motivos para revogação. 2 Modificação de um certificado. 2 Comprometimento da chave privada. 2 Encerramento de uso. Para que seja possível determinar se as informações contidas em um certificado digital são válidas em um determinado momento, foram criadas as listas de certificados revogados (LCR), que são emitidas periodicamente por uma Autoridade Certificadora ou por uma entidade para a qual foi delegada essa função, que contém a relação dos certificados que não são mais válidos. Figura 1.11 Campos de um certificado digital X.509. 13 C ap ítu lo 1 - Fu nd am ento s de c ri pt og ra fia Uma LCR é um objeto digital, o que permite a distribuição, o processamento e a validação de forma eletrônica, de maneira semelhante a um certificado. A LCR é assinada pela entidade que a emitiu, permitindo a verificação de sua integridade, e possui dois campos de data, um com a de sua emissão e outro com a de expiração, além da lista dos números seriais dos certificados emitidos, a data da revogação do certificado e extensões (opcional). Vários motivos podem gerar a necessidade de revogação de um certificado digital: 1 A atualização de dados nele contidos; 1 Comprometimento da chave privada; 1 Cancelamento do uso do certificado; 1 Comprometimento da chave privada da Autoridade Certificadora; 1 Entre outros. Formatos qAbstract Syntax Notation (ASN.1). 1 Estrutura de dados. 1 Codificar e Decodificar dados. 2 Certificados. 2 LCRs. ExampleQuestion ::= SEQUENCE { trackingNumber INTEGER, question IA5String } Os certificados digitais e as listas de certificados revogados são armazenados em arquivos e sua estrutura, ou seja, a forma como seus dados são estruturados, é definida ao usar o Abstract Syntax Notation One (ASN.1). A ASN.1 é uma notação padrão que permite a representação, codificação ou decodificação e transmissão de dados. Esse formato contém uma série de regras para a descrição e a codifi- cação das estruturas de forma precisa, evitando ambiguidades. O exemplo apresentado no slide demonstra como uma lista de exercícios seria representada no formato ASN.1. qBase64: 1 Codifica dados binários tratando-os numericamente em uma representação de base 64. Distinguished Encoding Rules (DER): 1 Representa uma estrutura ASN.1. Privacy Enhanced Mail (PEM): 1 Base64 com cabeçalhos. Base64 é um método de codificação de dados para transferência. É geralmente utilizado para codificar dados binários, traduzindo-os para uma representação em base 64. O conjunto de caracteres é constituído por 64 caracteres de “a” a “z”, “A” a “Z” e “0” a “9”. O caractere “=” é usado como um sufixo especial; a recomendação RFC 989 definiu que o símbolo “*” pode ser adotado para delimitar dados codificados, mas não cifrados. 14 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s O Distinguished Encoding Rules (DER) é uma sintaxe para a transferência de mensagens especificadas pela ITU dentro do X.690. Trata-se de um método para codificar dados, como um certificado digital x.509. Já o Privacy Enhanced Mail (PEM) é uma proposta criada para prover segurança em e-mails por meio da utilização de criptografia de chaves públicas. qExemplo de arquivo no formato PEM: -----BEGIN CERTIFICATE----- MIIDtTCCAp2gAwIBAgIJALgslSVdQqJEMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNV BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX aWRnaXRzIFB0eSBMdGQwHhcNMDgwOTIyMDMzNTU1WhcNMDgxMDIyMDMzNTU1WjBF skW3EjU1jQpoU5ovuV4UwLHs73mkz1jRoFxPYW1N7x3b1eXIlpqGZmv6nOc3R3Xm pIlkUhZ+8cp8G262od50qudiAA4BNfxoK900VCJMlgkGtJAuCIR32NDmgImgqs6t v3ESAjzOpwafksne2jcnYTt0v8FBli0+MWC9ON709I4JTC+XNvRBZEMF88n+n73h oNVnZ2qECuiPwTHAjIY3v/5VwYu+vn0Rh6jradZmIGqg8Uq5/CH6aWM= -----END CERTIFICATE----- 15 C ap ítu lo 2 - A ss in at ur a di gi ta l ob je tiv os conceitos 2 Assinatura digital Compreender de forma aprofundada o funcionamento de assinaturas digitais e seus formatos de armazenamento no Brasil; Aprender os conceitos básicos sobre carimbo de tempo; Conhecer os documentos eletrônicos compatíveis com assinatura digital. Assinatura digital (colisão de hash, carimbo do tempo e formatos de armazenamento); Assinatura de documentos eletrônicos (OpenDocument, OpenXML e PDF); Softwares de Assinatura Digital. Assinatura digital q 1 Autenticidade/Não repúdio. 1 Integridade. resumo criptográfico Remetente Receptor resumo criptográfico cifra decifra = ? 0101001 0110111 0100011 01010010110111 0100011 1101101 0110011 0100110 1101101 0110011 0100110 1101101 0110011 0100110 Olá mundo! Olá mundo! 1101101 0110011 0100110 Olá mundo! Nesta sessão, exploraremos mais a fundo o tema “Assinatura Digital”. Uma vez compreen- dido o conceito de hash e de criptografia assimétrica, apresentados na sessão anterior, a ideia básica da assinatura digital torna-se relativamente simples. A assinatura digital lembra, em muitos aspectos, a assinatura “de próprio punho”. Ela traz algumas propriedades importantes para os documentos eletrônicos: 1 Integridade: permite verificar se o documento não foi alterado após a aplicação da assinatura; 1 Autenticidade: permite verificar se um documento realmente foi gerado e aprovado pelo signatário; Figura 2.1 Assinatura digital. 16 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s 1 Não repúdio: impede que o signatário recuse a autoria ou conhecimento do documento. Mas a assinatura digital também tem diferenças com relação à assinatura de próprio punho. Algumas mais e outras menos evidentes, mas que merecem atenção do usuário. Nesta sessão, aprofundaremos os conhecimentos no tema, buscando compreensão teórica e prática das principais características do processo de assinatura digital. O processo de assinatura digital faz uso da criptografia assimétrica, ou seja, faz uso de duas chaves: 1 Uma pública, disponibilizada livremente, normalmente associada a dados pessoais do signatário através de um certificado digital; 1 Uma privada, mantida protegida em sigilo pelo signatário. Além disso, o processo ainda usa as funções resumo, ou funções hash. O procedimento de assinatura digital consiste nos seguintes passos: 1 O assinante gera um resumo criptográfico da mensagem; 1 O assinante cifra o resumo com sua chave privada. Esse resumo criptográfico cifrado é uma assinatura digital da mensagem, e deve ser encami- nhado ao destinatário anexado à mensagem. Para verificar a assinatura, o destinatário executa os seguintes passos: 1 1: tendo em mão a chave pública, que ele sabe ser do remetente, o destinatário decifra a assinatura, obtendo o resumo; 1 2: com a mensagem em mão, gera novamente, de maneira independente, o resumo criptográfico da mensagem; O destinatário compara os resumos obtidos no passo 1 e no passo 2: 1 Se ambos resumos são iguais, a assinatura é válida; 1 Se os resumos não são iguais, a assinatura é inválida. A propriedade de autenticidade é verificada no passo 1. Se outra chave privada, que não aquela associada à chave pública que o destinatário conhece, tivesse sido usada para cifrar o resumo criptográfico da assinatura, ao decifrá-lo o hash original não seria obtido. Já a propriedade da integridade é verificada no passo 2. Se a mensagem sofrer uma alteração, após a aplicação da assinatura, o resumo criptográfico calculado pelo destinatário não vai coincidir com aquele obtido pela decifragem da assinatura. É importante notar que, apesar de guardarem semelhanças com as propriedades providas por uma assinatura de próprio punho, as propriedades da assinatura digital mostram-se mais fortes. Quanto à integridade, um documento assinado em papel pode sofrer adulterações. 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 não altere um contrato não invalidará a assinatura. Já no caso de uma assinatura digital, um simples bit modificadona mensagem torna a assinatura inválida. Um “cheque em branco digital”, se existisse, uma vez assinado não poderia receber um valor sem invalidar a assinatura. Já no que diz respeito à autenticidade, também há mudança sensível. Enquanto a verificação de uma assinatura de próprio punho depende da especialidade do grafoscopista, a verifi- 17 C ap ítu lo 2 - A ss in at ur a di gi ta l cação da autenticidade da assinatura digital, considerando-se o sigilo da chave privada, é puramente matemática e reside na confiança nos algoritmos usados. Outras diferenças tornam-se evidentes em uma análise mais minuciosa, como o fato de a assinatura não fazer mais parte do documento, e sim ser algo que pode ser desanexado. Exploraremos algumas dessas diferenças com mais atenção durante esta sessão. Colisão de hash q 1 O hash tem tamanho fixo. Então existe um número finito de “hashes”. 1 Existem infinitas mensagens, portanto: 2 Mais de uma mensagem tem o mesmo hash. = Colisão de hash Uma das particularidades da assinatura digital é que a confiança estabelecida sobre ela depende da confiança nos algoritmos envolvidos. E um dos algoritmos utilizados é um algo- ritmo de resumo criptográfico ou hash. Ao olhar com mais atenção para a função de resumo, percebem-se algumas características importantes. Entre elas, destaca-se o fato de que a função resumo tem tamanho fixo limi- tado. Por exemplo, o MD5 tem 128 bits, o SHA-1 tem 160 bits. Mas se olharmos para as mensagens, não há limite de tamanho. Podemos escrever quantas mensagens desejarmos, potencialmente infinitas mensagens. Dessa forma, torna-se evidente que necessariamente mais de uma mensagem vai ter o mesmo hash. Esse evento recebe o nome de colisão de hash, e é crítico para a confiança em uma assinatura digital. resumo criptográfico Vítima Atacante Juiz resumo criptográficocifra decifra = !!! 0101001 0110111 0100011 0101001 0110111 01000111101101 0110011 0100110 0101001 0110111 0100011 1101101 0110011 0100110 Olá mundo! Olá mundo! 1101101 0110011 0100110 Olá mundo! 1101101 0110011 0100110 Olá mundo! Doação do meu carro A figura 2.2 ilustra um ataque fazendo uso da colisão de hash. Suponha que um atacante obtém um documento que tem o mesmo hash de uma mensagem já assinada, ou então obtém duas mensagens com mesmo hash: uma inocente, que ele convence a vítima 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 válida. Figura 2.2 Ataque de colisão de hash. 18 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s qExemplo de colisão. 1 Ok, mas... funciona? Já existem exemplos de: 1 Dois arquivos HTML diferentes, com mesmo hash MD5. 1 Dois arquivos PostScript diferentes, com mesmo hash MD5. 1 Dois Certificados Digitais diferentes, com mesmo hash MD5. A pergunta que pode ocorrer é: “Mas isso funciona na prática?” A resposta é sim. Existem diversos exemplos práticos, disponíveis publicamente, que demonstram a possibilidade de se obter colisões reais de hash com efeitos práticos. Demonstraremos na sessão: 1 Dois arquivos HTML: páginas de duas empresas diferentes, com mesmo resumo MD5; 1 Dois arquivos PostScript, com mesmo resumo MD5: 2 Uma carta de recomendação; 2 Uma concessão de acesso a dados sigilosos; 1 Dois certificados digitais com mesmo resumo MD5. q 1 Sem pânico. 1 É possível que duas mensagens tenham a mesma assinatura, mas... 1 ...uma boa função de hash tem as seguintes características: 2 É difícil, tendo h(m), achar m 2 É difícil, tendo m1, encontrar m2 tal que h(m1)=h(m2) 1 E, mais difícil que encontrar uma colisão, é encontrar uma colisão “útil”. 1 Por quanto tempo você quer que a assinatura continue válida? Se você ficou assustado, o objetivo foi alcançado. Agora, para tentar tranquilizá-lo nova- mente. Como foi dito, ao mesmo tempo em que a assinatura guarda semelhanças com a assinatura de próprio punho, ela tem suas particularidades, que precisam ser bem compre- endidas. Corretamente utilizada, ela dá garantias de segurança que podem ser consideradas muito mais fortes. Voltando para a questão específica das funções hash, cabe relembrar algumas caracterís- ticas importantes que dificultam sensivelmente os ataques propostos: 1 Boas funções de hash, em geral, são virtualmente randômicas. 1 Uma pequena modificação na entrada tem de causar enorme modificação na saída (exemplo: ~50% dos bits). Com essas características, mesmo que se encontrem colisões, dificilmente elas serão “úteis”, no sentido de que serão duas mensagens inteligíveis, ao menos enquanto o algoritmo ainda é considerado seguro, o que não é o caso do MD5, no qual já existem diversas fragilidades conhecidas e que não deveria mais ser utilizado em qualquer aplicação crítica. Normalmente, é uma questão de tempo: se sua assinatura não precisa ser validada a longo prazo, apenas amanhã e nunca mais, não há muito com o que se preocupar. Mas, no mundo real, muitas aplicações precisam que a assinatura continue válida por muito tempo. Em alguns casos, até para sempre! 19 C ap ítu lo 2 - A ss in at ur a di gi ta l Assinatura de longo prazo qToda assinatura digital vai expirar um dia. Assinatura Certificado A3 Ac Cert A3 Ac Credenciada Ac Raiz Tempo Expedição do Certificado do Signatário Expedição do Certificado de AC Quebra de Algoritmos Além da questão do algoritmo de hash, que pode um dia ficar vulnerável e dessa forma limitar a confiança em uma assinatura digital, outros aspectos limitam sua validade. Uma assinatura digital, na prática, faz uso de certificados digitais. O certificado digital é um conjunto de dados que inclui uma chave pública, e informações sobre o detentor da chave privada associada à sua chave pública, além de um período de validade onde o certificado deve ser considerado válido (não antes e não depois de certo intervalo de tempo). Para garantir a confiabilidade dessas informações, o próprio certificado é assinado digitalmente, por uma terceira parte confiável, que também tem seu certificado assinado por outra enti- dade, formando o que se chama de cadeia de certificação. Estudaremos esse assunto com mais detalhes na seção 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á disponível para consulta e é assinada pela autoridade. Acontece que, para evitar o crescimento infinito da lista, os certificados expirados são removidos dessa lista. E aí surge mais um problema: como garantir, após a expiração do certificado, que o certificado não estava revogado quando foi usado? Ou pior ainda, e no futuro, quanto essas ACs nem existirem mais? Por fim, além do algoritmo de hash, outros algoritmos estão envolvidos no processo, como os de geração das chaves e de cifragem. Se ocorrer quebra de algum dos algoritmos cripto- gráficos envolvidos, a assinatura também fica comprometida, sem ser possível verificar se ela foi feita quando esses problemas não existiam. Figura 2.3 Validade de assinaturas comuns. Certificado digital Arquivo que possui um conjunto de infor- mações referentes à entidade para a qual o certificado foi emitido (empresa, pessoa física ou computador) mais a chave pública refe- rente à chave privada que se acredita ser de posse unicamenteda entidade especificada no certificado. 20 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s resumo criptográfico assina (resume e cifra) Signatário TSA cifra 0101001 0110111 0100011 0101001 0110111 0100011 1101101 0110011 0100110 1101101 0110011 0100110 Olá mundo! Olá mundo! 1101101 0110011 0100110 1101101 0110011 0100110 Olá mundo! 1101101 0110011 0100110 1101101 0110011 0100110 Ambiente Seguro Para resolver essas questões, precisamos entender o conceito de Carimbo do tempo ou Time Stamp. Um carimbo do tempo é semelhante a uma assinatura digital, mas contém também uma informação de data ou hora confiável. Dessa forma, um carimbo do tempo cria uma “âncora” entre o conteúdo assinado e uma data, de forma confiável. Para isso é necessário uma Time Stamping Authority (TSA), ou Autoridade de Carimbo do tempo. Trata-se de uma entidade confiável (assim como é uma Autoridade Certificadora) que fornece o serviço de carimbo do tempo. qAutoridade de Carimbo de Tempo (Time Stamping Authority – TSA). 1 Utiliza fonte confiável de tempo. 1 Carimba somente o hash do documento. 1 Usa chaves e algoritmos mais fortes do que os comuns. Observatório Nacional: 1 Responsável por gerar e distribuir a Hora Legal brasileira. 1 Relógios atômicos. Existem diversas características que devem necessariamente estar presentes em uma TSA para que essa possa ser declarada confiável. A primeira e talvez mais importante de todas é utilizar uma fonte confiável de tempo. No Brasil, o horário oficial é denominado Hora Legal, e é gerado e distribuído pelo Observatório Nacional, de acordo com o Decreto de Lei 4.264, de 10 de junho de 2002. O Observatório Nacional é responsável por manter com a mais alta precisão a Hora Legal brasileira, utilizando para tal relógios atômicos. Outra característica importante é que o conteúdo do documento assinado deve permanecer transparente à TSA. Essa deve conhecer somente o hash do documento em questão. É importante destacar que o processo de geração de um Carimbo de Tempo é bastante com- plexo, mas aqui estaremos nos limitando a explicá-lo de forma mais superficial, somente apresentando os principais conceitos. Figura 2.4 Assinatura com carimbo de tempo. 21 Ca pí tu lo 2 - A ss in at ur a di gi ta l Cada vez que uma TSA é requisitada a carimbar temporalmente um documento, o requisi- tante envia à TSA somente o seu hash. A TSA calcula o hash do resultado da concatenação do timestamp (com informações de data conseguidas através de uma fonte confiável) e do hash do documento. Logo após, a TSA assina digitalmente o hash com sua chave privada. Essa chave e os algoritmos usados na assinatura devem ser considerados fortes no momento em que o carimbo foi gerado. Em geral, as TSAs se utilizam de algoritmos e chaves mais fortes em questões de segurança do que as utilizadas em assinaturas convencionais. Isso é necessário, pois o carimbo de tempo deve ter maior durabilidade do que a própria assinatura, do contrário não terá utilidade. De modo geral, o carimbo do tempo pode ser feito sobre qualquer dado. Mas um dos usos mais comuns é a aplicação do carimbo do tempo apenas na assinatura digital, já que ancorando-a ao tempo, estará sendo ancorado todo o documento junto. qUsar carimbo do tempo para conservar a validade por longo prazo. 1 Antes da expiração da assinatura ou carimbo anterior. 1 Utilizando algoritmos mais avançados. Assinatura Certificado A3 Ac Cert A3 Ac Credenciada Ac Raiz Tempo Expiração do Certificado do Signatário Expiração do Certificado de AC Quebra de Algoritmos Dessa forma, o carimbo do tempo permite se ter certeza da existência de um documento em determinada data. Com essa garantia, caso o certificado do signatário venha a expirar, ou o algoritmo ou hash da assinatura esteja comprometido, o carimbo garantirá que a assi- natura ocorreu antes da existência desses problemas, e que portanto a assinatura pode ser validada com base na data do carimbo, e não na data atual. Existem algumas considerações que devem ser feitas quanto a aplicação de um carimbo do tempo: 1 A aplicação de carimbo do tempo deve ser feita quando o carimbo do tempo anterior ou a assinatura ainda for válida. 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á não é mais verificável ou válida; 1 É necessário que o carimbo do tempo utilize algoritmos melhores que os da própria assi- natura, se o objetivo é proteger contra quebra de algoritmos; Figura 2.5 Validade de assinaturas com carimbo de tempo. 22 IC PE du In tr od uç ão a In fr ae st ru tu ra d e Ch av es P úb lic as e A pl ic aç õe s 1 É preciso conservar também certificados da cadeia de certificação e listas de certificados revo- gados válidos na data em que o carimbo do tempo foi emitido, para que seja possível realizar todas as verificações necessárias sobre a cadeia de certificação. Esses dados podem não estar mais disponíveis no dia em que a assinatura for verificada, especialmente a longo prazo. Formatos de armazenamento qPKCS#7 ou CMS ou CAdES: 1 ASN.1 1 RFCs: 2 RFC 3852: Cryptographic Message Syntax (CMS). 2 RFC 5126: CMS Advanced Electronic Signatures (CAdES). XML-DSig ou XAdES: 1 XML. 1 Padrões W3S. Uma assinatura digital, na prática, contém muito mais informações do que o resumo criptográfico da mensagem cifrado. Entre outros dados, podem constar data e local onde a assinatura foi realizada, certificado do signatário e sua cadeia de certificação, informações sobre estado de revogação do certificado (LCR, resposta OCSP), carimbo do tempo. Existem duas maneiras principais de representar uma assinatura digital: Binária e XML. A primeira, e mais antiga, é representada pelo PKCS#7, e seu sucessor, o CMS. Atualmente descrito pela RFC 5280, trata-se de um formato binário, codificado em ASN.1. O ASN.1 é um padrão usado para descrição de dados transmitidos em protocolos de tele- comunicações, 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 usado para a representação de infor- mações, pois permite a representação destas em uma sintaxe simples de ser interpretada tanto por pessoas quanto por computadores, e que também é extensível, possibilitando a utilização nas mais diversas aplicações. Além disso, existem padrões para as chamadas “assinaturas avançadas”, que incorporam características que agregam mais segurança à assinatura, como o carimbo do tempo: 1 CAdES, baseado no CMS; 1 XAdES, baseado no XML-DSig. 23 C ap ítu lo 2 - A ss in at ur a di gi ta l Legislação qNa ICP-Brasil, a eficácia jurídica é garantida pela MP 2200-2. A ICP-Brasil foi instituída pela Medida Provisória 2200, de 28 de junho de 2001: a última reedição, 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 jurídica de documentos em forma eletrônica, das aplicações de suporte e das aplicações habilitadas que utilizem certificados digitais, bem como a realização de transações eletrônicas seguras” [1, Art. 1]. Além da MP, ainda existe uma série de decretos referentes a ICP-Brasil.A MP delega ao Instituto de Tecnologia da Informação (ITI) a responsabilidade de gerir e regulamentar a ICP-Brasil. Isso é feito através da publicação de resoluções. Documentos assinados digitalmente utilizando certificados ICP-Brasil presumem-se verda- deiros com relação aos signatários: MP 2200-2: Art. 10. Consideram-se documentos públicos ou particulares, para todos os fins legais, os documentos eletrônicos de que trata essa Medida Provisória. § 1o As declarações constantes dos documentos em forma eletrônica produzidos com a utili- zação de processo de certificação disponibilizado pela ICP-Brasil presumem-se verdadeiros em relação aos signatários, na forma do art. 131 da Lei no 3.071, de 1o de janeiro de 1916 (Código Civil). § 2o O disposto nessa Medida Provisória não obsta o uso de outro meio de comprovação da autoria e integridade de documentos em forma eletrônica, inclusive os que utilizem certifi- cados não emitidos pela ICP-Brasil, desde que admitido pelas partes como válido ou aceito pela pessoa a quem for oposto o documento. Figura 2.6 Medida provisória 2200-2. 24 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s Assinatura digital na ICP-Brasil qConjunto Normativo – DOC-ICP-15: diz exatamente como deve ser a assinatura, para que ela seja válida na ICP-Brasil (eficácia jurídica). 1 Baseado nos padrões XAdES e CAdES. 1 Propõe cinco formatos de assinatura digital para cada padrão. O Comitê Gestor da ICP-Brasil divulga resoluções que regulamentam padrões, políticas e procedimentos que devem ser seguidos na ICP-Brasil. Foi aprovado no início de 2009 o DOC-ICP-15, que regulamenta como deve ser realizada uma assinatura digital na ICP-Brasil. Esse conjunto normativo é baseado nos padrões CaDES e XaDES, ou seja, possui recursos que permitem a conservação a longo prazo das assinaturas digitais. Existem cinco perfis de formatos de assinatura disponíveis, cada um adequado a determi- nadas situações. Documento eletrônico Atributos Assinados Política de Assinatura Assinatura Digital AD-RB O AD-RB, ou “Assinatura Digital com Referência Básica”, é a assinatura simples, que já utili- zamos rotineiramente. Não há qualquer preocupação com conservação a longo prazo. Deve ser usada apenas em casos muito específicos, onde não há qualquer interesse em verificar a assinatura em médio ou longo prazo, e se deseja um tamanho mínimo para a assinatura. Documento eletrônico Atributos Assinados Política de Assinatura Assinatura Digital Carimbo de tempo AD-RB AD-RT Na AD-RT, a “Assinatura Digital com Referência do Tempo” insere-se um carimbo do tempo, ancorando a assinatura a uma data onde ela era válida. Agrega algum valor à conservação de longo prazo, mas ainda exige cuidados. É necessário conservar os certificados da cadeia de certificação e LCRs externamente. De qualquer forma, é importante, pois dá confiança sobre a data em que o documento foi assinado, além de prolongar um pouco a vida útil de uma assinatura. Figura 2.7 Formato AD-RB. Figura 2.8 Formato AD-RT. 25 C ap ítu lo 2 - A ss in at ur a di gi ta l Documento eletrônico Atributos assinados Política de assinatura Assinatura digital Carimbo de tempo AD-RB AD-RT AD-RV Referências sobre certificados e dados de revogação Carimbo de tempo O AD-RV é a “Assinatura Digital com Referências para Validação”. Adiciona referências sobre certificados e LCRs utilizados na assinatura, e coloca um carimbo do tempo sobre toda essa informação. Dessa forma, pode-se consultar um banco de dados externo para obter os dados necessários à validação da assinatura (certificados e LCRs, por exemplo). As referências podem ser o hash dos certificados ou LCRs. Permite que sejam validadas assinaturas a longo prazo, mesmo após a expiração ou extinção das ACs, desde que exista o banco de dados com certificados e LCRs disponíveis para consulta. Documento eletrônico Atributos assinados Política de assinatura Assinatura digital Carimbo de tempo AD-RB AD-RT AD-RV AD-RC Referências sobre certificados e dados de revogação Certificados e dados de revogação Carimbo de tempo O AD-RC é a “Assinatura Digital com Referências Completas”. Acrescenta ainda os valores completos dos certificados, LCRs e outras informações necessárias à validação da assinatura. As referências permanecem, pois elas estão sob o carimbo do tempo, ancoradas ao momento em que os algoritmos envolvidos eram seguros. Dessa forma, fica dispensado o banco de dados de certificados e LCRs. Figura 2.9 Formato AD-RV. Figura 2.10 Formato AD-RC. 26 IC PE du In tr od uç ão a In fr ae st ru tu ra d e C ha ve s Pú bl ic as e A pl ic aç õe s Documento eletrônico Atributos assinados Política de assinatura Assinatura digital AD-RB AD-RT AD-RV AD-RC AD-RA Referências sobre certificados e dados de revogação Certificados e dados de revogação Carimbo de tempo Carimbo de tempo Finalmente, o AD-RA é o formato para “Assinatura Digital com Referências para Arquivamento”. É colocado um carimbo do tempo sobre todo o conjunto, usando algoritmos fortes. Toda a estrutura e informações ficam ancoradas no tempo em que eram seguras. Deve ser utilizado para documentos que precisam ser mantidos confiáveis para longos prazos. Devem ser aplicados novos carimbos do tempo frequentemente, com a finalidade de evitar a perda da eficácia probante por expiração da cadeia de certificação ou quebra dos algo- ritmos usados no carimbo do tempo de arquivamento. Esse processo, preferencialmente, deve ser automatizado. OpenDocument qFormato proposto pela Sun: 1 XML. 1 Padrão aberto ISO/IEC 26300:2006. Assinatura digital: 1 Não existe assinatura digital no padrão v1.1. 1 O software OpenOffice.org gera assinaturas XML-DSig. 1 Padrão v1.2 deve incorporar o padrão XadES, e eventualmente o BrOffice trará suporte ao padrão ICP-Brasil. O Open Document Format (ODF) é um padrão de representação de documentos digitais proposto pela Sun. Baseado em XML, é um padrão aberto definido pela norma ISO/IEC 26300:2006. É o padrão utilizado pela suíte de aplicativos de escritório OpenOffice.org, e sua versão brasileira BrOffice.org, ambos softwares livres. O ODF não possui suporte para assinatura digital na versão 1.1 do padrão, mas o OpenO- ffice.org gera assinaturas no formato XML-DSig. Segundo o website do BrOffice, a versão 1.2 do padrão trará suporte a XaDES, e o BrOffice trará suporte para a geração de assinaturas digitais no novo padrão da ICP-Brasil. Figura 2.11 Formato AD-RA. Confira em: http://www.broffice. org/odf_1-2_suportara_ assinatura_digital_com- pativel_com_ICP-Brasil w 27 C ap ítu lo 2 - A ss in at ur a di gi ta l OpenXML qFormato proposto pela Microsoft: 1 XML. 1 Em fase final para se tornar padrão ISO/IEC DIS 29500. Assinatura digital: 1 XML-DSig. O OpenXML é um formato de documento proposto pela Microsoft, também baseado em XML. Está em processo de se tornar o padrão ISO/IEC DIS 29500. O OpenXML já traz suporte a assinaturas digitais, também em formato XML-DSig. PDF qFormato proposto pela Adobe: 1 Subconjunto da linguagem de programação PostScript: layout e gráficos. 1 Sistema de incorporação e substituição de fontes. 1 Sistema de armazenamento estruturado: com compressão de dados onde é adequado. 1 Formado por
Compartilhar