redes de computadores - principalricardojcsouza.com.br/download/seguranca_redes_6.pdf ·...
TRANSCRIPT
Segurança de Redes de Computadores
Ricardo José Cabeça de Souza
www.ricardojcsouza.com.br
• CIFRAS DE FLUXO E DE BLOCO – Cifra de Fluxo
• É aquela que codifica um fluxo de dados digital um bit ou um byte de cada vez
– Cifra de Bloco • É aquela em que um bloco de texto claro é tratado
como um todo
• Usado para produzir um bloco de texto cifrado com o mesmo tamanho
• Normalmente usa tamanho de bloco de 64 ou 128 bits
• Exige muito esforço para análise do bloco
Criptografia www.ricardojcsouza.com.br [email protected]
• Cifra de Bloco – Espera-se que promova:
• Difusão – Cada bit do texto limpo deve afetar o maior
número de bits do criptograma –Desta forma escondemos propriedades
estatísticas da mensagem • Confusão
– Cada bit do criptograma deve ser uma função complexa dos bits do texto claro
–Desta forma torna-se “complicada” a relação entre propriedades estatísticas do criptograma face às propriedades do texto claro
Criptografia www.ricardojcsouza.com.br [email protected]
• Cifra de Bloco – Para cifrar mensagens cujo comprimento
ultrapasse o tamanho do bloco, existem vários modos de operação
• Electronic Codebook - ECB (livro de código eletrônico)
• Cipher-Block Chaining - CBC (corrente de blocos)
Criptografia www.ricardojcsouza.com.br [email protected]
• Electronic Codebook - ECB (livro de código eletrônico)
– A mensagem clara é fracionada em blocos de tamanho fixo e cada bloco é cifrado isoladamente
– No final, a mensagem cifrada é obtida pela concatenação dos blocos cifrados
Criptografia www.ricardojcsouza.com.br [email protected]
• Electronic Codebook - ECB (livro de código eletrônico)
Criptografia www.ricardojcsouza.com.br [email protected]
Cifragem com Electronic Codebook
• Electronic Codebook - ECB (livro de código eletrônico)
Criptografia www.ricardojcsouza.com.br [email protected]
Decifragem com Electronic Codebook
• Electronic Codebook - ECB (livro de código eletrônico)
– Desvantagem deste método é que blocos de texto claro iguais produzem também blocos cifrados iguais
– Não esconde o padrão dos dados
– Este modo de operação não acrescenta nada à confidencialidade proporcionada pela cifra
Criptografia www.ricardojcsouza.com.br [email protected]
• Cipher-Block Chaining - CBC (corrente de blocos)
– É feita uma operação XOR entre cada novo bloco de texto claro com o bloco cifrado obtido na etapa imediatamente anterior
– Desta forma, cada um dos blocos cifrados depende de todos os blocos de texto claro anteriores
Criptografia www.ricardojcsouza.com.br [email protected]
• Cipher-Block Chaining - CBC (corrente de blocos)
Criptografia www.ricardojcsouza.com.br [email protected]
• Cipher-Block Chaining - CBC (corrente de blocos)
Criptografia www.ricardojcsouza.com.br [email protected]
• Cipher-Block Chaining - CBC (corrente de blocos)
– É um dos modos de operação mais utilizados
– Sua maior desvantagem é ser sequencial
– Como não pode ser usado em paralelo (pois sempre depende do resultado anterior), seu uso dificulta o processamento de blocos em paralelo, o que melhoraria o desempenho do método
Criptografia www.ricardojcsouza.com.br [email protected]
• PCBC - Propagating cipher-block chaining – Corrente de blocos em propagação
– Projetado para propagar ou esparramar melhor que o CBC
– Pequenas alterações no texto cifrado
– É usado quase que exclusivamente no Kerberos e no WASTE
Criptografia www.ricardojcsouza.com.br [email protected]
• CFB - Cipher feedback – O texto cifrado (depois da etapa XOR) realimenta
o método ao invés da saída da cifra de bloco (antes da etapa XOR)
– Uma cifra de bloco operando no modo CFB não pode ser usada como um gerador de números randômicos
Criptografia www.ricardojcsouza.com.br [email protected]
• OFB - output feedback – Transforma uma cifra de bloco num gerador de números
pseudo-aleatórios – O texto cifrado realimenta a cifra de bloco e este processo
é repetido para produzir um fluxo de bits pseudo-randômicos
– O fluxo de bits é totalmente determinado pelo algoritmo, pela chave, por um vetor de inicialização e pelo número de bits que realimentam a cifra em cada etapa
– O fluxo de bits pode então servir para fazer uma operação XOR com o texto claro afim de produzir o texto cifrado, transformando efetivamente a cifra de bloco numa cifra de fluxo
Criptografia www.ricardojcsouza.com.br [email protected]
• Cifra de Feistel – A entrada é quebrada em dois blocos de mesmo
tamanho, geralmente chamados de esquerdo (L - left) e direito (R - right), que são repetidamente ciclados através do algoritmo
– Em cada ciclo, uma função hash (f) é aplicada no bloco direito e na chave, e o resultado do hash é usado para fazer um XOR com o bloco esquerdo
– Depois disto, os blocos são trocados – O resultado do XOR torna-se o novo bloco direito e o
bloco direito inalterado torna-se o bloco esquerdo – O processo é então repetido algumas vezes
Criptografia www.ricardojcsouza.com.br [email protected]
• Cifra de Feistel – Na decifração, o texto cifrado é dividido nos blocos
esquerdo e direito – A chave e o bloco bloco direito são submetidos à
função hash para se obter o mesmo resultado hash usado no último ciclo da cifragem (observe que o bloco direito permanece inalterado no último ciclo da cifragem)
– Depois disto é feito um XOR entre o hash e o bloco esquerdo para reverter o último ciclo da cifragem e o processo é repetido até que todos os ciclos tenham sido revertidos
Criptografia www.ricardojcsouza.com.br [email protected]
• CTR – Counter – Transforma a cifra de bloco numa cifra de fluxo – Ele cria o próximo bloco de fluxo de chave cifrando os valores
sucessivos de um "contador“ – O contador pode ser qualquer função simples que produza uma
sequência que, com certeza, só será repetida depois de um longo intervalo de tempo
– Apesar dessa exigência, os contadores simples são os mais utilizados
– O modo CRT possui características muito semelhantes às do OFB, porém permite um acesso randômico na decifração e é comprovadamente seguro se a cifra de bloco também for segura
Criptografia www.ricardojcsouza.com.br [email protected]
• Proteção de Integridade e propagação de erro – Modos de operação não proporcionam qualquer
proteção de integridade
– Atacante, apesar de não conhecer a chave, pode modificar o fluxo de dados
– Essencial que se adicione uma proteção de integridade para garantir a segurança
– Discussão da "propagação de erros"
Criptografia www.ricardojcsouza.com.br [email protected]
• Proteção de Integridade e propagação de erro
Criptografia www.ricardojcsouza.com.br [email protected]
• O algoritmo DES (Data Encryption Standard) – Baseado em HORST FEISTEL e o algoritmo LUCIFER
– NBS (National Bureau of Standards) adotou o algoritmo LUCIFER com algumas modificações sob a denominação de Data Encryption Standard (DES) em 15 de Julho de 1977
– Algoritmos criptográficos para proteger transmissões e armazenamento de dados
– Adotado na mídia não digital, como nas linhas telefônicas públicas
Criptografia www.ricardojcsouza.com.br [email protected]
• DES (Data Encryption Standard)
– O algoritmo consiste em efetuar combinações, substituições e permutações entre o texto a codificar e a chave, fazendo de modo a que as operações possam fazer-se nos dois sentidos (para a descodificação)
– A combinação entre substituições e permutações chama-se código produzido
Criptografia www.ricardojcsouza.com.br [email protected]
• DES (Data Encryption Standard) – Trabalha com bits ou números binários - os 0s e 1s
– Cada grupo de 4 bits corresponde a um valor hexadecimal, cuja base é 16
– O binário "0001" corresponde ao número hexadecimal "1“
– O binário "1000" é igual ao número hexadecimal "8“
– "1001" é igual ao hexadecimal "9“
– “1010" é igual a o hexadecimal "A"
– "1111" é igual ao hexadecimal "F"
Criptografia www.ricardojcsouza.com.br [email protected]
• DES (Data Encryption Standard)
– Funciona encriptando grupos de 64 bits de mensagem, o que significa 16 números hexadecimais
– Para realizar a encriptação, o DES utiliza "chaves" com comprimento aparente de 16 números hexadecimais, ou comprimento aparente de 64 bits
– Cada oitavo bit da chave é ignorado, de modo que a chave acaba tendo o comprimento de 56 bits
– É organizado baseando-se no número redondo de 64 bits (16 dígitos hexadecimais)
Criptografia www.ricardojcsouza.com.br [email protected]
Referências
• STALLINGS, William. Criptografia e segurança de redes. 4. ed. São Paulo: Pearson Prentice Hall, 2008.
• FECHINI, Joseana Macêdo. Segurança da Informação. Disponível em http://www.dsc.ufcg.edu.br/~joseana/Criptografia-SI.html .
• BRAGA, Hugo Rodrigo. HISTÓRIA DA CRIPTOLOGIA – Antiguidade. Disponível em http://www.hu60.com.br/assuntos/criptologia.php .
• Lima, Marcelo. Nakamura, Emílio. Segurança de Redes e Sistemas. Versão 1.1.0. Escola Superior de Redes RNP:2007.
• Sousa, Vitor Silva. Esteganografia. Disponível em http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2010_2/vitor/Tcnicas.html .
• Disponível em http://www.numaboa.com.br/criptografia/bloco/355-modos-de-operacao .
www.ricardojcsouza.com.br [email protected]
Referências
• Julio, Eduardo Pagani. Brazil, Wagner Gaspar. Albuquerque, Célio Vinicius Neves. Esteganografia e suas Aplicações. VII Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais, 2007.
• MEDEIROS, Carlos Diego Russo. SEGURANÇA DA INFORMAÇÃO: Implantação de Medidas e Ferramentas de Segurança da Informação. Universidade da Região de Joinville – UNIVILLE, 2001.
• NIC BR Security Office. Cartilha de Segurança para Internet. Parte VII: Incidentes de Segurança e Uso Abusivo da Rede. Versão 2.0, 2003.
• NIC BR Security Office. Cartilha de Segurança para Internet. Parte II: Riscos Envolvidos no Uso da Internet e Métodos de Prevenção. Versão 2.0, 2003.
• FOROUZAN, Behrouz A. Comunicação de dados e redes de computadores. 4. ed. São Paulo: McGraw-Hill, 2008.
www.ricardojcsouza.com.br [email protected]