Рекомендуется ли подписывать и шифровать SAML и использовать SSL?

Нужно ли шифровать запрос SAML, если я подписываю его своим личным ключом и отправляю его через SSL? Или лучше было бы подписать его с помощью моего закрытого ключа, зашифровать его с помощью открытого ключа поставщика идентификаторов И передать его через SSL?

Ответы

Ответ 1

Запрос/запрос утверждения SAML обычно не содержит много частных данных, и сам запрос обычно не сохраняется для использования позже, поэтому нет необходимости шифровать сам запрос SAML. Подписание этого соглашения позволит получателю убедиться в том, что содержимое не было изменено при транзите, а его передача через SSL обеспечит конфиденциальность во время передачи. Шифрование запроса в этой ситуации, вероятно, слишком велико.

Ответ утверждения SAML, однако, является совершенно другим животным. Ответ SAML, содержащий утверждения или утверждения, скорее всего, содержит личные данные. В зависимости от того, как эти утверждения используются в вашей системе, утверждения могут передаваться между различными сторонами, некоторые из которых имеют ключи, необходимые для расшифровки содержимого (поскольку они имеют доверительные отношения с поставщиком SAML), а некоторые из них не, Утверждения SAML могут храниться в кеше или в базе данных, поэтому вы действительно не знаете, кто будет их прокручивать в будущем.

Если ответ SAML содержит утверждения и утверждения, содержащие личные данные, а получатель ответа будет удерживаться в утверждении SAML на неопределенный период или передавать утверждения SAML через промежуточные стороны, которым вы не доверяете, то да, Утверждения SAML должны быть зашифрованы и ответ подписан независимо от того, передается ли он по протоколу SSL или нет. Шифрование - это защита конфиденциальности данных после того, как он достигнет другого конца SSL-протокола.

Ответ 2

И другим концом SSL-канала является браузер. Там один канал от IdP к браузеру, а другой - от браузера до поставщика услуг. Если Assertion не зашифрован, утверждение будет доступно для всех в браузере. Злоумышленник может использовать незашифрованный Идентификатор имени в какой-либо атаке на будущие документы и взаимодействия SAML.