Versão completa: formato de mensagem IPSec

O conjunto de protocolos IPSec é uma série de protocolos desenvolvidos pela IETF (Internet Engineering Task Force), que fornece segurança de alta qualidade, interoperável e baseada em criptografia para datagramas IP.

O IPSec é implementado através de dois protocolos de segurança: cabeçalho de autenticação AH (Authentication Header, protocolo número 51) e encapsulamento de carga útil de segurança ESP (Encapsulating Security Payload). AH pode fornecer funções de verificação de fonte de dados e verificação de integridade de dados; ESP pode não apenas fornecer funções de verificação de dados e verificação de integridade, mas também fornecer funções de criptografia para mensagens IP.

O protocolo IPSec possui dois modos de encapsulamento:

  • modo de transmissão. No modo de transporte, AH ou ESP é inserido após o cabeçalho IP, mas antes de todos os protocolos da camada de transporte ou antes de todos os outros protocolos IPSec.

  • Modo túnel. No modo túnel, AH ou ESP é inserido antes do cabeçalho IP original e um novo cabeçalho IP é gerado e colocado antes de AH ou ESP.

O modo de transporte é usado para comunicação entre dois hosts ou entre um host e um gateway de segurança. No modo de transporte, os dois dispositivos que criptografam e descriptografam as mensagens devem ser o remetente original e o destinatário final da mensagem.

Normalmente, a maior parte do tráfego de dados entre dois gateways de segurança (roteadores) não é o tráfego do próprio gateway de segurança, portanto, o modo de transmissão geralmente não é usado entre gateways de segurança, mas o modo túnel é sempre usado. As mensagens criptografadas em um gateway de segurança só podem ser descriptografadas por outro gateway de segurança. Portanto, o pacote IP deve ser encapsulado em túnel, ou seja, um novo cabeçalho IP é adicionado e o pacote IP encapsulado em túnel é enviado para outro gateway de segurança antes de poder ser descriptografado.

Formato da mensagem

Figura 1 Pacote AH e formato de cabeçalho

Campo comprimento descrever
Próximo cabeçalho 8 bits Representa a próxima carga após o cabeçalho de autenticação.
Capacidade de carga útil 8 bits O comprimento de AH é reduzido em 2 e 4 bytes é a unidade de contagem. Por exemplo, com um valor de autenticação de 96 bits, o comprimento seria "4" (ou seja, 3 4 bytes fixos para o cabeçalho + 3 4 bytes para o ICV - 2). Para IPv6, o comprimento total do cabeçalho deve ser múltiplo de 8 bytes.
RESERVADO 16 bits Reservado para uso futuro. Deve ser definido como 0 e ignorado ao receber.
Índice de parâmetros de segurança 32 bits Usado para identificar SA para o terminal de recebimento da mensagem
Campo de número de sequência 32 bits Número de sequência. Cada vez que uma mensagem é enviada, a contagem aumenta em 1. Por exemplo, sempre que uma mensagem SA é enviada, o número de sequência aumenta em 1.
Valor de verificação de integridade-ICV alongar O campo ICV da mensagem possui comprimento variável, devendo ser um número inteiro múltiplo de 32 bits.

Figura 2 Encapsulamento ESP e formato de cabeçalho

Campo comprimento descrever
Índice de parâmetros de segurança 32 bits Índice de parâmetros de segurança.
Número sequencial 32 bits número de série.
Dados de carga* alongar Dados de carga útil (variável).
Preenchimento 0–255 bytes Preencha os campos.
Comprimento da almofada 8 bits Comprimento do campo de preenchimento.
Próximo cabeçalho 8 bits Próxima cabeça.
Valor de verificação de integridade-ICV alongar verifique os dados.

Figura 3 Uso combinado dos protocolos AH e ESP

Internet Key Exchange Protocol IKE (Internet Key Exchange) é o protocolo de sinalização do IPSEC.

Figura 4 Formato do cabeçalho IKE

