В чем разница между ADFS, WIF, WS Federation, SAML и STS? - PullRequest
48 голосов
/ 02 ноября 2011

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

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

Ответы [ 3 ]

107 голосов
/ 02 ноября 2011
  • ADFS (службы федерации Active Directory) - готовая служба маркеров безопасности (STS), созданная Microsoft и построенная на основе 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 Federation, и STS возвращает (большую часть времени) токен безопасности SAML обратно в приложение, используя протокол WS Federation.Обычно это происходит через HTTP (GET, POST и перенаправления).Сравните это с WS-Trust, который полностью основан на веб-сервисах.

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

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

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

  • STS (служба токенов безопасности)- Как описано выше, STS является посредником, который находится между приложением проверяющей стороны и пользователем.STS является эмитентом токенов безопасности.«Эмитент» часто является синонимом STS.Службы STS настроены на две роли: провайдеров идентификации (IdP), когда они аутентифицируют пользователей, или провайдеров федерации (FP), когда онисидеть в середине цепочки доверия и выступать в качестве «доверяющих сторон» для других IdP.IdP нужен способ аутентификации пользователей.Некоторые (например, 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

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

63 голосов
/ 02 ноября 2011

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

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

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

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

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

Протокол, используемый между WIF и ADFS: WS-Federation .

Если STS был основан на Java (например, PingIdentity или OpenAM), тогда WIF будет использовать для связи протокол SAML .ADFS также поддерживает SAML для включения федерации.

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

4 голосов
/ 18 мая 2016

Этот пост предназначен для разъяснения токенов SAML, поддерживаемых в ADFS 2.0, и протокола SAML, не поддерживаемого до ADFS 3.0, версии ADFS в Windows Server 2012 R2

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

2) WIF-приложения на основе .net 4.5 требуют использования протокола 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.

...