SAML обещает защиту для Web

Новый стандарт интероперабельности между продуктами, обеспечивающими защиту Web-служб, получил название Security Assertion Markup Language 1.0. Учитывая, что корпорации все чаще развертывают решения управления доступом и другие продукты защиты в средах Web-служб, SAML 1.0 может стать критически важным звеном в обеспечении комплексной защиты этих интерактивных сред как внутри организаций, так и при взаимодействии их друг с другом.

SAML 1.0, которая в ближайшее время должна ратифицировать Organization for the Advancement of Structured Information Standards, работает с XML и протоколом Simple Object Access Protocol (SOAP).

SAML 1.0 регламентирует взаимодействия на базе SOAP между модулями защиты и контроля, поддерживая единую регистрацию (SSO) в Web, аутентификацию и проверку прав доступа. Стандарт определяет сообщения, передающие запросы и ответы на подтверждение, которыми обмениваются защищенные домены с целью принятия решений при аутентификации, подтверждении прав доступа и атрибутов, которыми обладают названные пользователи и ресурсы. SAML 1.0 определяет также функциональные элементы, такие как уполномоченный по аутентификации, по атрибутам, точки принятия решений при контроле и точки осуществления контроля.

Сценарий SAML

В самом простейшем случае обеспечения интероперабельности SAML 1.0, поддерживающего Web SSO, профиль браузера/средства идентификации, пользователь взаимодействует с Web-сайтами, ориентированными на SAML, следующим образом.

  • Браузер пользователя обращается к Web-сайту источника (который действует как уполномоченный по аутентификации SAML), как правило, через HTTP/Secure Sockets Layer.
  • Сайт-источник запрашивает у браузера идентификатор и пароль пользователя.
  • Браузер реагирует на этот запрос, передавая идентификатор и пароль пользователя.
  • Сайт-источник выполняет аутентификацию браузера, обращаясь с запросом к внешнему серверу аутентификации, например к каталогу Lightweight Directory Access Protocol.
  • Запросы браузера по щелчку на универсальный идентификатор ресурса (URI) передается на сайт-источник конкретному ресурсу, размещенному на сервере-адресате, тем самым перенаправляя на URL «службы перекрестной передачи» сайта-источника.
  • Сайт-источник проводит сессию и выполняет краткосрочную аутентификацию SAML, подтверждающую, что событие произошло (при условии, что подтверждения аутентификации происходит параллельно с политикой, определяемой запрашиваемым сервером-адресатом и ресурсами).
  • Сайт-источник хранит подтверждающее сообщение локально, в своей кэш-памяти.
  • Сайт-источник возвращает сообщение через SSL в браузер URI, который включает в себя дополнительное средство идентификации (artifact) SAML, которое представляет собой 8-байтную строку Base64, указывающую на подтверждение аутентификации, и перенаправляет браузер на запрашиваемый сайт-адресат и ресурс.
  • Сайт-адресат использует средство идентификации SAML для передачи/получения запроса на соответствующее подтверждение аутентификации от сайта-источника.
  • Сайт-адресат проводит сессию, выполняет синтаксический разбор и проверку сообщения с подтверждением аутентификации (кроме того, проверяет дополнительную XML Signature в сообщении, если эта методика используется) и предоставляет браузеру доступ к запрашиваемым ресурсам.

Хотя интерес к SAML 1.0 растет, эффективность этой спецификации пока остается под вопросом. Настоящей проверкой SAML 1.0, как и любого другого стандарта, станет реакция рынка на предлагаемый стандарт и то, насколько эффективно он будет создавать Web-службы с помощью поддерживающих его продуктов.

Сценарий SAML
При использовании единой регистрации в Web, ориентированной на SAML, пользователи регистрируются в своих домашних доменах или доменах-источниках. Исходный домен передает результаты процесса аутентификации, а также другую информацию, формирующую контекст для принятия решения, в один или несколько подчиненных или федеративных доменов