Общий программный интерфейс приложений служб безопасности
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Октябрь 2013 г. ) |
Общий программный интерфейс службы безопасности ( GSSAPI , также GSS-API ) — это интерфейс прикладного программирования для программ, обеспечивающих доступ к службам безопасности .
GSSAPI — это стандарт IETF , который решает проблему многих похожих, но несовместимых служб безопасности, используемых с 2005 года. [update].
Операция
[ редактировать ]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. [3]
Некоторые ограничения GSSAPI:
- стандартизация только аутентификации , а не авторизации ;
- предполагая архитектуру клиент-сервер .
Предвидя новые механизмы безопасности, GSSAPI включает в себя псевдомеханизм согласования , который SPNEGO может обнаруживать и использовать новые механизмы, отсутствовавшие при создании исходного приложения.
Связь с Керберосом
[ редактировать ]Доминирующей реализацией механизма 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.
- Инициатор/акцептор
- Узел, отправляющий первый токен, является инициатором; другой — акцептор. Обычно клиентская программа является инициатором, а сервер — акцептором.
История
[ редактировать ]- Июль 1991 г.: Рабочая группа IETF по общей технологии аутентификации (CAT) встречается в Атланте под руководством Джона Линна.
- Сентябрь 1993 г.: версия 1 GSSAPI (RFC 1508, RFC 1509).
- Май 1995 г.: выпущена Windows NT 3.51, включая SSPI.
- Июнь 1996 г.: механизм Kerberos для GSSAPI (RFC 1964).
- Январь 1997 г.: GSSAPI версия 2 (RFC 2078).
- Октябрь 1997 г.: опубликован SASL, включая механизм GSSAPI (RFC 2222).
- Январь 2000 г.: обновление 1 GSSAPI версии 2 (RFC 2743, RFC 2744).
- Август 2004 г.: Рабочая группа KITTEN встречается для продолжения деятельности CAT.
- Май 2006 г.: стандартизировано использование Secure Shell GSSAPI (RFC 4462).
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «JSR-000072 Спецификация API общих служб безопасности 0.1» . 15 июня 2001 г. Проверено 7 октября 2015 г.
- ^ Шенефельд, Марк (2010). Рефакторинг антипаттернов безопасности в распределенных компонентах Java . Сочинения факультета бизнес-информатики и прикладной информатики Бамбергского университета Отто Фридриха. Том 5. Издательство Бамбергского университета. п. 179. ИСБН 9783923507689 . Проверено 7 октября 2015 г.
JGSS — это JAVA-реализация GSSAPI.
- ^ Фишер, Марина; Шарма, Сону; Лай, Рэй; Морони, Лоуренс (2006). Взаимодействие Java EE и .NET: стратегии, шаблоны и лучшие практики интеграции . Прентис Холл Профессионал. ISBN 9780132715706 . Проверено 7 октября 2015 г.
API-интерфейс прикладного программного интерфейса Java Generic Security Services (JGSS) для единообразного доступа к службам безопасности на основе различных базовых механизмов безопасности, включая Kerberos, которые являются строительными блоками для единого входа и шифрования данных.
Внешние ссылки
[ редактировать ]- RFC 2743 API универсальной службы безопасности, версия 2, обновление 1
- RFC 2744 API универсальной службы безопасности, версия 2: C-Bindings
- RFC 1964 Механизм Kerberos 5 GSS-API
- RFC 4121 Механизм GSS-API Kerberos 5: версия 2
- RFC 4178 Простой и защищенный механизм согласования GSS-API (SPNEGO)
- RFC 2025 Простой механизм GSS-API с открытым ключом (SPKM)
- RFC 2847 LIPKEY — механизм открытого ключа для низкой инфраструктуры с использованием SPKM
- «Общая технология аутентификации следующего поколения (котенок)» . Рабочая группа по интернет-инжинирингу . Сентябрь 2013.
- Сан Микросистемс (2002). «Руководство по программированию GSS-API — Sun Solaris 9» . Корпорация Оракл .
- Корпорация Oracle (2020). «Написание приложений, использующих GSS-API — Oracle Solaris 11.4, Руководство разработчика по безопасности» .