Архитектура единого входа Shibboleth

редактировать
Логотип Shibboleth

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

В рамках инициативы Shibboleth Internet2 промежуточного программного обеспечения была создана архитектура и реализация с открытым исходным кодом для управления идентификацией и федеративная идентификация на основе аутентификация и авторизация (или контроль доступа ) инфраструктура на основе языка разметки утверждений безопасности (SAML). Федеративная идентификация позволяет обмениваться информацией о пользователях из одного домена безопасности с другими организациями в федерации. Это позволяет использовать междоменный единый вход и устраняет необходимость для поставщиков контента поддерживать имена пользователей и пароли. Поставщики удостоверений (IdP) предоставляют информацию о пользователях, а поставщики услуг (SP) используют эту информацию и предоставляют доступ к защищенному контенту.

Содержание
  • 1 История
  • 2 Архитектура
    • 2.1 Shibboleth 1.3
    • 2.2 Shibboleth 2.0
  • 3 Атрибуты
  • 4 Доверие
  • 5 Разработка
  • 6 Принятие
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки
История

Проект Shibboleth вырос из Internet2. Сегодня проектом управляет консорциум Shibboleth. Двумя наиболее популярными программными компонентами, которыми управляет консорциум Shibboleth, являются Shibboleth Identity Provider и Shibboleth Service Provider, оба из которых являются реализациями SAML.

. Проект был назван в честь идентификационной парольной фразы используется в Библии (Судей 12: 4–6 ), потому что Ефремляне не могли произносить «ш».

Проект Shibboleth был начат в 2000 году для облегчения совместного использования ресурсов между организациями с несовместимыми инфраструктурами аутентификации и авторизации. Архитектурные работы выполнялись более года до начала разработки программного обеспечения. После разработки и тестирования в июле 2003 года был выпущен Shibboleth IdP 1.0. За этим последовал выпуск Shibboleth IdP 1.3 в августе 2005 года.

Версия 2.0 программного обеспечения Shibboleth была крупным обновлением, выпущенным в марте 2008 года. включает компоненты IdP и SP, но, что более важно, Shibboleth 2.0 поддерживает SAML 2.0.

Протоколы Shibboleth и SAML были разработаны в одно и то же время. С самого начала Shibboleth был основан на SAML, но там, где SAML не хватало, Shibboleth импровизировал, а разработчики Shibboleth реализовали функции, которые компенсировали недостающие функции в SAML 1.1. Некоторые из этих функций позже были включены в SAML 2.0, и в этом смысле Shibboleth внес свой вклад в развитие протокола SAML.

Возможно, наиболее важной особенностью был унаследованный протокол Shibboleth AuthnRequest. Поскольку протокол SAML 1.1 изначально был протоколом IdP-first, Shibboleth изобрел простой протокол запроса аутентификации на основе HTTP, который превратил SAML 1.1 в протокол SP-first. Этот протокол был впервые реализован в Shibboleth IdP 1.0, а позже усовершенствован в Shibboleth IdP 1.3.

Основываясь на этой ранней работе, Liberty Alliance представил полностью расширенный протокол AuthnRequest в Liberty Identity Federation Framework. В конце концов, Liberty ID-FF 1.2 была внесена в OASIS, который лег в основу стандарта OASIS SAML 2.0.

Архитектура

Shibboleth - это веб-технология, реализующая артефакт HTTP / POST. и профили отправки атрибутов SAML, включая компоненты как поставщика удостоверений (IdP), так и поставщика услуг (SP). Shibboleth 1.3 имеет собственный технический обзор, архитектурный документ и документ о соответствии, которые основаны на спецификациях SAML 1.1.

Shibboleth 1.3

