Baixe o app para aproveitar ainda mais
Prévia do material em texto
Segurança de Redes de Computadores Introdução “Em vez de ficar se descabelando para encontrar uma falha no sistema, o hacker pode largar no banheiro um disquete infectado, com o logotipo da empresa e uma etiqueta bem sugestiva: 'Informações Confidenciais. Histórico Salarial 2003'. É provável que alguém o encontre e insira na máquina” (MITNICK, 2003) Introdução Por meio da Internet você pode: Encontrar amigos e fazer novas amizades Acessar sites de notícias e esportes Efetuar servições bancários Enviar sua declaração de Imposto de Renda Consultar acervos de museus Consultar a programação de sala de cinemas Consultar os pontos de sua carteira de habilitação Participar de cursos à distância Introdução Riscos do uso da Internet: Acesso a conteúdos impróprios ou ofencivos Contato com pessoas mal-intencionadas Furto de identidade Invasão de privacidade Divulgação de boatos Diviculdade de exclusão Uso excessivo Plágio e violação de direitos autorais Introdução Golpes na Internet Furto de identidade Fraude de antecipação de recursos Phishing Pharming Golpe do site de comércio eletrônico fraudulento Introdução Ataques Exploração de vunerabilidades Varredura em redes (scan) Falsificação de e-mail Interceptação de tráfego (sniffing) Força bruta Desconfiguração de página Negação de serviço (DoS, DDoS) Introdução Códigos maliciosos Vírus Backdoor Spyware Riscos Spam Cookies Códigos móveis Janelas pop-up P2P Introdução Mecanismos de segurança Política de Segurança Notificação de incidentes e abusos Criptografia Registro de eventos Firewall Pessoal Ferramentas Antimalware Filtro antispam Cenário Introdução Qual parte da pilha de protocolos pertence a segurança de redes? Serviços Confidencialidade Autenticação Integridade Disponibilidade Não-repúdio Ataques Tipos de Ataques Criptografia (escrita secreta) - Conjunto de técnicas que permitem tornar “incompreensível” uma mensagem originalmente escrita com clareza, de forma a permitir que apenas o destinatário a decifre e a compreenda. Criptoanálise - do grego kryptos + análysis (decomposição) - ciência que estuda a decomposição do que está oculto ou a “quebra” do sistema criptográfico. Criptologia - Criptografia + Criptoanálise. Criptografia - Fundamentos Termo Descrição Texto claro ou mensagem Mensagem original Cifra ou criptografia Processo de “embaralhar” a mensagem de forma a ocultar seu conteúdo Texto cifrado Mensagem cifrada Decifração ou descriptografia Processo inverso de recuperação da mensagem a partir do criptograma Chave criptográfica Parâmetro de controle. Segredo por meio do qual a mensagem pode ser cifrada ou decifrada Criptografia - Terminologia Termo Descrição Algoritmo criptográfico Transformação matemática - converte uma mensagem em claro em uma mensagem cifrada e vice- versa. Alice Origem - Cifra uma mensagem. Bob Destino - Decifra uma mensagem. Eva Intruso – tenta interceptar e decifrar a mensagem. Criptografia - Terminologia Alice e Bob são personagens fictícios, mas são nomes sistematicamente utilizados pelos especialistas de criptografia. É mais colorido do que falar apenas no emissor e receptor, ou em A e B. Utiliza-se habitualmente uma terceira personagem, que costuma receber o nome de Eva (Eve) e que representa aquela que se põe à escuta - ou seja, aquela que “eavesdrop”. Criptografia – Histórico Fases da evolução da criptografia Criptografia manual Criptografia por máquinas Criptografia em rede Historicamente quatro grupos de pessoas utilizaram e contribuíram para a arte da criptografia: os militares, os diplomatas, as pessoas que gostam de guardar memórias e os amantes. Criptografia – Histórico Criptografia manual A criptografia era feita manualmente através de algum processo predeterminado. Exemplo: - Código de César 50 a.C. - Código de César Cada letra da mensagem original é substituída pela letra que a seguia em três posições no alfabeto: a letra A substituída por D, a B por E, e assim até a última letra, cifrada com a primeira. Único da antiguidade usado até hoje, apesar de representar um retrocesso em relação à criptografia existente na época. Denominação atual para qualquer cifra baseada na substituição cíclica do alfabeto: Código de César. Criptografia – Histórico Criptografia – Histórico Criptografia por Máquinas Uma tabela predeterminada era usada em conjunto com uma máquina, em que o operador desta, usando a tabela e manipulando a máquina, podia enviar uma mensagem criptografada. Exemplos de máquinas de criptografia: - O Cilindro de Jefferson - A Máquina Enigma O cilindro de Jefferson (Thomas Jefferson, 1743-1826) Na sua forma original, é composto por 26 discos de madeira que giram livremente ao redor de um eixo central de metal. As vinte e seis letras do alfabeto são inscritas aleatoriamente na superfície mais externa de cada disco de modo que, cada um deles, possua uma sequência diferente de letras. Girando-se os discos pode- se obter as mensagens. Criptografia – Histórico Criptografia – Histórico Máquina Enigma Antes das cifras modernas, máquinas de rotor foram as cifras complexas mias comuns em uso A Enigma foi a ferramenta utilizada pelos militares alemães para transmissão de mensagens secretas na II Guerra Mundial Enigma Simulator http://users.telenet.be/d.rijmenants/en/enigmasim.htm Máquina Enigma Arthur Scherbius em 1918, desenvolveu a máquina Enigma O segredo da Enigma eram seus rotores Após cada tecla pressionada os rotores mudavam de posição, de modo que cada letra teria um alfabeto diferente de substituição Máquina Enigma Estrutura da Máquina Enigma Estrutura da Máquina Enigma Estrutura da Máquina Enigma Estrutura da Máquina Enigma Estrutura da Máquina Enigma Estrutura da Máquina Enigma Estrutura da Máquina Enigma Enviando uma mensagem... Wehrmacht Procedure Data: 18/11/2014 Rotores: I, II, IV Refletor: UKW (B) Anel: 06-22-14 Plugs: PO, ML, IU, KJ Posição Inicial: EHZ Chave: STE Mensagem: ATACARAGORA Estrutura da Máquina Enigma Instruções para criptografar: Ajustar a máquina Escolher uma chave (3 letras) Por exemplo: XYZ Criptografar a chave (2 vezes) XYZXYZ Ajustar a máquina para a chave XYZ escolhida, mas não mudar a ordem dos rotores ou plugs Criptografar a mensagem Criptografia em rede (computadores) A mensagem é criptografada usando-se algoritmos. Com o advento da internet e sua popularização, a criptografia em rede tem sido responsável pelo surgimento/fortalecimento do comércio eletrônico. Exemplos: - O DES (Data Encryption Standard), da IBM - O RSA (Ronald Rivest, Adi Shamir e Leonard Adleman) - O PGP (Pretty Good Privacy), de Phil Zimmerman Criptografia – Histórico Criptografia - Fundamentos CRIPTOLOGIA CRIPTOGRAFIA CRIPTOANÁLISE CÓDIGOS CIFRAS ESTEGANOGRAFIA Transposição Substituição Monoalfabética Polialfabética Formas de Criptografia: Por código – procura esconder o conteúdo da mensagem através de códigos pré-definidos entre as partes envolvidas na troca de mensagens (substitui uma palavra por outra palavra ou símbolo) Exemplo: código utilizado pelas forças armadas dos EUA na 2a Guerra Mundial. Utilizado pelos índios navajo que se comunicavam uns com os outros usando palavrasnavajo específicas para termos militares (exemplo: chay-dagahi-nail- tsaidi – assassino de cágado – indicar arma antitanque). Criptografia - Fundamentos Formas de Criptografia Por cifra – o conteúdo da mensagem é cifrado através da mistura e/ou substituição das letras da mensagem original. Transformação de caractere por caractere (ou de bit por bit). Não considera a estrutura lingüística da mensagem. A mensagem é decifrada fazendo-se o processo inverso ao ciframento. Tipos: Transposição Substituição Criptografia - Fundamentos Cifras de Transposição: método pelo qual o conteúdo da mensagem é o mesmo, porém com as letras postas em ordem diferente (permutadas). Exemplo: Pode-se cifrar a palavra carro e escrevê-la como ORARC. Cifra de Transposição Colunar Simples Criptografia – Fundamentos Uma cifra de transposição Criptografia – Fundamentos Texto claro Texto cifrado Chave Lido em colunas, a partir da coluna cuja letra da chave é a mais baixa (mais próxima do início do alfabeto). Cifras de Substituição: troca-se cada letra ou grupo de letras da mensagem de acordo com uma tabela de substituição. Tipos: Cifra de César Cifra de substituição simples Cifra de substituição polialfabética Criptografia – Fundamentos Cifra de substituição simples, monoalfabética Texto cifrado - substitui-se cada caractere do texto claro por outro, de acordo com uma tabela pré-estabelecida. Mantém a freqüência relativa dos caracteres. Criptografia contemporânea (uso de computadores) - substitui-se caracteres por blocos de bits. Relativamente segura em textos muito curtos. Uma simples criptanálise estatística, baseada na característica estatística da língua, é suficiente para decifrar o texto. Criptografia – Fundamentos Criptografia – Fundamentos Cada símbolo (letra) é substituído por outro por função matemática por tabela Considerando 26 letras, tem-se 26! possibilidades (cerca de 4x1026) Com 1 ns por tentativa, são necessários ~1010 anos para experimentar todas as chaves. Criptografia – Fundamentos Cifra de deslocamento Geralização da cifra de César Cada c = (m + k) mod n c : texto cifrado m: texto claro k: chave (deslocamento) n: quantidade de símbolos ou letras Cifra de César c = (m + 3) mod 26 teste de uma cifra de cesar whvwh gh xpd fliud gh fhvdu Criptografia – Fundamentos Criptoanálise Com 26! chaves podemos pensar que o sistema é seguro O problema são as características da linguagem Criptografia - Fundamentos Criptografia – Fundamentos Cifra de substituição polialfabética Utiliza múltiplos alfabetos para a substituição de uma mesma mensagem. Dificulta a interpretação do texto cifrado pela aplicação da análise de frequência. Exemplo: Cifra de Vigenère Cifra de Playfair Criptografia - Fundamentos Cifra de Vigenère Cifra de substituição polialfabetica mais simples Múltiplas cifras de César Chave de múltiplas letras K=k1k2..kd Letra i especifica o alfabeto i para usar Repita a partir do início depois de d letras na mensagem Decriptografia simplesmente funciona em sentido inverso Criptografia - Fundamentos Mensagem: ATACARBASESUL Chave: LIMAO ATACARBASESUL LIMAOLIMAOLIM LBMCOCJMSSDCX Criptografia - Fundamentos Cifra de Playfair Dividir o texto em pares de letras maiúsculas, sem pontuação Substituir todos os J por I, porque a cifra só admite 25 letras. Inserir X entre letras duplicadas, para reduzir repetições nos criptogramas. FREEDOM passa a ser FR EX ED O M Se o texto anterior contiver número ímpar de letras, adicionar uma letra previamente selecionada (padding). Por exemplo: X Criptografia - Fundamentos Cifra de Playfair Formar tabela 5x5 com a chave, sem letras repetidas, adicionando ordenadamente as letras que faltam na chave. Por exemplo: chave é “first amend” Substituir pares na seguinte forma: Se as duas letras estiverem na mesma linha da tabela, substituir cada uma pela letra à direita Se as duas letras estiverem na mesma coluna da tabela, substituir cada uma pela letra abaixo Se as duas letras estiverem em colunas e linhas distintas, determinar a intersecção trocando as colunas; Criptografia - Fundamentos Cifra de uso único (one-time-pad) Cifra inviolável. Técnica: 1. Escolher como chave um string de bits aleatórios. 2. Converter o texto simples em um string de bits (utilizando ´o Código ASCII); 3. Calcular o OR exclusivo (XOR) dos dois strings. Imune a ataques – Teoria da Informação – não existe nenhuma informação na mensagem, todos os textos possíveis com o tamanho dado são igualmente prováveis. Criptografia – Fundamentos Criptografia - Fundamentos O que é Esteganografia? (steganos = coberto + graphos = grafia) “Comunicação secreta por ocultação de mensagem.” Esteganografia - Fundamentos Criptografia esconde o conteúdo da mensagem. Normalmente é conhecida a existência da mensagem. Esteganografia esconde a existência da mensagem. Segurança adicional pode ser obtida combinando-se: esteganografia + criptografia. Esteganografia - Fundamentos Formas de Obtenção Tinta Invisível Marcação de caracteres Moderna Esteganografia Uso de bits não significativos Esteganografia - Fundamentos Exemplo: Escrever uma mensagem com suco de limão, esperar secar e aquecer o papel. Antes Depois Esteganografia em textos Exemplo (mensagem escondida em um texto): O Senhor Evandro quer usar este salão temporariamente. Relembre o fato ocorrido, isto poderia estragar relíquias, florais e imagens talhadas. Obrigado. O Senhor Evandro quer usar este salão temporariamente. Relembre o fato ocorrido, isto poderia estragar relíquias, florais e imagens talhadas. Obrigado. O sequestro foi perfeito Esteganografia em imagens Técnicas: Bit menos significativo A letra “A” (10000011) pode ser escondida em 3 pixels (imagem de 24 bits) Pixels originais: (00100111 11101001 11001000) (00100111 11001000 11101001) (11001000 00100111 11101001) Pixels alterados: (00100111 11101001 11001000) (00100110 11001000 11101000) (11001000 00100111 11101001) Esteganografia em imagens A imagem da direita contém o texto completo de cinco peças de Shakespeare incorporado (700 KB). Figura + (Hamlet, Macbeth, Julius Caesar, Merchant of Venice, King Lear) Esteganografia Ferramenta steghide (Linux) -ef, --embedfile filename -cf, --coverfile filename -sf, --stegofine filename -xf, --extractfile filename Exemplo: steghide embed -ef aula.txt -cf logo.jpg steghide extract -sf logo.jpg -xf aula2.txt Criptografia - Tipos Criptografia Simétrica (chave secreta) Criptografia Assimétrica (chave pública) Chave (A) Fechada Chave (A) Aberta Chave (A) Fechada Chave (B) Aberta Criptografia Simétrica Texto claro Mensagem cifrada Utiliza uma mesma chave tanto para cifrar como para decifrar (ou pelo menos a chave de decifração pode ser obtida trivialmente a partir da chave de cifração) A mesma chave utilizada para “fechar o cadeado” é utilizada para “abrir o cadeado”. Criptografia Simétrica Criptografia Simétrica - Requer uma chave compartilhada Para: Banco De: Affonso Data: 16, Abr, 2001 Transferir R$ 2,5 milhões da conta 254674-12 para a conta 071517-08 Affonso Para: Banco De: Affonso Data: 16, Abr, 2001 Transferir R$ 2,5 milhões da conta 254674-12 para a conta 071517-08 Affonso *> *ql3*UY #~00873/JDIc4(DH: IWB(883 LKS9UI29as9eea qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 *> *ql3*UY #~00873/JDI c4(DH: IWB(883 LKS9UI29as9eea qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 Criptografia + + Algoritmo = Descriptografia Para: Banco De: Affonso Data: 16, Abr, 2001 Transferir R$ 2,5 milhões da conta 254674-12 para a conta 071517-08 Affonso Para: Banco De: Affonso Data: 16, Abr, 2001 Transferir R$ 2,5 milhões da conta 254674-12 para a conta 071517-08 Affonso *> *ql3*UY #~00873/JDI c4(DH: IWB(883 LKS9UI29as9eea qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 *> *ql3*UY #~00873/JDI c4(DH: IWB(883 LKS9UI29as9eea qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 + + =Algoritmo Criptografia Simétrica Algoritmos simétricos - exigem que a chave seja mantida secreta, do conhecimento exclusivo dos dois interlocutores. É requerido um canal seguro que permita a um usuário transmitir a chave ao seu interlocutor. Se uma pessoa quer se comunicar com outra com segurança, ela deve passar primeiramente a chave utilizada para cifrar a mensagem. Este processo é chamado distribuição de chaves. Criptografia Simétrica Uso de algoritmo criptográfico simétrico (chave secreta) Cifrar Decifrar Canal Seguro Canal Inseguro Mensagem (abcdef...z) Mensagem (abcdef...z) Criptograma (...) Chave K Chave K BobAlice Alice e Bob precisam acordar uma chave secreta que irá proteger as mensagens trocadas entre eles. Criptografia Simétrica Alice cifra uma mensagem - utiliza um algoritmo de ciframento e uma chave secreta para transformar uma mensagem clara em um texto cifrado. Bob decifra uma mensagem - utiliza o algoritmo de deciframento correspondente e a mesma chave para transformar o texto cifrado em uma mensagem em claro. Eva - não possui a chave secreta, mesmo conhecendo o algoritmo, não consegue decifrar a mensagem. A segurança do sistema reside não mais no algoritmo e sim na chave empregada. É ela que agora, no lugar do algoritmo, deverá ser mantida em segredo por Alice e Bob. Criptografia Simétrica Tipos de cifras utilizadas: Cifras de fluxo: quando se cria uma chave aleatória com o mesmo tamanho do texto a ser cifrado, e combina-se a chave com a mensagem a ser enviada. Por exemplo: RC4 Cifras de Bloco: aceita um grupo de bits ou bloco de dados, podendo ser utilizados em cadeia. geralmente usados para grandes quantidades de dados. Por exemplo: DES Criptografia Simétrica Cifra de Bloco Modos de Operação Eletronic Code Book (ECB) Cipher Block Chaining (CBC) Criptografia Simétrica ECB Cada bloco pode ser visto como um valor que é substituído por outro valor Cada bloco é cifrado independente dos outros blocos A fraqueza reside no fato de os blocos serem codificados de forma independente Mensagens com padrão de repetição podem revelar-se no texto cifrado Criptografia Simétrica Criptografia Simétrica CBC A entrada para o algoritmo de cifragem é o resultado do XOR dos dados a cifrar com o bloco cifrado anterior Cada bloco cifrado depende dos blocos anteriormente cifrados Uma alteração num bloco de texto não cifrado provoca alteração no bloco cifrado e em todos seguintes Precisa de um vetor de inicialização Criptografia Simétrica Criptografia Simétrica Cifra de Feistel O bloco de entrada é dividido em duas partes Processado em múltiplos estágios Na parte esquerda é feita uma substituição baseada no resultado de uma função da parte direita e de uma sub-chave No final há uma permutação das duas partes Criptografia Simétrica Cifra de Feistel Parâmetros Tamanho do bloco Tamanho da chave Número de rodadas Algoritmo para geração de subchave Função rodada Criptografia Simétrica Criptografia Simétrica Criptografia Simétrica Cifras Modernas Simples Cifras tradicionais Orientadas a caracteres Cifras modernas Orientadas a bits Componentes de uma cifra de bloco moderna Criptografia Simétrica Exemplos de algoritmos que utilizam chaves secretas: DES Triple DES AES Criptografia Simétrica Algoritmo Simétrico Bits Descrição DES 56 • Data Encryption Standard (DES) - algoritmo simétrico mais disseminado no mundo. • Utiliza cifras de blocos de 64 bits, chave de 56 bits. • Baseado no algoritmo de Feistel • Cifra de bloco com Cipher Block Chaining • Criado pela IBM em 1977, permite cerca de 72 quadrilhões de combinações (256), considerado pequeno, quebrado por "força bruta" em 1997 em um desafio lançado na Internet. • NIST (National Institute of Standards and Technology) - lançou o desafio, recertificou o DES pela última vez em 1993 Algoritmo DES Basicamente o DES funciona através dos seguintes passos: 1. Uma substituição fixa, chamada de permutação inicial, de 64 bits em 64 bits; 2. Uma transformação, que depende de uma chave, e que preserva a metade direita; 3. Uma troca das duas metades de 32 bits cada uma; 4. Repetem-se os passos 2 e 3 durante 16 vezes; 5. Inversão da permutação inicial. Algoritmo DES Algoritmo DES Algoritmo DES Algoritmo DES Descrição do funcionamento Criptografa blocos de 64 bits usando uma chave de 56 bits DES executa 16 rodadas de criptografia Cada rodada do DES usa uma sub-chave gerada a partir da chave original As operações matemáticas em cada rodada são as mesmas A diferença está na sub-chave e na função F Algoritmo DES O algoritmo foi projetado para permitir que a decodificação fosse feita com a mesma chave da codificação – propriedade necessária em algoritmo de chave simétrica. As etapas são simplesmente executadas na ordem inversa. Criptografia Simétrica Algoritmo Simétrico Bits Descrição Triple DES (3DES) 112 ou 168 • O 3DES - simples variação do DES, utilizando-o em três ciframentos sucessivos, podendo empregar um versão com duas ou com três chaves diferentes. • É seguro, porém muito lento para ser um algoritmo padrão. Criptografia Simétrica Criptografia Simétrica Algoritmo Simétrico Bits Descrição AES 128 • Cifra de bloco desenvolvida para substituir o DES • Utiliza chaves de 128, 192 e 256 bits • Blocos de 128 bits • Não é uma estrutura de Feistel • A chave fornecida como entrada é expandida • Quatro estágios diferentes são utilizados: subBytes, shiftRows, MixColumns, AddRoundKey • Somente o estágio AddRoundKey faz uso da chave Algoritmo AES Algoritmo AES Substitute Bytes Algoritmo AES Shift Rows Algoritmo AES Mix Columns Algoritmo AES Add Round Key Criptografia Simétrica Vantagem Rapidez na criptografia e descriptografia da informação. Desvantagens A chave deve ser trocada entre as partes e armazenada de forma segura, o que nem sempre é fácil de garantir; A criptografia simétrica não garante a identidade de quem enviou ou recebeu a mensagem (autenticidade e não-repudiação). Cada par necessita de uma chave para se comunicar de forma segura. Em geral, se n pessoas querem se comunicar usando chave secreta, serão necessárias chaves - problema para o gerenciamento de chaves. Criptografia Simétrica Algoritmo de Diffie-Hellman É um método de troca segura de chaves Não é utilizado para cifrar ou decifrar mensagens Inventado em 1976 O objetivo é permitir a troca de chaves entre duas entidades remotas através de um meio de comunicação não seguro É baseado na operação de logaritmos discretos Criptografia Simétrica Algoritmo de Diffie-Hellman Criptografia Assimétrica Texto claro Mensagem cifrada As chaves são sempre geradas aos pares: uma para cifrar e a sua correspondente para decifrar. A chave pública é divulgada, a chave privada é proprietária (normalmente não abandona o ambiente onde foi gerada). Uma chave é utilizada para “fechar o cadeado” e outra chave, diferente, mas relacionada à primeira, é utilizada para “abrir o cadeado” Criptografia Assimétrica Criptografia Assimétrica - Não possui segredos compartilhados Para: Banco De: Affonso Data: 16, Abr, 2001 Transferir R$ 2,0 milhões da conta 254674-12 para a conta 071517-08 Affonso Para: Banco De: Affonso Data: 16, Abr, 2001 Transferir R$ 2,0 milhões da conta 254674-12 para a conta 071517-08 Affonso *> *ql3*UY #~00873/JDI c4(DH: IWB(883 LKS9UI29as9%#@ qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 *> *ql3*UY #~00873/JDI c4(DH: IWB(883 LKS9UI29as9%#@ qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 Criptografia + + Algoritmo = Chave Pública Descriptografia Para: Banco De: Affonso Data: 16, Abr, 2001 Transferir R$ 2,0 milhões da conta 254674-12 para a conta 071517-08 Affonso Para: Banco De: Affonso Data: 16, Abr, 2001 Transferir R$ 2,0 milhões da conta 254674-12 para a conta 071517-08 Affonso *> *ql3*UY #~00873/JDI c4(DH: IWB(883 LKS9UI29as9%#@ qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 *> *ql3*UY #~00873/JDI c4(DH: IWB(883 LKS9UI29as9%#@ qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 + + Algoritmo = Chave Privada As duas chaves são relacionadas através de um processo matemático, usando funções unidirecionais para a codificação da informação. Criptografia Assimétrica Algoritmos assimétricos - permitem que a chave de cifração possa ser tornada pública, disponibilizando-a em um “canal público” (Ex.: repositório de acesso público) - chave-pública. Qualquer um pode cifrar mensagens com uma dada chave- pública. Somente o destinatário, detentor da correspondente chave de decifração (chave-privada, ou secreta), poderá decifrar a mensagem. A chave-privada não precisa e nem deve ser dada a conhecer a ninguém, devendo ser guardada em segredo pelo seu detentor apenas, que deve também ter sido o responsável pela geração do seu par de chaves, enquanto a chave-pública pode ser publicada livremente. Criptografia Assimétrica Uso de algoritmo criptográfico assimétrico (chave pública). Cifrar Decifrar Canal Público Canal Inseguro Mensagem (abcdef...z) Mensagem (abcdef...z) Criptograma (...) Chave KPública Chave KSecreta BobAlice Para que Alice envie uma mensagem confidencial a Bob, ela deve encriptar essa mensagem com a chave pública de Bob que, de posse de sua chave privada, consegue descriptá-la. Como, em tese, ninguém tem acesso à chave privada de Bob, ninguém pode descriptar a mensagem. Criptografia Assimétrica Descrição do funcionamento do sistema (forma simplificada) Bob e todos os que desejam comunicar-se de modo seguro geram uma chave de ciframento e sua correspondente chave de deciframento. Bob mantém secreta a chave de deciframento; esta é chamada de sua chave privada. Bob torna pública a chave de ciframento: esta é chamada de sua chave pública. Qualquer pessoa pode obter uma cópia da chave pública. Bob encoraja isto, enviando-a para seus amigos ou publicando-a em boletins. Eva não tem nenhuma dificuldade em obtê-la. Criptografia Assimétrica Descrição do funcionamento do sistema (forma simplificada) Alice deseja enviar uma mensagem a Bob: precisa primeiro encontrar a chave pública dele. Feito isto, ela cifra sua mensagem utilizando a chave pública de Bob, despachando-a em seguida. Bob recebe a mensagem, a decifra facilmente com sua chave privada. Eva, que interceptou a mensagem em trânsito, não conhece a chave privada de Bob, embora conheça sua chave pública. Mas este conhecimento não a ajuda a decifrar a mensagem. Mesmo Alice, que foi quem cifrou a mensagem com a chave pública de Bob, não pode decifrá-la agora. Criptografia Assimétrica Algoritmo deve atender 3 requisitos básicos: 1. D(E(P)) = P. 2. É extremamente difícil deduzir D a partir de E. 3. E não pode ser decifrado por um ataque de texto simples escolhido. Três principais variações para a Criptoanálise: •Texto cifrado – determinado volume de texto cifrado e nenhum texto simples. •Texto simples conhecido – há uma correspondência entre o texto cifrado e o texto simples. •Texto simples escolhido – criptoanalista tem a possibilidade de codificar trechos do texto simples escolhidos por ele mesmo. Criptografia Assimétrica Exemplos de algoritmos que utilizam chaves públicas: RSA ElGamal Curvas Elípticas Criptografia Assimétrica Algoritmo Descrição RSA • Possui este nome devido a seus inventores: Ron Rivest, Adi Shamir e Len Adleman, que o criaram em 1977 no MIT. • Amplamente utilizado e uma das mais poderosas formas de criptografia de chave pública conhecidas. Utiliza números primos. • Premissa por trás do RSA: é fácil multiplicar dois números primos para obter um terceiro número, mas muito difícil recuperar os dois primos a partir daquele terceiro número - fatoração. • Exemplo: Fatores primos de 3.337 são 47 e 71. Geração da chave pública: multiplicar dois primos grandes; qualquer um pode fazer isto. Derivar a chave privada a partir da chave pública: fatorar um grande número. Se o número for grande o suficiente e bem escolhido, então ninguém pode fazer isto em uma quantidade de tempo razoável. Criptografia Assimétrica Algoritmo Descrição RSA • Segurança: dificuldade de fatoração de números grandes. • Uma chave RSA de 512 bits foi quebrada em 1999 pelo Instituto Nacional de Pesquisa da Holanda, com o apoio de cientistas de mais 6 países. Levou cerca de 7 meses e foram utilizadas 300 estações de trabalho para a quebra. • Fato preocupante: percentual significativo dos sites de comércio eletrônico utilizam chaves RSA de 512 bits. Algoritmo - RSA Descrição do funcionamento 1. Escolhe-se dois números primos extensos, p e q, (geralmente, de 1.024 bits). 2. Calcula-se n = p × q e z = (p - 1) × (q - 1). 3. Escolhe-se um número d tal que z e d sejam primos entre si. 4. Encontra-se e de forma que (e × d ) mod z = 1 Algoritmo - RSA Descrição do funcionamento O texto simples (uma string de bits) é dividido em blocos, de modo que cada mensagem de texto simples, P , fique no intervalo 0 ≤ P < n. Criptografar a mensagem P – calcula-se C = Pe (mod n). Descriptografar C – calcula-se P = Cd (mod n). É possível provar que, para todo P na faixa especificada, as funções de criptografia e descriptografia são inversas entre si. Algoritmo - RSA Descrição do funcionamento Para realizar a criptografia, são necessários "e" e "n“. Para a descriptografia, são necessários "d" e "n". Portanto a chave pública consiste no par (e,n) e a chave privada consiste em (d,n). A segurança do método se baseia na dificuldade de fatorar números extensos. Se pudesse fatorar o valor n (publicamente conhecido), seria possível determinar p e q para, a partir destes, encontrar z e, então, seria possível encontrar d, porém fatorar números extensos é extremamente difícil. Algoritmo - RSA Exemplo: Escolhe-se p = 3 e q = 11 Calculando n = p × q e z = (p-1) × (q-1), n=33e z=20 Valor adequado como número primo, em relação a z é o 7, (7 e 20 não possuem fatores comuns), d = 7 Obtenção do valor de e: solução da equação (e × d) mod z = 1, e = 3 Texto cifrado C para uma mensagem de texto simples P é dado por C = P3 (mod 33). O texto cifrado é decodificado pelo receptor usando a regra P = C7 (mod 33). Algoritmo - RSA Exemplo: Codificação do texto simples “SUZANNE”. Cada letra do alfabeto é representada por um número: 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 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 26 Texto simples (P) Texto cifrado (C) Depois da descriptação Cálculo do transmissor Cálculo do receptor Simbólico Numérico Simbólico Rivest e outros – fatoração de um número de 500 dígitos requer 1025 anos, usando-se a força bruta, supondo o melhor algoritmo e computador com tempo por instrução de 1 s. Criptografia Assimétrica Vantagens Mais segura do que a criptografia simétrica, por não precisar comunicar ao receptor a chave necessária para descriptografar a mensagem. Permite que qualquer um possa enviar uma mensagem secreta, utilizando apenas a chave pública de quem irá recebê-la. Como a chave pública está amplamente disponível, não há necessidade do envio de chaves como no modelo simétrico. A confidencialidade da mensagem é garantida, enquanto a chave privada estiver segura. Caso contrário, quem possuir acesso à chave privada terá acesso às mensagens. Desvantagem costuma ser mais lenta do que a criptografia simétrica. Criptografia Simétrica x Assimétrica Nº de participantes Criptografia Simétrica n(n-1)/2 Criptografia Assimétrica 2n 2 1 4 4 6 8 8 28 16 16 120 32 Número de chaves necessárias/número de participantes Criptografia Simétrica x Assimétrica Simétrica Assimétrica Funcionamento Utiliza um algoritmo e uma chave para cifrar e decifrar Requisito de Segurança A chave tem que ser mantida em segredo Tem que ser impossível decifrar a mensagem Algoritmo mais alguma parte do texto cifrado devem ser insuficientes para obter a chave Funcionamento Utiliza um algoritmo e um par de chaves para cifrar e decifrar Requisito de Segurança Uma chave é pública e a outra tem que ser mantida em segredo Algoritmo com alguma parte do texto cifrado com uma das chaves não devem ser suficientes para obter a outra chave Tópicos Assinatura Digital Certificação Digital Criptografia - Autenticação Algumas vezes há a necessidade de se provar quem escreveu um documento e de manter as informações desse documento sem modificações. Solução: serviços de autenticação e integridade de dados A autenticidade de muitos documentos é determinada pela presença de uma Assinatura Digital. Criptografia - Autenticação Assinatura digital : item que acompanha um determinado dado e apresenta as seguintes funções: Confirmar a origem do dado (autenticidade) Certificar que o dado não foi modificado (integridade) Impedir a negação de origem Equivalente funcional a assinatura manuscrita Assinatura digitalizada: digitalização da assinatura manuscrita Não pode garantir integridade nem autenticidade do conteúdo Vantagens provenientes do envio de mensagem “assinada”: 1. O receptor poderá verificar a identidade alegada pelo transmissor. 2. Posteriormente, o transmissor não poderá repudiar o conteúdo da mensagem. 3. O receptor não terá a possibilidade de forjar ele mesmo a mensagem. Assinatura Digital Assinaturas de Chave Pública Sumários de mensagens (Message Digests) Assinatura Digital Assinatura Digital Assinaturas de Chave Pública Assinaturas digitais com o uso de chave pública. Computador de Alice Computador de Bob Linha de transmissão Chave privada de Alice, DA Chave pública de Bob, EB Chave privada de Bob, DB Chave pública de Alice, EA Assinatura Digital Criptografia Assimétrica (chave pública) - Críticas Reúnem sigilo e autenticação Em geral, o sigilo não é necessário Cifragem da mensagem inteira é lenta Solução: assinar a mensagem sem cifrá-la completamente Sumários de Mensagens Assinatura Digital Sumários de Mensagens (Message Digests) Uso de uma função hash unidirecional que extrai um trecho qualquer do texto simples e, a partir deste, calcula um string de bits de tamanho fixo. Função hash – geralmente denominada sumário de mensagens (MD). • Hash - Algoritmo que faz o mapeamento de uma seqüência de bits de tamanho arbitrário para uma seqüência de bits de tamanho fixo menor, de forma que seja muito difícil encontrar duas mensagens produzindo o mesmo resultado hash. Messag e Hash Assinatura Digital Função Hash - funciona como uma impressão digital de uma mensagem gerando, a partir de uma entrada de tamanho variável, um valor fixo pequeno: o digest ou valor hash. Assinatura Digital MD - Propriedades importantes 1. Se P for fornecido, o cálculo de MD(P) será muito fácil. 2. Se MD(P) for fornecido, será efetivamente impossível encontrar P. 3. Dado P, não deve ser possível encontrar P´ tal que MD(P´) = MD(P). 4. Uma mudança na entrada de até mesmo 1 bit produz uma saída muito diferente. Assinatura Digital Message Digests - Propriedades importantes Gera um sumário de tamanho fixo para qualquer comprimento de mensagem. Efetivamente impossível adivinhar a mensagem a partir do sumário. Efetivamente impossível encontrar outra mensagem que gere o mesmo sumário. Uma pequena mudança na mensagem altera bastante o sumário. Função hash – Message Digests Assinatura Digital - Geração Assinatura Digital - Geração Geração da Assinatura Digital 1. entra-se com os dados a serem "digeridos" e o algoritmo MD gera um hash de 128 ou 160 bits (dependendo do algoritmo). 2. computada uma MD, criptografa-se o hash gerado com uma chave privada. Assinatura Digital - Verificação Normalmente, 2m/2 (e não 2m) operações são suficientes para subverter um sumário de mensagens de m bits utilizando-se o ataque de aniversário. Assinatura Digital - Verificação Verificação da Assinatura Digital 1. Executa-se a função MD (usando o mesmo algoritmo MD que foi aplicado ao documento na origem), obtendo-se um hash para aquele documento, e posteriormente, decifra-se a assinatura digital com a chave pública do remetente. 2. A assinatura digital decifrada deve produzir o mesmo hash gerado pela função MD executada anteriormente. 3. Se estes valores são iguais é determinado que o documento não foi modificado após a assinatura do mesmo, caso contrário o documento ou a assinatura, ou ambos foram alterados. Assinatura digital – informa apenas que o documento foi modificado, mas não o que foi modificado e o quanto foi modificado. Assinatura Digital É importante perceber: a assinatura digital, como descrita no exemplo anterior, não garante a confidencialidade da mensagem. Qualquer um poderá acessá-la e verificá-la, mesmo um intruso (Eva), apenas utilizando a chave pública de Alice. Assinatura Digital Obtenção de confidencialidade com assinatura digital: Alice 1. assina a mensagem, utilizando sua chave privada. 2. criptografa a mensagem novamente, junto com sua assinatura, utilizando a chave pública de Bob. Bob 1. ao receber a mensagem, deve decifrá-la com sua chave privada, o que garante sua privacidade. 2. "decifrá-la" novamente, ou seja, verificar sua assinatura utilizando a chave pública de Alice, garantindo assim sua autenticidade. Criptografia - FunçãoHash Exemplos de funções hash (MD) utilizadas em produtos e protocolos criptográficos: MD5 SHA-1 Criptografia - Função Hash Funções Descrição MD5 • Função de espalhamento unidirecional inventada por Ron Rivest, do MIT, que também trabalha para a RSA Data Security. MD - Message Digest. • Produz um valor hash de 128 bits, para uma mensagem de entrada de tamanho arbitrário. • Inicialmente proposto em 1991, após alguns ataques de criptoanálise terem sidos descobertos contra a função Hash prévia de Rivest: a MD4. • Projetado para ser rápido, simples e seguro. Seus detalhes são públicos, e têm sido analisados pela comunidade de criptografia. • Foi descoberta uma fraqueza em parte do MD5, mas até agora ela não afetou a segurança global do algoritmo. • O fato dele produzir um valor hash de somente 128 bits é o que causa maior preocupação; é preferível uma função Hash que produza um valor maior. Criptografia - Função Hash Funções Descrição SHA-1 • O Secure Hash Algorithm, função de espalhamento unidirecional inventada pela NSA, gera um valor hash de 160 bits, a partir de um tamanho arbitrário de mensagem. • Funcionamento interno muito parecido com o observado no MD4, indicando que os estudiosos da NSA basearam-se no MD4 e fizeram melhorias em sua segurança. • A fraqueza existente em parte do MD5, citada anteriormente, descoberta após o SHA-1 ter sido proposto, não ocorre no SHA-1. • Atualmente, não há nenhum ataque de criptoanálise conhecido contra o SHA-1. • Mesmo o ataque da força bruta torna-se impraticável, devido ao seu valor hash de 160 bits. • Não há provas de que, no futuro, alguém não possa descobrir como quebrar o SHA-1. 139 Intermediários Confiáveis Problema com chave simétrica: Como duas entidades escolhem chave secreta compartilhada pela rede? Solução: centro confiável de distribuição de chaves (KDC) agindo como intermediário entre as entidades Problema com chave pública: Quando Alice obtém a chave pública de Bob (da web, e-mail ou disquete), como ela vai saber se a chave pública é mesmo de Bob e não de Trudy? Solução: autoridade certificadora confiável (CA) 140 Centro de Distribuição de Chaves (KDC) Alice e Bob necessitam de chave simétrica compartilhada. KDC: servidor compartilha chaves secretas diferentes com cada usuário registrado. Alice e Bob conhecem as próprias chaves simétricas, KA-KDC e KB-KDC , para se comunicar com o KDC. KB-KDC KX-KDC KY-KDC KZ-KDC KP-KDC KB-KDC KA-KDC KA-KDC KP-KDC KDC 141 Centro de Distribuição de Chaves (KDC) Alice knows R1 Bob knows to use R1 to communicate with Alice Alice e Bob se comunicam: usando R1 como chave da sessão para criptografia simétrica compartilhada P: Como o KDC permite a Bob, Alice determinar a chave secreta simétrica compartilhada para se comunicarem? KDC generates R1 KB-KDC(A,R1) KA-KDC(A,B) KA-KDC(R1, KB-KDC(A,R1) ) Certificação Digital Como certificar que uma chave pública pertence a uma entidade específica? Mundo analógico Secretaria de Segurança Pública RG Mundo digital Autoridade Certificadora Certificado Digital Certificação Digital Motivação: Trudy prega peça da pizza em Bob Trudy cria pedido por e-mail: Prezada pizzaria, Por favor, me entregue quatro pizzas de calabresa. Obrigado, Bob. Trudy assina pedido com sua chave privada Trudy envia pedido à pizzaria Trudy envia à pizzaria sua chave pública, mas diz que é a chave pública de Bob. Pizzaria verifica assinatura; depois, entrega quatro pizzas para Bob. Bob nem sequer gosta de calabresa. Autoridades de certificação Autoridade de certificação (CA): vincula chave pública à entidade particular, E. E (pessoa, roteador) registra sua chave pública com CA. E fornece “prova de identidade” à CA. CA cria certificado vinculando E à sua chave pública. certificado contendo chave pública de E assinada digitalmente pela CA – CA diz “esta é a chave pública de E” Autoridade de Certificação chave pública de Bob K B + informação de identificação de Bob assinatura digital (cript.) chave privada da CA K CA - K B + certificado para chave pública de Bob, assinada pela CA Autoridade de Certificação Quando Alice quer a chave pública de Bob: Recebe certificado de Bob Aplica chave pública da CA ao certificado de Bob, recebe chave pública de Bob chave pública de BobK B + assinatura digital (decript.) chave pública da CA K CA + K B + E-mail seguro Alice: gera chave privada simétrica aleatória, KS. criptografa mensagem com KS (por eficiência) também criptografa KS com chave pública de Bob. envia KS(m) e KB(KS) para Bob. Alice quer enviar e-mail confidencial, m, para Bob. KS( ). KB( ).+ + - KS(m ) KB(KS ) + m KS KS KB+ Internet KS( ). KB( ).- KB- KS m KS(m ) KB(KS ) + Bob: usa sua chave privada para decriptar e recuperar KS usa KS para decriptar KS(m) para recuperar m Alice quer enviar e-mail confidencial, m, para Bob. KS( ). KB( ).+ + - KS(m ) KB(KS ) + m KS KS KB+ Internet KS( ). KB( ).- KB- KS m KS(m ) KB(KS ) + • Alice quer fornecer integridade da mensagem de autenticação do remetente. • Alice assina mensagem digitalmente. • envia mensagem (em aberto) e assinatura digital. H( ). KA( ).- + - H(m )KA(H(m)) - m KA- Internet m KA( ).+ KA+ KA(H(m)) - m H( ). H(m ) compara • Alice quer fornecer sigilo, autenticação do remetente, integridade da mensagem. Alice usa três chaves: sua chave privada, chave pública de Bob, chave simétrica recém-criada H( ). KA( ).- + KA(H(m)) - m KA- m KS( ). KB( ).+ + KB(KS ) + KS KB+ Internet KS Firewall Firewall é um ponto entre duas ou mais redes, que pode ser um componente ou um conjunto de componentes, por onde passa todo o tráfego permitindo que o controle, a autenticação e os registros de todo o tráfego sejam realizados. Firewall O que um firewall não faz? Não protege contra ataques internos Não protege contra conexões que não passam através dele Não protege completamente contra vírus Firewall Funcionalidades O firewall é composto por uma série de componentes, sendo que cada um deles tem um funcionalidade diferente Firewall Funcionalidades Filtros Proxies Bastion hosts Zona desmilitarizada (DMZ) NAT VPN Autenticação Firewall Filtro de pacotes Funciona na camada de rede e transporte, de modo que realiza decisões de filtragem com base nas informações do cabeçalho dos pacotes. Cabeçalho IP Flags Protocolo Endereço de Origem Endereço de Destino Firewall Filtro de pacotes Cabeçalho TCP Porta de origem Porta de destino Flags Cabeçalho UDP Porta de origem Porta de destino Cabeçalho ICMP Tipo ICMP Código ICMP Firewall Filtro de pacotes Baixo overhead e alto desempenho da rede Barato, simples e flexível Vulnerável a ataques como o IP spoofing Dificuldade de filtrar servições que utilizam portas dinâmicas, como RPC Não oferece autenticação do usuário Firewall Filtro de pacotes Ataque utilizando cavalo de Tróia (backdoor) Regras: Regra Endereço de Origem/Porta de Origem Endereço de Destino/ Porta de Destino Ação 1 IP da rede interna:porta alta Qualquer endereço:80 Permitir 2 Qualquer endereço:80 IP da rede interna: Portaalta Permitir 3 Qualquer endereço: qualquer porta Qualquer endereço: qualquer porta Negar Firewall Filtro de pacotes baseado em estados Tomam decisões baseados em: Informações dos cabeçalhos dos pacotes de dados Uma tabela de estados, que guarda os estados de todas as conexões Regra Endereço de Origem/Porta de Origem Endereço de Destino/ Porta de Destino Ação 1 IP da rede interna:porta alta Qualquer endereço:80 Permitir 2 Qualquer endereço: qualquer porta Qualquer endereço: qualquer porta Negar Firewall Proxy Funciona por meio de relays de conexões de conexões TCP, ou seja, o usuário se conecta a uma porta TCP no firewall, que então abre outra conexão com o mundo exterior Podem realizar também cache (Proxies HTTP) Não permite conexões diretas entre hosts internos e hosts externos Aceita autenticação do usuário Analisa comandos da aplicação no payload dos pacotes de dados É mais lento que filtro de pacotes Requer um proxy especifico para cada aplicação Firewall Firewall individuais Controle nos hosts Possibilidade de conexão à rede interna da organização a partir de qualquer lugar por meio de VPN Hacker ataca um host cliente e o utiliza como ponte entra a internet e a rede interna da organização Firewall Tipos de Firewall Stateless Filtragem de pacotes Consome menos recurso da máquina porque o firewall não armazena nenhum registro das conexões, sendo mais difícil de escrever - é baseado em regras explícitas Stateful Filtragem de pacotes Consome mais recursos da máquina porque o firewall armazena o registro das conexões, o que facilita a escrita de regras Firewall Tipos de Firewall Proxy de aplicação Filtragem de acordo com o protocolo da camada de aplicação. Ex: Squid Firewall Projeto de Firewall O que não é expressamente permitido é proibido O que não é expressamente proibido é permitido Zoneamento Rede interna Rede externa DMZ (Demilitarized Zone) Firewall Arquiteturas Dual-homed host architecture Screened subnet architecture Firewall Dual-homed host architecture É a arquitetura formada por um equipamento que tem duas interfaces de rede e funciona como separador entre as duas redes Firewall Firewall Screened subnet architecture DMZ É uma rede que fica entre a rede interna, que deve ser protegida, e a rede externa. Bastion Hosts São equipamentos em que são instalados os serviços a serem oferecidos para internet. Executar apenas os serviços essenciais Serviços sempre atualizados Os serviços oferecidos pela DMZ devem ser inequivocamente instalados em bastion hosts Firewall Firewall Regras de segurança aplicadas a uma DMZ: A rede interna pode iniciar conexões a qualquer uma das outras redes mas nenhuma das outras redes pode iniciar conexões nesta A rede pública não pode iniciar conexões na rede interna mas pode na DMZ A DMZ não pode fazer conexões à rede interna mas pode na rede pública Firewall IP Spoofing Estação envia pacote com endereço de origem trocado (e não o seu) Qualquer endereço pode ser usado! Receptor do pacote não sabe que a origem é falsa Filtros de saída: gateways devem encaminhar apenas pacotes cujo endereço de origem pertencer à rede Técnica pode ser acoplada ao firewall Mas como garantir que as outras redes farão o mesmo? Firewall Linux iptables Firewall de filtro de pacotes Funciona através de comparação de regras Especificação de portas/endereços origem e destino Suporte a protocolos TCP, UDP e ICMP Rápido, estável e seguro Firewall Linux iptables Comandos iptables Sistema de controle principal para protocolos IPv4 ip6tables Sistema de controle principal para protocolos IPv6 iptables-save Salva as regras atuais em um arquivo iptables-restore Restaura as regras salvas pelo utilitário iptables-save Firewall Linux iptables Tabelas São locais para armazenar as chains Mangle, Nat, Filter Chains São os locais onde as regras do firewall definidas pelo usuário são armazenadas filter:INPUT, OUTPUT, FORWARD Regras São armazenadas dentro de chains e processadas na ordem que são inseridas São armazenadas no kernel Firewall Tabela filter Tabela padrão do iptables e se refere às atividades normais de tráfego (entrada, saída e encaminhamento) sem nenhum ocorrência de NAT Tabela nat Tabela utilizada para permitir que uma rede interna possa compartilhar um única conexão de Internet por meio de mascaramento (masquerading), para realizar o redirecionamento de portas (port forwarding), para fazer o balanceamento de carga (load balancing), etc. Firewall Firewall Sintaxe iptables [tabela] [chain] [comando] [ação] Comandos iptables -A: adiciona uma regra -D: apaga uma regra -L: lista regras -nL: lista regras apresentando as portas por números -P: altera a política da chain -F: remove todas as regras da chain Firewall Sintaxe iptables [tabela] [chain] [comando] [ação] Comandos iptables -p: define o protocolo -i : interface de entrada -o: interface de saída -s: endereço/rede origem -d: endereço/rede destino --sport: porta de origem --dport: porta de destino Ação: DROP, REJECT, ACCEPT, LOG Firewall Exemplos: iptables -t filter -A INPUT -p icmp -j DROP iptables -t filter -D INPUT -p icmp -j DROP iptables -t filter -A INPUT -p icmp -j REJECT iptables - filter -nL iptables -t filter -A INPUT -p icmp -s 192.168.0.1 -j DROP iptables -t filter -D INPUT 2 Exercícios Como saber se Alice esta utilizado uma cifra de substituição ou uma cifra de transposição? Quais são as duas técnicas gerais para atacar uma cifra? A seguir é mostrado um texto claro e seu texto cifrado correspondente. Trata-se de uma cifra monoalfabética? Texto claro: HELLO Texto cifrado: ABNZF Exercícios Na criptografia de chave simétrica, se cada pessoa de um grupo de dez precisar se comunicar com cada uma das demais pessoas em outro grupo de dez, quantas chaves secretas serão necessárias? Na criptografia de chave simétrica, se cada pessoa em um grupo de dez precisar se comunicar com cada uma das demais, quantas chaves secretas são necessárias? Exercícios Na criptografia de chave simétrica, quantas chaves são necessárias se Alice e Bob quiserem se comunicar entre si? Na criptografia de chave simétrica, Alice pode usar a mesma chave para se comunicar com Bob e John? Justifique sua resposta Exercícios Implementar em Java uma cifra de substituição (cifra de César) Implementar em Java uma cifra de tranposição (cifra de Cerca de Ferrovia) Implementar em Java uma cifra de transposição colunar simples (utilize uma matriz com 5 colunas). Pesquise como funciona a cifra de Hill? Exercícios Suponha que Bob quer enviar uma mensagem secreta a Alice usando criptografia de chave pública. Neste caso, o que Bob deveria fazer? Usando criptografia de chave pública, suponha que Bob quer enviar uma mensagem a Alice e Alice quer certificar-se de que a mensagem realmente foi enviada por Bob. Neste caso o que Bob deveria fazer? Usando criptografia de chave pública, suponha que Bob quer enviar uma mensagem secreta a Alice e Alice quer certificar-se de que a mensagem foi realmente enviada por Bob. Neste caso o que Bob deveria fazer? Exercícios Suponha que Bob queira enviar para Alice uma assinatura digital para a mensagemM. O que Bob deve fazer? Suponha que Alice receba de Bob a mensagem M junto com uma assinatura digital para a mensagem M. Para verificar se a mensagem não foi alterada e se Bob realmente enviou a mensagem o que Alice deve fazer? Suponha que um CA contenha o certificado de Bob que vincula a chave pública de Bob a Bob. Esse certificado é assinado com qual chave? Exercícios No RSA, dado dois números primos p=11 e q=23, determine “n” e “z”. Escolha “e” = 5 e tente determinar “d”, de tal forma que “e” e “d” atendam aos critérios. Para compreender a segurança do algoritmo RSA, determine “d” se você sabe que “e” = 17 e “n” = 187. Este exercício prova a facilidade que Eve tem para quebrar o segredo se “n” for pequeno. Exercícios Usando e=13, d=37 e n=77 no algoritmo RSA, criptografe a mensagem “FINE” usando os valores de 00 a 25 para letras A a Z. Para simplificar, faça a criptografia e a decriptografia caractere por caractere Qual o valor da chave simétrica no protocolo Diffie-Hellman se g=7, p=23, x=2 e y=5? Outro algoritmo de chave pública é denominado ElGamal. Pesquise e descubra informações sobre esse algoritmo. Qual a diferença entre o RSA e o ElGamal? Exercícios Podemos usar um método convencional de compressão sem perdas como função de hashing? Podemos usar um método de soma de verificação como função de hashing? Pesquise outros algoritmos de chave simétrica e chave pública. Apresente um resumo com suas características Exercícios Apresente os comandos iptables para: Liberar totalmente o trafego de entrada da interface de loopback. Proibir que o computador acesse o site www.facebook.com Especificar que qualquer pacote oriundo do host www.cracker.com seja descartado. Crie regras permitindo que seu computador acesse servidores FTP Rejeitar o encaminhamento de pacotes de entrada pela interface eth0. Descartar qualquer pacote oriundo do IP 10.0.80.32 destinado ao IP 10.0.30.84 Exercícios Descartar pacotes de entrada destinados à porta 80 do protocolo TCP. Crie uma regra permitindo que seu computador consulte servidores DNS Arquivar em log pacotes destinados à porta 25 do tcp da sua máquina Não permitir que outras máquinas consigam fazer testes para saber se seu computador está on-line utilizando ping. Proibir que o computador com endereço mac 00:1B:24:46:29:88 consiga acessar seu computador. Referências Filmes A Rede (1995) Enigma (2001) Código para o inferno (1998) Teoria da conspiração (1997) Hackers (1995) Invasão de Privacidade (1993) Jogos de guerra (1983) Piratas do Vale do Silício (1999) Uma mente brilhante (2001) Códigos de Guerra (2002) Prenda-me se for capaz (2002) Referências Bibliográficas Segurança de Redes em Ambientes Cooperativos. Emilio Tissato Nakamura & Paulo Lício de Geus. Editora Novatec Criptografia e Segurança de Redes. Princípios e Práticas. Quarta Edição. William Stallings. Prentice Hall. Redes de Computadores. Andrew S. Tanenbaum. Quarta Edição. Editora Campus Redes de Computadores e a Internet. Kurose & Ross. Quinta Edição. Pearson. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58 Slide 59 Slide 60 Slide 61 Slide 62 Slide 63 Slide 64 Slide 65 Slide 66 Slide 67 Slide 68 Slide 69 Slide 70 Slide 71 Slide 72 Slide 73 Slide 74 Slide 75 Slide 76 Slide 77 Slide 78 Slide 79 Slide 80 Slide 81 Slide 82 Slide 83 Slide 84 Slide 85 Slide 86 Slide 87 Slide 88 Slide 89 Slide 90 Slide 91 Slide 92 Slide 93 Slide 94 Slide 95 Slide 96 Slide 97 Slide 98 Slide 99 Slide 100 Slide 101 Slide 102 Slide 103 Slide 104 Slide 105 Slide 106 Slide 107 Slide 108 Slide 109 Slide 110 Slide 111 Slide 112 Slide 113 Slide 114 Slide 115 Slide 116 Slide 117 Slide 118 Slide 119 Slide 120 Slide 121 Slide 122 Slide 123 Slide 124 Slide 125 Slide 126 Slide 127 Slide 128 Slide 129 Slide 130 Slide 131 Slide 132 Slide 133 Slide 134 Slide 135 Slide 136 Slide 137 Slide 138 Slide 139 Slide 140 Slide 141 Slide 142 Slide 143 Slide 144 Slide 145 Slide 146 Slide 147 Slide 148 Slide 149 Slide 150 Slide 151 Slide 152 Slide 153 Slide 154 Slide 155 Slide 156 Slide 157 Slide 158 Slide 159 Slide 160 Slide 161 Slide 162 Slide 163 Slide 164 Slide 165 Slide 166 Slide 167 Slide 168 Slide 169 Slide 170 Slide 171 Slide 172 Slide 173 Slide 174 Slide 175 Slide 176 Slide 177 Slide 178 Slide 179 Slide 180 Slide 181 Slide 182 Slide 183 Slide 184 Slide 185 Slide 186 Slide 187 Slide 188 Slide 189 Slide 190 Slide 191 Slide 192
Compartilhar