Открыть сервис

RFC 2743

RFC 2743 (Generic Security Service Application Program Interface, Version 2, Update 1) — это спецификация интернет-стандарта, опубликованная в январе 2000 года Инженерным советом Интернета (IETF), которая определяет абстрактный интерфейс прикладного программирования (API) для служб обеспечения безопасности в компьютерных сетях. RFC 2743 является обновлением предыдущей версии GSS-API (RFC 2078) и устанавливает единый механизм, позволяющий приложениям выполнять аутентификацию, устанавливать контексты безопасности и защищать передаваемые данные, не завися от конкретных криптографических протоколов нижнего уровня.

История и предпосылки создания

Разработка GSS-API началась в середине 1990-х годов в связи с необходимостью унификации механизмов безопасности в гетерогенных сетевых средах. До появления GSS-API каждое приложение или протокол (например, Kerberos, Secure Socket Layer (SSL), протоколы аутентификации в UNIX) использовали собственные API для работы с криптографией и аутентификацией. Это затрудняло интеграцию различных систем и требовало от разработчиков глубоких знаний о каждом конкретном механизме.

Первая версия GSS-API была опубликована как RFC 1508 в 1993 году, а затем уточнена в RFC 2078 (1997 год). RFC 2743, выпущенный через три года, внёс ряд исправлений и дополнений, в частности, уточнил обработку ошибок, добавил поддержку новых типов данных и расширил возможности делегирования учётных данных. Документ был подготовлен рабочей группой IETF по вопросам безопасности (Common Authentication Technology Working Group) под руководством Джона Линна (John Linn).

Основные положения и архитектура

RFC 2743 описывает GSS-API как абстрактный интерфейс, который оперирует понятиями учётных данных (credentials), контекста безопасности (security context) и токенов (tokens). Архитектура GSS-API построена на принципе разделения уровней: приложение (клиент или сервер) вызывает функции API, а реализация (провайдер GSS-API) взаимодействует с базовым механизмом безопасности.

Учётные данные (Credentials)

Учётные данные представляют собой информацию, подтверждающую личность субъекта (пользователя, процесса или службы). Они могут включать криптографические ключи, сертификаты, пароли или билеты (tickets). В GSS-API учётные данные могут быть инициирующими (для стороны, начинающей аутентификацию) или целевыми (для стороны, принимающей запрос). Учётные данные могут быть делегированы — переданы от одного субъекта другому для выполнения действий от имени первого.

Контекст безопасности (Security Context)

Контекст безопасности — это временное состояние, устанавливаемое между двумя сторонами после успешной аутентификации. Он содержит информацию о согласованных криптографических алгоритмах, ключах сессии, а также о взаимных правах и атрибутах. Установление контекста происходит через серию обменов токенами (handshake), которые могут включать несколько раундов. После установления контекста стороны могут использовать его для защиты данных.

Токены (Tokens)

Токены — это блоки данных, которые передаются между сторонами в процессе установления контекста или при защите сообщений. RFC 2743 определяет три типа токенов:

Основные функции API

RFC 2743 определяет набор функций, которые должны быть реализованы провайдером GSS-API. Ниже приведены ключевые категории:

Управление учётными данными

Установление контекста безопасности

Защита сообщений

Вспомогательные функции

Механизмы безопасности

RFC 2743 не привязывается к какому-либо конкретному протоколу безопасности. Вместо этого он определяет, как механизмы (например, Kerberos, NTLM, SPKM, LIPKEY) могут быть встроены в GSS-API через объектно-ориентированную модель. Каждый механизм регистрируется с уникальным идентификатором объекта (OID). При установлении контекста стороны могут согласовать используемый механизм.

Наиболее распространённым механизмом, реализующим GSS-API, является Kerberos V5 (определённый в RFC 1964). Другие механизмы включают:

Применение

GSS-API широко используется в сетевых протоколах и приложениях, требующих безопасного взаимодействия. Основные области применения:

Аутентификация в распределённых системах

Защита данных в протоколах прикладного уровня

Реализации в операционных системах

Критика и ограничения

Несмотря на широкое распространение, RFC 2743 и GSS-API имеют ряд недостатков, которые отмечались в сообществе разработчиков:

Влияние на последующие стандарты

RFC 2743 послужил основой для ряда последующих спецификаций IETF, в том числе:

Источники

  1. RFC 2743 — Generic Security Service Application Program Interface, Version 2, Update 1. IETF, January 2000.
  2. RFC 2078 — Generic Security Service Application Program Interface, Version 2. IETF, January 1997.
  3. RFC 1508 — Generic Security Service Application Program Interface. IETF, September 1993.
  4. RFC 1964 — The Kerberos Version 5 GSS-API Mechanism. IETF, June 1996.
  5. RFC 4121 — The Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2. IETF, July 2005.
  6. RFC 4178 — The Simple and Protected GSS-API Negotiation Mechanism. IETF, October 2005.
  7. RFC 5587 — Extended Generic Security Service Mechanism for Kerberos. IETF, July 2009.
  8. Linn, J. (1994). "Generic Security Service Application Program Interface (GSS-API) — Overview and Rationale". Proceedings of the 1994 Internet Society Symposium on Network and Distributed System Security.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →