stringtranslate.com

Интерфейс прикладной программы служб общей безопасности

Интерфейс прикладных программ служб безопасности Generic Security Service ( GSSAPI , также GSS-API ) — это интерфейс прикладного программирования для программ, обеспечивающих доступ к службам безопасности .

GSSAPI — это стандарт IETF , который решает проблему множества похожих, но несовместимых служб безопасности, используемых с 2005 года .

Операция

Сам по себе GSSAPI не обеспечивает никакой безопасности. Вместо этого поставщики услуг безопасности предоставляют реализации GSSAPI — обычно в виде библиотек, устанавливаемых вместе с их программным обеспечением безопасности. Эти библиотеки предоставляют совместимый с GSSAPI интерфейс разработчикам приложений, которые могут написать свое приложение, использующее только независимый от поставщика GSSAPI. Если реализация безопасности когда-либо потребует замены, приложение не нужно будет переписывать.

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

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

GSSAPI описывает около 45 вызовов процедур. Наиболее значимые из них:

GSS_Acquire_cred
Получает подтверждение личности пользователя, часто секретный криптографический ключ.
Имя_импорта_GSS
Преобразует имя пользователя или имя хоста в форму, идентифицирующую объект безопасности.
GSS_Init_sec_context
Генерирует клиентский токен для отправки на сервер, обычно это вызов
GSS_Accept_sec_context
Обрабатывает токен из GSS_Init_sec_context и может генерировать ответный токен для возврата
GSS_Wrap
Преобразует данные приложения в защищенный токен сообщения (обычно зашифрованный)
GSS_Unwrap
Преобразует защищенный токен сообщения обратно в данные приложения.

GSSAPI стандартизирован для языка C (RFC 2744). Java реализует GSSAPI [1] как JGSS, [2] Java Generic Security Services Application Program Interface. [3]

Некоторые ограничения GSSAPI:

  1. стандартизация только аутентификации , а не авторизации ;
  2. предполагая архитектуру клиент-сервер .

Предвосхищая появление новых механизмов безопасности, GSSAPI включает в себя псевдомеханизм согласования SPNEGO , который может обнаруживать и использовать новые механизмы, отсутствовавшие при создании исходного приложения.

Связь с Kerberos

Доминирующей используемой реализацией механизма GSSAPI является Kerberos . В отличие от GSSAPI, API Kerberos не стандартизирован, и различные существующие реализации используют несовместимые API. GSSAPI позволяет реализациям Kerberos быть совместимыми с API.

Связанные технологии

Ключевые понятия

Имя
Двоичная строка, которая маркирует субъект безопасности (т. е. пользователя или программу службы) - см. управление доступом и идентификация . Например, Kerberos использует имена, такие как user@REALM для пользователей и service/hostname@REALM для программ.
Реквизиты для входа
Информация, подтверждающая личность; используется субъектом для действия в качестве указанного принципала. Учетные данные обычно включают секретный криптографический ключ.
Контекст
Состояние одного конца протокола аутентификации/аутентификации . Может предоставлять услуги защиты сообщений, которые могут использоваться для создания безопасного канала .
Жетоны
Непрозрачные сообщения передаются либо как часть протокола начальной аутентификации (токены контекстного уровня), либо как часть защищенной коммуникации (токены для каждого сообщения)
Механизм
Базовая реализация GSSAPI, которая предоставляет реальные имена, токены и учетные данные. Известные механизмы включают Kerberos , NTLM , Distributed Computing Environment (DCE), SESAME, SPKM, LIPKEY.
Инициатор/акцептор
Пир, который отправляет первый токен, является инициатором; другой — акцептором. Обычно клиентская программа является инициатором, а сервер — акцептором.

История

Смотрите также

Ссылки

  1. ^ "JSR-000072 Спецификация API общих служб безопасности 0.1". 2001-06-15 . Получено 2015-10-07 .
  2. ^ Шенефельд, Марк (2010). Рефакторинг антипаттернов безопасности в распределенных компонентах Java. Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg. Том. 5. Университет Бамберга Пресс. п. 179. ИСБН 9783923507689. Получено 2015-10-07 . JGSS — это реализация GSSAPI на языке JAVA.
  3. ^ Фишер, Марина; Шарма, Сону; Лай, Рэй; Морони, Лоренс (2006). Взаимодействие Java EE и .NET: стратегии интеграции, шаблоны и передовой опыт. Prentice Hall Professional. ISBN 9780132715706. Получено 2015-10-07 . API Java Generic Security Services Application Program Interface (JGSS) для единообразного доступа к службам безопасности поверх различных базовых механизмов безопасности, включая Kerberos, которые являются строительными блоками для единого входа и шифрования данных.

Внешние ссылки