Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro MAB 715 Segurança em Redes Luiz Fernando Rust e-mail: INMETRO Tel. (021) 2679-9072 rust@nce.ufrj.br lfrust@inmetro.gov.br 11 Livros Stallings, W., Cryptography and Network Security: Principles and Practice Douglas R. Stinson, Cryptography, Theory and Practice S. C. Coutinho, Números Inteiros e Criptografia RSA SANS, Desvendando Segurança em Redes CISSP, Examinations Textbooks B. Schneier, John Wiley & Sons, Applied Cryptography A.J. Menezes et al, Handbook of Applied Cryptography Mel, H.X., Baker, D., Cryptography Decrypted 2
Suporte Material de Apoio Cópias das transparências dadas em aula Artigos livro do Stallings Represntante da turma Pegar e-mail Criar lista de e-mails 3 Trabalho Temas sugeridos Criptografia de limiar Algoritmos simétricos para sw embarcado Algoritmos assimétricos para sw emabarcado Verficação de integridade de sw em mciro-controladores Chips criptográficos 4
Mestrado Lista de exercícios Individual Trabalho Individual Texto (30 páginas) com aula (max 2:00 hs) Dias 14, 21, 28/11 TEMAS: Prova 5 Objetivos Formalizar conceitos Abrir as caixas-pretas Apontar caminhos para posterior aprofundamento Prover embasamento para soluções corporativas atuais e futuras 6
Plano geral Histórico/Conceitos Gerais/modelos Criptografia Convencional DES simplificado, DES, 3-DES, AES CriptoAnálise Linear e Diferencial Esteganografia Criptografia de Chave Pública RSA, Curvas Elípticas Diffie-Hellman Autenticação e Hash Aplicações PGP/MIME Kerberos, X-509 PKI, ICP-Brasil Protocolos de Comunicação Segura IPSEC,SSL 7 Introdução à Criptografia Ataques, Serviços, Mecanismos Métodos de Defesa Modelo para segurança Inter Redes Criptografia e CriptoAnálise Conceitos Básicos História Princípios da codificação simétrica (convencional) Princípios da codificação assimétrica 8
Ataques, Serviços e Mecanismos Ataque de Segurança Qualquer ação que comprometa a segurança da Informação Mecanismo de Segurança Um mecanismo que é projetado para detectar, prevenir ou recuperar de um ataque de segurança Serviço de Segurança Um serviço que aumente a segurança de processamento de dados ou transferência de informação Faz uso de um ou mais mecanismos de segurança 9 Ataques de Segurança 10
Ataques de Segurança Interrupção Ataque na disponibilidade Ex: destruição de hardware, cortar linha de comunicação... Interceptação Ataque na confidencialidade Ex: telefone grampeado, cópia ilícita de programas... Modificação Ataque na Integridade Ex: Alteração em arquivos de dados, mensagens... Fabricação Ataque na autenticidade Ex: Inserção de mensagens espúrias, adição de registros em um arquivo 11 Ataques Passivos e Ativos 12
Serviço de Segurança Confidencialidade (privacidade) Autenticação (quem criou ou enviou o dado) Integridade (não foi alterado) Não-repudiação (impossível negar) Controle de Acesso (previne o emprego errado de recursos) Disponibilidade (permanência) 13 Modelo de Segurança de Redes Requisitos Algoritmo de transformação Geração e distribuição da informação secreta Protocolos 14
Modelo de Segurança de Acesso a Rede 15 Métodos de Defesa Criptografia Controle de Software Controle de Hardware (smartcard) Políticas (ex. mudanças frequentes de passwords) Controles físico 16
Introdução à Criptografia Criptografia e CriptoAnálise Conceitos Básicos História Princípios da codificação simétrica (convencional) Princípios da codificação assimétrica Algoritmos de Codificação 17 Criptologia Criptos = escondido em grego Criptografia Arte de esconder mensagens Estuda os métodos para codificar uma mensagem de modo que só o seu destinatário legítimo consiga interpretar Criptoanálise Arte de quebrar mensagens Ciência de decifrar uma mensagem codificada Decifrar não é o mesmo que decodificar Decodificar é obter a mensagem original quando se conhece o sistema e usando a chave também conhecida Decifrar é quebrar o sistema e descobrir a chave 18
Conceitos básicos Ingredientes Texto pleno (claro,aberto) Plaintext Algoritmo de codificação Encryption algorithm (criptografia, ciframento) Chave secreta Secret Key Chave pública Public Key Chave privada Private Key Texto cifrado Ciphertext Algoritmo de decodificação Decryption algorithm (decriptografia) Segurança depende da confidencialidade da chave, não da confidencialidade do algoritmo 19 Modelo Simplificado 20
Criptografia Classificado através de 3 dimensões independentes Os tipos de operações usadas para a transformação de texto pleno para texto cifrado O número de chaves usadas simétrico (chave única) assimétrico (duas-chaves, ou codificação de chave pública) A forma que o texto pleno é processado 21 Criptoanálise Tipos de Ataques 22
Ex: Influência do tamanho da chave Tempo médio estimado para uma busca exaustiva da chave em algoritmos simétricos força bruta testar metade das chaves possíveis Tamanho da chave (bits) Número de chaves alternativas Tempo necessário em 1 Decodificação/µs Tempo necessário em 10 6 Decodificações/µs 32 2 32 = 4.3 x 10 9 35,8 minutos 2.15 milisegundos 56 2 56 = 7.2 x 10 16 1142 anos 10 horas 128 2 128 = 3.4 x 10 38 5.4 x 10 24 anos 5.4 x 10 18 anos 168 2 168 = 3.7 x 10 50 5.9 x 10 36 anos 5.9 x 10 30 anos 23 Considerações Algoritmos fracos falham até com ataque ciphertext-only Um esquema de codificação é incondicionalmente seguro se o texto cifrado gerado não contém informação suficiente para ser quebrado não importa o tempo disponível Não existe algoritmo incondicionalmente seguro Exceção: one-time-pad Computacionalmente seguros O custo de quebrar o codificador excede o valo da informação codificada O tempo necessário para quebrar excede o tempo de vida útil da informação 24
História César foi o primeiro a utilizar criptografia como meio de esconder informações secretas O código foi usado para César se comunicar com legiões em combate pela Europa 25 Código de César A B C D E F G H I J L M N O P Q R S T U V X Z C D E F G H I J L M N O P Q R S T U V X Z A B Exemplo ESSES ROMANOS SÃO UNS NEURÓTICOS GUUGU TQOCPQU UCQ XPU PGXTQVLEQU C=E(p) = (p+k)mod(23) 26
Problemas É fácil decodificar verificando a freqüência das letras na mensagem A frequencia média com que cada letra é usada em uma língua é mais ou menos constante Na língua portuguesa : As vogais são mais frequentes que as consoantes A vogal mais frequente é o a Saber codificar implica em saber decodificar Precisa de canal seguro O mesmo se aplica a outros códigos semelhantes 27 Tratado sobre Criptografia Em 1518 o monge Beneditino Trithemius escreveu o mais antigo tratado conhecido sobre criptografia em um livro chamado Polygraphiae 28
Quadrado de Viginère 29 A Máquina Enigma - Século 20 A máquina Enigma foi um dos segredos mais bem guardados na Segunda Grande Guerra, Usada pelos Alemães para proteger as comunicações entre o comando e as embarcações navais 30
Algoritmos criptográficos Existem 2 tipos de algoritmos criptográficos Simétricos Mesma chave é utilizada para criptografar e decriptografar Melhor performance quando comparada aos algoritmos assimétricos Assimétricos Remetente criptografa utilizando a chave pública do destinatário Destinatário decriptografa utilizando a sua chave privada 31 Criptografia Simétrica Necessita de uma chave compartilhada Codificação Para: Banco Para: Banco De: Affonso De: Affonso Data: 16, Abr, 2001 Data: 16, Abr, 2001 Transferir R$ 1,5 Transferir R$ 1,5 milhões da conta milhões da conta 254674-12 para 254674-12 para a conta 071517-08 a conta 071517-08 Affonso Affonso + + Algoritmo = *> *ql3*uy *> *ql3*uy #~00873/JDI #~00873/JDI c4(dh: IWB(883 c4(dh: IWB(883 LKS9UI29as9eea LKS9UI29as9eea qw9vijhas9djerhp7 qw9vijhas9djerhp7 (*Y23k^wbvlqkwc (*Y23k^wbvlqkwc zqw-_89237xgyjdc zqw-_89237xgyjdc Biskdue di7@94 Biskdue di7@94 Decodificação *> *ql3*uy *> *ql3*uy #~00873/JDI #~00873/JDI c4(dh: IWB(883 c4(dh: IWB(883 LKS9UI29as9eea LKS9UI29as9eea qw9vijhas9djerhp7 qw9vijhas9djerhp7 (*Y23k^wbvlqkwc (*Y23k^wbvlqkwc zqw-_89237xgyjdc zqw-_89237xgyjdc Biskdue di7@94 Biskdue di7@94 Algoritmo + + = Para: Banco Para: Banco De: Affonso De: Affonso Data: 16, Abr, 2001 Data: 16, Abr, 2001 Transferir R$ 1,5 Transferir R$ 1,5 milhões da conta milhões da conta 254674-12 para 254674-12 para a conta 071517-08 a conta 071517-08 Affonso Affonso 32
Características da Criptografia Simétrica Performance Rápida e Segura (Se a chave for boa) Administração de Chaves Não é prático para um número grande de usuários (chave compartilhada) Aplicações Sempre que a performance for o fator determinante Exemplos DES, 3-DES, IDEA 33 História IBM desenvolve o Lucifer para os sistemas bancários (1970) NIST e NSA testam e modificam o Lucifer (1974) Lucifer adotado como padrão do governo americano (1976) Nome foi alterado para Data Encryption Standard (DES) Definido no FIPS (46-3) e ANSI standard X9.32 NIST define o Triple DES (3DES) (1999) NIST aprova o Advanced Encryption Standard (AES) (2001) 34
Criptografia Assimétrica Opera com um par de chaves relacionadas, uma pública e uma privada Criptografia Para: Banco Para: Banco De: Affonso De: Affonso Data: 16, Abr, 2001 Data: 16, Abr, 2001 Transferir R$ 2,0 Transferir R$ 2,0 milhões da conta milhões da conta 254674-12 para 254674-12 para a conta 071517-08 a conta 071517-08 Affonso Affonso Decriptografia *> *ql3*uy *> *ql3*uy #~00873/JDI #~00873/JDI c4(dh: IWB(883 c4(dh: IWB(883 LKS9UI29as9%#@ LKS9UI29as9%#@ qw9vijhas9djerhp7 qw9vijhas9djerhp7 (*Y23k^wbvlqkwc (*Y23k^wbvlqkwc zqw-_89237xgyjdc zqw-_89237xgyjdc Biskdue di7@94 Biskdue di7@94 + + Algoritmo = Chave Pública + + Algoritmo = Chave Privada *> *ql3*uy *> *ql3*uy #~00873/JDI #~00873/JDI c4(dh: IWB(883 c4(dh: IWB(883 LKS9UI29as9%#@ LKS9UI29as9%#@ qw9vijhas9djerhp7 qw9vijhas9djerhp7 (*Y23k^wbvlqkwc (*Y23k^wbvlqkwc zqw-_89237xgyjdc zqw-_89237xgyjdc Biskdue di7@94 Biskdue di7@94 Para: Banco Para: Banco De: Affonso De: Affonso Data: 16, Abr, 2001 Data: 16, Abr, 2001 Transferir R$ 2,0 Transferir R$ 2,0 milhões da conta milhões da conta 254674-12 para 254674-12 para a conta 071517-08 a conta 071517-08 Affonso Affonso 35 Criptografia Assimétrica Conhecida como Criptografia de Chave Pública Public Key Cryptography A chave pública é divulgada usada para criptografar A chave privada é proprietária normalmente nunca abandona o ambiente onde foi gerada só a chave privada pode decriptografar 36
Características da Criptografia Assimétrica Performance Baixa Não é prática para uso intensivo Administração de Chaves A chave pública pode ser distribuída livremente Aplicações: Criptografia Assinatura Digital / Verificação Troca de chaves Exemplos: RSA, ECC, Diffie-Hellman 37 Princípios da chave pública Codificação Autenticação 38
Funções Hash 39 Funções Hash - Recepção 40
Desempenho e características dos algoritmos 41 Melhor Opção Usar Criptografia Simétrica para aplicações de uso intensivo Criar uma chave nova a cada seção Usar um algoritmo assimétrico para informar as chaves criadas Usar algoritmo assimétrico para assinatura digital 42