Prévia do material em texto
Aula 03 Os direitos desta obra foram cedidos à Universidade Nove de Julho Segurança de Redes Este material é parte integrante da disciplina oferecida pela UNINOVE. O acesso às atividades, conteúdos multimídia e interativo, encontros virtuais, fóruns de discussão e a comunicação com o professor devem ser feitos diretamente no ambiente virtual de aprendizagem UNINOVE. Uso consciente do papel. Cause boa impressão, imprima menos. Aula 03: Conceitos e aplicações de criptografia Objetivo: Apresentar os conceitos básicos e aplicações de criptografia e protocolos criptográficos. Introdução Criptografia: palavra formada a partir da junção do termo grego kryptos (escondido, oculto) e grapho (grafia, escrita), a criptografia é a ciência ou a arte de escrever em cifras, ou seja, a ciência que provê meios através de técnicas e algoritmos matemáticos para se transformar um texto claro ou plano (inteligível) em um texto cifrado (ininteligível). Conceitos básicos: Ciframento: é a conversão dos dados em uma forma que torne impossível a sua leitura sem o conhecimento da chave. O principal propósito é assegurar privacidade da informação protegendo o entendimento da mensagem cifrada de qualquer um a qual ela não seja destinada. Deciframento: é o processo inverso do ciframento; é a transformação de dados cifrados novamente em uma forma legível. Texto simples: é qualquer informação que está escrita de maneira legível, também chamado de texto plano. Texto cifrado: é resultado de um texto simples ou plano que passou pelo processo de ciframento. Chave: a chave é um código secreto utilizado pelos algoritmos de ciframento, que permite a criação de versões únicas do texto codificado, dessa maneira uma mensagem, ao ser cifrada com chaves diferentes, apresenta textos codificados também completamente diferentes. O ciframento e o deciframento: são realizados por programas de computador. Além de receber a informação a ser cifrada ou decifrada, o programa recebe um número-chave que é utilizado para definir como ele irá se comportar. Os cifradores e decifradores se comportam de maneira diferente para cada valor de chave. Sem o conhecimento da chave correta não é possível decifrar um texto cifrado. Para mantermos uma informação secreta, basta cifrar a informação através de um algoritmo criptográfico reconhecido pela comunidade técnica e que é de conhecimento público na maioria das vezes, mantendo todos os cuidados técnicos especificados e manter em sigilo a chave. Block cipher ou ciframento de bloco: nesse tipo de ciframento, é definido para o algoritmo um tamanho de um fragmento (ou parte) de dado para cifrar ou decifrar, ele divide o texto simples em blocos e opera de maneira independente em cada um dos blocos. Adaptado de BEZERRA, 2008 pág. 27 Stream cipher ou ciframento de fluxo: nesse tipo de ciframento, os dados vão sendo criptografados bit a bit, conforme as informações vão chegando. Este tipo de algoritmo é útil quando precisamos enviar um fluxo contínuo de dados criptografados. Adaptado de BEZERRA, 2008 pág. 27 Existem basicamente três sistemas criptográficos: simétricos, assimétricos (também chamado de sistema de chave pública ou sistema de chave privada) e híbridos (que utilizam características dos sistemas simétricos e assimétricos ao mesmo tempo). Criptografia simétrica São sistemas criptográficos que utilizam algoritmos que fazem uso de apenas uma chave, ou seja, a mesma chave que é utilizada para cifrar uma mensagem é utilizada para decifrar. O processo de funcionamento dos sistemas criptográficos simétricos é muito simples, basta submeter o texto plano ao algoritmo de criptografia com a chave criptográfica para obter um texto cifrado. Para decifrar a informação, basta fazer o processo inverso sempre utilizando a mesma chave criptográfica. Adaptado de Carvalho, 2005 pág. 39 A segurança nesses sistemas criptográficos está no algoritmo de criptografia utilizado, quanto mais sofisticado o algoritmo, mais difícil será para o atacante reverter o processo de cifragem, além disso, o tamanho da chave criptográfica utilizada influi diretamente na segurança da mensagem (quanto maior a quantidade de bits que compõem a chave, maior a dificuldade para quebrá-la!). A maioria dos algoritmos de criptografia é de domínio público e aí reside a maior fragilidade do sistema, se o atacante tiver acesso a chave utilizada, ele automaticamente terá acesso as mensagens. Alguns exemplos de algoritmos simétricos: Data Encryption Standard (DES): é o algoritmo simétrico mais difundido no mundo. Criado pela IBM em 1977, com chave de 56 bits, considerada extremamente pequena para os padrões atuais, foi quebrado por “força bruta” em 1997. Triple DES: uma variação do DES que realiza dois ou três ciframentos em sequência, empregando chaves com tamanho de 112 ou 168 bits, sendo recomendado no lugar do DES desde 1993. International Data Encryption Algorithm (IDEA): criado em 1991, segue os mesmos conceitos do DES, mas tem execução mais rápida. Advanced Encryption Standard (AES): considerado o padrão atual para ciframento recomendado pelo National Institute of Standards and Technology (NIST). Trabalha com chaves de 128, 192 e 256 bits, utiliza o cifrador Rijndael. RC6 (Rivest Chipher 6): versão mais atual de uma série de cifradores (RC2, RC3, RC4, RC5) desenvolvidos por Rivest. Crypt: baseado no DES é utilizado pelo sistema operacional UNIX para criptografar senhas. Essa criptografia possui um custo computacional baixo, ou seja, é bastante rápida, o que é vital para aplicações comerciais, entretanto, possui alguns problemas, como a necessidade de um canal seguro para distribuir as chaves e quantidade de chaves necessárias, pois quando temos n usuários, temos n elevado a 2 chaves. Criptografia assimétrica A criptografia assimétrica também é conhecida como criptografia de chaves públicas ou criptografia de chave privada. Ela é baseada na utilização de um par de chaves para cifrar e decifrar as mensagens. A relação entre as duas chaves se dá através de cálculos matemáticos que utilizam funções unidirecionais com segredo para a codificação da informação. Quando uma mensagem é cifrada com uma chave pública, ela somente poderá ser decifrada com o uso da chave privada com a qual está relacionada. Uma das chaves, chamada de chave pública, como o próprio nome já diz, em que qualquer um pode conhecer e ter acesso, é utilizada para cifrar, enquanto a outra, chamada chave privada (ou secreta), é utilizada para decifrar. Cada pessoa interessada em transmitir ou receber informações criptografadas através do sistema de chaves públicas deverá possuir um par de chaves, a chave pública é de conhecimento geral, já a chave privada deve ser conhecida apenas pela pessoa que a possui. Quando alguém precisa transmitir informações criptografadas ela deverá utilizar a chave pública da pessoa para a qual ela deseja enviar a informação, garantindo assim que a informação só será decifrada por quem tiver a respectiva chave privada, que nesse caso é a pessoa a quem se destina a mensagem. Adaptado de Carvalho, 2005 pág. 41 Os algoritmos de criptografia assimétrica utilizam cálculos matemáticos bastante complexos para garantir a segurança. O principal algoritmo de criptografia assimétrica é o RSA (o nome vem de uma homenagem a seus inventores Rivest- Shamir-Adelman), foi publicado em 1978 e sua patente expirou em 2000. Possui valores para chaves de 512, 1024 e 2048 bits. Existe também o algoritmo ECC (“Elliptic Curve Cryptography”) que é baseado na teoria de curvas elípticas. A criptografia assimétrica é consideradamais flexível que a criptografia simétrica, pois permite a utilização de duas chaves com a possibilidade de tornar uma delas pública. Entretanto, o custo computacional desse tipo de criptografia é muito maior que da criptografia simétrica, ou seja, a criptografia assimétrica é extremamente mais lenta que a criptografia simétrica. Mesmo assim uma não torna obsoleta a outra, tudo vai depender da aplicação que irá utilizar a criptografia. A criptografia assimétrica é vital para sistemas de autenticação, por exemplo. A importância da criptografia A criptografia é considerada como a única defesa realmente sólida dentro das operações que envolvem dados eletrônicos, em função disso, ela é utilizada na implementação de várias aplicações, que veremos no decorrer do semestre, como: Protocolos de segurança (também conhecidos como protocolos criptográficos). Assinaturas e certificados digitais. Redes Privadas Virtuais (VPN). Em nossa próxima aula, iremos aprender um pouco mais sobre protocolos de segurança ou protocolos criptográficos. Agora, acesse o AVA e faça os exercícios propostos. Se ficar com dúvidas, não deixe de esclarecê-las com o seu professor. * O QR Code é um código de barras que armazena links às páginas da web. Utilize o leitor de QR Code de sua preferência para acessar esses links de um celular, tablet ou outro dispositivo com o plugin Flash instalado. REFERÊNCIAS ALVES, Gustavo Alberto. Segurança da informação: uma visão inovadora da gestão. Rio de Janeiro: Ciência Moderna, 2006. ASSOCIAÇÃO Brasileira de Normas Técnicas – ABNT. NBR ISO/IEC 27005: tecnologia da informação; técnicas de segurança; gestão de riscos de segurança da informação. Rio de Janeiro: ABNT, 2008. ______. NBR ISO/IEC 27002: tecnologia da informação; código de prática para a gestão da segurança da informação. Rio de Janeiro: ABNT, 2005. ASSUNÇÃO, Marcos Flávio Araújo. Honeypots e honeynets: aprenda a detectar invasores. Florianópolis: Visual Books, 2009. CARVALHO, Luciano Gonçalves. Segurança de redes. Rio de Janeiro: Ciência Moderna Ltda., 2005. https://ead.uninove.br/ead/disciplinas/web/_g/sr80_100/a03ex01_sr80_100.htm https://ead.uninove.br/ead/disciplinas/web/_g/sr80_100/a03ex02_sr80_100.htm GHEORGHE, Lucian. Designing and Implementing Linux Firewalls and Qos using netfilter, iproute2, NAT, and L7-filter. Birmingham: Packt Publishing, 2006. LARI, Paulo Augusto Moda; AMARAL, Dino Macedo. Snort, Mysql, Apache e Acid – guia rápido do administrador de rede. Rio de Janeiro: Brasport, 2004. MARCELO, Antônio. Firewalls em LINUX para pequenas corporações. São Paulo: Brasport, 2004. ______. SQUID: configurando o PROXY para Linux. 5. ed. São Paulo: Brasport, 2006. MORAES, Alexandre Fernandes de. Segurança em redes: fundamentos. São Paulo: Érica, 2010. NAKAMURA, Emílio Tissato; GEUS, Paulo. Lício de. Segurança de redes em ambientes cooperativos. São Paulo: Berkeley, 2002. RUFINO, Nelson M. de O. Segurança em redes sem fio: aprenda a proteger suas informações em ambientes WI-FI e Bluetooth. São Paulo: Novatec, 2005. TANENBAUM, Andrew S. Redes de computadores. Rio de Janeiro: Campus, 2006. THOMAS, Tom. Segurança de redes – primeiros passos. Rio de Janeiro: Ciência Moderna Ltda., 2007. VIGLIAZI, Douglas. Segurança de Redes – primeiros passos. Rio de Janeiro: Ciência Moderna, 2007. SITES CARVALHO, Hugo Eiji Tibana. Radius. Disponível em: <http://www.gta.ufrj.br/grad/08_1/radius/index.html.>. Acesso em: 05 mar. 2013. HOEPERS, Cristine et al. Recomendações para evitar o abuso de servidores DNS recursivos abertos. São Paulo, 2009. Disponível em: <http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/>. Acesso em: 05 mar. 2013. ______CHAVES, Marcelo H. P. C. Honeypots e Honeynets: Definições e Aplicações, 2007. Disponível em: <http://www.cert.br/docs/whitepapers/honeypots-honeynets/>. Acesso em: 05 mar. 2013. MACÊDO, Diego. Radius, 2012. Disponível em: <http://www.diegomacedo.com.br/radius/>. Acesso em: 05 mar. 2013 MICROSOFT. Considerações gerais sobre o IPSec, 2013. Disponível em: <http://technet.microsoft.com/pt-br/library/cc757905(v=ws.10).aspx>. Acesso em: 05 mar. 2013.