YouTube Facebook Twitter
Apostilas Artigos Tutoriais Aulas Vídeos Blog Ferramentas de Rede Fórum Downloads Colabore Fale Conosco
» artigos
:: Criptografia Simétrica em Redes de Comutação de Pacotes

Prof. Especialista José Mauricio Santos Pinheiro em 05/05/2008

 

A criptografia simétrica pode ser usada nos sistemas computacionais para oferecer confidencialidade aos dados que trafegam pela rede de comunicação. Entretanto, antes de utilizar a técnica para transmitir mensagens por uma rede de comutação de pacotes, é preciso decidir o que criptografar e onde a função de criptografia deverá estar localizada. Neste caso, existem duas opções fundamentais: criptografia ao nível de enlace e criptografia de ponta a ponta.

No ambiente distribuído de uma rede de comunicação, os dispositivos que garantem a segurança das informações podem ser posicionados para dar suporte à criptografia na camada de enlace ou oferecer proteção ponta a ponta. Na criptografia da camada de enlace, o meio de comunicação é provido nas extremidades com dispositivos executando criptografia. Já na criptografia de ponta a ponta, o processo criptográfico é executado nos dois sistemas finais.

Criptografia de Enlace

Com a criptografia de enlace, que em termos do modelo de referência OSI (Open systems Interconnection) ocorre nas camadas física ou de enlace de dados (Data Link), cada segmento de comunicação vulnerável é equipado nas duas extremidades com um dispositivo de criptografia, de forma que todo o tráfego através dos enlaces de comunicação é protegido. Para isso, é imprescindível que todo o caminho, da origem até o destino, utilize a criptografia de enlace. Cada par de nós que utiliza um enlace de comunicação deve compartilhar uma �nica chave de criptografia, com uma chave diferente sendo usada em cada enlace.

Figura 1 - Modelo de referência OSI

A desvantagem do método é que a mensagem precisa ser decriptografada toda vez que passar por um dispositivo de rede, um switch, por exemplo, uma vez que este precisa ler o endereço no cabeçalho do pacote a fim de rotear o frame. Consequentemente, a mensagem fica vulnerável em cada switch.

 

Criptografia Ponta a Ponta

A criptografia de ponta a ponta normalmente é realizada na camada de rede do modelo OSI, estando associada ao protocolo correspondente (Frame Relay ou ATM, por exemplo), de modo que a parte dos dados do usuário é criptografada na estrutura do protocolo utilizado. Trata-se de um processo que é executado nos dois sistemas finais, onde um host ou terminal de origem criptografa os dados, que são transmitidos através do meio de comunicação, até o host ou terminal de destino. Como o destino compartilha uma chave de criptografia com a origem, ele é capaz de decriptografar os dados.

A desvantagem é que, apesar da criptografia de ponta a ponta proteger os dados do usuário, ela não protege o padrão de tráfego, pois os cabeçalhos dos pacotes são transmitidos através da rede de comutação sem serem criptografados.

Na Tabela 1 estão resumidas as principais características da criptografia de enlace e da criptografia de ponta a ponta.

Tabela 1 - Características principais das duas estratégias de criptografia

 

CRIPTOGRAFIA DE ENLACE

CRIPTOGRAFIA DE PONTA A PONTA

Segurança dentro dos sistemas finais

Mensagem exposta no host emissor

Mensagem criptografada no host emissor

Segurança dentro dos sistemas intermediários

Mensagem exposta nos nós intermediários

Mensagem criptografada nos nós intermediários

Papel do usuário

Aplicado pelo host emissor;

Transparente ao usuário;

Host mantém recurso de criptografia;

Um recurso para todos os usuários;

Pode ser feito via hardware;

Todas ou nenhuma mensagem criptografada.

Aplicado pelo processo emissor;

Usuário aplica criptografia;

Usuário precisa determinar um algoritmo;

Usuários selecionam o esquema de criptografia;

Implementação via software;

Usuário escolhe criptografar ou não cada mensagem.

Problemas de implementação

Exige uma chave por par (host/nó intermediário) e par (nó intermediário/nó intermediário);

Oferece autenticação de host.

Exige uma chave por par de usuários;

 

 

Oferece autenticação do usuário.

Com a utilização simult�nea dos dois métodos de criptografia obtém-se maior segurança, uma vez que o host criptografa a parte dos dados do usuário contida no pacote usando uma chave de criptografia de ponta a ponta e o pacote inteiro é novamente criptografado usando uma chave de criptografia de enlace.

� medida que o pacote atravessa a rede de comutação, cada dispositivo da rede de comutação decriptografa o pacote usando a chave de enlace para ler o cabeçalho e, depois, criptografa o pacote novamente para enviá-lo ao próximo enlace (Fig. 2).

Figura 2 - Criptografia através da rede de comutação de pacotes

 

Preenchimento do Tráfego

Mesmo que todas as informações trocadas entre os usuários sejam criptografadas, a análise do tráfego na rede de comutação pode fornecer informações importantes para um atacante. O conhecimento sobre o n�mero e o tamanho das mensagens entre os nós pode permitir que um usuário mau intencionado descubra informações, tais como a identidade do emissor e do receptor, o padrão das mensagens e outros eventos relacionados com o tráfego.

Com o uso da criptografia de enlace os cabeçalhos da camada de rede são criptografados, reduzindo a oportunidade da análise do tráfego, porém, ainda é possível que um atacante avalie o volume do tráfego entrando e saindo de cada sistema final. Uma providência eficaz neste caso é o preenchimento do tráfego com bits aleatórios durante os períodos de tempo em que nenhum dado criptografado é transmitido.

O preenchimento do tráfego é basicamente uma função da criptografia de enlace e produz uma saída de texto cifrado contínuo, mesmo sem a presença de dados �teis. O requisito principal é que o fluxo de dados gerado seja aleatório e, esses dados aleatórios uma vez criptografados e transmitidos, tornam impossível ao atacante distinguir entre um fluxo de dados verdadeiro e um preenchimento de tráfego e, portanto, também fica impossível deduzir a quantidade de tráfego no enlace.

Distribuição de Chaves

Para que a criptografia simétrica funcione, as duas partes precisam compartilhar a mesma chave e esta precisa ser protegida contra acesso por outras partes. A distribuição de chaves é a função que envia uma chave a duas partes que querem trocar informações criptografadas entre si.

A força de qualquer sistema criptográfico está na técnica de distribuição de chaves, ou seja, os meios para entregar uma chave a duas partes que querem trocar dados, sem permitir que outros a vejam. Assim algum tipo de mecanismo ou protocolo deve ser usado para garantir a distribuição segura dessas chaves.

Considerando duas partes, designadas por A e B, a distribuição de chaves pode ser feita pelas seguintes formas:

"A" seleciona uma chave e a entrega fisicamente para "B";

Um terceiro seleciona a chave e a entrega fisicamente para A e B;

"A" e "B" já usaram uma chave anteriormente e uma das partes utiliza essa chave antiga para transmitir a nova chave criptografada para a outra parte;

Se "A" e "B" possuírem uma conexão protegida com uma terceira parte "C", então "C" pode entregar a chave para "A" e "B" pelo enlace protegido.

No caso da entrega física da chave, para a criptografia de enlace não há muito problema uma vez que cada dispositivo estará trocando dados somente com o parceiro no outro extremo da conexão. Porém, para a criptografia de ponta a ponta a entrega manual é complicada, porque no sistema distribuído qualquer host pode trocar chaves com diversos hosts e nós de comutação ao longo do tempo e, dessa forma, cada dispositivo necessita de uma série de chaves fornecidas dinamicamente.

Para a criptografia de ponta a ponta é necessário adotar um esquema de Centro de Distribuição de Chaves (CDC), responsável por distribuir chaves a pares de usuários conforme a necessidade e cada usuário precisa compartilhar uma chave exclusiva com o centro de distribuição de chaves, para fins de distribuição dessas chaves de criptografia.

A solução de centro de distribuição é baseada no uso de uma hierarquia de chaves e pelo menos dois níveis de chaves são usados (Fig. 3). A comunicação entre os sistemas finais é criptografada usando uma chave temporária durante a conexão lógica, conhecida como chave de sessão. Cada chave de sessão é obtida a partir do CDC e transmitida após ser criptografada usando uma chave-mestra, que é compartilhada pelo centro de distribuição de chaves e o sistema ou o usuário final. Para cada sistema ou usuário final existe uma chave mestra exclusiva que poderá ser distribuída de alguma forma não criptográfica, entrega física, por exemplo.

 

Figura 3 - Hierarquia de chaves

 

Para redes de comutação maiores não é necessário limitar a função de distribuição de chaves a um �nico centro. Para isso, uma hierarquia de CDC pode ser estabelecida, facilitando a distribuição de chaves-mestras e limitando os problemas que poderiam ocorrer no caso de um CDC sob ataque.


 

José Maurício Santos Pinheiro
Professor Universitário, Projetista e Gestor de Redes, 
membro da BICSI, Aureside e IEC.

Autor dos livros:
 
· Guia Completo de Cabeamento de Redes ·
· Cabeamento Óptico ·
· Infraestrutura Elétrica para Redes de Computadores
·
· Biometria nos Sistemas Computacionais - Você é a Senha ·

E-mail: jm.pinheiro@projetoderedes.com.br

© www.projetoderedes.com.br - Termos e Condições de Uso