Prévia do material em texto
Redes de Computadores e Internet R ed es d e C o m p u tad o res e In tern et Redes de Computadores e Internet CONTEÚDO ONLINE Douglas E. ComerDouglas E. Comer D o u g las E . C o m er 6ª EDIÇÃO 6ª EDIÇÃO 6 ª E D IÇ Ã O R ed es d e C o m p u tad o res e In tern et Redes e Internet D o u g las E . C o m er 6ª ED. Escrito por um dos maiores especialistas em redes no mundo, Douglas E. Comer, este livro apresenta, de forma ampla e sistemática, os mais importantes conceitos, princípios e tecnologias das redes de computadores e da Internet. De fácil leitura, não requer experiência prévia com sistemas operacionais ou redes nem conhecimento avançado de matemática. Além disso, combina o melhor das abordagens top-down e bottom-up, permitindo aos professores adaptar o conteúdo às suas necessidades em sala de aula. Totalmente revisada e atualizada, esta nova edição inclui IPv4 e IPv6 em todos os capítulos e traz ainda tópicos emergentes e tendências, como a Internet das Coisas e as Redes Definidas por Software (SDN). Acesse o nosso site, www.grupoa.com.br, cadastre-se gratuitamente, encontre a página do livro por meio do campo de busca e clique no link Conteúdo Online para fazer download do código para a API simplificada e de materiais extras para alunos e professores (em inglês). www.grupoa.com.br 0800 703 3444 A Bookman Editora é um dos selos editoriais do Grupo A Educação, empresa que oferece soluções em conteúdo, tecnologia e serviços para a educação acadêmica e profissional. COMPUTAÇÃO E TI www.grupoa.com.br BAEZA-YATES, R.; RIBEIRO-NETO, B. Recuperação de Informação – Conceitos e Tecnologia das Máquinas de Busca – 2.ed. COMER, D. E. Redes de Computadores e Internet – 6.ed. COULOURIS, G.; DOLLIMORE, J.; KINDBERG, T.; BLAIR, G. Sistemas Distribuídos – Conceitos e Projeto – 5.ed. FOROUZAN, B. A. Comunicação de Dados e Redes de Computadores – 4.ed. FOROUZAN, B. A.; FEGAN, S. C. Protocolo TCP/IP - 3.ed FOROUZAN, B. A.; MOSHARRAF, F. Redes de Computadores – Uma Abordagem Top-Down GOODRICH, M. T.; TAMASSIA, R. Introdução à Segurança de Computadores MCCARTHY, N. K. Resposta a Incidentes de Segurança em Computadores – Planos para Proteção de Informação em Risco MCCLURE, S.; SCAMBRAY, J.; KURTZ, G. Hackers Expostos 7 – Segredos e Soluções para a Segurança de Redes – 7.ed. WRIGHTSON, T. Segurança de Redes Sem Fio – Guia do Iniciante Catalogação na publicação: Poliana Sanchez de Araujo – CRB 10/2094 C732r Comer, Douglas E. Redes de computadores e internet [recurso eletrônico] / Douglas E. Comer ; tradução: José Valdeni de Lima, Valter Roesler. – 6. ed. – Porto Alegre : Bookman, 2016. Editado como livro impresso em 2016. ISBN 978-85-8260-373-4 1. Redes de computadores. 2. Internet. I. Título. CDU 004.7 O autor Dr. Douglas Comer é um internacionalmente reconhecido especialista em redes de com- putadores, protocolos TCP/IP e Internet. Foi um dos pesquisadores que contribuíram com a formação da Internet no fim dos anos 1970 e nos anos 1980, sendo membro do In- ternet Architecture Board, o grupo responsável por guiar o desenvolvimento da Internet. Também foi presidente do comitê técnico CSNET, membro do comitê executivo CSNET e presidente do Distributed Systems Architecture Board da DARPA (Defense Advanced Research Projects Agency). Foi ainda Vice-Presidente de Pesquisa na Cisco Systems. Comer é consultor de projeto de redes de computadores para empresas e palestran- te frequente em ambientes acadêmicos e profissionais ao redor do mundo. Seu sistema operacional, Xinu, e a implementação de protocolos TCP/IP (ambos documentados em seus livros) são utilizados em produtos comerciais. É professor honorário de Ciências da Computação na Purdue University, onde leciona redes de computadores, redes de internet, arquitetura de computadores e sistemas operacionais. Lá desenvolveu labora- tórios de informática inovadores que dão aos alunos a oportunidade de ter experiências práticas na operação de sistemas, redes de computadores e protocolos. Além de escrever livros técnicos best-sellers, já traduzidos para 16 idiomas, atuou como editor norte-americano do periódico Software – Practice and Experience por 20 anos. Comer é membro da ACM. Informações adicionais podem ser encontradas em: w ww.cs.purdue.edu/homes/comer. CAPÍTULO 29 Segurança em redes 29.1 Introdução, 444 29.2 Exploits criminosos e ataques, 444 29.3 Política de segurança, 448 29.4 Responsabilidade e controle, 449 29.5 Tecnologias de segurança, 449 29.6 Hashing: um mecanismo de integridade e autenticação, 449 29.7 Controle de acesso e senhas, 450 29.8 Criptografia: uma técnica fundamental de segurança, 451 29.9 Criptografia de chave privada, 452 29.10 Criptografia de chave pública, 452 29.11 Autenticação com assinaturas digitais, 453 29.12 Autoridades de chaves e certificados digitais, 454 29.13 Firewalls, 455 29.14 Implementação de firewall com filtro de pacotes, 456 29.15 Sistemas de detecção de intrusão, 458 29.16 Varredura de conteúdo e inspeção detalhada de pacotes, 458 29.17 Redes privadas virtuais (VPNs), 460 29.18 O uso da tecnologia VPN para o teletrabalho, 461 29.19 Tunelamento versus criptografia de pacotes, 462 29.20 Tecnologias de segurança, 464 29.21 Resumo, 465 29.1 Introdução Os capítulos anteriores descrevem os sistemas de hardware e software que constituem a Internet e explicam como aplicações cliente e servidor usam os protocolos para se comu- nicar. Este capítulo considera o importante aspecto da segurança em redes. Ele descreve os tipos de crimes que têm sido cometidos por meio da Internet, discute aspectos-chave de segurança e explica as tecnologias utilizadas para aumentar a proteção em redes. 29.2 Exploits criminosos e ataques Sempre que uma nova tecnologia aparece, os criminosos analisam como podem explorá- -la para cometer crimes. A Internet não é exceção – como a maioria dos usuários estão cientes, criminosos agora usam-na diariamente. Apesar de alguns crimes na Internet, como fraudes e roubo de identidade, poderem afetar os indivíduos, os crimes mais sig- nificativos são os que representam uma ameaça para as empresas. Além de atentarem no roubo descarado de bens ou serviços, as empresas estão especialmente preocupadas com ameaças à sua viabilidade no longo prazo. Assim, danos à reputação, perda de confiança dos clientes, propriedade intelectual roubada e impedimento de acesso do cliente são importantes para uma empresa. Capítulo 29 Segurança em redes 445 Várias questões relativas à segurança surgem: • Quais são os principais problemas de segurança e as principais ameaças na Internet? • Quais os aspectos técnicos de protocolos que os criminosos exploram? • Quais são os aspectos-chave de segurança? • Quais tecnologias estão disponíveis para ajudar a aumentar a segurança? A Figura 29.1 resume alguns dos principais problemas de segurança que existem na Internet. Problema Descrição Phishing Disfarçar-se como um site bem conhecido, como o de um banco, para obter informações pessoais de um usuário, como número de conta e código de acesso Misrepresentation (falsifi cação) Fazer afi rmações falsas ou exageradas sobre produtos ou serviços, ou entregar produtos falsos ou de qualidade inferior Scams (golpes) Várias formas de trapaça destinadas a enganar usuários ingênuos para fazê-los investir dinheiro ou cometer algum crime Denial of service (negação de serviço) Bloquear intencionalmente um determinado site da Internet para impedir ou difi cultar atividades de negócios e comércio Perda do controle Um intruso ganha o controle do computador de um usuário e usa o computador para cometer um crime Perda de dados Perda de propriedade intelectual ou outra informação valiosa da empresa Figura 29.1 Principais problemas de segurança existentes na Internet. Ao considerar a segurança, é importante distinguir entre um crime convencional queé cometido de forma incidental por meio da Internet e um crime que é realizado especificamente por meio dela. Por exemplo, considere um criminoso que usa um tele- fone VoIP para se comunicar com um comparsa, ou um incidente no qual um dos crimi- nosos utiliza a Internet para encomendar ferramentas que serão usadas para cometer um crime. Embora os agentes de polícia devam lidar com tais problemas, esses crimes têm pouco a ver com as tecnologias de rede – pode-se facilmente encontrar mecanismos de comunicação alternativos à Internet. Dois dos crimes mais comuns existentes na Internet são crimes convencionais que acontecem na rede: falsificar produtos colocados à venda (por exemplo, em um leilão online) é uma forma de propaganda enganosa, e não entregar os bens adquiridos por meio de um leilão é análogo à fraude tradicional via correio. Nossa discussão incidirá sobre dois aspectos do crime na Internet. Em primeiro lugar, vamos examinar as maneiras pelas quais os criminosos exploram as tecnologias de rede. Em segundo lugar, vamos considerar as técnicas e tecnologias que foram cria- das para tornar o crime mais difícil ou mais caro. A Figura 29.2 lista algumas técnicas específicas utilizadas pelos infratores. Comer_29.indd 445Comer_29.indd 445 29/10/15 14:5229/10/15 14:52 446 Parte V Outros aspectos das redes de computadores Técnica Descrição Escutas telefônicas Fazer uma cópia dos pacotes à medida que eles passam pela rede a fi m de obter informações Repetição Enviar pacotes capturados de uma sessão anterior (por exemplo, um pacote de senha obtido de um login anterior) Buffer overfl ow Enviar mais dados do que um receptor espera para forçá-lo a armazenar os valores em variáveis fora do buffer Spoofi ng de endereço Falsifi car o endereço IP de origem em um pacote fi ngindo ser o transmissor para enganar um receptor no processamento do pacote Spoofi ng de nome Usar uma URL muito similar a de algum site bem conhecido, porém com um pequeno erro de ortografi a, para receber o direcionamento de DNS quando o usuário digitar o nome errado sem querer. Outra forma é atacar o servidor DNS para ele efetuar uma tradução incorreta de nome para IP DoS e DDoS Inundar um site com pacotes para impedir que ele opere normalmente SYN Flood Enviar um fl uxo de segmentos TCP do tipo SYN buscando exaurir o total de conexões TCP possíveis em um receptor Quebra de senha Criar sistemas automatizados que quebrem a senha ou a chave de criptografi a visando obter acesso não autorizado Varredura de portas (port scanning) Tentar conexão com cada porta possível buscando encontrar uma vulnerabilidade Intercepção de pacotes Remover um pacote da Internet a fi m de substituí-lo num ataque do tipo man-in-the-middle Figura 29.2 Técnicas usadas em ataques. Técnicas de escutas telefônicas e repetição são comuns. Um caso especial de repe- tição não está relacionado com redes – um invasor instala um software ou um dispositivo físico para efetuar log das teclas pressionadas. Quando um usuário digita sua senha ou PIN, o logger registra cada tecla pressionada, e o atacante pode utilizar a mesma sequência de teclas para conseguir acesso posteriormente. Curiosamente, o buffer overflow está entre os pontos fracos mais explorados em um sistema de computador. É um sintoma de má engenharia: um programador não con- segue verificar o tamanho do buffer ao executar uma operação de entrada. Um atacante típico envia um pacote jumbo (maior do que permitido no padrão) ou uma sequência consecutiva de pacotes que fazem o buffer de entrada transbordar. Apenas o programa- dor que criou o software pode corrigir o problema. Ataques de spoofing são usados para fazer um endereço ou um nome parecer um host confiável. A forma mais simples de spoofing de endereço usa o ARP: um atacante trans- mite via broadcast uma resposta ARP que associa um determinado endereço IP, A, com o endereço MAC do atacante. Quando qualquer máquina da rede envia um pacote para A, o pacote será encaminhado para o atacante, e não para o endereço correto. Outras formas de spoofing envolvem o uso de um protocolo de roteamento para enviar rotas incorretas, o que é feito por meio do envio de uma mensagem DNS que armazena uma associação incorreta em um servidor de DNS e do uso de um leve erro de ortografia de um nome de domínio bem conhecido, para dar a um usuário a impressão de que ele chegou no site correto. Por Capítulo 29 Segurança em redes 447 exemplo, um ataque de spoofing utilizou banksofamerica.com para enviar um e-mail aos clientes do banco (banks no plural em vez do nome correto, bank, no singular). Um ataque de negação de serviço (DoS, Denial of Service) inunda um host (nor- malmente um servidor Web) com um fluxo de pacotes. Embora o servidor continue a funcionar, o ataque consome efetivamente todos os seus recursos, o que significa que a maioria dos usuários que tentar acessar esse servidor vai perceber longos atrasos ou ter suas conexões rejeitadas. Como um gerente pode detectar e desativar um fluxo de pacotes proveniente de uma única fonte, a negação de serviço de forma distribuída (DDoS, Distri- buted Denial of Service) organiza um grande conjunto de computadores na Internet para enviar individualmente um fluxo de pacotes ao servidor, como ilustra a Figura 29.3. Nor- malmente, um atacante primeiro assume o controle de computadores distribuídos na In- ternet, carrega neles o software malicioso e, então, os usa para atacar um servidor; assim, nenhum dos pacotes enviados por um DDoS vêm diretamente do computador do invasor. Internet o atacante comanda múltiplos computadores para enviar fluxos de pacotes ao alvo tráfego agregado inunda o servidor Figura 29.3 Ilustração de um ataque de negação de serviço de forma distribuída. A SYN flooding (inundação de pacotes do tipo SYN) é uma técnica utilizada para bloquear o serviço TCP de um determinado host – cada pacote enviado a ele contém uma mensagem TCP SYN, que solicita uma nova conexão TCP. O receptor aloca um blo- co de controle TCP para a conexão, envia SYN � ACK e espera por uma resposta (que não vem). Eventualmente, todos os blocos de controle ficam alocados e nenhuma nova conexão pode ser aberta. A interceptação de pacotes torna possível lançar o ataque man-in-the-middle, em que uma máquina maliciosa intermediária pode modificar os pacotes à medida que eles passam da origem para o destino. Embora esteja entre os ataques mais difíceis de se executar, a interceptação de pacotes tem o maior potencial de danos, como ilustra a Figura 29.4. fonteman-in-the-middleservidor pode efetuar ataques de escuta, de repetição e de spoof, aprender senhas, fazer varredura de portas e personificar um serviço pode gravar senhas e dados, alterar pacotes, falsificar ou enviar transações para destinos diferentes Figura 29.4 Uma configuração man-in-the-middle e os ataques que ela possibilita. Comer_29.indd 447Comer_29.indd 447 29/10/15 14:5229/10/15 14:52 448 Parte V Outros aspectos das redes de computadores 29.3 Política de segurança O que é uma rede segura? Embora o conceito de uma rede segura seja atraente para a maioria dos usuários, as redes não podem ser classificadas simplesmente como seguras ou não seguras, pois o termo não é absoluto – cada organização define o nível de acesso que é permitido ou negado. Por exemplo, uma organização que mantém segredos co- merciais valiosos pode impedir todos os acessos externos aos seus computadores. Uma organização que tem um site Web no qual são disponibilizadas informações pode definir uma rede segura, como a que libera o acesso aos dados para todos, mas possui mecanis- mos que impedem os visitantes de alterar os dados. Outras organizações se concentram em manter a comunicação confidencial: elas definem uma rede segura na qual ninguém além do transmissor e do receptor legítimos pode interceptar e ler uma mensagem. Fi- nalmente, uma grande organização pode precisar de uma definição complexade segu- rança que permite o acesso a dados ou serviços selecionados e impede o acesso ou a modificação de dados relacionados a serviços sensíveis ou confidenciais. Como não há definição absoluta de rede segura, o primeiro passo que uma organi- zação deve dar para desenvolver um sistema seguro é definir a sua política de segurança. A política não especifica a forma de alcançar a proteção, mas define claramente e ine- quivocamente os itens que devem ser protegidos. As políticas de segurança são complexas porque envolvem o comportamento hu- mano, bem como as instalações físicas de computadores e da rede (por exemplo, um visitante que transporta uma memória Flash ROM para fora da organização, uma rede sem fio que pode ser detectada fora do edifício, ou funcionários que trabalham em casa). A avaliação dos custos e benefícios das várias políticas de segurança também acrescenta complexidade. Em particular, uma política de segurança não pode ser definida a menos que a organização entenda o valor de suas informações. Em muitos casos, o valor da informação é difícil de avaliar. Considere, por exemplo, uma base de dados simples que contém a folha de pagamento e um registro para cada empregado, com as horas trabalhadas e o valor da remuneração. Se os funcionários forem capazes de acessar as informações, alguns podem ficar chateados e exigir salários mais elevados, ou ameaçar sair da empresa. Se os concorrentes obtiverem essa informação, eles podem usá-la para seduzir os funcionários. Mais importante, um concorrente pode ser capaz de utilizar as informações de maneiras inesperadas (por exemplo, para avaliar o esforço gasto em um determinado projeto). Para resumir: A concepção de uma política de segurança de redes pode ser complexa, porque uma política racional exige que uma organização relacione redes e segurança com o comportamento humano e que avalie o valor da informação. Definir uma política de segurança também é complicado porque cada organização deve decidir quais aspectos de proteção são mais importantes e, muitas vezes, criar um compromisso entre segurança e facilidade de uso. Por exemplo, uma organização pode considerar: • Integridade dos dados. A integridade refere-se à proteção contra a mudança: os dados que chegam a um receptor são idênticos aos dados que foram enviados? • Disponibilidade dos dados. A disponibilidade refere-se à proteção contra a inter- rupção do serviço: os dados estão acessíveis para usuários legítimos? Capítulo 29 Segurança em redes 449 • Confidencialidade dos dados. A confidencialidade refere-se à proteção contra o acesso não autorizado (por exemplo, por meio de espionagem ou de escutas telefô- nicas): os dados estão protegidos contra o acesso não autorizado? • Privacidade. A privacidade refere-se à capacidade de um remetente permanecer anônimo: a identidade do remetente é revelada? 29.4 Responsabilidade e controle Além dos itens acima, uma organização deve especificar exatamente como a responsa- bilidade pelas informações é atribuída e controlada. A questão da responsabilidade pela informação tem dois aspectos: • Prestação de contas (accountability). A prestação de contas refere-se a como uma trilha de auditoria é mantida: qual grupo é responsável por cada item de da- dos? Como o grupo mantém registros de acesso e de mudanças? • Autorização. A autorização refere-se à responsabilidade por cada item de infor- mação e à maneira como tal responsabilidade é delegada a outros: quem é respon- sável por onde a informação é armazenada, e como a pessoa responsável aprova acessos e efetua mudanças? A questão crítica tanto na prestação de contas como na autorização é o con- trole – uma organização deve controlar o acesso à informação assim como controla o acesso a recursos físicos, tais como escritórios, equipamentos e suprimentos. Um aspecto-chave do controle refere-se à autenticação ou validação de identidade. Por exemplo, suponha que uma organização especifica uma política de autorização que dá aos funcionários maiores privilégios do que aos visitantes. A política de autoriza- ção não tem sentido a menos que a organização tenha um mecanismo de autenticação que distingue um visitante de um funcionário. A autenticação não é feita apenas com seres humanos, mas inclui computadores, dispositivos e programas de aplicação. Em síntese: Políticas de autorização não têm sentido sem um mecanismo de autenticação que possa verificar inequivocamente a identidade de um requerente. 29.5 Tecnologias de segurança Muitos produtos de segurança atualmente executam uma série de procedimentos tanto para computadores individuais como para o conjunto de computadores de uma organi- zação. A Figura 29.5 resume as técnicas que esses produtos usam. As próximas seções explicam cada uma das tecnologias. 29.6 Hashing: um mecanismo de integridade e autenticação Os capítulos anteriores discutem técnicas como bits de paridade, checksums e CRCs (Cyclic Redundancy Checks), que protegem os dados contra alterações acidentais. Tais técnicas não fornecem integridade aos dados por duas razões. Em primeiro lu- Comer_29.indd 449Comer_29.indd 449 29/10/15 14:5229/10/15 14:52 450 Parte V Outros aspectos das redes de computadores gar, um mau funcionamento pode alterar tanto o checksum como o valor dos dados, o que significa que o checksum alterado pode ser válido para os dados alterados. Em segundo lugar, se as alterações de dados resultarem de um ataque planejado, o ata- cante pode criar um checksum válido para os dados alterados. Portanto, mecanismos adicionais foram criados para garantir a integridade das mensagens contra mudança intencional. Um método usado pelos padrões MD5 e SHA-1 fornece um código de autenti- cação de mensagens (MAC, Message Authentication Code) que um atacante não pode quebrar ou falsificar. Esquemas de codificação típicos utilizam mecanismos de hashing criptográfico. Um esquema de hashing confia em uma chave secreta conhecida apenas pelo emissor e pelo receptor. O emissor recebe a mensagem para transmitir, utiliza a chave para calcular um hash, H, e transmite H juntamente com a mensagem. H é uma se- quência curta de bits, e o comprimento de H é independente do tamanho da mensagem. O receptor usa a chave para calcular um hash da mensagem e compara o hash com H. Se os dois forem iguais, a mensagem chegou intacta. Um atacante, que não tem a chave secreta, não conseguirá modificar a mensagem sem a introdução de um erro. Assim, H fornece a autenticação da mensagem porque um receptor sabe que uma mensagem com um hash válido é autêntica. 29.7 Controle de acesso e senhas Um mecanismo de controle de acesso regulamenta quais usuários ou programas podem acessar os dados. Por exemplo, alguns sistemas operacionais implementam uma lista de controle de acesso (ACL, Access Control List) para cada objeto, especificando quem tem permissão para acessá-lo. Em outros sistemas, cada usuário possui uma senha de cada recurso protegido. Quando um usuário precisa acessar um recurso protegido, deve digitar a senha. Ao espalhar listas de controle de acesso e senhas em uma rede, alguns cuida- dos devem ser tomados para evitar a divulgação não intencional. Por exemplo, se um usuário em um local envia uma senha não criptografada através da rede a um computa- dor em outro local, qualquer um que grampeie a rede pode obter uma cópia da senha. Escutas são especialmente fáceis de se fazer quando os pacotes passam através de Técnica Objetivo Hashing Integridade dos dados Criptografi a Privacidade Assinatura digital Autenticação de mensagens Certifi cados digitais Autenticação do transmissor Firewalls Integridade do site Sistemas de detecção de intrusão Integridade do site Varredura de conteúdo & Inspeção detalhada de pacotes Integridade do site VPNs (Virtual Private Networks ou Redes Privadas Virtuais) Confi dencialidade dos dados Figura 29.5 Técnicas principais utilizadas para aplicar políticas de segurança. Capítulo 29Segurança em redes 451 uma LAN sem fio, pois não é necessária uma conexão física – qualquer um dentro do alcance da transmissão pode capturar uma cópia de cada pacote. Além disso, medidas também devem ser tomadas para assegurar que as senhas não sejam fáceis de adivi- nhar, porque uma rede permite que um atacante automatize tentativas de quebrá-las. Assim, os gerentes criam regras para a escolha das senhas, como um comprimento mínimo e uma proibição de usar palavras comuns (ou seja, as palavras encontradas em um dicionário). 29.8 Criptografi a: uma técnica fundamental de segurança A criptografia é uma ferramenta fundamental na segurança, pois pode garantir confiden- cialidade de dados (às vezes chamada de privacidade), autenticação de mensagens inte- gridade de dados, além de evitar ataques de repetição. Em essência, um remetente aplica criptografia para embaralhar os bits da mensagem de tal maneira que apenas o destinatá- rio possa decodificá-los. Alguém que intercepte uma cópia da mensagem criptografada não será capaz de extrair a informação. Além disso, uma mensagem criptografada pode incluir informações como o tamanho da mensagem; assim, um atacante não pode truncar a mensagem sem ser descoberto. A terminologia utilizada com a criptografia define quatro itens: • Texto aberto – uma mensagem original antes de ter sido criptografada. • Texto cifrado – uma mensagem após ter sido criptografada. • Chave de criptografia – uma conjunto curto de bits usado para criptografar uma mensagem. • Chave de descriptografia – um conjunto curto de bits usado para descriptografar uma mensagem. Como veremos, em algumas tecnologias, a chave de criptografia e a de descriptografia são idênticas; em outras, elas diferem. Matematicamente, pensamos em criptografia como uma função, encrypt, que rece- be dois argumentos: a chave, K1, e uma mensagem de texto aberto a ser criptografada, M. A função produz uma versão criptografada da mensagem, o texto cifrado C: C � encrypt (K1, M) Uma função decrypt reverte o mapeamento para produzir a mensagem original1: M � decrypt (K2, C) Matematicamente, decrypt é o inverso de encrypt: M � decrypt (K2, encrypt (K1, M)) Existem muitas tecnologias de criptografia e elas podem ser divididas em duas grandes categorias, definidas pela forma como as chaves são usadas: • Chave privada • Chave pública 1 A função decrypt pode ou não usar a mesma chave de encrypt. Comer_29.indd 451Comer_29.indd 451 29/10/15 14:5229/10/15 14:52 452 Parte V Outros aspectos das redes de computadores 29.9 Criptografi a de chave privada Em um sistema de chave privada, como o padrão DES, cada par de entidades partilha uma única chave, que serve tanto como chave de criptografia como de descriptografia. O nome surge porque a chave deve ser mantida em segredo – se um terceiro obtiver uma cópia dela, será capaz de decifrar as mensagens que passam entre o par. Sistemas de chave privada são simétricos, ou seja, cada lado pode enviar ou receber mensagens. No envio de uma mensagem, a chave é utilizada para produzir texto cifrado, que é então enviado através da rede. Quando a mensagem chega, o receptor usa a chave secreta para decodificar o texto cifrado e extrair a mensagem original (texto aberto). Assim, em um sistema de chave privada, tanto o transmissor como o receptor utilizam a mesma chave, K, o que significa que: M � decrypt (K, encrypt (K, M)) 29.10 Criptografi a de chave pública A principal alternativa à criptografia de chave privada é conhecida como criptografia de chave pública, utilizada pelo padrão RSA. Um sistema de chave pública atribui a cada entidade um par de chaves. Didaticamente, vamos supor que cada entidade é um único usuário. Uma das chaves do usuário, chamada de chave privada, é mantida em segredo, enquanto a outra, chamada de chave pública, é publicada junto ao nome do usuário, para que todos saibam o seu valor. A função de criptografia tem a seguinte propriedade mate- mática: uma mensagem de texto aberto criptografada com a chave pública não pode ser descriptografada, exceto com a chave privada, e uma mensagem em texto aberto cripto- grafada com a chave privada não pode ser descriptografada, exceto com a chave pública. A relação entre a criptografia e a descriptografia com as duas chaves pode ser expressa matematicamente. Seja M uma mensagem de texto aberto, public_u1 a chave pública do usuário 1 e private_u1 a chave privada do usuário 1, as funções de criptogra- fia podem ser expressas como: M � decrypt (public_u1, encrypt (private_u1, M)) e M � decrypt (private_u1, encrypt (public_u1, M)) A Figura 29.6 ilustra o motivo pelo qual um sistema de chave pública é chamado também de assimétrico, mostrando as chaves usadas para criptografar as mensagens enviadas em cada direção. Revelar uma chave pública é seguro, pois as funções usadas para criptografia e descriptografia têm uma propriedade de sentido único, ou seja, dizer a alguém a chave pública não permite que a pessoa falsifique uma mensagem criptografada com a chave privada. A criptografia de chave pública pode ser usada para garantir a confidencialidade. Um remetente que deseja comunicação confidencial utiliza a chave pública do destina- tário para criptografar a mensagem. Não adianta interceptar a mensagem, a menos que o atacante saiba a chave privada relacionada; caso contrário, não vai conseguir descrip- tografá-la. Assim, o esquema garante que os dados permaneçam confidenciais, porque somente o receptor pode decifrar a mensagem. Capítulo 29 Segurança em redes 453 Alice Bob encrypt encryptdecrypt decrypt Internet chave pública de Alicechave privada de Alice chave privada de Bobchave pública de Bob texto criptografado para Alice texto criptografado para Bob Figura 29.6 Ilustração de assimetria em um sistema de criptografia de chave pública. 29.11 Autenticação com assinaturas digitais Um mecanismo de criptografia também pode ser utilizado para autenticar o remeten- te de uma mensagem. A técnica é conhecida como assinatura digital. Para assinar uma mensagem, o remetente a criptografa usando uma chave conhecida apenas por ele2. O destinatário usa a função inversa para descriptografar a mensagem. Ele sabe quem enviou a mensagem, pois somente o remetente tem a chave necessária para efetuar a criptografia. Para assegurar que as mensagens criptografadas não sejam copiadas e depois reenviadas, a mensagem original pode conter a hora e a data em que foi criada. Veremos agora de que forma um sistema de chave pública pode ser usado para fornecer uma assinatura digital. Para assinar uma mensagem, o remetente criptografa a mensagem usando sua chave privada. Para verificar a assinatura, o destinatário olha para a chave pública do remetente e a utiliza para descriptografar a mensagem. Como só o remetente conhece a chave privada, apenas ele pode criptografar uma mensagem que pode ser descriptografada com sua chave pública. Curiosamente, uma mensagem pode ser criptografada duas vezes para garantir a autenticação e a confidencialidade. Em primeiro lugar, a mensagem é assinada usando a chave privada do remetente para criptografá-la (garantindo autenticação). Em segundo lugar, a mensagem encriptada é encriptada novamente, agora com a chave pública do destinatário (garantindo confidencialidade). Matematicamente, os dois passos de en- criptação podem ser expressos como: X � encrypt (public_u2, encrypt (private_u1, M)) onde M denota uma mensagem de texto aberto a ser enviada, X denota a sequência cifra- da que surge como resultado da criptografia dupla, private_u1 denota a chave privada do remetente e public_u2 denota a chave pública do destinatário. Na extremidade receptora, o processo de descriptografia é o inverso do processo de criptografia. Em primeiro lugar, o destinatário usa sua chave privada para des- criptografar a mensagem, removendo um nível da criptografia, mas ainda deixando a mensagem assinada digitalmente. Em segundo lugar, eleusa a chave pública do 2 Se a confidencialidade não for necessária, a mensagem não precisa ser criptografada. Em vez disso, uma forma mais eficiente de assinatura digital pode ser utilizada; por meio dela, somente um hash da mensagem é criptografado. Comer_29.indd 453Comer_29.indd 453 29/10/15 14:5229/10/15 14:52 454 Parte V Outros aspectos das redes de computadores remetente para descriptografar a mensagem novamente. O processo pode ser expresso como: M � decrypt (public_u1, decrypt (private_u2, X)) onde X denota o texto cifrado que foi transferido através da rede, M denota a mensagem de texto aberto original, private_u2 denota a chave privada do destinatário e public_u1 é a chave pública do remetente. Se uma mensagem significativa resulta das duas etapas, deve ser verdade que a mensagem é confidencial e autêntica. A mensagem deve ter alcançado seu destinatário, pois somente ele tem a chave privada correta necessária para remover a criptografia exterior. Além disso, deve ser autêntica, porque só o remetente tem a chave privada necessária para criptografá-la de tal forma que a chave pública do remetente consiga descriptografá-la corretamente. 29.12 Autoridades de chaves e certifi cados digitais Uma das questões fundamentais da tecnologia de chave pública é a forma pela qual uma chave pública é obtida. Embora seja possível utilizar uma publicação convencional (análoga a um catálogo telefônico), isso é complicado e sujeito a erros, porque os se- res humanos teriam de inserir as chaves manualmente em seus computadores. Surge a pergunta: um sistema automatizado pode ser concebido para distribuir chaves públicas? Evidentemente, o sistema de distribuição deve ser seguro – se a chave pública dada a um usuário estiver incorreta, a segurança estará quebrada, e a criptografia não será mais confiável. O problema é conhecido como problema da distribuição de chaves, e a criação de um sistema de distribuição de chaves viável tem sido um obstáculo à adoção generalizada de sistemas de chave pública. Vários mecanismos de distribuição de chaves foram propostos, incluindo um que usa o DNS. Em cada caso, um simples princípio rege o esquema: conhecendo uma chave – a chave pública de uma autoridade de chaves –, é possível obter outras chaves públicas de forma segura. Assim, um administrador precisa apenas configurar uma chave pública. A Figura 29.7 ilustra a troca de mensagens que ocorre quando um usuário decide intera- gir com um novo web site, W. Na figura, um site precisa realizar uma transação segura com um web site, W. To- das as quatro mensagens são confidenciais. A mensagem 1 só pode ser lida pela autori- dade de chaves, porque foi criptografada com a chave pública dela. A mensagem 2 deve ter sido gerada pela autoridade de chaves, porque somente ela tem a chave privada que corresponde à sua chave pública. Uma vez que o usuário tenha obtido a chave pública para o site W, ele pode enviar uma requisição confidencial e saber que somente o web site especificado pode gerar uma resposta (porque só ele tem a chave privada). Embora muitas variações sejam possíveis, o princípio fundamental é: É possível criar um sistema seguro de distribuição de chaves que só requer a configuração manual de uma chave pública. Capítulo 29 Segurança em redes 455 Usuário Autoridade de chaves Web site W encrypt encrypt decrypt decrypt encrypt encrypt decrypt decrypt mensagem 1 mensagem 2 mensagem 3 mensagem 4 chave pública da autoridade chave privada da autoridade chave pública do site chave privada do site Figura 29.7 Ilustração da utilização de uma autoridade de chaves para obter uma chave pública. Comer_29.indd 455Comer_29.indd 455 29/10/15 14:5229/10/15 14:52 Encerra aqui o trecho do livro disponibilizado para esta Unidade de Aprendizagem. Na Biblioteca Virtual da Instituição, você encontra a obra na íntegra. Página em branco