Перейти к содержимому
ecdsa.com

SAML 2.0

XML-стандарт OASIS (март 2005 года) для обмена подписанными утверждениями об аутентификации и атрибутах между поставщиком удостоверений и поставщиками услуг; по-прежнему основа корпоративного единого входа.
Другие написанияSAMLSecurity Assertion Markup LanguageSAML assertionSAML SSO

Поставщик удостоверений выпускает утверждение Assertion (субъект, условия, например NotBefore, NotOnOrAfter и AudienceRestriction, заявление об аутентификации и атрибуты), подписывает его с помощью XML Signature и доставляет в Response через браузер, обычно с привязкой HTTP-POST. Поставщик услуг проверяет подпись по сертификату IdP из метаданных, а также аудиторию, временное окно, значение InResponseTo и URL назначения.

Большинство серьёзных ошибок в SAML — это ошибки обработки XML: обёртывание подписи, или signature wrapping (проверяющая сторона проверяет один подписанный элемент, а приложение читает другой, неподписанный), усечение идентификаторов имён из-за комментариев в них (2018 год, несколько библиотек), раскрытие внешних сущностей XML и подписи, которые охватывают только часть ответа. Используйте поддерживаемую библиотеку и никогда не проверяйте подписи универсальным кодом на XPath.

Для новых приложений OpenID Connect обычно проще, но корпоративные клиенты часто требуют SAML, и многие продукты поддерживают оба протокола. Инспектор SAML локально декодирует и проверяет утверждения.

Стандарты и ссылки

Все термины