Novo cabeçalho IP
Criptografado Autenticado
Não protegido Não protegido
Protocolos IPSec
O IPSec oferece serviços de segurança na camada de IP, permitindo que um sistema selecione protocolos de segurança exigidos, e determine os algoritmos necessários para os serviços, colocando no lugar quaisquer chaves criptográficas exigidas para oferecer os serviços solici- tados. Dois protocolos podem ser usados para oferecer segurança: autenticação do cabeçalho (AH) e um protocolo combinado de criptografia e autenticação, designado pelo formato de pacote para esse protocolo, denominado Encapsulamento de Segurança do Payload (ESP). Os serviços e suporte de cada protocolo IPSec seguem listados na tabela a seguir:
AH ESP ESP + AH Controle de acesso Sim Sim Sim
Integridade sem conexão Sim Sim
Autenticação da origem Sim Sim
Rejeição de pacotes repetidos Sim Sim Sim
Confidencialidade Sim Sim
O IPSec pode ser utilizado tanto para comunicação segura entre computadores (geralmente no modo transporte), quanto para o estabelecimento de VPN (geralmente no modo túnel). Alguns sistemas operacionais, como o Windows 2000, já possuem suporte nativo a IPSec, de modo que é possível que todo o tráfego entre servidores seja criptografado. Normalmente para utilizar IPSec, os roteadores presentes na rede devem suportar e entender o protocolo, para poderem encaminhar corretamente os dados.
Encapsulating Security Payload (ESP)
Estabelece mecanismos de garantia da privacidade e integridade do conteúdo, utilizando técnicas de criptografia e código Hash, respectivamente. Na criptografia, normalmente são uti- lizados algoritmos DES, 3DES ou AES. Para o código Hash são utilizadas funções MD5 ou SHA-1.
Authetication Header (AH)
Estabelece mecanismos de verificação da autenticidade e integridade de pacotes IP. Nor- malmente, na verificação da autenticidade de pacotes, é calculado o Hash de HMAC (Hash Message Authentication Code) usando funções de Hash MD5 ou SHA-1.
Cabeçalho ESP
q
1 Security Parameters Index (SPI). 1 Número sequencial.
Figura 7.6
Pacote encapsulado ESP no modo túnel.
Figura 7.7
Serviços de cada protocolo IPSec.
Se gu ra nç a d e R ed es e S is te m as
q
1 Padding. 1 Tamanho do Pad. 1 Próximo cabeçalho. Dados para autenticação.Payload length Next header Padding (0-255 bytes) Next header
Authentication data (variable) Sequence number Security Parameters Index (SPI)
0-7 bit 8-15 bit 16-23 bit 24-31 bit
Payload data (variable)
O campo SPI possui um valor que identifica a associação de segurança (SA) de um tráfego IPSec. O campo “Sequence number” possui um contador, que é incrementado a cada pacote enviado, com o objetivo de proteger contra ataques replay, onde o atacante captura um tráfego e o repete mais à frente. O payload contém o pacote original que está sendo prote- gido pelo ESP. O “Padding” é utilizado para completar os dados de modo a caber no tamanho de bloco do algoritmo de criptografia. “Pad Length” contém o tamanho do campo anterior e “Next Header” indica o tipo do próximo cabeçalho.
Cabeçalho AH
q
1 Próximo cabeçalho. 1 Tamanho do payload.
1 Security Parameters Index (SPI). 1 Número sequencial.
1 Dados para autenticação.
Authentication data (variable) Sequence number
Next header Payload length Reserved
Security Parameters Index (SPI)
0-7 bit 8-15 bit 16-23 bit 24-31 bit
Figura 7.8
Cabeçalho ESP.
Figura 7.9
Ca pí tu lo 7 - R ed es P ri va da s V ir tu ai s
No cabeçalho AH, alguns campos são invertidos em relação ao ESP, e não temos a cifragem do pacote original. Os campos “Next header”, “SPI” e “Sequence number” possuem a mesma finalidade dos correspondentes no cabeçalho ESP. O campo “Payload length” indica o tamanho do cabeçalho AH.
Exercício de fixação 3 e
IPSec
Explique o que são ESP e AH no protocolo IPSec.
VPN SSL
q
Com o uso de VPNs baseadas em SSL, é possível ter acesso a aplicações ou redes remotas, tendo como acesso qualquer tipo de conectividade à internet. Pode ser imple- mentada via:
1 Cliente VPN SSL 1 Navegador web
1 Instalação simplificada do agente
Quando precisamos de segurança apenas em uma aplicação específica, como navegação na internet, envio de correio eletrônico e mensagens instantâneas, utilizamos a criptografia na comunicação entre essas aplicações. As escolhas mais populares de criptografia para esse cenário são TLS e SSL. Embora os dois protocolos tenham a mesma finalidade, existem
diferenças sutis entre eles.
Ambos os protocolos suportam uma variedade de algoritmos de criptografia ou cifras para realizar algumas funções, como a autenticação do servidor e do cliente, transmissão de cer- tificados e estabelecimento das chaves de sessão. Para a criptografia em massa dos dados, algoritmos simétricos são utilizados. Algoritmos assimétricos são utilizados para autenti- cação e troca de chaves. O Hash é utilizado como parte do processo de autenticação. Com o uso de VPNs baseadas em SSL, é possível ter acesso a aplicações ou redes remotas, tendo como acesso qualquer tipo de conectividade à internet, sendo necessário apenas um navegador da internet ou um software cliente instalado na máquina do usuário. Essa flexibilidade permite às VPNs baseadas em SSL prover acesso de qualquer lugar a recursos computacionais de uma empresa. Dessa forma, colaboradores de uma empresa podem utilizar VPNs baseadas em SSL para ter acesso remoto a aplicações de uma empresa. Existem algumas etapas no estabelecimento da sessão VPN SSL que podem ser descritas em fases, conforme ilustra a figura a seguir:
Túnel VPN SSL 1 3 2 4 5 TLS e SSL
Transport Layer Security e Security Sockets Layer são protocolos com diferenças bem sutis. A especificação do SSL 3.0 é conhecida como SSL3, e do TLS 1.0 como TLS1 ou SSL 3.1. Figura 7.10 Estabelecimento de uma sessão VPN SSL.
Se gu ra nç a d e R ed es e S is te m as
1. Nesta fase, o equipamento do usuário estabelece uma conexão TCP na porta 443 do servidor. 2. O servidor SSL apresenta um certificado digital que contém a chave pública
digitalmente assinada por uma Autoridade Certificadora confiável.
3. O computador do usuário gera uma chave simétrica compartilhada entre as duas partes, cliente e servidor.
4. A chave pública do servidor é utilizada para criptografar a chave compartilhada e trans- mitir para o cliente. O software do servidor utiliza a chave privada para descriptografar a chave compartilhada enviada pelo cliente. Assim que o servidor realizar esse processo, ambos terão acesso à chave compartilhada.
5. A chave compartilhada então é utilizada para criptografar o dados transmitidos na sessão SSL. O OpenVPN é um exemplo de software livre, que utiliza SSL para criar túneis VPN. Uma van- tagem das VPN SSL em relação ao IPSec é que a liberação do acesso através de um firewall é bem mais simples, pois envolve apenas uma porta (443 TCP), que normalmente já é liberada pra acessos www seguros (HTTPS).
Exercício de fixação 4 e
VPN SSL
Explique a diferença entre TLS e SSL.