otes07 - segurança da informação · mensagem m é o resultado do cálculo de uma ... criando um...
TRANSCRIPT
OTES07 – Segurança da Informação Módulo 06: Hash, ICP e SSL/TLS
Prof. Charles Christian Mierse-mail: [email protected]
OTES07 - Segurança da Informação 2
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 3
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 4
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 5
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 6
Fun
ções
Has
h
Com chave
Sem chave
pública
secretaMAC
UOWHF
MDC
OWHF
CRHF
Modification Detection Code
Message Authentication Code
Classificação das Funções Classificação das Funções HashHash
OTES07 - Segurança da Informação 7
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 8
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 9
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 10
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 11
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 12
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 13
Uma Função HashFunção Hash é uma função h: {0,1}* → {0,1}n, para algum n ≥ 1
Valor Hash ou resumo da mensagem
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:
OTES07 - Segurança da Informação 14
Requisitos para o uso em Criptografia:
(1) Fácil de calcular o valor Hash;
(2) Resistência à 1ª inversão 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 Resistência à 2ª inversão, ou seja, é computacionalmente inviável, dado x1, encontrar x2 ≠ x1 tal que h(x1) = h(x2);
(4) Resistência a colisões Resistência a colisões, ou seja, é computacionalmente inviável, encontrar quaisquer x1 e x2 tais que h(x1) = h(x2).
Note que:
• (2) ⇒ (3) e (3) ⇒ (2)/ /
• (2) ⇒ (4) e (4) ⇒ (2)/ /
• (3) ⇒ (4), mas (4) ⇒ (3) /
Função Hash Criptográfica
OTES07 - Segurança da Informação 15
Outras AplicaçõesOutras 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 16
Construção genéricaConstruçã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:
H0 = IV,
Hi+1 = f(Hi ,Xi) para 0 ≤ i < t,h(X) = g(Ht). • Exemplo com t = 3:
OTES07 - Segurança da Informação 17
Comparação entre MD5 e SHA
Pertencem a mesma família de Funções Hash: MDx-class
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 18
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 19
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 20
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 e-mail 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 21
Implementação da Assinatura Digital
ABFC01FE012A02C897CD012DF4
Resumo
F18901BF18901B
Algoritmo de
Hashing
ASSINATURA DIGITAL
ABFC01FE012A02C897CD012DF4
Mensagem com
Assinatura
Digital
MENSAGEM
aberta
ASSINATURA
cifrada
Algoritmo de Cripografia
22
Geração e Validação das Assinaturas
xxxxyyyyzzzz
Assinatura Assinatura DigitalDigital
Resumo
1B2A37...Cifrado com a chave privada
Algoritmo Algoritmo de de
HashingHashingRede
ResumoResumo
Decifrado com a chave pública
ResumoResumo
Algoritmo Algoritmo de de
HashingHashing
COMPARAÇÃO
RECEPTORTRANSMISSOR
Assinatura Assinatura DigitalDigital
xxxxyyyyzzzz
OTES07 - Segurança da Informação 23
Relacionamento: Algoritmos x Aplicações
IDEA
KERBEROSPEMPGP
SHA-1MD5DES/AES
RSA/ECC
X.509
SNMPv2 DSS
Aplicações
Correio Eletrônico Gerenciamento de Redes Autenticação
Algoritmos de CriptografiaFunções de Hash
OTES07 - Segurança da Informação 24
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 25
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 26
Autoridade Certificadora
C.A.C.A.((Certification Certification
AuthorityAuthority))
I.D. do Proprietário
Assinatura Digital
Autoridade Certificadora
(Verisign,Certisign,
Etc.)
Chave pública (e.g., Banco do Brasil)
CHAVE PRIVADA
I.D. da CA
Certificado X509
www.bancodobrasil.com.brBanco do Brasil S.A.Brasilia, DF, Brasil
www.verisign.comVerisign, Inc.
OTES07 - Segurança da Informação 27
Estratégias de Certificação
• O software que recebe o certificado (por exemplo, o navegador) deve possuir a chave pública da autoridade certificadora
Basede
chaves
I.D. do Proprietário
Assinatura Eletrônica
I.D. da Autoridade Certificadora
VERISIGN: www.verisign.com
Off-line On-line
www.bancodobrasil.com.brwww.bancodobrasil.com.br
OTES07 - Segurança da Informação 28
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 29
Identificador do Emitente
Versão
Número Serial
Algoritmo de AssinaturaCA Emitente
Período de ValidadeNome Único (X.500)
Do ProprietárioAlgoritmo de identificação
da chave públicaChave pública
Identificador do Proprietário
Extensão
Assinatura Digital da CA
Formato do Certificado
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 30
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
Componentes de uma ICP
OTES07 - Segurança da Informação 31
Uma ICP consiste de: Autoridades Certificadoras Autoridades de Registro Diretórios Aplicações que contemplam características ICP Políticas & Procedimentos
Elementos de uma ICP
OTES07 - Segurança da Informação 32
CA
Usuário
RA
Diretório
EmitirCertificado
GerarCertificado
Expirar oCertificado
Armazenar oCertificado
Aplicação
RevogarCertificado
ICP: Ciclo de Vida de um Certificado
OTES07 - Segurança da Informação 33
CA
RA
Diretório
Usuário
ICP: Autoridade Certificadora
Também conhecida como CA (Certification Authority)
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
OTES07 - Segurança da Informação 34
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áriosCA
RA
Diretório
Usuário
ICP: Autoridade de Registro
OTES07 - Segurança da Informação 35
CA
RA
Diretório
Usuário
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
OTES07 - Segurança da Informação 36
CA
RA
Diretório
Usuário
Aplicações
Comunicações entre servidores web e navegadores Correio eletrônico (e-mail) Electronic Data Interchange (EDI) Transações de cartões de crédito na Internet Redes Virtuais Privadas (VPN – Virtual Private
Network)
37
CA
RAUsuário
Diretório
A informação do usuário e a Chave Pública são enviados para o RA
RA verifica as informações e solicita a emissão do certificado
CA emite o certificado e o remete para o RA
CA divulga o certificado em um diretório
O RA envia o certificado para o usuário
O usuário gera um par de chaves e solicita um certificado
Processo de Registro de Certificados
38
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
Transações Comerciais via Internet
CA
Diretório
Usuário
LojistaCA divulga o certificado em um diretório
Transação Comercial com Certificados
OTES07 - Segurança da Informação 39
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º 3.505 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 40
Como a criptografia pode ser implementada?
Protocolo de Aplicação
FTP, SMTP, HTTP, Telnet, SNMP, etc.
TCP, UDP
Camada EnlaceEthernet, Token Ring, FDDI, etc
IP, ARP, RARP,ICMP, IGMP
Física
Aplicações
Tecnologia heterogênea
aplicação
transporte
rede
enlace
física
Seqüência de empacotamento
OTES07 - Segurança da Informação 41
S/MIMES/MIME
Nível de AplicaçãoNível de Aplicação
HTTPTCP
IP/IPSecIP/IPSecNível de RedeNível de Rede
FTP SMTPPGPPGP SETSET
KerberosKerberos SMTP HTTPUDP TCP
IP
HTTP
Nível de TransporteNível de Transporte
FTP SMTPSSL ou TSLSSL ou TSL
TCPIP
Como a criptografia pode ser implementada?
OTES07 - Segurança da Informação 42
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 43
SSL: Arquitetura
HTTP TELNET
SSLSSL
TCP/IPTCP/IP
POP
8080 110110 2323
HTTPs TELNETsPOPs
443443 995995 992992
SocketsSockets
OTES07 - Segurança da Informação 44
SSL (Cont.)
CLIENTE SERVIDOR
SOCKS
SSL
>1023
>1023
SOCKS
SSL443
80
HTTP
HTTPS
RecursoNão
Protegido
RecursoProtegido
XX
Exemplo: HTTPS
OTES07 - Segurança da Informação 45
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 46
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 47
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
SSL/TLSSSL/TLS
O cliente se autentica para o servidor (opcional)
O servidor se autentica para o cliente (obrigatório)
OTES07 - Segurança da Informação 48
Identificação do CA
Autenticação do Servidor
• SSL/TLS permite ao usuário confirmar a identidade do servidor
SSLSSL
Identificação do Servidor
Chave pública do servidor
Assinatura Digital de uma CA
OTES07 - Segurança da Informação 49
Autenticação do Cliente
• SSL permite ao servidor identificar a identidade do cliente
SSLSSL
Identificação do CA
Identificação do Cliente
Chave pública do Cliente
Assinatura Digital de uma CA
OTES07 - Segurança da Informação 50
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)
infoinfo(chave secreta aleatória)
infoinfo(chave secreta aleatória)
1. Cliente conecta com o Lojista
2. Lojista envia cópia do seu certificado (e chave pública) para o navegador do cliente, indicando que o SSL3.0 está habilitado
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
1. 5. O navegador usa a chave pública do Lojista para cifrar a chave de sessão e remete junto o seu certificado
2.
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
Cliente com navegador
Loja na Internet com Servidor Web Seguro
Funcionamento SSL – v3.0
OTES07 - Segurança da Informação 53
Leitura Recomendada:
Stallings, Willian. Network Security Essentials. 2ª Edição. Editora Prentice-Hall. 2003. Capítulos 3, 5, 6 e 7
Stallings, William - Cryptography and Network Security: Principles and Practice. 4ª Edição. Prentice-Hall. 2005. Capítulos 11 a 16
Terada, Routo - Segurança de Dados Criptografia em Redes de Computador. São Paulo. Edgard Blücher. 2000