В чем разница между ADFS, WIF, WS Federation, SAML и STS?

Это множество технологий и модных слов, используемых для единого входа в Microsoft services.

может ли кто-нибудь объяснить ADFS, WIF, WS Federation, SAML и STS (служба маркеров безопасности), включая, где и когда каждый используется.

3 ответов


с точки зрения большой картины:

предположим, что ASP.NET браузерное приложение, требующее аутентификации и авторизации.

приложение может свернуть свой собственный или он может передать его на аутсорсинг.

WIF - это библиотека .NET, которая позволяет ASP.NET реализовать этот аутсорсинг.

Он разговаривает с STS (ADF-файлы является экземпляром STS), который аутентифицируется в репозитории идентификаторов и предоставляет авторизационная информация в виде претензий. STS предоставляет набор подписанных доверенных утверждений.

протокол, используемый между WIF и ADFS, является Федерации.

Если STS был основан на Java (e.G Ping Identity или OpenAM), то WIF будет использовать на основе SAML протокол для общения. ADFS также поддерживает SAML для включения Федерации.

(Федерация, например, позволяет пользователю в Java-ориентированной компании A получить доступ к ASP.NET применение в a .NET ориентированная компания B путем аутентификации в репозитории удостоверений A. Компания А и компания Б доверяют друг другу в смысле Федерации.)


  • ADFS (службы Федерации Active Directory) - готовая служба маркеров безопасности (STS), созданная корпорацией Майкрософт на базе Windows Identity Foundation (WIF). Полагается на AD для аутентификации. Может использоваться в активных (веб-службы SOAP) или пассивных (веб-сайты) сценариях и поддерживает маркеры SAML, WS-Federation, WS-Trust и SAML-протокол. Он может использоваться как поставщик удостоверений (против AD) или как Федерация Поставщик.

    http://technet.microsoft.com/en-us/library/adfs2 (v=ws.10).aspx

  • WIF (Windows Identity Foundation) - библиотека .NET, используемая для проверки подлинности на основе утверждений в приложениях .NET и проверяющих сторонах. Он также может использоваться как клиент WS-Trust и для сборки пользовательских STS.

    http://msdn.microsoft.com/en-us/security/aa570351

  • WS-Federation-протокол, используемый проверяющие стороны и STS для согласования маркера безопасности. Приложение запрашивает маркер безопасности у службы STS с использованием Федерации WS, и служба STS возвращает (большую часть времени) маркер безопасности SAML приложению с использованием протокола Федерации WS. Это обычно через HTTP (получает и сообщения и перенаправляет). Сравните это с WS-Trust, который полностью веб на основе сервиса.

    http://msdn.microsoft.com/en-us/library/bb498017.aspx

  • маркеры SAML (язык разметки утверждений безопасности) - это просто формат XML, используемый для маркеров безопасности, которые обычно захватывают информацию о пользователе (утверждения) и другие соответствующие данные, связанные с безопасностью (подписи, эмитент маркеров и т. д.). Маркер используется приложением для аутентификации пользователей и управления поведением приложения (например, авторизация). Безопасности SAML Маркеры подписываются для целостности и дополнительно шифруются, поэтому только RP и STS могут видеть его содержимое. В ASP.NET веб-сайты, использующие WIF, маркер по умолчанию зашифрован и разделен на куки, но это может быть изменено.

    http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language

  • STS (служба маркеров безопасности) - как описано выше, STS-это брокер, который находится между приложением проверяющей стороны и пользователем. STS - это эмитент токенов безопасности. "Эмитент" часто является синонимом STS. STSs настроены в двух ролях: as поставщики удостоверений (IdP), когда они аутентифицируют пользователей или как провайдеры Федерации (FP) когда они сидят в середине цепочки доверия и действуют как "полагающиеся стороны" для других ВПЛ. ВПЛ нужен способ аутентификации пользователей. Некоторые (например, ADFS) используют Active Directory, другие-пользовательские базы данных, такие как членство в SQL Server (не ADFS). Если пользователь правильно аутентифицируется, STS выдаст маркер безопасности.

    http://msdn.microsoft.com/en-us/library/ff650503.aspx

    http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/os/ws-trust-1.4-spec-os.html#_Toc212615442

надеюсь, это поможет. Есть много понятий и частей, чтобы понять в аутентификации на основе утверждений. Чтобы получить полное представление, вы должны проверить руководство по Удостоверение на основе утверждений и контроль доступа.


это сообщение направлено на уточнение маркеров SAML, поддерживаемых в ADFS 2.0, и протокола SAML, не поддерживается до ADFS 3.0, версии ADFS в Windows Server 2012 R2

1) протокол SAML не поддерживается до ADFS 3.0

2) приложения .net 4.5 на основе WIF требуют использования протокола WS-Fed и в настоящее время не поддерживают SAML-протокол

3) маркеры SAML основаны на XML. Токены SAML поддерживаются в ADFS 2.0 и предыдущих версиях. Службы ADFS 1.0. 1.1. и 2.0 поддерживает только токены SAML, а не протокол

4) Если вы используете WIF, требуется WS-Fed (протокол) - поэтому вы можете сделать следующее:

протокол SAML ADFS WS-FED WIF (.net 4.5)

Из Вики:

* ADFS 1.0-Windows Server 2003 R2 (дополнительная загрузка)

* ADFS 1.1-Windows Server 2008 и Windows Server 2008 R2.

* ADFS 2.0-Windows Server 2008 и Windows Server Версии 2008 R2 (скачать от Microsoft.com)

* ADFS 2.1-Windows Server 2012.

* ADFS 3.0-Windows Server 2012 R2.