Redes de Computadores Tópicos Adicionais



Documentos relacionados
Capítulo 9. Gerenciamento de rede

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Revisão Gerenciar consiste em supervisionar e controlar seu funcionamento para que ele satisfaça aos requisitos tanto dos seus usuários quanto dos

Rede de Computadores II

O que são DNS, SMTP e SNM

ARQUITETURAS DE GERENCIAMENTO. Baseado em slides gentilmente cedidos pelo Prof. João Henrique Kleinschmidt da UFABC.

Lista 3 Exercícios de Gestão de Redes

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Gerência e Segurança de Redes

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Gerência de Redes Padrões de Gerenciamento

CAMADA DE TRANSPORTE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Gerência de Redes Modelo de Gerenciamento OSI. Douglas Duarte

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

REDES DE COMPUTADORES

3 Qualidade de serviço na Internet

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Protocolos de gerenciamento


Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Segurança Internet. Fernando Albuquerque. (061)

Redes de Computadores

Gerenciamento de Redes - Evolução. Gerenciamento de Rede. Gerenciamento de Rede NOC NOC

Informática I. Aula Aula 22-03/07/06 1

Arquitetura de Rede de Computadores

Capítulo 8 - Aplicações em Redes

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Modelos de Camadas. Professor Leonardo Larback

Protocolos Multimídia. Alunos: Roberto Schemid Rafael Mansano

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

MIB (Management Information Base) Objetos Gerenciados Um objeto gerenciado é a visão abstrata.

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Capítulo 7 CAMADA DE TRANSPORTE

Gerência de Redes. Arquitetura de Gerenciamento.

Objetivo Geral - Apender conceitos, protocolos e técnicas na gerencia de redes

Gerência de Redes e Serviços de Comunicação Multimídia

FTP Protocolo de Transferência de Arquivos

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

Rede de Computadores

SISTEMAS DISTRIBUIDOS

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Unidade 2.1 Modelos de Referência

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

Redes de Computadores. Protocolos de comunicação: TCP, UDP

PARANÁ GOVERNO DO ESTADO

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Redes de Computadores II

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

Redes de Computadores

Entendendo como funciona o NAT

Quadro de consulta (solicitação do mestre)

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

MÓDULO 8 Modelo de Referência TCP/IP

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014

REDES DE COMPUTADORES. Arquiteturas de Redes

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Gerencia de Rede (Desempenho) Professor: Guerra (Aloivo B. Guerra Jr.)

1

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

Redes de Computadores

INTERNET = ARQUITETURA TCP/IP

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Protótipo de Software de Gerência SNMP Para o Ambiente Windows NT

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Capítulo 7 CAMADA DE TRANSPORTE

Aula 6 Modelo de Divisão em Camadas TCP/IP

Conceitos de relação de confiança

Redes de Computadores II. Professor Airton Ribeiro de Sousa

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

UNIP UNIVERSIDADE PAULISTA

Gerenciamento de Redes Gerenciamento OSI

ISO/IEC 12207: Gerência de Configuração

Redes de Computadores. Trabalho de Laboratório Nº7

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Redes de Computadores

H.323: Visual telephone systems and equipment for local area networks which provide a nonguaranteed


Cap 01 - Conceitos Básicos de Rede (Kurose)

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

Protocolos Sinalização

Transcrição:

1 Introdução Redes de Computadores Tópicos Adicionais Os capítulos a seguir visam apresentar três tópicos muitíssimo importantes e relativamente independentes para a área de redes de computadores. Os tópicos abordados são redes multimídia (aplicações de áudio e de vídeo para a Internet), gerenciamento de redes (conceitos relativos à gerencia e supervisão de redes de computadores e de telecomunicações) e segurança em redes de computadores (implementação dos conceitos de criptografia e segurança na Internet). 2 Redes Multimídia Tem havido um grande crescimento no desenvolvimento e implementação de aplicações que transmitem e recebem conteúdo de áudio e vídeo pela Internet, tais como vídeo de entretenimento, telefonia IP, rádio pela Internet, páginas Internet com conteúdo multimídia, teleconferência, jogos interativos, mundos virtuais, educação à distância, entre outros. Ao contrário das aplicações tradicionais da Internet (correio eletrônico, transferência de arquivos, etc.), aplicações multimídia são altamente sensíveis ao atraso fim-a-fim e à variação deste atraso (jitter) mas, por outro lado, toleram perdas ocasionais de dados. 2.1 Aplicações Multimídia As aplicações multimídia podem ser divididas em três classes: streaming de arquivos de áudio e vídeo, streaming de áudio e vídeo em tempo real e streaming de áudio e vídeo interativo em tempo real. Na classe das aplicações de streaming de arquivos de áudio e vídeo, as aplicações cliente pedem por arquivos de áudio ou vídeo que estão armazenados em aplicações servidoras. Este conteúdo multimídia foi previamente armazenado no servidor e pode ser apresentado instantes após estar sendo recebido pela aplicação cliente ou mais tarde, quantas vezes quiser, a partir de uma cópia do arquivo original armazenado localmente na estação cliente. A classe das aplicações de streaming de áudio e vídeo em tempo real é equivalente à transmissão de rádio e televisão, porém utilizando a Internet como meio de difusão. Estas aplicações permitem que um usuário receba o conteúdo da programação de rádio ou de televisão ao vivo de qualquer lugar do mundo. Francisco Adell Péricas 1

A transmissão do conteúdo multimídia para vários receptores pode ser feita de forma muito eficiente através da funcionalidade de multicast da Internet, apesar de não ser esta a forma que tem sido utilizada normalmente na prática. A classe das aplicações de streaming de áudio e vídeo interativo em tempo real permite que as pessoas usem áudio ou vídeo para se comunicarem em tempo real. Áudio interativo em tempo real é chamado Telefonia IP, pois do ponto de vista do usuário, este tipo de aplicação é similar ao sistema de telefonia tradicional. Vídeo interativo em tempo real equivale a sistemas de Videoconferência e Videofonia IP. 2.1.1 Compressão de Áudio e de Vídeo Antes que o áudio ou o vídeo possam ser transmitidos pela Internet, eles precisam ser digitalizados e comprimidos. A digitalização é necessária pois as redes de computadores transmitem bits, portanto os sinais analógicos precisam ser representados por bits. Esta digitalização é feita a partir de amostragem do sinal a uma taxa constante e de posterior quantização em função do número de bits a ser utilizado no processo. Por exemplo, se cada amostra for representada por um byte, a amostra será quantizado em 256 níveis distintos. A compressão é importante porque áudio e vídeo não comprimidos consomem uma quantidade enorme de memória e de largura de banda. Por exemplo, uma imagem de 1024 pontos por 1024 pontos, cada ponto codificado por 24 bits de cores, consome 3 Mbytes de memória. Se a imagem for comprimida a um fator de 12:1, a memória requerida passará a ser de apenas 256 Kbytes. No caso específico de áudio, a técnica básica de digitalização é o PCM (Pulse Code Modulation). Codificação de voz normalmente usa o PCM, com taxa de 8000 amostras por segundo, utilizando quantização de 8 bits por amostra, obtendo uma taxa de 64 Kbps. A codificação de áudio utilizada nos CDs usa taxa de 44100 amostras por segundo, com quantização de 16 bits por amostra, obtendo uma taxa de 705,6 Kbps para áudio mono e 1,4112 Mbps para áudio estéreo. Estas taxas de transferência são muito altas para serem utilizadas na Internet, por isso são necessários procedimentos de compressão de forma que as taxas sejam reduzidas. Algumas dessas técnicas de compressão para voz são o GSM (13 Kbps), o G.729 (8 Kbps) e o G.723.3 (5,3 Kbps a 6,4 Kbps). A principal técnica de compressão para música estérea é o MPEG-1 (Moving Pictures Experts Group), em cujo padrão se baseia o MP3 (112 Kbps a 128 Kbps). No caso de vídeo, a necessidade de compressão é ainda mais significativa, pois trata de uma seqüência de imagens tipicamente capturadas a taxas de 24 ou 30 imagens por segundo. As técnicas de compressão mais difundidas são MPEG-1 para vídeo CD (1,5 Mbps), MPEG-2 para DVD (3 Mbps a 6 Mbps) e MPEG-4 para compressão de vídeo para Internet. Francisco Adell Péricas 2

2.2 Streaming de Áudio e de Vídeo No streaming de áudio e de vídeo, aplicações cliente requisitam arquivos comprimidos de áudio ou vídeo armazenados em servidores de streaming. Ao responder a esta requisição, o servidor envia o arquivo de áudio ou vídeo para a aplicação cliente através de um socket TCP ou UDP. Antes de enviar o arquivo pela rede, ele é segmentado e os segmentos são então encapsulados em um protocolo especial para tráfego de streaming mídia chamado RTP (Real Time Protocol). Alguns segundos após a aplicação cliente começar a receber o arquivo de streaming, ela inicia a sua reprodução. Como a reprodução de streaming mídia não está diretamente integrada às aplicações cliente da Internet, uma aplicação auxiliar, chamada tocador de mídia, é necessária para reproduzir o áudio ou o vídeo. Um tocador de mídia executa várias funções importantes: descompressão: o streaming de áudio e vídeo precisa ser descomprimido em tempo real durante a reprodução da mídia; remoção de jitter: o jitter é uma variação do tempo de atraso entre a origem e o destino durante a transmissão de dados pela rede. Como o áudio ou vídeo precisa ser reproduzido a uma taxa constante, esta variação de atraso precisa ser removida e compensada, o que é feito através do armazenamento local de uma pequena quantidade de pacotes antes de serem reproduzidos; correção de erros: como pacotes podem ser perdidos na rede, os tocadores de mídia precisam procurar contornar estas perdas através da transmissão de pacotes redundantes ou da interpolação de dados entre os pacotes recebidos, evitando assim que a qualidade da reprodução se torne inaceitável; interface gráfica: a apresentação do conteúdo do streaming é feita através de uma interface gráfica que pode ou não estar incorporada a um ambiente de navegação da Internet. Aplicação Cliente Ativação Tocador de Mídia Requisição HTTP Envio RTP Controle RTSP Servidor Internet Servidor de Streaming Cliente Servidor Os tocadores de mídia normalmente disponibilizam uma série de facilidades ao usuário permitindo que este pare, retroceda ou avance a reprodução da mídia. Para que esta interação com o usuário seja possível, é necessário um protocolo auxiliar especial chamado RTSP (Real Time Streaming Protocol). Francisco Adell Péricas 3

O RTSP é um protocolo que permite ao tocador de mídia controlar a transmissão do streaming de áudio e vídeo. As ações de controle implementadas pelo protocolo são pausar, reproduzir, gravar, reposicionar, avançar e retroceder. 2.3 Protocolo RTP O protocolo RTP (Real Time Protocol) é utilizado para transportar pacotes com formatos de dados para áudio e para vídeo. Os pacotes RTP normalmente são enviados através do protocolo UDP da camada de transporte da arquitetura Internet. A aplicação servidora de streaming mídia deve encapsular a mensagem em pacotes RTP (gerando as informações de temporização e de numeração seqüencial para o cabeçalho) e enviá-los através de um socket UDP ou TCP à aplicação cliente no destino. A aplicação cliente recebe pelo socket o pacote RTP, extrai seu conteúdo e reconstitui o streaming a partir das informações disponíveis no seu cabeçalho. Um segmento RTP consiste em duas partes: cabeçalho e dados. O cabeçalho tem 11 bytes, cujo formato está mostrado a seguir: 1 2 4 4 Tipo Seqüência Tempo Ident. Os campos deste cabeçalho são: Tipo: permite que a aplicação especifique o tipo de codificação de streaming sendo transferido no campo de dados do pacote RTP: Tipo Formato da mídia 0 PCM 3 GSM 9 MP3 14 G.728 26 Motion JPEG 32 MPEG-1 33 MPEG-2 Seqüência: é um contador dos pacotes gerados de forma que a aplicação cliente possa identificar a ordem dos pacotes e detectar eventuais pacotes perdidos durante a transmissão; Tempo: é um número que permite sincronizar as aplicações servidora e cliente e eliminar o jitter de transmissão através da indicação temporal do momento em que foi gerado o sinal de streaming; Identificação: identifica univocamente geradores de streaming de forma que a aplicação cliente possa tratar mais de uma mídia em uma mesma sessão. Há um protocolo que o RTP pode utilizar conjuntamente para controle chamado RTCP (Real Time Control Protocol). Pacotes RTCP são transmitidos por cada um dos participantes de uma sessão RTP para todos os demais participantes através de um endereço IP de multicast. Francisco Adell Péricas 4

