Criptografia e Segurança em Rede Capítulo 2 De William Stallings Criptografia e Segurança em Rede...
Transcript of Criptografia e Segurança em Rede Capítulo 2 De William Stallings Criptografia e Segurança em Rede...
Criptografia e Segurança em Rede
Capítulo 2
De William Stallings
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Apresentação por Lawrie Brown e Fábio Borges
Capítulo 2 - Técnicas Clássicas Encriptação
Muitos selvagens atualmente guardam seus nomes como partes vitais de si próprios, e portanto, tomam muito cuidado em ocultar seus verdadeiros nomes, com medo que sejam dados a pessoas mal-intencionadas um meio para ferir seus proprietários. —The Golden Bough, Sir James George Frazer
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Criptografia Simétrica• Ou convencional / chave-privada / chave-única• Emissor e receptor compartilham uma chave
comum• Todos os algoritmos clássicos de criptografia são
simétricos• Foi o único tipo até a invenção da chave-pública
na década de 1970.• De longe o mais amplamente usado
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Algumas terminologias básica• Mensagem - plaintext - mensagem original• Criptograma - ciphertext - mensagem codificada• Cifra - cipher – Algoritmo que transforma a mensagem no
criptograma• Chave - key - informação usada na cifra• Encriptação - encipher (encrypt) – converte a mensagem no
criptograma• Desencriptação - decipher (decrypt) - recupera a mensagem
a partir do criptograma• Criptografia - estudo de cifras princípios/métodos• Criptoanálise (codebreaking) - estudo de princípios/ métodos
para decifrar o criptograma sem conhecer a chave
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Modelo de Cifra Simétrica
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Requisitos • Dois requisitos para a utilização segura de
criptografia simétrica: – um forte algoritmo criptográfico– uma chave secreta conhecida apenas pelo
remetente e destinatário• Matematicamente ter:
Y = EK(X)X = DK(Y)
• Assumir que a cifra é conhecida • Implica em um canal seguro para distribuir
chaves
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Criptografia
• Os Sistemas criptográficos são caracterizados pelo: – tipo de criptografia usada nas operações
• substituição / transposição / produto
– número de chaves utilizadas • uma chave ou privado / duas chaves ou público
– maneira em que é processado • bloco / fluxo
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Ataques
• O objetivo é recuperar a chave, não só a mensagens
• Abordagens gerais: – ataque criptoanalítico– ataque por força bruta
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Ataques Criptoanalíticos• Apenas criptograma
– só se conhece algoritmo & criptograma, é estatística, sabe ou pode identificar a mensagem
• Mensagem conhecida– sabe / suspeita a mensagem & criptograma
• Mensagem escolhida– mensagem selecionada e obtenção do criptograma
• Criptograma escolhido– criptograma selecionada para obter a mensagem
• Texto escolhido – seleciona a mensagem ou o criptograma para cifrar /
decifrar
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Mais Definições• Segurança incondicional
– não importa quanto tempo ou poder computacional estiver disponível, a cifra não pode ser quebrado desde que ,o criptograma não fornece informação suficiente para determinar uma única mensagem correspondente
• Segurança computacional – dadas as limitações dos recursos computacionais
(por exemplo, tempo necessário para o cálculo for superior a idade do Universo), a cifra não pode ser quebrado
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Ataque por Força Bruta• Sempre é possível tentar simplesmente cada chave • Ataque mais básico, proporcional ao tamanho chave • Assumir que saber ou reconhecer a mensagem
Tamanho da chave (bits)
Número de possíveis chaves
Tempo requerido para 1 decriptação/µs
Tempo requerido para 106 decriptação/µs
32 232 = 4.3 109 231 µs = 35.8 minutos 2.15 milisecondos
56 256 = 7.2 1016 255 µs = 1142 anos 10.01 horas
128 2128 = 3.4 1038 2127 µs = 5.4 1024 anos 5.4 1018 anos
168 2168 = 3.7 1050 2167 µs = 5.9 1036 anos 5.9 1030 anos
26 caracteres (permutação)
26! = 4 1026 2 1026 µs = 6.4 1012 anos 6.4 106 anos
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Cifras Clássicas de Substituição
• Onde letras da mensagem são substituídas por outras letras ou por números ou símbolos
• Ou se a mensagem é vista como uma sequência de bits, então substituição envolve troca de bits padrões da mensagem com bits padrões do criptograma
Criptografia e Segurança em Rede Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra de César• Mais antiga cifra por substituição conhecida • Feito por Júlio César • Primeira utilização comprovada em assuntos
militares• Substitui cada letra pela terceira subsequente,
exemplo: meet me after the toga partymeet me after the toga party
PHHW PH DIWHU WKH WRJD SDUWBPHHW PH DIWHU WKH WRJD SDUWB
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra de César• Podemos definir a transformação como:Podemos definir a transformação como:a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y zD E F G H I J K L M N O P Q R S T U V W X Y Z A B CD E F G H I J K L M N O P Q R S T U V W X Y Z A B C
• Matematicamente damos um número a cada Matematicamente damos um número a cada letraletra
a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y z0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 250 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
• Então temos a Cifra de César como:Então temos a Cifra de César como:• c c = E(= E(pp) = () = (p p + + kk) mod (26)) mod (26)• p p = D(c) = (c – = D(c) = (c – kk) mod (26)) mod (26)
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Criptoanálise da Cifra de César• Só tenho 26 possíveis criptogramas
– um mapeamento para A, B, .. Z
• pode simplesmente tentar, por sua vez, cada • um ataque por força bruta• dado um criptograma, tente todos os deslocamentos
de letras• necessidade de se fazer reconhecer quando tem a
mensagem• por exemplo quebrar o criptograma"GCUA VQ DTGCM"
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra Monoalfabética• Em vez de apenas deslocar o alfabeto
poderia embaralhar as letras arbitrariamente • Cada letra da mensagem mapeia para uma
letra aleatória no criptograma• Desta forma, a chave tem 26 letrasPlain: abcdefghijklmnopqrstuvwxyzPlain: abcdefghijklmnopqrstuvwxyz
Cipher: DKVQFIBJWPESCXHTMYAUOLRGZNCipher: DKVQFIBJWPESCXHTMYAUOLRGZN
Plaintext: ifwewishtoreplacelettersPlaintext: ifwewishtoreplaceletters
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Segurança da Cifra Monoalfabética
• agora temos um total de 26! = 4 x 1026 chaves • com tantas chaves, podemos pensar que é
seguro • mas seria! ERRADO! • o problema são as características da
linguagem
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Redundância da Língua e Criptoanálise
• línguas humanas são redundantes • por exemplo, “th lrd s m shphrd shll nt wnt" • letras não são tão comumente utilizados • em Inglês e é de longe a letra mais comum
– seguido por T, R, N, I, O, A, S
• outras letras como Z, J, K, Q, X são raras • existem tabelas de frequência de 1,2 e 3 letras
consecutivas para vários idiomas
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Frequência de Letras em Inglês
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Uso em Criptoanálise• Conceito-chave - cifras de substituição monoalfabética
não mudam a frequência relativa das letras• Descoberto por cientistas na Arábia no século 9• Calcula a frequências das letras do criptograma • Comparar contagens/gráficos com valores conhecidos • Se Cifra de César procure picos/valas comuns
– picos em: A-E-I triplo, NÃO par, RST triplo – Valas em: JK, X-Z
• Para monoalfabética deve identificar cada letra– tabelas com letras duplas/triplas comuns ajuda
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Exemplo de Criptoanálise• Dado o criptograma:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
• Conta a frequência relativa das letras• Suspeite que P e Z são e e t• Suspeite que ZW é th e logo ZWP é the• Prosseguindo com a tentativa e erro finalmente
chegamos:it was disclosed yesterday that several informal butdirect contacts have been made with politicalrepresentatives of the viet cong in moscow
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra de Playfair• Nem mesmo o grande número de chaves em
uma cifra monoalfabética fornece segurança• Uma abordagem para melhorar a segurança
foi cifrar múltiplas letras• A Cifra de Playfair é um exemplo • Inventada por Charles Wheatstone, em 1854,
mas com o nome de seu amigo Barão Playfair
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Matriz Chave Playfair• matriz 5x5 de letras com base em uma palavra-
chave• preencher em letras da palavra-chave (sem
duplicações) e o resto com outras letras, por exemplo, utilizando a palavra-chave MONARCHY
MM OO NN AA RR
CC HH YY BB DD
EE FF GG I/JI/J KK
LL PP QQ SS TT
UU VV WW XX ZZ
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifrando e Decifrando• a mensagem é cifrada de 2 em 2 letras
1. se as letras são repetidas, insira 'X' 2. se ambas as letras cair na mesma linha, substitua
cada uma com letras para a direita (voltando para o início na partir de final)
3. se ambas as letras cair na mesma coluna, substitua cada uma com a letra abaixo dela (de novo voltando de baixo para cima)
4. caso contrário cada letra é substituída pela letra na mesma linha e na coluna da outra letra do par
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Segurança da Cifra de Playfair• segurança melhorou muito da monoalfabética• uma vez que tem 26 x 26 = 676 digramas • seria necessário uma tabela de frequências com 676
entradas para analisar (versos 26 para monoalfabética) • e correspondentemente mais cifras• foi amplamente utilizada por muitos anos
– por exemplo, por militares US & britânicos na WW1 • ele pode ser quebrado, devido a algumas centenas de
letrasuma vez que ainda tem muito da estrutura da mensagem
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra de Hill
• C = E(K, P) = KP mod 26• P = D(K, P) = K-1C mod 26 = K1KP = P
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra Polialfabética• Cifras de substituição polialfabéticas • melhora a segurança usando vários alfabetos-cifra• tornar a criptoanálise mais difícil com mais alfabetos-
cifra para adivinhar e com mais freqüências e distribuição para estimar
• utilizar uma chave para escolher que alfabeto é usado para cada letra da mensagem
• repita a partir do início após o final da chave
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra de Vigenère• cifra de substituição polialfabetica mais simples • eficazmente múltiplas Cifras de César• chave de múltiplas letras K = k1 k2 ... kd
• letra i especifica o alfabeto i para usar • repita a partir do início depois d letras na
mensagem • decriptografia simplesmente funciona em
sentido inverso
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Exemplo da Cifra de Vigenère• escrever a mensagem• escreva a palavra-chave repetidamente • utilize cada letra chave como a Cifra de César• criptografar a letra correspondente da
mensagem• usando palavras-chave deceptiveM: wearediscoveredsaveyourself K: deceptivedeceptivedeceptive C: ZICVTWQNGRZGVTWAVZHCQYGLMGJ
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Ajudas• Ajudas simples podem auxiliar para cifrar e
decifrar• Saint-Cyr Slide é um manual simples
– um slide com alfabeto repetido – linha acima da mensagem "A" com a letra-chave,
por exemplo, 'C‘– então é lido qualquer mapeamento das letras
• pode dobrar formando um disco cifra • ou expandir em um Tabuleiro de Vigenère
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Segurança da Cifra de Vigenère• Tem várias letras do criptograma para cada letra
da mensagem• Daí a frequências das letras são
obscurecidas,mas não totalmente perdida• Iniciam com letras frequências
– ver se parece monoalfabetica ou não
• Se não for, então precisará determinar número de alfabetos, desde então pode anexar cada
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Método de Kasiski• método desenvolvido por Babbage / Kasiski• repetições no criptograma dá pistas para período • encontrar mensagem similar em um período exato
desassociado• o que resulta no mesmo criptograma• naturalmente, também poderia ser aleatória • por exemplo, repete "VTW" no exemplo anterior
sugere tamanho de 3 ou 9 • então cada ataque a cifra monoalfabetica
individualmente utilizando mesmas técnicas como antes
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra Autokey• Idealmente queremos uma chave tão longa quanto a
mensagem • Vigenère propôs a cifra Autokey • A palavra-chave é prefixo da mensagem-chave • sabendo a palavra-chave pode recuperar as primeiras
letras utilizar estas, por sua vez, sobre o resto da mensagem
• mas ainda têm características freqüência ao ataque,por exemplo, dado a chave deceptivekey: deceptivewearediscoveredsav
plaintext: wearediscoveredsaveyourself
ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
One-Time Pad• É utilizada uma chave verdadeiramente aleatória, tão
longa quanto a mensagem, a cifra será incondicionalmente segura
• É inquebrável pois não tem qualquer relação estatística do criptograma para a mensagem
• Uma vez que para qualquer mensagem & qualquer criptograma existe uma chave de mapeamento de uma para a outra
• Só pode usar a chave uma vez• Problemas na geração e distribuição segura de chave
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifras de Transposição• agora considere as cifras clássica de transposição
ou permutação• Estas escondem a mensagem, reorganizando a
ordem das letras• sem alterar as letras atualmente utilizadas • pode reconhecê-las uma vez que estas têm a
mesma freqüência de distribuição do texto original
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifra Rail Fence
• escrever letras da mensagem diagonalmente ao longo de uma série de linhas
• então a cifra é lida fila por fila • por exemplo, escrever a mensagem como:
m e m a t r h t g p r y e t e f e t e o a a t
• fornece o criptograma:MEMATRHTGPRYETEFETEOAAT
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifras de Transposição de Fila• uma transposição mais complexa • escrever letras da mensagem nas linhas, ao
longo de um determinado número de colunas • em seguida, reordenar as colunas de acordo
com uma chaveKey: 3 4 2 1 5 6 7Plaintext: a t t a c k p o s t p o n e d u n t i l t w o a m x y zCiphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Cifras de Produto• Cifras usando substituições ou transposições não são
seguras devido as características da linguagem • Desta forma, considere o uso de vários cifras em
sucessão para tornar mais difícil, mas: – duas substituições faz a substituição mais complexa– duas transposições faz a transposição mais complexa – uma substituição seguida de uma transposição torna
muito mais difícil uma nova cifra
• Esta é a ponte das cifras clássica para as modernas
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Máquinas de Rotor• Antes das cifras modernas, máquinas de rotor foram as
cifras complexas mais comuns em uso • Amplamente utilizadas na WW2
– Enigma alemã, Hagelin aliados, Purple japonêsa • Implementação muito complexa, variando cifras de
substituição• Utilizando uma série de cilindros, cada um dando uma
substituição, que rodado e alterado depois de cada letra ser cifrada
• Com 3 cilindros tem 263 = 17576 alfabetos
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Máquina de Rotor HagelinCriptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Esteganografia• Uma alternativa para a criptografia • Oculta a existência de mensagem
– utilizando apenas um subconjunto de letras / palavras marcadas de alguma forma em uma longa mensagem
– utilizando tinta invisível – escondidos em LSB no arquivo de imagem ou som
• Tem inconvenientes – elevada sobrecarga para ocultar informação
relativamente de poucos bits
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação
Resumo• ter considerado:
– técnicas clássicas de cifras e terminologia – Cifras de substituição monoalfabeticas– Criptoanálise utilizando freqüências de letras– Cifra Playfair– Cifra de Hill – Cifras Polialfabeticas– cifras de transposição– Cifras de produto e máquinas rotor– esteganografia
Criptografia e Segurança em Rede - Capítulo 2
IST - Petrópolis Segurança da Informação