A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Criptografia e Segurança em Redes Capítulo 10 Quarta Edição por William Stallings Tradução por Enrico Alvarez Revisão: Marcos J Pinto.

Apresentações semelhantes


Apresentação em tema: "1 Criptografia e Segurança em Redes Capítulo 10 Quarta Edição por William Stallings Tradução por Enrico Alvarez Revisão: Marcos J Pinto."— Transcrição da apresentação:

1 1 Criptografia e Segurança em Redes Capítulo 10 Quarta Edição por William Stallings Tradução por Enrico Alvarez Revisão: Marcos J Pinto

2 2 Capítulo10 – Gerenciamento de chaves; Outros Criptosistemas de Chave Pública Nenhum Singalês, seja homem ou mulher, se aventuraria a sair de casa sem um punhado de chaves em sua mão, pois sem esse talismã, ele teme que algum demônio possa tirar proveito de sua fraqueza para invadir seu corpo. O Ramo Dourado, Sir James George Frazer

3 3 Gestão de chaves a encriptação de chaves públicas ajuda a enfrentar os principais problemas de distribuição a encriptação de chaves públicas ajuda a enfrentar os principais problemas de distribuição Há dois aspectos presentes: Há dois aspectos presentes: distribuição de chaves públicas; distribuição de chaves públicas; uso da criptografia de chaves públicas para a distribuição de chaves secretas uso da criptografia de chaves públicas para a distribuição de chaves secretas

4 4 Distribuição de chaves públicas pode ser considerada como uma utilização de: pode ser considerada como uma utilização de: anúncio público; anúncio público; diretórios publicamente disponíveis; diretórios publicamente disponíveis; autoridade de chave-pública; autoridade de chave-pública; certificados de chaves públicas. certificados de chaves públicas.

5 5 Anúncio Público usuários distribuem chaves públicas entre os destinatários ou transmitem entre a comunidade em geral usuários distribuem chaves públicas entre os destinatários ou transmitem entre a comunidade em geral por exemplo. anexar chaves PGP em mensagens de enviar para grupos de discussão ou listas de por exemplo. anexar chaves PGP em mensagens de enviar para grupos de discussão ou listas de principal fraqueza é a falsificação principal fraqueza é a falsificação qualquer pessoa pode criar uma chave, fingindo ser outra pessoa, e difundi-la qualquer pessoa pode criar uma chave, fingindo ser outra pessoa, e difundi-la até a falsificação ser descoberta alguém pode disfarçar-se como o usuário declarado até a falsificação ser descoberta alguém pode disfarçar-se como o usuário declarado

6 6 Diretório Publicamente disponível pode obter uma maior segurança por meio do registo das chaves em uma lista pública pode obter uma maior segurança por meio do registo das chaves em uma lista pública diretório deve ser confiável com as propriedades: diretório deve ser confiável com as propriedades: conter as entradas {nome, chaves públicas}; conter as entradas {nome, chaves públicas}; registo seguro de participantes no diretório; registo seguro de participantes no diretório; participantes podem substituir a chave a qualquer momento; participantes podem substituir a chave a qualquer momento; o diretório é periodicamente publicado; o diretório é periodicamente publicado; o diretório pode ser acessado por via eletrônica; o diretório pode ser acessado por via eletrônica; ainda vulnerável a adulteração ou falsificação ainda vulnerável a adulteração ou falsificação

7 7 Autoridades de Chaves Públicas melhoram a segurança ao tornar mais rígido o controle da distribuição de chaves no diretório melhoram a segurança ao tornar mais rígido o controle da distribuição de chaves no diretório tem propriedades de diretório tem propriedades de diretório e obriga os usuários a conhecer a chave pública do diretório e obriga os usuários a conhecer a chave pública do diretório os usuários interagem com o diretório desejado para obter as chaves públicas de forma segura os usuários interagem com o diretório desejado para obter as chaves públicas de forma segura exige acesso em tempo real ao diretorio quando as chaves são necessárias exige acesso em tempo real ao diretorio quando as chaves são necessárias

8 8 Autoridade de Chaves Públicas