Em uma sessão RTP, normalmente há um único endereço multicast e todos os pacotes RTP e RTCP pertencentes à sessão usam este endereço multicast. Os pacotes RTP e RTCP são enviados independentemente porque usam diferentes números de porta do protocolo de transporte. 2.4 Padrão H.323 O H.323 é um padrão para áudio e vídeo conferência entre sistema terminais na Internet, os quais podem ser dispositivos de telefonia e de vídeo ou aplicações de telefonia e de videoconferência. Equipamentos H.323 também incluem Gateways e Gatekeepers. Os gateways permitem a comunicação entre terminais H.323 e aparelhos telefônicos tradicionais em uma rede de telefonia. Os Gatekeepers são equipamentos opcionais para tradução de endereços, autorização de acesso, gerência de largura de banda e contabilização. A especificação do padrão H.323 inclui: a forma com que os pontos terminais negociam o tipo de codificação de áudio ou de vídeo a ser utilizado; a forma com que o streaming deve ser encapsulado e enviado pela rede; a forma com que os pontos terminais se comunicam com os Gatekeepers; a forma com que a Telefonia IP se comunica através dos Gateways com aparelhos de telefonia tradicional. Áudio Vídeo RAS Sinalização Controle Camada de Aplicação RTP / RTCP H.225 Q.931 H.245 H.323 Camada de Transporte UDP TCP Camada de Rede IP O padrão H.323 é composto basicamente pelo seguintes protocolos de controle e de sinalização: H.245: protocolo para controlar a mídia e negociar o padrão de compressão de áudio ou vídeo entre os pontos terminais do H.323; Q.931: protocolo de sinalização para estabelecer e encerrar chamadas através de aparelhos de telefonia tradicional; H.225: protocolo que permite aos pontos terminais se comunicarem com os Gatekeepers através de um canal RAS (Registration/Admission/Status). Francisco Adell Péricas 5

3 Gerenciamento de Redes As redes de computadores, tanto as públicas quanto as privadas, estão crescendo muito e cada vez se integrando mais, convergindo para uma enorme infra-estrutura global. Em conseqüência a este crescimento, a possibilidade de gerenciar sistematicamente uma grande quantidade de sistemas de hardware e de software, componentes constituintes destas redes, tem tido cada vez mais importância. Além de ser cada vez mais imprescindível, o segmento de sistemas de gerência de redes está evoluindo continuamente em função da disponibilidade de novas opções de tecnologias, as quais podem ser utilizadas tanto pelos provedores de serviços quanto pelas empresas de implementação de sistemas integrados de gerência. O ITU-T (International Telecommunication Union Telecommunication Standardization Sector) dividiu o gerenciamento de redes em áreas funcionais de gerenciamento permitindo desta forma identificar diferentes atividades características da gerência. Foram definidas cinco áreas funcionais básicas: gerência de falhas: permite a detecção, isolamento e correção de anomalias de uma rede e de seus equipamentos; gerência de configuração: permite o controle, a identificação e a coleta de dados de equipamentos e de conexões entre eles, assim como o planejamento, a instalação e a configuração dos equipamentos da rede de forma a garantir os serviços requeridos pelos clientes de uma rede; gerência de contabilização: habilita o uso dos serviços da rede para medição e determinação de custos, provendo facilidades de definição de parâmetros de bilhetagem e de coleta de registros de cobrança do uso de uma rede; gerência de desempenho: permite a geração e a avaliação de relatórios de dados coletados de uma rede, como objetivo de medir, analisar e controlar o seu desempenho, de acordo com requisitos de qualidade de serviço requeridos pelos usuários da rede e de seus equipamentos; gerência de segurança: permite prevenir e detectar o uso impróprio ou não autorizado de recursos de uma rede, assim como administrar a sua segurança. 3.1 Definições de Gerência de Redes OSI e TCP/IP O mundo ideal proposto pelas arquiteturas de gerenciamento de rede, em que todos os sistemas de uma planta heterogênea poderiam ser gerenciados de forma integrada, utilizando modelos de informação padrões e abertos, não é necessariamente a realidade atual do mercado. Entre os motivos pelos quais isto ocorre, pode-se destacar: o desinteresse por parte de fabricantes de equipamentos de transmissão de dados por razões de competitividade de mercado; a complexidade dos modelos de informação (MIB Management Information Base), baseados em GDMO (Guideline for Definition of Managed Objects) e/ou ASN.1 (Abstract Syntax Notation One); a impossibilidade de suportar modelos de informação de equipamentos e de serviços de forma dinâmica e incremental; Francisco Adell Péricas 6

as plataformas de gerência atuais são baseadas no paradigma de gerenciamento centralizado: pequeno número de estações recebem grandes quantidades de dados para que sejam analisados. A incompatibilidade entre sistemas de gerência não é necessariamente conseqüência da utilização de diferentes protocolos, mas sim conseqüência da utilização de diferentes modelos de informação por parte das aplicações de gerenciamento destes sistemas, inviabilizando portanto a integração entre os de diferentes fornecedores. Ou seja, a implementação de um sistema padrão de gerência implica necessariamente na implementação de um modelo de informação bem especificado, padrão e disponível no mercado. De uma maneira geral, a manutenção e as atualizações de aplicações de gerência são muito difíceis e caras de serem incorporadas nos ambientes de gerenciamento de redes baseados nas tecnologias atualmente consagradas, tanto no CMIP (Common Management Infomation Protocol), definido sobre o modelo de referência OSI, quanto no SNMP (Simple Network Management Protocol), definido sobre o modelo de referência TCP/IP, porque a sua natureza estática requer que todos os recursos e sistemas a serem gerenciados sejam previamente conhecidos pelos grupos de desenvolvimento dos sistemas de gerência de redes. Recentemente, novas tecnologias de desenvolvimento de sistemas de gerenciamento de redes têm surgido no mercado, tipicamente na forma de mapeamento dos padrões de gerenciamento existentes em novos modelos de objetos, em especial no CORBA (Common Object Request Broker Architecture). Infelizmente, as soluções baseadas nesta tecnologia têm demonstrado várias empecilhos na sua implantação principalmente em relação à enorme quantidade de código necessário para o seu desenvolvimento e às limitações e imperfeições do próprio mapeamento entre modelos de informação e primitivas de gerenciamento. Por outro lado, novas plataformas, que seguem o modelo de orientação a objetos e flexibilizam a integração à Internet e o desenvolvimento de aplicações, têm se mostrado cada vez mais adequadas para o desenvolvimento de sistemas de gerenciamento. Estas plataformas são normalmente baseadas na linguagem Java da Sun, cuja tecnologia, por ser dinâmica, flexível e portável, a torna ideal para o desenvolvimento das novas gerações de soluções de gerência de sistemas. Para suprir os requisitos de mercado para o gerenciamento dinâmico de recursos e de sistemas através da tecnologia Java, um consórcio de empresas da área de sistemas de gerência criou o JMX (Java Management Extension), mantido pela Sun. Através do mapeamento de um modelo de informação de gerência para os JavaBeans utilizados pela arquitetura especificada pelo JMX, cria-se a infra-estrutura necessária para o desenvolvimento de um sistema de gerência de redes baseado na tecnologia Java. A seguir estudaremos em mais detalhe os protocolos de aplicação CMIP do modelo de referência OSI e SNMP do modelo de referência TCP/IP, o mais difundido e utilizado atualmente. Francisco Adell Péricas 7

