Segurança de Redes de
Computadores
Prof. Paulo Fernando da Silva
Faculdades SENAC Florianópolis
Pós-Graduação em Segurança da Informação
Criptografia
•
•
•
•
•
•
•
Conceitos Básicos;
Criptografia Simétrica;
Algoritmos Simétricos;
Criptografia Assimétrica;
Algoritmos Assimétricos;
Hash e algoritmos;
Assinatura digital;
Conceitos Básicos
• Criptografia é a ciência da escrita
secreta;
• É a base para a implementação de
vários serviços de segurança;
• Um dos primeiros algoritmos é o
cifrador de césar:
– Y = E(X) = x+3;
– X = D(Y) = x-3;
Conceitos Básicos
Conceitos Básicos
• Crifrador de césar não possui chave;
• A força está no algoritmo;
• A chave tira a responsabilidade do
algoritmo;
• Chave é um seletor de algoritmos;
• Como seria o cifrador de césar sem
chave?
Conceitos Básicos
Conceitos Básicos
Criptografia Simétrica
• Usam a mesma chave para cifrar e
decifrar;
• Também chamados de algoritmos de
chave secreta;
• São algoritmos geralmente rápidos;
Criptografia Simétrica
Criptografia Simétrica
• Segurança se baseia na qualidade do
algoritmo;
• Também no tamanho de chave;
• Segurança não se baseia no
conhecimento do algoritmo;
Criptografia Simétrica
• Possui um problema sério na distribuição
de chave;
• A chave deve ser compartilhada, mas
deve ser secreta;
• Para um grupo de n participantes, serão
necessárias n(n-1)/2 chave distintas;
Criptografia Simétrica
Criptografia Simétrica - Exemplos
• Cifrador monoalfabético;
• Permutação dos 26 caracteres: 26! =
4x10^26
• A chave é a seqüência de caracteres para
permutação
• Difícil de quebrar com força bruta
Criptografia Simétrica - Exemplos
• Refletem a freqüência das letras do
idioma em que foi escrito
• Fácil de quebrar através da análise da
freqüência relativa das letras do idioma
• Chave =
“QWERTYUIOPASDFGHJKLZXCVBNM”
Criptografia Simétrica - Exemplos
• Cifrador playfair;
• Baseado em uma matriz de 5 x 5 usando
uma chave K;
• A chave é colocada no início e depois é
colocado o resto do alfabeto;
• Exemplo K = monarchy;
Criptografia Simétrica - Exemplos
Criptografia Simétrica - Exemplos
• Funcionamento:
• Divida o texto de 2 em 2 letras: “de pa rt am
em to”
• Letras repetidas coloca-se “X” no meio
• Encontre a linha da primeira letra
• Siga até a coluna da segunda letra
• Onde parar é o novo caracter
• Fazer o mesmo da segunda com a primeira
Algoritmos Simétricos
• SDES é um algoritmo didático;
• Outros:
– DES;
– 3DES ou DES-EDE;
– IDEA;
– Blowfish;
– Cast-128;
– RC6;
– AES: atual padrão americano;
Algoritmo SDES
IP = 2 6 3 1 4 8 5 7 e IP-1= 4 1 3 5 7 2 8 6
Algoritmo SDES
Algoritmo SDES
Geração de sub-chaves
Algortimos Simétricos
• Segurança está:
– Tamanho de chave;
– Princípio do confusão: complexidade entre
texto cifrado e chave;
– Princípio da difusão: complexidade entre o
texto plano e chave;
Algoritmo DES
• Tamanho de bloco de 64 bits e chave de
56 bits;
• O DES tem 16 rounds;
• São geradas 16 sub-chaves, uma para
cada rodada;
Algoritmo DES
Algoritmo 3DES
• Utiliza duas chaves da seguinte maneira:
– Encripta com K1;
– Decripta com K2;
– Encripta novamente com K1;
• Para decifrar:
– Decripta com K1;
– Encripta com K2;
– Decripta novamente com K1;
Algoritmo AES
• Governo americano fez concurso para
eleger novo algoritmo;
• Vencedor em 2001 foi o Rijndael;
• Mudou de nome para AES;
• Padronizado na FIPS PUB 197;
• Blocos de 128 bits;
• Chave de 128, 192 ou 256 bits;
Algoritmos Simétricos
• IDEA:
– Bloco 64 bits;
– Chave 128 bits;
– Livre apenas para uso não comercial;
• RC6:
– Bloco e chave variável até 255bits;
– Número de rodadas variável;
Criptografia Assimétrica
• Criado em 1976 por Diffie & Hellman;
• Também conhecido como criptografia de
chave pública;
• Motivado pelo problema de distribuição de
chaves simétricas;
Criptografia Assimétrica
• Usa uma chave pública e uma chave
privada;
• As chaves formam um par e trabalham em
conjunto;
• O que uma chave cifra a outra chave
decifra;
Criptografia Assimétrica
• A chave pública todos podem conhecer;
• A chave privada apenas o dono pode
conhecer;
• Função de chaves: f(x) = y;
• Conhecendo y é muito difícil descobrir o
valor de x;
• Baseado na complexidade matemática;
Criptografia Assimétrica
Criptografia Assimétrica
• Fornece serviços de confidencialidade e
autenticidade;
• Autenticidade quando a origem cifra com
sua chave privada;
• Confidencialidade quando a origem cifra
com a chave pública do destino;
Criptografia Assimétrica
Criptografia Assimétrica
Criptografia Assimétrica
Criptografia Assimétrica
Criptografia Assimétrica
Algoritmos Assimétricos
• Como fazer um algoritmo assimétrico
válido?
• Usam duas técnicas:
– Aritmética exponencial modular;
– Curvas elípticas;
Algoritmos Assimétricos
• Dois algoritmos mais conhecidos:
– RSA e ElGamal;
• Algoritmos RSA:
• É o mais usado comercialmente;
• Cifra blocos de tamanho variado = n;
Algoritmo RSA
• O par de chaves é derivado de n;
• n é um número muito grande;
• n é resultado de dois números primos
muito grandes = p & q;
• p & q devem ter mais de 100 dígitos cada
um;
Algoritmo RSA
• Um invasor pode conhecer a chave
pública e o número n;
• Mas não conhece p & q;
• Logo ele não consegue gerar a chave
privada;
Algoritmo RSA
• Escolher dois números primos grandes (>
10^100) p e q
• Calcular n = p * q
• Escolher um número “e” relativamente
primo com (p – 1) * (q – 1)
• Calcular d de forma que e * d = 1 mod (p –
1) * (q – 1), isto é, d = e-1 mod (p – 1) * (q
– 1)
• Publicar (n, e) – chave pública, manter (n,
d) – chave privada – e p, q em segredo
Algoritmo RSA
•
•
•
•
KU = {e, n}
KR = {d, n}
Cifrar: M^e mod n
Decifrar: C^d mod n
• Invasor não consegue descobrir “d” a
partir de “e” e “n”
Algoritmo RSA
•
•
•
•
•
•
•
p= 7 e q = 17;
n = 119;
Totiente de n = 96;
e relativamente primo a 96 = 5;
d = 77;
KU = {5, 119}
KR = {77,119}
Algoritmo RSA
•
•
•
•
•
•
•
KU = {5, 119}
KR = {77, 119}
M = 19
Cifrar: 19^5 mod 119 = 66
C = 66
Decifrar: 66^77 mod 119 = 19
Obs: na prática a chave é bem maior,
mais de 130 dígitos;
Comparação
Hash e algoritmos
• Funções hash, ou message digests ou
funções one-way;
• Função hash: y = f(x);
• y é facilmente calculado;
• x é computacionalmente complexo;
Hash e algoritmos
• Uma função hash gera um resumo de sua
entrada;
• A partir do resumo não deve ser possível
encontrar-se a entrada;
• Não deve ser possível encontrar uma
entrada que gere um resumo específico;
Hash e algoritmos
• É usado para gerar impressão digital de
arquivos (por exemplo);
• Também é usado em certificados e
assinatura digital;
Hash e algoritmos
• Alguns algoritmos são: MD5, SHA-1, SHA2 ou SHA-256;
• SHA é o padrão do NIST;
• SHA-224, 256, 384 e 512;
Hash e algoritmos
Padding
(1 a 512 bits)
Tamanho da
Mensagem
(K mod 264)
L x 512 bits = N x 32 bits
K bits
Mensagem
512 bits
512 bits
512 bits
512 bits
Y1
Yq
YL-1
Y0
Valor
Inicial
160
512
512
160
HSHA
100...0
CV1
512
160
HSHA
A = 67452301 B = EFCDAB89
C = 98BADCFE D = 10325476
E = C3D2E1F0
CVq
512
160
HSHA
CVL-1
HSHA
160 bits
digest
Assinatura Digital
• A criptografia assimétrica permite a
implementação de assinatura digital;
• Assinar é cifrar algo com a chave privada;
• Assinar toda a informação a ser enviada é
um processo muito caro
computacionalmente;
Assinatura Digital
Fonte
M
E
Destino
M
EKRa(M)
KRa
D
KUa
M
Assinatura Digital
• É necessário cifrar todo o conteúdo para
garantir a origem?
Assinatura Digital
• Não!!!
• Basta cifrar apenas o hash do conteúdo;
• O hash irá garantir a autenticidade e a
integridade de todo o conteúdo;
Assinatura Digital – Transmissão
Assinatura Digital – Recepção
Download

2 Criptografia