Академический Документы
Профессиональный Документы
Культура Документы
(novembro 2003)
Routo Terada
www.ime.usp.br/~rt
Depto. C. da Computação - USP
Livro: Segurança de Dados, R. Terada, Edit. Blücher, ano 2000,
Segurança de Dados - 2
RT
Resumo
Segurança de Dados - 3
RT
Breve histórico
Segurança de Dados - 4
RT
Cenário geral
provedor provedor
linha de comunicação
Segurança de Dados - 5
RT
ALICE origem destino BETO
linha de comunicação
Segurança de Dados - 6
RT
CIFRA DE CÉSAR
legível A B C D E F G H I J K L M
ilegível D E F G H I J K L M N O P
legível N O P Q R S T U V W X Y Z
ilegível Q R S T U V W X Y Z A B C
3
Chave=3
legível S A T U R N O
ilegível V D W X U Q R
Segurança de Dados - 7
RT
Cifra de César
VDWXUQR
Segurança de Dados - 8
RT
Formalmente tem-se uma função matemática e sua inversa
Canal Seguro
chave Κ chave Κ
ilegível
legível legível
fK(x)=y y f-1K- (y)=x
x x
linha de
comunicação
Alice Beto
Segurança de Dados - 9
RT
ENIGMA – máquina criptográfica alemã (II Guerra Mundial)
Segurança de Dados - 10
RT
ENIGMA e a máquina BOMBE
Segurança de Dados - 11
RT
Pontos importantes
• "insider" - maioria dos crimes eletrônicos
causados por "insiders"
• tecnologicamente, manter um passo à frente
dos criminosos
• só senha - proteção fraca
• insegurança eletrônica é invisível
• muitos crimes não deixam rastros
Segurança de Dados - 12
RT
Ataque de senhas (ATM)
Segurança de Dados - 13
RT
DES
16
Segurança de Dados - 14
RT
DES
Segurança de Dados - 15
RT
DES
Segurança de Dados - 16
RT
DES
Segurança de Dados - 17
RT
DES
3-DES de 3 chaves
NÃO permite assinatura
x inverso y
DES DES DES
K1 K2 K3
| K1 | + | K 2 | + | K 3 |= (3 × 56)bits
Segurança de Dados - 18
RT
Outros algoritmos como o DES:
• IDEA pg 57
• SAFER pg 67
• RC5 pg 71
• RC6 pg 75
• FEAL pg 81
• AES à a seguir
• etc.
Segurança de Dados - 19
RT
AES
Advanced Encryption Standard
128 bits de chave
http://csrc.nist.gov/encryption/aes
Algoritmo Organização
CAST-256 Entrust Technologies, Inc. (Carlisle Adams)
CRYPTON Future Systems, Inc. (Chae Hoon Lim)
DEAL Richard Outerbridge, Lars Knudsen
DFC CNRS - Centre National pour la Recherche Scientifique - Ecole
Normale Superieure (Serge Vaudenay)
E2 NTT - Nippon Telegraph and Telephone Corp. (Masayuki Kanda)
FROG TecApro Internacional S.A. (Dianelos Georgoudis)
HPC Rich Schroeppel
LOKI97 Lawrie Brown, Josef Pieprzyk, Jennifer Seberry
MAGENTA Deutsche Telekom AG (Dr. Klaus Huber)
MARS * IBM (Nevenko Zunic)
RC6 * RSA Laboratories (Burt Kaliski)
RIJNDAEL * Joan Daemen, Vincent Rijmen
SAFER+ Cylink Corporation (Charles Williams)
SERPENT * Ross Anderson, Eli Biham, Lars Knudsen
TWOFISH * Bruce Schneier, John Kelsey, Doug Whiting, David Wagner,
Chris Hall, Niels Ferguson
(*) cinco finalistas na competição (New York -NY, Abril 13-14, 2000)
Segurança de Dados - 20
RT
AES
Segurança de Dados - 21
RT
AES
Segurança de Dados - 22
RT
Inversa: AES
Entrada de Nb words de 32 bits Saída de Nb words de 32 bits
(State) (State)
Soma inicial de State com Roundkey[0] Soma inicial de State com RoundKey[0]
ü Round 1: ü Round 1:
(1) ByteSub(State); (4) inv AddRoundKey(State,RoundKey[1]);
(2) ShiftRow(State); (3) inv MixColumn(State);
(3) MixColumn(State); (2) inv ShiftRow(State);
Nr
(4) AddRoundKey(State,RoundKey[1]); (1) inv ByteSub(State);
ü Round 2: ü Round 2:
(1) ByteSub(State); (4) inv AddRoundKey(State,RoundKey[2]);
(2) ShiftRow(State); (3) inv MixColumn(State);
(3) MixColumn(State); (2) inv ShiftRow(State);
Nr-1
(4) AddRoundKey(State,RoundKey[2]); (1) inv ByteSub(State);
Segurança de Dados - 23
RT
Criptografia de Chave Pública
• Modelo de Diffie e Hellman (Stanford)
• Implementado no MIT por Rivest, Shamir e
Adleman – RSA
• Outras implementações:
Rabin pg 117
El Gamal pg 120
Curvas Elípticas pg 130
MH -- Merkle Hellman pg 142
etc..
Segurança de Dados - 24
RT
Modelo Diffie e Hellman (Stanford) 1976 DH
ALICE BETO
Chave Chave
PB pública SB particular
do Beto
do Beto
Intruso
Segurança de Dados - 26
RT
DH
ALICE BETO
Chave Chave
PB pública SB particular
do Beto
do Beto
Intruso
Conseqüência das duas propriedades:
Só Beto pode “abrir o envelope” pois só ele conhece a chave particular.
Isto é, há garantia de autenticidade do destinatário.
Segurança de Dados - 27
RT
DH
Observação importante:
Beto, por ex., calcula o seu par de chaves, guarda a particular no seu computador
e publica a sua chave na Lista de chaves públicas.
Segurança de Dados - 28
RT
DH
Esquema de Chave Pública
Lista de
Chaves Públicas
de Alice
João
Chave Particular
Pedro de Beto
José
Beto
Texto ilegível
Texto Texto
legível legível
Algoritmo de Algoritmo de
criptografia decriptografia
Segurança de Dados - 29
RT
DH
1234567 difícil
(para quem desconhece a chave particular)
fácil
c3%)?>#
função “armadilha”
Segurança de Dados - 30
RT
DH
ALICE BETO
Chave
Chave
SA PA pública
particular
da
da Alice
Alice
Intruso
Segurança de Dados - 31
RT
DH
ALICE BETO
Chave
Chave
SA PA pública
particular
da
da Alice
Alice
Conseqüência importante:
Beto sabe que só a Alice verdadeira pode ter enviado o envelope pois
ele o abriu com a chave pública da Alice: autenticação do remetente
É análogo a Alice ter “assinado” eletronicamente o envelope.
(observe que senha ou DES não autentica o remetente; por quê?)
Segurança de Dados - 32
RT
Não-repúdio DH
ALICE BETO
Chave
Chave
SA PA pública
particular
da
da Alice
Alice
Segurança de Dados - 33
RT
RSA
Criptografia de chave pública
q, r primos
x p mod n = y y s mod n = x
933mod 55=14 1417mod 55=9
Segurança de Dados - 34
RT
Autenticação do destinatário (Beto)
RSA
n = q × r , mdc[ s, (q − 1)(r − 1)] = 1, s × p = 1 mod[(q − 1)(r − 1)]
provedor provedor
933mod 55=14
provedor provedor
933mod 55=14=y
Segurança de Dados - 36
RT
RSA
difícil
informação 9 para quem desconhece a chave particular 17
chave pública 1417mod 55=9
33 fácil
(mod 55)
933mod 55=14
função “armadilha”
Segurança de Dados - 37
RT
Autenticacação do remetente (Alice)
RSA
97 mod22 = 15
97 mod22 = 15 Assinatura
Segurança de Dados - 39
RT
RSA
info x info x’ ≠ x
Chave
particular
da Alice
assinatura y assinatura y’ ≠y
Exemplo a seguir
Segurança de Dados - 40
RT
Integridade da informação RSA
147 mod22 = 20
Alice usa a chave particular para assinar informação x=14,
distinta de 9, anterior. A assinatura y=20 é distinta de 15,
anterior. Ou seja, quando x muda, y muda correspondentemente,
e então a assinatura garante a integridade da informação x.
Segurança de Dados - 41
RT
RSA
Segurança de Dados - 43
RT
Qualquer seq. de bits
São Paulo, nn de dezembro de 1999. RSA
Prezado Sr. Silva
x Executável, imagem, etc.
A7762BFF9201BDEEB115294A88D
Segurança de Dados - 44
RT
Qualquer seq. de bits
São Paulo, nn de dezembro de 1999. RSA
Prezado Sr. Silva
x
Conforme … autorizo o pagamento de 10 milhões
de reais …
Cordialmente, Hashing(x) Passo 1
Alice Cabral
78E829301FA44BA71228D3753AB2
A7762BFF9201BDEEB115294A88D
Segurança de Dados - 45
RT
RSA
Ataque por replay
ALICE BETO
Falsa
(1) grava Alice (2) replay provedor
provedor
senha senha
linha de comunicação
Segurança de Dados - 46
RT
RSA
Ataque por replay ativo
ALICE BETO
Falsa
Alice
provedor (1) lê (2) altera (3) injeta provedor
Segurança de Dados - 47
RT
RSA
Dicionário de nomes e palavras
Falsa Alice
provedor provedor
senha
Segurança de Dados - 48
RT
RSA
Personificação da autora
ALICE BETO
Falsa Alice
provedor provedor
linha de comunicação
Problema: Falsa Alice envia info para Beto como se fosse a verdadeira.
Solução: Alice assina criptograficamente a informação com a sua chave
particular.
Segurança de Dados - 49
RT
RSA
BETO
ler gravar
Intruso
Segurança de Dados - 50
RT
RSA
PKI - Public Key Infrastructure
Segurança de Dados - 52
RT
RSA
Quebra do Algoritmo RSA Dificuldade de fatoração de n=q.r
14 exponencial
12
10
8
6 Algoritmo NFS para fatoração de inteiro em primos
4
1.92 (ln n )1 / 3 (ln n ) 2 / 3
2 e
01 2 3 4 5 6
n
Em geral:
1. Cripto de chave secreta não permite assinatura criptográfica
2. Cripto de chave pública é dezenas de vezes mais lento
Segurança de Dados - 55
RT
PGP – Pretty Good Privacy (Phil Zimmermann) PGP
Sistema híbrido
inv
x AES y y AES x
K K’ K’ inv K
RSA
RSA
Chave pública do Beto
Chave particular do Beto
Alice Beto
1. Chave K é gerada p/ Alice
2. x é criptografado por IDEA, com K, e y é enviado
3. K é criptografado por RSA com chave pública do
Beto (retirado do certificado do Beto) e K’ é
enviado também
4. Beto decriptografa K’ com sua chave particular
5. Com K, Beto decriptografa y’ por IDEA
Segurança de Dados - 56
RT
C.El.
5000
0,8
4000 Nível atual aceitável de
segurança (1012 anos MIPS)
Compr. chave
ECC
(Bits)
0,6 3000
RSA &DSA
2000
0,4
1000
0,2
0
10000 100000000 1E+12 1E+20 1E+36
Segurança de Dados - 57
RT
C.El.
COMPARAÇÃO
RSA com 2048 bits << segurança muito menor << ECC com 300 bits
Segurança de Dados - 58
RT
Vírus
Programas
mal-intencionados
Necessita programa
Independente
"hospedeiro"
Trapdoor
Bomba Cavalo-de-
(porta- Vírus Bacteria Worm
Lógica tróia
armadilha)
Multiplicam-se rapidamente
Segurança de Dados - 59
RT
Vírus
worm
worm worm
internet computador 2
worm
computador 1
internet worm
internet
worm
worm computador 3
worm
Segurança de Dados - 60
RT
Vírus
Vírus: vírus “infecta” um programa X modificando X; esta modificação
inclui uma cópia do vírus em X; quando X é executado, o vírus infecta
um outro programa, e assim por diante.
Assim como um vírus biológico, o vírus eletrônico necessita de um
“hospedeiro” X, que seja executado pelo CPU.
X
CPU
e-mail
ou X
.EXE
Segurança de Dados - 61
RT
0110010101110101000111001010101000101010 Vírus
1111100101010100101001010000111010001000 x código executável
1010101001011111010101111111111111000001
0101010101010101010000000101110101000100
0101011110100001001010101001000100110101
0101010100101000000010101001001010001010
1010010101001001011110100100011110001000 Deteção de vírus
1010100101000010100111110100101010010010
1010001010101010100111001001000010001001
0000000101010010010010010010010100100000
A7762BFF9201BDEEB115294A88D
www.amazon.com
internet
Intruso insere
provedor
internet
browser
(IExplorer)
dados sigilosos´(por ex. senha)
cavalo de tróia
Segurança de Dados - 64
RT
Bibliografia
Livros
1. Douglas Stinson: Cryptography, CRC-Press 1995
2. Al Menezes et al.: Applied Cryptography, CRC-Press,1997
3. R. T., Segurança de dados em rede de computadores, Ed. E. Blucher, 2000
Segurança de Dados - 65
RT