Hash, Assinatura e Certificado Digital Assinatura Digital Para atender todos os requisitos de segurança, uma assinatura digital deve ter as seguintes propriedades: Autenticidade: o receptor deve poder confirmar que a assinatura foi feita pelo emissor; Integridade: qualquer alteração da mensagem faz com que a assinatura não corresponda mais ao documento; Não repúdio: o emissor não pode negar a autenticidade da mensagem. Assinatura Digital Como visto anteriormente, com algoritmos de chave pública é possível garantir sigilo e autenticidade a mensagem. Assinatura Digital Todavia, sabemos que o sistema de “assinatura digital simples” por meio de criptografia assimétrica apresenta alguns problemas: É lento Não é eficaz para garantir a integridade do documento Por este motivo a assinatura digital foi implementada por meio da função resumo ou hash. Funções de Hash Uma função de hash gera uma cadeia de caracteres de tamanho fixo a partir de uma sequência de qualquer tamanho. Uma função hash é uma equação matemática que a partir de um texto cria um código chamado message digest (resumo de mensagem). Funções de Hash O resumo criptográfico é o resultado retornado por uma função de hash. Este pode ser comparado a uma impressão digital, pois cada documento possui um valor único de resumo e até mesmo uma pequena alteração no documento, como a inserção de um espaço em branco, resulta em um resumo completamente diferente. É quase impossível achar duas mensagem que resultam no mesmo hash. Se mudar apenas um bit da mensagem original, o valor de hash muda completamente Funções de Hash Alguns exemplos conhecidos de funções hash: MD4 e MD5: desenvolvida por Ron Rivest (do RSA). Produz uma saída de tamanho fixo, de 128 bits, a partir de entradas de tamanho arbitrário. SHA-1: desenvolvida pelo NIST. Produz saídas de 160 bits a partir de entradas de tamanho arbitrário. Em uso crescente. RIPEMD-160: projeto europeu, saída de 160 bits, pouco usada entre nós. Exemplo Mensagem 1: Daniel, eu vendi 4 prensas para Satomi. Envie imediatamente. (60 bytes) Resumo SHA-1: 46 73 a5 85 89 ba 86 58 44 ac 5b e8 48 7a cd 12 63 f8 cl 5a (20 bytes) Exemplo Mensagem 2: Daniel, eu vendi 5 prensas para Satomi. Envie imediatamente. (60 bytes) Resumo SHA-1: 2c db 78 38 87 7e d3 le 29 18 49 a0 61 b7 41 81 3c b6 90 7a (20 bytes) Assinatura Digital A vantagem da utilização de resumos criptográficos no processo de autenticação é o aumento de desempenho, pois os algoritmos de criptografia assimétrica são muito lentos. A submissão de resumos criptográficos ao processo de cifragem com a chave privada reduz o tempo de operação para gerar uma assinatura por serem os resumos, em geral, muito menores que o documento em si. Assim, consomem um tempo baixo e uniforme, independente do tamanho do documento a ser assinado Assinatura Digital Neste processo o documento não sofre qualquer modificação e é enviado “no original, juntamente com a assinatura para o seu destinatário. Alice Assinatura Digital Para comprovar uma assinatura digital descriptografa-se a assinatura digital do documento com a chave pública do emissor para encontrar o hash do documento, que é comparado com outro hash realizado a partir do proprio documento recebido. Se forem iguais, a assinatura está correta, o que significa que foi gerada pela chave privada corresponde à chave pública utilizada na verificação e que o documento está íntegro. Caso sejam diferentes, a assinatura está incorreta, o que significa que pode ter havido alterações no documento ou na assinatura pública Chave Pública de Alice Bob Certificado Digital Um outro possível problema da criptografia assimétrica reside na distribuição da chave pública. Isto porque um intruso pode gerar uma chave pública em nome de outro membro da comunicação, de tal modo que, tendo a chave privada correspondente, somente ele será capaz de abrir esta mensagem. Chave Pública de Bob Oi, eu sou Bob. Tenho uma chave privada. Mande mensagem em sigilo para mim coma minha chave pública. Certificado Digital Em outras palavras, emitindo a chave pública em nome de um terceiro, um intruso poderia se passar por ele e interceptar as informações. Vale observar que deste modo, estaríamos criptografando uma mensagem com uma falsa chave pública e, na verdade, entregando sim todos os dados de forma sigilosa, mas para o destinatário errado. Certificado Digital É vital portanto saber com certeza que a chave pública que você está usando para cifrar informações é de fato a chave pública do pretenso destinatário e não uma falsificação. Para resolver este problema, os certificados digitais estabelecem se uma chave pública pertence realmente ao suposto dono Certificado Digital O Certificado Digital é um documento eletrônico, assinado digitalmente por uma terceira parte confiável (Autoridade Certificadora), que identifica uma pessoa, seja ela física ou jurídica, associando-a a uma chave pública. Certificado Digital Um Certificado Digital normalmente apresenta as seguintes informações: Nome da pessoa ou entidade a ser associada à chave pública. Período de validade do certificado. Chave pública Nome e assinatura digital da entidade (AC) que emitiu o certificado Certificado Digital O que é Autoridade Certificadora (AC)? Autoridade Certificadora (AC) é a entidade responsável por emitir certificados digitais. Estes certificados podem ser emitidos para diversos tipos de entidades, tais como: pessoa, computador, departamento de uma instituição, instituição, etc. Os certificados digitais são assinados digitalmente por uma AC . Para verificação desta assinatura a AC distribui amplamente a sua chave pública. Graças à sua idoneidade, a AC é normalmente reconhecida por todos como confiável, fazendo o papel de "Cartório Eletrônico". Certificado Digital Existem inúmeras ACs espalhadas pelo mundo e fica inviável ter a chave pública de cada uma. Então foi criada uma Infra-estrutura de Chaves Públicas (PKI em inglês), no qual as autoridades certificadores funcionam por meio de um esquema de confiança hierárquico Deste modo as AC de mais alta hierarquia emitem e garantem o certificado para as de menor hierarquia, que emitem outros certificados para outras ACs, pessoas, órgãos, etc. Infra-estrutura de Chaves Públicas O mecanismo de certificação digital, em certo aspecto é semelhante a autenticação conferida a um cidadão por um órgão do Ministério da Justiça, por exemplo. Vale lembrar porem que qualquer empresa pode criar e distribuir uma infra-estrutura de certificados, de tal modo que a seu reconhecimento legal esta vinculado portanto, a AC emissora do certificado. Infra-estrutura de Chaves Públicas No Brasil, a ICP-Brasil controla seis ACs: a Presidência da República, a Receita Federal, o SERPRO, a Caixa Econômica Federal, a Serasa e a CertiSign. * Vídeo ICP Brasil A VeriSign - Líder mundial em Certificação Digital – Certificado com criptografia de até 1024 bits – Utilizado por sites de comércio eletrônico, bancos, instituições financeiras e órgãos do governo, etc. – Possibilita 50 bilhões de consultas diárias confiáveis – Reconhecido por 99,9% dos navegadores, dispositivos móveis e celulares. – Garantia de US$ 100.000,00 contra emissão indevida do Certificado Digital. A CertiSign – No Brasil, a CertiSign é a afiliada exclusiva da VeriSign – Fundada em 1996, é a maior empresa brasileira em soluções de certificação Digital. – Responsável pela cadeia de certificados da ICP-Brasil – Fornece Certificados Digitais para: • Servidores Web: para autenticação de sites • Pessoa Jurídica: e-CNPJ, NF-e • Pessoa Física: e-CPF • Outros: WinLogon Certisign, e-DOC, e-mail seguro, etc… ICP-Brasil Qualquer pessoa, órgão ou empresa pode criar sua própria cadeia de certificação. Porém, os documentos assinados com processo de certificação da ICP- Brasil possuem presunção de validade jurídica; As instalações e procedimentos das entidades credenciadas possuem nível de segurança física, lógica, de pessoal e procedimental em padrões internacionais; As entidades componentes da ICP-Brasil são obrigadas a declarar em repositório público as práticas de segurança utilizadas em todos os seus processos; As entidades estão sujeitas a auditoria prévia ao credenciamento e anualmente, para manter-se credenciadas; Os dados relativos aos certificados são mantidos por no mínimo 30 anos, para permitir comprovação e dirimir dúvidas sobre a assinatura de documentos, atendendo legislações específicas de guarda de documentos; ICP-Brasil Uma das principais características da ICP-Brasil é sua estrutura hierárquica. No topo da estrutura encontra-se a Autoridade Certificadora Raiz (AC Raiz) e, abaixo dela, as diversas entidades (ACs de primeiro e segudo nível e Autoridades de Registro). Na ICPBrasil, a AC Raiz é o ITI, que é responsável pelo credenciamento dos demais participantes da cadeia certificadora, pela emissão de seu próprio par de chaves e pela supervisão de todos os processos que envolvem a certificação. ICP-Brasil Para fazer parte da ICP-Brasil, a entidade passa por um processo de credenciamento em que são analisadas sua capacidade jurídica, econômico-financeira, fiscal e técnica. Ela também deve contratar um seguro de responsabilidade civil e realizar auditorias prévias e anuais. Todo esse cuidado visa a garantir a segurança do processo - da identificação dos titulares até a emissão dos certificados. Para ter seu certificado na ICPBrasil, a Autoridade Certificadora paga ao ITI cerca de R$ 500 mil por ano. Certificados Digitais • Quando você acessa um banco pela internet, por exemplo, o próprio site entrega um certificado digital para o usuário. • A autenticidade deste certificado pode ser validada porque ele foi emitido e assinado digitalmente por uma Autoridade Certicadora. • A assinatura deste cerificado pode ser verificada a partir da função hash e da chave pública da AC amplamente divulgada. • Tendo reconhecido um certificado como válido, pode-se extrair dele a chave pública da organização e a partir deste ponto a comunicar-se de forma segura com o destino. Autoridade Certificadora Passo a passo ... Certificado Digital Chave Pública Certificado A1 Certificado A2,A3, A4 Chave Privada Chave Privada Chave Pública Assinado pela ICP Certificado Digital Chave Pública AC Usuário Identidade Garantida Site /Documento Validado Certificados Digitais O certificado digital geralmente é armazenado em sistema de arquivos, mas também a possibilidade de ser armazenada em repositório físico como token, smart-card, neste caso geralmente usados para guardar as chaves privadas de um certificado. Se quiser ver os certificados em instalados em seu computador é só ir, no caso do Internet Explorer, no menu "Ferramentas" e selecione o item "Opções da Internet". Entre as "abas" que iram aparecer clique em "Conteúdo", lá terá um item denominado "Certificados". Ao clicar neste botão, irá aparecer uma tela com várias "abas", estas que destacam o os tipos de certificados. Para obter maiores informações a respeito de um determinado certificado digital, basta selecionar o certificado desejado e, em seguida, clicar em “Exibir”, no canto inferior direito ou efetuar um duplo clique. Certificados Digitais Esse certificado é prova da identidade do site. Quando você verifica o certificado, no campo ‘Emitido para:’ deverá corresponder ao nome do site onde você acredita estar. Certificados Digitais Podemos ver também detalhes do Certificado Digital como a o tipo de Algoritmo de Criptografia utilizado, a validade, a chave pública utilizada.... e até salvar o Certificado. APLICAÇÕES PGP - Pretty Good Privacy O PGP (Muito Boa Privacidade) é um programa de criptografia de chave pública altamente seguro. Nos últimos anos o PGP conquistou milhares de entusiastas em todo o mundo e tornou-se de fato um padrão para a criptografia de correio eletrônico (email) na Internet. O PGP pode, ainda, ser utilizado como um sistema à prova de falsificações de assinaturas digitais permitindo, desta forma, a comprovação de que arquivos ou e-mails não foram modificados. PGP - Pretty Good Privacy O PGP foi originalmente escrito por Philip Zimmermann. PGP - Pretty Good Privacy Sigilo O PGP utiliza um mecanismo de chaves híbrido (simétrica e assimétrica) para garantir o sigilo das comunicações. PGP - Pretty Good Privacy Confidencialidade e Integridade O PGP utiliza um mecanismo de hash e assinatura digital. PGP - Pretty Good Privacy A mensagem final (Alice) Encrypted with session key (Alice/Bob) (Bob) SSL • O SSL ( Secure Sockets Layer) é um protocolo de segurança muito utilizado para codificar os dados trafegados entre o host do usuário e um Website. • Usando criptografia, o SSL previne que os dados trafegados possam ser capturados ou alterados no seu curso entre o Browser do usuário e o Servidor Web. – Isto irá garantir sigilo no tráfego de dados, como números de cartões, senhas, etc SSL • Este protocolo foi desenvolvido pela Netscape, mas atualmente é implementado na maioria dos browsers. • O protocolo SSL é um dos protocolos criptográficos mais utilizados na Internet. • Sua utilização não é uma vantagem competitiva, mas uma necessidade. SSL • O SSL ( Secure Sockets Layer) é um protocolo de segurança muito utilizado para codificar os dados trafegados entre o host do usuário e um Website. SSL • O SSL está situado exatamente abaixo da camada de aplicação, com a responsabilidade de gerenciar um canal de comunicação seguro entre o cliente e o servidor. • Enquanto o TCP tem apenas a função de enviar um fluxo de informações entre dois computadores, o protocolo em camadas SSL adiciona numerosos recursos e esse fluxo de informações. SSL Como identificar um site que utiliza SSL • Quando um usuário se conecta a um servidor que está utilizando o protocolo SSL, na sua barra de endereços, o protocolo passa a ser o https://, no lugar do http:// (padrão). • Aliado a isto, a maioria dos Browsers, como o I.E. mostram uma imagem de um tradicional cadeado. • Assim, as informações fornecidas aquele Website não poderão ser interceptadas durante o trajeto. Responda • Em sala: • Fazer a leitura dos casos de aplicações da criptografia simétrica, assimétrica , assinatura digital e autoridade certificadora. (Kurose) Em casa: • Como funcionam o e-CNPJ e e-CPF? • Quanto custa os principais tipos de Certificados Digitais A1, A2, A3 e A4?