3.2 CMIP e SNMP A infra-estrutura de gerenciamento especificado pela ISO para o modelo de referência OSI baseia-se em informações de gerência de recursos de rede modeladas como atributos de objetos gerenciados. As informações de gerência de uma rede, assim como as regras pelas quais esta informação é apresentada e gerenciada, é referenciada como sendo a base de informações de gerência (MIB Management Information Base). Estação (agente) Ponte (agente) Estação (agente) Estação (agente) Estação (agente) Aplicação de Gerência Aplicações que gerenciam estas informações são chamados de entidades de gerenciamento. Uma entidade de gerenciamento pode assumir um dos seguintes dois papéis: gerente ou agente. Gerentes e agentes enviam e recebem requisições e notificações usando o protocolo de gerência CMIP (no caso do modelo de referência OSI) ou SNMP (no caso do modelo de referência TCP/IP). Gerente Requisições Respostas Agente Sistema de Gerenciamento Notificações espontâneas Sistema Gerenciado Uma aplicação de gerência no papel de gerente faz requisições de operações e recebe notificações, enquanto que no papel de agente processa operações, envia respostas e emite espontaneamente notificações. Francisco Adell Péricas 8

Uma aplicação de gerência pode fazer ao mesmo tempo o papel de gerente para uma outra aplicação agente e o papel de agente para uma outra aplicação gerente. Nível 1 Gerente Nível 2 Agente Gerente Nível 3 Agente A mesma infra-estrutura de gerenciamento especificado pela ISO foi utilizada para especificar o ambiente de gerência do modelo de referência TCP/IP. Em 1990, com a publicação das RFC 1155 e RFC 1157 pela IETF definiu-se o protocolo de gerência SNMP (Simple Network Management Protocol), que foi aprimorado pelas RFC 1441 e RFC 1452 definindo o SNMPv2. Em 1999, a RFC 2570 definiu o SNMPv3, que inclui funcionalidades de configuração remota e suporte a mecanismos de segurança (criptografia, autenticação e controle de acesso). As duas arquiteturas de gerência (TCP/IP e OSI) apresentam modelos de gerenciamento similares envolvendo aplicações agentes e gerentes da rede, uma MIB (Base de Informação de Gerenciamento) e um protocolo de aplicação responsável pelo transporte de operações e informações de gerenciamento entre tais elementos agentes e gerente. O SNMP consiste num conjunto simples de especificações básicas para o gerenciamento de redes. O elemento agente é muito mais simples do que na arquitetura OSI. Já o CMIP é um sistema para o gerenciamento de redes muito bem projetado que incrementa significativamente as funcionalidades do SNMP. Em relação à MIB, as duas arquiteturas adotaram a abordagem orientada a objetos para descrever e especificar as informações nela armazenadas. O CMIP usa a notação GDMO (Guideline for Definition of Managed Objects) para definir as classes do modelo de informação e a notação ASN.1 (Abstract Syntax Notation One) para definir as sintaxes requeridas pelo modelo. O SNMP usa o SMI (Structure of Management Information), escrito utilizando a notação ASN.1, para definir tanto as classes quanto as sintaxes utilizadas pelo modelo de informação. As operações definidas para o SNMP restringem-se às operações simples do tipo getand-set. No caso de sistemas OSI, é especificado um conjunto mais completo de operações com facilidades adicionais de escopo e filtro, além da possibilidade de sincronizar operações realizadas sobre vários objetos. O SNMP é um protocolo sem conexão (usa o protocolo UDP (User Datagram Protocol) para transporte). Já o CMIP, é um protocolo orientado à conexão (usa o protocolo TP0 Francisco Adell Péricas 9

(Transport Protocol Class 0) para transporte), executado sobre toda a pilha de protocolos OSI para gerenciamento. Dentro deste contexto, pode se dizer que o sistema de gerenciamento OSI tem um nível de confiabilidade maior que o do TCP/IP, porém muitas vezes a simplicidade do SNMP representa uma maior eficiência na solução do problema ocorrido. O modo como o SNMP é normalmente usado é aquele em que a estação de gerenciamento envia uma solicitação a um agente solicitando informações a ele ou forçando-o a atualizar seu estado de alguma forma. Em geral, o agente simplesmente responde com as informações solicitadas ou confirma que atualizou seu estado da forma solicitada. Os dados são enviados com base na sintaxe de transferência ASN.1. No entanto muitos erros podem ser detectados. O SNMP define seis mensagens que podem ser usadas na comunicação entre as aplicações agente e a aplicação gerente: Mensagem Get-request Get-next-request Get-bulk-request Set-request Inform-request SnmpV2-trap Descrição Solicita o valor de uma ou de mais variáveis Solicita a variável seguinte à variável previamente solicitada Solicita uma tabela longa de dados Solicita a atualização de uma ou mais variáveis Envio de mensagens entre aplicações gerente Notificação espontânea enviada por uma aplicação agente O CMIP define sete mensagens que podem ser usadas na comunicação entre as aplicações agente e a aplicação gerente: Mensagem Descrição M-get Solicita o valor de uma ou de mais variáveis M-cancel-get Cancela o pedido de solicitação pendente de uma ou mais variáveis M-set Solicita a atualização de uma ou mais variáveis M-action Solicita a execução de uma ou mais ações sobre objetos gerenciados M-create Solicita a criação de uma instância de um objeto gerenciado M-delete Solicita a remoção de uma instância de um ou mais objetos gerenciados M-event-report Notificação espontânea enviada por uma aplicação agente Também são definidos recursos adicionais que permitem selecionar o grupo de objetos sobre os quais se aplica uma determinada operação. O escopo, como é chamado este recurso, permite selecionar um grupo instância de objeto sobre os quais se realizará uma única operação. Por meio dos recursos de filtro, outra facilidade do CMIP, é possível definir um conjunto de testes aplicáveis a um grupo de instâncias de objetos, que fora anteriormente selecionado através do escopo. Assim sendo, é possível reduzir significativamente a extração sobre a qual se desenrolará uma operação de gerenciamento. O grande problema do CMIP é que corrigindo os problemas do SNMP e tornando -o mais poderoso, ele se tornou um sistema muito grande e complexo que poucas redes conseguem suportar. Francisco Adell Péricas 10

3.3 Gerência de Objetos Um objeto gerenciável é uma visão conceitual de um recurso que necessita ser monitorado e controlado para evitar falhas e degradação de desempenho em uma rede. Os objetos gerenciáveis com mesmas propriedades são instâncias de uma classe de objetos. A MIB é um repositório conceitual de instâncias de objetos gerenciáveis. Uma classe de objeto gerenciável é definida pelos: atributos: são elementos de dados e valores que caracterizam uma classe de objetos gerenciáveis; operações de gerência: são as operações que podem ser aplicadas às instâncias de objetos gerenciáveis; comportamento: é o que é apresentado por uma instância de objeto gerenciável baseado no recurso que ele representa; notificações: são as mensagens que instâncias de objetos gerenciáveis podem emitir espontaneamente. Uma classe de objetos especificada pelo modelo de gerenciamento OSI é descrita utilizando-se o notação GDMO. Um exemplo de declaração de uma classe GDMO é: network MANAGED OBJECT CLASS DERIVED FROM Recommendation X.721: 1992 :top; CHARACTERIZED BY networkpackage PACKAGE BEHAVIOUR networkdefinition; ATTRIBUTES networkid GET;;; CONDITIONAL PACKAGES userlabelpackage PRESENT IF supports it ; REGISTERED AS {m3100objectclass 1}; networkid ATTRIBUTE WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.NameType; MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS; BEHAVIOUR Recommendation X.721: 1992 :rdnidbehaviour; REGISTERED AS {m3100attribute 30}; O GDMO descreve apenas a estrutura (atributos, operações, comportamento e notificações) das classes. As sintaxes utilizadas nesta estrutura são descritas usando-se a notação ASN.1. Por exemplo: NameType ::= CHOICE { numericname INTEGER, pstring GraphicString } A especificação de classes de objetos para o modelo de gerenciamento TCP/IP é feita através da utilização da notação ASN.1, com a declaração de alguns tipos de dados adicionais (macros ASN.1) os quais compõe o SMI (Structure of Management Information). Os tipos de dados adicionais mais importantes são o OBJECT-TYPE (para declarar classes de objetos), MODULE-IDENTITY (para informar dados da edição e do autor da MIB) e o TRAP-TYPE ou NOTIFICATION-TYPE (para declarar notificações espontâneas). Um exemplo de declaração de uma classe SMI é: Francisco Adell Péricas 11

lostpackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION Number of lost packets since last startup ::= {experimental 20} Counter32 ::= INTEGER 3.4 MIB A MIB (Management Information Base), ou modelo de informação de gerência, é o conjunto dos objetos gerenciados, que procura abranger todas as informações necessárias para a gerência da rede, possibilitando assim, a automatização de grande parte das tarefas de gerência. Tanto o padrão de gerenciamento OSI quanto o TCP/IP definiram MIBs que representam os objetos necessários para a gerência de seus recursos. O mercado de telecomunicações optou por definir o modelo OSI de gerenciamento como o mais adequado, especificando as suas próprias MIBs para os vários equipamentos utilizados pelas empresas de telecomunicações. Por outro lado, o mercado de computação e de Internet optou preferencialmente pela implementação de sistemas de gerência baseados no modelo TCP/IP de gerenciamento, especificando as suas MIBs para gerenciar os vários equipamentos utilizados pelas redes de computadores. Na definição de objetos gerenciados é utilizada a orientação a objetos. Objetos com características semelhantes são agrupados em classes de objetos. Uma classe pode ser uma subclasse de outra, onde a primeira herda todas as propriedades da segunda. Uma classe é definida pelos seus atributos, pelas ações que podem ser invocadas, pelos eventos que podem ser relatados e pela superclasse na qual ela está contida. Para a definição dos objetos gerenciados deve-se considerar três hierarquias usadas na caracterização e na identificação de objetos gerenciados: hierarquia de herança: também denominada hierarquia de classe, a hierarquia de herança tem como objetivo facilitar a modelagem dos objetos, através da utilização do paradigma da orientação a objetos. Assim podem ser definidas classes, subclasses e superclasses; hierarquia de nomeação: a hierarquia de nomeação, também chamada hierarquia de containment, descreve a relação de "estar contido em" aplicado aos objetos. Um objeto gerenciado está contido dentro de um e de somente um objeto gerenciado. Um objeto existe somente se o objeto que o contém existir; hierarquia de registro: a hierarquia de registro é usada para identificar de maneira universal os objetos, independentemente das hierarquias de heranças e nomeação. Esta hierarquia é especificada segundo regras estabelecidas pela notação ASN.1 (Abstract Syntax Notation One). Assim, cada objeto é identificado por uma seqüência de números, correspondente aos nós percorridos desde a raiz, até o objeto em questão. Francisco Adell Péricas 12

A RFC 1066 apresentou a primeira versão da MIB para uso com o protocolo TCP/IP, a MIB-I, sendo formalizada como padrão na RFC 1155. Este padrão explicou e definiu a base de informação necessária para monitorar e controlar redes baseadas no protocolo TCP/IP. A RFC 1158 propôs uma segunda MIB, a MIB-II, também para uso com o protocolo TCP/IP, sendo aceita e formalizada como padrão na RFC 1213. A MIB-II expandiu a base de informações definidas na MIB-I. No padrão Internet os objetos gerenciados são definidos em uma árvore de registro, equivalente a hierarquia de registro do padrão OSI. 3.4.1 A árvore MIB II A MIB-II usa uma arquitetura de árvore, definida na ISO, para organizar todas as suas informações. Cada parte da informação da árvore é um nó rotulado que contém: um identificador de objetos (OID): seqüência de números separados por pontos; uma pequena descrição textual: descrição do nó rotulado. Por exemplo, o nó directory(1) equivale ao identificador de objetos 1.3.6.1.1 e à descrição textual {Internet 1}. Um nó rotulado pode ter sub-árvores contendo outros nós rotulados. Caso não tenha sub-árvores, ou nós folhas, ele conterá um valor e será um objeto. A figura a seguir mostra esquematicamente a estrutura da hierarquia de registro com os nós padrões. itu-t(0) iso(1) joint-iso-itu-t(2) std(0) auth(1) member(2) org(3) dod(6) osf(22) nato(57) internet(1) directory(1) mgmt(2) experimental(3) mail(7) private(4) security(5) snmpv2(6) mib-2(1) system(1) egp(8) transmission(10) snmp(11) interfaces(2) ip(4) tcp(6) udp(7) translation(3) icmp(5) Francisco Adell Péricas 13

O nó raiz da árvore MIB-II não tem nome ou número, mas tem três sub-árvores: itu-t(0), administrada pelo ITU-T; iso(1), administrada pela ISO; joint-iso-itu-t(2), administrada pela ISO juntamente com o ITU-T. Sob o nó iso(1), estão outras sub-árvores, como é o caso da sub-árvore org(3), definida pela ISO para conter outras organizações. Uma das organizações que está sob a subárvore org(3) é o Departamento de Defesa dos EUA (DOD), no nó dod(6). A internet(1) está sob o dod(6), e possui seis sub-árvores: directory(1): contém informações sobre o serviço de diretórios OSI (X.500); mgmt(2): contém informações de gerenciamento, é sob esta sub-árvore que está o nó da mib-2(1), com o identificador de objeto 1.3.6.1.2.1 ou { mgmt 1 }; experimental(3): contém os objetos que ainda estão sendo pesquisados pela IAB; private(4): contém objetos definidos por outras organizações; security(5): contém objetos definidos especificamente para questões de segurança; snmpv2(6): contém objetos definidos especificamente para o SNMPv2. Abaixo da sub-árvore mib-2(1) estão os objetos usados para obter informações específicas dos dispositivos da rede. Esses objetos são divididos em 11 grupos, que são apresentados na tabela a seguir: Grupo N Objetos Informação system(1) 7 sistema de operação dos dispositivos da rede: nome, local e descrição dos equipamentos interfaces(2) 23 interface da rede com o meio físico e seu tráfego translation(3) 3 Mapeamento de endereços IP em endereços físicos ip(4) 42 estatísticas dos pacotes IP icmp(5) 26 estatísticas sobre as mensagens ICMP recebidas tcp(6) 19 algoritmos TCP, parâmetros e estatísticas de pacotes udp(7) 6 estatísticas de tráfego UDP egp(8) 20 estatísticas de tráfego de protocolo de gateway externo transmission(10) 0 meios físicos de transmissão específicos snmp(11) 29 estatísticas de tráfego SNMP Cada objeto contido nos grupos apresentados na tabela anterior é descrito na RFC 1213. A descrição dos objetos é dividida em cinco partes: o nome do objeto, a sintaxe abstrata do objeto (especificada como um tipo descrito em ASN.1), a forma de acesso permitida ao objeto (read-only, read-write, write-only ou not-accessible), o estado do objeto (current, optional, obsolete) e a descrição textual do significado e do comportamento do objeto. O exemplo a seguir apresenta a descrição do objeto sysdescr {Internet 1}: Object: sysdescr {Internet 1} Syntax: DisplayString(SIZE(0..255)) Access: read-only Status: current Definition: descrição textual da entidade: nome, versão, comportamento,... Francisco Adell Péricas 14

3.4.2 Diferença entre as MIBs CMIP e SNMP As MIBs da ISO e do TCP/IP são modeladas através de técnicas de programação por objeto. Dentro deste contexto, os recursos a serem gerenciados são representados através de objetos gerenciados. A diferença entre estas duas MIB's reside nas hierarquias usadas para representar os objetos. Na MIB da ISO são definidas três hierarquias: hierarquia de herança, hierarquia de nomeação e hierarquia de registro. A hierarquia de herança ou de classes está relacionada às propriedades associadas a um determinado objeto. Dentro desta hierarquia diz-se que objetos da mesma classe possuem propriedades similares. No caso da Internet não são usados os conceitos de classes de objetos e seus respectivos atributos. São definidos tipos de objetos. A definição de tipo de objeto contém cinco campos: nome textual com o respectivo identificador de objeto (OBJECT IDENTIFIER), uma sintaxe ASN.1, uma descrição do objeto, o tipo de acesso e o status. A hierarquia de nomeação ou de containment é usada para identificar instâncias de objetos. Este tipo de hierarquia não é definido no caso do TCP/IP. Finalmente tem-se a hierarquia de registro que é especificada em ambos padrões. Francisco Adell Péricas 15

4 Segurança em Redes de Computadores A segurança é um assunto abrangente. Em sua forma mais simples, ela se preocupa em garantir que pessoas mal-intencionadas não leiam ou modifiquem mensagens enviadas a outros destinatários. Outra preocupação da segurança se volta para as pessoas que tentam ter acesso a serviços remotos, os quais elas não estão autorizadas a usar. Ela também permite que se faça a distinção entre uma mensagem supostamente verdadeira e um trote. Os problemas de segurança das redes podem ser divididos nas seguintes áreas interligadas: sigilo: está relacionado ao fato de manter as informações longe de usuários nãoautorizados, ou seja, somente usuários autorizados podem ser capazes de entender o conteúdo de mensagens ou de arquivos; autenticação: cuida do processo de determinar com quem se está falando antes de revelar informações sigilosas ou entrar em uma transação comercial, ou seja, é preciso se assegurar da identidade da outra parte com quem se quer trocar informações; integridade: certifica que uma determinada mensagem recebida é realmente legítima e não algo modificado ou impropriamente criado, tratando também de assinaturas, ou seja, garantia de que uma determinada transação foi realmente requisitada naqueles termos (não-repudiação). Uma rede de computadores é essencialmente vulnerável a acessos não autorizados, pois permite que qualquer equipamento analise o conteúdo de mensagens que estejam trafegando pela rede mesmo que não sejam direcionadas ao equipamento. Além disso, qualquer equipamento conectado a uma rede pode criar, alterar ou extrair mensagens mascarando a sua operação através de endereços fictícios. Um exemplo de intrusão em uma rede de computadores é o sniffer de pacotes. Este programa permite que um equipamento conectado a uma rede, através de uma placa de rede operando em modo promíscuo, receba todos os pacotes que trafegam por ela. Estes pacotes podem então ser passados para programas que tratem de analisá-los. Outro tipo de intrusão em uma rede de computadores é o chamado spoofing de endereço. Em uma rede, os equipamentos se identificam necessariamente através do uso de um endereço, o que implica em que qualquer pacote que trafegue pela rede é composto de dados e dos endereços dos equipamentos de origem e de destino. O spoofing de IP trata de, através da alteração do software da placa de rede, criar pacotes com endereços IP arbitrários fazendo com que pareça com que o pacote tenha sido enviado de uma outra máquina. Por último, um tipo de ataque à segurança de uma rede de computadores é o chamado DoS (Denial of Service). O ataque de DoS tem por objetivo tornar um equipamento de rede inutilizável criando tanto trabalho para o equipamento que acessos legítimos não conseguem ser tratados. Francisco Adell Péricas 16

4.1 Sigilo 4.1.1 Criptografia Na forma tradicional de manter o sigilo de uma comunicação, as mensagens a serem criptografadas, conhecidas como texto simples, são transformadas por uma função que é parametrizada por uma chave. Em seguida, a saída do processo de criptografia, conhecida como texto cifrado, é transmitido para o destinatário. Por fim, o destinatário aplica uma nova função para transformar o texto cifrado no texto simples através da utilização de uma nova chave. Este processo está representado na figura a seguir. Intruso passivo (apenas ouve) Intruso ativo (pode alterar mensagens) Área de intrusão P E k (P) D k (C) P C P P Texto simples Chave de criptografia k Chave de decriptografia k Texto simples Usa-se uma notação para estabelecer uma relação entre o texto simples, o texto cifrado e as chaves. Utiliza-se C = E k (P) para denotar que a criptografia do texto simples P usando a chave K gera o texto cifrado C. Da mesma forma, P = D k (C) representa a decriptografia de C para obter-se o texto simples usando novamente a chave K. Disto tem-se que: D k (E k (P)) = P Os algoritmos de criptografia e decriptografia são normalmente públicos, por isso o sigilo está na chave e o seu tamanho é uma questão muito importante. Os métodos de criptografia têm sido divididos em duas categorias: as cifras de substituição e as cifras de transposição. Em uma cifra de substituição, cada letra ou grupo de letras é substituído por outra letra ou grupo de letras, de modo a criar um disfarce. Considere o exemplo a seguir usando o mapeamento de caracteres: Texto simples: Favor transferir conta Bahamas Mapeamento de caracteres ABCDEFGHIJKLMNOPQRSTUVWXYZ (chave): QAZWSXEDC RFVTGBYHNUJMIKOLP Texto cifrado: Eaibnqjnaguexn nqwbgjaqzacatau Francisco Adell Péricas 17

As cifras de transposição reordenam as letras, mas não as disfarçam. Considere o exemplo a seguir usando a chave CONTAS para definir a ordem alfabética das colunas a serem seqüenciadas: Texto simples: Favor transferir conta Bahamas Mapeamento de caracteres CONTAS (chave): 243615 Favor transf erir c onta B ahamas Texto cifrado: rs afteoavaitaarrnh fcbsonram Há dois princípios fundamentais em que todos algoritmos criptográficos devem se basear: 1. todas as mensagens devem conter informações redundantes para impedir que intrusos ativos façam com que o receptor acabe dando importância a uma mensagem falsa (ex.: CRC); 2. medidas devem ser tomadas para impedir que intrusos ativos reutilizem antigas mensagens (ex.: timestamp). 4.1.2 Algoritmos de Chave Secreta Embora a criptografia moderna utilize as mesmas idéias básicas da tradicional, da transposição e da substituição, sua ênfase é diferente. Tradicionalmente, as pessoas que criam a criptografia têm utilizado algoritmos simples e confiado em chaves muito longas para sua segurança. Hoje em dia, acontece o inverso: o objetivo é tornar o algoritmo de criptografia o mais complexo e emaranhado possível. As transposições e substituições podem ser implementadas com circuitos simples, chamados caixa P e caixa S respectivamente. A justaposição destes circuitos, como representado na figura a seguir, cria o circuito de criptografia chamado cifra de produto. Cifra de Produto S 1 S 5 P 1 S 2 S 3 P 2 S 6 S 7 P 3 S 4 S 8 Através da inclusão de um número de estágios suficientemente grande na cifra de produto, a saída pode ser transformada em uma função excessivamente complicada da entrada. Uma cifra de produto muito utilizada pelo setor de informática para uso em produtos de segurança foi a criada pela IBM, no final da década de 70, chamada cifra DES (Data Encryptation Standard). Nesta cifra, o texto simples é criptografado em blocos de 64 bits, produzindo 64 bits de texto cifrado, através de um algoritmo, que é parametrizado por Francisco Adell Péricas 18

uma chave de 56 bits (mais 8 bits de soma de verificação), de 19 estágios distintos. O algoritmo foi projetado para permitir que a decodificação fosse feita com a mesma chave da criptografia, só que executado na ordem inversa. No começo da década de 80, a segurança do padrão DES baseado em chaves de 56 bits já estava sendo quebrada. A IBM percebeu que o tamanho da mensagem DES era muito pequeno e inventou uma forma de aumentá-lo usando a criptografia tripla. O método escolhido, chamado de DES triplo e ilustrado na figura a seguir, é composto por três estágios de cifras DES e duas chaves de 56 bits, formando uma chave de 112 bits (mais 16 de soma de verificação). DES triplo P P E k1 D k2 E k1 C C Texto simples chave k1 chave k2 chave k1 Texto criptografado DES triplo C C D k1 E k2 D k1 P P Texto criptografado chave k1 chave k2 chave k1 Texto simples Usando o método de DES triplo com 3 chaves distintas obtém-se uma criptografia com chave de 168 bits (mais 24 bits de soma de verificação). 4.1.3 Algoritmos de Chave Pública Historicamente, o problema da distribuição de chaves sempre foi o ponto fraco da maioria dos sistemas de criptografia: as duas partes precisam conhecer a chave secreta comum. Mesmo sendo sólido, se um intruso pudesse roubar a chave, o sistema acabaria se tornando inútil. Em meados da década de 70 propôs-se um sistema de criptografia diferente, no qual as chaves de criptografia e de decriptografia são diferentes e a chave de decriptografia não pode ser derivada da chave de criptografia. O método funciona da seguinte forma: uma pessoa, desejando receber mensagens secretas, cria dois algoritmos com chaves diferentes, E k1 e D k2, tais que: D k2 (E k1 (P)) = P Ao se publicar os algoritmos e a chave de criptografia k1, qualquer pessoa pode enviar mensagens cifradas de forma que a decriptografia só será possível de ser executada com o conhecimento da chave de decriptografia k2, não publicada e portanto secreta. Francisco Adell Péricas 19

Um grupo de pesquisadores desenvolveu um algoritmo que satisfaz estes requisitos, conhecido pelas iniciais dos três estudiosos que o criaram: RSA (Rivest, Shamir, Adleman). Para se utilizar o algoritmo, seguem-se os seguintes passos: 1. escolha dois números primos extensos, p e q (geralmente maiores que 10 100 ); 2. calcule n=p*q e z=(p-1)*(q-1); 3. escolha um número menor que n e primo em relação a z e chame-o de e; 4. encontre d de forma que ((e*d) mod z)=1. Para criptografar a mensagem P, calcula-se C = P e mod n. Para decriptografar C, calculase P = C d mod n. É possível provar que as funções de criptografia e de decriptografia são inversas entre si. Para realizar a criptografia, precisa-se de e e n, ao passo que para a decriptografia, são necessários d e n. Portanto, a chave pública consiste no par (e, n) e a chave secreta consiste em (d, n). Um exemplo didático do algoritmo RSA aplicado para o texto Suzane é mostrado a seguir. Escolhendo-se p = 3 e q = 11, o que gera n = 33 e z = 20. Um valor adequado para e é e = 3, visto que 3 e 20 não têm fatores comuns. Com estas opções, encontra -se d = 7. Texto simples P Texto cifrado C Texto simples P Caracteres Numérico P 3 P 3 mod 33 C 7 C 7 mod 33 Caracteres S 19 6859 28 13492928512 19 S U 21 9261 21 1801088541 21 U Z 26 17576 20 1280000000 26 Z A 1 1 1 1 1 A N 14 2744 5 78125 14 N E 5 125 26 8031810176 5 E Cálculo do transmissor Cálculo do receptor O único problema deste algoritmo é que ele é excessivamente lento para grandes quantidades de dados. Por esta razão, o algoritmo RSA é comumente usado para se transmitir de forma segura uma chave de DES triplo, criando-se assim uma sessão segura de chave secreta sem que tenha sido necessário conhecer previamente o chave secreta de criptografia. 4.2 Autenticação A autenticação é a técnica através da qual um processo confirma que seu parceiro na comunicação é quem deve ser, e não um impostor. Confirmar a identidade de um processo remoto através de uma rede de computadores, face a presença de um intruso ativo mal-intencionado, é surpreendentemente difícil e exige protocolos complexos baseados no uso da criptografia. A autenticação é efetuada através da troca de mensagens constituintes de um protocolo de autenticação. Esse protocolo de autenticação deve ser utilizado antes que se inicie a Francisco Adell Péricas 20

