Auditoria e Segurança de Sistemas Aula 09 Criptografia Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com
Criptologia Esteganografia Criptografia Criptanálise Cifragem Chaves Assimétrica Chaves Simétrica Hash Quântica Substituiçao Transposição Cifra das Colunas Transp de Colunas Transp Interromp. Simples Poligráfica monoalfabética polialfabética Homófonos = Monogrâmicas Poligrâmicas Tomogrâmicas 2
Criptologia Esteganografia Criptografia Criptanálise Cifragem Chaves Assimétrica Chaves Simétrica Hash Quântica Substituiçao Transposição Cifra das Colunas Transp de Colunas Transp Interromp. Simples Poligráfica monoalfabética polialfabética Homófonos = Monogrâmicas Poligrâmicas Tomogrâmicas 3
Função Hash algoritmo que mapeia dados de comprimentovariável para dados de comprimento fixo. Os valores retornados são chamados valores hash, códigos hash, somas hash (hash sums), checksums ou simplesmente hashes. O conceitoteórico diz que "hash é a transformação de uma grande quantidade de dados em uma pequena quantidade de informações". Um hash (ou escrutínio) é uma sequência de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F), representando um nibble cada. Essa sequência busca identificar um arquivo ou informação unicamente. 4
Função de Dispersão criptográfica Uma função hash criptográfica deve ser capaz de aguentar todo tipo de ataque cripto-analítico conhecido. No mínimo, ela deve possuir as seguintes propriedades: Resistência à pré-imagem: Dado um valor hash h deve ser difícil (impossível) encontrar qualquer mensagem m tal que h = hash(m). Este conceito está relacionado ao da função de mão única (ou função unidirecional). Funções que não possuem essapropriedade estãovulneráveis a ataques de pré-imagem. Resistência à segunda pré-imagem: Dada uma entrada m1 deve ser difícil encontrar outra entrada m2 tal que hash(m1) = hash(m2). Funções que não possuem essa propriedade estãovulneráveis a ataquesde segunda pré-imagem. Resistência à colisão: Deve ser difícil encontrar duas mensagens diferentes m1 e m2 tal que hash(m1) = hash(m2). Tal par é chamado de colisão hash criptográfica. Essa propriedade também é conhecida como forte resistência à colisão. Colisões podem ser encontradas através de um ataque do aniversário. 5
Função de Dispersão criptográfica deve ser difícil modificar a mensagem sem modificar o seu resumo 6
Salt Adicionar um texto fixo no texto original a ser codificado. Por exemplo: salt: fatece pass: 1234 Pseudo-pass: fatece1234 Assim mesmo que alguém tenha o hash de 1234 por ser uma senha comum ele não terá de fatece1234. Porém caso o salt seja simples como no exemplo e houver o hash de fatece1234 é possível descobrir o salt e deste modo descodificar as senhas mais comuns. Por este motivo geralmente o salt é algo complexo. 7
Message-Digest algorithm 5 (MD5) 128 bits unidirecional desenvolvido pela RSA Data Security, Inc. Descrito na RFC 1321 Os hashes MD5 de 128-bit (16-byte) são representados por uma sequência de 32 caracteres hexadecimais. MD5( Felipe ) = 5a681924796500c9a4819b4319f74277 MD5( Fatece ) = 238802f621218d5ed70c1ceaae689e63 MD5( ) = 7215ee9c7d9dc229d2921a40e899ec5f MD5( ) = d41d8cd98f00b204e9800998ecf8427e Para verificar o MD5 dos arquivos nos diferentes sistemas operacionais: o Linux: md5sum <file_path> o Mac: md5 <file_path> o Windows: huahuahuhauhauha 8
Secure Hash Algorithm (SHA-X) Os quatro algoritmos SHA são estruturados diferentemente e nomeados SHA-0, SHA-1, SHA-2 e SHA-3. SHA-1 é a mais amplamente utilizada das funções de dispersão SHA existentes, sendo empregada emvários protocolos e aplicaçõesamplamente utilizadas. SHA-1 produz um valor de dispersão de 160 bits (20 bytes) conhecido como resumo da mensagem, normalmente tratado como um número hexadecimal de 40 dígitos. Em novembro de 2013, a Google anunciou sua política de rebaixamento sobre o SHA-1, de acordo com a qual o Chrome irá deixar de aceitar certificados SHA-1 em SSL de forma gradual em 2017. Mozilla também pretende parar de aceitar certificados baseados em SSL até 2017. 9
Função de Dispersão criptográfica Aplicações: segurança da informação: assinatura digital código de autenticaçãode mensagem (MACs) outras formas de autenticação. indexar dados emtabelas hash detectar dados duplicados ou identificar arquivos únicos checksum para detectar corrupção de dados acidental. 10
Função de Dispersão criptográfica Aplicações: segurança da informação assinatura digital código de autenticaçãode mensagem (MACs) outras formas de autenticação. indexar dados emtabelas hash detectar dados duplicados ou identificar arquivos únicos checksum para detectar corrupção de dados acidental. 11
Função de Dispersão criptográfica Aplicações: segurança da informação assinatura digital código de autenticação de mensagem (MACs) outras formas de autenticação. indexar dados emtabelas hash detectar dados duplicados ou identificar arquivos únicos checksum para detectar corrupção de dados acidental. 12
Função de Dispersão criptográfica Aplicações: segurança da informação assinatura digital código de autenticaçãode mensagem (MACs) outras formas de autenticação. indexar dados emtabelas hash detectar dados duplicados ou identificar arquivos únicos checksum para detectar corrupção de dados acidental. 13
Função de Dispersão criptográfica Aplicações: segurança da informação assinatura digital código de autenticaçãode mensagem (MACs) outras formas de autenticação. indexar dadosem tabelas hash detectar dados duplicados ou identificar arquivos únicos checksum para detectar corrupção de dados acidental. 14
Função de Dispersão criptográfica Aplicações: segurança da informação assinatura digital código de autenticaçãode mensagem (MACs) outras formas de autenticação. indexar dados emtabelas hash detectar dados duplicados ou identificar arquivos únicos checksum para detectar corrupção de dados acidental. 15
Função de Dispersão criptográfica Aplicações: segurança da informação assinatura digital código de autenticaçãode mensagem (MACs) outras formas de autenticação. indexar dados emtabelas hash detectar dados duplicados ou identificar arquivos únicos checksum para detectar corrupção de dados acidental. 16
Referências https://pt.wikipedia.org/wiki/função_hash https://pt.wikipedia.org/wiki/função_hash_criptográfica https://en.wikipedia.org/wiki/cryptographic_hash_function https://en.wikipedia.org/wiki/preimage_attack https://en.wikipedia.org/wiki/md5 https://pt.wikipedia.org/wiki/sha-1 https://pt.wikipedia.org/wiki/assinatura_digital http://www.di.ufpe.br/~flash/ais98/cripto/criptografia.htm https://en.wikipedia.org/wiki/message_authentication_code https://pt.wikipedia.org/wiki/hmac 17
Criptologia Esteganografia Criptografia Criptanálise Cifragem Chaves Assimétrica Chaves Simétrica Hash Quântica Substituiçao Transposição Cifra das Colunas Transp de Colunas Transp Interromp. = Simples Poligráfica monoalfabética polialfabética Homófonos Monogrâmicas Poligrâmicas Tomogrâmicas 18
Criptografia Quântica Utiliza os princípios da Mecânica Quântica para garantir uma comunicação segura. Não necessitar de comunicações secretas prévias Permite a detecção de intrusos É segura mesmo que o intruso possua um poder computacional ilimitado. Mais segura que as utilizadas atualmente, pois se baseia em leis da física, enquanto as atuais asseguram os dados com base em funções que são secretas somente porque o poder computacional é limitado. É importante observar que a criptografia quântica só será utilizada para produzir e distribuir as chaves, não para transmitir a mensagem. A chave gerada poderá ser utilizada com qualquer algoritmo de criptografia escolhido. O algoritmo mais comumente associado com a criptografia quântica é o one-time pad, pois ele tem comprovadamente uma segurança perfeita quando usado com uma chavealeatória e do mesmo tamanho que a mensagem. 19
One-time pad cifra de uso único ou chave de uso único Nãopode ser quebrada se utilizada corretamente. Consiste num algoritmo em que o purotexto é combinado, caractere por caractere, a uma chave secreta aleatória que para isso deve ter, no mínimo, o mesmo número de caracteresdo purotexto. Para garantir que a criptografia seja imperscrutável, a chave só deve ser usada uma única vez, sendo imediatamente destruída após o uso. As cifras de uso único são informações teoricamente seguras já que as mensagens cifradas não fornecem nenhuma informação sobre a mensagem original a um criptanalista, exceto seu tamanho máximo possível. Esta é uma noção muito forte de segurança desenvolvida e provada matematicamente durante a 2ª Guerra Mundial por Claude Shannon, cujos resultados foram publicados no Jornal Técnico dos Laboratórios Bell em 1949. As cifras de uso único, se usadas corretamente são seguras mesmo se o adversário tiver capacidade computacional infinita. 20
One-time pad Suponhamos que Alice deseje emitir a mensagem HELLO a Bob. Suponha que ambos estejam de posse de cadernetas que contenham sequências aleatórias idênticas previamente produzidas. Alice escolhe a página apropriada (ainda não-utilizada) da caderneta. O critério de escolha deve ser combinada previamente entre as partes. Geralmente usa-se regras como "usar a primeira folha disponível" ou "usar a folha X para o dia tal". O material na folha selecionada é a chave para codificação e decodificação da mensagem. 21
Referências https://pt.wikipedia.org/wiki/criptografia_quântica https://pt.wikipedia.org/wiki/one-time_pad 22
Criptologia Esteganografia Criptografia Criptanálise Cifragem Chaves Assimétrica Chaves Simétrica Hash Quântica Substituiçao Transposição Cifra das Colunas Transp de Colunas Transp Interromp. = Simples Poligráfica monoalfabética polialfabética Homófonos Monogrâmicas Poligrâmicas Tomogrâmicas 23