Шрифт:
В сценарии 2 безопасность определена для уровней пользователя и роли. При необходимости можно еще глубже структурировать безопасность. Более того, параметры безопасности могут конфигурироваться на основе важности информации (например, "не секретно" или "совершенно секретно"). Обслуживание множества различных параметров следует переложить на хорошее приложение.
24.5 Элементы протокола безопасности
Рассмотрим реализацию безопасности более детально.
24.5.1 Ассоциации безопасности
Безопасность одновременно управляет только одним направлением обмена. Для обеспечения безопасности коммуникации источника и получателя каждый из них должен хранить набор параметров, например:
■ Адрес источника
■ Используемый алгоритм аутентификации и целостности данных
■ Используемый алгоритм конфиденциальности
■ Секретные ключи и другую необходимую для алгоритмов информацию
■ Ограничения по времени на ключи
■ Ограничение по времени на ассоциации безопасности
■ Гриф секретности (например, "не секретно" или "совершенно секретно")
Ассоциация безопасности формально определяется как набор защищенных параметров, которые поддерживают безопасность однонаправленного взаимодействия между источником и приемником. Из приведенных выше сценариев видно, что:
■ Хост источника может применять один набор параметров для пересылки данных в точки назначения.
■ Хост может использовать несколько ассоциаций безопасности для различных хостов точек назначения. Ассоциации выбираются на основе идентификатора пользователя, роли или важности информации.
Каждому набору параметров безопасности в каждой из точек назначения присваивается цифровой идентификатор, называемый индексом параметров безопасности (Securuty Parameter Index — SPI). Некоторым наборам стандартных параметров значение SPI присваивает IANA.
Одинаковые SPI могут использоваться для различных точек назначения. Наборы параметров (Назначение=A, SPI=300) и (Назначение=В, SPI=300), скорее всего, будут различными. Другими словами, набор параметров идентифицируется как SPI, так и точкой назначения.
Для реализации безопасности в IP версий 4 и 6 применяются заголовки Authentication Header и Encapsulating Security Payload Header.
24.5.2 Authentication Header
Если для аутентификации используется резюме сообщения, заголовок Authentication Header (заголовок аутентификации) выполняет две задачи:
■ Проверяет отправителя, поскольку настоящий отправитель должен знать секретный ключ для вычисления резюме сообщения.
■ Проверяет, не были ли данные изменены при пересылке.
Формат Authentication Header показан на рис. 24.5. Получатель использует SPI для выбора требуемого протокола и ключа аутентификации. Ключ служит для вычисления приемником резюме по алгоритму MD5.
Рис. 24.5. Формат заголовка Authentication Header
Вычисление аутентификации по MD5 выполняется над всеми полями датаграммы IP, которые не изменяются при пересылке (изменяемые поля, например счетчик попаданий или указатель пути в версии 6, при вычислении трактуются как нулевые). Результат у получателя сравнивается со значением из поля данных аутентификации. При расхождении датаграмма отбрасывается.
24.5.3 Режимы транспорта и туннеля
Рассмотрим способы реализации конфиденциальности. Формат датаграммы IP версии 6 с шифрованной полезной нагрузкой более высокого уровня показан на рис. 24.6. Такой формат определяет режим транспорта (Transport-mode).
Рис. 24.6. Шифрование для режима транспорта
На рис. 24.7 показан формат для режима туннеля (Tunnel-mode). Шифруется вся датаграмма, включая все ее заголовки. Для пересылки подставляется новый заголовок. Режим туннеля между хостами может не сработать, если по пути следования попадутся фильтрующие маршрутизаторы со средствами защиты. Такие системы будут проверять информацию, подобную IP-адресам источника и назначения либо порты, а эти сведения будут скрыты внутри зашифрованного сообщения.
Рис. 24.7. Шифрование для режима туннеля
24.5.4 Инкапсуляция защищенной полезной нагрузки
Заголовок инкапсуляции защищенной полезной нагрузки протокола IP (IP Encapsulating Security Payload) применяется как для режима транспорта, так и для режима туннеля.
Формат этого заголовка показан на рис. 24.8. Получатель использует индекс SPI для выбора алгоритма и ключа (ключей). Оставшиеся данные зависят от выбранного алгоритма.