Ao invés de ser um protocolo único, o IPSec é
um conjunto de protocolos que fornece uma solução completa de
segurança para redes TCP/IP como a Internet. Considerado bastante
complexo, é definido pelas RFCs 2403, 2404, 2405, 2407, 2408, 2411,
2412, 4301 [8], 4302 [9], 4303 [10] e 4306 [2].
Seus principais protocolos são:
Authentication Header,
que garante a autenticidade e a integridade da comunicação;
Encapsulating Security Payload,
que provê privacidade e autenticação;
Internet Key Exchange,
um mecanismo de troca de chaves.
Uma comunicação segura entre dois dispositivos
através de uma rede insegura envolve o estabelecimento de um caminho
seguro. É neste conceito que se baseia o IPSec. Para que isto
ocorra, é preciso que os comunicantes sigam os seguintes passos:
Entrar em acordo quanto aos algoritmos de
criptografia e autenticação que serão utilizados;
trocar as chaves secretas que alimentarão os
algoritmos de autenticação e criptografia;
enviar os dados através da rede utilizando
os métodos acordados.
Estas operações envolvem diferentes protocolos
do conjunto IPSec. O primeiro passo está ligado ao estabelecimento
de SAs (Security Associations);
o segundo, ao protocolo IKE (Internet Key Exchange);
e o último, aos protocolos AH (Authentication Header)
e ESP (Encapsulation Security Payload),
que utilizarão as Security Associations
criadas.
Security Associations
Um fundamento
importante do IPSec são as Security Associations. Uma
Security Association (SA) é um conjunto de parâmetros que
representa uma relação unidirecional entre um emissor e um
receptor. Entre estes parâmetros, estão: algoritmo de criptografia,
chave de criptografia, algoritmo de autenticação e chave de
autenticação. As informações de uma SA são comuns ao receptor e
ao emissor. Para uma relação bidirecional, são necessárias duas
Security Associations.
Três parâmetros
atuam como identificadores de uma SA:
Security Parameters Index,
um identificador numérico único de 32 bits, presente nos
cabeçalhos dos protocolos IPSec;
endereço IP de
destino;
identificador de
protocolo de segurança, que relaciona a SA ao AH ou ao ESP.
Com esses parâmetros,
um receptor pode facilmente associar uma mensagem segura IPSec a uma
SA em sua base de dados de SAs (ou a duas, caso sejam utilizados
tanto o AH quanto o ESP). Ele poderá então desencriptar a mensagem
e/ou verificar as informações de autenticação, de acordo com os
demais parâmetros.