Единый вход в систему перехвата SAML

Я работаю над исследованием нового использования SSO. В основном я пытаюсь найти способ перехватить запрос SAML, который отправляется от поставщика услуг поставщику удостоверений с помощью какого-либо прокси-сервера IdP или сторонней службы, которая будет содержать запрос SAML и предоставлять пользователям некоторые дополнительные функции. Желаемый процесс может выглядеть так:

  1. Пользователь вызывает запрос SAML от SP - например, нажмите кнопку входа в систему
  2. Пользователь перенаправляется на стороннюю службу, где проходит, например, небольшой опрос (это теоретический пример)
  3. После отправки опроса пользователь перенаправляется к IdP и должен продолжить вход в систему.

У меня неплохой опыт работы с SimpleSAMLphp и настройки федерации. Но мои попытки найти полезную информацию об этом виде перехвата не увенчались успехом. Я добавляю супер базовую картину решения. (Пожалуйста, не смейтесь :))

Поддерживает ли SAML какую-либо такую ​​обработку? Я открыт для обсуждения. Я также думал перехватить SAML после того, как пользователь войдет в IdP (для перенаправления с IdP на прокси-сервер третьей стороны, а затем на SP)

Спасибо за советы и ваши мысли; надеюсь, это не совсем глупый вопрос

введите описание изображения здесь


РЕДАКТИРОВАТЬ: Во время моего исследования я наткнулся на технологию / подход, который называется IDP Proxy. Как вы думаете, это возможно для моей цели? По сути, прокси-сервер SAML IdP - это мост или шлюз между федерацией SAML IdP и федерацией SAML SP. Подробнее об этом, например, здесь


person Tom Hert    schedule 25.09.2013    source источник


Ответы (1)


Я не думаю, что это возможно, это просто выходит за рамки протокола. SP предоставляет услугу, IdP отвечает за аутентификацию пользователя. Кажется, что между ними нет места сторонним сервисам.

Я предполагаю, что вы контролируете (по крайней мере) либо SP, либо IdP. Попробуйте провести свой опрос (или что-то еще) у контролируемого вами провайдера.

В качестве альтернативы вы можете попробовать реализовать свой собственный IdP, включая опрос (или что-то еще), который использует исходный IdP для аутентификации.

person Mario Lenz    schedule 25.09.2013
comment
Да, но проблема или, скажем так, идея в том, что я не контролирую ни SP, ни IdP. Я знаю, что могу улучшить IdP или SP. Но я спрашиваю не об этом. Но спасибо за ответ, я ценю это - person Tom Hert; 26.09.2013
comment
Я не эксперт в этой теме, хотя я потратил некоторое время на устранение неполадок SAML (vCenter SSO). Но я думаю, что все, что вы хотите, невозможно. Afaik SAML не поддерживает сторонние сервисы между SP и IdP, добавляя дополнительные функции. - person Mario Lenz; 26.09.2013
comment
Я боялся этой ситуации. Я знаю, что SimpleSAMLphp реализует нечто, называемое фильтрами обработки аутентификации, где вы можете в основном выполнять некоторые дополнительные действия либо на SP, либо на IDP после аутентификации пользователя. Но это другой подход, чем я хотел реализовать. - person Tom Hert; 26.09.2013
comment
Кстати, я не хочу манипулировать запросом / ответом SAML. Я хочу взять запрос / ответ и удерживать его, например, пока пользователь не завершит опрос. - person Tom Hert; 26.09.2013
comment
В любом случае вы не сможете манипулировать ответом SAML. Подписано. Изменение ответа сделает ответ недействительным. Если вы не контролируете SP или IdP, я не понимаю, как вы могли бы достичь своей цели без какой-либо атаки MITM. - person Mario Lenz; 26.09.2013
comment
Я продолжаю свои исследования. Что насчет IDP Proxy? groups.google.com/forum/#!searchin/ simplesamlphp / прокси / - person Tom Hert; 26.09.2013
comment
Вот что я имел в виду под атакой MITM. Вы можете заставить SP использовать прокси IdP в качестве IdP. Прокси-сервер будет использовать исходный IdP в качестве серверной части аутентификации. Вы должны иметь возможность реализовать дополнительные функции, такие как опросы, в прокси-сервере. Однако с точки зрения SP и IdP нет третьей стороны. Для SP есть только IdP (прокси). Для IdP есть только SP (прокси). - person Mario Lenz; 26.09.2013
comment
Понятно :) Значит, я не получил атаку MITM :) Я подумал, что вы имеете в виду настоящую атаку "человек посередине". Но спасибо за вашу помощь здесь. Я ценю это. Отмечу как правильную :) - person Tom Hert; 26.09.2013