Criptografia e Segurança em Redes Capítulo 9 Quarta Edição William Stallings William Stallings Slides de Lawrie Brown Tradução: Bruno e Mario.

Slides:



Advertisements
Apresentações semelhantes
PGP/ S MIME.
Advertisements

Alex Coletta Rafael Curi
André Oliveira Castro Marcelo Siqueira Pereira Filho
Criptografia Assimétrica
Redes de comunicação Aspectos de segurança de redes Aula 16
Conceituação de Assinatura e Certificação Digital
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Criptografia e Segurança de Rede Capítulo 7 Quarta Edição por William Stallings Tradução: Carlos Daniel Abreu.
Criptografia e Segurança em Redes Capítulo 13
Criptografia e Segurança em Redes Capítulo 15
Criptografia e Segurança de Rede Capítulo 7
Criptografia e Segurança em Redes Capítulo 13
Criptografia e segurança de redes Chapter 14
1 Criptografia e Segurança em Redes Capítulo 10 Quarta Edição por William Stallings Tradução por Enrico Alvarez.
Criptografia e Segurança em Redes Capítulo 10
Criptografia e Segurança em redes capitulo 11.
Criptografia e Segurança em redes capítulo 11
Criptográfia e segurança na rede Capitulo 12
Criptografia e Segurança em Rede Capítulo 1
Dornélio Mori Ney Bermudes
Segurança de Sistemas e Redes
Criptografia II.
Criptografia II.
Diffie-Hellman Acordo de Chave Compartilhada. Abril de 2006Criptografia de Chave Pública2 Estabelecendo uma Chave Compartilhada Diffie-Hellman, 1976 Acordo.
Diffie-Hellman Acordo de Chave Compartilhada 1976, University of Stanford.
Autenticação de Mensagens
Criptografia de Chave Pública
Meditar produz sabedoria phgmw dvtvrgxc vehgruld Segredos (chaves públicas) são trocados Sistemas criptográficos assimétricos.
Troca de Chaves Autenticação
Função Hash e Autenticação em Redes de Computadores
Public Key Infrastructure PKI
Hash HTTPS SSL Certificados.
Dispositivos de Segurança
Segurança 9 capítulo Andrew S. Tanenbaum Maarten Van Steen.
Confidencialidade usando Criptografia Simétrica
7: Segurança de Redes1 Capítulo 7: Segurança de Redes Fundamentos: r o que é segurança? r criptografia r autenticação r integridade de mensagens r distribuição.
Assinaturas digitais.
Criptografia e segurança de Redes Capítulo 12 Fourth Edition by William Stallings Tradução feita por Raul Piccoli Madeira e Marcelo Carneiro.
PKI – Public key infrastructure Infra-estrutura de Chaves Públicas Trabalho de Redes de Computadores II Nome: Délio Silva Nunes.
LUCAS DE ANDRADE VINICIUS BERNARDINO DA SILVA
Segurança e Auditoria de Sistemas
Exercício 3 Função de hash Assinatura digital
Sistemas Seguros Criptografia Simétrica e Assimétrica
Assinatura Digital kryptós + gráphein Thiago Castelló Fonseca Verônica Taquette Vaz Redes de Computadores I Prof. Otto Carlos Muniz Bandeira Duarte.
Seminário Teoria da Informação
PGP – Pretty Good Privacy Privacidade Bastante Boa
Tópicos Avançados em Redes de Computadores Prof. Fabiano Sabha.
Seminário Criptografia
Exercício 2 Função resumo (hash) Assinatura digital
Key confirmation and adaptive corruptions in the protocol security logic (Chave de confirmação e Corrupções Adaptativas em um protocolo de segurança lógica)
Algoritmos de Chave Pública
Autenticação de Mensagens
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
Segurança da Informação Prof. João Bosco M. Sobral 1 Armazenamento de Chaves Simétricas Criptografia baseada em Senha.
Execícios de Revisão Redes de Computadores Edgard Jamhour
3. Criptografia Assimétrica
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 Assimétrica e Autenticação de Mensagens
A Assinatura Digital.
MAC499 – Trabalho de Formatura Supervisionado
Criptografia de Chave Pública
Segurança de Redes de Computadores
Tópicos Avançados em Redes
Proteção de Dados Sigilo. Armazenar segredo de modo totalmente seguro é impossível (ou quase); Ex.: chaves de criptografia; Problemas com acesso físico;
5 – Distribuição de chaves
1 Assinatura Digital Msc. Adilson Eduardo Guelfi Msc. Frank Meylan Laboratório de Sistemas Integráveis Escola Politécnica da.
SISTEMAS OPERACIONAIS
Conceituação de Assinatura e Certificação Digital
Criptografia simétrica
Segurança de Rede Prof. Sales Filho Pretty Good Privace - PGP.
Transcrição da apresentação:

