Criptografia,
Certificados Digitais
SSL
Professor
Edgard Jamhour
2001, Edgard Jamhour
Criptografia Baseada em Chaves
CRIPTOGRAFIA
Texto Aberto
(PlainText)
Texto Fechado
(Ciphertext)
DESCRIPTOGRAFIA
2004, Edgard Jamhour
Criptografia por Chaves
• Princípio: O resultado da criptografia depende de um parâmetro de
entrada, denominado chave.
– Exemplo. Caesar Cipher
• Chave: N = número de letras deslocadas
ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVWXYZABC
Nada de novo
no front.
N=3
Qdgd gh qryr
qr iurqw.
N=4
Rehe hi rszs rs
jvstx.
2004, Edgard Jamhour
Espaço das Chaves (KeySpace)
• Uma chave é um valor específico do espaço de
chaves (keyspace).
– No exemplo anterior:
• KS = 25
• N = 3, é a chave específica.
• Algoritmos Modernos:
– Utilizam chaves binárias
– O espaço de chaves depende do tamanho da chave
• Dois tipos de Algoritmos:
– Simétricos: KS  2tamanho_chave
– Assimétricos: KS << 2tamanho_chave
2004, Edgard Jamhour
Segurança =
Tamanho do Espaço de Chaves
• Exemplo: Algoritmo Simétrico
– chaves de 128 bits: KS = 2128 chaves
• KS = 3,4028 1038 chaves
– Computador: capaz de avaliar
• 1 bilhões de chaves por segundo
• = 3,1536 1016 chaves por ano
• = 31,536 milhões de bilhões chaves por ano
– Testaria todas as chaves em:
• 1,0781 1022 de anos
• = 1,0781 1010 trilhões de anos
• = 10,0781 bilhões de trilhões de anos
2004, Edgard Jamhour
Criptografia Simétrica e Assimétrica
• Dois sistemas de criptografia são usados
atualmente:
– Criptografia Simétrica ou de Chave Secreta
• trabalha com uma única chave.
– Chave secreta ou chave de sessão
– Criptografia Assimétrica ou de Chave Pública
• trabalha com um par de chaves
– Chave pública
– Chave privada
2004, Edgard Jamhour
Chave Secreta (Criptografia Simétrica)
Algoritmo de
Descriptografia
Algoritmo de
Criptografia
Texto
Simples
(plaintext)
Texto
Codificado
(ciphertext)
Chave Secreta
=
Texto
Simples
(plaintext)
Chave Secreta
2004, Edgard Jamhour
DES – Data Encryption Standard
• Um dos algoritmo de chave secreta mais difundido
é o DES.
– Originalmente Desenvolvido pela IBM.
– Este algoritmo é padronizado pela ANSI, e foi adotado
como algoritmo oficial pelo governo americano.
• DES criptografia blocos de 64 bits com chaves de
56 bits.
– DES utiliza técnicas baseadas em permutação
sucessiva de bits.
2004, Edgard Jamhour
Modos de Operação
• O DES possui vários modos de operação,
dependendo da maneira como os blocos de 64
bits de uma mesma mensagem são
criptografados.
• Alguns exemplos são:
– ECB: Electronic Codebook Mode
– CBC: Cipher Block Chaining
2004, Edgard Jamhour
MODO ECB
• O Modo ECB divide a mensagem em blocos de 64
bits, e criptografa cada bloco de maneira
independente.
DADOS
BLOCO 64 bits
BLOCO 64 bits
BLOCO 64 bits
CRIPTOGRAFIA
CRIPTOGRAFIA
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
BLOCO 64 bits
(cipher text)
BLOCO 64 bits
(cipher text)
2004, Edgard Jamhour
MODO CBC
• O Metodo CBC torna a criptografia de um bloco
dependente do bloco anterior.
DADOS
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
BLOCO 64 bits
XOR
BLOCO 64 bits
XOR
CRIPTOGRAFIA
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
BLOCO 64 bits
(cipher text)
2004, Edgard Jamhour
Chave Pública = CRIPTOGRAFIA ASSIMÉTRICA
• Sistema de Criptografia Assimétrico
– Utiliza um par de chaves.
– Uma chave publica para criptografar a mensagem.
– Uma chave privada para descriptografar a mensagem.
• A chave pública não é secreta.
• A chave privada é secreta.
• A chave pública deve ser distribuída para os
usuário que desejarem enviar uma mensagem
com segurança.
2004, Edgard Jamhour
Chave Pública (Criptografia Assimétrica)
Algoritmo de
Criptografia
Texto
Simples
(plaintext)
Algoritmo de
Decriptografia
Texto
Codificado
(ciphertext)
Chave Pública

