O AH é o protocolo do IPSec que implementa os serviços de integridade e autenticação dos dados, assim como o anti-replay. A ele foi atribuído o número 51 na pilha de protocolo TCP/IP. O uso do AH previne ataques do tipo: · Replay, ou seja, quando o atacante intercepta um pacote válido e autenticado pertencente a uma conexão, replica-o e o reenvia mais tarde, atrapalhando a comunicação. A utilização do campo Sequence Number ajuda na prevenção a este tipo de ataque, pois permite numerar os pacotes que trafegam dentro de uma determinada AS. · Spoofing, ou seja, quando o atacante assume o papel de uma máquina confiável para o destino e, dessa forma, ganha privilégios na comunicação. A utilização de mecanismos de autenticação previne este tipo de ataque. · "Roubo de conexões" (connection hijacking), ou seja, quando o atacante intercepta um pacote no contexto de uma conexão e passa a participar da comunicação. A utilização de mecanismos de autenticação previnem este tipo de ataque. Os campos do cabeçalho do
protocolo são apresentados a seguir: -
Próximo Cabeçalho:
identifica qual é o próximo protocolo da pilha; -
Tamanho do payload: tamanho total do AH -
Reservado: 16 bits
reservados para a extensão do protocolo; -
SPI: em conjunto com o protocolo AH e o endereço fonte, identifica
unicamente uma AS para um determinado pacote; -
Número de seqüência:
contador utilizado na marcação das mensagens (usado no mecanismo anti-replay); -
Dados de Autenticação: contém o ICV ou MAC do pacote (para
autenticação e integridade). O SPI (AS) determina qual
método criptográfico será utilizado nos dados. Atualmente utilizam-se como
algoritmos padrão HMAC-MD5 e o HMAC-SHA-1. Para implementar o serviço
contra o replay de mensagens, o nó IPSec deve criar uma janela onde os
datagramas são validados de acordo com o valor do campo “número de
seqüência”. Números de seqüência à esquerda da janela são descartados,
números de seqüência à direita da janela fazem-na avançar e números de
seqüência dentro da janela serão descartados se já estiverem marcados ou
serão marcados neste instante. O ICV (Integrity Check Value) ou MAC (Message Authentication Code) é um checksum do conteúdo de alguns campos do cabeçalho IP e do seu payload. No cálculo do checksum o algoritmo utiliza os campos do cabeçalho IP que não se modificam entre a origem e o destino, além de todo o payload. Os campos mutáveis recebem valor zero para o cálculo do checksum. |