Criptografia e Segurança em Redes Capítulo 9 Quarta Edição William Stallings William Stallings Slides de Lawrie Brown Tradução: Bruno e Mario

Capítulo 9 - Public Key Cryptography e RSA Cada egípicio recebia dois nomes que eram conhecidos respectivamente como o nome verdadeiro e o nome pequeno: e enquanto o nome bom ou pequeno era público, o nome verdadeiro ou grande era cuidadosamente ocultado. Cada egípicio recebia dois nomes que eram conhecidos respectivamente como o nome verdadeiro e o nome pequeno: e enquanto o nome bom ou pequeno era público, o nome verdadeiro ou grande era cuidadosamente ocultado. O Ramo de Ouro, Sir James George Frazer O Ramo de Ouro, Sir James George Frazer

Criptografia de Chave-Privada Tradicional Privado/Secreto/Chave Única Tradicional Privado/Secreto/Chave Única Criptografia utiliza apenas uma chave Partilhada por ambos, emissor e receptor Partilhada por ambos, emissor e receptor Se esta chave é divulgada, comunicações são comprometidas Se esta chave é divulgada, comunicações são comprometidas Também é Simétrica, partes são equivalentes Também é Simétrica, partes são equivalentes Daí não proteger o emissor de um receptor forjando uma mensagem & reinvidicação enviada pelo emissor Daí não proteger o emissor de um receptor forjando uma mensagem & reinvidicação enviada pelo emissor

Criptografia de Chave-Pública Provavelmente o mais significativo avanço em 3000 anos de história da criptografia Provavelmente o mais significativo avanço em 3000 anos de história da criptografia Utiliza duas chaves - uma pública & uma chave privada Utiliza duas chaves - uma pública & uma chave privada Assimétricas porque as partes não são iguais Assimétricas porque as partes não são iguais Usa inteligente aplicação de acordo com o conceito da teoria dos números Usa inteligente aplicação de acordo com o conceito da teoria dos números complementa melhor do que repor a criptografia de chave privada complementa melhor do que repor a criptografia de chave privada

Por que Criptografia de Chave-Pública? Desenvolvidas para abordar duas questões fundamentais: Desenvolvidas para abordar duas questões fundamentais: Distribuição de chaves – como ter comunicações seguras sem ter de confiar uma KDC com sua chave Distribuição de chaves – como ter comunicações seguras sem ter de confiar uma KDC com sua chave Assinatura digital – como verificar se uma mensagem chega intacta ao alegado remetente Assinatura digital – como verificar se uma mensagem chega intacta ao alegado remetente Invenção pública de Whitfield Diffie & Martin Hellman em 1976 Invenção pública de Whitfield Diffie & Martin Hellman em 1976 known earlier in classified community known earlier in classified community conhecida anteriormente classificados na comunidade conhecida anteriormente classificados na comunidade

Criptografia de Chave-Pública chave-pública/duas-chaves/assimétricas criptografia envolve o uso de duas chaves: chave-pública/duas-chaves/assimétricas criptografia envolve o uso de duas chaves: Uma chave-pública, que pode ser conhecido por qualquer um, e pode ser usada para criptografar mensagens e verificar assinaturas Uma chave-pública, que pode ser conhecido por qualquer um, e pode ser usada para criptografar mensagens e verificar assinaturas Uma chave-privada, conhecida apenas pelo destinatário, que serve para descriptografar mensagens, e assinar (criar) assinaturas Uma chave-privada, conhecida apenas pelo destinatário, que serve para descriptografar mensagens, e assinar (criar) assinaturas É assimétrica porque: É assimétrica porque: quem criptografar mensagens ou verificar assinaturas não pode decifrar mensagens ou criar assinaturas quem criptografar mensagens ou verificar assinaturas não pode decifrar mensagens ou criar assinaturas

Criptografia de Chave-Pública

