Infra-Estrutura de Chaves Públicas PKI Public Key Infrastructure Criptografia de Chave Pública • A criptografia de chave simétrica (duas pessoas) pode manter seguros seus segredos, mas se precisarmos compartilhar informações secretas com duas ou mais pessoas, devemos também compartilhar as chaves. Abril de 2006 Infra-estrutura de Chave Pública 2 Compartilhar Chaves • O compartilhamento de chaves implica no problema da distribuição de chaves. • O que é Distribuição de Chaves ? Abril de 2006 Infra-estrutura de Chave Pública 3 Distribuição de Chaves • O problema da distribuição de chaves: Como duas ou mais pessoas podem, de maneira segura, enviar as chaves por meio de linhas inseguras. • Como as pessoas podem de maneira segura enviar informações sigilosas por meio de linhas inseguras ? Abril de 2006 Infra-estrutura de Chave Pública 4 Criptografia de Chave Pública • Antes de utilizar, deve-se lidar com os problemas tais como: - distribuição de chaves. - gerenciamento de chaves. Abril de 2006 Infra-estrutura de Chave Pública 5 Gerenciamento de Chaves • O que é gerenciamento de chaves ? • É o processo de gerar, proteger, armazenar, e manter histórico para utilização de chaves. Abril de 2006 Infra-estrutura de Chave Pública 6 Gerenciamento de Chaves • • • • • Gerar pares de chaves Proteger chaves privadas Controlar múltiplos pares de chaves Atualizar pares de chaves Manter um histórico de pares de chaves. Abril de 2006 Infra-estrutura de Chave Pública 7 Criptografia de Chave Pública • Oferece criptografia e também uma maneira de identificar e autenticar (através de assinatura) pessoas ou dispositivos. Abril de 2006 Infra-estrutura de Chave Pública 8 Criptografia de Chave Pública • Principal questão: Não somente confidencialidade. Mas a principal questão é a integridade (uma chave é suscetível à manipulação durante o trânsito) e a posse de uma chave pública. Abril de 2006 Infra-estrutura de Chave Pública 9 Criptografia de Chave Pública • Como obter uma chave pública e numa comunicação certificar-se de que essa chave tenha sido recebida da parte intencionada ? • Resposta: certificados de chave pública Abril de 2006 Infra-estrutura de Chave Pública 10 Introdução aos Certificados • Com Criptografia de Chave Pública e Assinatura Digital: pessoas podem utilizar a chave pública de uma outra pessoa; . Abril de 2006 Infra-estrutura de Chave Pública 11 Criptografia de Chave Pública e Assinatura Digital • Para enviar uma mensagem segura a uma pessoa, tomamos a chave pública dessa pessoa e criamos um envelope digital. Abril de 2006 Infra-estrutura de Chave Pública 12 Criptografia de Chave Pública e Assinatura Digital • Para verificar a mensagem de uma pessoa, adquire-se a chave pública dessa pessoa e verifica-se a assinatura digital. Abril de 2006 Infra-estrutura de Chave Pública 13 Assinatura com Chave Pública Computador A P Chave Privada DA rede Chave Privada DB Chave Pública EB DA(P) Computador B EB(DA(P)) P Chave Pública EB DA(P) Assume-se que os algoritmos de criptografia e decriptografia têm a propriedade que: EB( DA(P) ) = P e DA( EB(P) ) = P, onde DA(P) é a assinatura do texto plano P com a chave privada DA e EB(P) é a verificação da assinatura com a chave pública EB . O algoritmo RSA tem esta propriedade. Abril de 2006 Infra-estrutura de Chave Pública 14 De quem é a chave pública ? • Mas, como uma pessoa qualquer pode saber se uma chave pública pertence a pessoa em questão (parte intencionada) ? • Veja dois exemplos. Abril de 2006 Infra-estrutura de Chave Pública 15 Exemplo de Invasão 1 • João tem a chave pública de Tati. A chave funciona. Ele é capaz de criar um envelope digital e se comunicar com Tati que é possuidora da chave privada relacionada à chave pública em poder de João. Abril de 2006 Infra-estrutura de Chave Pública 16 Exemplo de Invasão 1 • Mas se Camila, de alguma maneira, invade o computador de João e substitui a chave pública de Tati pela chave pública dela, Abril de 2006 Infra-estrutura de Chave Pública 17 Exemplo de Invasão 1 • quando João enviar o envelope digital, Camila será capaz de interceptá-lo e lê-lo. Tati não será capaz de abri-lo porque ela não tem a chave privada parceira da chave pública utilizada. Abril de 2006 Infra-estrutura de Chave Pública 18 Exemplo de Invasão 2 • Na empresa onde João e Daniel trabalham tem um diretório centralizado que armazena as chaves públicas de todas as pessoas. • Quando Daniel quiser verificar a assinatura de João, ele vai ao diretório e localiza a chave pública de João. Abril de 2006 Infra-estrutura de Chave Pública 19 Exemplo de Invasão 2 • Mas se Camila tiver invadido esse diretório e substituído a chave pública de João pela chave pública dela, • ela (Camila) poderá enviar uma mensagem fraudulenta ao Daniel com uma assinatura digital válida. Abril de 2006 Infra-estrutura de Chave Pública 20 Exemplo de Invasão 2 • Daniel pensará que a mensagem veio de João, porque verificará a assinatura contra o que ele pensa ser, a chave pública de João. Abril de 2006 Infra-estrutura de Chave Pública 21 Certificado Digital • A maneira mais comum de saber se uma chave pública pertence ou não a uma entidade de destino (uma pessoa ou empresa) é por meio de um certificado digital. • Um certificado digital associa um nome a uma chave pública. Abril de 2006 Infra-estrutura de Chave Pública 22 Estrutura Básica de um Certificado Nome Mensagem Chave Pública Certificado Assinatura CA Abril de 2006 Infra-estrutura de Chave Pública 23 Percepção à Fraude • Um certificado é produzido de tal maneira que o torna perceptível se um impostor pegou um certificado existente e substituiu a chave pública ou o nome. • Qualquer pessoa ao examinar esse certificado saberá se está errado. Abril de 2006 Infra-estrutura de Chave Pública 24 Fraude • Talvez o nome ou a chave pública esteja errado; • Portanto, não se pode confiar nesse certificado, ou seja, o par (nome,chave). Abril de 2006 Infra-estrutura de Chave Pública 25 Como tudo funciona • Tati gera um par de chaves: (chave-privada, chave-pública). • Protege a chave privada. • Entra em contato com uma Autoridade de Certificação (CA), solicitando um certificado. Abril de 2006 Infra-estrutura de Chave Pública 26 Como tudo funciona • CA verifica se Tati é a pessoa que diz ser, através de seus documentos pessoais. • Tati usa sua chave privada para assinar a solicitação do certificado. Abril de 2006 Infra-estrutura de Chave Pública 27 Como tudo funciona • CA sabe, então, que Tati tem acesso à chave privada parceira da chave pública apresentada, assim como sabe que a chave pública não foi substituída. Abril de 2006 Infra-estrutura de Chave Pública 28 Como tudo funciona • CA combina o nome Tati com a chave pública em uma mensagem e assina essa mensagem com sua chave privada (de CA). • Tati, agora, tem um certificado e o distribui. Por exemplo, para João. Abril de 2006 Infra-estrutura de Chave Pública 29 • Portanto, quando João coletar a chave pública de Tati, o que ele estará coletando será o certificado dela. • Supondo que Camila tente substituir a chave pública de Tati, pela sua própria chave (troca da chave pública dentro do certificado). Abril de 2006 Infra-estrutura de Chave Pública 30 Como tudo funciona • Ela pode localizar o arquivo da chave pública de Tati no laptop de João e substitui as chaves. Abril de 2006 Infra-estrutura de Chave Pública 31 Como tudo funciona • Mas, João, antes de usar o certificado, utiliza a chave pública de CA para verificar se o certificado é válido. Abril de 2006 Infra-estrutura de Chave Pública 32 Como tudo funciona • Pelo fato da mensagem no certificado ter sido alterada (houve troca da chave pública dentro do certificado), a assinatura não é verificada. Abril de 2006 Infra-estrutura de Chave Pública 33 Como tudo funciona • Portanto, João não criará um envelope digital usando essa chave pública e Camila não será capaz de ler qualquer comunicação privada. Abril de 2006 Infra-estrutura de Chave Pública 34 Como tudo funciona • Esse cenário assume que João tem a chave pública de CA e tem a certeza de que ninguém a substituiu com a chave de um impostor. Abril de 2006 Infra-estrutura de Chave Pública 35 Como tudo funciona • Pelo fato dele, João, poder extrair a chave do certificado fornecido pela CA, ele sabe que tem a verdadeira chave pública de CA. Abril de 2006 Infra-estrutura de Chave Pública 36 Infra-estrutura de Chave Pública • Usuários Finais • Partes Verificadoras: aquelas que verificam a autenticidade de certificados de usuários finais. Abril de 2006 Infra-estrutura de Chave Pública 37 Infra-estrutura de Chave Pública • Para que usuários finais e partes verificadoras utilizem essa tecnologia, chaves públicas devem ser fornecidas uns aos outros. • Problema: uma chave é suscetível de ataque durante o trânsito. Abril de 2006 Infra-estrutura de Chave Pública 38 Infra-estrutura de Chave Pública • Ataque: Se uma terceira parte desconhecida puder substituir uma chave qualquer por uma chave pública válida, o invasor poderá forjar assinaturas digitais e permitir que mensagens criptografadas sejam expostas a partes mal intencionadas. Abril de 2006 Infra-estrutura de Chave Pública 39 Infra-estrutura de Chave Pública • Distribuição manual • Solução apropriada: - certificados de chave pública • Fornecem um método para distribuição de chaves públicas. Abril de 2006 Infra-estrutura de Chave Pública 40 Infra-estrutura de Chave Pública • Um certificado de chave pública (PKC) é um conjunto de dados à prova de falsificação que atesta a associação de uma chave pública a um usuário final. • Para fornecer essa associação, uma autoridade certificadora (CA), confiável, confirma a identidade do usuário. Abril de 2006 Infra-estrutura de Chave Pública 41 Infra-estrutura de Chave Pública • CAs emitem certificados digitais para usuários finais, contendo nome, chave pública e outras informações que os identifiquem. • Após serem assinados digitalmente, esses certificados podem ser transferidos e armazenados. Abril de 2006 Infra-estrutura de Chave Pública 42 Infra-estrutura de Chave Pública • Tecnologia para utilizar PKI: (1) Padrão X.509 (2) Componentes de PKI para criar, distribuir, gerenciar e revogar certificados. Abril de 2006 Infra-estrutura de Chave Pública 43 Certificados de Chave Pública • Um meio seguro de distribuir chaves públicas para as partes verificadoras dentro de uma rede. • • • • Pretty Good Privacy (PGP) SET IPSec X.509 v3 (ITU-1988, 1993, 1995, IETF-RFC2459-1999) Abril de 2006 Infra-estrutura de Chave Pública 44 Estrutura de Certificado X.509 1. 2. 3. 4. Versão Número Serial Identificador do algoritmo de assinatura Nome do Emissor – nome DN da CA que cria e emite. 5. Validade Abril de 2006 Infra-estrutura de Chave Pública 45 Estrutura de Certificado X.509 6. Nome do Sujeito – nome DN da entidade final (usuário ou uma empresa). 7. Informação da Chave Pública do sujeito: (valor da chave, identificador do algoritmo, parâmetros do mesmo) Abril de 2006 Infra-estrutura de Chave Pública 46 Estrutura de Certificado X.509 8. Identificador único do emissor: (não recomendado pela RFC 2459) 9. Identificador único do sujeito: (não recomendado pela RFC2459) Abril de 2006 Infra-estrutura de Chave Pública 47 Estrutura de Certificado X.509 10. Extensões de versões de certificados. Identificador de Chave de Autoridade para qualquer certificado auto-assinado. Identificador de Chave de Sujeito Utilização de chave Abril de 2006 Infra-estrutura de Chave Pública 48 Estrutura de Certificado X.509 Utilização de Chave Estendida: Para uso de aplicativos e protocolos (TLS, SSL, ...), definindo as utilizações da chave pública para servidores de autenticação, autenticação de cliente, registro de data/hora e outros. Abril de 2006 Infra-estrutura de Chave Pública 49 Estrutura de Certificado X.509 Ponto de distribuição de CRL Período de uso de chave privada: (não recomendado pela RFC 2459) Políticas de certificado: Abril de 2006 Infra-estrutura de Chave Pública 50 Estrutura de Certificado X.509 Período de uso de chave privada: (não recomendado pela RFC 2459) Políticas de certificado: Abril de 2006 Infra-estrutura de Chave Pública 51 Estrutura de Certificado X.509 Período de uso de chave privada: (não recomendado pela RFC 2459) Políticas de certificado: Abril de 2006 Infra-estrutura de Chave Pública 52 Estrutura de Certificado X.509 Mapeamentos de políticas: Quando o sujeito de certificado for uma CA. Nome alternativo do sujeito: Permite o suporte dentro de vários aplicativos que empreguem formas próprias de nomes (vários aplicativos de e-mail, EDI, IPSec) Abril de 2006 Infra-estrutura de Chave Pública 53 Estrutura de Certificado X.509 Nome alternativo do emissor (CA): Permite o suporte dentro de vários aplicativos que empreguem formas próprias de nomes (vários aplicativos de e-mail, EDI,IPSec) Abril de 2006 Infra-estrutura de Chave Pública 54 Estrutura de Certificado X.509 Atributos do diretório do sujeito: (não recomendado pela RFC 2459) Restrições básicas: Se o sujeito pode agir como uma CA. Exemplo: Se a Verisign pode permitir que a RSA Inc. atue como uma CA, mas não permitindo que a RSA Inc. crie novas CAs) Abril de 2006 Infra-estrutura de Chave Pública 55 Estrutura de Certificado X.509 Restrições de nomes: Apenas dentro de CAs. Especifica o espaço de nomes de sujeito. Restrições de diretiva: Apenas dentro de CAs. Validação de caminho de política. Abril de 2006 Infra-estrutura de Chave Pública 56 Estrutura de Certificado X.509 11. Assinatura da CA Abril de 2006 Infra-estrutura de Chave Pública 57 Nomes de Entidades • Certificados X.509 v3 concedem flexibilidade para nomes de entidades. • As entidades podem ser identificadas pelas seguintes formas de nomes: - endereço de e-mail - domínio de Internet - e-mail X.400 - nome de diretório X.500 - nome de EDI - URI da Web: URN, URL - endereço IP Abril de 2006 Infra-estrutura de Chave Pública 58 Nomes de Entidades • Em um certificado de chave pública, os nomes de entidades (emissor e sujeito) devem ser únicos. Abril de 2006 Infra-estrutura de Chave Pública 59 Notação e Codificação ASN.1 • Regras de sintaxe e de codificação de dados de certificados X.509. • ASN.1 (Abstract Sintax Notation 1) - descreve a sintaxe de várias estruturas de dados; - fornece tipos primitivos bem-definidos, e um meio único para definir as combinações complexas desses tipos primitivos. Abril de 2006 Infra-estrutura de Chave Pública 60 Notação e Codificação ASN.1 • Regras de codificação para representar os tipos específicos de ASN.1 em strings de 0s e 1s: - Basic Encoding Rules (BER) - Distinguished Encoding Rules (DER) Abril de 2006 Infra-estrutura de Chave Pública 61 Basic Encoding Rules (BER) • Basic Encoding Rules (BER) é um dos formatos de codificação definido como parte do ASN.1 standard especificado pela ITU na norma X.690. • Distinguished Encoding Rules (DER) Componentes PKI 3 Autoridade Certificadora (CA) 2 Servidor de Recuperação de Chave Autoridade Registradora (RA) 1 Usuários Finais Abril de 2006 5 Repositório de Certificados 4 Diretório X.500 6 Usuários Finais Infra-estrutura de Chave Pública 63 Componentes de uma PKI • • • • • • Autoridade Certificadora (CA) Autoridade Registradora (RA) Diretório de Certificado (X.500) Servidor de Recuperação de Chave Protocolos de Gerenciamento Protocolos Operacionais Abril de 2006 Infra-estrutura de Chave Pública 64 Protocolos de Gerenciamento • Comunicação on-line com os usuários finais e o gerenciamento dentro de uma PKI. – Entre RA e um usuário final. – Entre duas CAs. • Funções – – – – – – – Inicialização Registro Certificação Recuperação de chave Atualização de chave Revogação Certificação cruzada Protocolos Operacionais • Permitem a transferência de certificados e das informações de status de revogação, entre diretórios, usuários finais e parte verificadoras. • X.509 não especifica nenhum único protocolo operacional para uso dentro de um domínio de ICP. • Protocolos usados: – – – – HTTP, FTP, e-mail LDAP-LightweightDiretoryAccessProtocol Partes de sistema PKI • Infra-estrutura PKI • Usuário Final / Empresa • Parte Verificadora Abril de 2006 Infra-estrutura de Chave Pública 67 Interação das partes em PKI Infra-estrutura de PKI Informação de Status de Revogação de Certificado LDAP Certificado X.509 Usuário Final ou Empresa Abril de 2006 LDAP, HTTP, FTP, e-mail Infra-estrutura de Chave Pública Parte Verificadora 68 Autoridade Registradora • Autoridade Registradora é também conhecida como AR. • É a entidade responsável por emitir certificados digitais de acordo com as políticas estabelecidas por uma AC (Autoridade Certificadora). Abril de 2006 Infra-estrutura de Chave Pública 69 Autoridade de Registro • Uma Autoridade de Registo, (acrônimo AR), é um dos elementos de uma PKI, ou talvez o mais importante. Autoridades de Registro • Esta é o intermediário entre Autoridade de Certificação (Diretório X.500, Base de Dados de Autenticação) e Cliente (aquele que pede o certificado), caso o último não peça o certificado diretamente à Autoridade de Certificação. Autoridades de Registro • Esta é quem valida a entidade do Cliente, através de auditorias, para ver se o Cliente não se faz passar por quem disse à Autoridade de Registo, e é quem se responzabiliza perante a Autoridade de Certificação pelo cumprimento da CPS (Certification Practice Statement, qualquer coisa como Declaração das Práticas de Certificação). Autoridade Certificadora • Existem Autoridades de Certificação de dois tipos: as Autoridades de Certificação de Raiz (ou Autoridades de Certificação Superiores ou ainda Autoridades de Certificação de Maior Nível), que emitem diretamente os certificados, ... ... Abril de 2006 Infra-estrutura de Chave Pública 73 Autoridade Certificadora • ... ... e as Autoridades de Certificação Intermediárias (ou Autoridades de Certificação Inferiores ou ainda Autoridades de Certificação de Menor Nível), cujos certificados são emitidos indiretamente pelas Autoridades de Certificação Raiz. Autoridades de Certificação • Podemos pensar no caminho entre as Autoridades de Certificação de Raiz e o Cliente como uma ramificação, já que existem as Autoridades de Certificação Raiz, que emitem os certificados para as Autoridades de Certificação Intermediárias, se existirem, até ao Cliente (ou utilizador final) que aplica o certificado. Autoridades de Certificação • Caso o certificado não seja emitido por uma Autoridade de Certificação, este é autoassinado, ou seja, o proprietário ocupa os lugares de Autoridade de Certificação, Autoridade de Registo e Cliente. • Este é o caso quando se utiliza o OpenSSL. Autoridades de Certificação • Exemplos de Autoridades de Certificação de Raiz são a americana VeriSign ou a britânica Equifax. • Exemplos de Autoridades de Certificação Intermediárias são a portuguesa Saphety, a também portuguesa Multicert e a Brasiliera Certisign.