Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
Формат классификационных меток
При передаче информации по протоколу IPv6 классификационные метки должны размещаться в Опции с типом CALIPSO (RFC 5570 Опция безопасности для архитектуры меток в IPv6 [Common Architecture Label IPv6 Security Option (CALIPSO), July 2009]) заголовка Hop-by-Hop IP-пакета (RFC 2460 Спецификация протокола IPv6 [Internet Protocol, Version 6 (IPv6) Specification, December 1998]). При отсутствии Опции с типом CALIPSO в составе заголовка Hop-by-Hop IP-пакета считается, что данный пакет имеет нулевую классификационную метку (т.е. классификационную метку с нулевым значением иерархического уровня конфиденциальности и нулевым набором неиерархических конфиденциальности).
Значения полей Опции CALIPSO, совокупность которых определяет значение классификационной метки, устанавливаются в соответствии с приведенной далее таблицей.
Заголовок Hop-by-Hop
- Значение поля NEXT HEADER определяет тип заголовка, следующего за заголовком Hop-by-Hop. При отсутствии следующих заголовков, принимает значение 6.
- Значение поля HEADER EXTENSION LENGTH определяет количество 8-байтных расширений, которые содержат опции и следуют за 8-байтным заголовком.
Значение поля TYPE равно 7, что определяет тип Опции — CALIPSO.
Поле LENGTH содержит значение длины Опции в байтах, не включая поля ТУРЕ и LENGTH. Может принимать значения: 12 или 16 (0x0C или 0x10) байт.
Значение поля DOMAIN OF INTERPRETATION равно 1, что определяет наличие в опции классификационной метки.
Поле COMPARTMENT LENGTH содержит значение длины поля COMPARTMENT BITMAP в 32-битных словах. Может принимать значения: 1 или 2 слова, соответственно 4 или 8 байт .
Поле SENSITIVITY LEVEL содержит значение иерархического уровня конфиденциальности (беззнаковое целое, 256 возможных значений).
Поле CHECKSUM содержит контрольную сумму CRC-16, определенную в RFC 1662 PPP с кадрированием в стиле HDLC, Приложение C [PPP in HDLC-like Framing, Appendix C, July 1994]. Контрольная сумма вычисляется по всей Опции CALIPSO, с нулевым полем CHECKSUM. Контрольная сумма всегда должна быть вычислена при передаче и всегда должна быть проверена при приеме.
Поле COMPARTMENT BITMAP содержит битовую маску неиерархических категорий конфиденциальности. Поле может состоять из одного или двух 32-битных слов (4 или 8 байт). Если поле состоит из одного слова, то оно размещается в расширении 1 опции CALIPSO, и расширение 2 не используется. Младший бит битовой маски категорий находится в старшем бите первого байта первого слова; старший бит битовой маски категорий находится в младшем бите последнего байта последнего слова. В общем случае, для преобразования из представления в ОС в представление в опции CALIPSO категории записываются в обратном порядке, и завершающие нулевые 32-битные слова отсекаются. Примеры:
Нет категорий. В этом случае COMPARTMENT BITMAP имеет значение:
00 00 00 00
и расширение 2 не используется.Категория 0 + Категория 1:
Представление в ОС:
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000011Представление в опции CALIPSO:
Категории записываются в обратном порядке, завершающие нулевые 32-битные слова отсекаются:
11000000 00000000 00000000 00000000
или в шестнадцатеричном представлении:
0xС0 0x00 0x00 0x00
Расширение 2 не используется.
Категория 62 + Категория 63:
Представление в ОС:
11000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000Представление в опции CALIPSO:
Категории записываются в обратном порядке, завершающие нулевые 32-битные слова отсекаются (в данном случае таких слов нет, соответственно, используется расширение 2):
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000011
или в шестнадцатеричном представлении:
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x03
Используется расширение 2.
Заголовок (2 байта) и Опция CALIPSO (4 байта) | |||||
|---|---|---|---|---|---|
| Поля, входящие в Опцию | Следующий заголовок | Число расширений HEADER EXTENSION LENGTH (1 байт) | Опция CALIPSO | ||
TYPE | LENGTH (1 байт) | DOMAIN OF INTERPRETATION | |||
| Значение поля | XX | 01 или 02 | 07 | 0x0C или 0x10 | 00 00 00 01 |
| ...Опция CALIPSO..., расширение 1 (8 байт) | |||||
| Поля, входящие в Опцию | Число слов в битовой маске категорий | Иерархический уровень конфиденциальности | Контрольная сумма CHECKSUM (CRC-16) (2 байта) | Битовая маска категорий | |
| Значение поля | 01 или 02 | XX | XX XX | XX XX XX XX | |
...Опция CALIPSO, расширение 2 (8 байт), необязательное | |||||
| Поля, входящие в Опцию | Битовая маска категорий | Опция PadN, для 64-битного выравнивания | |||
| Значение поля | XX XX XX XX | 01 02 00 00 | |||