Требуется ли подпись Ответа в профиле SAML Web SSO? - PullRequest
0 голосов
/ 20 января 2020

Контекст: я работаю над реализацией поставщика услуг SAML. Мы реализуем профиль единого входа SAML Web с привязкой HTTP-Redirect для создания запросов AuthnRequests и привязки HTTP-Post для принятия SamlResponses (типичная настройка, используемая в популярных продуктах, таких как Dropbox for Business). Наши конечные точки SP будут общедоступны для всех на net, URL-адрес службы поддержки пользователей - HTTPS.

Спецификация SAML довольно ясно описывает подпись утверждений в сообщении SamlResponse: это обязательно. Однако в SAML spe c НЕ ясно о подписании включающего элемента Response SamlResponse. Это говорит, что МОЖЕТ быть подписано, и подпись ДОЛЖНА быть подтверждена, когда она присутствует. Но есть также следующее предложение:

Когда ответное сообщение, содержащее утверждение, доставляется проверяющей стороне через веб-браузер пользователя (например, с помощью привязки HTTP POST), то для обеспечения целостности сообщения, требуется, чтобы ответное сообщение было подписано цифровой подписью XML Подпись

Библиотека SAML Spring Security НЕ требует наличия этой подписи. SSOCircle Набор тестов SAML завершается неудачно для реализаций, требующих его (SSOCircle использует SamlResponses без него в «положительных» тестах).

Итак, требуется ли это в профиле Web SSO и почему?

1 Ответ

1 голос
/ 21 января 2020

Посмотрите в этом документе: http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf, стр. 68. Там написано A digital signature is not always required in SAML. Однако весной saml вы можете указать в securityContext, что вы хотите подписанное утверждение / ответ. https://docs.spring.io/spring-security-saml/docs/current/reference/html/configuration-metadata.html#configuration -metadata-зр поколения

...