Características da Chave-Pública Algoritmos de Chave-Pública contam com duas chaves, quando: Algoritmos de Chave-Pública contam com duas chaves, quando: é computacionalmente impossível de encontrar a chave de decriptografia sabendo apenas o algoritmo & chave de encriptação é computacionalmente impossível de encontrar a chave de decriptografia sabendo apenas o algoritmo & chave de encriptação é computacionalmente fácil (en/des)criptografar as mensagens quando os relevantes chaves de (en/decriptação) são conhecidas é computacionalmente fácil (en/des)criptografar as mensagens quando os relevantes chaves de (en/decriptação) são conhecidas uma das duas chaves relacionadas podem ser utilizados para a criptografia, com as outras utilizadas para a descodificação (para alguns algoritmos) uma das duas chaves relacionadas podem ser utilizados para a criptografia, com as outras utilizadas para a descodificação (para alguns algoritmos)

Sistemas de Criptografia Chave-Pública

Aplicações da chave-Pública Aplicações da chave-Pública Podemos classificar o uso em 3 categorias: Podemos classificar o uso em 3 categorias: encriptação / decriptação (fornecer sigilo) encriptação / decriptação (fornecer sigilo) assinaturas digitais (fornecer autenticação) assinaturas digitais (fornecer autenticação) troca de chaves (as chaves de sessão) troca de chaves (as chaves de sessão) Alguns Algoritimos são adequados para todos os usos, outros são especificos para um Alguns Algoritimos são adequados para todos os usos, outros são especificos para um

Segurança dos Sistemas de chave pública Como o esquema de chave privada, exaustiva pesquisa pequisa de ataque por foça bruta é sempre teoricamente possível Como o esquema de chave privada, exaustiva pesquisa pequisa de ataque por foça bruta é sempre teoricamente possível mas as chaves utilizadas são muito grandes (> 512bits) mas as chaves utilizadas são muito grandes (> 512bits) segurança conta com uma dimensão suficientemente grande diferença de dificuldade entre fáceis (en/decripta) e dificeis (criptoanálise) problemas segurança conta com uma dimensão suficientemente grande diferença de dificuldade entre fáceis (en/decripta) e dificeis (criptoanálise) problemas Geralmente o mais difícil do problema é conhecido, mas é feito difícil o bastante para tornar a solução impraticável Geralmente o mais difícil do problema é conhecido, mas é feito difícil o bastante para tornar a solução impraticável exige a utilização de muitos números grandes exige a utilização de muitos números grandes Daí a lentidão, se comparado com sistemas de chave privada Daí a lentidão, se comparado com sistemas de chave privada

RSA Por Rivest, Shamir & Adleman of MIT in 1977 Por Rivest, Shamir & Adleman of MIT in 1977 mais conhecido e amplamente usado sistema de chaves públicas mais conhecido e amplamente usado sistema de chaves públicas baseado em uma exponenciação um corpo (Galois) finito, sobre inteiros modulo uma privilegiada baseado em uma exponenciação um corpo (Galois) finito, sobre inteiros modulo uma privilegiada based on exponentiation in a finite (Galois) field over integers modulo a prime based on exponentiation in a finite (Galois) field over integers modulo a prime nb. exponentiation takes O((log n) 3 ) operations (easy) nb. exponentiation takes O((log n) 3 ) operations (easy) uses large integers (eg bits) uses large integers (eg bits) security due to cost of factoring large numbers security due to cost of factoring large numbers nb. factorization takes O(e log n log log n ) operations (hard) nb. factorization takes O(e log n log log n ) operations (hard)

RSA Key Setup cada usuário gera uma chave pública / privada par por: cada usuário gera uma chave pública / privada par por: selecionando dois grandes numeros primos aleatoriamente - p, q selecionando dois grandes numeros primos aleatoriamente - p, q computando seu sistema de modulus n = p.q computando seu sistema de modulus n = p.q nota ø (n) = (p-1) (q-1) nota ø (n) = (p-1) (q-1) Selecionando aleatoriamente uma chave decriptação e Selecionando aleatoriamente uma chave decriptação e Onde 1 <e <ø (n), gcd (E, O (n)) = 1 Onde 1 <e <ø (n), gcd (E, O (n)) = 1 resolver a seguinte equação para encontrar a chave de decriptação d resolver a seguinte equação para encontrar a chave de decriptação d Onde 1<e<0 (n), mdc (e,0(n))=1 Onde 1<e<0 (n), mdc (e,0(n))=1 Fornecendo sua chave publica de encriptação: Fornecendo sua chave publica de encriptação:PU={e,n} Mantendo secreta a chave de decripatção: PR={d,n} Mantendo secreta a chave de decripatção: PR={d,n}

