Title: Criptografia e Seguran
1Criptografia e Segurança de Rede Capítulo 6
- Quarta Edição
- por William Stallings
- Tradução Carlos Daniel Abreu
2Capítulo 6 Mais sobre cifras simétricas
- Estou familiarizado com todas as formas de
escritas secretas, sendo eu mesmo o autor de uma
monografia superficial sobre o assunto, em que
analiso 160 cifras diferentes" disse Holmes. - The Adventure of the Dancing Men, Sir Arthur
Conan Doyle
3Criptografia Múltipla DES Triplo
- Era necessário substituir o DES
- Vulnerável a ataques por força bruta
- E também a ataques cripto-analíticos
- AES é uma alternativa para isto
- Outra opção é usar a criptografia múltipla com
DES e chaves múltiplas - DES triplo foi a forma escolhida
4DES Duplo
- Pode-se usar 2DES em cada bloco
- C EK2(EK1(P))
- Redução a um único estágio
- Ataque meet-in-the-middle
- Funciona em qualquer cifra de criptografia de
bloco - Desde que X EK1(P) DK2(C)
- Criptografe P para todos os valores possíveis de
K1 - Então decriptografe C usando todos os valores
possíveis de K2 - Pode mostrar O(256) passos
5DES triplo com duas chaves
- Deve-se usar 3 criptações
- Afigura a necessidade de 3 chaves distintas
- Mas pode usar 2 chaves com sequência
Cript-Decript-Cript - C EK1(DK2(EK1(P)))
- cript decript equivalentes em segurança
- se K1K2 então funciona com Simples DES
- Padronizado em ANSI X9.17 ISO8732
- Nenhum ataque conhecido
6DES triplo com três chaves
- Embora não tem ataques para duas chaves o DES
triplo tem suas indicações - Possui um tamanha de chave efetivo de 168 bits e
é definido da seguinte maneira - C EK3(DK2(EK1(P)))
- Diversas aplicações na internet adotaram o 3DES
com três chaves, incluindo PGP, S/MINE
7Modos de operação de cifra de bloco
- Criptografia de cifra de bloco com tamanho do
bloco fixo - Ex. DES usa blocos de 64-bit c/ chaves de 56-bit
- Precisa de alguma maneira para en/decript
arbitrária quantidade de dados - ANSI X3.106-1983 modo de usar (agora FIPS 81)
define 4 possíveis modos - posteriormente 5 definições para AES DES
- Tem modos de blocos e fluxo
8Modo Eletronic Codebook
- Mensagem é quebrada em blocos independentes que
são criptografados - Cada bloco é um valor que é substituído, como um
codebook, por isso do nome. - Cada bloco é codificado independentemente dos
outros blocos - Ci DESK1(Pi)
- Uso ideal para transmissão segura de pequena
quantidade de dados -
9Electronic Codebook Book (ECB)
10Vantagens e Limitações do ECB
- Mensagens repetidas podem aparecer no criptograma
- Se alinhado com o bloco da mensagem
- Particularmente com os dados do gráfico
- Ou com mensagens que mudam muito pouco, que se
tornam um problema de analise de code-book - Fraqueza é devido a blocos de mensagem
criptografada serem independentes - Utilização principal é o envio de alguns blocos
de dados
11Modo Cipher Block Chaining (CBC)
- Mensagem é quebrado em blocos
- Ligados juntos na operação de criptografia
- Cada bloco da cifra anterior é encadeado com o
bloco do texto atual, por isso o nome. - Usa o vetor inicial (IV) para iniciar o processo
- Ci DESK1(Pi XOR Ci-1)
- C-1 IV
- Uso Confidencialidade, autenticação
12Cipher Block Chaining (CBC)
13Message Padding
- No final da mensagem tem de lidar com um possível
curto último bloco - Que não é tão grande quanto o tamanho do bloco da
cifra - também com conhecidos valores de não-dados (ex.
nulos) - Ou PAD último bloco juntamente com a contagem do
tamanho do PAD - ex. b1 b2 b3 0 0 0 0 5
- significa ter 3 bytes de dados, então 5 bytes
padcontador - Isto pode requerer um bloco de entrada extra
sobre a mensagem - Existem outros, mais exóticos, que evitam a
necessidade de um bloco extra
14Vantagens e Limitações do CBC
- Um bloco de texto-cifrado depende de todos os
blocos anteriores - Qualquer mudança a um bloco afeta todos os blocos
seguintes - Precisa do Vetor de Inicialização (IV)
- Precisa ser conhecido pelo emissor e receptor
- Se enviado limpo, atacantes podem mudar bits do
primeiro bloco, e mudar o IV para compensar - Por isso IV tem que ser um valor fixo (como na
EFTPOS) - Ou ser enviado criptografado no ECB antes do
resto da mensagem
15Cipher FeedBack (CFB)
- Mensagem é tratada como um fluxo de bits
- Adicionada a saída da cifra de bloco
- Resultado é resposta para o próximo passo
- Padrão permite qualquer número de bit (1,8, 64 ou
128 etc) para ser resposta - denotado CFB-1, CFB-8, CFB-64, CFB-128 etc
- Mais eficiente para usar todos os bits no bloco
(64 ou 128) - Ci Pi XOR DESK1(Ci-1)
- C-1 IV
- Uso criptografia de fluxo de dados, autenticação
16Cipher FeedBack (CFB)
17Vantagens e Limitações da CFB
- Apropriado quando dados chegam em bits/bytes
- Mais comum modo de fluxo
- Limitação é necessário para parar enquanto
encripta o bloco após todo n-bits - Note que a cifra de bloco é usada no modo de
encriptação em ambos os finais - Erros propagam por muitos blocos depois do erro
18Output FeedBack (OFB)
- Mensagem é tratada como um fluxo de bits
- Saída da cifra é adicionada a mensagem
- Saída é então resposta (por isso o nome)
- Resposta é independente da mensagem
- Pode ser calculada antecipadamente
- Ci Pi XOR Oi
- Oi DESK1(Oi-1)
- O-1 IV
- Uso encriptação em fluxo de canal com ruídos
19Output FeedBack (OFB)
20Vantagens e Limitações do OFB
- Bits com erros não se propagam
- Maior vulnerabilidade para modificação do fluxo
de mensagens - Uma variação da cifra de Vernam
- Por isso deve-se nunca re-utilizar a mesma
sequência (keyIV) - emissor receptor devem continuar em sincronia
- Originalmente especificado com n-bit de resposta
- Pesquisas posteriores tem mostrado que somente
resposta de bloco inteiro (Ex. CFB-64 ou
CFB-128) deveria ser usado
21Modo Counter (CTR)
- Um novo modo, apesar de proposto a mais tempo
- Similar ao OFB mas encripta o valor counter ao
invés de qualquer valor de resposta - Deve ter um valor diferente da chave counter
para cada bloco de texto (nunca re-utilizado) - Ci Pi XOR Oi
- Oi DESK1(i)
- Uso criptografia em redes de alta velocidade
22Counter (CTR)
23Vantagens e Limitações do CTR
- Eficiência
- Pode fazer criptografias paralelas em h/w ou s/w
- Pode pré-processar em antecipação a necessidade
- Bom para bursty links de alta velocidade
- Acesso randômico para encriptar blocos de dados
- Segurança provável (bom como os outro)
- Mas deve-se certificar-se de nunca re-utilizar os
valores da chave/counter, senão pode quebrá-lo
(cf OFB)
24Cifras de fluxo
- Processa a mensagem bit a bit (como no fluxo)
- Tem um pseudo-aleatório fluxo de chave
- Combinando (XOR) com o fluxo de texto claro
- Aleatoriedade do fluxo de chave destrói
completamente as propriedades estatísticas na
mensagem - Ci Mi XOR StreamKeyi
- Mas nunca se deve re-utilizar o fluxo de chave
- Senão pode-se recuperar a mensagem
25Estrutura da cifra de fluxo
26Propriedades da cifra de Fluxo
- Algumas considerações de design são
- Longo período sem repetições
- Estatisticamente randômico
- Depende de uma chave grande o bastante
- Grande complexidade linear
- Devidamente implementado, pode ser tão seguro
quanto uma cifra de bloco com a chave do mesmo
tamanho - Porém mais simples rápido
27RC4
- Uma cifra proprietária pertencente ao RSA DSI
- Outro design de Ron Rivest , simples mas
eficiente - Tamanho da chave variável, cifra de fluxo de
orientação de byte - Amplamente utilizado (web SSL/TLS, wireless WEP)
- Chaves formam uma permutação randômica de todos
os valores 8-bit - Que usa a permutação para misturar as
informações de entrada processando um byte por vez
28RC4 - Cronograma da chave
- Começa com um vetor S de números 0..255
- Usa a chave para boa e verdadeira mistura
- S forma state interno da cifra
- for i 0 to 255 do
- Si i
- Ti Ki mod keylen)
- j 0
- for i 0 to 255 do
- j (j Si Ti) (mod 256)
- swap (Si, Sj)
29RC4 Criptografia
- Criptografia continua misturando valores do vetor
- A soma dos pares misturados seleciona o valor do
fluxo da chave da permutação - XOR St com o próximo byte da mensagem para
en/decriptar - i j 0
- for each message byte Mi
- i (i 1) (mod 256)
- j (j Si) (mod 256)
- swap(Si, Sj)
- t (Si Sj) (mod 256)
- Ci Mi XOR St
30RC4 Overview
31RC4 Segurança
- Alegou segurança contra ataques conhecidos
- Tem algumas análises, nenhuma prática
- Resultado é muito não-linear
- Desde RC4 é uma cifra de fluxo, deve-se nunca
re-utilizar a chave - Tem uma preocupação com a chave WEP, mas devido a
manipulação em vez do próprio RC4
32Sumário
- DES triplo
- Modos de operação
- ECB, CBC, CFB, OFB, CTR
- Cifras de fluxo
- RC4