9 9 Certificados de chave pública certificados permitem a troca de chaves sem acesso em tempo real a autoridades de chaves públicas certificados permitem a troca de chaves sem acesso em tempo real a autoridades de chaves públicas um certificado associa a identidade à chave pública um certificado associa a identidade à chave pública normalmente com outras informações como o prazo de validade, dos direitos de utilização, etc normalmente com outras informações como o prazo de validade, dos direitos de utilização, etc com todo o conteúdo assinado por uma Autoridade Certificadora ou chave pública confiável com todo o conteúdo assinado por uma Autoridade Certificadora ou chave pública confiável pode ser verificada por qualquer pessoa que conheça a autoridade de chaves públicas pode ser verificada por qualquer pessoa que conheça a autoridade de chaves públicas

10 10 Certificados de chave pública

11 11 Chave Pública Distribuindo Chaves Secretas utilizar métodos anteriores para obter a chave pública utilizar métodos anteriores para obter a chave pública pode usar de sigilo ou de autenticação pode usar de sigilo ou de autenticação mas os algoritmos de chaves públicas são lentos mas os algoritmos de chaves públicas são lentos de modo geral deseja-se utilizar a encriptação da chave privada para proteger o conteúdo mensagem de modo geral deseja-se utilizar a encriptação da chave privada para proteger o conteúdo mensagem necessita, portanto, de uma chave de sessão necessita, portanto, de uma chave de sessão há várias alternativas para a negociação de uma sessão adequada há várias alternativas para a negociação de uma sessão adequada

12 12 Distribuição Simples de Chaves Secretas proposto em 1979 por Merkle proposto em 1979 por Merkle A gera um novo par de chaves públicas temporárias A gera um novo par de chaves públicas temporárias A envia a chave pública e a sua identidade para B A envia a chave pública e a sua identidade para B B gera uma chave de sessão K e a envia para A criptografada, usando a chave pública fornecida B gera uma chave de sessão K e a envia para A criptografada, usando a chave pública fornecida A descriptografa a chave de sessão e ambos utilizam A descriptografa a chave de sessão e ambos utilizam problema é que um adversário pode interceptar e personificar ambas as metades do protocolo problema é que um adversário pode interceptar e personificar ambas as metades do protocolo

13 13 Chave Pública Distribuindo Chaves Secretas troca segura de chaves públicas: troca segura de chaves públicas:

14 14 Distribuição Hibrida de Chave mantém o uso da chave privada KDC mantém o uso da chave privada KDC compartilha chave mestra com cada usuário compartilha chave mestra com cada usuário distribui chave de sessão utilizando chave mestra distribui chave de sessão utilizando chave mestra a chave pública é usada para distribuir a chave mestre a chave pública é usada para distribuir a chave mestre especialmente útil com usuários amplamente distribuídos especialmente útil com usuários amplamente distribuídos racionalidade racionalidade desempenho desempenho retrocompatibilidade retrocompatibilidade

15 15 Troca de Chaves Diffie-Hellman primeiro método para a troca de chaves públicas primeiro método para a troca de chaves públicas proposto por Diffie & Hellman em 1976 juntamente com a exposição do conceito de chave pública proposto por Diffie & Hellman em 1976 juntamente com a exposição do conceito de chave pública nota: hoje sabemos que Williamson (UK CESG) propôs o conceito secretamente em 1970 nota: hoje sabemos que Williamson (UK CESG) propôs o conceito secretamente em 1970 é um método prático para a troca pública de uma chave secreta é um método prático para a troca pública de uma chave secreta utilizado em diversos produtos comerciais utilizado em diversos produtos comerciais

16 16 Troca de Chaves Diffie-Hellman um método de distribuição de chaves públicas um método de distribuição de chaves públicas não pode ser usado para troca de uma mensagem arbitrária não pode ser usado para troca de uma mensagem arbitrária em vez disso pode estabelecer uma chave comum em vez disso pode estabelecer uma chave comum conhecido apenas pelos dois participantes conhecido apenas pelos dois participantes o valor da chave depende dos participantes (e as informações de suas chaves privadas e públicas) o valor da chave depende dos participantes (e as informações de suas chaves privadas e públicas) baseado em uma exponenciação em um corop finito (Galois) (modulo de um primo ou um polinômio)-fácil baseado em uma exponenciação em um corop finito (Galois) (modulo de um primo ou um polinômio)-fácil segurança depende da dificuldade de calcular logaritmos discretos(semelhante a fatoração)-dificil segurança depende da dificuldade de calcular logaritmos discretos(semelhante a fatoração)-dificil

