Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Criptografia, Notas de estudo de Matemática

Criptografia,chave publica

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 08/10/2009

rafael-umar-11
rafael-umar-11 🇧🇷

5

(1)

15 documentos

1 / 17

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
2001 / 1 Segurança de Redes/Márcio d’Ávila 62
Criptografia de Chave Pública
Aplicações
Privacidade, Autenticação: RSA, Curva Elíptica
Intercâmbio de chave secreta: Diffie-Hellman
Assinatura digital: DSS (DSA)
Vantagens
Não compartilha segredo
Provê autenticação
Provê não-repúdio
Escalável
Desvantagens
Lenta (computacionalmente intensiva)
Requer autoridade de certificação (chave pública confiável)
2001 / 1 Segurança de Redes/Márcio d’Ávila 63
Diffie-Hellman
É um método para troca segura de chaves
Inventado em 1976
O objetivo é permitir a troca de chaves entre
duas entidades remotas através de um meio
de comunicação não segura
É baseado na operação de logaritmos
discretos
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Pré-visualização parcial do texto

Baixe Criptografia e outras Notas de estudo em PDF para Matemática, somente na Docsity!

2001 / 1 Segurança de Redes/Márcio d’Ávila 62

Criptografia de Chave Pública

  • Aplicações
    • Privacidade, Autenticação: RSA, Curva Elíptica
    • Intercâmbio de chave secreta: Diffie-Hellman
    • Assinatura digital: DSS (DSA)
  • Vantagens
    • Não compartilha segredo
    • Provê autenticação
    • Provê não-repúdio
    • Escalável
  • Desvantagens
    • Lenta (computacionalmente intensiva)
    • Requer autoridade de certificação (chave pública confiável)

Diffie-Hellman

  • É um método para troca segura de chaves
  • Inventado em 1976
  • O objetivo é permitir a troca de chaves entre

duas entidades remotas através de um meio

de comunicação não segura

  • É baseado na operação de logaritmos

discretos

2001 / 1 Segurança de Redes/Márcio d’Ávila 64

Raiz Primitiva

  • O logaritmo discreto é uma função

unidirecional

  • Logaritmo discreto é baseado na raiz primitiva
  • Raízes primitivas de um número primo p são

as potências por todos os inteiros de 1 a p-

  • Se a é uma raiz primitiva de p, então

a mod p, a^2 mod p, ..., a p-1^ mod p

são distintos e consistem em inteiros de 1 a

p-

Logaritmos Discretos

  • Para um inteiro b uma raiz primitiva a de um

número primo p é possível encontrar um

expoente i tal que:

b = ai^ mod p onde 0 ≤ i ≤ (p-1)

  • O expoente i é chamado de logaritmo discreto

de b na base a mod p.

  • Dado a , i e p , é fácil calcular b
  • Dado a , b e p , é difícil calcular i

2001 / 1 Segurança de Redes/Márcio d’Ávila 68

Exemplo Diffie-Hellman

  • p = 97, α = 5
  • Alice sorteia Xa = 36 e Bruno sorteia Xb =
  • Alice calcula Ya = 5^36 = 50 mod 97
  • Bruno calcula Yb = 5^58 = 44 mod 96
  • Bruno calcula K = (Ya) Xb^ mod 97 = 50 58

= 75 mod 97

  • Alice calcula K = (Yb) Xa^ mod 97 = 44 36

= 75 mod 97

Diffie-Hellman – Conclusão

  • Diffie-Hellman é uma técnica muito usada

para troca de chaves

  • SSL (Secure Socket Layer)
  • PGP (Pretty Good Privacy)
  • É eficiente
  • Porém está sujeito ao ataque do homem no

meio na troca de valores públicos Y

  • Segurança do Diffie-Hellman:
    • Criptoanálise: conhecidos q , α e Y, é preciso calcular o log discreto para obter X (difícil)

2001 / 1 Segurança de Redes/Márcio d’Ávila 70

Algoritmo RSA

  • O algoritmo RSA foi desenvolvido em 1977

pelo Ron Rivest, Adi Shamir e Len Adleman

  • RSA é um algoritmo de chave pública
  • É baseado em logaritmos discretos
  • As senhas são geradas com base em dois

números primos grandes (mais de 100

dígitos)

  • A segurança é baseada na dificuldade de

fatoração de números inteiros

Algoritmo RSA

  • Geração do par de chaves (pública/privada)
    • Selecionar p e q , ambos números primos
    • Calcular n = p × q
    • Calcular φφφφ( n ) = ( p - 1)( q - 1) [quociente de Euler]
    • Selecionar inteiro e , primo relativo a φ( n )
    • Calcular d = e -1^ mod φ( n ) [ ou de = 1 mod φ( n ) ]
    • Chave Pública: KU = { e , n }
    • Chave Privada: KR = { d , n }
  • Encriptação: C = M e^ mod n , M < n
  • Decriptação: M = C d^ mod n