Texto
Simples
(plaintext)
Chave Privada
2004, Edgard Jamhour
Chave Pública e Chave Secreta
Receptor
(servidor)
Transmissor
(cliente)
2
COMUNICAÇÃO
Chave pública SEGURA
(chave secreta
aleatória)
1
Chave privada
(chave secreta
aleatória)
4
3
2004, Edgard Jamhour
RSA (Rivest, Shamir, Adleman)
• Sejam p, q e e números primos (> 512 bits).
Calcula-se:
– n = p.q e ed = 1 mod (p-1)(q-1)
• As chaves são definidas da seguinte maneira:
– Chave pública: (n,e) e Chave privada: d
• Para criptografar uma mensagem “m” efetua-se a
operação:
– s = me mod n
• Para decriptografar, efetua-se a operação:
– m = sd mod n
2004, Edgard Jamhour
RSA
• O algoritmo RSA é muito mais lento que o DES,
pois os cálculos efetuados são complexos.
• Por utilizar números primos, o RSA precisa de
chaves muito grandes para reproduzir o mesmo
grau de segurança do DES.
– Espaço de Chaves <<< 2tamanho_chave
• As chaves em RSA são em geral da ordem de
1024 bits.
2004, Edgard Jamhour
Assinatura Digital com Chave Pública
Mensagem
Algoritmo
de assinatura
digital
Assinatura
digital
isto é
segredo
Chave privada
• Permite ao receptor verificar a integridade da
mensagem:
– O conteúdo não foi alterado durante a transmissão.
– O transmissor é quem ele diz ser.
2004, Edgard Jamhour
Implementação da Assinatura Digital
ABFC01
FE012A0
2C897C
D012DF
41
ABFC01
FE012A0
2C897C
D012DF
41
Algoritmo
de
Hashing
DIGEST
Algoritmo de
Cripografia
ASSINATURA
DIGITAL
F18901B
Mensagem
com
Assinatura
Digital
MENSAGEM
aberta
ASSINATURA
criptografada
2004, Edgard Jamhour
Geração e Validação das Assinaturas
RECEPTOR
TRANSMISSOR
xxxx
yyyy
zzzz
xxxx
yyyy
zzzz
Algoritmo
de
Hashing
Algoritmo
de
Hashing
DIGEST
1B2A37...
DIGEST
Rede
Assinatura
Digital
Criptografia com
chave privada
COMPARAÇÃO
Assinatura
Digital
DIGEST
Decriptografia
com chave
pública
2004, Edgard Jamhour
Verificação da Integridade da Mensagem
Transmissor
(A)
Receptor
(B)
MENSAGEM
CHAVE PRIVADA DE A
ASSINATURA
DIGITAL
CHAVE PÚBLICA DE A
O receptor precisa ter a chave
pública do transmissor para verificar
a assinatura.
2004, Edgard Jamhour
Autoridade Certificadora
Autoridade
Certificadora
(Verisign,
Certisign,
Etc.)
C.A.
(Certification
Authority)
CHAVE
PRIVADA
Certificado X509
I.D. do
Proprietário
I.D. da
CA
Assinatura
Digital
Chave públicawww.bancodobrasil.com.br
(e.g., Banco www.verisign.com
do Brasil)
Banco do Brasil
S.A. Inc.
Verisign,
Brasilia, DF, Brasil
2004, Edgard Jamhour
Estratégias de Certificação
VERISIGN: www.verisign.com
I.D. do
Proprietário
Off-line
I.D. da
Autoridade
Certificadora
Assinatura
Eletrônica
On-line
Base
de
chaves
www.bancodobrasil.com.br
• O software que recebe o certificado (por exemplo, o
browser) deve possuir a chave pública da autoridade
certificadora.
2004, Edgard Jamhour
PKI (Public Key Infrastructure)
• O termo PKI (Infraestrutura de chave pública) é utilizado para
descrever o conjunto de elementos necessários para implementar um
mecanismo de certificação por chave pública.
certificados
EMPRESA
A
CA
(Autoridade
Certificadora)
certificados
EMPRESA
B
2004, Edgard Jamhour
Como a criptografia pode ser
implementada?
Aplicações
Protolco de
Aplicação
FTP, SMTP, HTTP,
Telnet, SNM, etc.
Seqüência de
empacotamento
aplicação
TCP, UDP
transporte
rede
IP
Tecnologia
heterogênea
Data Link
Ethernet, Token
Ring, FDDI, etc
Física
enlace
física
2004, Edgard Jamhour
SSL
• SSL: Secure Sockets Layer
HTTP
POP
TELNET
HTTPs
POPs
TELNETs
80
110
23
443
995
992
Sockets
SSL
TCP/IP
2004, Edgard Jamhour
Exemplo: HTTPS
HTTP
SOCKS
>1023
80
SOCKS
SERVIDOR
CLIENTE
HTTPS
SSL
>1023
443
SSL
X
Recurso
Protegido
Recurso
Não
Protegido
2004, Edgard Jamhour
SSL e TLS
• SSL: Secure Socket Layer
– Definido pela Netscape
– Versão atual: 3.0
• 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.
2004, Edgard Jamhour
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 algorítmo e as chaves de criptografia
antes que o primeiro byte da comunicação segura seja
transmitido.
2004, Edgard Jamhour
SSL/TLS
2004, Edgard Jamhour
SSL Record Protocol
2004, Edgard Jamhour
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:
• CPU
• Tráfego de rede.
2004, Edgard Jamhour
Secure Socket Layer (SSL) e
Transport Layer Security (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 (opctional)
2004, Edgard Jamhour
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
2004, Edgard Jamhour
Certificados de Servidor
2004, Edgard Jamhour
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
2004, Edgard Jamhour
Certificados de Cliente
2004, Edgard Jamhour
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
2004, Edgard Jamhour
TLS Handshake
2004, Edgard Jamhour
Algoritmos Padronizados para SSL/TLS
• Strongest cipher suite.
– Triple DES (168-bit encryption com autenticação)
• Strong cipher suites
– RC4, criptografia de 128-bits (utiliza o MD5 para
autenticação)
• é o mais rápido da categoria
– RC2, criptografia de 128-bits (utiliza o MD5 para
autenticação)
– DES, que suporta criptografia de 56-bits (utiliza o
SHA-1 para autenticação).
2004, Edgard Jamhour
Conclusão
• Algoritmos modernos são baseados no conceito
de chaves.
• Algoritmos assimétricos são lentos e
unidirecionais.
• Algoritmos simétricos são rápidos e bidirecionais.
• SSL é um mecanismo para negociação de
algoritmos e chaves de criptografia.
• SSL é implementado nas aplicações através de
uma biblioteca de sockets estendida.
2004, Edgard Jamhour
Download

Criptografia, Certificados Digitais e SSL