Спецификации Internet-сообщества для программно-технического уровня ИБ
Из множества спецификаций Internet-сообщества, относящихся к программно-техническому уровню информационной безопасности, для данного курса были выбраны три: IPsec, TLS и GSS-API.
Выбор IPsec и TLS основан на том, что как на сетевом, так и на транспортном уровне эталонной семиуровневой модели могут быть реализованы практически все функции безопасности, выделенные в спецификации X.800 (см. курс "Основы информационной безопасности" [91]). (Исключение составляют избирательная конфиденциальность и неотказуемость; кроме того, конфиденциальность трафика реализуется на сетевом, но не на транспортном уровне, а целостность с восстановлением - наоборот, на транспортном, но не на сетевом уровне .)
Протоколы IPsec обеспечивают управление доступом, целостность вне соединения, аутентификацию источника данных, защиту от воспроизведения, конфиденциальность и частичную защиту от анализа трафика.
Основными элементами архитектуры средств безопасности для IP-уровня являются протокол аутентифицирующего заголовка и протокол инкапсулирующей защиты содержимого, а также механизмы управления криптографическими ключами.
Протокол аутентифицирующего заголовка служит в IPsec для обеспечения целостности пакетов и аутентификации источника данных, а также для защиты от воспроизведения ранее посланных пакетов. Он защищает данные протоколов более высоких уровней и те поля IP-заголовков, которые не меняются на маршруте доставки или меняются предсказуемым образом.
Протокол инкапсулирующей защиты содержимого предоставляет три вида сервисов безопасности:
- обеспечение конфиденциальности (шифрование содержимого IP-пакетов, а также частичная защита от анализа трафика путем применения туннельного режима);
- обеспечение целостности IP-пакетов и аутентификации источника данных;
- обеспечение защиты от воспроизведения IP-пакетов.
Протоколы обеспечения аутентичности и конфиденциальности могут использоваться в двух режимах: транспортном и туннельном. В первом случае защищается только содержимое пакетов и, быть может, некоторые поля заголовков.
В туннельном режиме защищается весь пакет.
При взаимодействии средствами IPsec стороны должны выработать общий контекст безопасности и затем применять элементы этого контекста, такие как алгоритмы и их ключи. За формирование контекстов безопасности в IPsec отвечает особое семейство протоколов.
Формирование контекстов безопасности в IPsec разделено на две фазы. Сначала создается управляющий контекст, назначение которого - предоставить доверенный канал для выработки (в рамках второй фазы) протокольных контекстов.
Протокольный контекст безопасности в IPsec - это однонаправленное "соединение" (от источника к получателю), предоставляющее обслуживаемым потокам данных набор защитных сервисов. Пользователями протокольных контекстов, как правило, являются прикладные процессы.
Системы, реализующие IPsec, должны поддерживать две базы данных:
базу данных политики безопасности;
базу данных протокольных контекстов безопасности.
Все IP-пакеты (входящие и исходящие) сопоставляются с упорядоченным набором правил политики безопасности. При сопоставлении используется фигурирующий в каждом правиле селектор - совокупность анализируемых полей сетевого и более высоких протокольных уровней. Первое подходящее правило определяет характер обработки пакета.
Таким образом, системы, реализующие IPsec, функционируют в духе межсетевых экранов, фильтруя и преобразуя потоки данных на основе предварительно заданной политики безопасности.
Протокол безопасности транспортного уровня (TLS) - развитие версии 3.0 протокола SSL. Посредством протокола TLS приложения, построенные в архитектуре клиент/сервер, могут защититься от пассивного и активного прослушивания сети и подделки сообщений.
TLS имеет двухуровневую организацию. На первом уровне, опирающемся на надежный транспортный сервис, располагается протокол передачи записей, на втором - протокол установления соединений.
Протокол передачи записей обеспечивает конфиденциальность и целостность передаваемых данных. Представим его функционирование в общем виде.
Сообщение разбивается на блоки (записи), сжимается, снабжается имитовставкой, шифруется, после чего выполняется передача результата. На стороне получателя принятые данные расшифровываются, верифицируются, подвергаются декомпрессии и сборке, и затем сообщение доставляется клиенту на вышележащем протокольном уровне.
Протокол установления соединений позволяет серверу и клиенту провести взаимную аутентификацию, согласованно выбрать алгоритм шифрования и криптографические ключи, прежде чем прикладной протокол начнет передачу данных. При выработке совместных секретов обеспечивается конфиденциальность, целостность и защита от нелегального посредника.
В спецификациях TLS фигурируют четыре криптографические операции: цифровая подпись, потоковое шифрование, блочное шифрование и шифрование открытым ключом.
Компьютерная криптография - это большая и сложная тема, для которой особенно важно разбиение на относительно независимые аспекты. Мы выделим три из них:
алгоритмический;
интерфейсный;
собственной защищенности.
Алгоритмического аспекта мы не касаемся. Вопросам собственной защищенности криптографических средств посвящены стандарт FIPS 140-2 и профиль защиты для смарт-карт. Интерфейсный аспект - предмет спецификации Internet-сообщества "Обобщенный прикладной программный интерфейс службы безопасности" (некоторое внимание этому аспекту уделено и в стандарте FIPS 140-2).
Интерфейс GSS-API преследует цель защиты коммуникаций между компонентами программных систем, построенных в архитектуре клиент/сервер. Он предоставляет услуги по взаимной аутентификации общающихся партнеров и по контролю целостности и обеспечению конфиденциальности пересылаемых сообщений.
Основными понятиями обобщенного прикладного программного интерфейса службы безопасности являются:
удостоверение;- контекст безопасности;
токен безопасности;
механизм безопасности;- имя;
- канал передачи данных.
Интерфейс GSS-API предоставляет следующие основные виды функций:
- работа с удостоверениями;
- создание и уничтожение контекстов безопасности;
- защита сообщений;
- вспомогательные функции.
Обобщенный интерфейс безопасности не зависит от языковой среды и механизмов безопасности, обеспечивающих реальную защиту. Приложения, использующие GSS-API, на уровне исходного текста мобильны по отношению к смене механизмов безопасности. Тем самым реализуется открытость прикладных систем и соответствующих средств защиты.