2001 / 1 Segurança de Redes/Márcio d’Ávila 74

Exemplo RSA

  • Primos p = 7 e q = 19. n = pq = 119, φ( n ) = 6×18 =
  • Senha pública do destinatário: { e , n } = {5, 119}
  • Senha secreta do destinatário: { d , n } = {77, 119}
  • Mensagem M: 19
  • Mensagem cifrada C: 66

Segurança do RSA

  • Criptoanálise: conhecendo e e n , é preciso fazer a fatoração de n , para obter os dois primos p e q e calcular d
  • Fatoração é uma tarefa demorada
  • Pentium 200Mhz é uma máquina de 50 MIPS

2001 / 1 Segurança de Redes/Márcio d’Ávila 76

Assinatura digital usando RSA

  • O algoritmo RSA pode ser usado para assinar

digitalmente um documento

  • A assinatura garante a autenticidade
  • A assinatura é gerada com base na senha

secreta do assinante

  • Desta forma um documento assinado só

poderia ter sido gerado pelo dono da senha

Assinatura digital usando RSA

2001 / 1 Segurança de Redes/Márcio d’Ávila 80

Distribuição de Chaves

  • A distribuição de chaves é um possível ponto

de falha também em um sistema de chave

pública

  • Um usuário C pode gerar uma par KR/KU em

nome de B e enviar a chave pública para A

  • A, ao gerar uma mensagem pensando que é

para B, está gerando uma mensagem que na

verdade somente C tem a chave para ler

Autoridade de Certificação

  • Autoridades de certificação são usadas para

distribuir chaves públicas garantindo a sua

autenticidade

  • A CA (Certificate Authority) é uma entidade

confiável e reconhecida (VeriSign, Thawte,

ValiCert, GlobalSign, Entrust, BelSign)

  • A CA emite certificado digital que inclui a

chave pública de uma entidade, com dados

para identificação confiável desta e assinado

digitalmente com a chave privada da CA

2001 / 1 Segurança de Redes/Márcio d’Ávila 82

Autoridade de Certificação

  • A chave pública da CA deve ser muito bem

conhecida e amplamente disponível, pois é

usada por quem recebe um certificado vindo

da CA, para validá-lo (autenticar assinatura)

  • Exemplo de conteúdo de Certificado Digital:

Nome do indivíduo e/ou organização Chave pública do detentor Data de validade do certificado Numeração de controle do certificado Identificação da CA Assinatura digital da CA

Certificado X.

  • Padrão ITU-T para certificado: X.
  • Usado em S/MIME, IPSec, SSL/TLS, SET

Versão Número serial do certificado Identificação do algoritmo de assinatura Nome do emitente: CA que assina o certificado Período de validade do certificado (início e fim) Nome do assunto: usuário que o certificado identifica Chave pública do assunto

Assinatura da CA

Identificação única do emitente Identificação única do assunto Extensões: Outros dados

V

V2/

2001 / 1 Segurança de Redes/Márcio d’Ávila 86

MAC

M

Algoritmo MAC

K

MAC

M

Algoritmo MAC

K

MAC

Comparar

Transmitir

Algoritmos Hash Unidirecionais

  • Algoritmo Hash Unidirecional:
    • Toma uma mensagem arbitrária M e gera uma compilação da mensagem ( message digest ) de tamanho fixo H(M) como saída (como nos MACs)
    • O algoritmo não precisa ser reversível
    • Diferente do MAC, a função hash não usa uma chave secreta como parâmetro
    • A autenticação da mensagem passa a ser baseada na autenticação segura do digest : - Adicionar de um valor secreto a M antes de gerar H(M) - Criptografia convecional do message digest - Assinatura do digest com a chave privada do emissor

2001 / 1 Segurança de Redes/Márcio d’Ávila 88

Algoritmos Hash Unidirecionais

Algoritmos Hash Unidirecionais

  • Exemplo de um hash simples de n bits:
    • Tomar a mensagem em blocos de n bits
    • Fazer XOR do bit i (de 1 a n ) de todos os blocos
    • Ci = bi1 ⊕ bi2 ⊕ ... ⊕ b (^) in

b b

b1m

b b

b2m

bn bn

bnm

C 1 C 2 C (^) n

Bloco 1

Bloco 2

Bloco m

Bit 1 Bit 2 Bit n

2001 / 1 Segurança de Redes/Márcio d’Ávila 92

HMAC

Autenticação de Usuário

  • Kerberos
    • Parte do Projeto Athena, do MIT
    • Problema: em um ambiente distribuído aberto, é necessário autenticar requisições e restringir acesso a usuários autorizados
    • Idéia do Kerberos: é difícil garantir a segurança de muitos servidores em uma rede, mas é viável garantir alta segurança de um único servidor
    • Kerberos: servidor de autenticação central que contém e valida a senha (chave) e autorizações de todos os usuários e servidores da rede
    • Baseado em criptografia convencional

Kerberos