Parte III
Serviços de Segurança
O que é
Criptografia
Algoritmos de Algoritmos de
Chave Privada Chave Pública
M C M
E D
K KD
E
• Alguns Algoritmos
– Permitem que as duas chaves possam ser
usadas para encriptar ou decriptar
A B
X C X
E D
KPRIA ? ? KPRIB
KPUBA KPUB
B
Texto Cifrado
Texto Texto
Plano Plano
Algoritmo de Algoritmo de
Criptografia Decriptografia
(ex: RSA)
Texto Cifrado
Texto Texto
Plano Plano
Algoritmo de Algoritmo de
Criptografia Decriptografia
(ex: RSA)
Texto Cifrado
Texto Texto
Plano Plano
Algoritmo de Algoritmo de
Criptografia Decriptografia
(ex: RSA)
– Confidencialidade
– Autenticação
– Confidencialidade com Autenticação
• Funcionamento
– O remetente criptografa a mensagem utilizando a
chave pública do destinatário
– O destinatário decriptografa utilizando sua chave
privada.
– Como somente o destinatário conhece esta chave
privada, está garantido o sigilo.
A B
Rem etent Destinatár
e io
M C M
E D
KPUB KPRIB
B
• Funcionamento
– O remetente criptografa a mensagem com
sua chave privada.
– A decriptação da mensagem pode ser
realizada por qualquer entidade utilizando a
chave pública do remetente
A B
Rem etent Destinatári
e o
M C M
E D
KPRIA KPUB
A
• Funcionamento
– O remetente criptografa a mensagem inicialmente
com sua chave privada e, em seguida, com a chave
pública do destinatário
– O destinatário decripta a mensagem com sua chave
privada e, em seguida, com a chave pública do
remetente
M C1 C2 C1 M
E E D D
KPUB KPRIB
B
KPRIAKPUB
A
• Autenticação
– (Segunda decriptação) O destinatário pode
ter certeza da autoria já que somente o
remetente possui a chave KPRIA
M M
E D
KS KS
M M
E D
KS KS
Algoritmo RSA
Requisitos do Algoritmo
• É possível encontrar e, d, n tal que Med = M mod n para todo M < n
• É relativamente fácil calcular Me e Cd para todos os valores de M <
• É improvável determinar d dado e, n
Decifrar
Texto Plano: C
Texto Cifrado: M = Cd (mod n)
Texto
Plano 195 = 2476099 119
19 66 20807
Decifrar
KR = 77,119
Texto Cifrado 66
6677 = 1,27...x10140 119
19 1,06...x10138
Texto Plano 19
03/14/08 Segurança - Edward Moreno - UNIVEM 31
Gerenciamento de Chaves
• Distribuição de Chaves Públicas
– Anúncio Público (Ex: PGP)
– Diretório Público
– Autoridade de Chave Pública
– Certificados de Chave Pública
• Chave Pública para Distribuir Chave Secreta
– Distribuição Simples de Chaves Secretas
– Distribuição com Confidencialidade e
Autenticação
– Esquema Híbrido
03/14/08 Segurança - Edward Moreno - UNIVEM 32
Diretório Público
Elementos
Autoridade • Autoridade Mantém {Nome; Chave Pública}
• Participante Registra sua Chave Pública
• Participante pode trocas sua Chave Pública
• Autoridade publica Diretório Periodicamente
Diretório
Público
KUa KUb
A B
A B
EKUa [Ks]
• Protocolo Simples
• As chaves só existem durante a comunicação
• Problema com a Interceptação
Funções de Autenticação
Criptografia da Mensagem
Código de Autenticação da Mensagem
Função Hash
Fonte Destino
M E M D M
EK(M)
K K
Fonte Destino
M E M D M
EKUb(M)
KUb KRb
Fonte Destino
M E M D M
EKRa(M)
KRa KUa
Fonte Destino
M E M E M D M D M
|| C
M M
K K Comparar
C
CK(M)
Provém autenticação
Somente A e B compartilham K
Fonte Destino
C
|| E D M
M
K1 K1 Comparar
K2 K2
C EK2[M||CK1(M)] CK1(M)
Provém autenticação
Somente A e B compartilham K1
Provém confidencialidade
Somente A e B compartilham K2
Fonte Destino
D M
M E || C
K2
K1
K2 K1 Comparar
C CK1[EK2(M)]
Provém autenticação
Usando K1
Provém confidencialidade
Usando K2
H
|| E D M
M
Comparar
K K
EK[M||H(M)]
H H(M)
Provém autenticação
Somente A e B compartilham K
Provém confidencialidade
H(M) é cifrado
Fonte Destino
H
M || M
Comparar
D
H E EK[H(M)]
K
K
Provém autenticação
H(M) é cifrado
H
M || M
Comparar
D
H E EKRa[H(M)]
KUa
KRa
|| H
M E D M
Comparar
K K D
H E EK[M||EKRaH(M)] EKRa[H(M)]
KUa
KRa
|| || H
M M
S
Comparar
S || H H(M||S)]
Provém autenticação
Somente A e B compartilham S
|| E || H
M D M S
K K Comparar
S || H EK[M||H(M||S)] H(M||S)
Provém autenticação
Somente A e B compartilham S
Provém Confidencialidade
Somente A e B compartilham K
ON-1 ON
O1 O2
(64 bits)
DAC
(16 a 64 bits)
03/14/08 Segurança - Edward Moreno - UNIVEM 53
h = H(M) Funções Hash
• Requisitos
– Qualquer tamanho de bloco
– Saída de tamanho fixo
– Fácil de computar y = H(x) em software ou hardware
– Inviável computar x = H-1(y) Caminho Único - 2n
– Dado x, é inviável obter y ≠ x com H(y) = H(x)
Fraca Resistênc
– É inviável obter-se (x,y) tal que H(x) = H(y) à Colisão - 2n
Forte Resistência
• Simples Funções Hash XOR; RXOR à Colisão - 2n/2
M H P
+ (M, P)
Mensagem 100...0
Valor
Inicial 512 512 512 512
128 128 128 128
HMD5 HMD5 HMD5 HMD5
CV1 CVq CVL-1
A = 67452301
B = EFCDAB89
C = 98BADCFE
D = 10325476 128 bits
digest
CVq 128
Yq
HMD5 32
512 A B C D
F, T[1..16], X[i]
16 passos
A B C D
T[i] = 2 x abs[sin(i)]
32
G, T[17..32], X[ρ2i]
16 passos
A B C D
Tabela Verdade das H, T[33..48], X[ρ3i]
Funções Lógicas 16 passos
b c d F G H I A B C D
0 0 0 0 0 0 1 I, T[49..64], X[ρ4i]
0 0 1 1 0 1 0
16 passos
0 1 0 0 1 1 0
0 1 1 1 0 0 1
1 0 0 0 0 1 1
1 0 1 0 1 0 1
1 1 0 1 1 0 1 + + + + Adição: 2 mod 232
1 1 1 1 1 1 0
128
CVq+1
Função de Compressão
Fase g G(b,c,d) A B C D
1 F(b,c,d) (b∧c)∨(b∧d)
2 G(b,c,d) (b∧d)∨(c∧d) + g
3 H(b,c,d) b⊕c⊕d
4 I(b,c,d) c⊕(b∨d) X[k] +
AND - ∧
T[i] +
Onde: OR - ∨
NOT -
CLSs
XOR - ⊕
• 3 rodadas
• Constantes aditivas iguais (0, t1, t2)
• 3 funções lógicas primitivas
Mensagem 100...0
Valor
Inicial 512 512 512 512
160 160 160 160
HSHA HSHA HSHA HSHA
CV1 CVq CVL-1
A = 67452301 B = EFCDAB89
C = 98BADCFE D = 10325476
E = C3D2E1F0 160 bits
digest
CVq
Yq
SHA-1 160
32
512 A B C D E
f1, K1,W[0..19]
20 passos
K1 = 5A827999 A B C D E
K2 = 6ED9EBA1 f2, K2, W[20..39]
K3 = 8F1BBCDC 20 passos
A B C D
K4 = CA62C1D6 E
f3, K3, W[40..59]
K1 = 230x√2 20 passos
K2 = 230x√3 A B C D
E
f4, K4, W[60..79]
K3 = 230x√5
20 passos
K4 = 230x√10
+ + + + +
Adição: 2 mod 232
160
CVq+1
SHA-1
M || M H KUG KRa
f2 r
M s
f1
H
Verificando
w = f3(s’,q) = (s’)-1 mod q
u1 = [ H(M’)w] mod q
u2 = (r’)w mod q
v = f4(y,q,g,H(M’),w,r’) = [(gu1yu2) mod p] mod q
Teste: v = r’ ?
03/14/08 Segurança - Edward Moreno - UNIVEM 84
Aplicações de Autenticação
• Kerberos
• Serviço de Autenticação X.509
• Correio Eletrônico Seguro (PGP,
S/MIME)
• Segurança na WEB
Segurança em Sistemas
• Virus
• Firewalls
• VPN
03/14/08 Segurança - Edward Moreno - UNIVEM 85
Bibliografia Básica
Este curso está baseado no material usado pelos Professores: