3. Implementação

    Com o IPSec, a segurança é implementada na camada do IP. Isto faz com que ele seja transparente para as aplicações, que não precisam ter seu código-fonte alterado para garantir segurança. Além disso, pode ser facilmente utilizado em conjunto com o UDP, protocolo muito usado atualmente em comunicações multimídia.

    Diferentemente, as soluções de segurança mais comumente adotadas (SSL, TLS, SSH etc.) operam nas camadas de transporte ou aplicação. Muitas vezes, estas são utilizadas devido à complexidade da arquitetura e dos protocolos do IPSec, que exigem que a pilha TCP/IP seja alterada ou estendida, de acordo com a opção de implementação.

    O IPSec pode ser implementado de diversas maneiras, seja num terminal, em um roteador ou firewall (para criar um gateway de segurança) ou em um dispositivo de segurança independente. Na RFC 4301 [8], são definidas 3 alternativas de implementação para o IPSec:

Integração no IP

    Se baseia na integração dos protocolos do IPSec na implementação nativa do IP, o que é viável tanto para um terminal quanto para um gateway de segurança. Pode ser considerada a solução padrão, mais elegante.

    Entretanto, é preciso alterar o código-fonte da implementação IP, o que foi feito no Microsoft Windows 2000 (sendo incluído nas versões posteriores) e no Linux Kernel 2.6. Um tutorial simples sobre a utilização da pilha IPSec nativa do Ubuntu pode ser encontrado em https://help.ubuntu.com/community/IPSecHowTo.

Bump-in-the-stack (BITS)

    Consiste em implementar os protocolos IPSec entre a implementação nativa IP e os drivers da rede local. Os pacotes passados adiante pela camada do IP são interceptados por uma camada extra IPSec, que provê segurança e, depois, encaminha para a interface de rede na camada seguinte.

BITS
Figura 1: Ilustração da alternativa de implementação BITS.
Os cabeçalhos do IPSec são acrescentados após o cabeçalho IP.
Ilustração adaptada de [3].

    Para esta implementação, não é necessário o acesso ao código-fonte da pilha IP. Normalmente, quando adotada, esta estratégia é aplicada a terminais da Internet.

Bump-in-the-wire (BITW)

    Neste método, é utilizado um hardware adicional, que provê os serviços IPSec. Este hardware atua de maneira semelhante ao software BITS, interceptando pacotes IP, adicionando segurança e repassando-os na rede.

    Quando utilizado em conjunto com um roteador ou firewall, pode-se criar um gateway de segurança, que permite que diversos computadores numa rede local estabeleçam conexões seguras com terminais fora da rede, sem implementarem o IPSec. Mais informações poderão ser obtidas na descrição do modo túnel, na seção Modos de Operação.

    Assim como a opção de implementação BITS, o Bump-in-the-wire não requer o acesso ao código da implementação IP nativa.


    Como será visto mais adiante, as três estratégias de implementação (integrada, BITS e BITW) se relacionam com os dois modos de operação do IPSec.