Philosophy

OTES07 Segurança da Informação Módulo 06: Hash, ICP e SSL/TLS

Description
OTES07 Segurança da Informação Módulo 06: Hash, ICP e SSL/TLS Prof. Charles Christian Miers Problema Comunicações em redes de computadores, e principalmente em redes abertas
Categories
Published
of 53
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
OTES07 Segurança da Informação Módulo 06: Hash, ICP e SSL/TLS Prof. Charles Christian Miers Problema Comunicações em redes de computadores, e principalmente em redes abertas como a Internet, trouxeram algumas questões à tona: Necessidade de privacidade, autenticidade e integridade de mensagens Criptografia de chave pública não oferece agilidade em assinaturas digitais Surge a necessidade de se criar mecanismos conhecidos como Digital Timestamping OTES07 - Segurança da Informação 2 Autenticação e Hashing A necessidade de autenticação Funções necessárias para propiciar autenticação: Ciframento Códigos de autenticação (MACs e MDCs) Assinaturas digitais Funções de Hashing com propriedades criptográficas OTES07 - Segurança da Informação 3 A necessidade de autenticação Autenticação (da origem e do conteúdo) de mensagens é um conjunto de técnicas fundamentais para proteção contra: Personificação da autoria de uma mensagem Modificação acidental ou não de uma mensagem Modificação na ordem de uma sequência de mensagens Atraso ou reenvio de mensagens Irretratabilidade da autoria de uma mensagem OTES07 - Segurança da Informação 4 Técnicas para autenticação São quatro as técnicas criptográficas empregadas em autenticação: Ciframento MACs (Message Authentication Codes) MDCs (Manipulation Detection Codes) Assinaturas Digitais Assinaturas digitais são as únicas que proveem proteção contra irretratabilidade OTES07 - Segurança da Informação 5 Classificação das Funções Hash Com chave pública UOWHF Funções Hash Sem chave secreta MDC MAC Message Authentication Code Modification Detection Code OWHF CRHF OTES07 - Segurança da Informação 6 Autenticação com MACs Um MAC (Message Authentication Code) de uma mensagem M é o resultado do cálculo de uma função de mão única C k (M), onde M é a mensagem em questão e k é uma informação secreta, conhecida somente pelas duas partes em comunicação Uma parte envia M e seu MAC A outra parte recalcula o MAC e aceita M se o valor obtido é igual ao MAC recebido OTES07 - Segurança da Informação 7 Autenticação com MACs Exceto pelo fato de que a mensagem passa às claras, a técnica de MACs é parecida com a de ciframento simétrico, para esse fim Na prática, usa-se uma função de Hash com propriedades criptográficas OTES07 - Segurança da Informação 8 Autenticação com MDCs Um MDC (Manipulation Detection Code) de uma mensagem M é o resultado do cálculo de uma função de mão única C (M), onde M é a mensagem em questão Uma parte envia M e seu MDC A outra parte recalcula o MDC e aceita M se o valor obtido é igual ao MDC recebido Além de ser de mão única, a função C( ) deve ser resistente a colisões Esses dois são atributos de funções de Hash, ou resumo criptográfico OTES07 - Segurança da Informação 9 Autenticação com MDCs A técnica vista na transparência anterior não provê autenticação mútua, já que qualquer terceira parte pode produzir o MDC de uma mensagem Há outros usos de funções de resumo criptográfico OTES07 - Segurança da Informação 10 Funções de resumo (Hash) criptográfico Têm propriedades interessantes do ponto de vista criptográfico: Podem ser aplicadas a mensagens de qualquer tamanho A saída é uma cadeia de tamanho fixo h(m) é fácil de calcular e muito difícil de inverter Tem resistência a colisões, forte e fraca OTES07 - Segurança da Informação 11 Funções de resumo criptográfico populares Três funções de maior popularidade: MD5 (RFC 1321): desenvolvida por Ron Rivest (do RSA) Produz uma saída de tamanho fixo, de 128 bits, a partir de entradas de tamanho arbitrário Quebrada em 2007 SHA-1 (FIPS PUB 180-1): desenvolvida pelo NIST Produz saídas de 160 bits a partir de entradas de tamanho arbitrário Em declínio RIPEMD-160: projeto europeu, saída de 160 bits, pouco usado no Brasil OTES07 - Segurança da Informação 12 Função Hash Origem: Surgiu na Ciência da Computação Função que comprime uma string de tamanho arbitrário em uma de tamanho fixo Também chamada de Função de Espalhamento Definição: Uma Função Hash é uma função h: {0,1}* {0,1} n, para algum n 1 Valor Hash ou resumo da mensagem OTES07 - Segurança da Informação 13 Função Hash Criptográfica Requisitos para o uso em Criptografia: (1) Fácil de calcular o valor Hash; (2) Resistência à 1ª inversão, ou seja, é computacionalmente inviável, dado y, encontrar x tal que h(x) = y; (3) Resistência à 2ª inversão, ou seja, é computacionalmente inviável, dado x 1, encontrar x 2 x 1 tal que h(x 1 ) = h(x 2 ); (4) Resistência a colisões, ou seja, é computacionalmente inviável, encontrar quaisquer x 1 e x 2 tais que h(x 1 ) = h(x 2 ). Note que: (2) / (3) e (3) / (2) (2) / (4) e (4) / (2) (3) / (4), mas (4) (3) OTES07 - Segurança da Informação 14 Outras Aplicações Integridade de dados: Valor Hash computado previamente, usando MDC Para verificar alteração: recalcular e comparar o valor Hash atual com o anterior Útil para distribuição de software e proteção de vírus Digital Timestamping: Data e hora de criação/assinatura do documento entram no cálculo do valor Hash Útil para proteção de propriedade intelectual Proteção de senhas: O valor Hash é armazenado, ao invés da senha Autenticação de mensagens: O valor Hash é usado como autenticador Pode ser realizada junto com criptografia ou usando MAC s OTES07 - Segurança da Informação 15 Construção genérica Entrada é dividida em blocos de tamanhos iguais Em seguida, é feita uma anexação ao final da entrada O cálculo do valor Hash h(x) é feito da seguinte maneira: Exemplo com t = 3: H 0 = IV, H i+1 = f(h i,x i ) para 0 i t, h(x) = g(h t ). OTES07 - Segurança da Informação 16 Comparação entre MD5 e SHA Pertencem a mesma família de Funções Hash: MDxclass MD5 é mais vulnerável a ataques de força bruta devido a sua menor saída: 128 bits contra 160 bits do SHA O MD5 é mais rápido que o SHA, pois este último possui mais etapas em seu algoritmo (80 contra 64 do MD5) e um buffer maior (160 bits contra 128 bits do MD5) Já foram encontradas colisões para a função de compressão do MD5, enquanto que o SHA permanece seguro MD5 é considerado obsoleto e inseguro desde 2007 OTES07 - Segurança da Informação 17 Hash para Garantia de Integridade MAC - Função Hash com chave Na verdade, MD5 e SHA1são MACs, mas a chave é usada e conhecida por todos, portanto funciona como se não houvesse chave, garantindo apenas a integridade OTES07 - Segurança da Informação 18 Assinatura digital É uma técnica de autenticação que também inclui medidas para conter a irretratabilidade tanto pela origem quanto pelo destino OTES07 - Segurança da Informação 19 Assinatura Digital Transferência de modelos de negócios do mundo real para o mundo virtual. Exemplos: Um grande Banco deseja assinar contratos de câmbio digitalmente para reduzir custos e tempo Uma indústria deseja dar validade legal a documentos trocados via em negociações com clientes e fornecedores Uma seguradora deseja vender seguros de vida e saúde via Internet, mas para isso necessita que a declaração de saúde do solicitante seja assinada digitalmente OTES07 - Segurança da Informação 20 Implementação da Assinatura Digital ABFC01 FE012A0 2C897C D012DF 4 Algoritmo de Hashing Resumo F18901B Algoritmo de Cripografia ASSINATURA DIGITAL ABFC01 FE012A0 2C897C D012DF 4 Mensagem com Assinatura Digital MENSAGEM aberta ASSINATURA cifrada OTES07 - Segurança da Informação 21 Geração e Validação das Assinaturas TRANSMISSOR RECEPTOR xxxx yyyy zzzz xxxx yyyy zzzz Resumo Algoritmo de Hashing Rede Algoritmo de Hashing COMPARAÇÃO Resumo Assinatura Digital Assinatura Digital Resumo 1B2A37... Cifrado com a chave privada Decifrado com a chave pública 22 Relacionamento: Algoritmos x Aplicações Algoritmos de Criptografia Funções de Hash IDEA RSA/ ECC DES/ AES MD5 SHA-1 X.509 PGP PEM SNMPv2 KERBEROS DSS Correio Eletrônico Gerenciamento de Redes Autenticação Aplicações OTES07 - Segurança da Informação 23 Infraestrutura de Chave Pública (ICP) Também conhecido como PKI (Public Key Infrastructure) Consiste de: Uma entidade certificadora digital, que emite e verifica os certificados Uma autoridade de registro, que age como um verificador para a certificadora, antes de o certificado ser emitido Um ou mais diretórios onde as chaves públicas são mantidas Um sistema de gerenciamento de certificados Os certificados digitais devem funcionar como seus equivalentes do mundo offline, as firmas reconhecidas em cartórios OTES07 - Segurança da Informação 24 Certificados Eletrônicos São declarações, de um ente certificante, acerca da titularidade das chaves de uma outra pessoa, que está sendo certificada Esse ente é também conhecido como terceiro de confiança (Autoridade Certificadora) Contém: Chave pública da pessoa certificada Dados pessoais que a identificam, que devem ter sido conferidos pelo ente certificante ao expedir o certificado Assinatura digital do certificado OTES07 - Segurança da Informação 25 Autoridade Certificadora Autoridade Certificadora (Verisign, Certisign, Etc.) Certificado X509 C.A. (Certification Authority) CHAVE PRIVADA I.D. do Proprietário I.D. da CA Assinatura Digital Chave pública (e.g., Banco do Brasil) Banco do Brasil S.A. Brasilia, DF, Brasil Verisign, Inc. OTES07 - Segurança da Informação 26 Estratégias de Certificação VERISIGN: I.D. do Proprietário I.D. da Autoridade Certificadora Assinatura Eletrônica Off-line On-line Base de chaves O software que recebe o certificado (por exemplo, o navegador) deve possuir a chave pública da autoridade certificadora OTES07 - Segurança da Informação 27 Tipos de Certificados Digitais Podem existir várias categorias, dependendo do que cada ICP faz. Categorias mais comuns: Certificados pessoais: são usados, em geral, por usuários finais e consumidores em aplicações como navegadores e programas de correio eletrônico e são diferenciados pelo nível de garantia que podem oferecer a respeito da identidade de uma pessoa. Certificados de servidores na Web: esses certificados são usados para garantir a identidade e a posse de um domínio, além da criptografia da comunicação entre um servidor Web e os visitantes do site, criando um canal seguro e confidencial entre as partes OTES07 - Segurança da Informação 28 Formato do Certificado Versão Número Serial Algoritmo de Assinatura CA Emitente Período de Validade Nome Único (X.500) Do Proprietário Algoritmo de identificação da chave pública Chave pública Identificador do Emitente Identificador do Proprietário Extensão Assinatura Digital da CA O padrão X.509 especifica uma sequência campos obrigatórios nos certificados e contempla a possibilidade de extensões para atender necessidades específicas OTES07 - Segurança da Informação 29 Componentes de uma ICP ICP é uma combinação de produtos de hardware e software, procedimentos e políticas de segurança Fornece a segurança necessária para comércio eletrônico onde parceiros que não se conhecem podem trocar informações de modo seguro através de cadeias de credibilidade Utiliza certificados digitais que vinculam o usuário a uma chave pública OTES07 - Segurança da Informação 30 Elementos de uma ICP Uma ICP consiste de: Autoridades Certificadoras Autoridades de Registro Diretórios Aplicações que contemplam características ICP Políticas & Procedimentos OTES07 - Segurança da Informação 31 ICP: Ciclo de Vida de um Certificado Revogar Certificado Emitir Certificado Diretório CA Expirar o Certificado RA Gerar Certificado Usuário Armazenar o Certificado Aplicação OTES07 - Segurança da Informação 32 ICP: Autoridade Certificadora Também conhecida como CA (Certification Authority) Diretório A CA é a base de credibilidade da ICP e administra o ciclo de vida dos certificados: A CA emite certificados associando uma identificação única a uma chave pública Programa data de expiração para certificados Publica Relações de Certificados Revogados (CRLs) Uma empresa pode operar sua própria CA ou usar os serviços de uma terceira parte confiável RA Usuário CA OTES07 - Segurança da Informação 33 ICP: Autoridade de Registro Também conhecida com RA (Register Authority) Interface entre a CA e o usuário Identifica o usuário para a CA A qualidade do processo de autenticação determina o nível de credibilidade que pode ser atribuído a um certificado Mantém registros dos usuários Diretório CA RA Usuário OTES07 - Segurança da Informação 34 ICP: Diretório Ponto de distribuição para certificados e relações de certificados revogados Distribuídos em redes Padrão X.500 Podem armazenar outras informações Diretório CA RA Usuário OTES07 - Segurança da Informação 35 Aplicações Comunicações entre servidores web e navegadores Correio eletrônico ( ) Electronic Data Interchange (EDI) Transações de cartões de crédito na Internet Redes Virtuais Privadas (VPN Virtual Private Network) Diretório RA CA Usuário OTES07 - Segurança da Informação 36 Processo de Registro de Certificados CA divulga o certificado em um diretório RA verifica as informações e solicita a emissão do certificado CA Diretório CA emite o certificado e o remete para o RA O RA envia o certificado para o usuário RA A informação do usuário e a Chave Pública são enviados para o RA Usuário O usuário gera um par de chaves e solicita um certificado 37 Transação Comercial com Certificados CA CA divulga o certificado em um diretório Diretório Lojista Usuário Transações Comerciais via Internet O lojista pode Verificar: Detalhes do certificado Relações de revogação Validade dos certificados Assinaturas Decifrar dados A relação de credibilidade entre lojistas e usuários com certificados é endossada por uma Autoridade Certificadora 38 Legislação Brasil: A instrução normativa da SRF nº 156, de 22/Dez/1999 instituiu os Certificados Eletrônicos e-cpf e e-cnpj Decreto nº de 13/Jun/2000 criou a Política de Segurança da Informação nos órgãos e entidades da administração Pública Federal EUA - A Lei das Assinaturas Digitais (US Digital Signature Law) vigora desde 01/Out/2000 Irlanda - Digital Signature Law efetiva a partir de 07/Out/2000 OTES07 - Segurança da Informação 39 Como a criptografia pode ser implementada? Aplicações Protocolo de Aplicação FTP, SMTP, HTTP, Telnet, SNMP, etc. TCP, UDP IP, ARP, RARP, ICMP, IGMP Seqüência de empacotamento transporte rede aplicação Tecnologia heterogênea Camada Enlace Ethernet, Token Ring, FDDI, etc Física enlace física OTES07 - Segurança da Informação 40 Como a criptografia pode ser implementada? HTTP FTP SMTP TCP IP/IPSec Nível de Rede S/MIME PGP SET Kerberos SMTP HTTP UDP TCP IP Nível de Aplicação HTTP FTP SMTP SSL ou TSL TCP IP Nível de Transporte OTES07 - Segurança da Informação 41 SSL e TLS SSL: Secure Socket Layer Definido pela Netscape Versão atual: 3.0 (Novembro de 1995) TLS: Transport Layer Security Definido pelo IETF Versão atual: 1.0 RFC 2246 (Janeiro de 1999) O TLS 1.0 é baseado no SSL 3.0, mas eles possuem diferenças que os tornam incompatíveis OTES07 - Segurança da Informação 42 SSL: Arquitetura HTTP POP TELNET HTTPs POPs TELNETs Sockets SSL TCP/IP OTES07 - Segurança da Informação 43 SSL (Cont.) Exemplo: HTTPS HTTP SOCKS SOCKS CLIENTE SERVIDOR SSL 1023 HTTPS 443 SSL X Recurso Protegido Recurso Não Protegido OTES07 - Segurança da Informação 44 TLS O TLS define dois sub-protocolos: TLS Record Protocol Utilizado para encapsular os protocolos das camadas superiores TLS Handshake Protocol Utilizado para negociar o algoritmo e as chaves de criptografia antes que o primeiro byte da comunicação segura seja transmitido OTES07 - Segurança da Informação 45 TLS Os objetivos do TLS são: Segurança criptográfica entre dois pontos Interoperabilidade Fabricantes diferentes Extensibilidade Novos algorítmos de criptografia Eficiência: UCP Tráfego de rede OTES07 - Segurança da Informação 46 Funções SSL/TLS O SSL/TLS permite executar duas funções básicas: autenticação entre o cliente e o servidor criptografia na troca de mensagens O servidor se autentica para o cliente (obrigatório) SSL/TLS O cliente se autentica para o servidor (opcional) OTES07 - Segurança da Informação 47 Autenticação do Servidor SSL/TLS permite ao usuário confirmar a identidade do servidor SSL Chave pública do servidor Identificação do Servidor Identificação do CA Assinatura Digital de uma CA OTES07 - Segurança da Informação 48 Autenticação do Cliente SSL permite ao servidor identificar a identidade do cliente SSL Chave pública do Cliente Identificação do Cliente Identificação do CA Assinatura Digital de uma CA OTES07 - Segurança da Informação 49 Criptografia da Comunicação Após a certificação, o SSL/TLS cria uma chave de sessão que garante: Confidencialidade e Proteção contra Tampering (alteração dos dados em transito) (chave secreta aleatória) info (chave secreta aleatória) info OTES07 - Segurança da Informação 50 Funcionamento SSL v3.0 Cliente com navegador Loja na Internet com Servidor Web Seguro 1. Cliente conecta com o Lojista 3. O navegador usa a chave pública da CA para verificar o certificado do lojista 4. O navegador gera uma chave de sessão O navegador usa a chave pública do Lojista para cifrar a chave de sessão e remete junto o seu certificado Lojista envia cópia do seu certificado (e chave pública) para o navegador do cliente, indicando que o SSL3.0 está habilitado 6. O lojista usa a sua chave privada para decifrar a chave de sessão e verifica a assinatura digital do cliente Cliente e Lojista trocam informações cifradas com a chave de sessão OTES07 - Segurança da Informação 52 Leitura Recomendada: Stallings, Willian. Network Security Essentials. 2ª Edição. Editora Prentice-Hall Capítulos 3, 5, 6 e 7 Stallings, William - Cryptography and Network Security: Principles and Practice. 4ª Edição. Prentice-Hall Capítulos 11 a 16 Terada, Routo - Segurança de Dados Criptografia em Redes de Computador. São Paulo. Edgard Blücher OTES07 - Segurança da Informação 53
Search
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks