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.
|