Uso do RSA para cifrar uma mensagem M do remetente: para cifrar uma mensagem M do remetente: obtém a chave pública do destinatário obtém a chave pública do destinatário PU = {e, n} calcula: C = M e mod n, onde 0M<n calcula: C = M e mod n, onde 0M<n para descriptografar o texto encriptado C, o proprietário: para descriptografar o texto encriptado C, o proprietário: Utiliza sua chave privada PR={d,n} Utiliza sua chave privada PR={d,n} calcula: M = C d mod n calcula: M = C d mod n Note que a mensagem M precisa ser menor do que o Modulo n (bloco se necessario) Note que a mensagem M precisa ser menor do que o Modulo n (bloco se necessario)

Por que trabalhar com RSA Devido ao Teorema de Euler: a ø(n) mod n = 1 onde gcd(a,n)=1 a ø(n) mod n = 1 onde gcd(a,n)=1 no RSA temos: no RSA temos: n=p.q n=p.q ø(n)=(p-1)(q-1) ø(n)=(p-1)(q-1) Cuidadosamente escolheu e & d para ser inversos ao mod ø(n) Cuidadosamente escolheu e & d para ser inversos ao mod ø(n) portanto e.d=1+k.ø(n) para qualquer k portanto e.d=1+k.ø(n) para qualquer k Daí: C d = M e.d = M 1+k.ø(n) = M 1.(M ø(n) ) k Daí: C d = M e.d = M 1+k.ø(n) = M 1.(M ø(n) ) k = M 1.(1) k = M 1 = M mod n = M 1.(1) k = M 1 = M mod n

Exemplo do RSA Configuração de Chave 1. Selecionar primos: p=17 & q=11 2. Calcular n = pq =17 x 11= Calcular ø(n)=(p–1)(q-1)=16 x 10= Selecionar e : gcd(e,160)=1; escolher e=7 5. Determinar d : de=1 mod 160 e d < 160 Valor é d=23 desdeq 23x7=161= 10x Publicar a chave pública PU={7,187} 7. Manter secreta a chave privada PR={23,187}

Exemplo: RSA - En/Decriptação amostra RSA encriptação/decriptação é: amostra RSA encriptação/decriptação é: Dada a mensagem M = 88 ( 88<187 ) Dada a mensagem M = 88 ( 88<187 ) Encriptação Encriptação C = 88 7 mod 187 = 11 Decriptação: Decriptação: M = mod 187 = 88

Exponenciação can use the Square and Multiply Algorithm can use the Square and Multiply Algorithm a fast, efficient algorithm for exponentiation a fast, efficient algorithm for exponentiation concept is based on repeatedly squaring base concept is based on repeatedly squaring base e multiplicando os que nos são necessárias para calcular o resultado e multiplicando os que nos são necessárias para calcular o resultado olhar para a representação binária do exponente olhar para a representação binária do exponente Só pega O(log 2 n) multiplos para o numero n Só pega O(log 2 n) multiplos para o numero n eg. 7 5 = = 3.7 = 10 mod 11 eg. 7 5 = = 3.7 = 10 mod 11 eg = = 5.3 = 4 mod 11 eg = = 5.3 = 4 mod 11

Exponenciação c = 0; f = 1 for i = k downto 0 do c = 2 x c do c = 2 x c f = (f x f) mod n f = (f x f) mod n if b i == 1 then if b i == 1 then c = c + 1 c = c + 1 f = (f x a) mod n f = (f x a) mod n return f return f

Encriptação Eficiente Encriptação Eficiente usa criptografia exponenciação e ao poder usa criptografia exponenciação e ao poder pequenas e, portanto, se, esta será mais rápida pequenas e, portanto, se, esta será mais rápida frequentemente escolher e = (216-1) frequentemente escolher e = (216-1) também ver escolhas de 3 ou E = E = 17 também ver escolhas de 3 ou E = E = 17 mas se e muito pequeno (por exemplo, e = 3) pode atacar mas se e muito pequeno (por exemplo, e = 3) pode atacar utilizando chinês restante teorema & 3 mensagens com diferentes modulii utilizando chinês restante teorema & 3 mensagens com diferentes modulii fixo e se deve garantir gcd (E, O (n)) = 1 fixo e se deve garantir gcd (E, O (n)) = 1 ou seja, rejeitar qualquer p ou q não relativamente privilegiada para e ou seja, rejeitar qualquer p ou q não relativamente privilegiada para e

