Criptografia eSegurança de RedeCapítulo 7Criptografia eSegurança de RedeCapítulo 7
Quarta EdiçãoQuarta Edição
por William Stallingspor William Stallings
Tradução: Carlos Daniel AbreuTradução: Carlos Daniel Abreu
Capítulo – Confidencialidadeusando criptografia simétricaCapítulo – Confidencialidadeusando criptografia simétrica
Entre as tribos da Austrália Central, todo homem, mulher ecriança possui um nome secreto ou sagrado concedido por seusancestrais após nascimento, que não é conhecido porninguém além dos membros totalmente iniciados do grupo. Essenome secreto nunca é mencionado, exceto nas ocasiões maissolenes; pronunciá-lo para homens de outro grupo seria umaséria violação do costume tribal. Quando mencionado, nome éfalado apenas em um sussurro, somente depois de tomadastodas as precauções para que não seja ouvido por ninguém alémdos membros do grupo. nativo acredita que um estranho,conhecendo seu nome secreto, teria poder especial para causar-lhe enfermidades por meio de magia.Entre as tribos da Austrália Central, todo homem, mulher ecriança possui um nome secreto ou sagrado concedido por seusancestrais após nascimento, que não é conhecido porninguém além dos membros totalmente iniciados do grupo. Essenome secreto nunca é mencionado, exceto nas ocasiões maissolenes; pronunciá-lo para homens de outro grupo seria umaséria violação do costume tribal. Quando mencionado, nome éfalado apenas em um sussurro, somente depois de tomadastodas as precauções para que não seja ouvido por ninguém alémdos membros do grupo. nativo acredita que um estranho,conhecendo seu nome secreto, teria poder especial para causar-lhe enfermidades por meio de magia.
The golden bough, Sir James George FrazerThe golden bough, Sir James George Frazer
Confidencialidade usandocriptografia simétricaConfidencialidade usandocriptografia simétrica
Tradicionalmente, criptografia simétricaé utilizada para providenciar aconfidencialidade da mensagemTradicionalmente, criptografia simétricaé utilizada para providenciar aconfidencialidade da mensagem
Posicionamento da função decriptografiaPosicionamento da função decriptografia
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 cadaenlaceImplica que deve ser decriptografada em cadaenlace
Exige muitos dispositivos,  mas chaves paresExige muitos dispositivos,  mas chaves pares
Criptografia ponta pontaCriptografia ponta ponta
Criptografia ocorre entre origem destinoCriptografia ocorre entre origem destino
Os dispositivos precisam de uma chavecompartilhadaOs dispositivos precisam de uma chavecompartilhada
Criptografia por uma rede decomutação de pacotesCriptografia por uma rede decomutação de pacotes
Criptografia por uma rede decomutação de pacotesCriptografia por uma rede decomutação de pacotes
Quando utilizada criptografia ponta pontadeve-se deixar os cabeçalhos limposQuando utilizada criptografia ponta pontadeve-se deixar os cabeçalhos limpos
Assim rede pode rotear corretamente os pacotesAssim rede pode rotear corretamente os pacotes
Assim, embora conteúdo esteja protegido, otráfego flui normalmenteAssim, embora conteúdo esteja protegido, otráfego flui normalmente
ideal seria ter os dois em um ideal seria ter os dois em um 
Ponta ponta protege os dados dentro do pacote eprovidencia autenticaçãoPonta ponta protege os dados dentro do pacote eprovidencia autenticação
Enlace protege fluxo de tráfego partir domonitoramentoEnlace protege fluxo de tráfego partir domonitoramento
Criptografia por uma rede decomutação de pacotesCriptografia por uma rede decomutação de pacotes
Pode utilizar função de criptografia em váriascamadas do modelo OSIPode utilizar função de criptografia em váriascamadas do modelo OSI
Criptografia de enlace ocorre nas camadas ou 2Criptografia de enlace ocorre nas camadas ou 2
Ponta ponta pode estar nas camadas 3,4,6,7Ponta ponta pode estar nas camadas 3,4,6,7
Conforme subimos os níveis de camadas menosinformação é criptografada porém é mais seguro,complexo com mais entidades chavesConforme subimos os níveis de camadas menosinformação é criptografada porém é mais seguro,complexo com mais entidades chaves
Relacionamento entre criptografia eníveis de protocoloRelacionamento entre criptografia eníveis de protocolo
Confidencialidade do TráficoConfidencialidade do Tráfico
Monitorar fluxo de comunicação entre aspartesMonitorar fluxo de comunicação entre aspartes
Ú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 deconversãoPode ser usada também para criar um canal deconversão
Criptografia de enlace oculta detalhes docabeçalhoCriptografia de enlace oculta detalhes docabeçalho
Mas aumenta volume de tráfico na rede ao finalainda são visíveisMas aumenta volume de tráfico na rede ao finalainda 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 criptografia simétrica funcione, asduas partes precisam compartilhar mesmachavePara que criptografia simétrica funcione, asduas partes precisam compartilhar mesmachave
questão é saber como distribuir essa chaveseguramentequestão é saber como distribuir essa chaveseguramente
Frequentemente sistemas de segurança falhamdurante distribuição das chavesFrequentemente sistemas de segurança falhamdurante distribuição das chaves
Distribuição de ChavesDistribuição de Chaves
Para duas partes, B, distribuição de chavespode ser feita de várias maneiras:Para duas partes, B, distribuição de chavespode ser feita de várias maneiras:
1.pode selecionar uma chave entregá-la fisicamenteB1.pode selecionar uma chave entregá-la fisicamenteB
2.Um terceiro elemento pode selecionar uma chave eentregá-la fisicamente B2.Um terceiro elemento pode selecionar uma chave eentregá-la fisicamente B
3.Se tiverem se comunicado recentemente,podem usar chave antiga para criptografar novachave.3.Se tiverem se comunicado recentemente,podem usar chave antiga para criptografar novachave.
4.Se tiverem uma conexão segura com umaterceira parte C, pode retransmitir uma chave entreB4.Se tiverem uma conexão segura com umaterceira parte C, pode retransmitir uma chave entreB
Controle Hierárquico deChavesControle Hierárquico deChaves
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 centrais dedistribuição de chavesCompartilhado por usuários centrais dedistribuição de chaves
Cenário de distribuição dechavesCenário de distribuição dechaves
Questões de distribuição dechaveQuestões de distribuição dechave
Hierarquia do KDC’s para redes maiores, masdeve-se confiar nos outrosHierarquia do KDC’s para redes maiores, masdeve-se confiar nos outros
Tempo de vida da chave de sessão deve serlimitado para uma maior segurançaTempo de vida da chave de sessão deve serlimitado para uma maior segurança
Uso de uma distribuição de chave automática emnome dos utilizadores, mas deve-se confiar nosistemaUso de uma distribuição de chave automática emnome dos utilizadores, mas deve-se confiar nosistema
Usando uma distribuição de chave descentralizadaUsando uma distribuição de chave descentralizada
Controlando uso da chaveControlando uso da chave
Geração de NúmerosAleatóriosGeração de NúmerosAleatórios
Os números aleatórios são muito utilizados nacriptografiaOs números aleatórios são muito utilizados nacriptografia
Este momento do protocolo de autenticação para evitarrepetiçõesEste momento do protocolo de autenticação para evitarrepetiçõ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 sejamEm todos os casos é essencial que os valores sejam
Estatisticamente randômicos, uniformemente distribuídos,independentesEstatisticamente randômicos, uniformemente distribuídos,independentes
Imprevisibilidade dos valores futuros de valores anterioresImprevisibilidade dos valores futuros de valores anteriores
Gerador de números pseudo-aleatórios (GNPAs)Gerador de números pseudo-aleatórios (GNPAs)
Frequentemente usa técnica de algoritmodeterminístico para criar “números aleatórios”Frequentemente usa técnica de algoritmodeterminístico para criar “números aleatórios”
Apesar de não ser verdadeiramente aleatório podepassar por vários testes de aleatoriedadeApesar de não ser verdadeiramente aleatório podepassar 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-Aleatórios ou GNPAs(in english=PRNGs)”Criados por “Gerador de Números Pseudo-Aleatórios ou GNPAs(in english=PRNGs)”
Geradores congruenciaislinearesGeradores congruenciaislineares
Técnica iterativa comumente usada:Técnica iterativa comumente usada:
Xn+1 (aXn cmod mXn+1 (aXn cmod m
Dando valores adequados aos parâmetros pode-seproduzir uma seqüência longa de “random-like”Dando valores adequados aos parâmetros pode-seproduzir 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
seqüência gerada deve parecer aleatóriaseqüê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 seqüênciadando um pequeno número de valoresNote que um cracker pode reconstruir seqüênciadando um pequeno número de valores
Existe possibilidade de tornar isso mais difícilExiste possibilidade de tornar isso mais difícil
Usando cifras de blocos comoGNPAsUsando cifras de blocos comoGNPAs
Para aplicações criptográficas, pode-se usar uma cifrade bloco para gerar números randômicosPara aplicações criptográficas, pode-se usar uma cifrade bloco para gerar números randômicos
Frequentemente para criar chaves de sessão partirda chave mestraFrequentemente para criar chaves de sessão partirda chave mestra
Criptografia cíclica (COUNTER MODE???)Criptografia cíclica (COUNTER MODE???)
Xi EKm[i]Xi EKm[i]
Modo Retorno de SaídaModo Retorno de Saída
Xi EKm[Xi-1]Xi EKm[Xi-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 bit menos significativo da equação iterativa:Usa bit menos significativo da equação iterativa:
xi xi-12 mod nxi xi-12 mod n
onde n=p.qprimos p,q=3 mod 4onde n=p.qprimos p,q=3 mod 4
Imprevisível, passa para teste do próximo bitImprevisível, passa para teste do próximo bit
segurança repousa na dificuldade de fatorar Nseguranç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 dechaveMuito lento para uso em cifras, bom para geração dechave
Ruídos Naturais AleatóriosRuídos Naturais Aleatórios
Melhor fonte de aleatoriedade natural é mundo realMelhor fonte de aleatoriedade natural é mundo real
Encontrada numa regularidade, mas ao acaso emonitoradaEncontrada numa regularidade, mas ao acaso emonitorada
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ídotérmico em diodo, capacitores de fuga, tubos de descarga demercúrio, etc.ex. Contadores de radiação, ruído de rádio, ruído de áudio, ruídotérmico em diodo, capacitores de fuga, tubos de descarga demercúrio, etc.
Iniciando para ver tal h/w em novas CPU’sIniciando para ver tal h/w em novas CPU’s
Problemas de viés ou distribuição desigual do sinalProblemas de viés 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 cadaamostraMelhor usar somente um pouco dos ruídos de bits de cadaamostra
Fontes publicadasFontes publicadas
Uma pequena coleção publicada de númerosaleatóriosUma pequena coleção publicada de númerosaleatórios
Rand Corp., em 1955, publicou milhão de númerosRand Corp., em 1955, publicou milhão de números
Gerado usando uma roleta eletrônicaGerado usando uma roleta eletrônica
Tem sido usada em algumas cifras cf KhafreTem 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 colocação de criptografia simétrica paraproteger confidencialidadeUso colocação de criptografia simétrica paraproteger 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
uso de cifras de Bloco como GNPAsuso 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