2. A Criptografia
A Criptografia moderna se ocupa muito menos de
sigilo do que há trinta anos, quando justificava o
uso da palavra criptografia, de modo básico e em
seu significado de origem.
Origem grega escrita oculta.
Podem ser empregadas para prevenção dos
incidentes de segurança.
3. Criptografia
Aplicações e sistemas que tenham requisitos
como sigilo, autenticação, integridade, não-
repúdio e anonimato, empregam técnicas
criptográficas em algum nível de sua arquitetura.
O sigilo de mensagens, ou de identidades, pode
ser necessário a uma aplicação ou auxiliar a
consecução de outro requisito, como a
autenticação.
4. As técnicas criptográficas para prevenir tais
ataques vêm de duas vertentes, a simétrica e a
assimétrica, usadas isoladamente ou em
conjunto.
5. Autenticação
A autenticação de propriedades de mensagens
(integridade e origem) e de entidades
(identidade) pode ser um fim em si ou pode
ancorar a obtenção de outros fins como o
estabelecimento de uma chave criptográfica.
6. Exemplo
O nosso exemplo de comunicação sugere duas
entidades, Alice e Beto, trocando mensagens
transmitidas num canal inseguro; isto é, um canal
passível de leitura e escrita por um intruso, Ivo.
Os métodos de Ivo podem ser a simples escuta, um
“grampo”, que chamamos de ataque passivo, ou até
a modificação, repetição e injeção de mensagens
com objetivos variados como, por exemplo, passar-se
por Alice ou Beto para obter acesso a serviços não
autorizados; esses são os chamados ataques ativos.
Passivos ou ativos, esses ataques representam
ameaça aos requisitos de segurança.
19. Sistema de Criptografia Simples
Caesar Cipher: usado por Julius Caesar
Substituição de letras pelas letras deslocadas de N.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Nada de novo
no front.
Qdgd gh qryr
qr iurqw.
N = 3
N = 4 Rehe hi rszs rs
jvstx.
20. Espaço das Chaves (KeySpace)
Uma chave é um valor específico do espaço de chaves
(keyspace).
No exemplo anterior:
Keyspace = 25
N = 3, é a chave específica.
Algoritmos modernos:
Chaves binárias: 128, 256, 1024, 2048 bits
Tipos de Criptografia:
Simétrico: Keyspace 2tamanho da chave
Assimétrico: Keyspace 2tamanho da chave
21. Quebra de Criptografia
A quebra da criptografia utilizando força bruta é
inviável para espaço de chaves acima de 2128
Exemplo:
Keyspace=264
Computador: Deep Crack
90 bilhões de chaves por segundo
Tempo para encontrar uma chave: 4 dias e meio
Keyspace = 2128
Computador = 1 trilhão de chaves por segundo
Tempo para testar todas as chaves:
10 milhões de trilhões de anos.
22. Criptografia Simétrica e Assimétrica
Dois sistemas de criptografia são usados
atualmente:
sistemas de chave secreta (secret-key)
Também denominados simétricos
Trabalha com uma única chave, denominada SECRETA.
sistemas de chave pública (public-key)
Também denominado assimétrico
Trabalho com um par de chaves
CHAVE PÚBLICA
CHAVE PRIVADA
24. 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.
O algoritmo é considerado obsoleto:
1998: DES-cracker da Electronic Frontier Foundation (EFF), ao custo
de US$250.000, quebrou o algoritmo em 2 dias.
2008: COPACOBANA RIVYERA (128 Spartan-3 5000's), ao custo de
US$10.000, quebrou o algoritmo em menos de um dia.
25. DES - Estrutura
Uma permutação inicial (IP)
16 rounds de processamento
(função de Feistel –F)
Uma permutação final (FP)
26. Função de Feistel
Opera em meio bloco (32 bits) de cada vez. É
composto de 4 operações:
Expansion : transforma o bloco de 32 bits em 48
duplicando alguns bits.
Key mixing — combina o resultado com uma sub-
chave de 48 bits.
Substitution — divide o bloco em partes de 6-bits e
aplica o (S-Boxes) substitution boxes.
Cada um dos 8 S-boxes substitui uma parte de 6 bits por
outra de 4 bits através de uma operação tabelada.
Permutation — efetua uma permutação nos 32 bits
para espalhar os bits de cada S-box em pelo
menos 4 S-boxes differences para o próximo round.
27. 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
28. MODO ECB
DADOS
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
O Modo ECB divide a mensagem em blocos de 64
bits, e criptografa cada bloco de maneira
independente.
29. MODO CBC
DADOS
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
XOR
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits
(cipher text)
XOR
O Metodo CBC torna a criptografia de um bloco
dependente do bloco anterior.
30. 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 decriptografar 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.
32. 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
33. RSA Algorithm Example
1. Escolher p = 3 e q = 11
2. Calcular n = p * q = 3 * 11 = 33
3. Calcular φ(n) = (p - 1) * (q - 1) = 2 * 10 = 20
4. Escolher e tal que 1 < e < φ(n) e e e n são coprimos.
Seja e = 7
5. Calcular o valor de d tal que (d * e) % φ(n) = 1.
Uma solução possível é d = 3 [(3 * 7) % 20 = 1]
6. A chave pública é (e, n) => (7, 33)
7. A chave privada é (d, n) => (3, 33)
8. A criptografia de m = 2 é c = 27 % 33 = 29
9. A descriptografia de c = 29 é m = 293 % 33 = 2
34. 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.
As chaves em RSA são em geral da ordem de
1024 bits.
35. Assinatura Digital com Chave
Pública
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.
Assinatura
digital
Chave privada
Algoritmo
de assinatura
digital
Mensagem
isto é
segredo
37. Geração e Validação das
Assinaturas
Assinatura
Digital
DIGEST
1B2A37...
Criptografia com
chave privada
Algoritmo
de
Hashing
Rede
Assinatura
Digital
xxxx
yyyy
zzzz
DIGEST
Descriptografia
com chave
pública
DIGEST
Algoritmo
de
Hashing
COMPARAÇÃO
RECEPTORTRANSMISSOR
xxxx
yyyy
zzzz
38. Verificação da Integridade da
Mensagem
Transmissor
(A)
Receptor
(B)
MENSAGEM
ASSINATURA
DIGITAL
CHAVE PRIVADA DE A
CHAVE PÚBLICA DE A
O receptor precisa ter a chave
pública do transmissor para verificar
a assinatura.
39. Autoridade Certificadora
C.A.
(Certification
Authority)
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.br
Banco do Brasil S.A.
Brasilia, DF, Brasil
www.verisign.com
Verisign, Inc.
40. Nomenclatura X509
Um certificado X509 é emitido para um distinguished
name.
DN Field Abbrev. Description Example
Common Name CN Name being certified CN=Joe Average
Organization or
Company
O
Name is associated with this
organization
O=Snake Oil, Ltd.
Organizational Unit OU
Name is associated with this
organization unit, such as a department
OU=Research
Institute
City/Locality L Name is located in this City L=Snake City
State/Province ST Name is located in this State/Province ST=Desert
Country C
Name is located in this Country (ISO
code)
C=XZ
41. Estratégias de Certificação
O software que recebe o certificado (por exemplo, o
browser) deve possuir a chave pública da autoridade
certificadora.
Base
de
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.br
42. 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.
EMPRESA
A
EMPRESA
B
CA
(Autoridade
Certificadora)certificados
certificados
43. Como a criptografia pode ser
implementada?
Protolco de
Aplicação
FTP, SMTP, HTTP,
Telnet, SNM, etc.
TCP, UDP
Data Link
Ethernet, Token
Ring, FDDI, etc
IP
Física
Aplicações
Tecnologia
heterogênea
aplicação
transporte
rede
enlace
física
Seqüência de
empacotamento
44. Bibliografia básica:
KUROSE, James F; ROSS, Keith W. Redes de
computadores e a Internet: uma abordagem top-
down.