Criptografia Assimétrica e Autenticação de Mensagens Prof. Alessandro Brawerman Introdução Em adição a confidencialidade de mensagens, autenticação de mensagens também é muito importante Saber se a mensagem que foi enviada pela origem sofreu modificação Funções hashs auxiliam na autenticação de mensagens Criptografia assimétrica auxilia tanto na confidencialidade, quanto na autenticação 2 Técnicas para Autenticação de Msg Criptografia protege contra ataques passivos (espionagem) Uma técnica diferente é usada para proteger contra ataques ativos (falsificação de dados) autenticação de mensagens Uma coleção de dados é dita ser autentica se ela é genuína e provém da origem alegada 3 Técnicas para Autenticação de Msg Autenticação de msgs é um procedimento que possibilita entidades que estão se comunicando verificar se as msgs recebidas são genuínas Pode-se verificar também o tempo de vida da mensagem, para saber se ela não foi propositalmente atrasada ou se está sendo duplicada 4 Código de Autenticação de Mensagem 5 Função Hash Tipo One-Way Aceita uma msg M como entrada e produz um código de autenticação (message digest) de tamanho fixo H(M) H(M) é chamado de valor de integridade da mensagem, MIC - Message Integrity Check O cógido de autenticação é enviado junto com a msg de maneira protegida 6 Função Hash Tipo One-Way Usando criptografia simétrica Usando criptografia assimétrica Não usando criptografia, mas sim uma valor secreto 7 Hash One-Way Usando Criptografia 8 Funções Hash Seguras e HMAC Hashs do tipo one-way são consideradas as funções hashs mais seguras São importantes não só para autenticação de mensagens, mas para assinatura digital também 9 Funções Hash Seguras e HMAC O hash e criptografia são serviços independentes Podem ser usados em conjunto ou não, dependendo do que o usuário deseja Se quer confidencialidade da mensagem: Criptografia Se quer garantir integridade da mensagem com segurança: Hash criptografado 10 Funções Hash Seguras e HMAC Se quer confidencialidade e integridade da mensagem: Criptografia e hash (neste caso não precisa criptografar o hash) Se quer confidencialidade, integridade da mensagem e autenticação do usuário: Criptografia, hash e criptografia da assinatura 11 Algoritmos Mais Usados: SHA-1 MD5 Foram encontradas algumas falhas recentemente no MD5, estão sendo corrigidas MD6 ?? 12 Criptografia Assimétrica Cada usuário possui um par de chaves Chave privada - secreta. Somente o usuário a possui. Chave pública - todos conhecem Somente a chave privada referente a um par, consegue decriptografar a mensagem da chave pública daquele par 13 Criptografia Assimétrica Usuários criptografam mensagens com a chave pública de X e X consegue decriptografar com a sua chave privada Não faz sentido usar a chave privada para criptografar uma mensagem já que todo mundo possui a chave pública do par 14 Criptografia Assimétrica plaintext (data file or message) encripta chave pública ciphertext decripta chave privada plaintext (original data or message) 15 Criptografia Assimétrica Bob Alice 16 Autenticação usando um Sistema de chave pública Bob Alice 17 Generalidades Vantagem Desvantagem Não existe problema para distribuir as chaves Mais lento Necessita que envie uma mensagem para cada um de um grupo individualmente Mais usados DSA - presente no Java padrão RSA - proprietário. Bibliotecas do BouncyCastle.org trazem RSA 18 Serviços de Confidencialidade Criptografia Simétrica e Assimétrica Hash Autenticação 19