17 17 Configuração Diffie-Hellman todos os usuários aceitam os parâmetros mundiais: todos os usuários aceitam os parâmetros mundiais: grande primo inteiro ou polinômio q grande primo inteiro ou polinômio q a sendo uma raiz primitiva mod q a sendo uma raiz primitiva mod q cada usuário (ex. A) gera a sua chave cada usuário (ex. A) gera a sua chave escolhe uma chave secreta (número): x A < q escolhe uma chave secreta (número): x A < q computar a sua chave pública: y A = a x A mod q computar a sua chave pública: y A = a x A mod q cada usuário torna pública a chave y A cada usuário torna pública a chave y A

18 18 Troca de Chave Diffie-Hellman a chave da sessão compartilhada para os usuários A & B é K AB : a chave da sessão compartilhada para os usuários A & B é K AB : K AB = a x A. x B mod q = y A x B mod q (que B pode computar) = y B x A mod q (que A pode computar) K AB é usado como chave de sessão em método de criptografia de chave privada entre Alice e Bob K AB é usado como chave de sessão em método de criptografia de chave privada entre Alice e Bob se Alice e Bob se comunicarem posteriormente, eles terão a mesma chave de antes, a menos que escolham novas chaves públicas se Alice e Bob se comunicarem posteriormente, eles terão a mesma chave de antes, a menos que escolham novas chaves públicas o atacante que precisar de um X, deverá resolver um log discreto o atacante que precisar de um X, deverá resolver um log discreto

19 19 Exemplo de Diffie-Hellman os usuários Alice & Bob que desejam trocar as chaves: os usuários Alice & Bob que desejam trocar as chaves: combinar com o primo q=353 e a=3 combinar com o primo q=353 e a=3 escolha aleatória de chaves secretas: escolha aleatória de chaves secretas: A escolhe x A =97, B escolhe x B =233 A escolhe x A =97, B escolhe x B =233 computar respectivas chaves públicas: computar respectivas chaves públicas: y A = 3 97 mod 353 = 40 (Alice) y A = 3 97 mod 353 = 40 (Alice) y B = mod 353 = 248 (Bob) y B = mod 353 = 248 (Bob) computar a chave de sessão partilhada como: computar a chave de sessão partilhada como: K AB = y B x A mod 353 = = 160 (Alice) K AB = y B x A mod 353 = = 160 (Alice) K AB = y A x B mod 353 = = 160 (Bob) K AB = y A x B mod 353 = = 160 (Bob)

20 20 Protocolos de Troca de chave os usuários poderão criar chaves D-H públicas/privadas aleatórias cada vez que se comunicarem os usuários poderão criar chaves D-H públicas/privadas aleatórias cada vez que se comunicarem os usuários poderão criar uma chave D-H pública/privada conhecida e publicar em um diretório, que serão consultadas e utilizadas para comunicação segura entre eles os usuários poderão criar uma chave D-H pública/privada conhecida e publicar em um diretório, que serão consultadas e utilizadas para comunicação segura entre eles ambas são vulneráveis a um ataque man in the middle ambas são vulneráveis a um ataque man in the middle autenticação das chaves é necessária autenticação das chaves é necessária

21 21 Criptografia de Curvas Elípticas a maioria das criptografias de chaves públicas (RSA, DH) usa um inteiro ou polinômio aritmético com números/polinômios muito grandes a maioria das criptografias de chaves públicas (RSA, DH) usa um inteiro ou polinômio aritmético com números/polinômios muito grandes impõe uma carga significativa de armazenamento e processamento de chaves e mensagens impõe uma carga significativa de armazenamento e processamento de chaves e mensagens uma alternativa é a utilização de curvas elípticas uma alternativa é a utilização de curvas elípticas oferece segurança mesmo com poucos bits de tamanho oferece segurança mesmo com poucos bits de tamanho mais nova, mas não tão bem analisada mais nova, mas não tão bem analisada

22 22 Curvas Elípticas Reais uma curva elíptica é definida por uma equação em duas variáveis x e y, com coeficientes uma curva elíptica é definida por uma equação em duas variáveis x e y, com coeficientes considere uma curva elíptica cúbica de forma considere uma curva elíptica cúbica de forma y 2 = x 3 + ax + b y 2 = x 3 + ax + b onde x,y,a,b são todos números reais onde x,y,a,b são todos números reais também defini o ponto zero O também defini o ponto zero O há a adição da operação para a curva elíptica há a adição da operação para a curva elíptica geometricamente a soma de Q+R é reflexo da interseção de R geometricamente a soma de Q+R é reflexo da interseção de R