Campo comprimento descrever
SPI do iniciador IKE_AS 8 bytes O remetente é usado para identificar exclusivamente uma associação de segurança IKE. Este valor não pode ser definido como 0.
SPI do respondente IKE_AS 8 bytes O respondedor é usado para identificar exclusivamente uma associação de segurança IKE.Este valor deve ser 0 para a mensagem de interação IKE inicial e não pode ser 0 para outras mensagens.
Próxima carga útil 1 byte Somente o tipo de carga que segue a cabeça.
MjVer 4 bits Identifica a versão máxima do protocolo IKE utilizado.
MnVer 4 bits Identifica a versão mínima do protocolo IKE utilizado.
Tipo de troca 1 byte
  • 0-33: RESERVADO
  • 34: IKE_IN_INIT
  • 35: IKE_AUTH
  • 36: CREATE_CHILD_SA
  • 37: INFORMATIVO
  • 38-239: RESERVADO À IANA
  • 240-255: Reservado para uso privado.
Bandeiras 1 byte Opções específicas definidas na mensagem. Se o campo Sinalizador estiver definido, significa que existem opções.
  • X(reservado) (bits 0-2) - Deve ser zerado no envio e ignorado no recebimento.
  • I(nitiator) (bit 3 of Flags) - IKE_SA原始发送者在发送消息是必须将此位置1,源回应者发送的消息必须清零。
  • V(ersion) (bit 4 of Flags) - 标识转发者支持的版本比Major字段标识的版本更高 IKEv2版本的实现中,此比特必须置0,接收时忽略。
  • R(esponse) (bit 5 of Flags) - 标识此消息是对相同Message-ID的消息的一个回应消息。所有请求消息中此位需置0,所有回应消息置1。
  • X(reserved) (bits 6-7 of Flags) - 发送时需置0,接收时忽略。
Message ID 4 bytes 消息标识符,用来对请求消息和呼应消息的匹配,以便控制丢弃消息的重复发送。这在抑制重放攻击时对保障协议的安全性很关键。
Length 4 bytes 整个消息的长度(报文头+负荷),以字节为单位。
Next Payload 1 byte 标识消息中的下一个负载的类型。如果当前的负载是消息的最后一个,则此字段置0。
  • 0: No Next Payload
  • 1-32: RESERVED
  • 33: Security Association (SA)
  • 34: Key Exchange (KE)
  • 35: Identification - Initiator (IDi)
  • 36: Identification - Responder (IDr)
  • 37: Certificate (CERT)
  • 38: Certificate Request (CERTREQ)
  • 39: Authentication (AUTH)
  • 40: Nonce (Ni, Nr)
  • 41: Notify (N)
  • 42: Delete (D)
  • 43: Vendor ID (V)
  • 44: Traffic Selector - Initiator (TSi)
  • 45: Traffic Selector - Responder (TSr)
  • 46: Encrypted (E)
  • 47: Configuration (CP)
  • 48: Extensible Authentication (EAP)
  • 49-127: RESERVED TO IANA
  • 128-255: PRIVATE USE
C (Critical) 1 bit
  • 如果发送者想让接收者在无法识别当前一个负载的Next Payload域是能够跳过此域,可将此位置0。
  • 如果接收者能够识别负载的类型代码,则忽略此位。
  • 负载类型为以下情况时,此位必须设置为0。
    • Security Association (SA)
    • Key Exchange (KE)
    • Identification - Initiator (IDi)
    • Identification - Responder (IDr)
    • Certificate (CERT)
    • Certificate Request (CERTREQ)
    • Authentication (AUTH)
    • Nonce (Ni, Nr)
    • Notify (N)
    • Delete (D)
    • Vendor ID (V)
    • Traffic Selector - Initiator (TSi)
    • Traffic Selector - Responder (TSr)
    • Encrypted (E)
    • Configuration (CP)
    • Extensible Authentication (EAP)

注意,C比特应用于当前负载,而不是下一个负载。

RESERVED 7 bits 发送时必须置0,接收时忽略。
Payload Length 2 bytes 当前负载的长度,包括通用负载的头部,以字节为单位。

Acho que você gosta

Origin blog.csdn.net/yuyeconglong/article/details/132765822
Recomendado
Clasificación