460 likes | 735 Views
Criptografia e Segurança em Rede - Capítulo 2. Criptografia e Segurança em Rede Capítulo 2. De William Stallings. Apresentação por Lawrie Brown e Fábio Borges. IST - Petrópolis. Segurança da Informação. Criptografia e Segurança em Rede Capítulo 2.
E N D
Criptografia e Segurança em Rede - Capítulo 2 Criptografia e Segurança em RedeCapítulo 2 De William Stallings Apresentação por Lawrie Brown e Fábio Borges IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 Modelo de Cifra Simétrica IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 Ataques • O objetivo é recuperar a chave, não só a mensagens • Abordagens gerais: • ataque criptoanalítico • ataque por força bruta IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 party PHHW PH DIWHU WKH WRJD SDUWB IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 Cifra de César • 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 z D 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 letra 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 z 0 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: • c = E(p) = (p + k) mod (26) • p = D(c) = (c – k) mod (26) IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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" IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 letras Plain: abcdefghijklmnopqrstuvwxyz Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext: ifwewishtoreplaceletters Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 Frequência de Letras em Inglês IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 Exemplo de Criptoanálise • Dado o criptograma: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ • 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 but direct contacts have been made with political representatives of the viet cong in moscow IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 Cifrando e Decifrando • a mensagem é cifrada de 2 em 2 letras • se as letras são repetidas, insira 'X' • 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) • se ambas as letras cair na mesma coluna, substitua cada uma com a letra abaixo dela (de novo voltando de baixo para cima) • caso contrário cada letra é substituída pela letra na mesma linha e na coluna da outra letra do par IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 Cifra de Hill • C = E(K, P) = KP mod 26 • P = D(K, P) = K-1C mod 26 = K1KP = P IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 deceptive key: deceptivewearediscoveredsav plaintext: wearediscoveredsaveyourself ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 chave Key: 3 4 2 1 5 6 7 Plaintext: 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 z Ciphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 Máquina de Rotor Hagelin IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação
Criptografia e Segurança em Rede - Capítulo 2 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 IST - Petrópolis Segurança da Informação