Рассмотрим Безопасную Ассоциацию Internet и
Существует много различных
Атрибуты SA, необходимые для протоколов AH и ESP, как минимум, должны включать механизм аутентификации, криптографический алгоритм, режим алгоритма, длину ключа и инициализационный вектор (IV). Установление SA является частью протокола управления ключом.
Защита от DoS-атак является одной из наиболее трудных задач. Для этой цели в
Следует заметить, что в обменах, показанных далее, механизм анти-препятствия должен использоваться вместе с механизмом сбора мусора; атакующий может завалить сервер, используя пакеты с поддельными IP- адресами. Подобные технологии управления памятью должны быть внедрены в протоколы, использующие
Атаки man-in-the-middle включают перехват, вставку, уничтожение и модификацию сообщений, отправку сообщений назад отправителю, повтор старых сообщений и перенаправление сообщений.
Протокол безопасности: протокол безопасности состоит из записи в конкретной точке стека сетевых протоколов, выполняющей сервис безопасности для сетевого соединения. Например, IPsec ESP и IPsec AH являются двумя различными протоколами безопасности. Протокол безопасности может выполнять более одного сервиса, например, обеспечивая целостность и конфиденциальность в одном модуле.
Набор защиты: набор защиты является списком сервисов безопасности, которые могут быть применены к различным протоколам безопасности. Например, набор защиты может состоять из DES шифрования для ESP и MD5 с ключом для AH.
Безопасная ассоциация (SA):
ISAKMP SA: SA используется
Domain of Interpretation:
Situation: ситуация содержит всю относящуюся к безопасности информацию, которую система считает нужным рассматривать, принимая решение о том, какие необходимы сервисы безопасности для защиты сессии, начавшей переговоры. Ситуация может включать адреса, классификации безопасности, режимы операций (нормальный или аварийный) и т.д.
Proposal: proposal – это список, упорядоченный по уменьшению предпочтений, наборов защиты, которые система будет применять для защиты трафика в данной ситуации.
Payload:
Exchange Type: тип обмена определяет число сообщений в
Вторая
Хотя подход, основанный на двух фазах, является достаточно дорогостоящим для большинства простых сценариев, существует несколько причин, чтобы он оказывался в большинстве случаев предпочтительным.
Во-первых,
Во-вторых, сервисы безопасности, которые ведут переговоры во время первой фазы, предоставляют свойства безопасности для второй фазы. Например, после первой
Заметим, что для каждой
Хотя при установлении безопасных каналов между системами Message ID в и поле SPI в Proposal payload используются при установлении SA для идентификации SA других протоколов безопасности.
В приведенной ниже таблице показано наличие или отсутствие определенных полей при установлении SA. Следующие поля необходимы для различных операций, связанных с установлением SA: cookies в Message ID в SPI в Proposal payload. "X" в столбце означает, что значение должно присутствовать. "NA" в столбце означает, что значение в операции не применяется.
| Операция | I-Cookie | R-Cookie | Message ID | SPI |
|---|---|---|---|---|
| 1. Начало |
X | 0 | 0 | 0 |
| 2. Ответ |
X | X | 0 | 0 |
| 3. Инициализация других SA переговоров | Х | Х | Х | Х |
| 4. Ответ других переговоров SA | Х | Х | Х | Х |
| 5. Другое (КЕ, ID и т.д.) | Х | Х | Х/0 | NA |
| 6. Протокол безопасности (ESP, AH) | NA | NA | NA | X |
Первая строка таблицы говорит о том, что инициатор включает поле Initiator Cookie в .
Вторая строка таблицы говорит о том, что отвечающий включает поля Initiator и Responder Cookie в . Взаимодействующие стороны Initiator и Responder cookies включаются в всех обменов между участниками
В течение первой SPI в Proposal payload избыточно и может быть установлено в 0 или может содержать cookie передаваемых сущностей.
Третья строчка таблицы говорит о том, что инициатор связывает Message ID с Protocols, содержащимися в SA Proposal. Это Message ID и SPI (s) инициатора связываются с каждым протоколом в Proposal и посылаются получателю. SPI (s) будут использоваться в протоколах безопасности сразу после завершения второй
В четвертой строке таблицы получатель включает тот же самый Message ID, и SPI (s) получателя связываются с каждым протоколом в принимаемом Proposal. Эта информация возвращается инициатору.
Пятая строка таблицы говорит о том, что инициатор и получатель используют поле Message ID в для отслеживания выполнения протокола переговоров. Это применяется на второй фазе обмена, и значение должно быть 0 для первой фазы обмена, потому что комбинированные cookies определяют SPI в Proposal payload не применяется, потому что Proposal payload используется только на протяжении обмена сообщениями переговоров SA (шаги 3 и 4).
В шестой строке таблицы
При установлении SA должно создаваться SPI. SPI Size в Proposal payload при установлении SA.
При начальном установлении SA одна из сторон выступает в роли инициатора, а другая – в роли получателя. После того как SA установлена, как инициатор, так и получатель могут начать вторую
Детали создания cookie зависят от реализации, но в целом должны выполняться следующие основные требования:
Кэрн (Karn) предложил метод создания cookie, основанный на выполнении быстрого хэша (например, MD5) над IP-адресами источника и получателя, портов UDP источника и получателя и локально созданного секретного случайного значения.
Exchange Type, размещаемым в
Сообщение
Поля
(рис 24.1) Формат заголовка ISAKMPInitiator Cookie (8 октетов) – cookie участника, который инициировал установление SA, уведомление SA или уничтожение SA.Responder Cookie (8 октетов) – cookie участника, который является получателем запроса установления SA, уведомления SA или уничтожения SA.Next Payload (1 октет) – определяет тип первого содержимого в сообщении. Формат обработки каждого содержимого определяется далее.Major Version (4 бита) – определяет старший номер версии используемого протокола Minor Version (4 бита) – определяет младший номер версии используемого протокола Exchange Type (1 октет) – определяет тип используемого обмена. Это определяет сообщение и упорядоченность полезной информации в Flags (1 октет) – определяет конкретные опции, которые установлены для Flags, начиная с крайнего левого бита, т.е. бит Encryption является нулевым битом поля Flags, бит Commit является первым битом поля Flags и бит Authentication Only является вторым битом поля Flags. Оставшиеся биты поля Flags при передаче должны быть установлены в 0.E ( encryption bit ) – если установлен, то все содержимые, следующие после заголовка, шифруются, используя алгоритм шифрования, определенный в Identifier является комбинацией cookie инициатора и получателя. Рекомендуется, чтобы шифрование соединения между участниками начинало выполняться как можно быстрее. Для всех Key Exchange. Если данный бит не установлен, то содержимые не шифруются.C ( commit bit ) – данный бит используется для сигнала синхронизации обмена ключа. Он позволяет гарантировать, что зашифрованный материал не будет получен до завершения установления SA. Commit Bit может быть установлен в любое время любым из участников установления SA и может использоваться в обеих фазах установления Commit Bit, должна ждать Information Exchange, содержащий Notify payload от сущности, которая установила Commit Bit. Получение и обработка Informational Exchange говорит о том, что установление SA прошло успешно, и обе сущности могут теперь продолжать взаимодействие по зашифрованному каналу. Дополнительно к синхронизации обмена ключа Commit Bit может использоваться для защиты от падения соединения по ненадежным сетям и предохранять от необходимости многочисленных повторных восстановлений.A ( authentication only bit ) – данный бит используется с Informational Exchange с Notify payload и позволяет передавать информацию с контролем целостности, но без шифрования (т.е. "аварийный режим"). Если бит Authentication Only установлен, ко всему содержимому Notify Informational Exchange применяются только Message ID (4 октета) – уникальный идентификатор сообщения, используется для идентификации состояния протокола в Length (4 октета) – длина всего сообщения (заголовок + содержимое) в октетах. Шифрование может увеличить размер | Тип Next Payload | Значение |
|---|---|
| None | 0 |
| Security Association (SA) | 1 |
| Proposal (P) | 2 |
| Transform (T) | 3 |
| Key Exchange (KE) | 4 |
| Identification (ID) | 5 |
| Certificate (CERT) | 6 |
| Certificate Request (CR) | 7 |
| Hash (HASH) | 8 |
| Signature ( |
9 |
| 10 | |
| Notification (N) | 11 |
| Delete (D) | 12 |
| Vendor ID ( |
13 |
| RESERED | 14 – 127 |
| Private USE | 128 – 255 |
| Тип обмена | Значение |
|---|---|
| NONE | 0 |
| Base | 1 |
| Identity Protection | 2 |
| Authentication Only | 3 |
| Aggressive | 4 |
| Informational | 5 |
| 6 – 31 | |
| 32 – 239 | |
| Private Use | 240 – 255 |
Каждое
Поля общего заголовка содержимого определяются следующим образом:
(рис 24.2) Общий заголовок содержимогоNext Payload (1 октет) – идентификатор типа содержимого следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина текущего содержимого, включая общий заголовок.Существует несколько случаев в Transform payload. Эти атрибуты данных не являются самостоятельным Attribute Length. Это определяется битом формата атрибута, описанным ниже.
Поля атрибутов данных определяются следующим образом:
(рис 24.3) Атрибуты данныхAttribute Type (2 октета) – уникальный идентификатор каждого типа атрибута.Бит Attribute Format ( AF ) указывает, будут ли атрибуты данных определяться форматом Type/Length/Value ( TLV ) или короткой формой формата Type/Value ( TV ). Если бит AF = 0, то атрибуты данных имеют форму TLV. Если бит AF = 1, то атрибуты данных имеют форму TV.
Attribute Length (2 октета) – длина значения атрибута в октетах. При AF = 1 значение атрибута имеет только 2 октета, и поле длины атрибута не представлено.Attribute Value (переменной длины) – значение атрибута, связанное с Attribute Type. Если бит AF = 0, то это поле имеет переменную длину, определяемую полем Attribute Length. Если бит AF = 1, то Attribute Value имеет длину 2 октета.Содержимое SA используется при переговорах об атрибутах безопасности и для определения
(рис 24.4) Содержимое SANext Payload (1 октет) – идентификатор типа содержимого Next payload в сообщении. Если текущее содержимое является последним в сообщении, то это поле будет 0. Данное поле не должно содержать значений для Proposal или Transform payloads, т.к. они являются частью содержимого SA. Например, это поле должно содержать значение "10" ( Nonce payload ) в первом сообщении Base Exchange, и значение "0" в первом сообщении Identity Protect Exchange.Payload Length (2 октета) – длина в октетах всего содержимого SA, включая SA payload, все Proposal payloads и все Transform payloads, связанные с создаваемой SA.Domain of Interpretation (4 октета) – определяет Situation (переменной длины) – поле, определяемое Situation используется для того, чтобы определить политику и соответствующие атрибуты безопасности, при которых ведутся переговоры.Proposal Payload содержит информацию, используемую в течение переговоров SA. Proposal состоит из механизмов безопасности, или преобразований, используемых для обеспечения безопасности информационного канала. На рис. 24.5 показан формат Proposal Payload.
(рис 24.5) Формат Proposal PayloadПоля Proposal Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Это поле должно содержать только значения "2" или "0". Если существуют дополнительные Proposal payload, то это поле должно быть 2. Если текущий Proposal payload является последним в SA proposal, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах всего Proposal payload, включая общий заголовок содержимого, Proposal payload и все Transform payloads, связанные с данным proposal.Proposal # (1 октет) – определяет номер Proposal для текущего содержимого.Protocol-Id (1 октет) – определяет идентификатор протокола для текущих переговоров. Примерами являются IPSEC ESP, IPSEC AH.SPI Size (1 октет) – длина SPI в октетах как определено Protocol-Id. В случае SPI Size не имеет значения и может быть от нуля до 16.# of Transforms (1 октет) – определяет количество преобразований для Proposal. Каждое из них содержится в Transform payload.SPI (переменной длины) – SPI получающей сущности.Тип содержимого для Proposal Payload равен 2.
Transform Payload содержит информацию, используемую SA при переговорах. Transform Payload состоит из конкретных механизмов безопасности, или преобразований, которые используются для обеспечения безопасности информационного канала. Transform Payload также содержит атрибуты SA, связанные с конкретным преобразованием. Эти атрибуты SA определяются Transform Payload.
(рис 24.6) Формат Transform PayloadПоля Transform Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Это поле должно содержать только значения "3" или "0". Если есть дополнительные Transform Payloads в Proposal, то данное поле должно быть равно 3. Если текущая Transform Payload является последней в proposal, то данное поле должно быть равно 0.Payload Length (2 октета) – длина в октетах текущей полезной информации, включая общий заголовок, значения Transform и все атрибуты SA.Transform # (1 октет) – определяет количество преобразований для текущего содержимого. Если для конкретного протокола существует более одного преобразования, то каждая Transform рayload имеет уникальный номер преобразования.Transform-Id (1 октет) – определяет идентификатор преобразования для протокола в текущей Proposal. Эти преобразования зависят от протокола, для которого ведутся переговоры.SA Attributes (переменной длины) – данное поле содержит атрибуты SA как они определены для данного преобразования в поле Transform-Id. Атрибуты SA должны представляться с использованием формата Data Attributes .Тип полезной информации для Transform Payload есть 3.
Key Exchange Payload поддерживает различные технологии обмена ключа. Примерами обменов ключа являются Key Exchange рayload.
(рис 24.7) Формат Key Exchange PayloadПоля Key Exchange Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним в сообщении, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Key Exchange Data (переменной длины) – данные, необходимые для создания Тип полезной информации для Key Exchange Payload есть 4.v
Identification Payload содержит данные, используемые при обмене идентификационной информацией.
(рис 24.8) Формат Identification PayloadПоля Identification Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущая полезная информация является последней, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.ID Type (1 октет) – DOI Specific ID Data (3 октета) – содержит данные идентификации. Если не используется, то данное поле должно устанавливаться в 0.Identification Data (переменной длины) – содержит идентификационную информацию. Формат определяется полем ID Type.Тип полезной информации для Identification Payload есть 5.
Certificate Payload обеспечивает способ передачи сертификатов или другой информации, относящейся к сертификатам, с помощью Certificate Payload.
(рис 24.9) Формат Certificate PayloadПоля Certificate Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущая полезная информация является последней, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Certificate Encoding (1 октет) – данное поле определяет тип сертификата или информации, относящейся к сертификату, содержащейся в поле Certificate Data.Certificate Data (переменной длины) – конкретное представление данных сертификата. Тип сертификата определяется полем Certificate Encoding.Тип содержимого для Certificate Payload есть 6.
Certificate Request Payload обеспечивает значение для запроса сертификатов с помощью Certificate Request рayload должен приниматься в любой точке обмена. Получатель Certificate Request рayload должен послать свой сертификат. Если требуется несколько сертификатов, то должны передаваться несколько Certificate Request рayloads. На рис. 24.10 показан формат Certificate Request Payload.
(рис 24.10) Формат Сertificate Request PayloadПоля Certificate Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Certificate Type (1 октет) – содержит тип запрашиваемого сертификата.Certificate Authority (переменной длины) – содержит обозначение принимаемых сертификационных центров для запрашиваемых сертификатов. Например, для сертификата Х.509 оно должно содержать значение DN CA, принимаемого отправителем. Это должно помочь получателю определить, какую цепочку сертификатов необходимо послать в ответ на данный запрос. Если требуемый сертификационный центр не указан, данное поле включаться не должно.Тип содержимого для Certificate Request Payload есть 7.
Hash Payload содержит данные, создаваемые хэш-функцией (определенной во время обмена при установлении SA), для некоторой части сообщения и/или состояния Hash Payload.
(рис 24.11) Формат HASH PayloadПоля Hash Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Hash Data (переменной длины) – данные, которые являются результатом применения хэш-функции к Signature Payload содержит данные, созданные функцией цифровой подписи (выбранной при обмене во время установления SA) для определенной части сообщения и/или Signature Payload.
(рис 24.12) Формат Signature PayloadПоля Signature Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Signature Data (переменной длины) – данные, которые являются результатом применения функции цифровой подписи для Тип содержимого для Signature Payload есть 9.
содержит случайные данные, используемые для гарантии своевременности обмена и отсутствия . Если определяется обменом ключа.
(рис 24.13) Формат Nonce PayloadПоля определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Nonce Data (переменной длины) – содержит случайные данные, созданные передающей сущностью.Тип содержимого для есть 10.
Notification Payload может содержать как определяемые Notification Payload в одном сообщении Notification Payload.
(рис 24.14) Формат Notification DataNotification, которые возникают на notification имеет место перед завершением обмена ключевой информацией, то она не будет защищена.
Notification, которые возникают во время Message ID и SPI связаны с текущими переговорами.
Поля Notification Data определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Domain of Interpretation (4 октета) – идентификация Protocol-Id (1 октет) – определяет идентификатор протокола для текущего уведомления. Примерами являются SPI Size (1 октет) – длина SPI в октетах как определено в Protocol-Id. В случае SPI Size не имеет отношения к делу и, следовательно, может быть от 0 до 16. Если SPI Size – не 0, содержимое поля SPI должно игнорироваться.Notify Message Type (2 октета) – определяет тип сообщения уведомления. Дополнительный текст размещается в поле Notification Data.SPI (переменной длины) – Security Parameter Index. SPI получающей сущности. Длина этого поля определяется полем SPI Size.Notification Data (переменной длины) – информация или данные об ошибке, передаваемые в дополнение к Notify Message Type.Тип содержимого для Notification Payload есть 11.
Delete Payload содержит идентификатор SA которую отправитель удаляет из своей БД SA и которая, следовательно, более не доступна. На рис. 24.15 показан формат Delete Payload. Возможна посылка нескольких SPIs в Delete Payload, однако каждый SPI должен быть предназначен для того же самого протокола.
(рис 24.15) Формат Delete PayloadУдаление, которое относится к Protocol-Id протокола (т.е. ESP, AH), и SPI есть SPI(s) посылающей сущности.
Поля Delete Payload определены следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Domain of Interpretation (4 октета) – идентификация Protocol-Id (1 октет) – SPI Size (1 октет) – длина SPI в октетах определяется Protocol-Id. В случае SPI Size есть 16 октетов для каждого удаляемого SPI.# of SPIs (2 октета) – количество SPIs, содержащихся в Delete payload. Размер каждого SPI определяется полем SPI Size.Security Parameter Index(es) (переменной длины) – идентификаторы, определяющие удаляемые Тип содержимого для Delete Payload есть 12.
Vendor ID Payload содержит константу, определяющую разработчика. Данная константа используется разработчиком для собственной идентификации и удаленной сущностью для распознавания разработчика. Данный механизм позволяет разработчику экспериментировать с новыми возможностями, сохраняя обратную совместимость. На рис. 24.16 показан формат Vendor ID Payload.
(рис 24.16) Формат Vendor ID PayloadПоля Vendor ID Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Vendor ID (переменной длины) – хэш строки разработчика плюс версия.Тип содержимого Vendor ID есть 13.
Используются следующие нотации.
– это
SA – это содержимое переговоров SA с одним или более Proposals. Инициатор может предоставить несколько Proposals для переговоров; получатель должен выбрать только одну.
<P>_b – это тело содержимого <P>. Например, SA_b есть все тело содержимого SA (минус общий
CKY-I и CKY-R есть cookie Инициатора и cookie Получателя, соответственно, из
g^x i и g^xr – это открытые значения Диффи-Хеллмана Инициатора и Получателя соответственно.
КЕ – это содержимое обмена ключа, т.е. открытая информация, которой обмениваются в
Nx – это содержимое x может быть i или r для
IDx – есть содержимое идентификации для "х". Х может быть "ii" или "ir" для
– это содержимое подписи. Подписываемые данные зависят от обмена.
СERT – это содержимое сертификата.
HASH – это содержимое хэша, которое определяется методом аутентификации.
– это псевдослучайная функция, часто хэш-функция, основанная на ключе, используемая для создания детерминированного выхода, который можно рассматривать как псевдослучайный.
SKEYID есть строка, полученная из секрета и известная только участникам обмена.
SKEYID_e есть материал ключа, используемый
SKEYID_а есть материал ключа, используемый
SKEYID_d есть материал ключа, используемый для получения ключей для не-
<x>y определяет, что х зашифровано ключом y.
$$\Rightarrow$$ указывает на направление взаимодействия от Инициатора к Получателю (запрос).
$$\Leftarrow$$ указывает на направление взаимодействия от Получателя к Инициатору (ответ).
| обозначает конкатенацию информации.
[x] обозначает, что х не является обязательным.
Шифрование сообщения (когда указана * после SKEYID_e тем способом, который определен для каждого алгоритма.
В течение Фазы 1 участники устанавливают безопасный аутентифицированный канал, по которому они будут взаимодействовать. Это называется
Фаза 2 определяется тогда, когда уже установлены
"New Group Mode" реально ни с Фазой 1, ни с Фазой 2 не связан. Он следует за Фазой 1, но служит для установления новой группы, которая может использоваться при будущих переговорах.
В результате использования фаз
Следующие атрибуты используются в
Все эти атрибуты обязательны, и о них должны вестись переговоры. Кроме того, возможны дополнительные переговоры о
Группа Диффи-Хеллмана задается по номеру или путем определения всех атрибутов группы. Атрибуты группы не должны зависеть от значений группы, определенной в предыдущем случае.
Существует два основных режима, используемых для установления аутентифицированного обмена ключа:
Содержимое SA должно предшествовать всем другим содержимым в Фазе 1 обмена. Кроме этого не существует никаких других требований ни к
Открытое значение Диффи-Хеллмана передается в содержимом КЕ в Фазе 1, оно может передаваться в Фазе 2 обмена, если требуется
Длина содержимого
В первых двух сообщениях
Во время переговоров инициатор представляет получателю предложения о потенциальных
Допускаются четыре различных метода аутентификации как для SKEYID вычисляется отдельно для каждого метода аутентификации.
Для подписей:
SKEYID =
Для
SKEYID =
Для предварительно распределенного секрета:
SKEYID =
Результатом как
SKEYID_d =
SKEYID_a =
SKEYID_e =
и согласованная политика по защите дальнейших коммуникаций. Значения 0, 1 и 2 представлены в одном октете. Ключ, используемый для шифрования, получается из SKEYID_e с помощью специфицированного алгоритма.
Для аутентификации обмена инициатора протокола создается HASH _I и для получателя создается HASH _R, где
HASH_I =
HASH_R =
При аутентификации с помощью цифровых подписей HASH _I и HASH _R подписаны и верифицированы; при аутентификации либо HASH_I и HASH_R непосредственно аутентифицируют обмен. Все содержимое ID (включая тип ID, порт и протокол, но исключая общий заголовок) хэшировано как в HASH_I, так и в HASH_R.
Как уже отмечалось, метод аутентификации, о котором договорились, влияет на содержимое и использование сообщений для Фазы 1 режимов, но не на их цели. При использовании для аутентификации открытых ключей обмен Фазы 1 может быть завершен либо использованием подписей, либо использованием
При использовании подписей вспомогательной информацией, которой обмениваются при второй круговой передаче, являются
(рис 24.17) Main Mode с аутентификацией с помощью подписи
(рис 24.18) Aggressive Mode с аутентификацией с помощью подписиВ обоих режимах подписанные данные, SIG_I или SIG_R, являются результатом HASH_I или HASH_R соответственно.
В общем случае подпись выполняется поверх HASH_I и HASH_R, при этом используется
Могут быть дополнительно переданы один или более сертификатов.
При использовании
Для того чтобы выполнить шифрование открытым ключом, инициатор должен уже иметь открытый ключ получателя. В случае, когда получатель имеет несколько открытых ключей, инициатор использует хэш сертификата, передаваемой как часть третьего сообщения. При таком способе получатель может определить, какой закрытый ключ использовать для дешифрования зашифрованного содержимого и защищенной идентификации.
В дополнение к IDii и IDir ) также зашифрованы открытым ключом другого участника. Если методом аутентификации является шифрование открытым ключом, то содержимые
При использовании для аутентификации шифрования
(рис 24.19) Аутентификация шифрования Main ModeГде HASH (1) есть хэш сертификата, который инициатор использовал для шифрования
Использование шифрования для аутентификации обеспечивает невозможность отказа от обмена.
Заметим, что в отличие от других методов аутентификации, аутентификация
(рис 24.20) Аутентификация шифрования Aggressive Mode Аутентификация
В данном режиме
Как и в методе аутентификации HASH может быть послано для идентификации сертификата, если получатель имеет несколько сертификатов. Если содержимое HASH послано, оно должно быть первым содержимым сообщения второго обмена, и за ним должен следовать зашифрованный HASH не послано, первым содержимым сообщения второго обмена должен быть зашифрованный
При использовании для аутентификации пересмотренного режима шифрования
(рис 24.21) Аутентификация пересмотренного режима шифрования Main Mode
(рис 24.22) Аутентификация пересмотренного режима шифрования Aggressive ModeГде HASH (1) была определена выше. Ke_i и Ke_r являются ключами для алгоритма симметричного шифрования, о котором участники договорились при обмене содержимом SA. Шифруется только тело содержимых (как в операциях с открытым ключом, так и симметричного шифрования), общие заголовки содержимого не шифруются.
Симметричные ключи шифрования получаются из дешифрованных Ne_i и Ne_r:
Ne_i =
Ne_r =
Если длина выхода Ke_i и Ke_r получаются из старших битов Ne_i и Ne_r, соответственно. Если требуемая длина Ke_i и Ke_r превышает длину выхода Ke_i берутся старшие биты K, где
K = K1 | K2 | K3
K1 =
K2 =
K3 =
Для краткости показано получение только Ke_i ; Ke_r получается аналогично. Значение 0 при вычислении K1 является одним октетом. Заметим, что Ne_i, Ne_r, Ke_i и Ke_r после использования должны быть сброшены.
Существуют требования только на размещение дополнительного содержимого HASH и обязательного содержимого Ke_i или Ke_r в зависимости от направления.
Ключ, полученный некоторым внешним механизмом, может также использоваться для аутентификации обмена.
Когда выполняется pre-shared аутентификация,
(рис 24.23) Определение Main Mode при выполнении pre-shared аутентификацииAggressive режим с pre-shared ключом описывается согласно рис.24.24.
При использовании аутентификации с pre-shared ключом с HASH_I должен быть вычислен до того, как инициатор обработает IDir.
(рис 24.24) Определение Aggressive Mode при выполнении pre-shared аутентификации HASH должно непосредственно следовать за HASH. Данный HASH аутентифицирует сообщение и обеспечивает доказательство существования.
Базовый KE ) обновляет материал ключа, полученный из экспоненты в Фазе 1. Это не обеспечивает KE вычисляется дополнительная экспонента и тем самым обеспечивается
Все предложения, сделанные в течение
(рис 24.25) Определение Quick ModeГде:
HASH (1) есть
HASH (2) идентичен HASH (1) за исключением HASH (2) сделано для доказательства существования.
HASH (3) – для доказательства существования – является
HASH (1) =
HASH (2) =
HASH (3) =
За исключением содержимых HASH, SA и необязательных ID, не существует содержимых, для которых определены ограничения упорядоченности в HASH (1) и HASH (2) могут отличаться от приведенных выше, если порядок содержимых в сообщении отличается от приведенного выше или если в сообщение включены дополнительные содержимые.
Если
KEYMAT =
Если
KEYMAT =
Где g (qm) ^xy является разделяемым секретом из одноразового обмена Диффи-Хеллмана для данного
В любом случае protocol и SPI берутся из Proposal Payload, содержащим Transform, о котором договариваются.
Единственным результатом переговоров SA являются две
В ситуации, когда количество требуемого материала ключа больше, чем предлагается
KEYMAT = K1 | K2 | K3 | ѕ
Где
K1 =
K2 =
K3 =
Данный материал ключа (с
Используя
(рис 24.26) Определение SAs и ключей при использовании Quick Mode New Group Mode не должен использоваться до установления
Где HASH (1) является выходом SKEYID_a в качестве ключа, и message-ID из HASH (2) есть выход
HASH (1) = )
HASH (2) =
Proposal определяется характеристиками группы. Описания группы для частных групп должны быть больше или равны 215. Если группа не принимается, получатель должен ответить сообщением с содержимым Notify, и тип сообщения установить в ATTRIBUTE-NOT-SUPPORTED (13).
Реализации
О группах можно непосредственно договариваться в SA Proposal в
Данный протокол, когда это возможно, защищает информационные обмены SKEYID_e и SKEYID_a созданы) информационные обмены
Где N/D есть либо Notify Payload, либо Delete Payload и HASH (1) есть выход SKEYID_a в качестве ключа, и M-ID, уникальный для данного обмена, присоединяется в качестве данных ко всему информационному содержимому (либо Notify, либо Delete). Другими словами, хэшем для предыдущего обмена является:
HASH (1) =
Как уже было замечено, ID сообщения в
Если HASH содержимого.
Сила ключа, полученная из обмена Диффи-Хеллмана, использующего определенную группу, зависит от силы самой группы, используемой длины экспоненты и энтропии, обеспечиваемой используемым генератором случайных чисел. Группа Диффи-Хеллмана по умолчанию (номер один) при использовании сильного генератора случайных чисел и экспоненты не менее 160 бит является достаточной при использовании для DES. Группы со второй по четвертую обеспечивают большую безопасность. Реализации должны помнить об этой общей оценке при определении политики и обсуждаемых параметрах безопасности.
Заметим, что это не является ограничением на сами группы Диффи-Хеллмана. Ничто не препятствует
В ситуациях, когда определенные группы не обеспечивают необходимую силу, можно использовать New Group Mode для обмена группой Диффи-Хеллмана, которая обеспечит ее.
Предполагается, что экспоненты Диффи-Хеллмана для данного обмена после использования удаляются из памяти. В частности, эти экспоненты не должны получаться из долго живущих секретов, подобных seed для псевдослучайного генератора.
Хотя сообщения последней круговой передачи в
Рассмотрим Безопасную Ассоциацию Internet и
Существует много различных
Атрибуты SA, необходимые для протоколов AH и ESP, как минимум, должны включать механизм аутентификации, криптографический алгоритм, режим алгоритма, длину ключа и инициализационный вектор (IV). Установление SA является частью протокола управления ключом.
Защита от DoS-атак является одной из наиболее трудных задач. Для этой цели в
Следует заметить, что в обменах, показанных далее, механизм анти-препятствия должен использоваться вместе с механизмом сбора мусора; атакующий может завалить сервер, используя пакеты с поддельными IP- адресами. Подобные технологии управления памятью должны быть внедрены в протоколы, использующие
Атаки man-in-the-middle включают перехват, вставку, уничтожение и модификацию сообщений, отправку сообщений назад отправителю, повтор старых сообщений и перенаправление сообщений.
Протокол безопасности: протокол безопасности состоит из записи в конкретной точке стека сетевых протоколов, выполняющей сервис безопасности для сетевого соединения. Например, IPsec ESP и IPsec AH являются двумя различными протоколами безопасности. Протокол безопасности может выполнять более одного сервиса, например, обеспечивая целостность и конфиденциальность в одном модуле.
Набор защиты: набор защиты является списком сервисов безопасности, которые могут быть применены к различным протоколам безопасности. Например, набор защиты может состоять из DES шифрования для ESP и MD5 с ключом для AH.
Безопасная ассоциация (SA):
ISAKMP SA: SA используется
Domain of Interpretation:
Situation: ситуация содержит всю относящуюся к безопасности информацию, которую система считает нужным рассматривать, принимая решение о том, какие необходимы сервисы безопасности для защиты сессии, начавшей переговоры. Ситуация может включать адреса, классификации безопасности, режимы операций (нормальный или аварийный) и т.д.
Proposal: proposal – это список, упорядоченный по уменьшению предпочтений, наборов защиты, которые система будет применять для защиты трафика в данной ситуации.
Payload:
Exchange Type: тип обмена определяет число сообщений в
Вторая
Хотя подход, основанный на двух фазах, является достаточно дорогостоящим для большинства простых сценариев, существует несколько причин, чтобы он оказывался в большинстве случаев предпочтительным.
Во-первых,
Во-вторых, сервисы безопасности, которые ведут переговоры во время первой фазы, предоставляют свойства безопасности для второй фазы. Например, после первой
Заметим, что для каждой
Хотя при установлении безопасных каналов между системами Message ID в и поле SPI в Proposal payload используются при установлении SA для идентификации SA других протоколов безопасности.
В приведенной ниже таблице показано наличие или отсутствие определенных полей при установлении SA. Следующие поля необходимы для различных операций, связанных с установлением SA: cookies в Message ID в SPI в Proposal payload. "X" в столбце означает, что значение должно присутствовать. "NA" в столбце означает, что значение в операции не применяется.
| Операция | I-Cookie | R-Cookie | Message ID | SPI |
|---|---|---|---|---|
| 1. Начало |
X | 0 | 0 | 0 |
| 2. Ответ |
X | X | 0 | 0 |
| 3. Инициализация других SA переговоров | Х | Х | Х | Х |
| 4. Ответ других переговоров SA | Х | Х | Х | Х |
| 5. Другое (КЕ, ID и т.д.) | Х | Х | Х/0 | NA |
| 6. Протокол безопасности (ESP, AH) | NA | NA | NA | X |
Первая строка таблицы говорит о том, что инициатор включает поле Initiator Cookie в .
Вторая строка таблицы говорит о том, что отвечающий включает поля Initiator и Responder Cookie в . Взаимодействующие стороны Initiator и Responder cookies включаются в всех обменов между участниками
В течение первой SPI в Proposal payload избыточно и может быть установлено в 0 или может содержать cookie передаваемых сущностей.
Третья строчка таблицы говорит о том, что инициатор связывает Message ID с Protocols, содержащимися в SA Proposal. Это Message ID и SPI (s) инициатора связываются с каждым протоколом в Proposal и посылаются получателю. SPI (s) будут использоваться в протоколах безопасности сразу после завершения второй
В четвертой строке таблицы получатель включает тот же самый Message ID, и SPI (s) получателя связываются с каждым протоколом в принимаемом Proposal. Эта информация возвращается инициатору.
Пятая строка таблицы говорит о том, что инициатор и получатель используют поле Message ID в для отслеживания выполнения протокола переговоров. Это применяется на второй фазе обмена, и значение должно быть 0 для первой фазы обмена, потому что комбинированные cookies определяют SPI в Proposal payload не применяется, потому что Proposal payload используется только на протяжении обмена сообщениями переговоров SA (шаги 3 и 4).
В шестой строке таблицы
При установлении SA должно создаваться SPI. SPI Size в Proposal payload при установлении SA.
При начальном установлении SA одна из сторон выступает в роли инициатора, а другая – в роли получателя. После того как SA установлена, как инициатор, так и получатель могут начать вторую
Детали создания cookie зависят от реализации, но в целом должны выполняться следующие основные требования:
Кэрн (Karn) предложил метод создания cookie, основанный на выполнении быстрого хэша (например, MD5) над IP-адресами источника и получателя, портов UDP источника и получателя и локально созданного секретного случайного значения.
Exchange Type, размещаемым в
Сообщение
Поля
(рис 24.1) Формат заголовка ISAKMPInitiator Cookie (8 октетов) – cookie участника, который инициировал установление SA, уведомление SA или уничтожение SA.Responder Cookie (8 октетов) – cookie участника, который является получателем запроса установления SA, уведомления SA или уничтожения SA.Next Payload (1 октет) – определяет тип первого содержимого в сообщении. Формат обработки каждого содержимого определяется далее.Major Version (4 бита) – определяет старший номер версии используемого протокола Minor Version (4 бита) – определяет младший номер версии используемого протокола Exchange Type (1 октет) – определяет тип используемого обмена. Это определяет сообщение и упорядоченность полезной информации в Flags (1 октет) – определяет конкретные опции, которые установлены для Flags, начиная с крайнего левого бита, т.е. бит Encryption является нулевым битом поля Flags, бит Commit является первым битом поля Flags и бит Authentication Only является вторым битом поля Flags. Оставшиеся биты поля Flags при передаче должны быть установлены в 0.E ( encryption bit ) – если установлен, то все содержимые, следующие после заголовка, шифруются, используя алгоритм шифрования, определенный в Identifier является комбинацией cookie инициатора и получателя. Рекомендуется, чтобы шифрование соединения между участниками начинало выполняться как можно быстрее. Для всех Key Exchange. Если данный бит не установлен, то содержимые не шифруются.C ( commit bit ) – данный бит используется для сигнала синхронизации обмена ключа. Он позволяет гарантировать, что зашифрованный материал не будет получен до завершения установления SA. Commit Bit может быть установлен в любое время любым из участников установления SA и может использоваться в обеих фазах установления Commit Bit, должна ждать Information Exchange, содержащий Notify payload от сущности, которая установила Commit Bit. Получение и обработка Informational Exchange говорит о том, что установление SA прошло успешно, и обе сущности могут теперь продолжать взаимодействие по зашифрованному каналу. Дополнительно к синхронизации обмена ключа Commit Bit может использоваться для защиты от падения соединения по ненадежным сетям и предохранять от необходимости многочисленных повторных восстановлений.A ( authentication only bit ) – данный бит используется с Informational Exchange с Notify payload и позволяет передавать информацию с контролем целостности, но без шифрования (т.е. "аварийный режим"). Если бит Authentication Only установлен, ко всему содержимому Notify Informational Exchange применяются только Message ID (4 октета) – уникальный идентификатор сообщения, используется для идентификации состояния протокола в Length (4 октета) – длина всего сообщения (заголовок + содержимое) в октетах. Шифрование может увеличить размер | Тип Next Payload | Значение |
|---|---|
| None | 0 |
| Security Association (SA) | 1 |
| Proposal (P) | 2 |
| Transform (T) | 3 |
| Key Exchange (KE) | 4 |
| Identification (ID) | 5 |
| Certificate (CERT) | 6 |
| Certificate Request (CR) | 7 |
| Hash (HASH) | 8 |
| Signature ( |
9 |
| 10 | |
| Notification (N) | 11 |
| Delete (D) | 12 |
| Vendor ID ( |
13 |
| RESERED | 14 – 127 |
| Private USE | 128 – 255 |
| Тип обмена | Значение |
|---|---|
| NONE | 0 |
| Base | 1 |
| Identity Protection | 2 |
| Authentication Only | 3 |
| Aggressive | 4 |
| Informational | 5 |
| 6 – 31 | |
| 32 – 239 | |
| Private Use | 240 – 255 |
Каждое
Поля общего заголовка содержимого определяются следующим образом:
(рис 24.2) Общий заголовок содержимогоNext Payload (1 октет) – идентификатор типа содержимого следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина текущего содержимого, включая общий заголовок.Существует несколько случаев в Transform payload. Эти атрибуты данных не являются самостоятельным Attribute Length. Это определяется битом формата атрибута, описанным ниже.
Поля атрибутов данных определяются следующим образом:
(рис 24.3) Атрибуты данныхAttribute Type (2 октета) – уникальный идентификатор каждого типа атрибута.Бит Attribute Format ( AF ) указывает, будут ли атрибуты данных определяться форматом Type/Length/Value ( TLV ) или короткой формой формата Type/Value ( TV ). Если бит AF = 0, то атрибуты данных имеют форму TLV. Если бит AF = 1, то атрибуты данных имеют форму TV.
Attribute Length (2 октета) – длина значения атрибута в октетах. При AF = 1 значение атрибута имеет только 2 октета, и поле длины атрибута не представлено.Attribute Value (переменной длины) – значение атрибута, связанное с Attribute Type. Если бит AF = 0, то это поле имеет переменную длину, определяемую полем Attribute Length. Если бит AF = 1, то Attribute Value имеет длину 2 октета.Содержимое SA используется при переговорах об атрибутах безопасности и для определения
(рис 24.4) Содержимое SANext Payload (1 октет) – идентификатор типа содержимого Next payload в сообщении. Если текущее содержимое является последним в сообщении, то это поле будет 0. Данное поле не должно содержать значений для Proposal или Transform payloads, т.к. они являются частью содержимого SA. Например, это поле должно содержать значение "10" ( Nonce payload ) в первом сообщении Base Exchange, и значение "0" в первом сообщении Identity Protect Exchange.Payload Length (2 октета) – длина в октетах всего содержимого SA, включая SA payload, все Proposal payloads и все Transform payloads, связанные с создаваемой SA.Domain of Interpretation (4 октета) – определяет Situation (переменной длины) – поле, определяемое Situation используется для того, чтобы определить политику и соответствующие атрибуты безопасности, при которых ведутся переговоры.Proposal Payload содержит информацию, используемую в течение переговоров SA. Proposal состоит из механизмов безопасности, или преобразований, используемых для обеспечения безопасности информационного канала. На рис. 24.5 показан формат Proposal Payload.
(рис 24.5) Формат Proposal PayloadПоля Proposal Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Это поле должно содержать только значения "2" или "0". Если существуют дополнительные Proposal payload, то это поле должно быть 2. Если текущий Proposal payload является последним в SA proposal, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах всего Proposal payload, включая общий заголовок содержимого, Proposal payload и все Transform payloads, связанные с данным proposal.Proposal # (1 октет) – определяет номер Proposal для текущего содержимого.Protocol-Id (1 октет) – определяет идентификатор протокола для текущих переговоров. Примерами являются IPSEC ESP, IPSEC AH.SPI Size (1 октет) – длина SPI в октетах как определено Protocol-Id. В случае SPI Size не имеет значения и может быть от нуля до 16.# of Transforms (1 октет) – определяет количество преобразований для Proposal. Каждое из них содержится в Transform payload.SPI (переменной длины) – SPI получающей сущности.Тип содержимого для Proposal Payload равен 2.
Transform Payload содержит информацию, используемую SA при переговорах. Transform Payload состоит из конкретных механизмов безопасности, или преобразований, которые используются для обеспечения безопасности информационного канала. Transform Payload также содержит атрибуты SA, связанные с конкретным преобразованием. Эти атрибуты SA определяются Transform Payload.
(рис 24.6) Формат Transform PayloadПоля Transform Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Это поле должно содержать только значения "3" или "0". Если есть дополнительные Transform Payloads в Proposal, то данное поле должно быть равно 3. Если текущая Transform Payload является последней в proposal, то данное поле должно быть равно 0.Payload Length (2 октета) – длина в октетах текущей полезной информации, включая общий заголовок, значения Transform и все атрибуты SA.Transform # (1 октет) – определяет количество преобразований для текущего содержимого. Если для конкретного протокола существует более одного преобразования, то каждая Transform рayload имеет уникальный номер преобразования.Transform-Id (1 октет) – определяет идентификатор преобразования для протокола в текущей Proposal. Эти преобразования зависят от протокола, для которого ведутся переговоры.SA Attributes (переменной длины) – данное поле содержит атрибуты SA как они определены для данного преобразования в поле Transform-Id. Атрибуты SA должны представляться с использованием формата Data Attributes .Тип полезной информации для Transform Payload есть 3.
Key Exchange Payload поддерживает различные технологии обмена ключа. Примерами обменов ключа являются Key Exchange рayload.
(рис 24.7) Формат Key Exchange PayloadПоля Key Exchange Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним в сообщении, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Key Exchange Data (переменной длины) – данные, необходимые для создания Тип полезной информации для Key Exchange Payload есть 4.v
Identification Payload содержит данные, используемые при обмене идентификационной информацией.
(рис 24.8) Формат Identification PayloadПоля Identification Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущая полезная информация является последней, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.ID Type (1 октет) – DOI Specific ID Data (3 октета) – содержит данные идентификации. Если не используется, то данное поле должно устанавливаться в 0.Identification Data (переменной длины) – содержит идентификационную информацию. Формат определяется полем ID Type.Тип полезной информации для Identification Payload есть 5.
Certificate Payload обеспечивает способ передачи сертификатов или другой информации, относящейся к сертификатам, с помощью Certificate Payload.
(рис 24.9) Формат Certificate PayloadПоля Certificate Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущая полезная информация является последней, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Certificate Encoding (1 октет) – данное поле определяет тип сертификата или информации, относящейся к сертификату, содержащейся в поле Certificate Data.Certificate Data (переменной длины) – конкретное представление данных сертификата. Тип сертификата определяется полем Certificate Encoding.Тип содержимого для Certificate Payload есть 6.
Certificate Request Payload обеспечивает значение для запроса сертификатов с помощью Certificate Request рayload должен приниматься в любой точке обмена. Получатель Certificate Request рayload должен послать свой сертификат. Если требуется несколько сертификатов, то должны передаваться несколько Certificate Request рayloads. На рис. 24.10 показан формат Certificate Request Payload.
(рис 24.10) Формат Сertificate Request PayloadПоля Certificate Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Certificate Type (1 октет) – содержит тип запрашиваемого сертификата.Certificate Authority (переменной длины) – содержит обозначение принимаемых сертификационных центров для запрашиваемых сертификатов. Например, для сертификата Х.509 оно должно содержать значение DN CA, принимаемого отправителем. Это должно помочь получателю определить, какую цепочку сертификатов необходимо послать в ответ на данный запрос. Если требуемый сертификационный центр не указан, данное поле включаться не должно.Тип содержимого для Certificate Request Payload есть 7.
Hash Payload содержит данные, создаваемые хэш-функцией (определенной во время обмена при установлении SA), для некоторой части сообщения и/или состояния Hash Payload.
(рис 24.11) Формат HASH PayloadПоля Hash Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Hash Data (переменной длины) – данные, которые являются результатом применения хэш-функции к Signature Payload содержит данные, созданные функцией цифровой подписи (выбранной при обмене во время установления SA) для определенной части сообщения и/или Signature Payload.
(рис 24.12) Формат Signature PayloadПоля Signature Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Signature Data (переменной длины) – данные, которые являются результатом применения функции цифровой подписи для Тип содержимого для Signature Payload есть 9.
содержит случайные данные, используемые для гарантии своевременности обмена и отсутствия . Если определяется обменом ключа.
(рис 24.13) Формат Nonce PayloadПоля определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Nonce Data (переменной длины) – содержит случайные данные, созданные передающей сущностью.Тип содержимого для есть 10.
Notification Payload может содержать как определяемые Notification Payload в одном сообщении Notification Payload.
(рис 24.14) Формат Notification DataNotification, которые возникают на notification имеет место перед завершением обмена ключевой информацией, то она не будет защищена.
Notification, которые возникают во время Message ID и SPI связаны с текущими переговорами.
Поля Notification Data определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Domain of Interpretation (4 октета) – идентификация Protocol-Id (1 октет) – определяет идентификатор протокола для текущего уведомления. Примерами являются SPI Size (1 октет) – длина SPI в октетах как определено в Protocol-Id. В случае SPI Size не имеет отношения к делу и, следовательно, может быть от 0 до 16. Если SPI Size – не 0, содержимое поля SPI должно игнорироваться.Notify Message Type (2 октета) – определяет тип сообщения уведомления. Дополнительный текст размещается в поле Notification Data.SPI (переменной длины) – Security Parameter Index. SPI получающей сущности. Длина этого поля определяется полем SPI Size.Notification Data (переменной длины) – информация или данные об ошибке, передаваемые в дополнение к Notify Message Type.Тип содержимого для Notification Payload есть 11.
Delete Payload содержит идентификатор SA которую отправитель удаляет из своей БД SA и которая, следовательно, более не доступна. На рис. 24.15 показан формат Delete Payload. Возможна посылка нескольких SPIs в Delete Payload, однако каждый SPI должен быть предназначен для того же самого протокола.
(рис 24.15) Формат Delete PayloadУдаление, которое относится к Protocol-Id протокола (т.е. ESP, AH), и SPI есть SPI(s) посылающей сущности.
Поля Delete Payload определены следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Domain of Interpretation (4 октета) – идентификация Protocol-Id (1 октет) – SPI Size (1 октет) – длина SPI в октетах определяется Protocol-Id. В случае SPI Size есть 16 октетов для каждого удаляемого SPI.# of SPIs (2 октета) – количество SPIs, содержащихся в Delete payload. Размер каждого SPI определяется полем SPI Size.Security Parameter Index(es) (переменной длины) – идентификаторы, определяющие удаляемые Тип содержимого для Delete Payload есть 12.
Vendor ID Payload содержит константу, определяющую разработчика. Данная константа используется разработчиком для собственной идентификации и удаленной сущностью для распознавания разработчика. Данный механизм позволяет разработчику экспериментировать с новыми возможностями, сохраняя обратную совместимость. На рис. 24.16 показан формат Vendor ID Payload.
(рис 24.16) Формат Vendor ID PayloadПоля Vendor ID Payload определяются следующим образом:
Next Payload (1 октет) – идентификатор типа следующего содержимого в сообщении. Если текущее содержимое является последним, то данное поле должно быть 0.Payload Length (2 октета) – длина в октетах текущего содержимого, включая общий заголовок.Vendor ID (переменной длины) – хэш строки разработчика плюс версия.Тип содержимого Vendor ID есть 13.
Используются следующие нотации.
– это
SA – это содержимое переговоров SA с одним или более Proposals. Инициатор может предоставить несколько Proposals для переговоров; получатель должен выбрать только одну.
<P>_b – это тело содержимого <P>. Например, SA_b есть все тело содержимого SA (минус общий
CKY-I и CKY-R есть cookie Инициатора и cookie Получателя, соответственно, из
g^x i и g^xr – это открытые значения Диффи-Хеллмана Инициатора и Получателя соответственно.
КЕ – это содержимое обмена ключа, т.е. открытая информация, которой обмениваются в
Nx – это содержимое x может быть i или r для
IDx – есть содержимое идентификации для "х". Х может быть "ii" или "ir" для
– это содержимое подписи. Подписываемые данные зависят от обмена.
СERT – это содержимое сертификата.
HASH – это содержимое хэша, которое определяется методом аутентификации.
– это псевдослучайная функция, часто хэш-функция, основанная на ключе, используемая для создания детерминированного выхода, который можно рассматривать как псевдослучайный.
SKEYID есть строка, полученная из секрета и известная только участникам обмена.
SKEYID_e есть материал ключа, используемый
SKEYID_а есть материал ключа, используемый
SKEYID_d есть материал ключа, используемый для получения ключей для не-
<x>y определяет, что х зашифровано ключом y.
$$\Rightarrow$$ указывает на направление взаимодействия от Инициатора к Получателю (запрос).
$$\Leftarrow$$ указывает на направление взаимодействия от Получателя к Инициатору (ответ).
| обозначает конкатенацию информации.
[x] обозначает, что х не является обязательным.
Шифрование сообщения (когда указана * после SKEYID_e тем способом, который определен для каждого алгоритма.
В течение Фазы 1 участники устанавливают безопасный аутентифицированный канал, по которому они будут взаимодействовать. Это называется
Фаза 2 определяется тогда, когда уже установлены
"New Group Mode" реально ни с Фазой 1, ни с Фазой 2 не связан. Он следует за Фазой 1, но служит для установления новой группы, которая может использоваться при будущих переговорах.
В результате использования фаз
Следующие атрибуты используются в
Все эти атрибуты обязательны, и о них должны вестись переговоры. Кроме того, возможны дополнительные переговоры о
Группа Диффи-Хеллмана задается по номеру или путем определения всех атрибутов группы. Атрибуты группы не должны зависеть от значений группы, определенной в предыдущем случае.
Существует два основных режима, используемых для установления аутентифицированного обмена ключа:
Содержимое SA должно предшествовать всем другим содержимым в Фазе 1 обмена. Кроме этого не существует никаких других требований ни к
Открытое значение Диффи-Хеллмана передается в содержимом КЕ в Фазе 1, оно может передаваться в Фазе 2 обмена, если требуется
Длина содержимого
В первых двух сообщениях
Во время переговоров инициатор представляет получателю предложения о потенциальных
Допускаются четыре различных метода аутентификации как для SKEYID вычисляется отдельно для каждого метода аутентификации.
Для подписей:
SKEYID =
Для
SKEYID =
Для предварительно распределенного секрета:
SKEYID =
Результатом как
SKEYID_d =
SKEYID_a =
SKEYID_e =
и согласованная политика по защите дальнейших коммуникаций. Значения 0, 1 и 2 представлены в одном октете. Ключ, используемый для шифрования, получается из SKEYID_e с помощью специфицированного алгоритма.
Для аутентификации обмена инициатора протокола создается HASH _I и для получателя создается HASH _R, где
HASH_I =
HASH_R =
При аутентификации с помощью цифровых подписей HASH _I и HASH _R подписаны и верифицированы; при аутентификации либо HASH_I и HASH_R непосредственно аутентифицируют обмен. Все содержимое ID (включая тип ID, порт и протокол, но исключая общий заголовок) хэшировано как в HASH_I, так и в HASH_R.
Как уже отмечалось, метод аутентификации, о котором договорились, влияет на содержимое и использование сообщений для Фазы 1 режимов, но не на их цели. При использовании для аутентификации открытых ключей обмен Фазы 1 может быть завершен либо использованием подписей, либо использованием
При использовании подписей вспомогательной информацией, которой обмениваются при второй круговой передаче, являются
(рис 24.17) Main Mode с аутентификацией с помощью подписи
(рис 24.18) Aggressive Mode с аутентификацией с помощью подписиВ обоих режимах подписанные данные, SIG_I или SIG_R, являются результатом HASH_I или HASH_R соответственно.
В общем случае подпись выполняется поверх HASH_I и HASH_R, при этом используется
Могут быть дополнительно переданы один или более сертификатов.
При использовании
Для того чтобы выполнить шифрование открытым ключом, инициатор должен уже иметь открытый ключ получателя. В случае, когда получатель имеет несколько открытых ключей, инициатор использует хэш сертификата, передаваемой как часть третьего сообщения. При таком способе получатель может определить, какой закрытый ключ использовать для дешифрования зашифрованного содержимого и защищенной идентификации.
В дополнение к IDii и IDir ) также зашифрованы открытым ключом другого участника. Если методом аутентификации является шифрование открытым ключом, то содержимые
При использовании для аутентификации шифрования
(рис 24.19) Аутентификация шифрования Main ModeГде HASH (1) есть хэш сертификата, который инициатор использовал для шифрования
Использование шифрования для аутентификации обеспечивает невозможность отказа от обмена.
Заметим, что в отличие от других методов аутентификации, аутентификация
(рис 24.20) Аутентификация шифрования Aggressive ModeАутентификация
В данном режиме
Как и в методе аутентификации HASH может быть послано для идентификации сертификата, если получатель имеет несколько сертификатов. Если содержимое HASH послано, оно должно быть первым содержимым сообщения второго обмена, и за ним должен следовать зашифрованный HASH не послано, первым содержимым сообщения второго обмена должен быть зашифрованный
При использовании для аутентификации пересмотренного режима шифрования
(рис 24.21) Аутентификация пересмотренного режима шифрования Main Mode
(рис 24.22) Аутентификация пересмотренного режима шифрования Aggressive ModeГде HASH (1) была определена выше. Ke_i и Ke_r являются ключами для алгоритма симметричного шифрования, о котором участники договорились при обмене содержимом SA. Шифруется только тело содержимых (как в операциях с открытым ключом, так и симметричного шифрования), общие заголовки содержимого не шифруются.
Симметричные ключи шифрования получаются из дешифрованных Ne_i и Ne_r:
Ne_i =
Ne_r =
Если длина выхода Ke_i и Ke_r получаются из старших битов Ne_i и Ne_r, соответственно. Если требуемая длина Ke_i и Ke_r превышает длину выхода Ke_i берутся старшие биты K, где
K = K1 | K2 | K3
K1 =
K2 =
K3 =
Для краткости показано получение только Ke_i ; Ke_r получается аналогично. Значение 0 при вычислении K1 является одним октетом. Заметим, что Ne_i, Ne_r, Ke_i и Ke_r после использования должны быть сброшены.
Существуют требования только на размещение дополнительного содержимого HASH и обязательного содержимого Ke_i или Ke_r в зависимости от направления.
Ключ, полученный некоторым внешним механизмом, может также использоваться для аутентификации обмена.
Когда выполняется pre-shared аутентификация,
(рис 24.23) Определение Main Mode при выполнении pre-shared аутентификацииAggressive режим с pre-shared ключом описывается согласно рис.24.24.
При использовании аутентификации с pre-shared ключом с HASH_I должен быть вычислен до того, как инициатор обработает IDir.
(рис 24.24) Определение Aggressive Mode при выполнении pre-shared аутентификацииHASH должно непосредственно следовать за HASH. Данный HASH аутентифицирует сообщение и обеспечивает доказательство существования.
Базовый KE ) обновляет материал ключа, полученный из экспоненты в Фазе 1. Это не обеспечивает KE вычисляется дополнительная экспонента и тем самым обеспечивается
Все предложения, сделанные в течение
(рис 24.25) Определение Quick ModeГде:
HASH (1) есть
HASH (2) идентичен HASH (1) за исключением HASH (2) сделано для доказательства существования.
HASH (3) – для доказательства существования – является
HASH (1) =
HASH (2) =
HASH (3) =
За исключением содержимых HASH, SA и необязательных ID, не существует содержимых, для которых определены ограничения упорядоченности в HASH (1) и HASH (2) могут отличаться от приведенных выше, если порядок содержимых в сообщении отличается от приведенного выше или если в сообщение включены дополнительные содержимые.
Если
KEYMAT =
Если
KEYMAT =
Где g (qm) ^xy является разделяемым секретом из одноразового обмена Диффи-Хеллмана для данного
В любом случае protocol и SPI берутся из Proposal Payload, содержащим Transform, о котором договариваются.
Единственным результатом переговоров SA являются две
В ситуации, когда количество требуемого материала ключа больше, чем предлагается
KEYMAT = K1 | K2 | K3 | ѕ
Где
K1 =
K2 =
K3 =
Данный материал ключа (с
Используя
(рис 24.26) Определение SAs и ключей при использовании Quick ModeNew Group Mode не должен использоваться до установления
Где HASH (1) является выходом SKEYID_a в качестве ключа, и message-ID из HASH (2) есть выход
HASH (1) = )
HASH (2) =
Proposal определяется характеристиками группы. Описания группы для частных групп должны быть больше или равны 215. Если группа не принимается, получатель должен ответить сообщением с содержимым Notify, и тип сообщения установить в ATTRIBUTE-NOT-SUPPORTED (13).
Реализации
О группах можно непосредственно договариваться в SA Proposal в
Данный протокол, когда это возможно, защищает информационные обмены SKEYID_e и SKEYID_a созданы) информационные обмены
Где N/D есть либо Notify Payload, либо Delete Payload и HASH (1) есть выход SKEYID_a в качестве ключа, и M-ID, уникальный для данного обмена, присоединяется в качестве данных ко всему информационному содержимому (либо Notify, либо Delete). Другими словами, хэшем для предыдущего обмена является:
HASH (1) =
Как уже было замечено, ID сообщения в
Если HASH содержимого.
Сила ключа, полученная из обмена Диффи-Хеллмана, использующего определенную группу, зависит от силы самой группы, используемой длины экспоненты и энтропии, обеспечиваемой используемым генератором случайных чисел. Группа Диффи-Хеллмана по умолчанию (номер один) при использовании сильного генератора случайных чисел и экспоненты не менее 160 бит является достаточной при использовании для DES. Группы со второй по четвертую обеспечивают большую безопасность. Реализации должны помнить об этой общей оценке при определении политики и обсуждаемых параметрах безопасности.
Заметим, что это не является ограничением на сами группы Диффи-Хеллмана. Ничто не препятствует
В ситуациях, когда определенные группы не обеспечивают необходимую силу, можно использовать New Group Mode для обмена группой Диффи-Хеллмана, которая обеспечит ее.
Предполагается, что экспоненты Диффи-Хеллмана для данного обмена после использования удаляются из памяти. В частности, эти экспоненты не должны получаться из долго живущих секретов, подобных seed для псевдослучайного генератора.
Хотя сообщения последней круговой передачи в
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.