23 23 Exemplo de Curvas Elípticas Reais

24 24 Curvas Elípticas Finitas criptografia de curvas elípticas usa curvas cujas variáveis e coeficientes são finitos criptografia de curvas elípticas usa curvas cujas variáveis e coeficientes são finitos há duas famílias comumente utilizadas: há duas famílias comumente utilizadas: curva primária E p (a,b) definida como Z p curva primária E p (a,b) definida como Z p utilização de modulo de inteiros primosutilização de modulo de inteiros primos melhor em softwaremelhor em software curva binária E 2 m (a,b) definida como GF(2 n ) curva binária E 2 m (a,b) definida como GF(2 n ) utilizar polinómios com coeficientes bináriosutilizar polinómios com coeficientes binários melhor em hardwaremelhor em hardware

25 25 Criptografia de Curvas Elípticas Adição de ECC é análoga à multiplicação módulo Adição de ECC é análoga à multiplicação módulo Adições repetidas de ECC é análoga a exponenciação módulo Adições repetidas de ECC é análoga a exponenciação módulo é preciso um problema difícil equivalente a logarítmos discretos é preciso um problema difícil equivalente a logarítmos discretos Q=kP, onde Q,P pertencem a uma curva de primos Q=kP, onde Q,P pertencem a uma curva de primos é fácil calcular Q dado k,P é fácil calcular Q dado k,P mas difícil encontrar k dado Q,P mas difícil encontrar k dado Q,P conhecido como problema do algoritmo de curvas elípticas conhecido como problema do algoritmo de curvas elípticas exemplo de Certicom : E 23 (9,17) exemplo de Certicom : E 23 (9,17)

26 26 ECC Diffie-Hellman podemos fazer troca de chaves de forma análoga ao D-H podemos fazer troca de chaves de forma análoga ao D-H usuário seleciona uma curva adequada E p (a,b) usuário seleciona uma curva adequada E p (a,b) seleciona o ponto básico G=(x 1,y 1 ) seleciona o ponto básico G=(x 1,y 1 ) com grande ordem n S.T. nG=O com grande ordem n S.T. nG=O A & B selecionam as chaves primarias n A

27 27 ECC Criptografia/Decriptografia várias alternativas, iremos considerar a mais simples várias alternativas, iremos considerar a mais simples primeiro deve codificar qualquer mensagem M como um ponto da curva elíptica P m primeiro deve codificar qualquer mensagem M como um ponto da curva elíptica P m escolha da curva adequada & ponto G como em D-H escolha da curva adequada & ponto G como em D-H cada usuário escolhe uma chave privada n A

28 28 Segurança ECC invoca o problema do logaritmo de curva elíptica invoca o problema do logaritmo de curva elíptica método mais rápido é o "método de Pollard rho" método mais rápido é o "método de Pollard rho" comparando a fatoração, pode usar chaves de tamanho muito menor do que com RSA etc comparando a fatoração, pode usar chaves de tamanho muito menor do que com RSA etc para chaves de comprimento equivalente os cálculos são mais ou menos equivalentes para chaves de comprimento equivalente os cálculos são mais ou menos equivalentes por isso para uma segurança similar ao ECC oferece significativas vantagens computacionais por isso para uma segurança similar ao ECC oferece significativas vantagens computacionais

29 29 Comparação de tamanho das chaves para segurança equivalente Esquema Simétrico (chave com tamanho em bits) Esquema baseado em ECC(tamanho de n em bits) RSA/DSA (modulos de tamanho em bits)

30 30 Sumário Foi considerado: Foi considerado: distribuição de chaves públicas distribuição de chaves públicas distribuição de chaves secretas com chave pública distribuição de chaves secretas com chave pública troca de chave Diffie-Hellman troca de chave Diffie-Hellman criptografia de curvas elípticas criptografia de curvas elípticas


Carregar ppt "1 Criptografia e Segurança em Redes Capítulo 10 Quarta Edição por William Stallings Tradução por Enrico Alvarez Revisão: Marcos J Pinto."

Apresentações semelhantes


Anúncios Google