52
Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Embed Size (px)

Citation preview

Page 1: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Sistemas Seguros

Criptografia Simétrica e Assimétrica

Prof. Paulo Fernando da Silva

Page 2: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia

• Conceitos Básicos;• Criptografia Simétrica;• Algoritmos Simétricos;• Criptografia Assimétrica;• Algoritmos Assimétricos;• Hash e algoritmos;• Assinatura digital;

Page 3: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 4: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Conceitos Básicos

Page 5: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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?

Page 6: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Conceitos Básicos

Page 7: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Conceitos Básicos

Page 8: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 9: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Simétrica

Page 10: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 11: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 12: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Simétrica

Page 13: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Algoritmos Simétricos

• Algoritmos:– DES;– 3DES ou DES-EDE;– IDEA;– Blowfish;– Cast-128;– RC6;– AES: atual padrão americano;

Page 14: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 15: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 16: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 17: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 18: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 19: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Testar exemplo...

• Exemplo do DESCipher.java

Page 20: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Assimétrica

• Criado em 1976 por Dffie & Hellman;• Também conhecido como criptografia de

chave pública;• Motivado pelo problema de distribuição de

chaves simétricas;

Page 21: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Assimétrica

• Usa uma chave pública e ou chave privada;• As chaves formam um par e trabalham em

conjunto;• O que uma chave cifra a outra chave decifra;

Page 22: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 23: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Assimétrica

Page 24: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 25: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Assimétrica

Page 26: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Assimétrica

Page 27: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Assimétrica

Page 28: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Assimétrica

Page 29: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Criptografia Assimétrica

Page 30: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Algoritmos Assimétricos

• Como fazer um algoritmo assimétrico válido?

• Usam duas técnicas:– Aritmética exponencial modular;– Curvas elípticas;

Page 31: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Algoritmos Assimétricos

• Dois algoritmos mais conhecidos: – RSA e ElGamal;

• Algoritmos RSA:• É o mais usado comercialmente;• Cifra blocos de tamanho variado = n;

Page 32: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 33: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 34: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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

Page 35: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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”

Page 36: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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}

Page 37: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 38: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Testar exemplo...

• Exemplo Cifra RSA

Page 39: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 40: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 41: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Hash e algoritmos

• É usado para gerar impressão digital de arquivos (por exemplo);

• Também é usado em certificados e assinatura digital;

Page 42: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Hash e algoritmos

• Alguns algoritmos são: MD5, SHA-1, SHA-2 ou SHA-256;

• SHA é o padrão do NIST;• SHA-224, 256, 384 e 512;

Page 43: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Hash e algoritmos

Mensagem 100...0

K bits

L x 512 bits = N x 32 bits

Padding(1 a 512 bits)

Tamanho daMensagem(K mod 264)

Y0 Y1

512 bits 512 bits

HSHA HSHA

Yq

512 bits

HSHA

YL-1

512 bits

HSHA

512 512 512 512

160 160 160 160

CV1 CVq CVL-1

160 bitsdigest

ValorInicial

A = 67452301 B = EFCDAB89C = 98BADCFE D = 10325476E = C3D2E1F0

Page 44: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Testar exemplo...

• Exemplo resumo.java

Page 45: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 46: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Assinatura Digital

M E M MD

KRa

EKRa(M)

Fonte Destino

KUa

Page 47: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Assinatura Digital

• É necessário cifrar todo o conteúdo para garantir a origem?

Page 48: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

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;

Page 49: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Assinatura Digital – Transmissão

Page 50: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Assinatura Digital – Recepção

Page 51: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Assinatura com DSS

Page 52: Sistemas Seguros Criptografia Simétrica e Assimétrica Prof. Paulo Fernando da Silva

Testar Exemplo...

• Exemplo assinatura.java