Prévia do material em texto
PROTOCOLOS DE COMUNICAÇÃO (TCP/IP) PROTOCOLOS DE COMUNICAÇÃO (TCP/IP) Copyright © UVA 2020 Nenhuma parte desta publicação pode ser reproduzida por qualquer meio sem a prévia autorização desta instituição. Texto de acordo com as normas do Novo Acordo Ortográfico da Língua Portuguesa. AUTORIA DO CONTEÚDO Ricardo Gonçalves Quintão REVISÃO Marcia Glenadel Janaina Vieira Lydianna Lima PROJETO GRÁFICO UVA DIAGRAMAÇÃO UVA Q7 Quintão, Ricardo Gonçalves Protocolos de Comunicação (TCP/IP) [livro eletrônico] / Ricardo Gonçalves Quintão. – Rio de Janeiro : UVA, 2020. 4,06 MB : PDF. ISBN 978-65-5700-077-9. 1. (TCP/IP) Protocolo de rede de computador. 2. Processamento de sinais – Técnicas digitais. 3. Ruído. 4. Comutação por pacotes (Transmissão de dados). 5. Protocolo FDDI (Fiber- Distributed Data Interface). 6. ATM (Tecnologia de rede de computador). 7. Redes locais sem fio. 8. Hierarquia digital síncrona (Transcrição de dados). I. Universidade Veiga de Almeida. II. Título. CDD – 004.62 BN Bibliotecária Flávia Fidelis Calmon CRB 7 - 5309 Ficha Catalográfica elaborada pelo Sistema de Bibliotecas da UVA. SUMÁRIO Apresentação Autor 6 7 Protocolos: ATM, FDDI e SDH 41 • Evolução das redes públicas de comutação por pacotes; formatos de endereçamento ATM; arquitetura e características dos SWITCHES ATM; padronização do ATM • Sinalização ATM; classe de serviços QoS; modelo de camadas ATM; a camada física; a camada ATM; a camada de adaptação ATM; ATM em re- des locais • Arquitetura do protocolo FDDI; arquitetura do protocolo SDH UNIDADE 2 8 • Sinais Analógico e Digital, e Ruídos • Modulação de Portadoras • Multiplexação na Frequência e no Tempo, e Comutação de Dados Comunicação de Dados UNIDADE 1 SUMÁRIO Segurança de Redes 117 • Conceitos de gestão do risco em Segurança da Informação; Estatísti- cas de ataques; Conceitos básicos de segurança; Criptografia Simétrica e Assimétrica; Sistemas Simétricos. Taxonomia dos algoritmos. Criptoa- nálise e Força Bruta; Esteganografia; e DES – Data Encryption Standard; Advanced Encryption Standard (AES); 3DES; RC4 • Fundamentos da Criptografia Assimétrica; Confidencialidade e Autentici- dade; Influência do Tamanho da Chave; RSA; Distribuição de Chaves Públicas; Uso de Certificados Digitais; Troca de Chaves – Algoritmo Diffie-Hellman • Fundamentos de Autenticação Digital; Formas de Autenticação: Crip- tografia, MAC e Hash; MAC, SHA e DSS; Kerberos; Segurança no Cor- reio Eletrônico – GnuPG e S-MIME; IPSec; Tipos de Certificados Digitais; ICP-Brasil, Autoridades Certificadoras e Registradoras; Aspectos práti- cos do uso de certificados UNIDADE 4 76 • Revisão dos conceitos de telecomunicações, aspectos operacionais, composição do sinal RF • Sistema de Comunicação Móvel de Múltiplo Acesso por Divisão de Fre- quência (FDMA), Sistema de Comunicação Móvel de Múltiplo Acesso por Divisão de Tempo (TDMA), Sistema de Comunicação Móvel de Múltiplo Acesso por Divisão de Código (CDMA) • Comunicação entre estações, Troca de informação: protocolo CSMA/CA, Topologia de Conexão: Ad-Hoc, Infraestrutura, Múltiplos Pontos de Acesso, interconexão de segmentos de rede, Repetidores, Acesso a redes físicas Redes Wireless UNIDADE 3 6 Esta disciplina tem por objetivo permitir que você conheça o funcionamento básico de alguns protocolos de redes e como eles se aplicam na elaboração de um sistema de co- municação em redes de computadores. A disciplina está dividida em quatro unidades, nas quais serão estudados: • Na Unidade 1: como os sinais são codificados e manipulados, as técnicas utiliza- das para transmitir sinais de diversas fontes diferentes em um mesmo meio físico de transmissão, otimizando a capacidade desse meio. • Na Unidade 2: o funcionamento de alguns protocolos de alto desempenho nor- malmente utilizados em redes de abrangência metropolitanas. Com o aumento na necessidade do fluxo de dados, devido aos recursos de multimídia e principalmente aos serviços de streaming de vídeo e de videoconferências, esses protocolos têm se tornado cada vez mais relevantes na atualidade. • Na Unidade 3: o funcionamento dos protocolos de rede sem fio e como são feitas as codificações e transmissão dos sinais em diversas modalidades. Desde a “sim- ples” comunicação de voz nas ligações telefônicas até as “complexas” transmissões de dados digitais nos sistemas Wi-Fi e dados móveis, a rede sem fio tem se tornado um método de transmissão de uso social cada vez mais intenso. • Na Unidade 4: os métodos utilizados para oferecer segurança na transmissão das informações em um sistema de redes computadorizadas. Com o aumento do uso de redes de computadores para realizar a transferência de informações sigilosas, verificamos a necessidade de oferecer uma forma segura para essas transmissões. APRESENTAÇÃO 7 RICARDO GONÇALVES QUINTÃO Mestrado em Ciência da Computação pelo Instituto Alberto Luiz Coimbra de Pós-Gra- duação e Pesquisa de Engenharia da Universidade Federal do Rio de Janeiro – CO- PPE-UFRJ (2004), pós-graduação em Projeto e Gerência de Redes de Computadores pela UniverCidade (2006), graduação em Bacharelado em Física pela Universidade do Estado do Rio de Janeiro – UERJ (1999). Professor do ensino superior desde 2000, tendo atuado até o momento nos cursos de Ciência da Computação, Sistemas de Infor- mação, Análise e Desenvolvimento de Sistemas, Redes de Computadores, Engenharia e Jogos Digitais. AUTOR Comunicação de Dados UNIDADE 1 9 Nesta unidade vamos apresentar as características de um sinal de transmissão, o que é o ruído e como ele interfere na recepção do sinal após sua transmissão. Também mostraremos como o sinal é adaptado para ser enviado nos diversos meios de trans- missão disponíveis. INTRODUÇÃO Nesta unidade você será capaz de: • Compreender a forma como os sinais são codificados para, então, serem trans- feridos em algum meio de transmissão. OBJETIVO 10 Sinais Analógico e Digital, e Ruídos Na natureza temos as ondas como mecanismo de transmissão de energia. E, para que uma informação saia de um local e se dirija a outro, é necessário realizar uma transferên- cia de energia. A energia pode ser representada de diversas formas na natureza e podemos citar como exemplos: térmica, elétrica, potencial de vários tipos, cinética, luminosa, entre outras. A informação que desejamos transmitir é o que chamamos de sinal. Para que esse sinal seja transmitido, teremos de transformá-lo em energia e colocá-lo em formato de onda, de modo que possa ser transmitido por algum meio, seja ele material ou até mesmo no vácuo. Dependendo do meio de transmissão escolhido, devemos usar a forma da energia mais adequada para o meio de transmissão em questão. O sinal pode ser classificado como analógico ou digital. Sinal Analógico Os sinais analógicos têm como característica a variação contínua no tempo, levando, assim, à existência de infinitos valores, por menores que sejam os intervalos. Entre dois pontos quaisquer no tempo de um sinal analógico, esses infinitos valores fazem desse si- nal algo contínuo, sem salto entre eles. Alémdisso, nenhuma posição adjacente pode ter o mesmo valor, de modo que os valores podem até se repetir, mas nunca em sequência. Figura 1: Sinal analógico. Fonte: Elaborada pelo autor (2020). 11 Como podemos observar na figura anterior, qualquer instante de tempo que for mos- trado possuirá um valor diferente, tanto do momento imediatamente anterior quanto do posterior. Esse valor poderá ser medido como 2, 2,0001, 2,0000001 ou qualquer outro número de casas decimais, gerando a definição de contínua. Sinal Digital Os sinais digitais têm como característica um conjunto de valores finitos e bem definidos, sendo, portanto, sinais não contínuos. A variedade de valores existentes define a precisão na representação do sinal. Quanto maior essa variedade, maior será a precisão nessa representação. Na figura a seguir temos um sinal digital em que o conjunto de valores utilizados limita-se apenas a 0 e 1. Figura 2: Sinal digital. Fonte: Elaborada pelo autor (2020). Vimos que os sinais são representados por ondas, mas como essas on- das são definidas? As ondas podem ser definidas em duas categorias, a saber: 1. Simples: as ondas simples são as formadas por apenas uma função seno ou uma função cosseno, possuindo três componentes básicos: amplitude, frequência e fase inicial. A Tempo0 1 12 Elas seguem basicamente a expressão f(t) = A × sin (Ø + 2πf∆t) ou f(t) = A × cos (Ø + 2πf∆t) , em que A representa a sua amplitude, Ø representa a fase inicial da onda, f representa a frequência da onda e ∆t representa o tempo decorrido desde a defi- nição do Ø. 2. Compostas: as ondas compostas são formadas por somatórios de funções se- nos e cossenos, podendo chegar a dezenas, centenas, milhares de funções sendo somadas. A quantidade de funções necessárias vai depender da forma de onda que desejamos representar e da precisão que queremos nessa representação. Agora vamos entender melhor os três componentes de uma onda. São eles: Amplitude A amplitude representa a altura da onda desde o eixo representativo do zero até o seu ponto mais alto. Dependendo da origem do sinal, pode estar associada a diversas características. Frequência Devido à natureza oscilatória das ondas, elas acabam possuindo ciclos. Um ciclo é a menor parte da onda que se repete, isto é, toda variação feita pela onda a partir de um determinado ponto até ela retornar ao mesmo ponto, de forma que a sequência seguinte seja uma repetição da anterior. A medida de frequência é justamente a quantidade de ciclos que a onda realiza em um determinado intervalo de tempo. No caso de sinais sonoros, a amplitude está relacionada ao volume do som; já no caso de sinais luminosos, ela está associada à intensidade com que a luz é transmitida. Exemplo 13 A figura a seguir mostra um exemplo de duas ondas com frequências diferentes. Figura 3: Visualização de duas ondas de frequências diferentes. Fonte: Elaborada pelo autor (2020). Fase A fase é a componente mais complicada para se descrever, uma vez que, para isso, pre- cisamos usar o círculo trigonométrico. O que seria o círculo trigonométrico? O círculo trigonométrico possui alguns eixos especiais, sendo dois deles mui- to utilizados para a geração de ondas. São os eixos horizontais e verticais que representam, respectivamente, os valores do cosseno e do seno. A F T F1 F2 Imagine 10 ciclos a cada minuto, 50 ciclos por hora. Quando a unidade de tempo representada para medir a quantidade de ciclos for o segundo (ciclos por segundo), utiliza-se uma unidade especial denominada Hertz (Hz). Logo, se a frequência for, por exemplo, 500 Hz, significa que a onda realiza 500 ci- clos a cada segundo. Quando a frequência se torna muito grande, é comum utilizar seus múltiplos, como: KHz, MHz, GHz, THz, entre outros. Exemplo 14 Trabalhando com esse círculo trigonométrico, que por definição possui raio de valor igual a 1, ao representar um vetor radial de tamanho unitário cujo ângulo com o eixo horizontal é θ, poderemos fazer duas projeções: • Uma no eixo horizontal (eixo x), e, neste caso, o valor da projeção é chamado de cosseno de θ. • Outra projeção no eixo vertical (eixo y), e, neste caso, o seu valor é chamado de seno de θ. Como o raio do círculo tem valor unitário, os valores dessas projeções (independente- mente se for feita no eixo horizontal ou vertical) terá valores variando entre 1 (maior valor) e -1 (menor valor). A figura a seguir ilustra um exemplo de seno e cosseno de um ângulo θ no valor de 30º. Repare que a diferença entre o seno e o cosseno é que o seno começa do valor 0, en- quanto o cosseno começa do valor 1. Figura 4: Representação do seno e cosseno no círculo trigonométrico. Fonte: Elaborada pelo autor (2020). Se variarmos continuamente esse ângulo no tempo e fizermos um gráfico representando os valores do seno ou do cosseno desse ângulo, teremos a representação de uma onda denominada senoidal (no caso do seno) e cossenoidal (no caso do cosseno). As figuras a seguir representam duas ondas. A primeira é uma onda senoidal variando em função do tempo. A frequência utilizada no exemplo é de 1 Hz, ou seja, 1 ciclo a cada 0,5 Seno Círuclo trigonométrico 0,866 Cosseno 1 1 θ = 30o θ 0 -1 -1 15 segundo. A segunda onda representa uma cossenoide em função do tempo também com frequência de 1 Hz. Figura 5: Senoide em função do tempo. Fonte: Elaborada pelo autor (2020). Figura 6: Cossenoide em função do tempo. Fonte: Elaborada pelo autor (2020). Nesse tipo de onda temos um ciclo de repetição que ocorre a cada 360º ou 2π radianos. Sendo que, nesse caso, a amplitude máxima é de 1, já que o valor do raio é unitário e a fre- quência é a quantidade de voltas completas que esse vetor realiza no círculo por unidade de tempo. Se for necessário representar uma amplitude maior do que 1, basta multiplicar a função seno ou cosseno pela amplitude desejada, exatamente como foi representada nas funções de onda apresentadas anteriormente. Depois de tudo que abordamos a respeito do círculo trigonométrico, podemos definir a Fase como sendo o ângulo θ que está representando o vetor naquele determinado instante. Senoide Amplitude A -A 0 0,25 0,75 1,25 1,75 2,25 2,75 3 Ciclo - 1 seg. Ciclo - 1 seg. Ciclo - 1 seg. F = 1 Hz → 1 ciclo por segundo Tempo (seg.)0,5 1,5 2 2,5 Cossenoide Amplitude A -A 0 Ciclo - 1 seg. Ciclo - 1 seg. Ciclo - 1 seg. F = 1 Hz → 1 ciclo por segundo Tempo (seg.)0,25 0,75 1,251 1,75 2,25 2,75 30,5 1,5 2 2,5 16 Ruídos Sempre que fazemos uma transmissão o sinal transmitido sofre alterações prove- nientes de diversas distorções acumuladas ao longo dela, fazendo com que o sinal recebido não seja exatamente igual ao transmitido originalmente. Tais distorções são denominadas ruídos — um dos maiores limitadores no desempenho dos sistemas de transmissão de dados. Os ruídos estão classificados em: ruído térmico, crosstalk (linha cruzada), ruído de inter- modulação e ruído impulsivo. Vamos conhecer com mais detalhes cada um deles? Preste atenção. Ruído térmico Como o próprio nome diz, o ruído térmico é fruto da temperatura do meio de transmis- são. Devido à maior agitação molecular causada pelo aumento da temperatura, essa agi- tação induz no meio de transmissão um ruído que é distribuído uniformemente em todas as frequências do espectro. Esse ruído também é denominado “ruído branco”. Crosstalk (linha cruzada) Crosstalk era muito comum em sistemas de telefonia antigos. Devido à proximidade dos diversos fios que compunham os troncos de transmissão, além dos desgastes sofridos ao longo de décadas expostos às intempéries da natureza, seja no subsolo ou nos pos- tes, a transmissão de um dos fios poderia interferir na de outro fio. Esse tipo de inter- ferência é denominada “linha cruzada” ou, em inglês, crosstalk. Ruído de intermodulação Quando diversos sinais compartilham um mesmo meio de transmissão, como acontece nas linhas cruzadas, é possível que sinais em bandas passantes adjacentes acabem sesobrepondo parcialmente. Como tal sobreposição tem o efeito destrutivo do sinal, denominamos esse fenômeno de ruído de intermodulação. Ruído impulsivo Os ruídos impulsivos são ruídos de alta intensidade comparados com o sinal transmitido e de curta duração, sendo, assim, capazes de gerar uma grande destruição do sinal, porém em intervalos de tempo muito curtos. Eles têm uma aparição aleatória no tempo, o que os faz ser de difícil detecção. Apesar do potencial de grande destruição do sinal, 17 devido ao curto intervalo de tempo em que eles se manifestam, as transmissões analó- gicas acabam sendo pouco afetadas. Porém, as transmissões de dados sofrem muito mais com esse fenômeno, levando à perda de bits, o que muitas vezes resulta na perda da transmissão, tendo que ser, então, retransmitida. Resumindo, vimos que os sinais podem ser de formato analógico ou digital e que a onda é a forma como a natureza realiza sua transmissão, já que, para transmitir, devemos rea- lizar uma transferência de energia. Vimos também que, ao longo da transmissão, esse sinal sofre alterações de diversas naturezas e que essas alterações indesejadas são cha- madas de ruídos. 18 Modulação de Portadoras Os meios de transmissão possuem faixas de frequências que são mais adequadas para o envio de sinais. Nem sempre o sinal a ser transmitido se adéqua a essa faixa de fre- quências. Nesses casos, teremos de fazer uma transposição para a frequência adequa- da à transmissão. O método utilizado para a realização dessa transposição de frequência é chamado de modulação. Para realizar esse método é necessário seguir alguns passos, a saber: 1 Criar uma onda que esteja dentro da frequência que desejamos para a trans- missão. Essa onda é responsável por carregar o sinal, de forma semelhante aos caminhões de carga que levam objetos.Tal onda é chamada de portadora. 2 Embutir o sinal a ser transmitido, que é chamado de sinal modulante, nessa portadora. Para embutir o sinal utilizamos um dos componentes da onda, que pode ser: amplitude, frequência e fase. Como vimos, ao escolhermos o componente que será modificado para representar o sinal modulante teremos definido o tipo de modulação: • Modulação por amplitude. • Modulação por frequência. • Modulação por fase. A modulação pode ser separada em função do tipo de sinal modulante. Ou seja: 1. Sinal modulante analógico: teremos uma modulação analógica. 2. Sinal modulante digital: teremos uma modulação digital. A portadora sempre será analógica e deve seguir uma das funções de onda apresenta- das anteriormente ou com seno ou com cosseno. Agora, vamos entender com mais detalhes cada tipo de modulação? 19 Modulação analógica Figura 7: Representação de modulação analógica Fonte: Elaborada pelo autor (2020). A modulação analógica é quando o sinal modulante também é analógico. Existem três formas de modulação analógica, a saber: 1. Modulação por amplitude (Amplitude Modulation – AM) Neste método de modulação a amplitude da onda portadora irá variar de acordo com o sinal modulante. Quando a amplitude do sinal modulante aumenta, a amplitude da porta- dora também aumenta. Quando a amplitude do sinal modulante diminui, a amplitude da portadora também diminui. Nesse tipo de modulação percebe-se claramente uma envol- tória na portadora após a modulação. Tal envoltória é semelhante ao sinal modulante. Na figura anterior é possível observar esse comportamento. O aparelho receptor analisará a amplitude da portadora recebida e, então, recriará o sinal modulante. 2. Modulação por frequência (Frequency Modulation – FM) De modo semelhante ao método anterior, neste método de modulação a frequência da onda portadora irá variar de acordo com o sinal modulante. Quando a amplitude do sinal modulante aumenta, a frequência da portadora também aumenta. Quando a amplitude do sinal modulante diminui, a frequência da portadora também diminui. Nesse tipo de modulação a amplitude da portadora permanece constante o tempo inteiro. Na figura Modulação Portadora Sinal AM Sinal FM Sinal PM Sinal Modulante 20 anterior é possível observar esse comportamento. Nota-se que, visualmente, tem-se um efeito sanfona. O aparelho receptor analisará a frequência da portadora recebida e, então, recriará o sinal modulante. 3. Modulação por fase (Phase Modulation – PM) De maneira semelhante aos métodos anteriores, neste método de modulação a fase da onda portadora irá variar de acordo com o sinal modulante. Quando a amplitude do sinal modulante aumenta, a fase da portadora também aumenta. Quando a amplitude do sinal modulante diminui, a fase da portadora também diminui. Nesse tipo de modulação a am- plitude da portadora permanece constante o tempo inteiro. Na figura anterior também é possível notar que, visualmente, tem-se um efeito sanfona, porém uma sanfona diferente da criada na modulação por frequência. O aparelho receptor analisará a fase da portado- ra recebida e, então, recriará o sinal modulante. Modulação digital Figura 8: Representação de modulação digital. Fonte: Elaborada pelo autor (2020). O que diferencia a modulação digital da modulação analógica é o fato de o sinal modu- lante ser um sinal digital. A técnica apresentada na modulação digital é a mesma apli- cada na modulação analógica, porém ela recebe uma pequena variação no nome para poder ser facilmente diferenciada. A seguir temos as formas de modulação digital: Modulação 1 1 1 10 0 00Dados binários Portadora Sinal ASK s(t) t t t s(t) s(t) 0 0 0 Sinal FSK Sinal PSK Sinal Modulante 21 1. Modulação por deslocamento de amplitude (Amplitude Shift Keying – ASK) Da mesma maneira que no seu equivalente analógico, a amplitude da portadora irá variar de acordo com a amplitude do sinal modulante. Como nesse caso o sinal modulante possui apenas dois valores (0 e 1), o resultado será a ausência de portadora quando for 0 (zero) e a presença da portadora quando for 1 (um) após a modulação. A figura anterior demonstra um exemplo dessa modulação. 2. Modulação por deslocamento de frequência (Frequency Shift Keying – FSK) Seguindo o mesmo procedimento do seu equivalente analógico, nesse método de modu- lação a frequência da onda portadora irá variar de acordo com o sinal modulante. Como só existem dois valores possíveis no sinal modulante, também só haverá duas frequên- cias possíveis na portadora após a modulação. A figura anterior demonstra um exemplo dessa modulação. 3. Modulação por deslocamento de fase (Phase Shift Keying – PSK) Mais uma vez, seguindo o mesmo método do seu equivalente analógico a portadora terá a sua fase alterada conforme o sinal modulante. No caso do exemplo da figura mostrada anteriormente, toda vez que o sinal modulante troca de valor, isto é, vai de 0 para 1 ou de 1 para 0, a fase da portadora é deslocada em 180º. Por fim, nem sempre um sinal está no formato adequado para que seja transmitido pelo meio de transmissão desejado. Por meio da técnica de modulação podemos realizar a devida adequação para que essa transmissão possa ser realizada. 22 Multiplexação na Frequência e no Tempo, e Comutação de Dados Nesta unidade vamos apresentar a maneira como é realizada a transmissão de sinais de fontes diferentes em um mesmo meio de transmissão, além do percurso até o destino final. Um determinado meio de transmissão tem a capacidade de transmissão muito maior do que a do sinal que será transmitido. A capacidade de transmissão é definida como largura de banda, ou melhor: É a faixa de frequências que o meio de transmissão é capaz de transmitir. Como um sinal complexo é formado por várias ondas de frequências dife- rentes, ele também possui uma largura de banda. Isto é, é muito comum um meio de transmissão ter uma largura de banda muito superior à largura de banda do sinal a ser transmitido. Nesses casos teríamos a subutilização do meio de transmissão, como mostra a figura a seguir: Figura 9: Desperdício de banda passante do meio físico de transmissão.Fonte: Elaborada pelo autor (2020). Já que um único sinal não é suficiente para ocupar toda a largura de banda do meio de transmissão, para diminuir o desperdício de banda passante seria interessante se pudés- semos transmitir mais de um sinal de fontes diferentes nesse mesmo meio, aproveitando o restante da banda passante que não é aproveitada por um único sinal. 0 Banda passante do meio físico Banda passante necessária para o sinal Hz Desperdício 23 Esse mecanismo de compartilhamento do meio de transmissão é denominado multiple- xação. Ele pode ser dividido em dois tipos: • Frequência. • Tempo. Multiplexação na frequência (Frequency Division Multiplexing – FDM) Como vimos anteriormente no tópico sobre modulação, o efeito da modulação é de transportar um sinal que se encontra em uma determinada faixa de frequências para uma outra faixa e, então, transmiti-lo. Até então, o motivo apresentado foi o de que a faixa de frequências do sinal não era adequada para o meio de transmissão, sendo necessário transportá-lo para essa nova faixa que será definida pela frequência da onda portadora. Outro uso para a técnica de modulação é fazer com que vários sinais de fontes diferentes que ocupam a mesma faixa de frequências sejam transportados para faixas diferentes, de modo que nenhum deles ocupe a faixa de frequências do outro. Dessa forma, pode- mos colocar todos eles no mesmo meio de transmissão sem que haja interferência ou destruição dos sinais, pois cada um ocupará uma faixa de frequências diferentes, ditado pelas suas portadoras. Na figura a seguir temos os sinais C0, C1 e C2, sendo que todos os três sobrepõem-se à mesma faixa de frequência. Do jeito que se encontram não será possível colocá-los no mesmo meio de transmissão, pois as partes que se sobrepõem sofrerão interferên- cia destrutiva. Entretanto, se mudarmos a frequência de transmissão de dois deles, por exemplo C1 e C2, de forma que não mais se sobreponham, poderemos, então, colocá-los no mesmo meio de transmissão. Figura 10: Multiplexação na Frequência (FDM). Fonte: Elaborada pelo autor (2020). 0 Hz C0 C0 C1 C1 C2 C2 24 Vamos conhecer um exemplo para entendermos melhor sobre o assunto? Considere o caso de um sistema de telefonia. Apesar de a audição humana ter a capacidade de reconhecer sons que variam de 20Hz até 20KHz (20.000Hz), para a transmissão da voz humana bastam as frequências até 3KHz. Como o objetivo do sistema de telefonia é a transmissão da voz humana, após mudar- mos a frequência do sinal a ser transmitido com o procedimento da modula- ção, passaremos esse sinal resultante por um filtro a fim de que as frequências excedentes sejam eliminadas. No final, colocaremos os três sinais no mesmo meio físico de transmissão sem que haja sobreposição e, com isso, interferên- cia destrutiva. Cada uma dessas faixas de frequências definidas para a trans- missão de uma determinada fonte transmissora é chamada de canal. A figura a seguir ilustra esse processo: Figura 11: Exemplo de multiplexação na frequência de três sinais de voz. Fonte: Elaborada pelo autor (2020). Exemplo Sinal de voz Freq. (KHz) Freq. (KHz) Filtro Filtro Filtro Após ModulaçãoApós ModulaçãoApós Modulação Freq. (KHz) Freq. (KHz)4 4 4 4 4 4 4 4 4 4 8 8 8 8 8 8 8 8 8 8 12 12 12 12 12 12 12 12 12 12 Freq. (KHz) Freq. (KHz) Freq. (KHz) Freq. (KHz) Freq. (KHz) Freq. (KHz) Multiplexação na frequência de três sinais de voz Sinal de voz modulado Sinal devoz modulado 25 Já no destino teremos um receptor que fará justamente o procedimento oposto. Ele es- tará configurado para captar o sinal de um determinado canal, que é o que chamamos de “sintonizar em uma determinada frequência”. A frequência utilizada na sintonização é justamente a frequência da portadora do canal utilizada na modulação do sinal. Esse re- ceptor irá retirar o sinal da portadora e, em seguida, colocá-lo na sua faixa de frequência original. O equipamento responsável por modular e transmitir é o modulador, enquanto o responsável por receber o sinal modulado e retirar o sinal da portadora voltando ao estado original é o demodulador. Normalmente, trabalhamos com o par transmissor e receptor, tendo, então, um aparelho modulador e demodulador conhecido por MODEM(- MOdulador/DEModulador). A figura a seguir ilustra um processo de transmissão multi- plexada na frequência. Figura 12: Transmissão em uma linha multiplexada na frequência. Fonte: Elaborada pelo autor (2020). Multiplexação no tempo (Time Division Multiplexing – TDM) Outra forma de compartilhar o mesmo meio de transmissão com sinais de fontes dife- rentes é pelo tempo. Nesse caso, iremos alternar o envio dos diversos sinais ao longo do tempo, ou seja: Em um momento, um sinal é enviado; depois, ele é pausado e outro sinal é enviado, e assim sucessivamente. Esse método é extremamente útil quando a taxa de produção de bits dos sinais é inferior à capacidade de transmissão do meio, tornando essa alternância viável. Essa multiplexa- ção pode ser do tipo: T1 T2 Modulador Modulador Filtro Filtro R1 R2 Filtro Filtro Demodulador Demodulador MODEM f2 f1 • 2. Assíncrona.• 1. Síncrona. 26 1. TDM síncrono No TDM síncrono serão dois níveis de divisão no tempo, slot e frame. No slot, o sinal de uma determinada fonte será transmitido. Dependendo da taxa de transmissão do meio e da taxa de transmissão dos sinais, serão calculados quantos slots poderão ser criados nesse meio, lembrando que cada slot pertencerá a uma fonte de sinal específica, não havendo o compartilhamento de slots com sinais de fontes dife- rentes. Todos os slots terão o mesmo tempo de transmissão. O segundo nível de divisão no tempo será um grupo com todos os slots criados. Esse grupo será chamado de frame (quadro). Dentro do frame teremos todos os slots criados, posicionados sempre na mesma ordem. Durante as transmissões será feita a alternância entre todos os slots de um frame. Ao finalizar esse frame, será dado início à transmissão de um novo frame, e assim sucessivamente. O conjunto de slots de mesma posição nos frames será chamado de canal. Quando uma fonte transmissora deseja transmitir, ela solicita ao sistema de transmissão um determi- nado canal. O sistema verifica se existe algum canal livre. Caso haja, é feita a escolha de um e, então, é atribuído a essa fonte transmissora. Enquanto a fonte transmissora não solicitar a liberação do canal, ele estará alocado para o seu uso exclusivo, mesmo que ela, em algum momento, não esteja transmitindo. Nesse modelo de transmissão o canal é dedicado e de uso exclusivo da fonte transmissora. A figura a seguir ilustra essas divisões no tempo: Figura 13: Divisão no tempo no TDM síncrono. Fonte: Elaborada pelo autor (2020). frame slot Canal 0 Canal 1 0 01 12 23 34 45 56 67 78 89 9 Tempo frame 27 Em relação à transmissão de dados, esse método leva a certos desperdícios, uma vez que nem sempre os computadores estão realizando algum envio. Na verdade, os compu- tadores costumam realizar picos de transmissão, tendo muitos intervalos sem que haja qualquer tipo de transmissão de dados. Contudo, como o canal permanece exclusivo para esse transmissor durante todo o tem- po da conexão, a cobrança será feita em função do tempo em que a conexão persistir, e não em relação ao volume de dados transferidos. A figura a seguir ilustra tal situação: Figura 14: Desperdício de capacidade com TDM síncrono. Fonte: Elaborada pelo autor (2020). Um exemplo de uso dessa modalidade é no sistema de telefonia. Para garan- tir uma taxa de transmissão constante da voz humana em uma conversação telefônica utiliza-se o TDM síncrono, pois, como o canal fica disponível para o uso exclusivo daquela conversação, não haverá problemas com a transmissão; no entanto, mesmo que haja períodos de silêncio nessa conversação, o tempo referente a esses períodos de silêncio continuará sendo exclusivo da conexão, sendo, então, realizada a “cobrança” pelo uso do serviço,independentemente de ter havido uma conversa durante o período em que a conexão estava ativa. Exemplo Meio físico Tempo Dados Frame 0 A1 B1 B2 D2C1 D1 A2 C2 Frame 1 Banda desperdiçada t1 A B C D t2 28 2. TDM assíncrono No TDM assíncrono não existe a alocação dedicada de um canal a um determinado transmissor. Neste caso, se o suposto transmissor do momento não tiver nada para transmitir a vez será passada para quem tiver, diminuindo ao máximo o desperdício de banda na transmissão. Esse formato de transmissão é bem mais eficiente quando se trata de transmissão de dados entre computadores; todavia, leva a muitas falhas em uma comunicação de voz de um sistema de telefonia. Como não existe mais o canal, o qual no TDM síncrono é utilizado para identificar a co- nexão (origem e destino), no caso do TDM assíncrono cada unidade de transmissão precisará de um cabeçalho de dados para realizar essa identificação. A figura a seguir ilustra todo esse processo: Figura 15: TDM assíncrono. Fonte: Elaborada pelo autor (2020). A qualidade de uma ligação telefônica feita pelo WhatsApp comparada, por exemplo, com a ligação realizada pelo sistema de telefonia padrão. Como o WhatsApp utiliza o sistema de dados da Internet, a forma de transmissão será o TDM assíncrono, enquanto no sistema de telefonia é utilizado o TDM síncrono. Exemplo Meio físico Tempo A1 B1 B2 C2 Capacidade Extra Disponível Cabeçalho t1 A B C D t2 29 Comutação de dados Comutação vem do inglês switchinge e significa o processo decisório sobre por qual caminho algo deverá seguir. Vamos conhecer um exemplo? Um exemplo de comutação fora do ambiente de informática é o ambiente ferro- viário. Temos um trem que está seguindo por um trilho e, em um determinado momento, existem duas opções de percurso. Para definir qual percurso o trem deverá seguir existe na lateral do trilho uma alavanca que, ao ser posicionada para a esquerda, levará o trem para o trilho da esquerda, e caso seja posiciona- da para a direita, levará o trem para o trilho da direita. Esse mecanismo é o comutador e o procedimento de escolha do trilho é a co- mutação. A figura mostra um comutador de trens (objeto com a seta): Exemplo de um comutador de trilhos de trem. Fonte: Wikimedia Commons (2020). Exemplo 30 No início dos sistemas de telefonia o processo de comutação era feito por pessoas, as telefonistas. Elas usavam fios para conectar sua ligação com o fio que conectava ao destino ou a outra telefonista em outra região, de modo que se pudesse continuar com o procedimento de conexão até chegar ao destinatário. Eram elas que faziam a comutação, de forma manual, para que a conexão fosse realizada. Atualmente, todo esse processo de comutação é feito de forma automática por circuitos eletrônicos. A seguir temos uma figura ilustrando o processo de comutação manual por telefonistas na década de 1940: Figura 16: Sistema de comutação manual telefônica feita por telefonistas na década de 1940. Fonte: Just4it (2020). Nos sistemas de redes de computadores também temos a mesma necessidade. Temos uma determinada informação que, a fim de chegar ao destino, deverá passar por cer- to caminho. Ao longo do trajeto teremos opções para que outros destinos possam ser alcançados. Assim, devemos instalar os comutadores de dados de modo que, nesses pontos de escolha de percurso, eles estejam configurados corretamente, selecionando o caminho certo para os dados chegarem a seu destino definido. Agora, vamos conhecer quatro técnicas de comutação utilizadas nas co- municações de dados? 31 1. Circuitos A comutação de circuitos é a que mais se assemelha à comutação feita pelas telefonis- tas, com a diferença de ser feita de forma automática. Quando é solicitada uma conexão, um pacote de dados de configuração contendo a origem e o destino é enviado. Esse é o sinal de requisição de chamada. Conforme esse pacote vai chegando aos comutadores, como as telefonistas, eles vão realizando as conexões. Quando esse pacote chega ao último comutador do percurso, e este é configurado, existirá uma conexão direta e física entre a origem e o destino. A par- tir desse momento é possível realizar a comunicação, seja ela de voz ou de dados. Tais conexões estarão dedicadas enquanto a comunicação existir, garantindo todo o percurso entre a origem e o destino. Enquanto essa comunicação durar, nenhuma outra poderá usar os mesmos fios e conectores que estão em uso, levando a um limite no número de conexões e também ao desperdício, pois se houver algum período sem que haja trans- missão, as conexões continuarão existindo, uma vez que o percurso é dedicado. A seguir temos duas figuras: a primeira ilustra a aparência desse processo de comuta- ção, enquanto a segunda mostra o procedimento de conexão ao longo do tempo: Figura 17: Comutação de circuito. Fonte: Elaborada pelo autor (2020). Sistema de Comutação Conexão Física 32 Figura 18: Comutação por circuito ao longo do tempo. Fonte: Elaborada pelo autor (2020). Como pode ser visto na figura anterior (segunda figura), o sinal de requisição é enviado. Quando ele chega a um comutador é preciso aguardar o tempo para que essa cone- xão seja realizada. Em seguida, o sinal continua o percurso até o próximo comutador, aguardando novamente pela nova conexão. Ao final é retornado um sinal que represen- ta que a chamada foi aceita. A partir desse momento os dados são transferidos sem que haja qualquer atraso nessa transmissão, com exceção do seu estabelecimento realizado no início. 2. Mensagens A modalidade de circuito pode atender de forma adequada ao sistema de telefonia, já que estamos falando de uma comunicação de voz. No entanto, não é muito adequado para a transmissão de dados, pois, caso tenhamos momentos em que os dados não estejam sendo transmitidos, teremos um desperdício na capacidade de transmissão e, mais: o serviço será cobrado por tempo, já que a conexão permanece dedicada. Visando ser mais eficiente na transmissão de dados, diminuindo o desperdício e aumentan- do o compartilhamento dos meios de transmissão, temos a comutação por mensagens. Sinal de requisição de chamada Tempo gasto aguardando a realização de uma conexão Sinal de chamada aceita A CB D Dados Conexão AB Conexão BC Conexão CD Te m po 33 Neste caso, diferentemente da comutação por circuitos, não será realizada previamente a conexão entre a origem e o destino. Uma mensagem é um conjunto de dados que representa uma informação completa, como um arquivo. Quando essa mensagem vai ser enviada, é acrescentado a ela um cabeçalho com a informação da origem e do destino. Ao chegar a um comutador, este espera que a men- sagem completa chegue, armazenando-a em sua memória interna. Só depois de receber a mensagem integralmente é que ele poderá fazer seu envio. Tal procedimento é conhe- cido como store–and–forward. Na hora em que um comutador vai realizar o envio da mensagem, ele analisa o cabeça- lho para saber o destino e verifica se é capaz de realizar a conexão direta com esse des- tino. Caso contrário, encaminhará para outro comutador, o qual repetirá todo o processo até que, enfim, a mensagem chegue ao destino. Outro detalhe a ser observado durante essa transmissão é que o trecho entre os comuta- dores por onde a mensagem tenha passado, diferentemente da comutação por circuito, estará disponível para que, a seguir, outra mensagem, possivelmente de origem diferente, passe por ele. Devido ao processo de armazenamento e envio, há a possibilidade de o trecho do cami- nho pelo qual a mensagem precisa seguir estar ocupado com a transmissão de outra mensagem. Nesse caso, ela ficará esperando a liberação para que, então, siga o per- curso. Durante essa espera outras mensagens podem chegar para seguir pelo mesmo trecho. Tais mensagens serão colocadas em uma fila, a fim de que sejam enviadas con- forme o trecho seja liberado. Isso vai gerar alguns atrasos irregulares na transmissão, já que em cadacomutador a fila pode estar maior ou menor do que em outro, levando a tempos diferentes de espera. A seguir temos uma figura ilustrando esse processo: 34 Figura 19: Comutação por mensagem ao longo do tempo. Fonte: Elaborada pelo autor (2020). 3. Pacotes A comutação por mensagens já tornou a transmissão de dados muito mais eficiente do que a comutação por circuitos, mas ainda possui alguns inconvenientes. Como as mensagens podem ser consideravelmente grandes, nesses casos elas ocupariam um determinado trecho de transmissão por muito tempo, diminuindo o processo de com- partilhamento. Além desse, temos ainda mais dois pontos negativos. Se qualquer parte da mensagem sofrer alteração devido à incidência de ruídos no trecho percorrido, toda a mensagem será descartada, levando, obrigatoriamente, ao seu reenvio a partir da origem. Uma men- sagem muito grande está mais suscetível a tal situação. De modo semelhante a esse problema, caso um comutador não tenha memória suficiente no instante de chegada da mensagem para armazená-la por completo, ela também será descartada, levando à mesma necessidade de ser retransmitida desde a origem. Visando minimizar os inconvenientes apresentados na comutação por mensagens, foi definido limitar o tamanho dos dados a serem trafegados entre os comutadores. Esses grupos de dados serão chamados de pacotes. Apesar de os pacotes terem um limite máximo de dados, eles não possuem tamanho fixo, podendo haver pacotes menores do que o limite máximo estabelecido. Atraso na propagação Atraso na fila A CB D Msg Msg Msg Te m po 35 No processo de transmissão, caso a mensagem tenha um tamanho que caiba em um pacote, bastará esse pacote para enviá-la. Todavia, é bem provável que as mensagens sejam maiores do que o limite dos pacotes. Nesse caso, a mensagem será dividida em diversos pacotes de tamanho máximo, em que, provavelmente, o último terá um tama- nho menor do que o limite máximo estabelecido. Como a transmissão agora será feita em cima desses pacotes, a ocupação do trecho por cada um deles terá um tempo máximo estabelecido, já que o seu tamanho máximo é conhecido. Além disso, aumenta o compartilhamento, uma vez que, entre pacotes de uma determinada mensagem, podem ser enviados pacotes de outras. Caso haja falha na transmissão de um desses pacotes ou a memória de algum comuta- dor esteja cheia no momento de sua chegada, apenas esse pacote deverá ser reenviado a partir da origem, aumentando a chance de sucesso no reenvio e levando a uma menor ocupação da rede. A figura a seguir representa esse modelo de comutação: Figura 20: Comutação por pacote. Fonte: Elaborada pelo autor (2020). Em cada comutador haverá um atraso na transmissão devido ao ato de enfieirar e, então, retransmitir, conforme ilustra a figura a seguir: Sistema de Comutação Pacotes enfileirados para próxima transmissão 36 Figura 21: Comutação por pacote ao longo do tempo. Fonte: Elaborada pelo autor (2020). Veremos, agora, que a comutação por pacotes pode ser estabelecida de duas formas: circuito virtual e datagrama. Circuito virtual Nessa modalidade o primeiro pacote da mensagem é um pacote de controle. Conforme esse primeiro pacote vai percorrendo o caminho, esse caminho fica registrado, forçando que todos os demais pacotes da mesma mensagem façam o mesmo percurso, isto é, sigam exatamente os mesmos trechos. Essa modalidade é muito parecida com a comutação por circuito, já que o mesmo ca- minho será realizado por todos os pacotes. Porém, de forma distinta da comutação por circuitos, os trechos poderão ser compartilhados com outros pacotes de mensagens diferentes durante a transmissão. Uma vantagem desse método é: A garantia de entrega dos pacotes no destino na mesma ordem em que foram enviados pela a origem, não havendo a necessidade de reordena- ção dos pacotes na recepção. Pkt 3 Pkt 2 Pkt 1 A CB D Te m po Pkt 2 Pkt 1 Pkt 1 Pkt 2 Pkt 3 Pkt 3 37 Datagrama Nessa modalidade os pacotes de uma mesma mensagem têm a liberdade de fazer ca- minhos diferentes para chegar ao mesmo destino, não sendo necessário gastar tempo estabelecendo o percurso. A vantagem nesse modelo é: Poder ter um maior fluxo de pacotes, já que, ao poder seguir por cami- nhos diferentes, caso um determinado trecho esteja congestionado, ele poderá seguir viagem por outro. Com isso, existe a possibilidade de que os pacotes cheguem fora de ordem, levando a um trabalho extra no destino de ordenar os pacotes recebidos antes de montar a men- sagem novamente. 4. Células Essa modalidade segue a mesma metodologia da comutação por pacotes. A diferença é que, enquanto os pacotes têm um tamanho máximo estabelecido, possibilitando ter pacotes de tamanhos diferentes, no caso das células haverá um tamanho fixo e pequeno (de algumas dezenas de bytes). Quando a quantidade de dados não for suficiente para preencher toda uma célula, ela será preenchida com “lixo” (valores sem significado) até completar o tamanho estabelecido. A vantagem desse método é que: Poderá ser feito integralmente via hardware, já que os circuitos que farão a comutação serão extremamente simplificados, não havendo a neces- sidade de realizar o controle via software, o que tornaria a operação bem mais lenta do que se fosse feita apenas por circuitos eletrônicos. Dessa forma, aumentamos extraordinariamente a velocidade da comutação e, por con- sequência, a capacidade de fluxo de dados. Resumindo, neste tópico vimos como podemos maximizar o uso de um meio de trans- missão realizando a transferência de sinais de fontes distintas em um mesmo meio, usando a multiplexação. Também vimos como o caminho entre a origem e o destino pode ser realizado por meio da comutação. 38 Para ampliar o seu conhecimento veja o material complementar da Unidade 1, disponível na midiateca. MIDIATECA Toda transmissão, seja ela qual for, é feita em algum meio físico. É muito co- mum ver pessoas comentando que o celular está com um bom sinal, mas não estão conseguindo realizar uma comunicação. Além do nível do sinal temos de levar em consideração o nível do ruído na frequência que estamos transmitindo. É possível que, mesmo com um excelente nível de sinal, o ruído esteja também tão alto no canal de comunicação que todos, ou grande parte dos dados sendo transmitidos, estejam sendo destruídos pela interferência dos ruídos. Apesar de essa situação ser mais comum nos sistemas de transmissão sem fio, ela tam- bém pode ocorrer em meios condutores, caso estejam posicionados próximo a fontes de interferência, como rede elétrica. A correta definição de onde um determinado cabo de transmissão de dados irá passar pode refletir diretamente na qualidade da transmissão dos dados. NA PRÁTICA 39 Resumo da Unidade 1 Nesta unidade entendemos como um sinal é formado e como ele se comporta na pre- sença de ruídos. Vimos que os ruídos são a principal fonte de problemas na transmissão de dados. Também observamos que nem sempre é possível transmitir um sinal em sua forma original, sendo necessário realizar algumas transformações pelo processo da mo- dulação. Como os meios de transmissão muitas vezes comportam uma taxa de trans- missão maior do que a dos sinais a serem transmitidos, vêm os mecanismos de com- partilhamento dos meios de transmissão com outras fontes de sinais pelos métodos de multiplexação. E, por fim, analisamos como as trajetórias dos dados são selecionadas durante a transmissão pelo processo de comutação. O sistema de telefonia é um exemplo que faz uso de todas as técnicas abordadas nesta unidade. A voz da pessoa que está falando é o sinal a ser transmitido e, em função do ruído, muitas vezes chega com falhas ao destino, chegando a ficar ininteligível. Não é à toa que, em certas conversas realizadas no celular, sofremos com falhas na ligação. Para transmitir essa comunicação é usada a modulação junto com a multiplexação, a fim de possibilitar que diversas ligações telefônicas estejam acontecendosimultaneamente, compartilhando o mesmo meio físico, que é o ar. Sem isso, só poderia existir uma trans- missão por vez. E, por fim, a comutação é usada em diversas centrais telefônicas para fazer com que a sua conversa chegue ao destino desejado, podendo, hoje em dia, esse destino estar em qualquer lugar do mundo atendido por alguma operadora de telefonia. Nesta unidade foram destacados os seguintes conceitos: diferença entre os sinais analógicos e digitais, o efeito dos ruídos, os mecanismos de modulação analógica e digital, e a transmissão de sinais de fontes diferentes em um mes- mo meio de transmissão. CONCEITO 40 Referências FOROUZAN, B. A. Comunicação de dados e redes de computadores. 4. ed. Porto Ale- gre:Mc Graw Hill: Bookman, 2010. ISBN: 978-00-7296-775-3. Minha Biblioteca. KUROSE, J.F.; ROSS, K.W. Redes de computadores e a Internet: uma abordagem top-down. 6. ed. São Paulo: Pearson Education do Brasil, 2013. ISBN: 978-85-8143- 677-7. Biblioteca Virtual. TANENBAUM, A. S.; WETHERALL, D. Redes de computadores. 4. ed. São Paulo: Pearson Prentice Hall, 2011. ISBN: 978-85-7605-924-0 – Biblioteca Virtual. Protocolos: ATM, FDDI e SDH UNIDADE 2 42 Nesta unidade você aprenderá o funcionamento do protocolo ATM, um dos mais im- portantes métodos de comutação de dados utilizado nos meios de transmissão de alta velocidade e capaz de suportar grande fluxo de dados. Também serão vistos os proto- colos FDDI, para transmissão de dados em fibras ópticas, e o SDH, responsável pela multiplexação de diversos canais STM, que aumentam a eficiência da transmissão ATM nas redes de fibras ópticas. INTRODUÇÃO Nesta unidade você será capaz de: • Decodificar os protocolos que implementam as redes multimídia e os backbo- nes das operadoras de telecomunicações e redes LAN de alta performance. OBJETIVO 43 Evolução das redes públicas de comutação por pacotes; formatos de endereçamento ATM; arquitetura e características dos SWITCHES ATM; padronização do ATM O ATM (Asynchronous Transfer Mode – Modo de Transferência Assíncrona) é um pro- tocolo de retransmissão de células projetado pelo ATM Fórum e adotado pelo ITU-T (International Telegraph Union – União Internacional de Telecomunicações). O objetivo desse protocolo é: Oferecer uma interligação de alta velocidade entre diversas redes. Antes de sua criação, entre os diversos desafios existentes, seis deles se destacavam: 1 Necessidade de um sistema de transmissão que otimizasse os meios de trans- missão de alta velocidade, como fibras ópticas. Elas possibilitam uma ampla largura de banda, além de não sofrerem com a interferência de ruídos. 2 Esse sistema precisaria ser capaz de se conectar com os já existentes, forne- cendo interconectividade de longa distância sem diminuir o seu desempenho ou necessitar que sejam substituídos. 3 Ele deveria ter uma implementação de baixo custo para que não fosse uma barreira em sua utilização e se tornasse o backbone das comunicações in- ternacionais. 4 Ele deveria ser capaz de suportar e operar as hierarquias de telecomuni- cações já existentes (loops locais, provedores locais, operadoras de longa distância etc.). 5 Ele deveria ser orientado à conexão para garantir a precisão e a previsibilida-de da entrega dos dados. 6 Um ponto importante considerado foi a transferência do maior número possí- vel de operações para o hardware, aumentando a velocidade do processamen- to e diminuindo ao máximo as operações via software, que são mais lentas. 44 No momento da implantação do protocolo ATM foram detectados alguns problemas, a saber: • Redes de Quadros (Frames) → Até a implantação do protocolo ATM a camada de enlace da rede de dados trabalhava com quadros. Os diversos protocolos existentes usam quadros de complexidade e tamanhos variáveis. Com o aumento da comple- xidade das redes, os cabeçalhos dos quadros passaram a conter informações cada vez mais volumosas, levando-os a ficar cada vez maiores em relação à unidade de dados por eles transportados. Para melhorar a eficiência dos quadros, alguns protocolos aumentaram a unidade de dados de forma a reduzir a relação com o cabeçalho. Esse aumento da unidade de dados leva ao desperdício, pois, se não tivermos informações suficientes para preencher todo o quadro, parte da unidade de dados não será preenchida, levando a uma ocupação de parte da banda com dados de preenchimento, isto é, dados sem finalidade útil para o usuário, já que seu único propósito é o de completar o quadro cuja informação útil não foi capaz de completar. Uma maneira de contornar isso, adotada por alguns protocolos, é utilizar unidades de dados de tamanhos variáveis. • Tráfego de Rede Misto → Devido à variedade de tamanho dos quadros, o tráfego da rede torna-se imprevisível. Dessa forma, switches, multiplexadores e roteadores devem possuir sistemas de software complexos para gerenciar os diferentes tama- nhos de quadros. Com o aumento no tamanho dos cabeçalhos, uma parte conside- rável de processamento será gasta para verificar sua integridade e analisar seus di- versos campos. A conexão das diferentes redes de quadros é lenta e cara, podendo, em alguns casos, ser impossível. • Entrega com Velocidades Constantes → Quando os quadros possuem tama- nhos imprevisíveis e apresentam grandes variações de tamanho, fica muito difícil realizar uma entrega com velocidade constante. Reforçando o que já foi visto, para extrair o máximo da tecnologia de banda larga é utilizada a multiplexação por divi- são de tempo nas rotas compartilhadas. Considerando a multiplexação de quadros de redes distintas que possuem tamanhos bem diferentes umas das outras, po- deremos ter algo como o ilustrado na figura a seguir. Nesse caso, o tempo entre a transmissão do quadro A para o quadro B é enorme, se comparado com os seus tamanhos, levando a atrasos desproporcionais. No caso de quadros com dados de streaming de áudio e vídeo, tais atrasos podem levar a pausas na exibição, tornan- do-a impraticável. 45 Figura 22: Multiplexação usando tamanhos de quadros diferentes. Fonte: Adaptada de Kurose e Ross (2013, p. 524). Para solucionar os problemas citados anteriormente, foi considerado o uso de células em vez de quadros/pacotes. Como já foi dito, o que mais diferencia as células dos paco- tes é o fato de elas terem um tamanho fixo e, em geral, bem pequeno. Como todas possuem o mesmo tamanho, passamos a ter uniformidade e, com isso, previsibilidade. Quando quadros de tamanhos variados das demais redes chegam a uma rede de cé- lulas, as suas unidades de dados precisam ser divididas em diversos pedaços de igual tamanho, de forma a caberem nas células daquele sistema e, então, sejam nelas car- regados. Essas células serão multiplexadas com as demais do sistema e direcionadas por essa rede até o seu destino. Como cada célula possui o mesmo tamanho e todas são pequenas, os problemas relacionados em multiplexar quadros de diversos tama- nhos é resolvido. Na figura a seguir podemos ver como fica uma multiplexação no caso de células em vez de quadros. Figura 23: Multiplexação usando células. Fonte: Adaptada de Kurose e Ross (2013, p. 525). Se considerarmos a alta velocidade oferecida pelos enlaces, juntamente com as peque- nas dimensões das células, apesar do entrelaçamento durante a multiplexação as célu- las provenientes de linhas diferentes chegam ao seu destino de forma semelhante a um fluxo contínuo, tornando possível lidar com transmissões em tempo real, como ligações telefônicas, videoconferências entre outras. X MUXC B B X A A C Z B Y C B AZ Y X A X MUX 1 2 46 O ATM utiliza a multiplexação por divisão de tempo assíncrona para multiplexar as cé- lulas originadas de diversos canais. Ele usa intervalos de tamanho fixo, já que as células têm tamanho fixo. Os intervalos são preenchidos pelo multiplexador com uma célula de qualquer canal de entrada que possua uma para transmitir. Caso não existam células em nenhum canal para colocar em um intervalo,esse intervalo ficará vazio. A Arquitetura ATM Como acabamos de ver, o ATM é uma rede de comutação de células. Para se ter acesso a uma rede ATM, em sua borda existem os pontos terminais, que são os dispositivos de acesso dos usuários. Esses pontos terminais são conectados por uma UNI (User-to-Network Interface – Inter- face Usuário-Rede) aos switches de dentro da rede. Esses switches são conectados por meio de NNIs (Network-to-Network Interfaces – Interfaces Rede-Rede). A figura a seguir mostra um exemplo de uma rede ATM. Figura 24: Arquitetura de uma rede ATM. Fonte: Adaptada de Kurose e Ross (2013, p. 526). UNI Pontos terminais Switch Switch Switch Switch Pontos terminais Pontos terminais UNI NNI NNI NNI UNI I II III IV 47 Conexão Virtual Dentro de uma rede ATM a conexão entre dois pontos terminais é formada por TPs (Transmission Path – Rotas de Transmissão), VPs (Virtual Path – Rotas Virtuais) e CVs (Virtual Circuits ou Virtual Channels – Circuitos Virtuais ou Canais Virtuais). Vamos entender o conceito de cada um deles? TPs As TPs são as conexões físicas (fio, cabo coaxial, fibra óptica, micro-ondas, satélites etc.) que conectam dois nós. Esses nós podem ser pontos terminais ou switches. Fazendo uma analogia com os sistemas rodoviários, podemos considerar as cidades como sendo os nós e as células como sendo os veículos. Para que um veículo possa sair de uma ci- dade e chegar a outra, existem as rodovias e estradas. Muitas vezes, existe mais de uma rodovia que permite conectar as duas cidades. O conjunto de rodovias que conectam duas cidades é o que chamamos de rotas de transmissão. VPs Como vimos, as TPs podem conter diversos caminhos que conectam dois nós. Esses caminhos são as rotas virtuais (VPs). Seguindo a analogia dos sistemas rodoviários, en- quanto as TPs representam o conjunto de rodovias que unem duas cidades, as VPs são as rodovias em si. CVs Uma VP pode conter diversos circuitos por onde as células serão transmitidas. Uma vez determinado o CV que a célula seguirá, ela não poderá mais trocar. Mais uma vez, usando a analogia do sistema rodoviário, uma rodovia (análoga às VPs) possui diversas faixas de rolagem. Vamos considerar que, em vez de as divisões das faixas serem feitas com tinta, elas são feitas com uma mureta. Desse modo, uma vez que uma faixa é escolhida, não será pos- sível trocar de faixa até a chegada à cidade. Os CVs são análogos a essas faixas de rolagem. De forma um pouco mais severa do que as rodovias, todas as células de uma mesma mensagem deverão, obrigatoriamente, seguir pelo mesmo CV, como se uma frota de caminhos referente ao mesmo transporte, 48 por questão de segurança, tivesse, toda ela, de utilizar a mesma faixa de rolagem, mes- mo que as outras estejam disponíveis. Na figura a seguir temos a representação desses três componentes. Figura 25: Representação de TP, VPs e VCs. Fonte: Adaptada de Kurose e Ross (2013, p. 526). Para que as diversas células da mesma mensagem possam trafegar pelos VPs e CVs corretos foram criados identificadores VPI (Virtual Path Identifier – Identificador de Rota Virtual) e o VCI (Virtual Circuit/Channel Identifier – Identificador de Circuito/Canal Virtual). • VPI define um VP específico (rodovia). • VCI determina um VC (faixa de rolagem) dentro desse VP. A conexão virtual é definida por um par de números: VPI e o VCI. A figura a seguir mostra os VPIs e VCIs para uma TP (rota de transmissão). Figura 26: Identificadores de conexão. Fonte: Adaptada de Kurose e Ross (2013, p. 528). VC VC VP VP VC VC VC VC VC VC VC VC VC VC VP VP TP VCI = 21 VCI = 21 VPI = 14 VPI = 18 VCI = 32 VCI = 32 VCI = 45 VCI = 45 VCI = 70 VCI = 70 VCI = 74 VCI = 74 VCI = 45 VCI = 45 VPI = 14 VPI = 18 (14 → → VPI 21) VCI Esta conexão virtual é definida de forma única a partir do par: 49 As UNIs e NNIs possuem tamanhos diferentes para os VPIs. No caso das UNIs, os VPIs possuem 8 bits de tamanho, enquanto nas NNIs os VPIs possuem 12 bits. Isso leva às seguintes possibilidades: • As UNIs podem trabalhar com 256 VPIs distintas. • As NNIs podem trabalhar com 4.096. Tanto as UNIs quanto as NNIs possuem VCIs de 16 bits, possibilitando um total de 65.536 VCIs distintas. Observe a figura a seguir que mostra essa diferença: Figura 27: Identificadores de conexões virtuais em UNIs e NNIs. Fonte: Adaptada de Kurose e Ross (2013, p. 528). O motivo principal de dividir o identificador de circuitos virtuais em duas par- tes é permitir o roteamento hierárquico. Células A unidade básica de dados de uma rede ATM é a célula. Ela foi definida com um tama- nho total de apenas 53 bytes, sendo dividida em 5 bytes de cabeçalho e 48 bytes de dados, também chamado de payload. A figura a seguir mostra a estrutura básica de uma célula ATM: Figura 28: Uma célula ATM. Fonte: Adaptada de Kurose e Ross (2013, p. 528). 8 bits 12 bits 24 bits 28 bits a. VPI e VCI em um UNI b. VPI e VCI em um NNI VPI VPI 16 bits 16 bits VCI VCI Cabeçalho 53 bytes 5 bytes Payload 48 bytes VPI VCI 50 Como vimos, o cabeçalho das células possui dois formatos: um para células UNIs e outro para as células NNIs. A figura a seguir mostra a divisão dos campos do cabeçalho das células. Cada linha do cabeçalho representa 1 byte de comprimento. Figura 29: Cabeçalhos ATM. Fonte: Adaptada de Kurose e Ross (2013, p. 531). Agora, vamos analisar cada campo do cabeçalho. Preste atenção! GFC (Generic Flow Control – Controle de Fluxo Genérico) Este campo de 4 bits fornece controle de fluxo no nível UNI. Foi determinado pela ITU-T que tal grau de contro- le de fluxo não se dá, necessariamente, no nível NNI. Como o cabeçalho UNI não possui esse campo, esses bits foram anexados ao VPI desse cabeçalho, tornando esse VPI mais longo e, consequentemente, proporcio- nando uma maior quantidade de rotas virtuais (VPs). VPI (Virtual Path Identifier – Identificador de Rota Virtual) Este campo, já comentado anteriormente, possui 8 bits em um cabeçalho UNI e 12 bits em um cabeçalho NNI. celula UNI HEC HEC VCI VCI VCI VCIVPI VPI VPI VPIGFC PT PTCLP CLP VCI VCI celula NNI GFC: Controle de fluxo genérico VPI: Identificador de rota virtual VCI: Identificador de circuito virtual PT: Tipo de payload CLP: Prioridade de perda de célula HEC: Controle de erros de cabeçalhos Dados Payload Dados Payload 51 VCI (Virtual Cicuit/Channel Identifier – Identificador de Circuito/Canal Virtual) Este campo, também já comentado anteriormente, possui 16 bits em ambos os cabeçalhos. PT (Payload Type – Tipo de Payload) Neste campo o primeiro bit define o payload como da- dos de usuário ou informação de controle. A interpreta- ção dos últimos 2 bits dependerá do valor do primeiro. CLP (Cell Loss Priority – Prioridade de Perda de Célula) Este campo de apenas 1 bit é utilizado para o contro- le de congestionamento. A célula que possuir bit com valor 1 deve ser descartada enquanto existirem células com bit valendo 0. Isso será tratado com mais detalhes quando abordarmos o controle de congestionamento. HEC (Header Error Correction – Correção de Erros de Cabeçalho) Este campo contém um código fruto de um cálculo com os 4 primeiros bytes do cabeçalho, isto é, o cabe- çalho inteiro, excluindo o próprio HEC. Trata-se de um CRC com divisor x8 + x2 + x + 1, utilizado para correção de erros. Não vem ao caso aqui, porém, desenvolver como funciona o método CRC. Estabelecimento e Liberação de Conexões O ATM usa dois tipos de conexão: PVC e SVC. Conheceremos cada uma com mais detalhes. PVC (Permanent Virtual Circuits – Circuito Virtual Permanente) Os valores dos VPIs e VCIs são introduzidos nas tabelas dos switches diretamente pelo administrador da rede. Assim, essas conexões ficam permanentes. Uma vantagem é que, devido à conexão já existir, não há a perda de tempo estabelecendo e desfazendo uma conexão, tornando a transmissão mais rápida. Já como desvantagem temos o fato de o custo sermaior, uma vez que a conexão nunca é desfeita e, caso haja a necessidade de se conectar com destinos diferentes, teria de ter uma conexão estabelecida para cada um desses destinos. 52 SVC (Switched Virtual Circuits – Circuito Virtual Comutado) Os valores dos VPIs e VCIs são introduzidos nas tabelas dos switches dinamicamente. Para isso, o ATM necessita da ajuda da camada de redes para identificar a origem e o destino. Os detalhes do estabelecimento estarão relacionados ao protocolo de rede utilizado. A vantagem desse tipo está na redução do custo, já que a conexão só existe enquanto for do interesse dos membros participantes e em poder estabelecer a cone- xão com qualquer destino a qualquer momento, contanto que o destino seja alcançável naquele instante. A desvantagem está no tempo necessário tanto para criar a conexão antes da transferência dos dados quanto para desfazer essa conexão ao seu final. Para concluir, vimos que a tecnologia ATM é composta, fisicamente, por rotas de trans- missão, caminhos virtuais e circuitos virtuais. Também foi apresentada a forma de co- mutação e o formato de suas células de transmissão, além do modo como é estabeleci- da e liberada uma conexão. 53 Sinalização ATM; classe de serviços QoS; modelo de camadas ATM; a camada física; a camada ATM; a camada de adaptação ATM; ATM em redes locais Sinalização é uma forma genérica de definir as funções que controlam dinamicamente as conexões ATM. Elas são implementadas pelo protocolo de sinalização. Tal protocolo é considerado um protocolo “fora da banda”, já que, além de ser diferente dos protocolos de transferência de dados e executado em fases diferentes, ele usa uma faixa de passa- gem distinta da faixa utilizada pelos dados. A ideia por trás disso é a de transferir a maior parte da responsabilidade e da comple- xidade em estabelecer uma conexão para o protocolo de sinalização, permitindo que o protocolo de transmissão dos dados seja o mais rápido e simples possível. O protocolo de sinalização possui algumas características. Vamos conhecê-las! Possibilitar a definição sob demanda de conexões comutadas. Possibilitar o estabelecimento de conexões com bandas de passagem simétricas ou assimétricas. Determinação de uma conexão fixa para que as mensagens de sinalização sejam trocadas. Esse canal possui VPI = 0 e VCI = 5. Possibilitar o estabelecimento de conexões ponto-a-ponto (unicast) e ponto-multiponto (multicast). Configuração dos valores do VPI e VCI da conexão. Recuperação de erros. 54 Durante o estabelecimento de uma conexão, fase esta que antecede a transferência dos dados, ocorre algo parecido com um “contrato” entre o usuário e a rede. Nesse “contrato” ficarão acertadas as características que envolvem a transmissão nessa conexão. O “con- trato” trabalha em cima de dois parâmetros: • Primeiro parâmetro: é o parâmetro de tráfego. Nele, será estabelecida qual será a taxa máxima de bits, a taxa média sustentada de bits, se haverá tolerância a rajadas e qual é o tipo de fonte geradora de dados (áudio, vídeo etc.). • Segundo parâmetro: especifica um QoS (Quality of Service – Qualidade do Serviço). O QoS é a garantia de um fluxo mínimo de bits. O ATM só aceitará a conexão se for possível garantir essa taxa mínima. Uma vez estabelecida a conexão, se, em algum momento, um switch ficar sobrecarregado, podendo comprometer os QoS contrata- dos, as células que possuírem o campo CLP (Cell Loss Priority – Prioridade de Perda de Célula) valendo 1 serão descartadas para garantir o envio das células das conexões com QoS estabelecido. Vale lembrar que toda requisição de conexão que tem essa exigência só será aceita se for confirmada a condição de garanti-la. Comutação As redes ATM utilizam switches para encaminhar células de um ponto terminal de origem a um ponto terminal de destino. Para realizar esse encaminhamento, os switches usam os valores nos VPIs e nos VCIs. A seguir, temos o passo a passo realizado pelo switch exemplificado na Figura 9: Nas conexões ponto-multiponto a transmissão é unidirecional, originando-se na raiz (transmissor) e seguindo para os diversos destinos, denominados “fo- lhas” (receptores). Só a raiz poderá incluir novas folhas. Já a retirada pode ser feita tanto pela raiz quanto pela própria folha. Importante 55 Figura 30: Roteamento com um switch ATM. Fonte: Adaptada de Kurose e Ross (2013, p. 529). 1 2 3 5 Nesse caso, a célula será encaminhada para a interface 1 e os valores do VPI e do VCI serão alterados para 140 e 92, respectivamente. 4 Ao encontrar uma entrada que coincida com esses valores, ele realiza o procedimento de encaminhamento com as informações de saída. Ele verifica se existe alguma entrada com as informações da célula recebida (interface, VPI e VCI). O switch consulta sua tabela de comutação, a qual armazena as informações de entrada e saída. Uma célula com VPI = 153 e VCI = 67 chega à interface 3 do switch. 4 1 3 2 VCI VCI VPI VPI 67 Entrada Interface Interface 3 1 ..... ..... VPI VPI 153 140 ..... ..... VCI VCI 67 92 ..... ..... Saída 92 153 140 56 Camadas do ATM O padrão ATM possui três camadas que, de baixo para cima, são: camada física, camada ATM e camada de adaptação ATM (AAL – ATM Adaption Layer). A figura a seguir ilustra as camadas do ATM. Figura 31: Camadas do ATM. Fonte: Adaptada de Kurose e Ross (2013, p. 530). Os pontos terminais fazem uso das três camadas, enquanto os switches usam apenas as duas de baixo, como mostra a figura a seguir: Figura 32: Camadas do ATM em switches e dispositivos terminais. Fonte: Adaptada de Kurose e Ross (2013, p. 530). AAL 1 AAL 2 AAL 3/4 Camada ATM Camada Física AAL 5 AAL AAL ATM ATMATM ATM Física FísicaFísica Física 57 Agora, vamos conhecer com mais detalhes as camadas do ATM? Vamos lá! Camada Física Do mesmo jeito que nas LANs sem fio e Ethernet, as células ATM podem ser enviadas em qualquer camada física. Apesar de o seu projeto original ser baseado no SONET (rede de fibras ópticas) como portador de camada física, devido à alta velocidade, nada impe- de que outras camadas físicas também sejam utilizadas. Camada ATM Essa camada oferece os serviços de roteamento, controle de tráfego, comutação e mul- tiplexação. Ela recebe da camada de cima (AAL) um segmento de 48 bytes e acrescenta um cabeçalho de 5 bytes (visto anteriormente), transformando-os em células de 53 by- tes. É essa camada que coloca no cabeçalho os valores do VPI e do VCI corresponden- tes. A seguir temos uma figura ilustrando esse procedimento. Figura 33: Camada ATM. Fonte: Adaptada de Kurose e Ross (2013, p. 531). Camada de Adaptação ATM (AAL) A rede ATM tem de ser capaz de aceitar qualquer tipo de payload, sejam eles quadros de dados ou fluxos de bits. No caso dos dados, a transmissão é mais tranquila, pois normalmente não existem restrições, como atrasos e cadência. Já os fluxos de bits (nor- malmente usados em sistemas multimídias, como videoconferência, streaming de áudio e vídeo, entre outros) são mais delicados, pois atrasos e perda da cadência podem levar à inutilização do serviço. Segmento 48 bytes Do AAL Cabeçalho 5 bytes 53 bytes A T M 58 A AAL possui duas subcamadas que, listadas de baixo para cima, são: 1. SAR (Segmentation And Reassembly – Segmentação e Remontagem). 2. CS (Convergence Sublayer – Subcamada de Convergência). No processo de transmissão, quando um quadro ou fluxo de bits vem de camadas supe- riores, quem os recebe é a subcamada CS. Na maioria das situações ela acrescenta um cabeçalho para que seja possível verificar a sua integridade no destino. Em seguida, ela encaminha para a subcamada SAR. Já no processo de recepção, o quadro ou o fluxo de bits receberá essa informação da subcamada SAR e, se for necessário, ela verificará a integridade pelo cabeçalho. Estando tudo correto, a subcamada SAR fará a entrega para as camadas superiores. Durante o processo de transmissãoa subcamada SAR recebe os dados da subcamada CS, divide todo o dado recebido em blocos de 48 bits e acrescenta um cabeçalho de 5 bits, criando, então, a célula ATM que será transmitida. Este é o processo de segmen- tação realizado por essa camada. Durante a recepção dos dados essa subcamada será responsável pela extração dos dados das células para, então, juntá-los, recriando o dado original e, logo após, encaminhando-o para a subcamada CS. Para poder trabalhar adequadamente com os diversos tipos de dados foram criadas qua- tro versões da camada AAL, a saber: AAL1, AAL2, AAL3/4 e AAL5. Apesar de existirem essas quatro versões, na prática são usadas apenas duas: • AAL1: utilizada para fluxo de bits (streaming de áudio e vídeo). • AAL5: usada para a transmissão de quadros de dados. Agora, vamos apresentar a descrição de todas as versões do AAL. • AAL1 → Versão desenvolvida para atender aplicações que necessitam de um flu- xo de bits (bit rate) constantes, cujo tempo de transmissão seja determinado. Muito útil para transmissão de áudios e vídeos em tempo real (ao vivo), pois essas aplica- ções são sensíveis aos atrasos nas transmissões. Ela é do tipo orientado à conexão. • AAL2 → Versão desenvolvida para atender aplicações que suportam fluxo de bits variável, porém ainda requerendo um tempo de transmissão determinado, como áudio e vídeo comprimidos, muito utilizado por streamings. Ela é do tipo orientada à conexão. • AAL3 → Versão desenvolvida para atender aplicações que não possuem uma ne- cessidade de tempo de transmissão determinado. Normalmente utilizada para a trans- missão de dados. Ela é orientada à conexão e não oferece fluxo de bits constante. 59 • AAL4 → Versão com as mesmas características da AAL3, porém não sendo orientada à conexão. • AAL5 → Esta versão é, na verdade, a AAL3 e AAL4 combinadas com algumas simplificações para aumentar a eficiência na transmissão. Considerando que nem todas as aplicações necessitam de mecanismos abrangentes de sequenciamento e controle de erros oferecidos pelas AAL3/4, foi criada essa versão simplificada, tam- bém chamada de SEAL (Simple and Efficient Adaptation Layer – Camada de Adapta- ção Simples e Eficiente). A AAL5 considera que todas as células pertencentes a uma única mensagem trafegam sequencialmente e que as funções de controle serão de responsabilidade das camadas superiores. A tabela seguinte descreve resumidamente as cinco versões da camada de adaptação. AAL5 Versão AAL AAL1 AAL2 AAL3 AAL4 Tempo de Transmissão Requerido Requerido Não requerido Não requerido Fluxo de Bits Constante Variável Variável Variável Modo de Conexão Orientado à Conexão Orientado à Conexão Orientado à Conexão Não orientado à Conexão ATM em Redes Locais O ATM foi projetado originalmente para ser usado em redes de longa distância (WAN), mas pode ser adaptado para o uso em redes locais (LAN). Devido à sua alta velocidade e ao aumento da necessidade de redes locais mais rápidas, os projetistas das LANs co- meçaram a se interessar por usá-la. Na sequência temos algumas vantagens do seu uso em redes locais: • Suporta vários tipos de conexões diferentes entre dois usuários finais. • Suporta comunicações multimídia com uma ampla variedade de larguras de ban- da para diversas aplicações. • Pode ser facilmente expandida em uma organização. 60 Podemos dividir a arquitetura de LANs ATM em três tipos: LAN ATM pura, LAN ATM an- tiga e LAN ATM mista. Vamos conhecê-las? Arquitetura de LAN ATM pura Nessa arquitetura é usado um switch ATM para interligar diretamente as estações da LAN da mesma forma que se conectam a um switch Ethernet. Assim, as estações po- dem trocar dados em alta velocidade usando direto o padrão ATM. Em vez de endereços MAC, cada estação possuirá uma rota virtual (VPI) e um circuito virtual (VCI). O maior inconveniente dessa arquitetura é o fato de ter de ser construída do zero, já que não será possível atualizar aos poucos as LANS existentes na empresa. A seguir temos um exemplo ilustrativo de uma LAN ATM pura. Figura 34: Arquitetura LAN ATM pura. Fonte: Adaptada de Kurose e Ross (2013, p. 537). Arquitetura de LAN ATM antiga Esse método consiste em usar a tecnologia ATM como backbone para conectar LANs tradicionais. Assim, as estações pertencentes à mesma LAN podem trocar informações na velocidade e no formato próprios dessa rede (Ethernet, Token Ring entre outras). Es- sas redes locais serão conectadas ao backbone ATM por intermédio de um conversor. Quando uma estação de uma rede desejar trocar dados com uma estação em outra rede, esse envio será feito para o conversor, que, então, realizará a transformação do for- mato local para o formato ATM. Em seguida, o enviará ao conversor da rede de destino. O conversor da rede de destino fará o procedimento oposto, convertendo do formato ATM Estação Estação Estação Estação Estação Switch ATM 61 para o formato local e, após, enviando para a máquina final. Observe a figura a seguir que ilustra essa arquitetura. Figura 35: Arquitetura LAN ATM antiga. Fonte: Adaptada de Kurose e Ross (2013, p. 537). Arquitetura mista Outra possibilidade seria mesclar essas duas opções. Nesse caso, ao mesmo tempo em que teríamos as diversas redes locais da empresa conectando-se à rede ATM, também teríamos estações de trabalho conectando-se diretamente nessa rede. Com essa arquite- tura é possível realizar a migração gradual das diversas redes antigas para uma rede ATM. Figura 36: Arquitetura mista. Fonte: Adaptada de Kurose e Ross (2013, p. 538). Estação Estação Estação Estação Estação Estação Estação Estação Estação Conversor Ethernet Ethernet Conversor Conversor Switch ATM Token Ring Estação Estação ATM Estação ATM Estação Estação Estação Estação Estação Ethernet Conversor Conversor Switch ATM Token Ring 62 A questão a ser considerada agora é: como uma estação em uma rede local antiga se conectará a uma estação de trabalho ATM ou vice-versa? A solução é criar emulação de LANs. Emulação de LANs (LANE) Parece simples a implementação da tecnologia ATM em LANs, mas não é. Veja alguns pontos que precisam ser resolvidos, a saber: Não orientado à conexão x Orientado à conexão As LANs tradicionais utilizam protocolos não orientados à co- nexão, por exemplo, a rede Ethernet. Uma vez que os pacotes estão prontos, uma estação realiza o envio sem que haja o es- tabelecimento de uma conexão e, obviamente, o término da conexão. No entanto, o ATM é um protocolo orientado à cone- xão, de modo que é obrigatório que uma conexão seja criada antes do envio de qualquer célula de dados e, no final da trans- missão, a conexão deve ser encerrada. Endereços físico x Identificadores de circuitos virtuais Em uma rede como a Ethernet, a rota é definida por endereços de origem e de destino. No caso do protocolo ATM, por ser orientado à conexão, ele estabelece a rota antes da transmis- são, criando identificadores de rota (VPIs) e de circuitos (VCIs). Entrega multicast e de broadcast De um modo geral, as LANs, permitem, além da transmissão unicast, também as transmissões multicast e broadcast, isto é, elas podem enviar dados para um grupo de estações ou para todas as estações da rede, como é o caso das redes Ethernet. Não existe um meio fácil de realizar envios de pacotes multi- cast e broadcast em uma rede ATM. Interoperabilidade Em uma arquitetura mista, estações que fazem parte de uma rede antiga têm de ser capazes de se comunicar com esta- ções que estão conectadas diretamente a um switch Ethernet. A solução para essas situações foi o método denominado LANE (Local-Area Network Emulation – emulação de rede local). O método resolve os problemas listados anterior- mente e permite a comunicação de estações em uma arquitetura mista. Ele trabalha com o processo de emulação. Enquanto as estações usam serviços não orientados à conexão, o LANE emula um serviço orientado à conexão. 63 As estações usam os endereços de origeme de destino para iniciar a comunicação e, depois, são utilizados os VPIs e VCIs adequados. Esse método também permitirá o envio de dados unicast, multicast e broadcast. Além disso, ele converterá os quadros em célu- las ATM antes de serem enviados ao switch. Modelo Cliente-Servidor O LANE utiliza o modelo cliente-servidor para solucionar os quatro problemas listados anteriormente. Ele utiliza um tipo de cliente (LEC) e três tipos de servidores (LECS, LES e BUS), a saber: LEC (LAN Emulation Client – Cliente de Emulação de LAN) Todas as estações ATM deverão ter um software LEC instalado sobre os três protoco- los ATM. Os protocolos das camadas superiores não sabem da existência da tecnolo- gia ATM. Eles farão o envio de suas solicitações ao LEC para um serviço de LAN, como entrega sem conexão, utilizando endereços MAC unicast, multicast ou broadcast. O LEC apenas interpreta a solicitação e passa o resultado para os servidores. LECS (LAN Emulation Configuration Server – Servidor de Configuração de Emulação de LAN) Servidor usado para a conexão inicial entre o cliente e a LANE. Ele fica em espera contínua, aguardando o contato inicial. Tem um endereço ATM bem conhecido, que é familiar a todos os clientes de um sistema. LES (LAN Emulation Server – servidor de emulação de LAN) Quando uma estação recebe um quadro para ser enviado a outra usando um endere- ço físico, o LEC envia um quadro especial para o LES. O servidor cria um circuito virtual entre a estação de origem e a de destino. A estação de origem, agora, pode usar esse circuito virtual e o identificador correspondente para transmitir o quadro, ou quadros, ao destino. BUS (Broadcast/Unknown Server – broadcast/servidor desconhecido) Para realizar uma transmissão multicast ou broadcast é necessário o emprego desse servidor. Quando uma estação precisa enviar um quadro para um grupo de estações, ou para todas, primeiramente o quadro passa pelo BUS. Esse servidor apresenta co- nexões virtuais permanentes com todas as estações ATM. O servidor cria cópias do quadro recebido e envia uma cópia a um grupo de estações, ou a todas, simulando o processo de multicast ou broadcast. 64 Figura 37: Arquitetura cliente-servidor de uma LANE. Fonte: Adaptada de Kurose e Ross (2013, p. 539). Figura 38: LAN ATM de arquitetura mista usando LANE. Fonte: Adaptada de Kurose e Ross (2013, p. 540). LEC LAN ATAN LECS LES BUS EstaçãoEstação LEC (cliente) LEC (cliente) LEC (cliente) LEC (cliente) FC A B GD HE EstaçãoEstação EstaçãoEstação Conversor Conversor Switch ATM LEC (servidor) BUS (servidor) LES (servidor) Software de conversor MAC LEC AAL ATM Física Física Camadas superiores LEC AAL ATM Física Camadas superiores LES AAL ATM Física Camadas superiores BUS AAL ATM Física Camadas superiores LEC AAL ATM Física Camadas superiores LEC AAL ATM Física Software de conversor LEC MACAAL ATM Física Física Token Ring 65 Concluindo, vimos como são realizadas as sinalizações (sinais de controle), como a qua- lidade de serviço é garantida, as funcionalidades de cada camada ATM e como podemos inserir a tecnologia ATM em redes locais. Também apresentamos os problemas e como eles foram solucionados. 66 Arquitetura do protocolo FDDI; arquitetura do protocolo SDH FDDI (Fiber Distributed Data Interface – Interface de Dados Distribuídos por Fibra Óptica) É um protocolo de acesso a redes de anel duplo semelhante ao utilizado nas redes Token Ring, mas que tem como meio físico de transmissão a fibra óptica, possibilitando uma taxa de transmissão da ordem dos gigabits por segundo. A conexão aos dois cabos de fibra, um para cada anel, é feita por conectores duplex. Só um dos anéis é utilizado para a transmissão, enquanto o outro anel só será usado em caso de falhas. Se houver alguma falha, os anéis se unem, formando um único anel com o dobro do tamanho. Figura 39: Ajuste de falha em redes FDDI. Fonte: Elaborada pelo autor (2020). NÓ NÓ NÓ Ao falhar N Ó N Ó N Ó N Ó Desvios Rompido 67 O protocolo FDDI trabalha com os seguintes tipos de tráfego: 1. Síncrono: é garantida uma banda passante para a transferência dos dados e um limite máximo para o retardo de transferência. 2. Assíncrono: não existem garantias para nenhum limite superior para o retardo de transferência. A banda passante que não estiver sendo utilizada pelo tráfego síncro- no será alocada para o assíncrono. 3. Assíncrono restrito: quando o número de estações utilizando a banda passante da rede assíncrona é limitada. 4. Assíncrono não restrito: quando a quantidade não é limitada, permitindo que todas as estações possam se conectar. FDDI II É um protocolo de rede que possui a mesma arquitetura física que a FDDI, com a adição do serviço isócrono aos serviços já oferecidos pelo FDDI. Esse serviço caracteriza-se pelo envio ininterrupto de mensagens, em que o intervalo entre as mensagens é conheci- do e nunca muda, sendo utilizado para transferências de áudio e vídeo. Esse protocolo é totalmente compatível com o FDDI, no caso de nenhum canal isócrono ter sido alocado. No entanto, para que o FDDI II funcione, todas as máquinas da rede têm de estar usando esse protocolo. Caso exista alguma máquina utilizando o FDDI, o FDDI II não poderá ser utilizado. FDDI III ou FDDI Follow-On Enquanto a FDDI II é um superconjunto da FDDI, a FDDI III é um protocolo totalmente inovado frente ao FDDI. Ela deve oferecer o serviço de comutação de circuito, o serviço assíncrono e o ATM (Modo de Transferência Assíncrona). A taxa de transmissão da rede deve ser compatível com a arquitetura SDH (Synchronous Digital Hierarchy) e utilizar o mesmo cabeamento que o FDDI. A velocidade de transmissão pode chegar a 2,4 Gbps. 68 SDH (Synchronous Digital Hierarchy – Hierarquia digital síncrona) O SDH originou-se a partir do padrão SONET devido à necessidade de ser definida uma hierarquia com um método de combinação de sinais padrão. A estrutura do SONET é um quadro de 810 bytes repetidos a cada 125 µseg. Essa arquitetura leva cada byte do qua- dro a corresponder a um canal de 64Kbps. Portanto, a taxa básica do sinal SONET é de: Esse sinal básico é chamado de STS-1 (Synchronous Transport Signals Level 1 – Sinais de Transporte Síncrono de Nível 1). Ele é composto por 9 linhas de 90 bytes cada. Cada linha possui 3 bytes, que representam o overhead de seção e de linha, isto é, que indicam o ponto inicial do envelope de carga, que possui 87 bytes. O envelope de carga contém a carga útil com 86 bytes e 1 byte de overhead de caminho, que serve para sinalizar o local de início da carga. A figura a seguir ilustra essa composição. 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 𝑞𝑞𝑞𝑞𝑡𝑡𝑞𝑞𝑞𝑞𝑞𝑞𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑞𝑞 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑏𝑏á𝑠𝑠𝑠𝑠𝑠𝑠𝑡𝑡 = 𝑞𝑞𝑞𝑞𝑡𝑡𝑞𝑞𝑞𝑞𝑞𝑞𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑞𝑞 × 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡ℎ𝑞𝑞 𝑞𝑞𝑞𝑞 𝑞𝑞𝑞𝑞𝑡𝑡𝑞𝑞𝑞𝑞𝑞𝑞 𝑡𝑡𝑡𝑡 𝑏𝑏𝑏𝑏𝑡𝑡𝑡𝑡𝑠𝑠 × 8 𝑏𝑏𝑠𝑠𝑡𝑡𝑠𝑠 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑏𝑏á𝑠𝑠𝑠𝑠𝑠𝑠𝑡𝑡 = 1125µ𝑠𝑠𝑡𝑡𝑠𝑠 × 810 𝑏𝑏𝑏𝑏𝑡𝑡𝑡𝑡𝑠𝑠 × 8 𝑏𝑏𝑠𝑠𝑡𝑡𝑠𝑠 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑏𝑏á𝑠𝑠𝑠𝑠𝑠𝑠𝑡𝑡 = 8000𝑠𝑠𝑡𝑡𝑠𝑠 × 810 𝑏𝑏𝑏𝑏𝑡𝑡𝑡𝑡𝑠𝑠 × 8 𝑏𝑏𝑠𝑠𝑡𝑡𝑠𝑠 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑏𝑏á𝑠𝑠𝑠𝑠𝑠𝑠𝑡𝑡 = 51.840.000 𝑏𝑏𝑠𝑠𝑡𝑡𝑠𝑠/𝑠𝑠𝑡𝑡𝑠𝑠 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑏𝑏á𝑠𝑠𝑠𝑠𝑠𝑠𝑡𝑡 = 51,84 𝑀𝑀𝑏𝑏𝑠𝑠𝑡𝑡𝑠𝑠/𝑠𝑠𝑡𝑡𝑠𝑠 69 Figura 40: Quadro STS-1. Fonte: Adaptada de Kurose e Ross (2013, p. 562-563). Os overheads são divididos de modo a espelhar as funções executadas pelos equipa- mentos ao longo da transmissão em uma rede baseada em SONET. A figura a seguir ilustra essa arquitetura. 87 bytes 86 bytes 9 linhas 9 linhas 3 bytes 1 byte Overhead de seção e de linha Overhead de caminho Envelope de carga Carga útil 70 Figura 41: Camadas do SONET em terminais, MUXs e regeneradores. Fonte: Adaptada de Kurose e Ross (2013, p. 563). Vamos entender melhor as três camadas? Camada de seção Camada de linha Camada de caminho A camada de seção do SONET é processadapor cada um dos dispositi- vos da rede, até mesmo pelos regeneradores. O overhead de seção contém bits de delimita- ção de quadro e bits de paridade. A camada de linha é processada por cada um dos dispositivos da rede, com exceção dos regeneradores. Os bits de overhead de linha possuem indicadores limitantes das estruturas internas do envelope de carga – sendo essas estruturas as unidades de dados trocadas pela camada de caminho. A camada de caminho é processada somente pe- los terminais, sendo que os bits de overhead de caminho possuem bits de paridade, identificado- res de tipos de carga etc. Terminais Terminais STS-1 STS-1 Frame Luz Terminais Terminais MUX MUX MUX MUX Regenerador Regenerador Envelope de Carga seção seção linha caminho STS-Nc Camada de caminho Camada de linha Camada de seção Camada fotônica 71 Vários quadros STS-1 podem ser multiplexados byte a byte para formar os níveis supe- riores da hierarquia. Quando isso é feito, os sinais resultantes recebem a denominação de STS-2, STS-3, ..., STS-N, em que N representa a quantidade de quadros STS multiple- xados. Uma alternativa é fazer uma concatenação mantendo os bytes de overhead e de carga separados, sendo definido como STS-3c (três STS-1 concatenados). A figura a seguir representa o resultado da concatenação no STS-3c. Figura 42: Quadro concatenado STS-3c. Fonte: Adaptada de Soares, Lemos e Colcher (1995, p. 564). Ao definir o SDH, o ITU-T definiu o STS-3c como sinal básico para a interface NNI, reno- meando-o para STM-1 (Synchronous Transport Module Level 1 – Módulo de Transporte Síncrono de Nível 1). A partir do STM-1, a hierarquia digital do SDH é formada por STM-N, em que N é a quantidade de quadros STM-1 multiplexados. A tabela seguinte mostra as taxas de transferências da hierarquia do padrão SDH: Nível STM Velocidade (Mbps) STM-1 155,520 STM-3 466,560 261 bytes 9 linhas 9 bytes Overheads de seção e de linha Envelopes de carga 72 STM-4 622,080 STM-6 933,120 STM-8 1.244,160 STM-12 1.866,240 STM-16 2.488,320 STM-32 4.976,640 STM-64 9.953,280 Fonte: Elaborada pelo autor (2020). Para concluir, vimos como é a estrutura de uma rede de fibras ópticas, usando o protoco- lo FDDI e suas evoluções, e como ela resolve o problema de rompimento de fibra. Vimos, também, o protocolo SDH e a sua hierarquia STM assentados no uso de fibras ópticas, sendo a base de transmissão das redes ATM. Para ampliar o seu conhecimento veja o material complementar da Unidade 2, disponível na midiateca. MIDIATECA 73 Têm sido cada vez maiores as exigências nas redes de transmissão de dados, seja por taxas de transferências maiores ou pela garantia de qualidade de servi- ço oferecida. A rede ATM tem como objetivo atender a essas demandas. Inicial- mente, ela foi aplicada nas WANs e MANs, mas, com a diminuição dos custos de uma rede de fibras ópticas, essa tecnologia chegou também às LANs, prin- cipalmente em empresas de grande porte, tornando-a muito mais próxima de qualquer pessoa que trabalhe na área de informática. No final das contas, essa tecnologia é praticamente utilizada pelas empresas de telecomunicações, como Oi, Vivo, Claro, Tim, entre outras que venham a oferecer serviços de transmissão de dados de banda larga. Somente quem for trabalhar nessas empresas e ficar responsável pela rede de distribuição metro- politana terá acesso prático de expansão, manutenção e resolução de proble- mas com essas tecnologias. NA PRÁTICA 74 Resumo da Unidade 2 Nesta unidade vimos a tecnologia de redes de longa distância ATM, o porquê de sua necessidade e como ela é composta, tanto na parte física quanto na parte lógica, permi- tindo não só uma taxa de transmissão elevada como também uma oferta de qualidade de serviços. Do mesmo modo, foram vistas as redes de fibras ópticas, base para a tec- nologia ATM. Apesar de a tecnologia ATM poder ser aplicada em redes que não são de fibras ópticas, a sua concepção original foi direcionada a esse tipo de rede justamente por conta da alta taxa de transferência oferecida e da baixa influência de interferências. Apesar de sua concepção original ser para redes de longa distância, atualmente ela tam- bém está sendo aplicada em redes locais. Nesta unidade destacaram-se os seguintes conhecimentos: o protocolo ATM, as camadas do protocolo ATM e o funcionamento dos protocolos de redes de fibra óptica FDDI e SDH. CONCEITO 75 Referências KUROSE, J. F.; ROSS, K. W. Redes de computadores e a Internet: uma abordagem top- -down. 6. ed. São Paulo: Pearson Education do Brasil, 2013. ISBN: 978-85-8143-677-7. Biblioteca Virtual. SOARES, L. F. G.; LEMOS, G.; COLCHER, S. Redes de computadores das LABs, MANs e WANs às redes ATM. 2. ed. Rio de Janeiro: Campus, 1995. ISBN: 978-85-7001-998-x. Redes Wireless UNIDADE 3 77 Nesta unidade faremos uma breve revisão do sinal de Rádio Frequência, que é composto por ondas eletromagnéticas. Veremos sua composição e como é feita a transmissão. Após essa revisão serão apresentados os sistemas de multiplexação e de acesso ao meio dos serviços de telefonia móvel (celulares). Por último, apresentaremos as redes sem fio (Wireless), o padrão estabelecido para sua transmissão e como elas podem ser estruturadas. INTRODUÇÃO Nesta unidade você será capaz de: • Reconhecer os princípios da comunicação sem fio e as aplicações móveis, bem como a importância de sua implementação nos dias de hoje como fruto do avanço tecnológico e as tendências de comunicação cada vez mais eficazes. OBJETIVO 78 Revisão dos conceitos de Telecomunicações, Aspectos Operacionais, Composição do sinal RF Como já vimos, os sinais são enviados por meio de ondas. Dentre as diversas ondas existentes, temos as ondas eletromagnéticas. Essas ondas são especiais porque não precisam de um meio físico para se propagarem. Como o próprio nome já diz, as ondas eletromagnéticas são compostas por campos elétricos e campos magnéticos. Lembrando um pouco de física, sabemos que, se pas- sarmos uma corrente elétrica em um fio, é gerado em volta dele um campo magnético. Um experimento simples que pode ser realizado em casa é pegar um prego comprido e nele enrolar um fio, preferencialmente fino e encapado. Ao conectar as extremidades do fio em uma pilha de 1,5 volts, o prego funcionará como um ímã. Acabamos, então, de criar um eletroímã! Você pode experimentar também atraindo alguns clipes, pois esse eletroímã não é muito potente. Ao desconectar da pilha, o poder de atração acaba, pois o campo magnético é desfeito. Ele só existe enquanto a corrente elétrica estiver fluindo pelo fio. Exemplo Veja a Figura 1 que ilustra esse experimento e a Figura 2, que mostra o formato do cam- po elétrico formado pelo eletroímã. Figura 1: Eletroímã caseiro. Figura 2: Campo magnético no eletroímã caseiro. Fonte: https://www.sobiologia.com.br/conteu- dos/oitava_serie/eletricidade9.php Fonte: https://alunosonline.uol.com.br/fisica/ eletroimas.html https://www.sobiologia.com.br/conteudos/oitava_serie/eletricidade9.php https://www.sobiologia.com.br/conteudos/oitava_serie/eletricidade9.php https://alunosonline.uol.com.br/fisica/eletroimas.html https://alunosonline.uol.com.br/fisica/eletroimas.html 79 Em hipótese alguma conecte esse experimento a uma tomada! Por definição, esse experimento gera um curto-circuito, o que levará à possibilidade de queima de aparelhos. Ele deve ser realizado com uma bateria de, no máximo, 9 voltz. Importante Temos também o fenômeno oposto. Se variarmos um campo magnético próximo a um condutor, os elétrons desse condutor se movimentarão, gerando, então, uma corrente elé- trica. Esse experimento é mais difícil de realizar, pois, como a corrente gerada é pequena, teríamos que possuir um medidor sensível o suficiente para mostrar a energia gerada. Da mesma forma que no primeiro experimento a corrente precisa ser mantida para que o campo magnético exista. No segundo experimento é necessáriomanter a variação do campo magnético para que uma corrente seja gerada. Se o campo magnético ficar constante, a corrente elétrica deixará de existir. Dessa forma, para que consigamos gerar uma corrente de forma ininterrupta, teríamos que descobrir um jeito de ter o campo mag- nético variando também de forma ininterrupta. A melhor maneira de conseguirmos isso é realizando um movimento de vai e vem, o que leva à geração de uma corrente ora em um sentido (positivo) ora em outro (negativo) em função do vai e vem do campo magnético. Esse efeito de vai e vem costuma ser feito a partir de um movimento circular. Pois bem, acabamos de criar um gerador. Agora, a grande pergunta: de que modo tudo isso se encaixa nas ondas eletromagnéticas? Temos duas características das ondas eletromagnéticas que devemos levar em consideração. A primeira refere-se a não precisar de um meio fí- sico para se propagar, podendo assim propagar-se pelo vácuo; a segunda deve-se ao fato de ser composta por campos elétricos e magnéticos. A primeira característica acaba sendo respondida pela segunda. Repare na Figura 3 a seguir, onde temos representada uma onda eletromagnética. O campo elétrico está re- presentado em vermelho, no plano vertical, enquanto o campo magnético está represen- tado em verde, no plano horizontal. Existe uma relação de dependência entre esses dois campos, fazendo com que um dependa do outro. 80 O campo magnético é criado devido ao campo elétrico e o campo elétrico é criado devido ao campo magnético. Se um desses campos for eliminado, o outro também desaparece- rá. Tal interdependência faz com que a onda eletromagnética não dependa da existência de um meio físico para se propagar — como as ondas mecânicas, que dependem da vibração das moléculas do meio em que se encontram. É importante ressaltar que, apesar de não dependerem de um meio físico para se propa- garem, como o vácuo, elas serão afetadas por esses meios físicos, caso exista algum. Por isso, temos comportamentos diferentes em função do local em que a transmissão está sendo realizada. Certos materiais podem gerar uma perda maior de energia do que outros. Figura 3: Onda eletromagnética. Fonte: https://www.educamaisbrasil.com.br/enem/fisica/as-ondas-eletromagneticas A velocidade de propagação das ondas eletromagnéticas no vácuo é igual à velocidade da luz. Na verdade, a luz é uma onda eletromagnética. Outra característica muito importante com relação a essas ondas é a sua frequência. Dependendo da frequência da onda, ela tem comportamentos diferentes e também uma energia associada diferente. Quanto maior a frequência, maior é a energia necessária para criá-la e maior é a energia que ela carrega. A Figura 4 mostra alguns desses com- portamentos em função de sua frequência. https://www.educamaisbrasil.com.br/enem/fisica/as-ondas-eletromagneticas 81 Como podemos observar na Figura 4: • Nas frequências mais baixas ela tem um comportamento maior de espalhamen- to, por isso é interessante para as transmissões de rádio, as famosas RF (Rádio Frequência), podendo abranger uma área maior. • Conforme a frequência vai aumentando, chegamos a um comportamento mais direcional e com a capacidade de gerar aquecimento, essas são as micro-ondas. • Continuando, passamos a ter essas ondas com um comportamento luminoso. Como a luz ainda não é visível e está antes da luz de cor vermelha, ela foi chamada de infravermelho. • Em seguida, ocupando uma faixa relativamente pequena, temos as frequências percebidas pela visão humana. Essas são chamadas de espectro visível e vão des- de a cor vermelha até a violeta. • Acima do violeta, ainda com comportamento luminoso, porém não mais visível pelo ser humano, temos o ultravioleta. Esse nível de frequência já tem energia su- ficiente para gerar dano ao tecido, por isso não é indicado ficar exposto ao sol no horário de pico, pois é nesse momento que esses raios são mais intensos. • Seguindo, temos os Raios X, que, por possuírem muita energia, conseguem atra- vessar certos materiais, como tecidos biológicos. É por isso que os utilizamos para visualizar ossos e outros tecidos sem que seja necessário realizar uma incisão. No entanto, a penetração do Raio X não é inofensiva. Por conta da alta energia, confor- Figura 4: Espectro das ondas eletromagnéticas. Fonte: http://www.if.ufrgs.br/fis02001/aulas/aularad.htm ESPECTRO ELETROMAGNÉTICO Frequência (Hz) Comprimento de onda (m) Comprimento de onda do espectro visível (Å) http://www.if.ufrgs.br/fis02001/aulas/aularad.htm 82 me os raios vão passando pelo tecido, vão destruindo algumas células. Se a exposi- ção não for muito prolongada, a destruição terá um impacto irrisório. Porém, se um ser vivo for exposto a esse raio com muita frequência, os danos serão cumulativos, podendo, em algum momento, causar problemas. Materiais de alta densidade con- seguem bloquear a passagem dos Raios X, como o chumbo. É por isso que ele é utilizado como anteparo nas salas de exame. • Por último, temos os Raios Gama, que, devido à quantidade extrema de energia que carregam, normalmente são produzidos nas reações nucleares das estrelas. Como abordaremos apenas as transmissões de rádio, nos limitaremos a falar sobre a faixa de frequência inicial das ondas eletromagnéticas. Você sabe como criar uma onda eletromagnética? Preste atenção! Como vimos, se passarmos uma corrente elétrica por um condutor teremos a geração de um campo magnético. Se essa corrente for contínua, isto é, se tiver sempre o mesmo valor, o campo magnético resultante também será fixo, não sofrerá variações. Porém, para que um campo magnético crie uma corrente elétrica em um condutor, ele não pode ser fixo, precisa variar continuamente. Uma onda eletromagnética necessita que o campo elétrico crie um campo magnético e que o campo magnético crie um campo elétrico. Para isso, precisaremos de um campo magnético variável, o que nos leva ao ponto inicial. Se passarmos uma corrente variável em um condutor teremos a criação de um campo magnético também variável, que, por sua vez, criará um novo campo elétrico também variável, assim, sucessivamente, gerando algo semelhante ao que foi mos- trado na Figura 3. Esse condutor em que forçamos a passagem de uma corrente va- riável para a geração da onda eletromag- nética é a Antena Transmissora, como mostra a Figura 5. Figura 5: Antenas transmissoras e receptoras. Fonte: https://auno.org.ar/antenas-de-telefono- -entre-el-rechazo-de-los-vecino/ https://auno.org.ar/antenas-de-telefono-entre-el-rechazo-de-los-vecino/ https://auno.org.ar/antenas-de-telefono-entre-el-rechazo-de-los-vecino/ 83 E como uma antena receptora trabalha? Bem simples: ela também é formada por um simples condutor. Quando a onda eletromagnética passa por ele, o campo elétrico dessa onda faz com que os elétrons da antena movam-se na mesma frequência que ele, repro- duzindo uma corrente elétrica que será muito parecida com a corrente original utilizada na antena transmissora. Essa corrente elétrica gerada na recepção é encaminhada por fios até os aparelhos que farão o seu respectivo tratamento. Com isso, conseguimos fazer com que o sinal que estava na antena de transmissão seja reproduzido na antena de recepção. A energia que fez os elétrons da antena receptora moverem-se veio da onda eletromag- nética. Logo, a onda perdeu parte de sua energia. A energia nunca é criada e sim trans- formada. É desse modo que uma transmissão de Rádio Frequência é feita. Resumindo, vimos que as ondas de rádio são formadas por ondas eletromagnéticas e como essas ondas são formadas. Também foram apresentadas as características des- sas ondas, como elas são geradas nas antenas transmissoras e como é feita sua recu- peração nas antenas receptoras. 84 Sistema de Comunicação Móvel de Múltiplo Acesso por Divisão de Frequência (FDMA), Sistema de Comunicação Móvel de Múltiplo Acesso por Divisão de Tempo (TDMA), Sistema de Comunicação Móvel de Múltiplo Acesso por Divisãode Código (CDMA) Como vimos anteriormente, para realizar a transmissão de diversas fontes diferentes no mesmo meio físico é necessário o uso da técnica de multiplexação. O sistema de telefonia, seja móvel ou fixo, faz uso intenso da multiplexação, pois é preciso realizar a comunicação entre diversos clientes diferentes usando o mesmo meio físico. Sabemos que o fio que chega à residência das pessoas acaba sendo subutilizado, contendo a co- municação apenas dessa pessoa. No entanto, os troncos de comunicação entre centrais telefônicas, devido ao grande volume de comunicações diferentes envolvidas, terão que aproveitar ao máximo o que cada meio físico instalado pode oferecer, sendo necessário usar as técnicas de multiplexação existentes. A telefonia móvel tem como meio físico de comunicação o ar, e, uma vez que o meio é único, também será necessário o uso da multiplexação. Diferentemente do que ocorre com a telefonia fixa, a multiplexação começa no aparelho do cliente. Como já vimos a Multiplexação por Divisão de Frequência (FDM – Frequency Division Multiplexing) e a Multiplexação por Divisão de Tempo (TDM – Time Division Multiplexing), neste tópico veremos com mais detalhes a nova técnica de multiplexação, que é a Multiplexação por Divisão de Código (CDM – Code Division Multiplexing). Toda transmissão telefônica é full-duplex, isto é, o envio e a recepção acontecem de forma simultânea. Para isso, um canal de comunicação necessitará de duas bandas de transmissão. • Banda direta: responsável por enviar, realiza a transmissão da estação-base para a estação-móvel. • Banda reversa: responsável por receber, realiza a transmissão da estação-móvel para a estação-base. 85 Os métodos de acesso múltiplo foram criados como uma maneira de criar uma forma de os diversos clientes acessarem esses canais sem que prejudiquem os clientes que já estão com a comunicação em andamento. Para cada forma de multiplexação utilizada existe um método múltiplo de acesso próprio. Veja: Técnica de Acesso Múltiplo Técnica de Multiplexação FDMA (Frequency Division Multiple Access – Acesso Múl- tiplo por Divisão de Frequência) FDM TDMA (Time Division Multiple Access – Acesso Múltiplo por Divisão de Tempo) TDM CDMA (Code Division Multiple Access – Acesso Múltiplo por Divisão de Código) CDM Vamos conhecer cada método com mais detalhes. FDMA (Frequency Division Multiple Access – Acesso Múltiplo por Divisão de Frequência ) O FDMA utiliza o FDM como forma de multiplexação dos canais usados pelo cliente. Ele divide a banda larga que a operadora tem para operar em diversas bandas estreitas, cada uma em uma faixa de frequência diferente. Essas bandas estreitas serão divididas em quantidades iguais para bandas diretas e bandas reversas. Dessa forma, ao estabelecer um canal para a comunicação de um cliente, deverão ser alocadas duas bandas para esse canal, uma direta e uma reversa. A atribuição dos canais aos clientes é feita sob demanda, isto é, quando o cliente de- sejar estabelecer uma conexão, caso exista algum canal disponível, um canal será alo- cado. É nesse momento que serão escolhidas uma banda direta e uma banda reversa para compor o canal. Durante o período da comunicação, vulgarmente conhecida como chamada telefônica, não é permitido o compartilhamento desse canal por nenhum outro cliente. O FDMA possui as seguintes características: Simula o comportamento de uma comutação de circuitos. 86 Se durante uma chamada o cliente não estiver transmitindo, o canal ficará ocioso e não poderá ser utilizado por outros clientes para aumentar a capacidade da rede de telefonia, justamente porque o compartilhamento não é permitido, tal como acontece em uma comutação de circuitos, como visto no Tópico 3 da Unidade 1. Após a atribuição de um canal de voz, a estação-base e a estação-móvel transmitem simultaneamente e continuamente, cada uma usando a sua própria banda estreita. Cada canal do FDMA possui uma largura de banda de 30 KHz, fazendo com que cada banda tenha aproximadamente 15 KHz de largura de banda. A complexidade dos sistemas móveis FDMA é mais baixa do que a TDMA e a CDMA. Como o FDMA é um método de transmissão contínua, menos bits de sobrecarga são necessários. Essa técnica também pode ser utilizada para transmissões analógicas, diferentemen- te da TDMA e CDMA, que são usadas exclusivamente para transmissões digitais. TDMA (Time Division Multiple Access – Acesso Múltiplo por Divisão de Tempo ) O TDMA utiliza o TDM síncrono como forma de multiplexação dos canais usados pelos clientes. Ele permite que a transmissão utilize toda a banda da operadora, porém por in- tervalos de tempo determinados. O tempo é dividido em slots, cuja duração será determi- nada de forma a não causar atraso de transmissão que possa ser percebido pelo cliente. Cada slot representará uma banda. Logo, um canal de comunicação possuirá dois slots. Ao ser definida a quantidade de canais que esse sistema atenderá simultaneamente, tais canais serão agrupados formando um quadro. A transmissão do quadro será repetida ciclicamente, fazendo com que os canais também sejam repetidos ciclicamente. Tal como no FDMA, a alocação de canais para os clientes é feita sob demanda. Quando uma conexão é solicitada por um cliente, o sistema verifica a existência de algum canal disponível e, se houver, aloca-o. Nesse processo, dois slots serão alocados para repre- sentarem a banda direta e a banda reversa. O TDMA trabalha apenas com sinais digitais, não sendo possível a transmissão de si- nais analógicos. Enquanto os demais canais estão utilizando o meio de transmissão, o sistema vai armazenando os bits da transmissão e, quando chega a sua vez, ele envia todos os bits acumulados no intervalo de um slot. Esse procedimento é conhecido como buffer-and-burst (guardar e enviar em forma de rajada). 87 Considere de forma hipotética que um sistema trabalhe com quadros com dura- ção de 10 segundos, divididos em 10 slots de 1 segundo cada. Apesar de o canal possuir dois slots, como cada slot do canal trabalha em um sentido diferente, vamos analisar apenas a transmissão em um dos sentidos. Nesse caso, anali- saremos apenas um slot específico. Se a capacidade de transmissão do slot for de 1.000 bits/segundo, o sistema terá que acumular estes 1.000 bits durante 10 segundos, já que esta é a duração do quadro. Isso faz com que a taxa de geração de dados do cliente não ultrapasse 100 bits/segundo, para que, ao final dos 10 segundos de duração do quadro, exista um volume acumulado de no máximo 1.000 bits, para que estes possam ser transferidos em um slot de 1 segundo. É por isso que o sistema chama-se guardar e enviar em rajada — buffer-and-burst. Exemplo Como podemos observar pelo exemplo, a quantidade de canais estará diretamente rela- cionada com a largura de banda da operadora e com a taxa máxima de produção de bits estabelecida para os clientes. O TDMA possui as seguintes características: Uma única portadora é compartilhada com todos os usuários, e cada usuário utiliza slots de tempo não sobrepostos. A transmissão de dados não é contínua, e sim feita em rajadas, possibilitando menor uso da bateria, já que o transmissor pode ser desativado durante o período que não estiver em uso. Devido às transmissões descontínuas, o processo de transferência é muito mais sim- ples para as estações-móveis, pois elas são capazes de escutar a transmissão das outras estações-base durante os demais slots, facilitando a forma como os protoco- los localizam o slot de transmissão. Como a transmissão e a recepção acontecem em momentos diferentes, já que são feitas em slots distintos, o mesmo circuito multiplexador pode ser usado para os dois sentidos de transmissão, reduzindo os custos do equipamento da estação-móvel. Devido à transmissão em rajada, é necessária uma quantidade maior de bits de sin- cronismo, diminuindo a quantidade de bits da mensagem por slot. 88 CDMA (Code Division Multiple Access – Acesso Múltiplopor Divisão de Código ) O CDMA utiliza o CDM como forma de multiplexação dos canais usados pelo cliente. O seu funcionamento é bem diferente do FDMA e do TDMA. • O FDMA divide a banda larga da operadora em várias portadoras com largura de banda estreita para cada cliente, permitindo que as transmissões sejam feitas simultaneamente. • O TDMA permite que a transmissão utilize diretamente a banda larga da operado- ra, porém o tempo será dividido, fazendo com que cada cliente tenha um pedaço de tempo pequeno e limitado para realizar a transmissão. • O CDMA possibilita o uso da banda larga da operadora e também permite que todos os clientes realizem as transmissões simultaneamente. Você deve estar se perguntando: como isso é possível sem que haja a interferência destrutiva do sinal? O método consiste em aumentar o tamanho do bit, isto é, o bit de dado será substituído por uma sequência de bits que o representará. Esses bits serão chamados de “chips”. Essa sequência de chips é obtida fazendo-se a multiplicação do bit de dado por um códi- go de n chips, de forma que, se o bit de dado for igual a 0, a sequência será formada por n zeros. Já se o bit de dado for 1, a sequência será igual ao código de n chips. Cada código permitirá a realização de uma transmissão, isto é, definirá uma banda. Como um canal possui duas bandas, a direta e a reversa, são necessários dois códigos para compor um canal. Dessa forma, o valor do n equivalerá ao dobro da quantidade de canais que pode- rão realizar as transmissões simultaneamente, já que para cada canal haverá um código para o sinal de envio e outro código para o sinal de recebimento. Em outras palavras, se utilizarmos um código com 4 chips, poderemos ter 4 bandas simultâneas limitando-as a 2 canais; já um código de 8 chips permitirá 8 bandas simultâneas limitando-as a 4 canais. E como esses códigos impedirão a interferência destrutiva? Para entendermos, teremos que falar sobre ortogonalidade. Ortogonalidade A definição de “ortogonal” é, basicamente: perpendicular, que forma um ângulo de 90º com as retas de referência. 89 O ponto interessante da ortogonalidade é que vetores ortogonais entre si não interferem uns nos outros. Essa será a estratégia para evitarmos a interferência destrutiva dos diversos sinais. Em matemática temos uma operação feita entre dois vetores que permite saber a ca- racterística do ângulo entre eles. Essa operação é o produto escalar. Se o resultado for um valor menor do que zero (negativo), o ângulo entre os vetores é obtuso (maior do que 90º). Se o valor do produto escalar for maior do que zero (positivo), o ângulo entre os vetores é agudo (menor do que 90º) e se o produto escalar for zero, teremos um ângulo reto (90º) entre os vetores. Em outras palavras, eles são ortogonais. O cálculo do produto escalar é bem simples: basta pegar o valor da posição de um vetor e multiplicar pelo valor da posição equivalente no outro vetor; no final deve-se somar o resultado de todas essas multiplicações. O produto escalar entre dois vetores A e B é matematicamente escrito assim: Vetor ⃗ = (2, 5) Vetor = (3, 7) ⃗ = 2 x 3 + 5 x 7 = 6 + 35 = 41. Exemplo Outra forma de calcular o produto escala é: ⃗ ⃗ | |. | |. cos , em que ⃗ ⃗ | |. | |. cos é o ângulo en- tre os vetores ⃗ ⃗ | |. | |. cos e ⃗ ⃗ | |. | |. cos. Como o cosseno de 90º é igual a zero, todo vetor ortogonal terá o seu produto escalar igual a zero. No exemplo anterior utilizamos vetores de duas dimensões, mas o procedimento pode ser expandido para n dimensões, bastando para isso realizar o procedimento visto anteriormente. Os códigos que serão utilizados no CDMA precisam ser vetores ortogonais entre si. A dimensão n utilizada vai depender da quantidade de transmissões simultâneas que desejamos realizar. A questão agora é: como criar os diversos vetores ortogonais de que precisamos para representar nosso código? 90 O matemático francês Jacques Hadamard criou um procedimento simples para a obten- ção de códigos mutuamente ortogonais. O procedimento começa com uma matriz chamada de Matriz de Hadamard. A entrada dessa tabela pode ser +1 ou -1 e todas as linhas da matriz resultante são mutualmente ortogonais. Vamos considerar a matriz inicial 1 x 1 da Figura 6, cujo valor inicial é 1. 10 0 Figura 6: Matriz 1 x 1. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). A regra de formação da matriz irá gerar uma nova com o dobro do tamanho da anterior, mantendo todas as suas linhas mutualmente ortogonais. A regra de formação é a seguinte: Figura 7: Regra de formação. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). Copiar Copiar Inverter Neste caso, a inversão significa trocar o sinal do(s) número(s). Ao aplicar esta regra na matriz inicial teremos uma matriz 2 x 2: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 91 Ao aplicarmos o produto escalar entre essas duas linhas, temos: S = 1 x 1 + 1 x (-1) = 1 – 1 = 0, o que comprova a sua ortogonalidade. Para criar uma matriz maior devemos aplicar o mesmo método na matriz anterior 2 x 2, resultando em uma matriz 4 x 4 com todas as suas linhas sendo mutualmente ortogonais. 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 0 21 3 0 2 1 3 Figura 9: Matriz 4 x 4. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). Só como exemplo, abaixo está o produto escalar da linha 1 com a linha 3. S = 1 x 1 + (-1) x (-1) + 1 x (-1) + (-1) x 1= 1 + 1 – 1 – 1 = 0, o que comprova a sua ortogonalidade. Como último exemplo vamos novamente aplicar o método na matriz anterior 4 x 4, resul- tando em uma matriz 8 x 8 com suas linhas mutualmente ortogonais. 1 1 1 1 -1 1 -1 1 0 0 0 0 0 Figura 8: Matriz 2 x 2. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 92 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 0 21 3 0 2 1 3 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 4 6 5 7 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 4 65 7 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 0 21 3 0 2 1 3 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 4 6 5 7 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 4 65 7 Figura 10: Matriz 8 x 8. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). Se for aplicado o produto escalar entre duas linhas quaisquer dessa matriz, teremos o resultado igual a zero. Voltando agora ao CDMA, deixamos no ar a seguinte pergunta: como esses códigos im- pedirão a interferência destrutiva? A resposta é simples: basta termos códigos que sejam mutualmente ortogonais; dessa forma, ao serem misturados os sinais das diversas fon- tes, eles não irão se destruir mutualmente. Para que não haja confusão os bits desse código serão chamados de “chips” e o bit do sinal permanecerá sendo chamado de bit. Lembrando o procedimento, o sinal a ser transmitido terá os seus bits substituídos por uma sequência de n chips, que nada mais é do que o produto do valor do bit pelo valor dos chips do código estabelecido para essa banda de transmissão. O resultado será uma taxa de transmissão de chips muito maior do que a de bits do sinal. Esse procedimento é chamado de espalhamento. Vamos a um exemplo de espalhamento de envio e recebimento: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 93Primeiramente consideraremos a matriz a seguir de vetores ortogonais idêntica à criada no exemplo da matriz de Matriz de Hadamard. Figura 11: Matriz 8 x 8 de vetores ortogonais. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 -1 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 8 x 8 Figura 12: Código da Linha 1. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). 1 11 1-1 -1-1 -1código 1 Usuário 1: Para esse usuário vamos escolher o código formado pela linha 1, que será: Vamos considerar o envio do bit de valor 1. Teremos, assim, o seguinte procedimento: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 94 O valor do bit multiplica cada um dos chips do código, resultando no código de espalha- mento. É esse código de espalhamento que será enviado. Agora veremos como o receptor recuperará o valor do bit a partir desse código de espalhamento. Figura 13: Codificação e envio do 1º bit do Usuário 1. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). 1 1 11 1-1 -1-1 -1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 usuário 1 - dado X código 1 = Informação espalhada transmitida Informação espalhada recebida 1 11 1-1 -1-1 -1 1 11 11 11 8 / = 8 1 1 1 11 1-1 -1-1 -1 Informação espalhada recebida X código 1 = SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 1 - dado (RECUPERADO) Figura 14: Recepção e decodificação do 1º bit do Usuário 1. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 95 O procedimento realizado na figura nada mais é do que o produto escalar do valor re- cebido pelo código de espalhamento dividido pela quantidade de chips desse código. O resultado é o valor do bit enviado pelo usuário. Vamos repetir o processo considerando o envio de um bit de valor 0 (zero). Figura 15: Codificação, envio, recepção e decodificação do 2º bit do Usuário 1. 1 0 11 1-1 -1-1 -1 0 00 00 00 0 0 00 00 00 0 usuário 1 - dado X código 1 = Informação espalhada transmitida Informação espalhada recebida 1 11 1-1 -1-1 -1 0 / = 8 0 0 00 00 00 0 X código 1 = SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 1 - dado (RECUPERADO!) Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). Como podemos observar, o bit foi recuperado corretamente. Só para garantir o entendimento, vamos realizar o envio de outros dois usuários. http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 96 Usuário 2: Vamos escolher o código formado pela linha 2. O sinal a ser transmitido será formado por dois bits, como no exemplo 1, porém mostraremos os dois ao mesmo tempo. Sinal a ser transmitido: 11. Teremos os seguintes procedimentos: Figura 16: Codificação, envio, recepção e decodificação de 2 bits do Usuário 2. 1 1 1 1 1 1-1 -1-1 -11 11 1-1 -1-1 -1 1 1-1 -11 1-1 -1 1 1-1 -11 1-1 -1 1 1-1 -11 1-11 1-1 -11 1-1 -1 -1 usuário 2 - dado X código 2 = Informação espalhada transmitida Informação espalhada recebida 1 1-1 -11 1-1 -1 1 1-1 -11 1-1 -1 8 8 / / = = 8 8 1 1 1 11 11 11 1 1 11 11 11 1 X código 2 = SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 2 - dado (RECUPERADO!) SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 2 - dado (RECUPERADO!) Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 97 Usuário 3 Vamos escolher o código formado pela linha 3. O sinal a ser transmitido é: 01. Teremos os seguintes procedimentos: Figura 17: Codificação, envio, recepção e decodificação de 2 bits do Usuário 3. 0 1 1 1-1 -1-1 -11 1 1 1-1 -1-1 -11 1 1 1-1 -1-1 -11 1 1 1-1 -1-1 -11 1 1 1-1 -1-1 -11 1 1 1-1 -1-1 -11 1 0 00 00 00 0 0 00 00 00 0 0 00 00 00 0 usuário 3 - dado X código 3 = Informação espalhada transmitida Informação espalhada recebida 1 11 11 11 0 8 / / = = 8 8 0 1 1 X código 3 = SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 3 - dado (RECUPERADO!) SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 3 - dado (RECUPERADO!) Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). Até agora fizemos a transmissão e o recebimento dos dados transmitidos individualmen- te, mas como seria o funcionamento quando todos os usuários estiverem transmitindo simultaneamente? http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 98 O que não pode ser esquecido é que, quando enviados, esses sinais digitais são representados por ondas. Quando as ondas se encontram, acontece um somatório dos valores de suas am- plitudes. Se considerarmos a amplitude das ondas igual ao valor do chip sendo transmitido, teremos valores para as ondas individuais como sendo -1, 0 e 1. Na prática, quando diversos usuários estão transmitindo, o sinal resultante será a soma dos chips de todos esses sinais. Vamos considerar os três usuários já analisados anteriormente e que eles estão realizan- do a seguinte transmissão: Se colocarmos esses sinais no formato de ondas eles ficariam assim: 1 11 1-1 -1-1 -1 0 00 00 00 0 1 1-1 -11 1-1 -1 1 1-1 -11 1-1 -1 1 1-1 -1-1 -11 10 00 00 00 0 usuário 1 - dado usuário 2 - dado usuário 3 - dado Figura 19: Forma de onda da transmissão dos dados espalhados dos três usuários. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). 1 11 1-1 -1-1 -1 0 00 00 00 0 1 1-1 -11 1-1 -1 1 1-1 -11 1-1 -1 1 1-1 -1-1 -11 10 00 00 00 0 usuário 1 - dado usuário 2 - dado usuário 3 - dado Figura 18: Dados após o espalhamento transmitido pelos três usuários. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 99 Ao serem combinados durante a transmissão, o sinal que chegará ao receptor será a soma algébrica dos valores dos seus chips. 2 20 00 0-2 -2 2 2-2 -20 00 0combinados (todos os dados de usuários) Figura 20: Resultado da superposição (combinação) dos dados espalhados dos três usuários. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). Inicialmente parece impossível recuperar o sinal original de um determinado usuário, já que todos eles estão misturados. Isso seria verdade se não tivéssemos usado um código ortogonal. Como vimos, códigos ortogonais não interferem nos demais sinais, de modo que a recuperação é possível. O procedimento de recuperação dos sinais é o mesmo que foi utilizado quando tínhamos apenas o sinal de um usuário, isto é, fazer o produto escalar do valor recebido com o có- digo do usuário e depois dividir por n, que representa o total de chips do código. Seguindo o procedimento, temos: Usuário 1 2 2 1 1 2 2 1 1 0 0 1 1 0 0 1 1 0 0 -1 -1 0 0 -1 -1 -2 2 -1 -1 -2 2 -1 -1 2 2 2 2 -2 -2 -2 -2 0 0 0 0 0 0 0 0 8 0 / / = = 8 8 1 0 SOMATÓRIO de todas as “entradas” Número de“entradas” usuário 1 - dado (RECUPERADO!) SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 1 - dado (RECUPERADO!) combinados X código 1 (usuário 1) = Figura 21: Recuperação dos 2 bits transmitidos pelo Usuário 1. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 100 Como podemos ver, o sinal do Usuário 1 foi perfeitamente recuperado. Usuário 2 2 2 1 1 2 2 1 1 0 0 -1 -1 0 0 -1 -1 0 0 1 1 0 0 1 1 -2 2 -1 -1 -2 2 -1 -1 2 2 2 2 -2 2 -2 2 0 0 0 0 0 0 0 0 8 8 / / = = 8 8 1 1 SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 2 - dado (RECUPERADO!) SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 2 - dado (RECUPERADO!) combinados X código 2 (usuário 2) = Figura 22: Recuperação dos 2 bits transmitidos pelo Usuário 2. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). Como podemos ver, o sinal do Usuário 2 também foi perfeitamente recuperado. E, para finalizar: Usuário 3 2 2 2 2 0 0 0 0 0 0 0 0 -2 -2 -2 -2 2 2 2 2 -2 2 -2 2 0 0 0 0 0 0 0 0 0 8 / / = = 8 8 0 1 SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 3 - dado (RECUPERADO!) SOMATÓRIO de todas as “entradas” Número de “entradas” usuário 3 - dado (RECUPERADO!) combinados X código 3 (usuário 3) = Figura 23: Recuperação dos 2 bits transmitidos pelo Usuário 3. Fonte: http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx. Adaptada pelo autor (2020). 1 11 1-1 -1-1 -1-1 -1-1 -11 -11 1 Pronto! O sinal do Usuário 3 também foi perfeitamente recuperado. http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx http://www.telecomhall.com/br/o-que-significa-ortogonal-em-redes-sem-fio.aspx 101 Existe um problema importante a ser resolvido que é a diferença na potência do sinal da estação-móvel que chega à estação-base. Como vimos no exemplo acima, todo o pro- cedimento considera que a potência dos sinais que chegam à estação-base são iguais, pois dessa forma teremos o somatório das amplitudes sendo feito na mesma propor- ção para todos. Porém, quanto mais distante estiver a estação-móvel da estação-base, mais fraco chegará o seu sinal. Por conta disso, é necessário que haja um controle de potência das estações-móveis de forma que as estações mais distantes transmitam com uma potência maior do que as estações mais próximas à estação-base, de modo que esses sinais cheguem com a mesma potência na estação-base. Esse problema é denominado próximo-distante. Agora, conheça as características do CDMA: Muitos usuários de um sistema CDMA compartilham a mesma frequência de transmissão. Diferentemente do TDMA ou FDMA, o CDMA tem um limite de capacidade flexível. Aumentar o número de usuários em um sistema CDMA eleva o patamar de espalha- mento de maneira linear. Dessa forma, não existe um limite absoluto para o número de usuários no CDMA. Conforme a quantidade de usuários aumenta, o desempenho do sistema diminui gradualmente para todos; ao diminuir-se a quantidade de usuá- rios, o desempenho aumenta. O problema do próximo-distante ocorre em um receptor CDMA se um usuário indesejado estiver transmitindo com uma potência alta em comparação com os demais usuários. Por fim, vimos como que é realizada a multiplexação e os mecanismos de acesso ao meio nos sistemas de telefonia móveis. Foram apresentadas as características e o fun- cionamento dos protocolos FDMA, TDMA e CDMA. 102 Comunicação entre estações, Troca de informação: protocolo CSMA/CA, Topologia de Conexão: Ad-Hoc, Infraestrutura, Múltiplos Pontos de Acesso, interconexão de segmentos de rede, Repetidores, Acesso a redes físicas Antes de iniciarmos este tópico proponho uma reflexão: quando possuímos vários equi- pamentos conectados ao mesmo meio de comunicação, como fazer para que todos eles comuniquem-se entre si? Para isso devemos fazer uso de algum mecanismo para aces- sar esse meio de comunicação, permitindo não só que todos tenham a chance de aces- sar esse meio, mas que também não atrapalhem uma comunicação em andamento. Tratando-se de meios físicos confinados, isto é, um cabo de transmissão, seja elétrico ou óptico, temos maior controle em relação ao alcance dos sinais transmitidos. Porém, o mesmo não acontece com as transmissões sem fio, em que, devido à falta de confina- mento, não temos o controle em relação a esse alcance. Para podermos realizar os acessos sem fio e garantirmos, dentro das possibilidades, que as comunicações aconteçam de forma satisfatória, teremos que definir um protocolo de acesso ao meio. Esse tipo de protocolo estabelecerá as regras de comportamento entre os equipamentos para que o acesso ao meio possa ser compartilhado da melhor maneira possível. Dentre os diversos protocolos que existem, veremos o CSMA/CA, que é um dos mais utilizados. Quer saber mais sobre outros protocolos de acesso ao meio? Leia o Capítulo 4 do livro: TANENBAUM, A. S.; WETHERALL, D. Redes de Computadores. 4. ed. São Paulo: Pearson Prentice Hall, 2011. ISBN: 978-85-7605-924-0. Biblioteca Virtual. Ampliando o foco 103 CSMA (Carrier Sense Multiple Access – Acesso Múltiplo por Detecção de Portadora ) Inicialmente vamos definir o CSMA puro. Esse protocolo tem como funcionamento básico ve- rificar se o meio de transmissão já está ocupado com a transmissão de algum dispositivo. Como toda transmissão usa uma portadora definindo uma frequência de transmissão, esse protocolo escuta o meio para saber se existe alguma portadora de frequência especificada. A existência de uma portadora indica que o meio já está em uso; logo, não será permitido realizar a transferência. Assim surgiu o nome do protocolo: Acesso Múltiplo por Detec- ção de Portadora, ou, do inglês, CSMA. Vamos pensar? Imagine uma webconferência semelhante às que acontecem nos telejornais hoje em dia. Teremos várias pessoas conectadas que eventualmente pretendem falar. Para que não vire uma bagunça generalizada com todos falando ao mesmo tempo sem que alguém consiga entender o que o outro fala, alguma regra deve ser definida. É o que chamamos de acesso ao meio. Sem esse controle não haveria comunicação. A sociedade já tem protocolos definidos, alguns deles por mero bom senso. Os protoco- los utilizados com frequência socialmente funcionam seguindo regras básicas. Veja: 1. Verificar se alguém já está falando. 2. Enquanto houver alguém falando, aguardar até que a pessoa finalize a fala para que, então, você possa falar. 3. Nesse momento você começa a falar e, assim, uma vez ocupado o meio com a sua fala, os demais esperarão que você termine para que então possam falar, voltando ao item 1. O CSMA trabalha de forma muito semelhante às regras apresentadas anteriormente. Como trata-se de máquinas, não existe bom senso, mas podemos simular um compor- tamento semelhante. Veja as regras em relação ao protocolo CSMA. São elas: 1. O dispositivo verifica se existe alguma portadora no meio de transmissão. 2. Enquanto houver uma portadora, aguardar até que a portadora suma para que, então, comece a transmitir. 104 3. Nesse momento você começa a transmitir, ocupando o meio com a sua portado- ra e fazendo com que os demais dispositivos esperem por um novo momento de silêncio para que possam transmitir, voltando ao item 1. Parece que está perfeito. Porém, voltaremos à analogia com as pessoas em uma webconferência. E se acrescentarmos atrasos significativos na percepção do silêncio pe- las pessoas? Nesse caso, outro problema começaria a aparecer. Uma pessoa que está mais próxima (ou com atraso menor) começa a falar; porém, uma pessoa mais distante (ou com atra- so maior) ainda não percebeu que alguém já está falando.Por conta disso, a segunda pessoa também começa a falar. A consequência é a mistura das duas falas levando à incompreensão do que está sendo dito por essas pessoas. Contudo, se considerarmos que as duas pessoas escutam o que está sendo transmitido durante a própria fala (um tipo de retorno). Quando a mistura das duas falas chegasse aos seus ouvidos, ela perceberia que o que foi dito ficou incompreensível e decide parar de falar e esperar novamente por um momento de silêncio para, então, tentar falar novamente. Se considerarmos que devido à diferença entre as pessoas o tempo de espera para voltar a falar será diferente, pode ser que na próxima tentativa esse problema não volte a ocorrer. Esse método funciona justamente porque as pessoas que estão falando também estão escutando o resultado da fala no meio de transmissão, permitindo que seja detectada a mistura com a fala de outra pessoa. Essa mistura é chamada de colisão de sinais, ou seja, permite detectar colisões. No caso do CSMA acontece exatamente o mesmo. Existe a possibilidade de uma máquina detectar o silêncio no meio de transmissão e começar a enviar um sinal. Em algum lugar ao longo desse mesmo meio de transmissão, devido ao atraso, outra máquina ainda não per- cebeu a transmissão já iniciada e também começa uma transmissão. Consequentemente, esses dois sinais irão colidir, tornando as transmissões incompreensíveis para todos que estão conectados a esse meio. Se permitirmos que as máquinas que estão enviando os si- nais também escutem o meio para saber se a sua transmissão está prosseguindo correta- mente, elas terão condições de perceber a colisão, possibilitando que parem de transmitir. Então, após uma pequena pausa aleatória, denominada backoff exponencial, recomeça- -se a transmissão. Como o tempo de pausa será aleatório e, provavelmente, diferente entre as máquinas, é provável que o problema da colisão não ocorra mais. 105 Essa forma de funcionamento do CSMA em que a colisão pode ser detectada é conheci- da como CSMA/CD (Carrier Sense Multiple Access with Collision Detection – Acesso Múltiplo por Detecção de Portadora com Detecção de Colisão), como mostra a figura a seguir. Repare que antes que o sinal da máquina A chegue na máquina B, a máquina B começa a transmitir gerando a colisão. Essa colisão chegará nas duas máquinas fazen- do com que elas interrompam a transmissão para uma nova tentativa. Existem várias tecnologias de rede sem fio que utilizam uma forma deri- vada do CSMA/CD. Os hardwares de rede sem fio utilizam RF para transmi- tir sinais através do ar, para que outros equipamentos possam recebê-los. Tal como outras tecnologias de rede, as redes sem fio também usam o com- partilhamento do meio para a comuni- cação das diversas máquinas. Isto é, todos os equipamentos conectados a uma determinada rede sem fio estão configurados para usar uma mesma portadora de RF. Desse modo, a mul- tiplexação no tempo deve ser utilizada para o envio dos pacotes. Como é feito o controle de com- partilhamento do meio? A diferença na forma como as redes cabeadas e as sem fio controlam o compartilhamento do meio advém da maneira como as transmissões sem fio se propagam. Mesmo com a energia eletromagnética das ondas de rádio propagando-se em todas as dire- ções, os transmissores de redes sem fio usam baixa potência na transmis- são, o que significa que esta tem ener- gia suficiente somente para alcançar pequenas distâncias. Temos ainda o problema das obstruções metálicas, que podem reduzir drasticamente o sinal ou até mesmo bloqueá-lo, A A A A A A B B B B B B Colisão Figura 24: Funcionamento do CSMA/CD . Fonte: Soares, Lemos e Colcher (1995, p. 176, fig. 84). 106 fazendo com que os equipamentos sem fio localizados em pontos bem distantes ou atrás de obstruções não recebam as transmissões uns dos outros. O fato de não ser garantido o recebimento do sinal por todas as máquinas participantes da rede sem fio impede que o mecanismo de acesso ao meio CSMA/CD seja utilizado. Para entender melhor o porquê disso considere três equipamentos conectados a uma mesma rede sem fio, posicionados de tal forma que nem todos consigam receber o sinal dos demais, como mostra a Figura 25. A B C Figura 25: Exemplo de Comunicação Sem Fio. Fonte: Elaborada pelo autor (2020). d d Podemos observar que os dois equipamentos das extremidades (A e C) estão muito dis- tantes um do outro para receberem suas transmissões. Dessa forma, usar a escuta de portadora e detecção de colisões (CSMA/CD) não será suficiente. Por exemplo: suponha que o equipamento A esteja transmitindo um pacote para o equipamento B, como mos- tra a Figura 26. Como o equipamento C não consegue receber a transmissão, ele poderia dar início a uma transmissão, levando a uma colisão como mostra a Figura 27. De forma semelhante, se ambos os equipamentos, A e C, realizassem uma transmissão ao mesmo tempo, somente o equipamento B poderia detectar essa colisão. Figura 26: Transmissão de A para B. Fonte: Elaborada pelo autor (2020). A B Cd d 107 A B Cd d Figura 27: Colisão entre A e C. Fonte: Elaborada pelo autor (2020). Para garantir que todos os equipamentos compartilhem o meio de transmissão correta- mente foi criado um formato do CSMA especialmente voltado para as redes sem fio, cha- mado de CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance – Acesso Múltiplo por Detecção de Portadora com Prevenção de Colisão). Em vez de depender de que todos os equipamentos da rede recebam todas as transmissões realizadas, o CSMA/CA, antes de enviar um pacote de dados, realiza uma breve transmissão para o destinatário. Por exemplo, suponha que o equipamento A da Figura 25 deseje enviar um pacote para o equipamento B. Antes de enviar o pacote, o equipamento A primeiro trans- mite uma breve mensagem de controle indicando o interesse de realizar tal transmissão, como mostra a Figura 28 a seguir. Figura 28: Sinal de controle para B. Fonte: Elaborada pelo autor (2020). A B Cd d 108 No momento em que o equipamento B recebe a mensagem de controle, ele indica que está pronto para receber respondendo com outra mensagem de controle. No momento em que o equipamento A receber a resposta de B, ele inicia a transmissão do pacote. A vantagem de aguardar por uma res- posta do receptor pretendido, no caso o equipamento B, torna-se clara quando ve- mos o que acontece com o equipamento C. A Figura 29 mostra que, mesmo que o equipamento C não receba a transmis- são realizada pelo equipamento A, ele recebe a transmissão realizada pelo equi- pamento B. Desse modo, uma vez que o equipamento B envia uma resposta, todos os equipamentos que estejam ao alcance irão aguardar, pois espera-se que um pacote seja transmitido (mesmo não podendo receber a transmissão). Com essas duas transmissões de contro- le realizadas pelos equipamentos A e B, é reservada uma região espacial dedicada à transmissão apenas desses dois equipa- mentos, garantindo assim que não ocor- rerão colisões em suas transmissões. A Figura 30 mostra a região reservada. É possível que ocorram colisões de men- sagens de controle no uso do CSMA/CA, mas elas podem ser facilmente tratadas. Na Figura 30, por exemplo, se os equipa- mentos A e C enviassem um pacote para o equipamento B no mesmo instante, fa- zendo com que cada um deles também enviasse simultaneamente uma men- sagem de controle, essas mensagens chegariam ao mesmo tempo no equipa- mento B, causando uma colisão. Quan- Figura 29: Resposta de B ao sinal de controle de A. Fonte: Elaborada pelo autor (2020). A B Cd d d d A B C Região reservada para comunicação entre A e B Figura 30: Região reservada para a comunicação de A com B. Fonte: Elaborada pelo autor (2020). 109 do essas colisões ocorrem os equipamentos remetentes aplicam o backoff exponencial aleatório antes de realizar o reenvio das mensagens de controle. Como as mensagens de controle são muito menores do que os pacotes de dados,a chance de uma segunda colisão é muito menor do que com o CSMA/CD. Obviamente, mais cedo ou mais tarde uma das duas mensagens de controle chegará intacta e o equipamento B conseguirá transmitir uma resposta. Topologias de rede e conexão Aproximadamente na mesma época em que os laptops tornavam-se populares, as pes- soas imaginavam o dia em que, ao entrarem em um escritório, como em um passe de mágica seus laptops se conectariam à Internet. Nessa época nem se pensava na existên- cia de smartphones. A partir disso, diversas empresas começaram a pensar sobre como isso seria possível. Vamos refletir juntos! A maneira mais prática foi instalar nos escritórios e nos laptops transmissores e recep- tores de rádio, permitindo assim a comunicação entre eles. Graças a esse trabalho, ra- pidamente as redes sem fio começaram a ser comercializadas por diversas empresas. Com tantas empresas trabalhando no projeto de redes sem fio, um problema que surgiu foi encontrar redes que fossem compatíveis. Essa disseminação de padrões resultou no seguinte fato: um equipamento usando um transmissor da marca X não se conectaria a outro equipamento usando um transmissor da marca Y. Foi quando os fabricantes deci- diram que um padrão de rede sem fio seria uma boa ideia. Diante disso, o comitê do Instituto de Engenheiros Eletricistas e Eletrôni- cos – IEEE, que padronizou as redes com fio, ficou incumbido de definir um padrão de redes sem fio. O padrão recebeu a nomenclatura 802.11, mas foi popularmente chamado de Wi-Fi®. Esse “novo padrão” tinha que funcionar em dois modos: 1. Na presença de uma estação-base: nesse modo, todo equipamento se conec- taria a uma estação-base, conhecida por AP (Access Point – Ponto de Acesso) na terminologia do 802.11. 110 Estação-base (AP) Para rede fisicamente conectada Figura 31: Rede sem fio com uma estação-base (AP). Fonte: Adaptada de Tanenbaum e Wetherall (2011, p. 73, fig. 1.35a). Figura 32: Rede sem fio Ad Hoc. Fonte: Adaptada de Tanenbaum e Wetherall (2011, p. 73, fig. 1.35b). 2. Na ausência de uma estação-base: nesse modo, os equipamentos se conecta- riam diretamente uns com os outros. Essa topologia é denominada ad hoc. Uma si- tuação típica desta topologia hoje em dia é o uso do bluetooth, que permite que duas ou mais pessoas próximas umas das outras, em um local não equipado com uma rede sem fio, façam com que seus equipamentos comuniquem-se diretamente. Outra questão foi como denominar o padrão. Como todos os demais padrões de redes eram definidos por números como 802.1, 802.2, 802.3, até 802.10, o padrão de redes sem fio foi denominado 802.11. 111 Agora você consegue imaginar os desafios encontrados? Houve muitos desafios. Vamos conhecer alguns deles. • Encontrar um espectro de frequências que fosse adequado para as transmissões sem fio e que estivesse disponível, preferencialmente em todo o mundo. • O fato de o alcance dos sinais de rádio ser finito. • Garantir a privacidade dos usuários. • Considerar a autonomia limitada das baterias. • Levar em conta a saúde humana, já que as ondas de rádio podem causar câncer. • Compreender as implicações da mobilidade dos equipamentos. • Definir um sistema que oferecesse uma largura de banda que fosse suficiente para ser economicamente viável. Devido ao domínio do padrão Ethernet para as redes locais, uma das decisões do comi- tê foi tornar o padrão 802.11 compatível com o padrão Ethernet acima da camada de enlace, possibilitando o envio de pacotes IP pela rede sem fio da mesma forma que um equipamento conectado em uma rede Ethernet. Além disso, existem diversas diferenças em relação à Ethernet, tanto na camada física como também na camada de enlace de dados, e essas diferenças deveriam ser tratadas pelo novo padrão. A saber: • Primeira questão: o padrão Ethernet usa o CSMA/CD como mecanismo de aces- so ao meio, o que leva um equipamento usando esse padrão a ter sempre que es- cutar o meio antes de transmitir. Somente se o meio estiver ocioso o equipamento poderá iniciar a transmissão. Como foi visto antes, esse método não funciona muito bem nas redes sem fio. • Segunda questão: possibilidade de objetos sólidos refletirem o sinal de rádio, fa- zendo com que o sinal fosse recebido diversas vezes. Essa interferência é denomi- nada de atenuação multiponto. • Terceira questão: a mobilidade. Grande parte dos softwares não sabem disso. Por exemplo, muitos editores de textos têm uma lista de impressoras que podem ser escolhidas na hora da impressão. Quando o equipamento no qual o editor de textos está rodando é levado para outro local, esta lista de impressoras pode se tornar inválida. • Quarta questão: troca automática de estações-base. Se um equipamento afastar- -se da estação-base (AP) a que ele está conectado a ponto de entrar no alcance de uma estação-base diferente, será necessário realizar algum método de transferên- cia. Esse problema é mais comum com os smartphones, porém, por não acontecer com o padrão Ethernet, ele precisa ser resolvido. 112 De forma geral, a rede prevista consistiria em várias células, cada uma possuindo sua própria estação-base e essas estações-base conectadas por uma rede Ethernet, como mostra a Figura 33. Observe a linha do tempo sobre o surgimento do padrão de rede sem fio. Portal Rede Ethernet Célula Estação Base (AP) Fonte: Adaptada de Tanenbaum e Wetherall (2011, p. 75, fig. 1.37). Figura 33: Uma Rede 802.11 de várias células. 1997 2003 2009 O comitê apresentou o padrão que tratou dessas e de outras questões. Na épo- ca, a rede sem fio descrita funcionava a uma velocidade de 1 Mbps ou 2 Mbps. Logo de cara as pessoas reclamaram de sua lentidão e assim começaram os estudos por padrões mais rápidos. Desses estudos surgiram dois padrões no- vos que foram publicados em 1999. O padrão 802.11a, que utiliza uma faixa de frequência mais larga chegando a velocidades de 54 Mbps, e o padrão 802.11b, que, apesar de utilizar a mesma faixa de frequência que o 802.11, utiliza uma técnica de modulação diferente, conseguindo chegar até 11 Mbps. O comitê 802 apresentou um outro padrão, o 802.11g, que também utiliza a técnica de modulação do 802.11a, mas usa a faixa de frequências do 802.11b, chegando também a 54 Mbps. O comitê apresentou o padrão 802.11n, que, em teoria, podia chegar a até 600 Mbps, mas na prática chega a 300 Mbps. 113 Alguns outros padrões foram lançados ao longo dos anos, mas destaco o 802.11ac, que utiliza a frequência de 5 GHz, podendo chegar à velocidade de 6 Gbps se forem utilizadas 8 vias (antenas) de comunicação. De modo geral, os equipamentos usam 3 vias chegando a 1,3 Gbps. Por fim, vimos os mecanismos de acesso ao meio das redes sem fio (wireless), apresen- tando o funcionamento do protocolo de acesso ao meio CSMA/CA. Também abordamos como essas redes podem ser conectadas e o que é o padrão 802.11, totalmente dedica- do às redes sem fio. 114 Para ampliar o seu conhecimento veja o material complementar da Unidade 3, disponível na midiateca. MIDIATECA Com a grande popularização das comunicações sem fio, vemos essas tecno- logias constantemente ao nosso redor. Você poderá atuar desde a instalação de redes wireless nas casas das pessoas e nas empresas, analisando como resolver os problemas de falta de sinal em determinadas regiões, até o projeto e a instalação de antenas de alta potência nos sistemas de telefonia móvel. Por exemplo, tanto em empresas como em residências teremos problemas com a propagação do sinal de Rádio Frequência que compõe as redes sem fio. Pare- des, móveis e até equipamentos elétricos que estão nas proximidades podem afetar o modo como esse sinal está sendo distribuído ao longo do ambiente. É muito comum existirem áreas que ficam com o sinal muito fraco a ponto de os aparelhos não conseguirem se conectar. Com o devido equipamento de medição o profissional poderá realizar a avaliação de como o sinal está se comportando nas diversas áreas e descobrir qual é a melhor forma desolucionar o problema, que pode ir desde a mudança do local do AP (Access Point) até a instalação de repetidores para garantir o acesso em todos os ambientes desejados. NA PRÁTICA 115 Resumo da Unidade 3 Nesta unidade fizemos uma abordagem dos sistemas de comunicação sem fio. Fomos desde o básico dessas transmissões, que é o sinal de Rádio Frequência, passando pelos sistemas de telefonia móveis, que usam tecnologias mais avançadas de acesso ao meio para trabalhar com um grande volume de celulares, as grandes distâncias envolvidas e a mobilidade dos aparelhos. Finalizamos com as formas de conexão de redes sem fio de pequeno alcance, normalmente instaladas em residências e escritórios. Redes wireless; transmissão de sinais de Rádio Frequência (RF); mecanismos de acesso múltiplo utilizado pelas redes móveis; conexão de dispositivos sem fio. CONCEITO 116 Referências COMER, D. E. Redes de Computadores e Internet, 2. ed. Porto Alegre: Bookman, 2001. ISBN 85-7307-778-6. SOARES, L. F. G.; LEMOS, G.; COLCHER, S. Redes de Computadores das LABs, MANs e WANs às Redes ATM. 2. ed. Rio de Janeiro: Campus, 1995. ISBN: 978-85-7001-998-x. TANNBAUM, A. S.; WETHERALL, D. Redes de Computadores. 4. ed. São Paulo: Pearson Prentice Hall, 2011. ISBN: 978-85-7605-924-0. Biblioteca Virtual. Segurança de Redes UNIDADE 4 118 Nesta unidade veremos como a transmissão de redes é vulnerável à interceptação de dados. Conheceremos algumas técnicas de criptografia, visando tornar as nossas trans- missões mais seguras, minimizando as chances de alguém conseguir capturar e en- tender nossas informações, isto é, teremos sigilo dos dados. Veremos também como garantir que o emissor de um conjunto de dados é realmente quem diz ser, garantindo a autenticação e finalizando com o impedimento de adulteração dos dados enviados, ga- rantindo o recebimento da informação correta, isto é, a integridade dos dados. INTRODUÇÃO Nesta unidade você será capaz de: • Reconhecer a importância da Segurança de Redes na Sociedade atual e como proteger os dados em trânsito pelas redes de computadores. OBJETIVO 119 Conceitos de Gestão do Risco em Segurança da Informação; Estatísticas de ataques; Conceitos básicos de Segurança; Criptografia Simétrica e Assimétrica; Sistemas Simétricos. Taxonomia dos algoritmos. Criptoanálise e Força Bruta; Esteganografia; e DES – Data Encryption Standard; Advanced Encryption Standard (AES); 3DES; RC4 Todas as atividades realizadas, tanto pessoais quanto empresariais, possuem algum tipo de risco envolvido, frutos da incerteza do resultado que será obtido por conta de sua execução. Então, como podemos definir o que é risco? Definimos o risco como sendo o efeito da incerteza nos objetivos. Agora que já sabemos o que é risco, podemos dizer que a Gestão de Riscos é a adminis- tração da incerteza, objetivando minimizá-la a um nível aceitável. Podemos definir como aceitável o grau de risco que se deseja correr em relação à atividade que planejamos executar. No final das contas, do ponto de vista empresarial, a gestão de risco envolve: • Identificar. • Avaliar. • Analisar. • Tratar. • Comunicar. • Controlar de forma adequada os riscos, visando proteger o valor dos ativos da empresa. A gestão de riscos em segurança da informação tornou-se tão importante que uma nor- ma específica foi criada: a NBR ISO/IEC 27005: Técnicas de Segurança – Gestão de Risco de Segurança da Informação. 120 Essa norma (ISO 27005) é formada pelo conjunto de práticas mais referenciado quando falamos de riscos em Tecnologia da Informação. A norma descreve o procedimento ne- cessário para a gestão de riscos de segurança da informação e o que deve ser feito para a perfeita execução do sistema de gestão relacionado a esta finalidade. Para visualizarmos a importância da gestão de riscos veja que as Figuras 76 a 80 mos- tram alguns gráficos estatísticos referentes a ataques feitos aos sistemas de informação retirados do Centro de Estudo, Resposta e Tratamento de Incidentes de Segurança no Brasil (CERT.br). Figura 76: Gráfico estatístico por tipo de ataque. Fonte: Centro de Estudo, Resposta e Tratamento de Incidentes de Segurança no Brasil – CERT.br (2020). Incidentes reportados ao CERT.br - Janeiro a Dezembro de 2019 Tipos de ataque Outros (0,17%) Worm (11,48%) Fraude (4,50%) Web (2,55%) Scan (46,81%) Invasão (0,06%) DoS (34,42%) 121 Figura 77: Gráfico anual de ataques de DoS. Fonte: Centro de Estudo, Resposta e Tratamento de Incidentes de Segurança no Brasil – CERT.br (2020). Figura 78: Gráfico estatístico por tentativas de fraude. Fonte: Centro de Estudo, Resposta e Tratamento de Incidentes de Segurança no Brasil – CERT.br (2020). Incidentes reportados ao CERT.br - Janeiro a Dezembro de 2019 Tentativas de fraudes Cavalos de troia (6,29%)Outras (6,66%) Páginas falsas (87,05%) Notificações sobre equipamentos participando em ataques DoS Ano Notificações 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 Total 301.308 158.407 220.188 60.432 25.360 223.935 1.030 309 272 198 896 327 954 277 96 104 50 62 26 159 21 10 20 40 100 200 400 1k 2k 4k 10k 20k 40k 100k 200k 400k 122 Figura 79: Gráfico estatístico de países onde se originaram os ataques. Fonte: Centro de Estudo, Resposta e Tratamento de Incidentes de Segurança no Brasil – CERT.br (2020). Figura 80: Tabela com o total de ataques no ano de 2019. Indidentes Reportados ao CERT.br - Janeiro a Dezembro de 2019 Top 10 CCs origem de ataques * Este gráfico não inclui dados referentes a worms.Incidentes 700k 600k 606.979 67.046 26.943 8.898 6.944 2.9935.750 2.8794.187 2.715 500k 400k 300k 200k 100k 0 BR 76.34% NL 1.15% GB 0,54% US 8.65% RU 0.9% DE 0,39% CN 3.48% TW 0,74% FR 0.37% IN 0.35% Incidentes Reportados ao CERT.br - Janeiro a Dezembro de 2019 Tabela: Totais Mensais e Anual Classificados por Tipo de Ataque. Mês Total worm(%) dos (%) invasão (%) web (%) scan (%) fraude (%) Outros (%) Jan 62481 7796 12 4191 6 19 0 2594 4 46038 73 1744 2 99 0 Fev 70069 7707 11 2192 3 27 0 4179 5 54401 77 1459 2 104 0 Mar 85409 4476 5 29309 34 19 0 2006 2 47966 56 1521 1 112 0 Abr 59900 7624 12 2718 4 37 0 1555 2 45774 76 2119 3 73 0 Mai 52129 6555 12 15773 30 74 0 1425 2 25521 48 2633 5 148 0 Jun 221231 6598 2 191593 86 52 0 1337 0 19289 8 2230 1 132 0 Jul 48836 8230 16 3884 7 27 0 1308 2 32054 65 2994 6 339 0 Ago 61006 11421 18 5892 9 51 0 1561 2 37521 61 4400 7 160 0 Set 52027 9599 18 7326 14 28 0 1876 3 27654 53 5388 10 156 0 Out 53253 10568 19 8313 15 45 0 2219 4 26153 49 5859 11 96 0 Nov 59735 7032 11 25701 43 80 0 625 1 20450 34 5795 9 52 0 Dez 49251 12871 26 4416 8 68 0 1649 3 26927 54 3277 6 43 0 Total 875327 100477 11 301308 34 527 0 22334 2 409748 46 39419 4 1514 0 123 Legenda: • worm: notificação de atividades maliciosas relacionadas com o processo automatizado de códigos maliciosos na rede. • dos (DoS - Denial of Service ): notificações de ataques de negação de serviço, onde o atacante utiliza um computador ou um conjunto de computadores para tirar de operação um serviço, computador ou rede. • invasão: um ataque bem sucedido que resulte no acesso não autorizado a um computador ou rede. • web: um caso particular de ataque visando especificamente o comprometimento de servidores Web ou desconfigurações de páginas na Internet. • scan: notificações de varreduras em redes de computadores, com o intuito de identificar quais computadores estão ativos e quais serviços estão sendo disponibilizados por eles. É amplamente utilizado por atacantes para identificar potenciais alvos , pois permite associar possíveis vulnerabilidades aos serviços habilitados em um computador. • fraude: segundo Houaiss, é “qualquer ato ardiloso, enganoso, de má-fé, com intuito de lesar ou ludibirar outrem, ou de não cumprir determinado dever; logro”. Esta categoria engloba as notificações de tentativasde fraudes, ou seja, de incidentes em que ocorre uma tentativa de obter vantagem. • outros: notificações de incidentes que não se enquadram nas categorias anteriores Obs: Vale lembrar que não se deve confundir scan com scam. Scams (com “m”) são quaisquer esquemas para enganar um usuário, geralmente, com finalidade de obter vantagens financeiras. Ataques deste tipo são enquadrados na categoria fraude. Fonte: Centro de Estudo, Resposta e Tratamento de Incidentes de Segurança no Brasil – CERT.br (2020). Segurança em redes de comunicação Para facilitar a abordagem desse assunto vamos ilustrar uma situação com três personagens. Ana Bruno Taís Eles vão representar os equipamentos que querem trocar informações. É a intrusa que deseja interceptar essas informações. Do ponto de vista humano, é mais fácil entender essa abordagem imaginando pessoas do que máquinas, mas qualquer um destes personagens pode ser um equipamento de rede, como roteadores, servidores de e-mail, servidores web, sistemas gerenciadores de banco de dados (SGBDs), entre outros. 124 Vamos considerar que Ana e Bruno querem realizar uma comunicação segura. O que isso significa exatamente? Nesse caso, Ana quer que Bruno compreenda a mensagem que ela enviou, mesmo que a comunicação esteja acontecendo por um meio “inseguro”, por meio do qual algum intruso, como Taís, possa interceptar, ler e alterar qualquer dado que seja enviado por Ana a Bruno. Bruno também quer ter certeza de que a mensagem que recebeu de Ana foi de fato enviada por ela, enquanto Ana quer ter certeza de que está realmente se comunicando com Bruno. Ana e Bruno também querem ter certeza de que o conteúdo da mensagem de Ana não foi alterado durante o percurso. Diante das considerações anteriores podemos separar as características desejáveis da comunicação segura em: Sigilo Somente o remetente e o destinatário estabelecidos devem ser capazes de entender o conteúdo da mensagem transmitida. O fato de terceiros poderem interceptar a mensagem exige, obri- gatoriamente, que esta seja cifrada de alguma maneira (que seus dados sejam disfarçados) para impedir que seja intercep- tada e compreendida por um interceptador. Esse aspecto do sigilo é, provavelmente, o significado mais percebido em “co- municação segura”. Autenticação O remetente e o destinatário precisam garantir a identidade da outra parte envolvida na comunicação — garantir que a outra parte realmente é quem alega ser. Esse problema é facilmente resolvido com reconhecimento visual quando se trata de pes- soas que estão se comunicando presencialmente. Quando a troca de mensagens ocorre por um meio pelo qual os mem- bros não podem se “ver”, a autenticação não é tão simples. Por exemplo, será que deveríamos acreditar no recebimento de um e-mail afirmando ser do seu banco e que a instituição está so- licitando algumas informações pessoais? Cá entre nós, espero que não. 125 Integridade da mensagem Mesmo que o remetente e o destinatário consigam se auten- ticar reciprocamente, eles querem garantir que o conteúdo de suas mensagens não seja alterado durante a transmissão. Agora que estabelecemos o significado de comunicação segura, vamos entender o sig- nificado de “canal inseguro”. Quais são as informações que um intruso pode acessar e quais são as ações que po- dem ser tomadas em relação aos dados transmitidos? Analise o cenário apresentado pela Figura 81 adiante. Ana, a remetente, pretende enviar dados a Bruno, o destinatário. Com o objetivo de trocar dados de forma segura, além do sigilo, autenticação e integridade das mensagens, Ana e Bruno também trocarão mensagens de controle e de dados (de forma semelhante como acontece com os remetentes e destinatários do protocolo TCP durante a troca de seg- mentos de controle e segmentos de dados). A essas mensagens será aplicado algum método de cifra. A intrusa Taís pode atuar de duas maneiras: 1. Forma passiva: podendo ouvir e gravar as mensagens de controle e de dados no canal. 2. Forma ativa: podendo remover ou adicionar mensagens a esse canal. Figura 81: Remetente, Destinatário e Intruso (Ana, Bruno e Taís). Fonte: Adaptada de Kurose e Ross (2013, p. 442, fig. 7.1). Taís Ana Bruno Mensagem de controle de dadosDados Canal Remetente seguro Destinatário seguro Dados 126 Antes de continuarmos, vamos relacionar os personagens fictícios — Ana, Bruno e Taís — com os cenários do “mundo real” da Internet de hoje. Vamos lá! Será que é possível, no mundo real, um intruso conseguir ouvir e gravar mensagens de uma rede? É realmente fácil fazer isso? Um intruso ativo realmente pode inserir ou remover mensagens de uma rede? Infelizmente, a resposta é sim. Veremos três exemplos de ameaças que podem e já foram realizadas na Internet. Considerando o cenário apresentado na Figura 82, a solicitação de senha de login envia- da do dispositivo A para o dispositivo B é “capturada” pelo dispositivo C. De forma aná- loga, a senha informada por B também é “capturada” por C. O procedimento de captura de pacotes é uma “faca de dois gumes”, porque pode ser de extrema importância para um administrador de rede realizar, de forma honesta, a monitoração de sua rede; porém, também pode ser utilizada por uma pessoa mal-intencionada. O primeiro exemplo é a captura de pacotes. Um analisador de pacotes (packet sniffer) é um software que, ao ser executado em um equipamento acoplado à rede, pode receber, de forma passiva, todos os quadros da camada de enlace que passam por sua interface de rede (NIC – Network Interface Card). Uma vez insta- lado em um ambiente de comunicação broadcast como nas LANs Ethernet, esse analisador de pacotes receberá todos os quadros que estão sendo transmitidos para todos os equipamentos da rede. Qualquer equipamento que possua uma placa Ethernet pode, facilmente, fazer o papel de analisador de pacotes, pois é só ajustar a interface de redes no modo promíscuo (promiscuous mode) para receber todos os quadros que passam pela rede. Esses quadros podem, então, ser anali- sados por softwares específicos para terem seus dados de aplicação extraídos. Exemplo 1 127 Figura 82: Utilização de um analisador de pacotes. Fonte: Adaptada de Kurose e Ross (2013, p. 443, fig. 7.2). Sabendo que realmente existem pessoas com más intenções, como a Taís do nosso exemplo, quem, na verdade, seriam Ana e Bruno? Eles são usuários finais inocentes, que estão tentando trocar informações na rede. Eles podem querer trocar e-mails com infor- O segundo exemplo de ameaça diz respeito à falsificação do endereço IP do remetente. Um usuário que tenha conhecimento profundo do funcionamento de um sistema operacional quanto de programação pode realizar uma altera- ção no sistema, permitindo que um endereço IP qualquer (provavelmente falso) seja colocado no envio de um datagrama. Dessa forma, é possível enviar uma informação qualquer (podendo ser um dado malicioso) fazendo-se passar por um remetente conhecido pelo destinatário. Exemplo 2 Um terceiro exemplo é o ataque de DoS (Denial of Service – Negação de Ser- viço). Esse ataque tem como objetivo lotar um determinado servidor com so- licitações inúteis, sobrecarregando seu processamento de tal forma que os pedidos reais sejam recusados devido à sobrecarga. Para que os remetentes desses envios não possam ser identificados, normalmente, junto com o ataque, é usada a modalidade de falsificação do endereço IP. Exemplo 3 ‘capturar’ A C B fonte: A destino: B ‘senha’ fonte: A destino: B ‘senha’ fonte: B destino: A ‘minha senha’ fonte: B destino: A ‘minha senha’ 128 mações que não devem ser vistas por terceiros. Podem também realizar uma compra virtual, tendo que apresentar as informações do cartão de crédito e até de senhas, em caso de acesso bancário. Como ressalta o RFC 1636, esses mesmos participantes que precisam de comunicação segura também podem ser equipamentos da infraestrutura da rede. O DNS ou os rotea- dores, que precisam trocar tabelas de roteamento,necessitam de uma comunicação segura entre eles. Um intruso que conseguisse interferir, controlar ou corromper ativamente as funções de gerenciamento de redes, operações de consultas e atualizações do DNS e os procedi- mentos de roteamento poderia causar uma devastação na Internet. Princípios da Criptografia Apesar de a história da criptografia ser consideravelmente antiga, sabemos que ela re- monta, no mínimo, a Júlio César (daí existir uma cifra chamada “César”). As técnicas de criptografia atuais, incluindo a maioria das utilizadas na Internet de hoje, estão relaciona- das aos progressos feitos nos últimos 30 anos. As técnicas de criptografia têm o objetivo de: Modificar os dados a serem enviados, como se fossem um disfarce, para que, caso um intruso venha a obtê-los, não seja capaz de extrair deles qualquer informação útil. Por outro lado, o destinatário será capaz de desfazer as alterações feitas no re- metente, trazendo de volta a mensagem para o formato original, possibilitando que a informação seja recebida. RFC (Requests for Comments) são documentos que contêm notas técnicas e organizacionais sobre a Internet. Eles cobrem muitos aspectos das redes de computadores, incluindo protocolos, procedimentos, programas e conceitos, bem como notas de reuniões e opiniões. Fonte: https://blog.ccna.com.br/2015/09/07/voce-sabe-o-que-e-rfc-e-para-que-serve-uma-rfc/ Ampliando o foco https://blog.ccna.com.br/2015/09/07/voce-sabe-o-que-e-rfc-e-para-que-serve-uma-rfc/ 129 Figura 83: Componentes criptográficos. Fonte: Adaptada de Kurose e Ross (2013, p. 445, fig. 7.3). Vamos a uma situação básica de criptografia. Suponhamos que Ana deseje enviar uma mensagem para Bruno. Em seu formato original a mensagem de Ana é: “Bruno, eu te amo. Ana.” Nesse formato ela é denominada como texto aberto ou texto claro. Ana aplica um algoritmo de criptografia à sua mensagem em texto aberto, de modo que a mensagem criptografada, também chamada de “texto cifrado”, tenha uma aparência ininteligível para qualquer um que a intercepte. A maioria dos algoritmos de criptografia é conhecida levando à seguinte pergunta: Se todo mundo pode ter acesso a esses algoritmos, como as mensagens ficam protegidas? A resposta é simples: esses algoritmos, além de terem a mensagem como valores de en- trada, também usam outra informação junto ao processo de criptografia. Essa segunda informação é chamada de “chave” e, sem ela, não é possível reverter o processo cripto- gráfico. Sendo assim: O grande segredo de todo processo de criptografia encontra-se no sigilo dessa chave. Analisando melhor a Figura 83, Ana fornece uma chave KA junto com a mensagem a ser criptografada ao algoritmo de criptografia. Esse algoritmo gera um processamento com a chave e o texto aberto, produzindo um texto cifrado. Quando Bruno receber a mensa- gem cifrada da Ana, ele fornecerá ao algoritmo de decriptografia uma chave KB e o texto cifrado. Se a chave estiver correta, esse algoritmo será capaz de desfazer a criptografia, devolvendo o texto aberto original. Taís Ana Bruno Texto cifrado Texto aberto KA Canal Algoritmo de criptografia Algoritmo de decriptografia KB Texto aberto 130 Se a chave usada no algoritmo de criptografia for a mesma utilizada no algoritmo de de- criptografia (KA = KB), então dizemos que trata-se de um sistema criptográfico de chave simétrica. Já nos casos em que a chave usada na criptografia é diferente da chave usada na decriptografia (KA ≠ KB), dizemos que trata-se de um sistema criptográfico de chaves públicas. Nesse caso, uma das chaves será conhecida por todos e a outra será conheci- da apenas por um dos membros no processo de criptografia. Criptografia de Chaves Simétricas Os algoritmos de criptografia trabalham substituindo um dado por outro. Vamos a um exemplo simples de criptografia usando chaves simétricas. Esse algoritmo consiste em substituir a letra da mensagem por outra que esteja deslocada para a frente no alfabeto por k posições. Nesse caso, o valor de k é a chave. Caso esse deslocamento ultrapasse a última letra do alfabeto, no caso a letra “z”, voltaremos para a primeira, que é a letra “a”. Vamos usar a mensagem da Ana como um exemplo de uso do algoritmo criptográfico descrito acima. A mensagem é: “Bruno, eu te amo. Ana.” Se considerarmos como chave o valor 3, isto é, k = 3, teremos como resultado após a criptografia o seguinte resultado: “Euxqr, hx wh dpr. Dqd.” Para chegar a esse resultado basta deslocar cada letra da men- sagem 3 posições a frente no alfabeto. Sendo assim, o “b” foi substituído pelo “e”, o “r” pelo “u” e assim sucessivamente. Nesse nosso exemplo não incluímos a pontuação no processo de cifragem, mas os símbolos de pontuação poderiam ser acrescentados no final do alfabeto, aumentando ainda mais a dificuldade em decifrar a mensagem. Quando Bruno receber a mensagem criptografada, sabendo que a chave vale 3, isto é, k = 3, ele aplicará a mensagem e a chave no algoritmo de decriptografia. Diferentemente do algoritmo de criptografia que deslocou a letra k posições à frente no alfabeto, o algoritmo de decriptografia realizará o deslocamento em k posições para trás, fazendo com que a mensagem volte ao formato original. Caso algum intruso, como Taís, intercepte a mensagem durante a transmissão, ela estará de posse da mensagem cifrada e, mesmo sabendo do processo da criptografia, a princí- pio, sem saber o valor da chave, ela não conseguirá decifrar a mensagem. Lógico que, nesse caso, devido à simplicidade do processo de criptografia, se realizar- mos contínuas tentativas, variando o valor da chave em cada uma delas, na pior das hipóteses precisaríamos de 25 tentativas para que a mensagem fosse decriptografada. Uma forma aprimorada desse algoritmo seria a cifra monoalfabética. Essa cifra também realiza a substituição de uma letra por outra, mas, em vez de seguir um deslocamento 131 regular de k posições para todas as letras, ela realiza um embaralhamento do alfabeto para, então, fazer a substituição, levando em conta a posição da letra no alfabeto original e substituindo-a pela correspondente no alfabeto embaralhado. Pegando a mensagem enviada pela Ana no exemplo anterior e considerando a corres- pondência entre o alfabeto original e o alfabeto embaralhado apresentado na Figura 84, veremos que a mensagem “Bruno, eu te amo. Ana.” ficaria “Noyjk, cy uc mhk. Mjm.” após a criptografia. Figura 84: Uma cifra monoalfabética. Letra do texto aberto: a b c d e f g h i j k l m n o p q r s t u v w x y z Letra do texto cifrado: m n b v c x z a s d f g h j k l p o i u y t r e w q Fonte: Adaptada de Kurose e Ross (2013, p. 446, fig. 7.4). Se considerarmos que a quantidade de alfabetos embaralhados é 26! (fatorial de 26), que corresponde a 403.291.461.126.605.635.584.000.000 possibilidades (que é de, apro- ximadamente, 400 septilhões), fica praticamente impossível decifrar usando apenas a força bruta, isto é, realizar 26! tentativas. Se considerarmos um computador caseiro atual capaz de realizar cinco bilhões de tentativas por segundo, seriam necessários aproxi- madamente 12.788.288.341 de anos para que todas as tentativas fossem realizadas. É lógico que esse é o pior dos casos, em que a última opção é a que representa a tentativa correta. Mesmo assim, a não ser que, em um caso de muita sorte, o alfabeto embaralha- do correto seja logo um dos primeiros a ser testados. Mesmo esse método tendo uma quantidade absurdamente grande de possibilidades, se fosse conhecido o idioma do texto original, sabendo como as letras são combinadas em determinados grupos de palavras, já diminuiria bastante o número de tentativas. Mais, ainda, se o intruso souber de alguma palavra que esteja no texto, diminuiriam mais ainda as tentativas. Por exemplo, vamos imaginar que a Taís é a esposa do Bruno e que des- confia que ele esteja tendo um caso com a Ana. É de se esperar que as palavras “Bruno” e “Ana” estejam notexto, possibilitando uma redução maior ainda das possibilidades. 132 Considerando que seria fácil para Taís quebrar o código criptográfico de Bruno e Ana, po- demos separar três cenários diferentes, dependendo do tipo de informação que o intruso possui. A saber: Ataque exclusivo ao texto cifrado Nesse caso, o intruso tem acesso somente à mensagem cifra- da interceptada, sem ter nenhuma informação sobre o conteú- do da mensagem aberta. Ataque ao texto aberto conhecido Nesse caso, se o intruso de algum modo tivesse certeza de que certas palavras aparecem no texto cifrado, ele poderia achar os pares (texto cifrado, texto aberto) para as letras dessas pala- vras, diminuindo o número de tentativas para decifrar. Ataque ao texto aberto escolhido Nesse caso, o intruso escolhe uma mensagem em texto aberto e tenta obter seu equivalente cifrado. Para os algoritmos cripto- gráficos que vimos até aqui, se o intruso conseguisse que o re- metente enviasse uma mensagem conhecida, contendo todas as letras do alfabeto ou grande parte delas, ele seria capaz de decifrar completamente o esquema criptográfico. Existe um filme chamado O jogo da imitação, que retrata a vida do matemáti- co britânico Alan Turing. Nesse filme é retratada a criação de um “computa- dor” para decifrar os códigos alemães que eram criptografados pela máquina Enigma. A máquina não passa de uma máquina de escrever com um alfabeto embaralhado. Quando uma mensagem era escrita por essa máquina, no papel aparecia a mensagem com as letras trocadas, isto é, criptografada. A mensa- gem era, então, enviada ao destino, onde havia outra máquina equivalente a ela, porém com a estrutura contrária à que foi utilizada na hora da criptografia. Quando digitava-se a mensagem criptografada na segunda máquina, no pa- pel saía a mensagem original (decriptografada). O computador criado por Alan Turing só foi capaz de decifrar as mensagens quando descobriu-se que parte delas era sempre igual (no caso, um cabeçalho). O conhecimento das palavras dessa parte possibilitou uma redução nas possibilidades suficientes para que o código fosse quebrado. Ampliando o foco 133 Criptografia de Chaves Públicas Durante muito tempo foi necessário o compartilhamento de uma chave simétrica entre os membros participantes da comunicação para que a mensagem pudesse ser cripto- grafada e decriptografada. A grande dificuldade desse método é que as duas partes precisam de alguma maneira escolher que chave será essa. Para fazê-lo, no entanto, é necessária uma comunicação presumivelmente segura. Uma possibilidade seria um encontro prévio entre as partes para que a chave fosse compartilhada, de modo que, em momentos futuros à comunica- ção, a mensagem fosse criptografada com essa chave. Porém, nem sempre é possível realizar um encontro, sendo mais provável que a troca da chave acabe sendo feita de modo inseguro. Será que é possível que a comunicação cifrada seja feita sem que o compartilhamento de uma chave secreta comum seja realizado com antecedência? Diffie e Hellman divulgaram, em 1976, um algoritmo que possibilita exatamente isso. Ele é conhecido como Troca de Chaves Diffie-Hellman (Diffie Hellman Key Exchange). Essa técnica é amplamente conhecida por criptografia de chave pública. Ela trabalha com um par de chaves de forma que, se a mensagem for trancada (criptografada) por uma, ela só será aberta (decriptografada) pela outra. Em outras palavras, a chave que tranca não é a chave que abre. Consideremos o cenário da Figura 85 adiante. Vamos supor que Ana queira se comuni- car com Bruno. Tal como é mostrado na figura, em vez de Bruno e Ana compartilharem uma única chave secreta (como acontece nos sistemas de chaves simétricas), Bruno (o destinatário das mensagens de Ana) tem duas chaves, uma chave pública (eB), que está à disposição de todos, inclusive da Taís, nossa intrusa, e uma chave privada (dB), que apenas ele, “Bruno”, conhece. Para comunicar-se com Bruno, primeiro Ana precisa adquirir a cha- ve pública dele. Em seguida, sua mensagem é criptografada usando essa chave pública e um algoritmo criptográfico conhecido. Bruno recebe a mensagem criptografada de Ana e usa um algoritmo de decriptografia conhecido com a sua chave privada para decifrar a mensagem de Ana. Dessa maneira Ana consegue enviar uma mensagem secreta a Bruno sem que nenhum deles tenha que, previamente, trocar alguma chave secreta! 134 Figura 85: Criptografia de chaves públicas. Fonte: Adaptada de Kurose e Ross (2013, p. 450, fig. 7.7). Como mencionado antes, o sistema de chaves públicas opera com um par de chaves. Se a mensagem for criptografada por uma das chaves desse par, ela só será decriptografa- da pela outra. Usando a notação da figura anterior, se representarmos a mensagem por “m” e o par de chaves públicas por (eB, dB), teremos o seguinte comportamento: dB(eB(m)) = m e eB(dB(m)) = m. A notação dB( ) significa que o algoritmo está sendo aplicado com a chave eB ao conteúdo que está dentro dos parênteses. De forma análoga, a notação dB( ) significa que o algoritmo está sendo aplicado com a chave dB ao conteúdo que está dentro dos parênteses. Desde que surgiram as mensagens criptografadas também surgiram técnicas para que- brar a criptografia e conseguir decriptografar a mensagem. A seguir vamos conhecer duas dessas técnicas: 1. Criptoanálise A criptoanálise é o estudo do texto cifrado, com o intuito de descobrir tanto a lógica usa- da em sua encriptação, nos casos em que o algoritmo não é de conhecimento público, como também sua chave. Antes da era dos computadores, a única preocupação com os algoritmos e as chaves usadas era com a capacidade humana de analisar e realizar as sucessivas tentativas Ana Bruno Texto cifrado eb (m) Algoritmo de criptografia Algoritmo de decriptografia Mensagem em texto aberto, m Mensagem em texto aberto, m m = dB(eb(m)) eb Chave criptográfica pública db Chave criptográfica privada 135 de quebrar o código. Partindo desse ponto de vista, os algoritmos e as chaves não pre- cisavam ser de grande complexidade, pois a capacidade humana de processar esses algoritmos era tão pequena, que o tempo necessário para sua quebra já invalidaria o seu conteúdo. Porém, com o advento dos computadores, essa realidade foi alterada. A capacidade de processamento foi ampliada, permitindo que códigos que eram humanamente impossí- veis de serem decifrados, passassem a ter essa possibilidade, graças ao computador. Te- mos o exemplo já comentado anteriormente da famosa máquina criada por Alan Turing, a qual conseguiu decifrar o código alemão da máquina Enigma. Na prática, todo sistema de criptografia pode ser quebrado. A questão colocada não é se a quebra é possível e sim quanto tempo será necessário para que o código seja que- brado. Com o avanço tecnológico, tanto os algoritmos como a geração das chaves vêm sendo constantemente modificados para tornar esse tempo suficientemente longo ao ponto de ser inútil a tentativa de quebra. Sempre que uma nova técnica criptográfica é criada dezenas de especialistas come- çam a trabalhar na tentativa de quebrá-la, justamente para verificar o quão eficaz é a nova técnica. 2. Força Bruta A força bruta é o mecanismo de tentativa e erro para a descoberta da chave. Normalmen- te, esse método é utilizado em casos em que o número de combinações possíveis está dentro do limite de tempo aceitável para decriptografar a mensagem. As senhas normalmente utilizadas pelas pessoas costumam estar nesta categoria. De modo geral, as pessoas não são capazes de guardar senhas muito grandes ou muito complexas. A tendência é usar como senha algo que possa ser associado à sua vida pessoal, para que possa ser lembrada com facilidade. Senhas de extrema complexidade acabam gerando outras formas de vulnerabilidades, como a anotação dessa senha em um papel para que não seja esquecida. A maioria dos algoritmos de quebra de senhas utiliza a força bruta junto com algumas informaçõesespecíficas relacionadas ao dono da senha, como o idioma. Em vez de co- meçar tentando todas as combinações possíveis, dá-se preferência às palavras relacio- nadas ao alfabeto desse idioma. No registro interno do computador letras maiúsculas e minúsculas são diferentes, tornando ainda mais difícil a tarefa de quebra, pois aumen- 136 tam as combinações possíveis. Por esse motivo atualmente temos a definição de senha fraca, média e forte. Quanto mais simples for a sua senha, mais facilmente um intruso qualquer conseguirá quebrá-la. Também tem sido aconselhável o uso de caracteres es- peciais para tornar inútil o uso do alfabeto. Como comentamos anteriormente, todo código pode ser quebrado, basta esperar o tem- po necessário para isso. Como as senhas humanas, mesmo as mais complexas, levam a tempos relativamente curtos para sua quebra, é comum que certos sistemas sejam configurados para exigir que o usuário troque sua senha periodicamente (por exemplo, de seis em seis meses). Quando se trata de chaves usadas entre máquinas, normalmente elas são geradas com tamanha complexidade que não é possível usar qualquer regra para diminuir as possibi- lidades, tornando a força bruta inútil nesses casos. Esteganografia Além da criptografia para impedir o reconhecimento da mensagem, existe também a arte do disfarce, para que nem sequer se suspeite que algo, além do óbvio, esteja sendo transmitido. Ou seja, A esteganografia é a técnica de esconder um arquivo dentro de outro. Tem sido muito comum, principalmente em situações de espionagem, pegar certos ar- quivos de dados secretos e espalhar seus bits dentro de um arquivo de dados comuns, como um arquivo de imagem jpeg. Junto à compactação da imagem são inseridos os bits/bytes do arquivo secreto. Devido à forma como o algoritmo trabalha, esses bytes extras geram distorções tão ínfimas nas imagens que fica imperceptível a sua existência. Quando esses arquivos chegam ao destinatário, ele, sabendo da existência do arquivo secreto e da forma como ele foi introduzido, será capaz de extraí-lo. Essa técnica também já foi utilizada para: • Embutir códigos maliciosos em arquivos de uso corriqueiro, como jpeg, mp3, mp4 entre outros. • Inserir códigos em arquivos para verificação de direito autoral. Não é à toa que, muitas vezes, os sistemas pedem confirmação do usuário antes de exe- cutar certos arquivos provenientes da Internet. 137 DES (Data Encryption Standard – Padrão de Criptografia de Dados) Em janeiro de 1977 o governo dos Estados Unidos adotou um algoritmo de criptografia desenvolvida pela IBM. O setor de informática adotou amplamente esse algoritmo para ser usado em produtos de segurança. Em sua forma original, ele já não oferece muita segurança, porém existe uma forma modificada que ainda é útil. Esse algoritmo é o DES. Vamos ver agora como ele funciona. Preste atenção! O DES trabalha criptografando a mensagem em blocos de 64 bits, gerando 64 bits de mensagem criptografada. O algoritmo é composto por 19 estágios distintos e usa como parâmetro uma chave de 56 bits. O primeiro deles realiza uma transposição independen- te da chave na mensagem de 64 bits, enquanto o último estágio realiza o procedimento inverso dessa transposição. O penúltimo estágio realiza a troca dos 32 bits mais à direita pelos 32 bits mais à esquerda. Os demais 16 estágios funcionam da mesma forma, mas recebem como parâmetros diferentes funções da chave. O algoritmo foi projetado para que a decodificação pudesse ser feita com a mesma chave usada na codificação, fazen- do dele um algoritmo de criptografia simétrico. 3DES (DES triplo) No início de 1979 a IBM percebeu que a mensagem DES utilizada era muito pequena e decidiu criar uma maneira de aumentá-la, fazendo uso da criptografia tripla. O método escolhido está ilustrado na Figura 86, na próxima página. Esse método trabalha com três estágios e duas chaves. No primeiro estágio a mensagem original é criptografada com a chave K1 da maneira tradicional do DES. No segundo estágio é utilizado o modo de decriptografia do próprio Para saber mais sobre o funcionamento desse algoritmo e obter informações mais detalhadas, leia o Capítulo 8, tópico 8.2.1 do livro TANENBAUM, A. S.; WE- THERALL, D. Redes de Computadores. 4. ed. São Paulo: Pearson Prentice Hall, 2011. Biblioteca Virtual. Ampliando o foco 138 DES com uma chave K2. Por fim, o DES é usado no modo criptográfico, mais uma vez com a chave K1. Figura 86: Funcionamento do 3DES. Fonte: Adaptada de Tanenbaum e Wetherall (2011, p. 788, fig. 8.8.). Observe que duas questões podem ser levantadas para esse projeto. A saber: 1. O motivo de serem utilizadas apenas duas chaves, em vez de três. 2. O motivo pelo qual foi usado EDE (Encriptar, Decriptar, Encriptar) em vez de EEE (Encriptar, Encriptar, Encriptar). São utilizadas duas chaves porque até mesmo os criptógrafos mais paranoicos concor- dam que 112 bits serão suficientes para aplicações comerciais durante um bom tempo. O uso de 168 bits só criaria uma sobrecarga desnecessária de gerenciar e transportar outra chave, com pouco ganho real. O motivo para criptografar, decriptografar e criptografar mais uma vez é para manter compatibilidade retroativa com os sistemas já existentes de DES com chave única. Tanto as operações de criptografia quanto as de decriptografia são mapeamentos entre blocos de números de 64 bits. Do ponto de vista da criptografia os dois mapeamentos são igualmente fortes. No entanto, ao usar o EDE em vez do EEE, um computador que utiliza a criptografia tripla pode comunicar-se com outro que utiliza a criptografia simples apenas definindo K1 = K2. Essa propriedade permite que a criptografia tripla seja ajusta- da gradualmente, o que é de suma importância para sua implementação. a) Criptografia tripla usando DES P CE DD EE D K1 K1K2 K2K1 K1 C P b) Decriptografia tripla usando DES 139 AES (Advanced Encryption Standard – Padrão de Criptografia Avançada) Infelizmente, o DES teve uma vida curta. Mesmo com a versão 3DES, sua eficácia come- çou a ficar abaixo do desejado, já que os sistemas computacionais ficaram mais avan- çados. Por conta disso o NIST (National Institute of Standards and Tecnology – Instituto Nacional de Padrões e Tecnologia), órgão encarregado de aprovar padrões para o gover- no federal dos Estados Unidos, decidiu que era o momento de ser desenvolvido um novo padrão criptográfico. Nesse processo, o NIST, visando minimizar as suspeitas de que haveria portas dos fun- dos no algoritmo, decidiu patrocinar um concurso de criptografia. Em janeiro de 1997 o NIST convidou pesquisadores do mundo inteiro para submeterem propostas para um novo padrão, cuja denominação é AES. As regras do concurso eram: 1. O algoritmo teria que trabalhar com chaves simétricas. 2. Todo o projeto teria de ser de domínio público. 3. Os tamanhos das chaves deveriam ser iguais a 128, 192 e 256 bits. 4. Teriam que possibilitar implementações de software e hardware. 5. O algoritmo teria de ser público ou licenciado em termos não discriminatórios. Das 15 propostas sérias submetidas foi escolhida a proposta Rijndael (de Joan Daemen e Vincent Rijmen). O Rijndael, algoritmo vencedor, oferece a possibilidade de trabalhar com cha- ves e conjuntos de dados de tamanhos que vão de 128 bits até 256 bits, va- riando em intervalos de 32 bits. Tanto a chave como o conjunto de dados podem ter seus tamanhos definidos de modo independente, porém a especi- ficação do AES diz que o tamanho do conjunto de dados deve ser de 128 bits com chaves variando entre 128, 192 ou 256 bits. É muito pouco provável que seja utilizada a chave de 192 bits, fazendo com que, na prática, o AES acabe tendo duas opções: trabalhar com conjuntos de dados de 128 bits e chaves de 128 bits ou conjuntos de dados de 128 bits com chaves de 256 bits. 140 RC4 (Rivest Cipher 4 – Cifra Rivest 4) O algoritmo RC4 é uma cifra de fluxo que trabalha com um tamanho de chave variado. Foi desenvolvido em1987 por Ronald Rivest para a empresa RSA Security. Ela manteve esse algoritmo como segredo comercial, tornando-se muito utilizado em diversas apli- cações comerciais, tais como Internet Explorer, Netscape, Adobe Acrobat, entre outros. Muitos protocolos de segurança usavam o algoritmo RC4. O RC4, por ser uma cifra de fluxo, não trabalha com blocos de dados. Ele segue criptogra- fando byte por byte, gerando um fluxo contínuo de bytes cifrados. É interessante para a transferência de dados por uma rede, pois esse envio segue o comportamento de fluxo. Ele trabalha gerando um fluxo de bytes pseudoaleatórios que são operados com os bytes do fluxo de dados a partir da operação XOR (Ou Exclusivo). Esse fluxo de bytes pseudoa- leatórios é comandado por uma raiz, que, nesse caso, é a chave utilizada na criptografia. Para decriptografar basta realizar outra operação XOR no byte criptografado com o mes- mo valor do byte pseudoaleatório usado na criptografia. Para isso deve ser gerado o mesmo fluxo de bytes pseudoaleatórios. Se for usado o mesmo algoritmo de geração de números pseudoaleatórios, basta ter a mesma chave usada na criptografia para con- seguir gerar esse fluxo e, então, decriptografar o fluxo de dados criptografados recebido. Para saber mais sobre o funcionamento do algoritmo Rijndael, leia o Capítulo 8, tópico 8.2.2, do livro TANENBAUM, A. S.; WETHERALL, D. Redes de Computa- dores. 4. ed. São Paulo: Pearson Prentice Hall, 2011. Biblioteca Virtual. Ampliando o foco SSL (Secure Sockets Layer), TLS (Transport Layer Security), WEP (Wired Equiva- lent Privacy) e WPA2 (WiFi Protected Access). Exemplo 141 Como a operação XOR é nativa dos processadores e de uma extrema simplicidade ope- racional, esse algoritmo possui um desempenho considerado muito bom. Figura 87: Funcionamento do RC4. Fonte: Elaborada pelo autor (2020). Em 1994, sete anos depois de sua criação, o algoritmo foi vazado e, uma vez descoberta a forma como eram gerados os números pseudoaleatórios, ele deixou de ser seguro, pois, com pouco tempo de processamento, a cifra podia ser quebrada. Por conta disso, esse algoritmo de criptografia foi descontinuado. Resumindo, vimos os principais algoritmos de criptografia usados comercialmente, como eles funcionam e suas fragilidades. Não devemos esquecer que toda segurança que temos hoje nas comunicações em rede é baseada em algoritmos de criptografia. Sem eles, não teríamos comércio eletrônico, Internet banking, Wi-Fi protegida, sem falar de diversas outras situações em que a comunicação segura é desejada. Chave K ...10111010 ...10111010 ...11011001 ...11011001 bits da mensagem cifrada bits de mensagem a ser transmitida bits “aleatórios” para XOR mesmos bits “aleatórios” para XOR Mensagem Mensagem Recuperada Chave K Gerador de Bits Pseudo aleatório XOR XOR Gerador de Bits Pseudo aleatório ...01100011 142 Fundamentos da Criptografia Assimétrica; Confidencialidade e Autenticidade; Influência do Tamanho da Chave; RSA; Distribuição de Chaves Públicas; Uso de Certificados Digitais; Troca de Chaves – Algoritmo Diffie-Hellman Vamos iniciar o tópico falando sobre os fundamentos da criptografia assimétrica. A cripto- grafia assimétrica baseia-se na criptografia de chaves públicas vista anteriormente. Essa criptografia trabalha com um par de chaves distintas, de maneira que, ao criptografar com uma das chaves desse par, só será possível decriptografar com a outra. Esse método: Possibilitou uma forma mais segura de gerar Confidencialidade e Autenticidade. Devido à importância desses dois mecanismos, veremos a seguir como eles são implementados. Confidencialidade A confidencialidade está relacionada à privacidade dos dados. Diz respeito à forma uti- lizada para garantir que informações confidenciais e críticas não sejam acessadas por pessoas não autorizadas. O principal ponto relacionado à confidencialidade é a autenti- cação, que será visto mais adiante. É de se esperar, depois de tudo que foi dito sobre a criptografia, que ela seja o ponto prin- cipal para a confidencialidade. Nem sempre é usada a criptografia para a confidencialidade! Os sistemas operacionais de rede oferecem um procedimento de restrição de acesso baseado nas contas dos usuários. É possível definir quem terá acesso ao documento, se o documento estará liberado apenas para leitura ou também para escrita, entre outras opções. Em situações mais críticas pode-se limitar o acesso de certos documentos ape- nas a partir de uma máquina específica, máquina essa que poderá estar em um local de maior segurança física de acesso, impedindo que quaisquer equipamentos de reprodu- ção, como celulares com máquina fotográfica, sejam levados até ela. 143 Mais uma vez, toda essa segurança baseia-se no acesso à conta de usuário e acabamos voltando ao processo de autenticação, que visa a garantir que a pessoa que está aces- sando a conta seja realmente quem deveria ser. Autenticidade Normalmente usamos a nossa assinatura como uma forma de atestar que temos, e não outra pessoa, ciência do teor de um documento e/ou concordância com ele. Cheques são assinados, documentos legais são assinados e muitos outros. Com a disseminação do mundo digital, muitas vezes precisamos indicar o dono ou o criador de um determina- do documento, ou garantir que alguém está concordando com seu conteúdo. Logo, a assinatura digital é uma técnica criptográfica utilizada para exercer o mesmo papel que a assinatura tradicional. Geração de assinaturas digitais Vamos supor que Bruno precise assinar um documento m digitalizado. Esse documento é um arquivo ou uma mensagem que Bruno vai assinar e depois enviar. Para isso, Bruno criptografa o documento usando sua chave privada dB, gerando dB(m), como mostra a Figura 88. O resultado da criptografia dB(m) será acrescentado ao documento m, fazendo o papel de uma assinatura digital. Como somente Bruno tem conhecimento de sua chave privada, ele será o único capaz de gerar a assinatura dB(m). Logo, teremos a garantia de que a assinatura é verificável, não falsificável e incontestável. Figura 88: Criação de uma assinatura digital para um documento. Fonte: Adaptada de Kurose e Ross (2013, p. 459, fig. 7.15). Texto cifrado com a chave privada de Bruno Esta é uma mensagem para Ana. Esta é uma mensagem para Ana. Esta é uma mensagem para Ana. Esta é uma mensagem para Ana. Esta é uma mensagem para Ana. Esta é uma mensagem para Ana. Esta é uma mensagem para Ana. Esta é uma mensagem para Ana. Esta é uma mensagem para Ana. Querida Ana: Bruno Mensagem pronta para transmissão Chave privada de Bruno 144 Será que a assinatura digital dB(m) gerada por Bruno realmente atende às exigências de ser verificável, não falsificável e incontestável? Para responder ao questionamento acima vamos a um exemplo de utilização. Caso aconteça de o documento original m ser modificado criando assim o documento m2, a assinatura que Bruno gerou para m não será válida para m2, já que eB(dB(m)) não é igual a m2. Dessa forma, vimos que o uso da criptografia de chaves públicas possibilita uma manei- ra de assinar digitalmente um documento, garantindo que ele seja verificável, não falsifi- cável e incontestável e que, ainda por cima, é capaz de protegê-lo contra modificações posteriores não autorizadas. RSA O algoritmo RSA tem seu nome devido aos seus inventores, Ron Rivest, Adi Shamir e Leonard Adleman. Trata-se de um dos primeiros algoritmos de chave pública, sendo am- plamente usado para a transmissão de dados seguros. E como o RSA funciona? Vamos supor que Ana tenha m e dB(m). Ela precisa provar na justiça que Bruno realmente assinou o documento e que só ele seria capaz de tê-lo feito. De posse da chave pública de Bruno, eB, ela aplica o algoritmo de decriptografia à assina- tura digital dB(m) anexada ao documento m e, como resultado, a mensagem m é recuperada, podendo, então, ser comparada com o documento apresentado. Se as duas mensagens forem iguais,não haverá dúvidas de que Bruno assinou o documento, pois, uma vez que sua chave pública, eB, foi capaz de decriptogra- far a assinatura dB(m), significa que a chave privada de Bruno, dB, foi utilizada na criptografia. Como apenas Bruno possui a chave privada, temos a garantia de foi ele quem assinou. É lógico que não estamos considerando a possibilidade de Bruno ter dado sua chave privada para alguém ou que, de alguma forma, ela tenha sido roubada. Exemplo 145 Vamos supor que Bruno queira receber mensagens criptografadas, como mostra a Figu- ra 89. Existem dois componentes no RSA que se inter-relacionam. São eles: 1. Definição da chave pública e da chave privada. 2. O algoritmo de criptografia/decriptografia. Figura 89: Criptografia de chaves públicas. Fonte: Adaptada de Kurose e Ross (2013, p. 450, fig. 7.7). Para definir as chaves pública e privada Bruno precisa realizar as seguintes etapas, a saber: 1ª etapa Escolher dois números primos relativamente grandes, p e q. O quão gran- de eles devem ser? Na verdade, quanto maior eles forem, mais compli- cado será quebrar o RSA. Porém, será necessário um tempo maior de processamento para criptografar e decriptografar. Recomenda-se que o produto de p e q esteja entre 768 bits e 1.024 bits, dependendo do grau de segurança desejado. 2ª etapa Computar n = pq e z = (p – 1)(q – 1). Ana Bruno Texto cifrado eB (m) Algoritmo de criptografia Algoritmo de decriptografia Mensagem em texto aberto, m Mensagem em texto aberto, m m = dB(eB(m)) eb Chave criptográfica pública db Chave criptográfica privada 146 3ª etapa Escolher um número e que seja menor do que n e que não possua fato-res comuns (exceto o 1) com z, fazendo de e e z primos entre si. 4ª etapa Calcular um número d, tal que ed – 1 seja divisível por z. Em outras pa- lavras, dado e, calculamos d tal que o resto da divisão de ed por z seja o número inteiro 1. A operação matemática que calcula o resto de uma divisão de dois números inteiros x e n é x mod n. Uma vez feito isso temos que a chave pública de Bruno, que estará disponível a todos, é o par de números (n, e) e a sua chave privada será o par de números (n, d). A criptografia feita por Ana e a decriptografia feita por Bruno funciona da seguinte maneira: 1. Considerando que Ana queira enviar para Bruno um conjunto de bits, que, no fun- do, pode ser considerado um número que chamaremos de m, tal que m < n. Para codificar Ana calcula a potência me e, em seguida, determina o resto da divisão de me por n. Dessa forma, o valor criptografado, c, da mensagem m, que Ana enviará é: c = me mod n. 2. Para decriptografar a mensagem criptografada, c, Bruno calcula: m = cd mod n → que obriga o uso de sua chave secreta (n, d). Distribuição de Chaves Públicas O ponto fraco na criptografia assimétrica é justamente a distribuição das chaves públi- cas. Como será visto mais a frente nos protocolos da autenticação, se não tivermos a certeza de que estamos de posse da chave pública verdadeira da entidade que estamos autenticando, de nada adianta a autenticação, pois continuamos sem a garantia de estar- mos conversando com a entidade correta. Tal como acontece fora dos meios digitais, qual a garantia que temos de que uma determinada assinatura é realmente a da pessoa indicada? Nesses casos entra em cena uma terceira parte, que é o cartório. Uma das finalidades do cartório é dizer se a assinatura apresentada realmente pertence à pessoa indicada. 147 Como todo cartório é considerado um órgão confiável, devemos confiar em sua auten- ticação. Nesse caso, com relação às assinaturas, estamos falando do reconhecimento de firma. No caso da criptografia de chaves públicas, o intermediário de confiança equivalente ao cartório é a Autoridade Certificadora (Certification Authority – CA). Tal como o cartório, a CA certifica que uma chave pública realmente pertence a uma determinada entidade (tratando-se de sistema digitais, as entidades podem ser pessoas ou máquinas de uma rede). No caso de uma chave pública certificada, considerando que se tenha confiança absoluta na CA que a certificou, poderemos ter certeza quanto ao dono da chave pública. Uma chave pública certificada pode ser distribuída de qualquer lugar, como um servidor de chave pública, uma página web pessoal ou um pen drive. Uso de Certificados Digitais Como falamos anteriormente, se não tivermos confiança na chave pública recebida, tam- bém não podemos confiar na entidade com quem estamos conversando. Imagine uma situação de comunicação em que a chave pública não é certificada, para depois vermos como a certificação consegue acrescentar a segurança necessária, a fim de garantir a autenticidade da entidade com quem estamos conversando. Vamos considerar uma simples transação comercial pela Internet. Suponha que Ana tra- balhe em um restaurante que faz serviço de entrega em domicílio e que aceite pedidos feitos pela Internet. Bruno envia a Ana uma mensagem em texto aberto contendo o en- dereço de sua casa e o pedido. Pensando em garantir sua autenticidade, ele também inclui na mensagem sua assinatura digital. Como vimos, Ana pode obter a chave pública de Bruno de vários lugares diferentes, como de sua página web pessoal, e verificar a as- sinatura digital contida no pedido. Dessa maneira, ela se certificará de que foi realmente Bruno, e não outra pessoa qualquer, quem fez o pedido. Tudo parece correr bem até que a esperta Taís entra em cena. Como podemos ver na Fi- gura 90 a seguir, Taís decide fazer uma brincadeira com Bruno. Ela envia uma mensagem para Ana em que diz ser Bruno, fornece o endereço dele e faz um pedido. Ela também anexa uma assinatura digital, mas, como não tem a chave privada de Bruno, ela faz isso assinando com a sua própria chave. Ela também intercepta a consulta de Ana ao site de Bruno e, em vez de Ana pegar a chave pública de Bruno, ela pegará a chave pública da Taís pensando que é a de Bruno. Nesse exemplo Ana aplicará a chave pública de Taís (pensando que é a de Bruno) na assinatura digital e concluirá que a mensagem realmente foi criada por ele. O pedido será realizado e entregue, porém nada disso foi pedido por Bruno, levando Ana a arcar com o prejuízo de um pedido falso. 148 Figura 90: Taís se passa por Bruno usando criptografia de chaves públicas. Fonte: Adaptada de Kurose e Ross (2013, p. 467, fig. 7.21). Neste exemplo vimos que, para que a criptografia de chaves públicas funcione, as enti- dades (usuários, browsers, roteadores) têm que ter certeza de que a chave pública que possuem é a da entidade com a qual estão se comunicando. Ou seja, quando Ana estiver falando com Bruno usando a criptografia de chaves públicas, ela precisa ter certeza de que a chave pública que possui é realmente dele. A tarefa de vincular uma chave pública a uma entidade particular é da Autoridade Certifi- cadora (Certification Authority – CA), cujo objetivo é validar a identidade do requisitante e, então, emitir o seu certificado. E como isso é feito? A CA é uma organização que pode ser pública ou privada. Ela terá o seu próprio par de chaves assimétricas, sendo que sua chave pública estará disponível em ambientes confiáveis. Quando alguém solicita um certificado à CA, ele entregará a documentação necessária que o autentique e a sua chave pública. Depois que todas as verificações necessárias para garantir a identidade do requisitante são satisfeitas, ela gera um certi- ficado contendo as informações que identificam o solicitante, junta a esse certificado a chave pública dele e, então, criptografa tudo com a sua (da CA) chave privada. Ana usa a chave privada de Taís pensando que é de Bruno Bruno recebe uma pizza que não pediu Taís se faz passar por Bruno e pede uma pizza Chave privada de Taís Ana: Envie-me uma pizza, Bruno Resumo de mensagem criptografado 149 Quando uma pessoa qualquer recebe uma mensagem assinada por alguém que pos- sui um certificado, ela pega esse certificado, que podeestar armazenado em qualquer lugar, e decriptografa com a chave pública da CA. Tendo em mente que a chave pública da CA foi recuperada de um local confiável, se a decriptografia for bem-sucedida, tere- mos a garantia de que o certificado adquirido foi realmente criptografado pela CA, sen- do, então, autêntico. Sabendo que o certificado é autêntico, a chave pública que está anexada a esse certificado também será autêntica, considerando que a CA utilizada é uma CA confiável. Estando de posse da chave pública autêntica da pessoa que me enviou a mensagem, é possível, então, fazer a verificação de sua assinatura digital. Se ela conferir, podemos ter a certeza de que realmente estamos conversando com a pessoa que assinou a mensa- gem. Esse procedimento é mostrado na Figura 91. Figura 91: Bruno obtém um certificado de uma CA. Fonte: Adaptada de Kurose e Ross (2013, p. 468, fig. 7.22). O uso de certificados pode impedir que Ana receba pedidos falsos? Vamos conferir! Chave privada da autoridade certificadora Autoridade certificadora Certificado criptografado de Bruno Chave pública de Bruno Informação identificadora de Bruno 150 Quando Ana recebe o pedido de Bruno, em vez de pegar sua chave pública do site, ela pega o seu certificado. Ana usa a chave pública da CA emissora do certificado para veri- ficar se a chave pública contida no certificado de Bruno é realmente dele. Considerando que a chave pública da CA seja conhecida por todos, Ana, então, pode usar a chave pú- blica recuperada do certificado, validar a assinatura digital de Bruno e saber ao certo se está realmente tratando com ele ou se esse foi mais um pedido falso. Algoritmo Diffie-Hellman para Troca de Chaves O principal problema em trabalhar com algoritmos de chave simétrica está na troca des- sa chave. É lógico que, uma vez que os membros comunicantes possam encontrar-se fisicamente e, então, decidirem qual será a chave secreta deles, fica bem fácil e seguro o uso desses algoritmos. Contudo, nem sempre essa facilidade está disponível, principal- mente se considerarmos que os membros comunicantes podem ser máquinas de um sistema de rede. Se não for possível realizar uma troca segura de chave, a comunicação não será segura. Whitfield Diffie e Martin Hellman publicaram, em 1976, um algoritmo de troca de chaves que possibilitava o compartilhamento seguro de uma chave simétrica. Esse algoritmo ficou conhecido como Algoritmo Diffie-Hellman para Troca de Chaves. E como funciona esse algoritmo? Vamos considerar que Ana deseje comunicar-se de forma segura com Bruno. A primeira coisa que eles precisam realizar é a troca de uma chave simétrica, para que, a partir daí, possam criptografar suas mensagens usando essa chave. Eles resolveram usar o algo- ritmo de troca de chaves de Diffie-Hellman e realizaram os seguintes passos: Com o crescimento do comércio eletrônico e a consequente necessidade de garantir a segurança das transações, tem havido um interesse crescente em autoridades certificadoras. Entre as empresas que fornecem serviços de CA destacam-se a Certisign, a Cybertrust e a Verisign. Ampliando o foco 151 1 Ana escolhe dois números p e g tal que p seja um número primo e g uma raiz primitiva de p. 2 Esses dois valores, p e g, são enviados em texto aberto para o Bruno. Qual- quer pessoa que esteja bisbilhotando a rede poderá ter acesso a esses dois valores. Nesse momento, tanto Ana como Bruno estão de posse de p e g. 3 Ana escolhe um número secreto a que só ela conhece e calcula o valor A = g a mod p. Em seguida, envia esse valor A para Bruno. 4 De forma semelhante, Bruno escolhe um número secreto b que só ele conhe-ce e calcula B = gb mod p. Em seguida envia esse valor B para Ana. 5 Ana calcula o valor Ka = Ba mod p. 6 Bruno calcula o valor Kb = Ab mod p. Se substituirmos o valor de B na expressão de Ka e o valor de A na expressão de Kb temos: Ka = (gb mod p)a mod p Ka = (gab mod p) mod p Ka = gab mod p Kb = (ga mod p)b mod p Kb = (gab mod p) mod p Kb = gab mod p Como podemos observar, Ka = Kb = K, em que K será a chave secreta utilizada na cripto- grafia das mensagens entre Ana e Bruno. A quantidade de passos necessários para quebrar esse algoritmo é igual a raiz de p. Se for escolhido um número primo p consideravelmente grande, o custo computacional necessário para quebrar esse algoritmo é tão grande que inviabilizará qualquer tentativa. Resumindo, a criptografia de chaves públicas nos oferece uma forma de autenticação e como a chave pública pode ser distribuída com segurança. Vimos também um método de troca de chaves simétricas sem que a chave seja trafegada na Internet, o que é de extrema importância, pois um dos pontos de maior vulnerabilidade no uso das chaves simétricas é a forma de realizar seu compartilhamento. 152 Fundamentos de Autenticação Digital; For- mas de Autenticação: Criptografia, MAC e Hash; MAC, SHA e DSS; Kerberos; Seguran- ça no Correio Eletrônico – GnuPG e S-MI- ME; IPSec; Tipos de Certificados Digitais; ICP-Brasil, Autoridades Certificadoras e Registradoras; Aspectos práticos do uso de certificados Antes de falarmos sobre os fundamentos de autenticação digital, vamos entender o con- ceito de autenticação. Autenticação é o processo de provar que você é quem diz ser. Nós, seres humanos, temos a habilidade de fazer isso de muitas maneiras diferentes, como por meio de reconhecimen- to visual do rosto das pessoas, reconhecimento da voz. Quando trata-se de autenticação pela rede não é possível confiar em informações biométri- cas. Temos que levar em consideração que, em muitas situações, as partes comunicantes serão máquinas ou serviços como roteadores e processos cliente/servidor, que precisam autenticar-se mutuamente. Nesse caso, a autenticação deve ser feita por meio de troca de mensagens fazendo uso de algum protocolo de autenticação. Antes que as partes comunicantes executem algum outro protocolo de transferência de dados, um protocolo de autenticação deve ser executado para garantir que os membros da comunicação sejam os corretos. O protocolo de autenticação tem por objetivo: Estabelecer as identidades dos membros de forma satisfatória para ambos. Somente após a autenticação dos membros ser bem-sucedida é que eles começam a realizar suas tarefas. Para exemplificarmos o comportamento dos protocolos de autenti- cação, veremos agora uma evolução nesse procedimento. 153 Protocolo de Autenticação 1.0 O protocolo de autenticação mais simples que podemos pensar pode ser um em que Ana simplesmente envia uma mensagem a Bruno dizendo que ela é Ana. Esse protocolo é apresentado na Figura 92 a seguir. Não há meios de Bruno saber se quem está enviando a mensagem “Eu sou Ana.” é realmente Ana. Por exemplo, Taís (a nossa intrusa) poderia muito bem enviar essa mensagem. Nesse exemplo a falha é óbvia! Figura 92: Cenário de falha do Protocolo de Autenticação 1.0 Fonte: Adaptada de Kurose e Ross (2013, p. 454, fig. 7.8). Protocolo de Autenticação 2.0 Considere que Ana possui um endereço IP conhecido, que sempre usa quando pretende se comunicar. Bruno poderia tentar autenticar Ana comparando o endereço de origem do datagrama IP que, supostamente, recebeu-o com o endereço conhecido dela. Se forem iguais, Ana estará autenticada. Porém, isso não impediria um intruso de rede experiente. Bruno BrunoAna Ana TaísTaís Eu sou Ana Eu s ou A na 154 Figura 93: Cenário de falha do Protocolo de Autenticação 2.0 Fonte: Adaptada de Kurose e Ross (2013, p. 454, fig. 7.9). Como já conhecemos a camada de enlace de um sistema de redes, não é impossível para alguém que tivesse acesso ao código do sistema operacional adulterá-lo, permi- tindo que um datagrama IP fosse criado com qualquer endereço IP de origem que qui- sesse, como colocar o endereço IP conhecido de Ana e enviá-lo pela rede. A partir daí, o datagrama com um remetente falso seria transmitido até Bruno. Essa abordagem é uma das técnicas mais comuns de ataque à segurança deredes, conhecida como falsificação de IP. Protocolo de Autenticação 3.0 Uma forma tradicional para a autenticação é usar uma senha secreta. Estamos rodea- dos de senhas secretas para nos identificarmos em diversos sistemas eletrônicos, como caixas automáticos ou senhas de login em sites de compras. A senha é um valor secreto compartilhado pelo sistema autenticador e pela pessoa que está sendo autenticada. Al- guns protocolos bem populares usam a senha como mecanismo de autenticação, como o HTTP, o Telnet, o FTP entre outros. Dessa forma, no Protocolo de Autenticação 3.0, Ana envia sua senha secreta a Bruno, como mostra a Figura 94. Bruno BrunoAna Ana TaísTaís Eu sou Ana Eu sou An a Endereço IP de Ana End ere ço IP de An a 155 Figura 94: Cenário de falha do Protocolo de Autenticação 3.0 Fonte: Adaptada de Kurose e Ross (2013, p. 455, fig. 7.10). É visível a falha de segurança desse método. Se Taís bisbilhotar uma comunicação de Ana, ela poderá facilmente descobrir sua senha. E como isso é possível? Para percebermos como isso é fácil, considere o fato de que na inicialização de uma sessão Telnet com outro computador é necessária a realização da autenticação a partir do fornecimento de um login e uma senha. Como a senha de login não é criptografada antes de ser enviada ao servidor, alguém que esteja conectado ao cliente Telnet ou ao servidor da LAN poderia rastrear a rede, lendo e armazenando todos os pacotes trans- mitidos por ela, apossando-se da senha de login. Essa abordagem é muito utilizada para roubar senhas. Sabendo agora o quanto essa ameaça é real, o Protocolo de Autenticação certamente não é muito apropriado. Protocolo de Autenticação 3.1 A estratégia utilizada para consertar o Protocolo de Autenticação 3.0 é usar criptografia. Se a senha da Ana for criptografada, Taís não conseguirá descobri-la, certo? Supondo- -se que Ana e Bruno compartilhem uma chave simétrica secreta, KA–B, então Ana pode criptografar a sua senha e enviar sua mensagem de identificação, “Eu sou Ana.”, junto com sua senha criptografada para Bruno. Bruno decifra a senha usando a chave KA–B conhecida apenas por ele e Ana e, se a senha estiver correta, Ana está autenticada. Ele fica tranquilo ao autenticar Ana, já que a pessoa que enviou a mensagem conhece tanto a senha como a chave secreta necessária para criptografá-la. Bruno BrunoAna Ana Taís Taís Eu sou Ana, senha Eu sou An a, sen ha OK OK 156 Ainda que seja verdade que esse protocolo impeça que Taís descubra a senha de Ana, ainda temos um problema na autenticação que o uso da criptografia não conseguiu re- solver – ataque de reprodução. Bruno está sujeito a esse ataque, basta Taís bisbilhotar uma comunicação de Ana, gravar a versão criptografada de sua senha e, mais tarde, acrescentar essa versão criptografada à mensagem para Bruno, fingindo ser Ana. O uso de uma senha criptografada não mudou muito da situação apresenta- da no Protocolo de Autenticação 3.0. Protocolo de Autenticação 4.0 O uso repetitivo da mesma senha é o que resultou no problema com o Protocolo de Au- tenticação 3.1. Uma maneira de solucionar esse problema é usar uma senha diferente a cada autenticação. Ana e Bruno poderiam combinar uma sequência de senhas, ou até mesmo o uso de um algoritmo gerador de senhas, e usá-las apenas uma vez, em uma sequência pré-determinada. Essa técnica é usada pelos bancos por meio dos tokens. Agora vamos considerar uma abordagem mais geral no combate do ataque de reprodu- ção, embora o problema de autenticação já esteja solucionado. Vamos lá! O cenário de falha apresentado no Protocolo de Autenticação 3.1 resultou do fato de Bru- no não ser capaz de distinguir a autenticação original de Ana da autenticação falsa copia- da da original feita por Taís. Isto é, Bruno foi incapaz de saber se Ana estava “ao vivo” na conexão, presumindo que ela estava realmente na outra extremidade da conexão ou que as mensagens recebidas eram uma reprodução previamente gravada de uma autentica- ção de Ana. Lembrando que o protocolo TCP utiliza uma apresentação de três vias (three way handshake) para resolver o mesmo problema, o lado servidor de uma conexão TCP não aceita uma conexão se o segmento SYN recebido for uma cópia já utilizada recente- mente, isto é, uma retransmissão de um segmento SYN de uma conexão anterior. Para resolver esse problema, o TCP escolhe um número de sequência inicial que não havia sido usado por um longo período de tempo e fica esperando que o cliente responda com um segmento ACK contendo esse número. Pensando nisso, adotaremos a mesma estratégia com finalidade de autenticação. Preste atenção! 157 Um nonce é um número que será utilizado apenas uma vez por um protocolo de auten- ticação. Assim que um nonce é usado, nunca mais será utilizado. Nosso Protocolo de Autenticação 4.0 usa um nonce. Conheça o seu comportamento: 1. Ana envia a mensagem “Eu sou Ana.” para Bruno. 2. Bruno define um nonce, R, enviando-o a Ana. 3. Ana criptografa o nonce usando a chave simétrica secreta KA–B que combinou com Bruno e envia o nonce criptografado KA–B(R) de volta para ele. Como acontece no Protocolo de Autenticação 3.1, é o fato de Ana conhecer a chave KA–B e usá-la para criptografar o nonce que permite a Bruno saber que a mensagem recebida foi realmente gerada por Ana. O nonce é utilizado para garantir que Ana está “ao vivo”. 4. Bruno decifra a mensagem recebida usando a chave KA–B. Se o nonce decifrado for igual ao nonce enviado anteriormente a Ana, ela estará, então, autenticada. Usando o valor R apenas uma única vez e depois verificando se o valor devolvido, KA–B(R), foi o mesmo enviado, Bruno pode ter certeza de que Ana é quem diz ser, já que ela sabe o valor da chave secreta essencial para cifrar R e, também, que está “ao vivo”, uma vez que ela possui o nonce criptografado R que Bruno acabou de criar, como mostra a Figura 95. Figura 95: Cenário sem falha do Protocolo de Autenticação 4.0 Fonte: Adaptada de Kurose e Ross (2013, p. 457, fig. 7.11). Protocolo de Autenticação 5.0 O motivo de sucesso do nosso Protocolo de Autenticação 5.0 foi o uso de um nonce e da criptografia de chaves simétricas. A pergunta é: Será que podemos usar um nonce com a criptografia de chaves públicas, já que a criptografia de chaves simétricas necessita de um modo seguro para a troca da chave para solucionar o problema de autenticação? BrunoAna Eu sou Ana R KA-B(R) 158 A utilização de uma abordagem de chaves públicas resolveria o problema do comparti- lhamento da chave. O Protocolo de Autenticação 5.0 proposto trabalha com a criptogra- fia de chaves públicas de forma análoga à forma como o Protocolo de Autenticação 4.0 trabalha com a criptografia de chaves simétricas. Vejamos um exemplo: 1. Ana envia a mensagem “Eu sou Ana.” para Bruno. 2. Bruno define um nonce, R, e o envia para Ana. Mais uma vez o nonce é utilizado para que ele se certifique de que Ana está “ao vivo”. 3. Ana usa seu algoritmo de criptografia privado com sua chave privada, dA, para o nonce, enviando o valor resultante dA(R) para Bruno. Como somente Ana conhece sua chave privada, ninguém mais poderá gerar dA(R). 4. Bruno aplica o algoritmo de criptografia público de Ana, eA, à mensagem recebida, isto é, ele processa eA(dA(R)). Assim, Bruno recupera o valor de R autenticando Ana. Será que o Protocolo de Autenticação 5.0 é tão seguro quanto o Protoco- lo de Autenticação 4.0? Como ambos usam nonces e o procedimento aparenta ser o mesmo, parece que sim. Porém, como o Protocolo de Autenticação 5.0 usa técnicas de chave pública, ele neces- sita que Bruno adquira a chave pública de Ana. A operação do Protocolo de Autenticação 5.0 é ilustrada na Figura 96, mas essa necessidade nos remete a um cenário interessan- te, mostrado na Figura 97, em que Taís pode se passar por Ana perante Bruno: Figura 96: Protocolo de Autenticação 5.0 trabalhando corretamente. Fonte: Adaptada de Kurose e Ross (2013, p. 457, fig. 7.12). Brunoprocessa eA(dA(R)) = R, autenticando Ana Ana Eu sou Ana R dA(R) eA Envie-me sua chave pública eA 159 1. Taís envia a mensagem “Eu sou Ana.” para Bruno. 2. Bruno define um nonce, R, e o envia para a Ana, mas a mensagem é interceptada por Taís. 3. Taís aplica o seu algoritmo de criptografia privado com sua chave privada, dT para o nonce e envia o valor resultante, dT(R), para Bruno. Para Bruno, dT(R) é apenas um conjunto de bits e ele não sabe se esses bits representam dT(R) ou dA(R). 4. Bruno deverá pegar a chave pública de Ana para poder aplicar eA ao valor recebi- do. Ele envia uma mensagem para Ana, pedindo o seu eA. Taís também intercepta essa mensagem e responde a Bruno devolvendo eT, isto é, a sua própria chave públi- ca. Bruno, então, calcula eT(dT(R)) = R e, assim, autentica Taís como se ela fosse Ana! Figura 97 – Falha de Segurança do Protocolo de Autenticação 5.0. Fonte: Adaptada de Kurose e Ross (2013, p. 458, fig. 7.13). Como vimos anteriormente, esse cenário que o Protocolo de Autenticação 5.0 apresenta só será seguro se tivermos uma forma segura de distribuição de chaves públicas. Feliz- mente, essa maneira existe e veremos mais à frente. No cenário apresentado na Figura 97, em algum momento Bruno e Ana podem acabar descobrindo que alguma coisa está errada, pois Bruno vai comentar com Ana sobre a conversa que tiveram e Ana estranhará, pois, para ela, tal conversa não aconteceu. Nesse momento os dois ficarão sabendo que houve uma falha de segurança na comunicação. Existe a possibilidade de um ataque mais cuidadoso e que poderia dificultar ainda mais essa descoberta. No cenário apresentado na Figura 98, Ana e Bruno estão conversando, mas Taís está explorando a mesma falha de segurança no protocolo de autenticação. Ela consegue colocar-se no meio da transmissão entre Ana e Bruno de maneira transparen- te, isto é, sem que seja detectada. Nesse caso, quando Bruno começar a enviar dados Bruno processa eT(dT(R)) = R, autenticando Taís como se fosse Ana Eu sou Ana R dT(R) eT Envie-me sua chave pública eATaís 160 criptografados para Ana usando a chave criptográfica que recebeu de Taís, esta poderá decriptografar a mensagem, recuperando o texto aberto da comunicação entre Bruno e Ana. Considerando que ela também adquiriu a chave pública da Ana, ela pode repassar os dados de Bruno a Ana. Bruno acha que a conversa está segura enviando seus dados criptografados e Ana tam- bém sente-se certa de que a conversa está segura, recebendo os dados criptografados e usando para isso sua própria chave pública. O pior de tudo é que nenhum deles sabe da presença de Taís. Quando Bruno se encontrar com Ana e comentar sobre a conversa que tiveram, Ana confirmará exatamente o que Bruno enviou, fazendo com que não se perceba que alguma coisa estivesse errada. Esse método de espionagem é chamado de ataque do homem do meio. Figura 98: Um ataque do homem do meio. Fonte: Adaptada de Kurose e Ross (2013, p. 459, fig. 7.14). Eu sou Ana R eA Envie-me sua chave pública eA Ana decifra eA (X), recupera X Taís decifra eT (X), recupera X, usando a cifra eA , repassa eA (X) para Ana Bruno envia dados X, codificados por eT dA(R) Eu sou Ana R dT(R) eT Envie-me sua chave pública eATaís 161 Resumo de Mensagem (MAC, HASH, SHA e DSS) MAC (Message Authentication Code – Código de Autenticação de Mensagem), também conhecido por Resumo de Mensagem, nada mais é que a criação de um código com o objetivo de: Ser capaz de autenticar uma determinada mensagem. Como vimos anteriormente a tecnologia de criptografia de chaves públicas pode ser usa- da para criar uma assinatura digital. O maior problema com o processo de assinatura por criptografia é o custo de processamento envolvido. No Entanto, quando trata-se de um documento que será trocado entre humanos, como um contrato, uma ordem judicial entre outros, esse custo operacional não é tão preocupante quando trata-se de equipa- mentos como roteadores e servidores de e-mails. Esse operacional pode comprometer significativamente o tempo de processamento devido ao seu uso intenso de troca de informações, informações essas que não necessitariam ser criptografadas. No fundo, o que queremos garantir com a assinatura é: • Que o remetente das informações seja realmente quem diz ser, ou seja, que a as- sinatura realizada pelo remetente possa ser verificada. • Que não houve alteração nas informações após o remetente tê-la assinado. Devido à sobrecarga de criptografar e decriptografar, o processo de assinatura de dados por criptografia/decriptografia completa pode ser muito custoso. Existe uma alternativa mais eficiente, que é o uso de “resumo de mensagem”. Essa alternativa pode alcançar esses dois objetivos sem que seja preciso criptografar completamente a mensagem. A ideia por trás do resumo de mensagem é a de não precisar criptografar algo tão grande quanto a mensagem. Na verdade, será feito um processamento em cima de toda ela, gerando-se, como o próprio nome diz, um conjunto de dados menor e de tamanho fixo. Se m for a mensagem a ser enviada, então H(m) será o resumo dessa mensagem. A pro- teção advém do fato de que, se m for modificado, seja por acidente ou intencionalmente, o resumo não mais coincidirá. Onde está a vantagem de usar um resumo de mensagem se continuare- mos tendo que processar toda ela, a mensagem? Na verdade, esse processamento feito na mensagem a fim de calcular seu resumo de mensagem, é extremamente mais leve do que o da criptografia/decriptografia, onerando 162 muito menos o tempo de processamento dos equipamentos. Nesse caso, em vez de criptografarmos a mensagem, considerando que ela não é sigilosa, iremos criptografar apenas o resumo de mensagem, diminuindo drasticamente o custo operacional de assi- nar os dados. Supondo que Bruno queira enviar uma mensagem m não sigilosa para Ana, porém com a garantia de que foi realmente ele quem a enviou, ele criaria um resumo de mensagem H(m) e depois o criptografaria com sua chave privada dB, gerando dB(H(m)). Em seguida, ele enviaria o conjunto m e dB(H(m)). Note que m não está criptografada, já que estamos considerando que a comunicação não é sigilosa. É preciso garantir que a forma como H(m) foi criada possa oferecer as mesmas vantagens da assinatura digital, isto é, não ser falsificável, ser verificável e incontestável. HASH O cálculo realizado na mensagem para a criação do resumo de mensagem é o que cha- mamos de “função de hash”. As funções de hash têm por finalidade: • Pegar uma porção de dados de qualquer tamanho. • Realizar algum tipo de cálculo matemático gerando como resultado um conjunto de dados de “tamanho fixo”. Logo, podemos dizer que o resumo de mensagem é nada mais nada menos que o re- sultado de uma função de hash aplicada à mensagem, como mostra a Figura 99. Para que o resumo de mensagem seja tão eficiente quanto a assinatura digital, o algoritmo de função de hash utilizado deve ter as seguintes propriedades: • Após gerado um resumo de mensagem H(x), não deve ser viável descobrir, por meio de processamento, uma mensagem y, tal que H(y) = H(x). • Não pode ser possível, em termos computacionais, criar quaisquer duas mensa- gens x e y, de forma que H(x) = H(y). 163 Figura 99: Funções de Hash são usadas para criar resumos de mensagem. Fonte: Adaptada de Kurose e Ross (2013, p. 461, fig. 7.16). Em outras palavras, não pode ser possível que um intruso seja capaz de substituir uma mensagem por outra se a primeira estiver acompanhada por um resumo de mensagem. Isso quer dizer que se o (m, H(m)) for criado por um remetente, um intruso jamais con- seguirá substituir a mensagem m por outra mantendo o resumo de mensagem original, pois, quando fosse calculado o resumo de mensagem em cima da mensagem trocada, ele seria diferente do resumo de mensagem que veio acompanhando-a. Supondo que o algoritmo de hash utilizado na geração do resumo de mensagem fosse conhecido, por que o intruso não recalculao resumo de mensagem a partir da mensagem substituta e o envia no lugar do original? Assim, ninguém perceberia a troca, pois, ao calcular o resumo de mensagem no destino, ele coincidirá com o que veio acompanhando. Como vimos anteriormente é justamente por isso que o resumo de mensagem é criptogra- fado com a chave privada do remetente. Dessa forma não há como ser gerada uma cópia criptografada do resumo de mensagem falso, já que só o remetente conhece a sua chave privada. Podemos garantir que o (m, H(m)) realmente foi enviado pelo remetente esperado. Função de hash muitos-para-um Mensagem longa Resumo de mensagem de tamanho fixo 164 A figura 100 a seguir ilustra como é feito o envio de uma mensagem assinada. Vamos ao passo a passo: 1. Bruno pega sua mensagem original longa m e calcula seu resumo de mensagem de tamanho fixo H(m)) usando uma função de hash. 2. Para garantir que a mensagem não será falsificada, ele assina o resumo de men- sagem, criptografando-o com sua chave privada dB obtendo dB(H(m)). 3. Para finalizar, ele faz o envio do par formado pela mensagem em texto aberto e o resumo de mensagem assinado (m, dB(H(m))). Figura 100: Envio de uma mensagem assinada digitalmente. Fonte: Adaptada de Kurose e Ross (2013, p. 462, fig. 7.17). Função de hash muitos-para-um Chave privada de Bruno Enviar pacote para Ana Mensagem longa original Resumo de mensagem de tamanho fixo Resumo de mensagem codificado 165 A Figura 101 ilustra como é feita a verificação de integridade da mensagem assinada recebida. Vamos ao passo a passo: 1. Ana recebe o par (m, dB(H(m))) que contém a mensagem original em texto aberto e o resumo de mensagem assinado. 2. Agora, Ana pegará a mensagem m recebida e, usando o mesmo algoritmo de função de hash que Bruno, calculará o resumo de mensagem para m, que chama- remos de Hr(m). 3. Em seguida, ela pegará o resumo de mensagem criptografado recebido e o de- criptografará, usando a chave pública de Bruno e recuperando o H(m). 4. Por último, ela irá comparar os dois resumos de mensagem para saber se são iguais. Hr(m) = H(m)? Se for confirmada a igualdade, então a mensagem m é au- têntica, garantindo a integridade e o autor, no caso, Bruno. Agora, caso a igualdade não coincida, significa que ela foi adulterada, podendo ter sido um mero acidente de percurso ou uma falsificação intencional da mensagem. Figura 101: Verificação da integridade de uma mensagem assinada. Fonte: Adaptada de Kurose e Ross (2013, p. 463, fig. 7.18). Função de hash muitos-para-um Comparar Chave pública de Bruno Mensagem longa original Resumo de mensagem criptografado Resumo de mensagem de tamanho fixo Resumo de mensagem de tamanho fixo 166 SHA (Secure Hash Algorithm – Algoritmo de Hash Seguro) SHA é uma família de função de hash criptografada. A versão original é a SHA-0, que é a função de dispersão de 160 bits, publicada sob o nome “SHA” em 1995. Ela não foi ado- tada por muitas aplicações, pois, também em 1995, foi publicada a SHA-1, que é muito parecida com a SHA-0, mas altera a forma de dispersão do SHA-0 para corrigir algumas de suas fraquezas. Em 2002 foram definidas três novas versões do SHA com tamanho de dispersão de 256, 384 e 512 bits e ficaram conhecidas como SHA-256, SHA-384 e SHA-512. Essas versões possuem a mesma estrutura básica e a mesma forma de calcular que o SHA-1. DSS (Digital Signature Standard – Padrão de Assinatura Digital) O DSS é um padrão desenvolvido pela Agência de Segurança Nacional dos EUA – NSA para gerar uma assinatura digital para autenticar documentos eletrônicos. Ela utiliza a DSA (Digital Signature Algorithm – Algoritmo de Assinatura Digital), um algoritmo respon- sável por gerar a assinatura e o hash de mensagem. O DSA é um par de números grandes que, quando calculados, autentica o signatário e garante a integridade do documento. Ele gera e verifica as assinaturas. As assinaturas são geradas em conjunção com o uso de uma chave privada e a verificação se realiza com referência a uma correspondente chave pública. A assinatura é gerada e enviada juntamente com o resumo de mensagem, criado a partir de uma função hash. Essa mesma função hash é usada na verificação da assinatura. Somente quem possui a chave privada poderá decifrar por completo a mensagem. Para saber mais os detalhamentos e funcionamento do SHA, leia o Capítulo 12, Tópico 12.1 do livro STALLINGS, W. Criptografia e Segurança de Redes. 4. ed. São Paulo: Pearson Prentice Hall, 2008. ISBN: 978-85-7605-119-07, que consta na Biblioteca Virtual. Ampliando o foco 167 KDC (Key Distribution Center – Central de Distribuição de Chaves) Imagine que Bruno e Ana tenham se conhecido em uma sala de bate papo na Internet e, devido à incerteza do ambiente, não trocaram uma chave para usar em uma cripto- grafia simétrica. Como será que eles poderiam trocar uma chave secreta, já que eles só podem se comunicar pela rede? Para esses casos pode-se usar uma KDC. A KDC é um servidor com a finalidade de compartilhar uma chave secreta simétrica di- ferente com cada um de seus usuários cadastrados. No momento em que o usuário se cadastra em uma KDC é feito o armazenamento de uma chave secreta, que será usada entre o usuário e a KDC para garantir uma comunicação segura entre os dois. Para entendermos melhor o seu funcionamento vamos ao exemplo ilustrado na Figura 102. Suponha que Ana e Bruno estejam cadastrados em uma mesma KDC. Eles só co- nhecem as suas próprias chaves simétricas individuais para conversar com a KDC, que chamaremos de: KA–KDC para Ana falar com segurança com a KDC e KB–KDC para Bruno falar com segurança com a KDC. Para saber mais sobre o funcionamento dos algoritmos DSS e DSA, leia o Ca- pítulo 6, Tópico 6.6, do livro TERADA, R. Segurança de Dados: Criptografia em Redes de Computador. 2. ed. São Paulo: Blücher Ltda., 2008. Disponível na Biblioteca Virtual. Ampliando o foco 168 Figura 102 – Estabelecimento de uma chave de sessão única usando uma KDC. Fonte: Adaptada de Kurose e Ross (2013, p. 465, fig. 7.20). Vamos ao passo a passo dessa troca de chaves. 1º passo: Ana (A) envia a KDC uma mensagem criptografada com a chave KA–KDC in- formando que deseja comunicar-se com Bruno (B). Chamaremos essa mensagem de KA–KDC(A, B). 2º passo: Como a KDC conhece a chave simétrica KA–KDC, ela decriptografa a men- sagem KA–KDC(A, B). 3º passo: Em seguida, a KDC gera um número aleatório R1, que será a chave secre- ta simétrica que Ana e Bruno compartilharão. A identificação de Ana e essa chave R1 serão criptografadas com a chave KB–KDC, que chamaremos de KB–KDC(A, R1). As- sim, apenas Bruno conseguirá decriptografá-la. 4º passo: Uma nova mensagem criptografada será enviada a Ana contendo tanto a chave R1 como a sua cópia criptografada para Bruno, KB–KDC(A, R1). Essa mensa- gem será denominada KA–KDC(R1, KB–KDC(A, R1)). 5º passo: Ao receber essa mensagem criptografada, Ana a decriptografa ficando de posse de R1 e da sua versão criptografada para Bruno KB–KDC(A, R1). 6º passo: Ana envia KB–KDC(A, R1) para Bruno. 7º passo: Ao receber a mensagem KB–KDC(A, R1), Bruno a decriptografa e fica saben- do que Ana deseja falar com ele usando a chave secreta simétrica R1. Bruno conhece R1 Ana conhece R1 KA-KDC (A,B) KA-KDC (R1,KB-KDC(A,R1)) KB-KDC(A,R1) Ana e Bruno se comunicam usando a chave de sessão compartilhada R1. KDC 169 A partir desse momento a conversa entre Ana e Bruno pode ser realizada com segurança. Kerberos O Kerberos funciona de forma muito semelhante à KDC que acabamos de estudar, po- rém ele não é voltado para a comunicação entre pessoas, mas sim para autenticar usuá- rios e liberar serviços de uma rede, caso autorizado. O Servidor de Autenticação Kerberos, também conhecido como SA, faz o mesmo papel que a KDC, só que, nesse caso, ele não armazena apenas as chaves secretas de todos os usuários, mas também as informações sobre a quais recursos da rede cada usuário tem acesso privilegiado.Quando Ana quer acessar um serviço em um Servidor, o protocolo segue fielmente o exemplo dado na Figura 102. Vamos supor que Ana deseje usar um serviço no Servidor B (para lembrarmos de Bruno). 1º passo: Ana se loga em um computador local, que chamaremos de hospedeiro, fornecendo seu login e senha. 2º passo: O hospedeiro de Ana determina uma chave de sessão única para realizar a comunicação segura entre ele e o SA e, em seguida, envia, de forma criptografada, os dados de login e senha para o SA. 3º passo: O SA realiza o procedimento de autenticação e, sendo bem-sucedido, verifica se Ana tem acesso privilegiado ao Servidor B. Sendo validado o acesso, é gerada uma chave simétrica de sessão única R1 para ser usada na comunicação entre o hospedeiro de Ana e o Servidor B e um bilhete de acesso aos serviços do Servidor B, contendo a identificação de Ana, a chave R1 e o horário de término de validade do bilhete. 4º passo: O SA, também chamado de servidor bilheteiro, criptografa o bilhete usan- do a chave secreta de comunicação do Servidor B com o Kerberos. Em seguida, cria uma mensagem criptografada com a chave de sessão do hospedeiro de Ana contendo R1 e o bilhete criptografado e envia para o hospedeiro de Ana. 5º passo: Ao receber a mensagem, o hospedeiro de Ana decriptografa, recupera a chave R1 e o bilhete criptografado para o Servidor. 6º passo: O hospedeiro de Ana cria uma marca de tempo criptografada com R1 para ser usado como nonce e envia uma mensagem para o Servidor B contendo esse nonce e o bilhete criptografados. 170 7º passo: O Servidor B decriptografa o bilhete usando a chave dele com o Kerberos e recupera R1 e os demais dados a respeito de Ana. Com a chave R1, ele criptografa o nonce e devolve para o hospedeiro de Ana. 8º passo: O hospedeiro de Ana, ao receber o nonce criptografado do Servidor B, fica sabendo que ele está “ao vivo”. Segurança no Correio Eletrônico Para definirmos uma forma de transferência segura de e-mail usaremos alguns dos mé- todos apresentados anteriormente. Faremos essa montagem de forma incremental, para que fiquem bem claras todas as etapas utilizadas. Para exemplificar melhor o procedimen- to voltaremos a usar os nossos personagens Ana, Bruno e Taís. No nosso contexto, Ana deseja enviar uma mensagem de e-mail para Bruno e Taís quer bisbilhotar a mensagem. Antes de qualquer coisa, quais seriam as características de segurança desejada por Ana e Bruno? Vamos conhecê-las. Provavelmente o sigilo deve ser a característica mais importante, já que nem Ana e nem Bruno querem que Taís consiga ler a mensagem enviada. Uma segunda característica de segurança que Ana e Bruno provavelmente desejariam é a autenticação do remetente. É lógico que Bruno quer ter certeza de que a mensagem que recebeu veio realmente de Ana e não da nossa intrusa, Taís. Uma terceira característica de segurança desejada é a integridade da mensagem. Bruno quer ter certeza de que a mensagem recebida de Ana não foi adulterada durante o trajeto. Para finalizar, uma quarta característica desejada é a autenticação do receptor, isto é, Ana quer ter certeza de que realmente está enviando a mensagem para Bruno e não para outra pessoa, como Taís se passando por ele. Vamos começar tratando a primeira característica de segurança desejada: o sigilo. Uma maneira simples de conseguirmos isso é usando algum método de criptografia, por exemplo o DES de chaves simétricas. Sabemos que, se a chave for grande o suficiente, as chances de Taís conseguir decriptografá-la seriam ínfimas. Como já discutimos antes, o maior problema da criptografia de chaves simétricas está na forma usada para a troca desta chave. Alternativamente, podemos usar um algoritmo de criptografia de chave pú- blica, como o RSA. 171 Nesse caso, Bruno disponibilizaria a sua chave pública em algum local conhecido e aces- sível por Ana. Ana, então, criptografará a mensagem com essa chave pública e a enviará para o e-mail de Bruno. Ao receber a mensagem, Bruno a decriptografará usando a sua chave privada. Considerando que Ana tenha certeza de que realmente usou a chave pú- blica de Bruno, então teremos o que desejávamos, o sigilo garantido. O problema, nesse caso, é que os algoritmos de chave pública são complexos e deman- dam um tempo considerável no processamento. Se estivermos trabalhando com mensa- gens curtas, esse tempo não seria relevante, mas atualmente é muito comum enviar por e-mail fotos, áudios, vídeos, tornando as mensagens muito grandes e, com isso, fazendo com que o tempo de criptografia e decriptografia de chaves públicas seja longo o sufi- ciente para tornar-se inconveniente. Para resolvermos o problema de eficiência usaremos o recurso de uma chave de sessão. Nesse caso, temos: 1º passo: Ana escolhe uma chave simétrica KS aleatoriamente. 2º passo: Ela criptografa a mensagem m com essa chave simétrica KS, gerando KS(m). 3º passo: Depois ela criptografa a chave simétrica usando a chave pública de Bruno eB, gerando eB(KS). 4º passo: Ela concatena a mensagem criptografada com a chave criptografada ge- rando um pacote contendo KS(m) + eB(KS), em que o sinal de “+” representa a con- catenação. 5º passo: Por fim, ela realiza o envio desse pacote para o e-mail de Bruno. Quando bruno recebe o pacote no seu e-mail, ele realiza os seguintes passos: 1º passo: Primeiro ele vai desconcatenar o pacote, obtendo KS(m) e eB(KS). Na figu- ra, esse processo é representado pelo sinal “–”. 2º passo: Em seguida, usando a sua chave privada, vai decriptografar a chave simé- trica, gerando KS. 3º passo: Depois, usando a chave simétrica KS, ele irá decriptografar KS(m), gerando a mensagem m desejada. 172 Figura 103: Ana usa uma chave de sessão simétrica KS para envia um e-mail secreto para Bruno. Fonte: Adaptada de Kurose e Ross (2013, p. 471, fig. 7.24). Já temos um sistema de e-mail que fornece o sigilo, mas ainda faltam a autenticação e a integridade. Como fornecer essas duas características ao e-mail? Pensando em nossos personagens, considere agora que Ana e Bruno não estão preocu- pados com o sigilo. A mensagem dela pode ser lida por qualquer um que não os afetará, mas eles desejam ter a autenticação do remetente e garantir a integridade da mensagem. Para isso, usaremos resumos de mensagem e assinaturas digitais. Nesse caso, teríamos os seguintes passos ilustrados na Figura 104: 1º passo: Ana aplica uma função hash H à sua mensagem m, obtendo assim um resumo de mensagem H(m). 2º passo: Em seguida, ela criptografa o resumo de mensagem H(m) com a sua chave privada dA, gerando a assinatura digital dA(H(m)). 3º passo: Ela concatena a mensagem m com a assinatura digital dA(H(m)) gerando o pacote m + dA(H(m)). Lembrando que a mensagem m não está criptografada, pois o sigilo não é necessário. 4º passo: Por fim, ela realiza o envio do pacote para o e-mail de Bruno. Quando Bruno recebe o pacote em seu e-mail, realiza os seguintes passos: 1º passo: Primeiro, ele vai desconcatenar o pacote obtendo m e dA(H(m)). Ks Ks Ks(m) Ks(m) Ks(.) dB(.) eB(KS) eB(KS) Internet m Ana envia a mensagem de e-mail m Bruno recebe a mensagem de e-mail m m + - Ks(.) eB(.) 173 2º passo: Em seguida, usando a chave pública de Ana, vai decriptografar o resumo de mensagem gerando H(m). 3º passo: Depois, ele aplica na mensagem m a mesma função de hash usada por Ana calculando HB(m). 4º passo: Por fim, ele compara o hash calculado com o hash recebido por Ana, ve- rificando se são iguais, isto é, HB(m) = H(m)? Se forem iguais, Ana está autenticada e a integridade da mensagem confirmada. Logo, a mensagem é verdadeira. Caso contrário, se forem diferentes, a mensagem é falsa. Figura 104: Uso de funções de hash e assinaturas digitais. Fonte: Adaptada de Kurose e Ross (2013, p. 471, fig. 7.25). Como vimos, esse processo apresenta Autenticação e Integridade, mas não oferece Sigi- lo. Existe um método que usa todas essas três características.Contudo, para realizarmos isso, faremos a combinação dos dois procedimentos que acabamos de ver. Em um primeiro momento, Ana realiza o mesmo passo referente à Autenticação e à Inte- gridade mostrado na Figura 104, porém ainda não realiza o envio. São eles: 1º passo: Ana aplica uma função hash H à sua mensagem m, obtendo assim um resumo de mensagem H(m). 2º passo: Em seguida ela criptografa o resumo de mensagem H(m) com a sua cha- ve privada dA, gerando a assinatura digital dA(H(m)). 3º passo: Ela concatena a mensagem m com a assinatura digital dA(H(m)), gerando o pacote m + dA(H(m)). Lembrando que a mensagem m não está criptografada, pois o sigilo não é necessário. Internet m m m Ana envia a mensagem de e-mail m Bruno recebe a mensagem de e-mail m + - compara H(.) dA(.) dA(H(m)) dA(H(m)) H(.) eA(.) 174 Agora, Ana realiza os passos do sigilo apresentados na Figura 103, só que, em vez de aplicar KS em m, ela aplica em m + dA(H(m)). 1º passo: Ana escolhe uma chave simétrica KS aleatoriamente. 2º passo: Ela criptografa a mensagem m + dA(H(m)) com essa chave simétrica KS, gerando KS(m + dA(H(m))). 3º passo: Depois ela criptografa a chave simétrica usando a chave pública de Bruno eB, gerando eB(KS). 4º passo: Ela concatena a mensagem criptografada com a chave criptografada, gerando um pacote contendo KS(m + dA(H(m))) + eB(KS). 5º passo: Por fim, ela realiza o envio desse pacote para o e-mail de Bruno. A Figura 105 mostra todo o procedimento de envio realizado por Ana. Veja: Figura 105: Ana usa várias técnicas para enviar uma mensagem. Fonte: Adaptada de Kurose e Ross (2013, p. 472, fig. 7.26). Quando Bruno recebe o pacote em seu e-mail, ele primeiro realiza os passos do sigilo apresentados na Figura 103: 1º passo: Ele vai desconcatenar o pacote, obtendo KS(m + dA(H(m))) e eB(KS). 2º passo: Em seguida, usando a sua chave privada, vai decriptografar a chave simé- trica, gerando KS. 3º passo: Depois, usando a chave simétrica KS, ele irá decriptografar KS(m + dA(H(m))), gerando a mensagem m + dA(H(m)) desejada. m m Para a Internet + + H(.) dA(.) KS(.) eB(.) dA(H(m)) KS 175 Para finalizar ele aplica os passos referentes à Autenticidade e à Integridade apresenta- dos na Figura 104: 1º passo: Ele vai desconcatenar o pacote obtendo m e dA(H(m)). 2º passo: Em seguida, usando a chave pública da Ana, vai decriptografar o resumo de mensagem gerando H(m). 3º passo: Depois, ele aplica na mensagem m a mesma função de hash usada por Ana, calculando HB(m). 4º passo: Por fim, ele compara o hash calculado com o hash recebido por Ana, ve- rificando se são iguais, isto é, HB(m) = H(m)? Se forem iguais, Ana está autenticada e a integridade da mensagem confirmada. Logo, a mensagem é verdadeira. Caso contrário, se forem diferentes, a mensagem é falsa. Agora que temos um projeto de e-mail seguro capaz de oferecer Sigilo, Autenticação e Integridade, parece que não falta mais nada. É aí que nos enganamos. Como vimos, o que garante o funcionamento da criptografia de chaves públicas é ter a garantia de que a chave pública que temos é realmente de quem diz ser. Para resolver esse último de- talhe temos os certificados digitais, que são emitidos por uma autoridade certificadora. Se usarmos chaves públicas com certificados emitidos por uma autoridade certificadora confiável, aí sim teremos um e-mail seguro. GnuPG e S-MIME Tanto o GnuPG como o S-MIME trabalham oferecendo segurança no envio de mensa- gens por e-mail. Eles funcionam, basicamente, usando o modelo que acabamos de ver. Dependendo da versão deles, podemos ter diferenças nos algoritmos de Hash, Criptogra- fia de Chaves Simétricas e na Criptografia de Chaves Pública. A diferença significativa entre esses dois softwares é em relação à chave pública. Ou melhor: • O GnuPG permite trabalhar com chaves públicas não certificadas. • O S-MIME exige que essas chaves tenham um certificado emitido por uma Auto- ridade de Certificação. 176 IPsec (IP Security Protocol – Protocolo de Segurança IP) O IPsec é um conjunto de protocolos com o objetivo de oferecer segurança na camada de redes. Dentre os protocolos que o compõem dois deles são os principais: • Protocolo de Autenticação de Cabeçalho (Authentication Header – AH). Temos a autenticação do remetente e a integridade dos dados, mas não temos o sigilo. É um protocolo mais leve e muito útil quando o sigilo não é necessário. • Protocolo de Segurança de Encapsulamento da Carga Útil (Encapsulation Se- curity Payload – ESP) fornece todas as três características de segurança: autentica- ção do remetente, integridade dos dados e sigilo. Quando um equipamento envia um datagrama usando o protocolo IPsec, ele pode fazer isso usando um desses dois protocolos, AH ou ESP. Por também oferecer o sigilo, esse protocolo é mais pesado em termos computacionais, exigindo mais processamento do que o protocolo AH. É por isso que, se o sigilo não for necessário, recomenda-se o uso do protocolo AH em vez do ESP. Antes de enviar um datagrama esses protocolos fazem uma espécie de apresentação mútua, criando uma conexão na camada de redes que originalmente é não orientada à conexão. Esta cria um canal lógico denominado Acordo de Segurança (Security Agree- ment – AS). Essa conexão é unidirecional. Caso os dois participantes desejem enviar da- tagramas seguros, então dois canais, isto é, dois ASs, devem ser criados, um para cada sentido de transmissão. A identificação de um AS é feita pelos seguintes componentes: • Um identificador de protocolo de segurança (AH ou ESP). • O endereço IP do remetente para a conexão simples. Para saber mais sobre o funcionamento destes dois softwares GnuPG e S-MI- ME, leia o Capítulo 19, Tópico 19.1 e 19.2, do livro STALLINGS, W. Criptografia e Segurança de Redes: princípios e práticas. 6. ed. São Paulo: Pearson Educa- tion do Brasil, 2015. ISBN: 978-85-430-0589-8, que consta na Biblioteca Virtual. Ampliando o foco 177 • Um identificador de conexão de 32 bits chamado de Índice dos Parâmetros de Segurança (Security Parameter Index – SPI). Os datagramas IPsec possuirão um campo específico para armazenar o SPI. Em um determinado AS o valor do SPI nos datagramas será sempre o mesmo, identificando a respectiva conexão. AH (protocolo de autenticação de cabeçalho) O protocolo AH oferece a autenticação do remetente e a integridade dos dados. No mo- mento em que um equipamento decide enviar datagramas seguros, ele precisa estabe- lecer uma conexão criando um AS para, em seguida, fazer a transmissão de seus data- gramas seguros. Para isso, foi inserido entre o cabeçalho do IP e a carga (segmento TCP, UDP, ICMP etc.) o cabeçalho AH. A Figura 106 mostra essa inserção. Como esse cabeçalho encontra-se após o cabeça- lho do IP, os equipamentos da camada de rede, como roteadores, tratam-no como car- ga útil, isto é, não realizam qualquer tipo de processamento sobre ele. Porém, o campo de protocolo do cabeçalho IP, que carrega a identificação do protocolo da camada superior (transporte), à qual será entregue a carga útil, agora será preenchido com o valor 51, que identifica a existência do cabeçalho AH. Quando esse datagrama chega ao seu destino, a camada de rede, ao verificar que o número no campo do protocolo do cabeçalho IP é 51, transfere o processamento do datagrama para o procedimento responsável por processar o AH. A identificação do protocolo da camada de transporte foi transferida para um campo no cabeçalho do AH, para que esse procedimento possa identificá-lo e, após verificar a Autenticidade e a Integridade, enviá-lo para o protocolo correto da camada superior. Figura 106: Posição do cabeçalho AH no datagrama IP. Fonte: Adaptada de Kurose e Ross (2013, p. 482, fig. 7.30). Cabeçalho IP Protocolo = 51 Cabeçalho AH Segmento TCP/UDP 178 Entre os diversos campos do protocolo AH destacamos os seguintes: Campo referente ao próximo cabeçalho Como dito antes, a identificação do protocolo da camada superior foitransferida do cabeçalho IP para o cabeçalho AH e fica registrada nesse campo. Campo referente ao SPI Esse campo armazena um valor aleatório de 32 bits que, junto com o endereço de IP de destino e o protocolo de se- gurança, identifica de forma exclusiva o AS designado para esse datagrama. Campo referente ao número de sequência De forma semelhante ao TCP esse campo guarda um número de 32 bits para representar a sequência dos da- tagramas enviados. Quando o AS é criado, esse campo é estabelecido com o valor zero. Esse número é usado pelo protocolo AH para evitar os ataques de reprodução e do ho- mem do meio. Campo referente à autenticação de dados Esse é o campo que vai realizar o objetivo principal do pro- tocolo, que é a autenticação do remetente. Ele possui um comprimento variável e serve para guardar o resumo de mensagem assinado para esse datagrama. Ele é calculado sobre o datagrama IP original, isto é, sem o cabeçalho AH, fornecendo, assim, a autenticação do remetente e a integri- dade ao datagrama IP. Quando o equipamento de destino recebe um datagrama IPsec, ele determina qual é o AS para esse datagrama, faz a autenticação e verifica sua integridade, processando o campo referente à autenticação de dados. O procedimento de autenticação do IPsec usa o protocolo HMAC, que é um tipo de resumo de mensagem criptografado. O HMAC trabalha com uma chave secreta compartilhada, em vez de usar a criptografia de chaves públicas para a autenticação das mensagens. ESP (protocolo de segurança de encapsulamento da carga útil) Além da autenticação do remetente da integridade dos dados o ESP também oferece o sigilo. O procedimento inicial é igual ao do AH, estabelecendo um AS como destino. Dife- rentemente do AH, que apenas acrescenta um cabeçalho ao datagrama IP original, o ESP acrescenta três blocos. São eles: 179 Cabeçalho ESP: que, semelhante ao AH, fica entre o Cabeçalho IP e a carga útil (segmentos TCP, UDP etc.). Trailer ESP: fica logo após a carga útil. Autenticação ESP: fica logo após o Trailer ESP. O número do protocolo armazenado no cabeçalho IP para o ESP é 50, possibilitando que esse datagrama seja encaminhado para o procedimento referente ao ESP quando chega ao seu destino. O cabeçalho ESP possui um campo de 32 bits para o SPI e um campo de 32 bits para um número de sequência tal como o AH. O campo Trailer ESP possui o número do protocolo da camada superior. Diferentemente do AH esse campo não fica no cabeçalho. Ele foi colocado no final da carga útil para que fosse criptografado junto a ela, fornecendo o sigilo e impossibilitando que qualquer intruso saiba qual é o protocolo da camada superior a que essa carga útil será encaminhada ao chegar no seu destino. O sigilo já foi inserido ao criptografar a carga útil, já a autenticação e a integridade serão feitas da forma tradicional, usando uma assinatura digital colocada no último campo, que é a Autenticação ESP. A Figura 107 mostra a aparência do datagrama IP usando ESP. Figura 107: Campos ESP no datagrama IP. Fonte: Adaptada de Kurose e Ross (2013, p. 483, fig. 7.31). Para que o IPsec tenha um bom funcionamento é preciso que haja um acordo de segu- rança (AS) definindo-o e um método automatizado e escalável para o gerenciamento das chaves. Para isso, diversos protocolos já foram definidos. Cabeçalho IP Protocolo = 50 Cabeçalho ESP Trailer ESP Autenticação ESP Segmento TCP/UDP Criptografado Autenticado 180 Tipos de Certificados Digitais As informações apresentadas a seguir foram trazidas do site https://blog.certisign.com. br/tipo-de-certificado-digital/ da Certisign, que é uma Autoridade Certificadora homolo- gada pelo órgão governamental ICP-Brasil. A Medida Provisória nº 2.200-02, de 24 de agosto de 2001, criou o Certificado Digital, reconhecendo a validação jurídica de qualquer documento digital assinado com ele. Os certificados digitais são classificados dependendo de sua destinação ou níveis de cripto- grafia. Para os usuários finais registrados no ICP-Brasil, os certificados digitais são de 12 tipos: A1, A2, A3, A4, T3, T4, A CF-e-SAT e OM-BR (relacionados à Assinatura Digital) e S1, S2, S3 e S4 (relacionados a Sigilo). Os certificados A1 e A3 são os mais utilizados. Certificado tipo A – Assinatura Digital O Certificado Digital do tipo A é o que tem maior adesão, tanto por permitir backups e instalação em vários computadores, como por tratar-se de uma assinatura digital, ou seja, corresponder à assinatura física de uma pessoa no mundo virtual. Assim, esse cer- tificado, além de fazer assinaturas digitais, também atesta a titularidade, a autenticidade da operação e a não adulteração de um documento. Esse certificado pode ser utilizado, por exemplo, em emissão de Notas Fiscais, de Carteiras de Habilitação Digital, partici- pação de Leilões Eletrônicos na RFB etc. Certificado tipo S – Certificados de Sigilo Esse tipo de certificado aplica-se a pessoas físicas e jurídicas que necessitem de prote- ção digital para manter em segredo as informações de suas operações. Em um envio de um e-mail criptografado, somente a pessoa que possuir o devido Certificado Digital será capaz de decriptografá-lo e acessar seu conteúdo. Para saber mais sobre o funcionamento do protocolo ESP, leia o Capítulo 20, do livro STALLINGS, W. Criptografia e Segurança de Redes: princípios e práticas. 6. ed. São Paulo: Pearson Education do Brasil, 2015. ISBN: 978-85-430-0589-8, que consta na Biblioteca Virtual. Ampliando o foco https://blog.certisign.com.br/tipo-de-certificado-digital/ https://blog.certisign.com.br/tipo-de-certificado-digital/ 181 Certificado tipo T – Certificados de Sigilo Também chamado de carimbo de tempo (timestamp), esse certificado dá uma garantia temporal sobre um documento eletrônico ou uma assinatura digital. Com isso, ele valida juridicamente, além da integridade das informações, o momento em que determinado documento foi emitido. Certificado tipo A CF-e-SAT São emitidos somente para equipamentos que fazem parte do Sistema de Autenticação e Transmissão do Cupom Fiscal Eletrônico – SAT-CF-e, seguindo a regulamentação do CONFAZ. Certificado tipo OM-BR – Certificados do tipo Objeto Metrológico São emitidos somente para equipamentos metrológicos regulados pelo Inmetro. Certificados Digitais A1, A3 e A4: qual a diferença? Certificado Digital A1 Sua emissão é feita pelo computador, não havendo a necessidade de intermediários. É mantido em um navegador de Internet ou na nuvem. Sua instalação pode ser feita em vários computadores concomitantemente. Característica: Armazenamento em software com tamanho da chave de 2048 bits e prazo de validade de um ano. Certificado Digital A3 É mantido em um dispositivo criptográfico (smart card ou token) ou na nuvem. São pro- tegidos por senha e uma alta camada de criptografia. Característica: Armazenamento em hardware com tamanho da chave de 2048 bits e prazo de validade de até cinco anos. Certificado Digital A4 Utiliza um HSM (Hardware Security Module – Módulo de Segurança Criptográfico), em que a chave privada do certificado é gerada e armazenada. Esse certificado permite que sejam feitas cópias de segurança em outro HSM. 182 O certificado A4 possui uma segurança criptográfica maior do que a dos certificados A1 e A3, já que possui uma chave mais extensa. Característica: Armazenamento em hardware com tamanho da chave de 4096 bits e prazo de validade de até seis anos. ICP Brasil A ICP Brasil (Infraestrutura de Chaves Públicas Brasileira) é, na definição oficial do gover- no, “uma cadeia hierárquica de confiança que viabiliza a emissão de certificados digitais para identificação virtual do cidadão” (Disponível em: https://www.iti.gov.br/icp-brasil). Tem o intuito de estabelecer um sistema criptográfico baseado em certificados digitais a partir da elaboração e divulgação de práticas, procedimentos e técnicas na área. O tipo de certificação brasileiro é o de raiz única como infraestrutura de chavespúblicas, a qual tem uma Autoridade Certificadora Raiz (AC-Raiz), cuja atribuição é credenciar os membros da cadeia, supervisionar e auditar os processos. Comitê gestor da ICP Brasil O Comitê Gestor da ICP-Brasil é relacionado à Casa Civil da Presidência da República. Sua função principal é normatizar as políticas executadas pela Autoridade Certifica- dora-Raiz. É composto por cinco representantes da sociedade civil, representantes de alguns setores ligados ao tema e representantes dos seguintes órgãos: Ministério da Justiça, Ministério da Fazenda, Ministério do Desenvolvimento, Indústria e Comércio Exterior; Ministério do Planejamento, Orçamento e Gestão; Ministério da Ciência e Tec- nologia, Casa Civil da Presidência da República, Gabinete de Segurança Institucional da Presidência da República. Entes da ICP Brasil Os integrantes de sua estrutura hierárquica são: autoridade certificadora raiz, autoridade certificadora, autoridade de registro, autoridade certificadora do tempo, prestador de ser- viço de suporte e prestador de serviço biométrico, como veremos a seguir. https://www.iti.gov.br/icp-brasil 183 Autoridade Certificadora Raiz (AC-Raiz) É a autoridade máxima da estrutura de certificação. O Comitê Gestor da ICP-Brasil apro- va as normas técnicas e operacionais e a AC-Raiz as executa, emitindo, expedindo, dis- tribuindo, revogando e gerenciando os certificados das autoridades certificadoras dire- tamente abaixo dela na cadeia. Também tem a função fiscalizadora e auditora sobre as Autoridades Certificadoras (ACs), as Autoridades de Registro (ARs) e prestadores de serviço habilitados na ICP-Brasil. Autoridade Certificadora (AC) Entidade (pública ou privada) vinculada à hierarquia da ICP-Brasil. Tem como função a emissão, distribuição, revogação, renovação e gerenciamento dos certificados digitais, além de fazer a verificação da correspondência da chave privada de um titular com a chave pública de um certificado. A partir daí, ela emite e assina digitalmente o certificado do assinante, ou seja, a declaração da identidade do titular, o qual é detentor de um par exclusivo de chaves (pública/privada). Autoridade de Registro (AR) É a intermediária entre o usuário e a AC, à qual está associada. Sua função é identificar presencialmente os requerentes, além de receber, validar e encaminhar à AC os pedidos de emissão ou revogação de certificados digitais. Autoridade Certificadora do Tempo (ACT) É responsável por emitir o Carimbo do Tempo (timestamp), referente ao Certificado tipo T, comprovando não somente a existência de uma transação ou documento digital a de- terminado dia, mês e ano, mas também a veracidade de seu conteúdo. Prestador de Serviço de Suporte (PSS) Os serviços prestados pelo PSS constituem-se em três categorias: disponibilizar infraes- trutura física e lógica, disponibilizar recursos humanos especializados ou disponibilizar ambos, tanto para a AC quanto para a ACT e o PSBio. 184 Prestador de Serviço Biométrico (PSBio) É o ente da hierarquia responsável pela identificação biométrica — tornando-a disponível para toda ICP-Brasil —, pela comprovação biométrica do solicitante de um certificado digital e pela aferição de uma biometria, de forma que não haja duplicidade, conforme os padrões internacionais adotados. Para mais informações acesse o site oficial do Órgão Governamental ICP-Brasil respon- sável pelo controle e regulamentação das emissões de certificados digitais no link: ht- tps://www.iti.gov.br/icp-brasil/entes-da-icp-brasil . Resumindo, vimos as formas de garantia de integridade a partir da assinatura digital, usando funções de hash. Vimos também como podemos realizar envios seguros de e-mail e finalizamos falando da importância dos Certificados Digitais e o ICP-Brasil, que é a nossa Autoridade Certificadora. Para ampliar o seu conhecimento veja o material complementar da Unidade 4, disponível na midiateca. MIDIATECA Esta unidade está focada em segurança das informações em um sistema de redes de computadores. A segurança está em praticamente tudo que usamos na rede. Para acessarmos o Internet banking é necessário o uso das técnicas vistas nesta unidade, como: criptografia de chaves públicas e privadas, uso de token, uso de certificados digitais entre outros. NA PRÁTICA https://www.iti.gov.br/icp-brasil/entes-da-icp-brasil https://www.iti.gov.br/icp-brasil/entes-da-icp-brasil 185 A nossa rede caseira e empresarial de Wi-Fi também costuma ser configura- da com o uso de criptografia, justamente para evitarmos que acessem nos- sas transmissões e para que não consigam se conectar à nossa rede par- ticular, tornando-a mais lenta e consumindo nosso pacote de dados. É por isso que, ao se conectar pela primeira vez a uma rede sem fio, caso ela seja segura, será solicitada uma chave. Até as conversas feitas pelo WhatsApp são criptografadas atualmente. Resumindo, na prática, quase tudo que envia- mos e recebemos da Internet, em algum momento, passa pelo processo de criptografia e decriptografia. 186 Resumo da Unidade 4 Nesta unidade abordamos como a segurança pode ser implementada nas redes de com- putadores. Vimos alguns algoritmos de criptografia e suas peculiaridades, como esses algoritmos podem nos dar segurança e como algumas pessoas conseguem explorar certas vulnerabilidades em algumas das técnicas apresentadas. Apresentamos como garantir a autenticidade de um documento a partir da assinatura digital, que visa ser equivalente à assinatura física. Para finalizar, mostramos que, da mesma forma — a fim de garantir o dono da assinatura física usamos um terceiro membro, no caso os cartórios —, no mundo digital temos também a necessidade de um terceiro membro, nesse caso, chamado de Autoridade Certificadora. Nesta unidade destacam-se os seguintes conhecimentos: • Criptografia de dados. • Distribuição de chaves. • Autenticação do emissor. • Integridade dos dados. • Sigilo das informações. CONCEITO 187 Referências KUROSE, J. F.; ROSS, K. W. Redes de computadores e a Internet: uma abordagem top- -down. 6. ed. São Paulo: Pearson Education do Brasil, 2013. ISBN: 978-85-8143-677-7. Biblioteca Virtual. STALLINGS, W. Criptografia e Segurança de Redes. 4. ed. São Paulo: Pearson Prentice Hall, 2008. ISBN: 978-85-7605-119-07. Biblioteca Virtual. TANENBAUM, A. S.; WETHERALL, D. Redes de Computadores. 4. ed. São Paulo: Pearson Prentice Hall, 2011. ISBN: 978-85-7605-924-0. Biblioteca Virtual. TERADA, R. Segurança de Dados: criptografia em Redes de Computador. 2. ed. São Paulo: Blücher, 2008. ISBN: 978-85-212-0439-8.Biblioteca Virtual.