otes07 - segurança da informação · mensagem m é o resultado do cálculo de uma ... criando um...

53
OTES07 – Segurança da Informação Módulo 06: Hash, ICP e SSL/TLS Prof. Charles Christian Miers e-mail: [email protected]

Upload: dinhhanh

Post on 13-Dec-2018

213 views

Category:

Documents


0 download

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 52

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