3.3.2. Субструктура преобразования
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! 0 (last) or 3 ! RESERVED ! Transform Length ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ !Transform Type ! RESERVED ! Transform ID ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ! ! ~ Transform Attributes ~ ! ! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Рисунок 8: Субструктура Transform
- 0 (последнее) или 3 (не последнее) (1 октет) — показывает, является ли это преобразование последним в предложении. Синтаксис унаследован от ISAKMP, не это поле не является необходимым, поскольку последнее предложение можно идентифицировать по размеру Proposal. Значение 2 соответствует типу элемента Transform в IKEv1 и первые четыре октета структуры организованы так, чтобы они выглядели, подобно заголовку Payload.
- Резерв (1 октет) — должно устанавливаться в 0 при передаче и игнорироваться на приеме.
- Transform Length — размер субструктуры Transform (в октетах) с учетом заголовка и атрибутов.
- Transform Type (1 октет) — показывает тип преобразования, задаваемого этим элементом. Различные протоколы поддерживают разные типы преобразований. Для некоторых протоколов часть преобразований может быть опциональной. Если преобразование является необязательным и инициатор предлагает его пропустить, преобразования этого типа не включаются в предложение. Если инициатор желает отдать решение вопроса об использовании необязательного преобразования ответчику, он включает субструктуру этого преобразования с нулевым идентификатором (Transform ID = 0) в качестве одной из опций.
- Transform ID (2 октета) — указывает конкретный экземпляр предлагаемого преобразования.
Типы преобразований перечислены ниже в таблице.
Тип преобразования | Используется | |
Резерв | 0 | |
Encryption Algorithm (ENCR) — алгоритм шифрования | 1 | IKE и ESP |
Pseudo-random Function (PRF) — псевдослучайная функция | 2 | IKE |
Integrity Algorithm (INTEG) — алгоритм защиты целостности | 3 | IKE, AH, опционально в ESP |
Diffie-Hellman Group (D-H) — группа Diffie-Hellman | 4 | IKE, опционально в AH и ESP |
Extended Sequence Numbers (ESN) — расширенные порядковые номера | 5 | AH и ESP |
Резерв IANA | 6 — 240 | |
Частное применение | 241-255 |
Для преобразований типа 1 (Transform Type 1 — алгоритм шифрования) определены следующие идентификаторы (Transform ID):
Имя | Значение | Определение |
Резерв | 0 | |
ENCR_DES_IV64 | 1 | RFC1827 |
ENCR_DES | 2 | RFC2405, [DES] |
ENCR_3DES | 3 | RFC2451 |
ENCR_RC5 | 4 | RFC2451 |
ENCR_IDEA | 5 | RFC2451, [IDEA] |
ENCR_CAST | 6 | RFC2451 |
ENCR_BLOWFISH | 7 | RFC2451 |
ENCR_3IDEA | 8 | RFC2451 |
ENCR_DES_IV32 | 9 | |
Резерв | 10 | |
ENCR_NULL | 11 | RFC2410 |
ENCR_AES_CBC | 12 | RFC3602 |
ENCR_AES_CTR | 13 | RFC3664 |
Резерв IANA | 14 - 1023 | |
Резерв для частного использования по соглашению сторон | 1024-65535 |
Для преобразований типа 2 (псевдо-случайная функция) определены идентификаторы:
Имя | Значение | Определение |
Резерв | 0 | |
PRF_HMAC_MD5 | 1 | RFC2104, [MD5] |
PRF_HMAC_SHA1 | 2 | RFC2104, [SHA] |
PRF_HMAC_TIGER | 3 | RFC2104 |
PRF_AES128_XCBC | 4 | RFC3664 |
Резерв IANA | 5 - 1023 | |
Резерв для частного использования по соглашению сторон | 1024-65535 |
Для преобразований типа 3 (алгоритм защиты целостности) определены идентификаторы:
Имя | Значение | Определение |
NONE | 0 | |
AUTH_HMAC_MD5_96 | 1 | RFC2403 |
AUTH_HMAC_SHA1_96 | 2 | RFC2404 |
AUTH_DES_MAC | 3 | |
AUTH_KPDK_MD5 | 4 | RFC1826 |
AUTH_AES_XCBC_96 | 5 | RFC3566 |
Резерв IANA | 5 - 1023 | |
Резерв для частного использования по соглашению сторон | 1024-65535 |
Для преобразований типа 4 (группа Diffie-Hellman) определены идентификаторы:
Имя | Значение |
NONE | 0 |
Определены в Приложении B | 1 - 2 |
Резерв | 3 - 4 |
Определены в [ADDGROUP] | 5 |
Резерв IANA | 6 - 13 |
Определены в [ADDGROUP] | 14 - 18 |
Резерв IANA | 19 - 1023 |
Частное применение | 1024-65535 |
Для преобразований типа 5 (расширенные порядковые номера) определены идентификаторы:
Имя | Значение |
No Extended Sequence Numbers — нет расширенных номеров | 0 |
Extended Sequence Numbers — расширенные номера | 1 |
Резерв | 2 - 65535 |