Нужна ли мне проверка подлинности Федерации, если у меня есть пользовательская служба STS? Если да, то почему?


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

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

Отредактируйте для ясности:

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

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

1 2

1 ответ:

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

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

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

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

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