Efficient Decryption decryption uses exponentiation to power d decryption uses exponentiation to power d this is likely large, insecure if not this is likely large, insecure if not can use the Chinese Remainder Theorem (CRT) to compute mod p & q separately. then combine to get desired answer can use the Chinese Remainder Theorem (CRT) to compute mod p & q separately. then combine to get desired answer approx 4 times faster than doing directly approx 4 times faster than doing directly only owner of private key who knows values of p & q can use this technique only owner of private key who knows values of p & q can use this technique

RSA: Geração de Chaves usuários da RSA precisam: usuários da RSA precisam: determinar 2 numeros primos aleatoriamente - p, q determinar 2 numeros primos aleatoriamente - p, q Selecionar entre e ou d e calcular os outros Selecionar entre e ou d e calcular os outros primos p,q não devem ser facilmente derivados do modulo n=p.q primos p,q não devem ser facilmente derivados do modulo n=p.q Meios devem ser suficientemente grandes Meios devem ser suficientemente grandes Tipicamente adivinhar e utilização probabilística teste Tipicamente adivinhar e utilização probabilística teste expoentes e, d são inversos,então usamos o algoritimo inverso para calcula um ou outro expoentes e, d são inversos,então usamos o algoritimo inverso para calcula um ou outro

RSA: Segurança Possíveis abordagens para atacar o RSA são: Possíveis abordagens para atacar o RSA são: Pesquisa de chave por força bruta (pesquisa inviável dada dimensão dos números) Pesquisa de chave por força bruta (pesquisa inviável dada dimensão dos números) ataques matemáticos (com base na dificuldade de computação ø (n), pela fatoração do modulo n) ataques matemáticos (com base na dificuldade de computação ø (n), pela fatoração do modulo n) calendário ataques (em funcionamento de descodificação) calendário ataques (em funcionamento de descodificação) timing attacks (on running of decryption) timing attacks (on running of decryption) chosen ciphertext attacks (given properties of RSA) chosen ciphertext attacks (given properties of RSA)

Factoring Problem mathematical approach takes 3 forms: mathematical approach takes 3 forms: factor n=p.q, hence compute ø(n) and then d factor n=p.q, hence compute ø(n) and then d determine ø(n) directly and compute d determine ø(n) directly and compute d find d directly find d directly currently believe all equivalent to factoring currently believe all equivalent to factoring have seen slow improvements over the years have seen slow improvements over the years as of May-05 best is 200 decimal digits (663) bit with LSas of May-05 best is 200 decimal digits (663) bit with LS biggest improvement comes from improved algorithm biggest improvement comes from improved algorithm cf QS to GHFS to LScf QS to GHFS to LS currently assume bit RSA is secure currently assume bit RSA is secure ensure p, q of similar size and matching other constraintsensure p, q of similar size and matching other constraints

Timing Attacks developed by Paul Kocher in mid-1990s developed by Paul Kocher in mid-1990s exploit timing variations in operations exploit timing variations in operations eg. multiplying by small vs large number eg. multiplying by small vs large number or IF's varying which instructions executed or IF's varying which instructions executed infer operand size based on time taken infer operand size based on time taken RSA exploits time taken in exponentiation RSA exploits time taken in exponentiation countermeasures countermeasures use constant exponentiation time use constant exponentiation time add random delays add random delays blind values used in calculations blind values used in calculations

Chosen Ciphertext Attacks RSA is vulnerable to a Chosen Ciphertext Attack (CCA) RSA is vulnerable to a Chosen Ciphertext Attack (CCA) attackers chooses ciphertexts & gets decrypted plaintext back attackers chooses ciphertexts & gets decrypted plaintext back choose ciphertext to exploit properties of RSA to provide info to help cryptanalysis choose ciphertext to exploit properties of RSA to provide info to help cryptanalysis can counter with random pad of plaintext can counter with random pad of plaintext or use Optimal Asymmetric Encryption Padding (OASP) or use Optimal Asymmetric Encryption Padding (OASP)

Resumo Foi apresentado: Foi apresentado: Principios da criptografia de chaves públias Principios da criptografia de chaves públias Algoritimo RSA, implementação e segurança Algoritimo RSA, implementação e segurança