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.

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."— 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

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 do seu estado fraco para entrar em 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 de distribuição de chaves secretas uso da criptografia de chaves públicas de 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 utilizadores distribuiem chaves públicas para os destinatários ou transmitem a comunidade em geral utilizadores distribuiem chaves públicas para os destinatários ou transmitem a comunidade em geral por exemplo. anexar chaves PGP em mensagens para o e-mail ou correio para grupos de notícias ou lista de e-mail por exemplo. anexar chaves PGP em mensagens para o e-mail ou correio para grupos de notícias ou lista de e-mail se muito fraco é falsificação se muito fraco é falsificação qualquer pessoa pode criar uma chave que diz ser alguém e difundiram-lo qualquer pessoa pode criar uma chave que diz ser alguém e difundiram-lo 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, através do registo das chaves com uma lista pública pode obter uma maior segurança, através do registo das chaves com uma lista pública directório deve ser confiável com as propriedades: directó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 electrónica; o diretório pode ser acessado por via electrónica; ainda vulnerável a adulteração ou falsificação ainda vulnerável a adulteração ou falsificação

7 7 Autoridade da Chave Pública melhoram a segurança ao apertar controle sobre a distribuição de chaves de diretório melhoram a segurança ao apertar controle sobre a distribuição de chaves de diretório tem propriedades de diretório tem propriedades de diretório e obriga os utilizadores a conhecer a chave pública para o diretório e obriga os utilizadores a conhecer a chave pública para o diretório os utilizadores interagem com o diretório desejado para obter as chaves públicas segura os utilizadores interagem com o diretório desejado para obter as chaves públicas segura requer acesso em tempo real ao diretorio quando as chaves são necessárias requer acesso em tempo real ao diretorio quando as chaves são necessárias

8 8 Autoridade da Chave Pública

9 9 Certificados de chave pública certificados permitem troca de chaves sem acesso em tempo real a autoridade de chaves públicas certificados permitem troca de chaves sem acesso em tempo real a autoridade de chaves públicas um certificado de chave pública se liga a identidade um certificado de chave pública se liga a identidade 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 confiável de chave pública ou Certificado de Autoridade (CA) com todo o conteúdo assinado por uma confiável de chave pública ou Certificado de Autoridade (CA) 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 pretende utilizar a encriptação da chave privada para proteger o conteúdo mensagem de modo geral pretende 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 de Chaves Secretas Simples proposto em 1979 por Merkle proposto em 1979 por Merkle Um gera um novo par de chaves públicas temporárias Um gera um novo par de chaves públicas temporárias A envia a chave pública B e a sua identidade A envia a chave pública B e a sua identidade 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 de Chave Hibrida mantém o uso da chave privada KDC mantém o uso da chave privada KDC parte da chave mestra para cada usuário parte da chave mestra para cada usuário distribui sessões da chave utilizando chave mestra distribui sessões da chave 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 Mudança da Chave Diffie-Hellman primeiro tipo de sistema de chaves públicas propostas primeiro tipo de sistema de chaves públicas propostas por Diffie & Hellman em 1976 juntamente com a exposição do conceito de chave pública por Diffie & Hellman em 1976 juntamente com a exposição do conceito de chave pública nota: agora sabemos que Williamson (UK CESG) secretamente propôs o conceito em 1970 nota: agora sabemos que Williamson (UK CESG) secretamente propôs o conceito em 1970 é um método prático para o troca pública de uma chave secreta é um método prático para o troca pública de uma chave secreta utilizado em uma série de produtos comerciais utilizado em uma série de produtos comerciais

16 16 Mudança da Chave Diffie-Hellman um esquema de distribuição de chaves públicas um esquema 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 prefencialmente isto pode estabelecer uma chave comum prefencialmente isto pode estabelecer uma chave comum conhecido apenas para os dois participantes conhecido apenas para os 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 finita (Galois) campo(modulo de um primo ou um polinómio)-fácil baseado em uma exponenciação finita (Galois) campo(modulo de um primo ou um polinómio)-fácil segurança depende da dificuldade de calcular logaritmos discretos(semelhante ao fatorando)-dificil segurança depende da dificuldade de calcular logaritmos discretos(semelhante ao fatorando)-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 compartilha para os usuários A & B é K AB : a chave da sessão compartilha para os usuários A & B é K AB : K AB = a x A. x B mod q = y A x B mod q (qual B pode computar) = y B x A mod q (qual A pode computar) K AB é usado como chave de sessão em chave privada no regime de encriptação entre Alice e Bob K AB é usado como chave de sessão em chave privada no regime de encriptação entre Alice e Bob se Alice e Bob comunicam posteriormente, eles terão a mesma chave como antes, a menos que eles escolham novas chaves públicas se Alice e Bob comunicam posteriormente, eles terão a mesma chave como antes, a menos que eles escolham novas chaves públicas atacante que precisa de um X, deve resolver um log discreto atacante que precisa de um X, deve 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 = 3 233 mod 353 = 248 (Bob) y B = 3 233 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 = 248 97 = 160 (Alice) K AB = y B x A mod 353 = 248 97 = 160 (Alice) K AB = y A x B mod 353 = 40 233 = 160 (Bob) K AB = y A x B mod 353 = 40 233 = 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 comunicam os usuários poderão criar chaves D-H públicas/privadas aleatórias cada vez que se comunicam 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 entre eles seguramente 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 entre eles seguramente ambas estas são vulneráveis a um ataque conhecendo-metade ambas estas são vulneráveis a um ataque conhecendo-metade autenticação das chaves é necessária autenticação das chaves é necessária

21 21 Criptografia de Curvas Elípticas a maioria das chaves públicas criptográficas (RSA, DH) usa um inteiro ou polinómio aritmético com números muito grandes/polinómios a maioria das chaves públicas criptográficas (RSA, DH) usa um inteiro ou polinómio aritmético com números muito grandes/polinómios impõe uma carga significativa de armazenamento e processamento as chaves e mensagens impõe uma carga significativa de armazenamento e processamento as chaves e mensagens uma alternativa é a utilização curvas elípticas uma alternativa é a utilização 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 analisadas mais nova, mas não tão bem analisadas

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 ECC adiciona um modulo analógico de multiplicação ECC adiciona um modulo analógico de multiplicação ECC de adições repetidas é modulo analógico de exponenciação ECC de adições repetidas é modulo analógico de exponenciação necessidade de um "duro" problema de equiv para um log discreto necessidade de um "duro" problema de equiv para um log discreto Q=kP, onde Q,P pertence a uma curva primaria Q=kP, onde Q,P pertence a uma curva primaria é fácil para computar Q dado k,P é fácil para computar Q dado k,P mas difícil para encontrar k dado Q,P mas difícil para encontrar k dado Q,P conhecido como problema do algoritmo de curva elíptica conhecido como problema do algoritmo de curva elíptica exemplo de Certicom : E 23 (9,17) exemplo de Certicom : E 23 (9,17)

26 26 ECC Diffie-Hellman podemos fazer a troca de chaves análoga D-H podemos fazer a troca de chaves análoga 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 seleciona as chaves primarias n A <n, n B <n A & B seleciona as chaves primarias n A <n, n B <n computa as chaves públicas: P A =n A G, P B =n B G computa as chaves públicas: P A =n A G, P B =n B G computa a chave compartinhada: K=n A P B, K=n B P A computa a chave compartinhada: K=n A P B, K=n B P A desse mesmo K=n A n B G desse mesmo K=n A n B G

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 <n cada usuário escolhe uma chave privada n A <n e computa a chave publica P A =n A G e computa a chave publica P A =n A G para encriptar P m : C m ={kG, P m +kP b }, k aleatoriamente para encriptar P m : C m ={kG, P m +kP b }, k aleatoriamente decripta C m e computa: decripta C m e computa: P m +kP b –n B (kG) = P m +k(n B G)–n B (kG) = P m

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 factoração, pode usar chaves de tamanho muito menor do que com RSA etc comparando a factoraçã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 uma 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) 56112512 801601024 1122242048 1282563072 1923847680 25651215360

30 30 Sumario Foi considerado: Foi considerado: distribuição de chaves publicas distribuição de chaves publicas chave publica distribuição de chaves secretas chave publica distribuição de chaves secretas troca de cahve Diffie-Hellman troca de cahve 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."

Apresentações semelhantes


Anúncios Google