comunicação propriamente dita, pois ele é responsável por estabelecer a identidade das partes que irão se comunicar de forma a criar um canal seguro de comunicação. O protocolo de autenticação se baseia no pressuposto que somente as duas partes interessadas em estabelecer o canal de comunicação conhecem uma chave de criptografia, podendo esta ser secreta ou pública, a ser utilizado em um algoritmo criptográfico simétrico: D k2 (E k1 (P)) = E k1 (D k2 (P)) = P Uma vez que se inicia o protocolo de autenticação, o processo de destino envia ao processo de origem uma informação que nunca tenha sido utilizada (um contador de acessos, por exemplo). O processo de origem decriptografa a informação e a envia ao processo de destino, e este a criptografa e compara se o resultado é idêntico à informação enviada. Como somente os dois processos conhecem as chaves de criptografia, pode-se garantir que as suas identidades são autenticas. Este processo está representado na figura a seguir. Início Origem D k(p) P C E k(c) Destino O problema inerente ao protocolo de autenticação é como distribuir de forma segura as chaves utilizadas no processo. 4.2.1 Distribuição de Chaves e Certificação Para a distribuição segura de chaves de criptografia, é preciso que haja um centro intermediário em relação ao qual os interessados em distribuir e obter chaves precisam confiar. No caso da distribuição da chave para o algoritmo de criptografia de chave secreta, o centro intermediário confiável é chamado KDC (Key Distribution Center). No caso da distribuição da chave pública para o algoritmo de criptografia de chave pública, o centro intermediário confiável é chamado CA (Certification Authority). O KDC é um servidor que compartilha uma chave secreta com cada um dos usuários registrados nele. Portanto, cada usuário pode se comunicar de forma segura com o KDC usando esta chave. Um exemplo de KDC é o Kerberos, desenvolvido pelo MIT (Massachusetts Institute of Technology). A idéia básica do uso de um KDC para viabilizar uma comunicação segura entre dois de seus usuários é ele criar e enviar para cada um dos usuários uma chave secreta a ser compartilhada e utilizada para uma sessão de comunicação. O processo está representado na figura a seguir. Quando o usuário 1 deseja criar uma sessão segura com um usuário 2, ele pede ao KDC, usando a sua chave secreta k1, que Francisco Adell Péricas 21

crie uma chave k para ser utilizada entre os usuários 1 e 2. O KDC retorna a chave k e uma mensagem, criptografada com a chave k2, contendo a identificação do usuário 1 e a chave k, de forma que somente o usuário 2 possa decriptografá-la. O usuário 1 extrai a chave k e encaminha a mensagem criptografada para o usuári o 2, o qual extrai a chave k e confirma que está se comunicando com o usuário 1. A partir de então, os usuários 1 e 2 podem se comunicar de forma segura usando a chave secreta k. E k1(1, 2) KDC E k1(k, E k2(1, k)) Usuário 1 E k2(1, k) E k(p) Usuário 2 O CA é um servidor que disponibiliza de forma confiável a chave pública de cada um dos usuários registrados nele. Exemplos de CA são o Cybertrust e o Verisign. A idéia básica do uso de um KDC para viabilizar uma comunicação segura entre dois de seus usuários é ele criar e enviar para cada um dos usuários uma chave secreta a ser compartilhada e utilizada para uma sessão de comunicação. O processo de utilização de um CA está representado na figura a seguir. Quando o usuário 1 deseja enviar uma mensagem segura ao usuário 2, ele pede ao CA que envie a chave pública do usuário 2. O CA retorna uma mensagem assinada contendo a chave k1 e, de posse dela, o usuário 1 poderá criptografar a mensagem e enviá-la, estando certo de que apenas o usuário 2 será capaz de decriptografá-la, já que ele é o único usuário a conhecer a chave secreta k2. A comunicação entre o usuário 1 e o CA é feita utilizandose uma chave pública amplamente divulgada. Usuário 2 CA k1 Usuário 1 E k1(p) C D k2(c) Usuário 2 Francisco Adell Péricas 22

4.3 Integridade A integridade e autenticidade de muitos documentos legais e de outros documentos é determinada pela presença de uma assinatura autorizada. A assinatura digital é uma técnica de criptografia que permite identificar quem criou um documento digital, identificar de quem é um documento digital e/ou comunicar a concordância com relação ao conteúdo de um documento digital. O problema de se criar um substituto para as assinaturas escritas à mão não é trivial. Basicamente, necessita-se de um sistema através do qual uma parte possa enviar uma mensagem assinada para outra parte de forma que: o receptor possa verificar a identidade alegada pelo transmissor; o transmissor não possa posteriormente repudiar o conteúdo da mensagem; o receptor não possa inventar uma mensagem (não enviado pelo transmissor). A solução se baseia na utilização de algoritmos simétricos de chaves públicas. Para alguém assinar digitalmente um documento, basta criptografá-lo usando sua chave secreta de decriptografia. Como somente esta pessoa é suposta de conhecer a sua chave secreta e como o conteúdo do documento pode ser conhecido bastando para isso ter a chave pública de quem o assinou, as condições listadas acima são satisfeitas. A figura a seguir representa graficamente o processo de assinatura digital. P D k(p) C Documento Documento assinado 4.4 Segurança na Camada de Rede Quando a segurança é disponibilizada pela camada de rede, os pacotes (e portanto as aplicações) que utilizarem o protocolo estarão se beneficiando dos serviços de segurança desta camada. A segurança na camada de rede é obtida por um conjunto de protocolos chamado IPsec (IP security). Para prover sigilo na camada de rede, todos os dados enviados por um pacote IP devem estar criptografados. Em princípio, a criptografia pode ser feita através de chaves secretas, chaves públicas ou chaves de sessão negociadas utilizando chaves públicas. Caso o IPsec já estivesse sendo amplamente utilizado, todos os dados enviados por um equipamento para outro, incluindo correio eletrônico, páginas WWW, transferência de arquivos, controle, gerência, etc., seriam sigilosos, o que tornaria todo o tráfego da Internet extremamente mais seguro. Além do sigilo, o IPsec também provê a autenticação do equipamento de origem dos pacotes, eliminando assim a possibilidade de ataques de spoofing de IP. Francisco Adell Péricas 23