В каноническом варианте использования:

  1. Пользователь сначала обращается к ресурсу, размещенному на веб-сервере (поставщик услуг), на котором включена защита содержимого Shibboleth.
  2. SP создает проприетарный запрос аутентификации, который передается через браузер с использованием параметров запроса URL для предоставления идентификатора объекта SAML запрашивающей стороны, местоположения использования утверждения и, при необходимости, конечной страницы, на которую пользователь может вернуться.
  3. Пользователь перенаправляется либо на их домашний IdP, либо в службу WAYF (Where Are You From), где они выбирают свой домашний IdP для дальнейшего перенаправления.
  4. Пользователь аутентифицируется в механизме контроля доступа, внешнем по отношению к Shibboleth.
  5. Shibboleth генерирует подтверждение аутентификации SAML 1.1 с временным «дескриптором», содержащимся в нем. Этот дескриптор позволяет IdP распознавать запрос о конкретном пользователе браузера как соответствующий принципалу, который прошел аутентификацию ранее.
  6. Пользователь отправляется POST в службу потребителей утверждений SP. SP использует утверждение и выдает AttributeQuery в службу атрибутов IdP для атрибутов об этом пользователе, которые могут включать или не включать идентификацию пользователя.
  7. IdP отправляет утверждение атрибута, содержащее достоверную информацию о пользователе, в SP.
  8. SP либо принимает решение о контроле доступа на основе атрибутов, либо предоставляет информацию приложениям, чтобы они сами принимали решения.

Shibboleth поддерживает ряд вариантов этого базового случая, включая потоки в стиле портала, посредством которых IdP формирует незапрашиваемое подтверждение, которое должно быть доставлено при начальном доступе к SP, и ленивое инициирование сеанса, которое позволяет приложению запускать защиту контента с помощью метода по своему выбору по мере необходимости.

Shibboleth 1.3 и более ранние версии не предоставляют встроенного механизма аутентификации, но любой веб-механизм аутентификации может использоваться для предоставления пользовательских данных для использования Shibboleth. Общие системы для этой цели включают CAS или. Также можно использовать функции аутентификации и единого входа в контейнер Java, в котором работает IdP (например, Tomcat).

Shibboleth 2.0

Shibboleth 2.0 основан на стандартах SAML 2.0. IdP в Shibboleth 2.0 должен выполнять дополнительную обработку для поддержки пассивных и принудительных запросов аутентификации в SAML 2.0. SP может запросить у IdP конкретный метод аутентификации. Shibboleth 2.0 поддерживает дополнительные возможности шифрования.

Атрибуты

Управление доступом Shibboleth осуществляется путем сопоставления атрибутов, предоставленных поставщиками услуг, с правилами, определенными поставщиками услуг. Атрибут - это любая информация о пользователе, например, «член этого сообщества», «Алиса Смит» или «лицензированный по контракту А». Идентификационные данные пользователя считаются атрибутом и передаются только в случае явного требования, что обеспечивает конфиденциальность пользователя. Атрибуты могут быть написаны на Java или извлечены из каталогов и баз данных. Чаще всего используются стандартные атрибуты, но новые атрибуты можно определять произвольно, если они одинаково понимаются и интерпретируются IdP и SP в транзакции.

Доверие

Доверие между доменами реализуется с использованием криптографии с открытым ключом (часто просто сертификатов сервера TLS ) и метаданных, описывающих поставщиков. Использование переданной информации контролируется посредством соглашений. Федерации часто используются для упрощения этих отношений путем объединения большого числа поставщиков, которые соглашаются использовать общие правила и контракты.

Разработка

Shibboleth имеет открытый исходный код и предоставляется по лицензии Apache 2. Многие расширения были внесены другими группами.

Принятие

Во многих странах мира были созданы федерации для создания структур доверия для обмена информацией с использованием SAML и программного обеспечения Shibboleth. Многие крупные поставщики контента поддерживают доступ на основе Shibboleth.

В феврале 2006 года Объединенный комитет информационных систем (JISC) Советов по финансированию высшего образования Англии, Шотландии, Уэльса и Северной Ирландии объявил, что он переходит из Афин. система аутентификации к системе управления доступом на основе технологии Shibboleth. С тех пор он обновил свою позицию и поддерживает решение для управления федеративным доступом, а не сам Shibboleth.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-08 05:12:12
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте