Нужна ли федеративная аутентификация, если у меня есть собственный STS?Если так, то почему? - PullRequest
2 голосов
/ 06 марта 2012

Если у меня есть специальная служба безопасного токена, которая специально перечисляет разрешенные аудитории и проверяет, поступает ли токен из одной из этих аудиторий, а также проверяет отпечаток пальца и издателя сертификата X509, нужно ли WSFederation?

Поскольку мой STS проверяет, что токен уже получен из определенного приложения и был направлен через мой ACS, разве я не проверяю все, что мне нужно?Я знаю, что Приложение A отправило запрос в ACS, который отправил запрос в Приложение B, все из пользовательского STS, так где федеративная идентичность вписывается в эту картину?

Изменить для ясности:

Извините, я был немного неясен в оригинальном сообщении.Я думаю, что путаница возникла из-за того, что я использовал STS вместо обработчика токена безопасности (разные вещи, просто опечатка).Приложение A - это пользовательский сервис входа в систему, который отображает параметры входа для пользователя, google / facebook / yahoo / etc.Вход через эти службы получает токен от ACS и возвращает его приложению B, проверяющей стороне.Этот RP имеет собственный обработчик токена безопасности, который принимает токен и проверяет, что у него есть приложение, соответствующее URI аудитории. Он также проверяет, что издателем был ACS, и отпечаток совпадает с сертификатом, использованным для подписи токена черезACS.

Это означает, что теоретически приложение B знает, что приложение A использовалось для входа в систему (как оно было получено с этой аудитории URI) и что ACS отправило токен (так как это был издатель и совпадает отпечаток).Я спрашиваю, нужна ли федеративная идентификация для приложения B?Что именно вы получаете, используя его, если вы уже доказали, откуда взялся токен?

1 Ответ

2 голосов
/ 07 марта 2012

Ваш вопрос может нуждаться в некотором уточнении.

Во-первых, вы, возможно, захотите объяснить, что конкретно вы подразумеваете под приложением A и приложением B, и как ваша STS вписывается в этот сценарий.Приложения обычно не выдают токены, а только STS.В этом смысле ACS не связывает приложения друг с другом, он соединяет приложения проверяющей стороны со сторонними поставщиками удостоверений.

Во-вторых, если вы говорите об аутентификации через Интернет, и у вас есть пользовательский идентификаторSTS провайдера, который выдает токены для ACS, то вы, вероятно, уже используете WS-Federation.Однако, если получение токена не основано на браузере, и вы выполняете внутренние HTTP-вызовы в ACS, WS-Federation не имеет отношения к сценарию.

В-третьих, с точки зрения STSнабор разрешенных аудиторий относится не к эмитентам токенов, а к сущностям, которые будут использовать токены, выпущенные этим STS.То есть это набор предметов, которым STS будет выдавать токены.Это могут быть сами приложения или другие промежуточные STS по всей цепочке федерации.(ACS, например, выступает в качестве такого посредника)

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

Я надеюсь, что это все прояснит, но если он не отвечает на ваш вопрос, пожалуйста, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...