Post on 17-Apr-2015
Criptografia e Criptografia e Segurança de Rede Segurança de Rede
Capítulo 7Capítulo 7
Quarta EdiçãoQuarta Edição
por William Stallingspor William Stallings
Tradução: Carlos Daniel AbreuTradução: Carlos Daniel Abreu
Capítulo 7 – Confidencialidade Capítulo 7 – Confidencialidade usando criptografia simétricausando criptografia simétrica
Entre as tribos da Austrália Central, todo homem, mulher e Entre as tribos da Austrália Central, todo homem, mulher e criança possui um nome secreto ou sagrado concedido por seus criança possui um nome secreto ou sagrado concedido por seus ancestrais após o nascimento, e que não é conhecido por ancestrais após o nascimento, e que não é conhecido por ninguém além dos membros totalmente iniciados do grupo. Esse ninguém além dos membros totalmente iniciados do grupo. Esse nome secreto nunca é mencionado, exceto nas ocasiões mais nome secreto nunca é mencionado, exceto nas ocasiões mais solenes; pronunciá-lo para homens de outro grupo seria uma solenes; pronunciá-lo para homens de outro grupo seria uma séria violação do costume tribal. Quando mencionado, o nome é séria violação do costume tribal. Quando mencionado, o nome é falado apenas em um sussurro, e somente depois de tomadas falado apenas em um sussurro, e somente depois de tomadas todas as precauções para que não seja ouvido por ninguém além todas as precauções para que não seja ouvido por ninguém além dos membros do grupo. O nativo acredita que um estranho, dos membros do grupo. O nativo acredita que um estranho, conhecendo seu nome secreto, teria poder especial para causar-conhecendo seu nome secreto, teria poder especial para causar-lhe enfermidades por meio de magia.lhe enfermidades por meio de magia.
The golden bough, Sir James George FrazerThe golden bough, Sir James George Frazer
Confidencialidade usando Confidencialidade usando criptografia simétricacriptografia simétrica
Tradicionalmente, criptografia simétrica Tradicionalmente, criptografia simétrica é utilizada para providenciar a é utilizada para providenciar a confidencialidade da mensagemconfidencialidade da mensagem
Posicionamento da função de Posicionamento da função de criptografiacriptografia
Possui duas formas de aplicaçãoPossui duas formas de aplicação Criptografia de enlaceCriptografia de enlace
Criptografia ocorre independente em cada enlaceCriptografia ocorre independente em cada enlace Implica que deve ser decriptografada em cada Implica que deve ser decriptografada em cada
enlaceenlace Exige muitos dispositivos, mas chaves paresExige muitos dispositivos, mas chaves pares
Criptografia ponta a pontaCriptografia ponta a ponta Criptografia ocorre entre a origem e o destinoCriptografia ocorre entre a origem e o destino Os dispositivos precisam de uma chave Os dispositivos precisam de uma chave
compartilhadacompartilhada
Criptografia por uma rede de Criptografia por uma rede de comutação de pacotescomutação de pacotes
Criptografia por uma rede de Criptografia por uma rede de comutação de pacotescomutação de pacotes
Quando utilizada a criptografia ponta a ponta Quando utilizada a criptografia ponta a ponta deve-se deixar os cabeçalhos limposdeve-se deixar os cabeçalhos limpos Assim a rede pode rotear corretamente os pacotesAssim a rede pode rotear corretamente os pacotes
Assim, embora o conteúdo esteja protegido, o Assim, embora o conteúdo esteja protegido, o tráfego flui normalmentetráfego flui normalmente
O ideal seria ter os dois em um sóO ideal seria ter os dois em um só Ponta a ponta protege os dados dentro do pacote e Ponta a ponta protege os dados dentro do pacote e
providencia autenticaçãoprovidencia autenticação Enlace protege o fluxo de tráfego a partir do Enlace protege o fluxo de tráfego a partir do
monitoramentomonitoramento
Criptografia por uma rede de Criptografia por uma rede de comutação de pacotescomutação de pacotes
Pode utilizar a função de criptografia em várias Pode utilizar a função de criptografia em várias camadas do modelo OSIcamadas do modelo OSI Criptografia de enlace ocorre nas camadas 1 ou 2Criptografia de enlace ocorre nas camadas 1 ou 2 Ponta a ponta pode estar nas camadas 3,4,6,7Ponta a ponta pode estar nas camadas 3,4,6,7 Conforme subimos os níveis de camadas menos Conforme subimos os níveis de camadas menos
informação é criptografada porém é mais seguro, informação é criptografada porém é mais seguro, complexo e com mais entidades e chavescomplexo e com mais entidades e chaves
Relacionamento entre criptografia e Relacionamento entre criptografia e níveis de protocoloníveis de protocolo
Confidencialidade do TráficoConfidencialidade do Tráfico
Monitorar o fluxo de comunicação entre as Monitorar o fluxo de comunicação entre as partespartes Útil tanto na esfera militar quanto na comercialÚtil tanto na esfera militar quanto na comercial Pode ser usada também para criar um canal de Pode ser usada também para criar um canal de
conversãoconversão Criptografia de enlace oculta detalhes do Criptografia de enlace oculta detalhes do
cabeçalhocabeçalho Mas aumenta o volume de tráfico na rede e ao final Mas aumenta o volume de tráfico na rede e ao final
ainda são visíveisainda são visíveis Tráfego de blocos pode ainda ocultar os fluxosTráfego de blocos pode ainda ocultar os fluxos
Mas ao custo de tráfico contínuoMas ao custo de tráfico contínuo
Distribuição de ChavesDistribuição de Chaves
Para que a criptografia simétrica funcione, as Para que a criptografia simétrica funcione, as duas partes precisam compartilhar a mesma duas partes precisam compartilhar a mesma chavechave
A questão é saber como distribuir essa chave A questão é saber como distribuir essa chave seguramenteseguramente
Frequentemente sistemas de segurança falham Frequentemente sistemas de segurança falham durante a distribuição das chavesdurante a distribuição das chaves
Distribuição de ChavesDistribuição de Chaves Para duas partes, A e B, a distribuição de chaves Para duas partes, A e B, a distribuição de chaves
pode ser feita de várias maneiras:pode ser feita de várias maneiras:1.1. A pode selecionar uma chave e entregá-la A pode selecionar uma chave e entregá-la
fisicamente a Bfisicamente a B
2.2. Um terceiro elemento pode selecionar uma chave e Um terceiro elemento pode selecionar uma chave e entregá-la fisicamente a A e Bentregá-la fisicamente a A e B
3.3. Se A e B tiverem se comunicado recentemente, Se A e B tiverem se comunicado recentemente, podem usar a chave antiga para criptografar a nova podem usar a chave antiga para criptografar a nova chave.chave.
4.4. Se A e B tiverem uma conexão segura com uma Se A e B tiverem uma conexão segura com uma terceira parte C, C pode retransmitir uma chave entre terceira parte C, C pode retransmitir uma chave entre A e B A e B
Controle Hierárquico de Controle Hierárquico de ChavesChaves
Tem-se uma tipica hierarquia de chavesTem-se uma tipica hierarquia de chaves Chave de sessãoChave de sessão
Chaves temporáriasChaves temporárias Usado para criptografar dados entre usuáriosUsado para criptografar dados entre usuários Para uma sessão lógica depois esta é descartadaPara uma sessão lógica depois esta é descartada
Chave mestraChave mestra Usado para criptografar chaves de sessõesUsado para criptografar chaves de sessões Compartilhado por usuários e centrais de Compartilhado por usuários e centrais de
distribuição de chavesdistribuição de chaves
Cenário de distribuição de Cenário de distribuição de chaveschaves
Questões de distribuição de Questões de distribuição de chavechave
Hierarquia do KDC’s para redes maiores, mas Hierarquia do KDC’s para redes maiores, mas deve-se confiar nos outrosdeve-se confiar nos outros
Tempo de vida da chave de sessão deve ser Tempo de vida da chave de sessão deve ser limitado para uma maior segurançalimitado para uma maior segurança
Uso de uma distribuição de chave automática em Uso de uma distribuição de chave automática em nome dos utilizadores, mas deve-se confiar no nome dos utilizadores, mas deve-se confiar no sistemasistema
Usando uma distribuição de chave descentralizadaUsando uma distribuição de chave descentralizada Controlando o uso da chaveControlando o uso da chave
Geração de Números Geração de Números AleatóriosAleatórios
Os Os números aleatóriosnúmeros aleatórios são muito utilizados na são muito utilizados na criptografiacriptografia Este momento do protocolo de autenticação para evitar Este momento do protocolo de autenticação para evitar
repetiçõesrepetições Chaves de sessõesChaves de sessões Geração de chave públicaGeração de chave pública Fluxo de chave para one-time padFluxo de chave para one-time pad
Em todos os casos é essencial que os valores sejam Em todos os casos é essencial que os valores sejam Estatisticamente randômicos, uniformemente distribuídos, Estatisticamente randômicos, uniformemente distribuídos,
independentesindependentes Imprevisibilidade dos valores futuros de valores anterioresImprevisibilidade dos valores futuros de valores anteriores
Gerador de números pseudo-Gerador de números pseudo-aleatórios (GNPAs)aleatórios (GNPAs)
Frequentemente usa técnica de algoritmo Frequentemente usa técnica de algoritmo determinístico para criar “números aleatórios”determinístico para criar “números aleatórios” Apesar de não ser verdadeiramente aleatório pode Apesar de não ser verdadeiramente aleatório pode
passar por vários testes de aleatoriedadepassar por vários testes de aleatoriedade Conhecido como “números pseudo-aleatórios”Conhecido como “números pseudo-aleatórios” Criados por “Gerador de Números Pseudo-Criados por “Gerador de Números Pseudo-
Aleatórios ou GNPAs(in english=PRNGs)”Aleatórios ou GNPAs(in english=PRNGs)”
Geradores congruenciais Geradores congruenciais lineareslineares
Técnica iterativa comumente usada:Técnica iterativa comumente usada:XXnn+1+1 = ( = (aXaXnn + + cc) mod ) mod mm
Dando valores adequados aos parâmetros pode-se Dando valores adequados aos parâmetros pode-se produzir uma seqüência longa de “random-like”produzir uma seqüência longa de “random-like”
Os critérios adequados são:Os critérios adequados são: uma função geradora de período completouma função geradora de período completo a seqüência gerada deve parecer aleatóriaa seqüência gerada deve parecer aleatória implementação eficientemente com aritmética de 32 bitsimplementação eficientemente com aritmética de 32 bits
Note que um cracker pode reconstruir a seqüência Note que um cracker pode reconstruir a seqüência dando um pequeno número de valoresdando um pequeno número de valores
Existe a possibilidade de tornar isso mais difícilExiste a possibilidade de tornar isso mais difícil
Usando cifras de blocos como Usando cifras de blocos como GNPAsGNPAs
Para aplicações criptográficas, pode-se usar uma cifra Para aplicações criptográficas, pode-se usar uma cifra de bloco para gerar números randômicosde bloco para gerar números randômicos
Frequentemente para criar chaves de sessão a partir Frequentemente para criar chaves de sessão a partir da chave mestrada chave mestra
Criptografia cíclica (COUNTER MODE???)Criptografia cíclica (COUNTER MODE???) XXii = E = EKmKm[i][i]
Modo Retorno de SaídaModo Retorno de SaídaXXii = E = EKmKm[[XXi-1i-1]]
ANSI X9.17 PRGANSI X9.17 PRG
Gerador Blum Blum ShubGerador Blum Blum Shub
Baseado no algoritmo de chave públicaBaseado no algoritmo de chave pública Usa o bit menos significativo da equação iterativa:Usa o bit menos significativo da equação iterativa:
xxii = x = xi-1i-122 mod n mod n
onde onde n=p.qn=p.q, e primos , e primos p,q=3 mod 4p,q=3 mod 4 Imprevisível, passa para o teste do próximo bitImprevisível, passa para o teste do próximo bit A segurança repousa na dificuldade de fatorar NA segurança repousa na dificuldade de fatorar N É imprevisível dado qualquer bits execuçãoÉ imprevisível dado qualquer bits execução Lento, quando números muito grandes forem usadosLento, quando números muito grandes forem usados Muito lento para uso em cifras, bom para geração de Muito lento para uso em cifras, bom para geração de
chavechave
Ruídos Naturais AleatóriosRuídos Naturais Aleatórios
Melhor fonte de aleatoriedade natural é o mundo realMelhor fonte de aleatoriedade natural é o mundo real Encontrada numa regularidade, mas ao acaso e Encontrada numa regularidade, mas ao acaso e
monitoradamonitorada Geralmente precisa especialmente h/w para fazê-loGeralmente precisa especialmente h/w para fazê-lo ex. Contadores de radiação, ruído de rádio, ruído de áudio, ruído ex. Contadores de radiação, ruído de rádio, ruído de áudio, ruído
térmico em diodo, capacitores de fuga, tubos de descarga de térmico em diodo, capacitores de fuga, tubos de descarga de mercúrio, etc.mercúrio, etc.
Iniciando para ver tal h/w em novas CPU’sIniciando para ver tal h/w em novas CPU’s Problemas de Problemas de viésviés ou distribuição desigual do sinal ou distribuição desigual do sinal
Tem que compensar esta amostra quando utilizadaTem que compensar esta amostra quando utilizada Melhor usar somente um pouco dos ruídos de bits de cada Melhor usar somente um pouco dos ruídos de bits de cada
amostraamostra
Fontes publicadasFontes publicadas
Uma pequena coleção publicada de números Uma pequena coleção publicada de números aleatórios aleatórios
Rand Corp., em 1955, publicou 1 milhão de números Rand Corp., em 1955, publicou 1 milhão de números Gerado usando uma roleta eletrônicaGerado usando uma roleta eletrônica Tem sido usada em algumas cifras cf Khafre Tem sido usada em algumas cifras cf Khafre
Mais cedo Tippett em 1927 publicou sua coleçãoMais cedo Tippett em 1927 publicou sua coleção As questões são: As questões são:
São limitadosSão limitados Muito bem-conhecidos pela maioria dos usuáriosMuito bem-conhecidos pela maioria dos usuários
SumárioSumário
Vimos neste capítulo:Vimos neste capítulo: Uso e colocação de criptografia simétrica para Uso e colocação de criptografia simétrica para
proteger a confidencialidadeproteger a confidencialidade Necessidade de uma boa distribuição de chaveNecessidade de uma boa distribuição de chave Uso de uma confiante terceira parte KDC’sUso de uma confiante terceira parte KDC’s O uso de cifras de Bloco como GNPAsO uso de cifras de Bloco como GNPAs Questões de geração de números aleatóriosQuestões de geração de números aleatórios