Рекомендуется ли подписывать и шифровать SAML и использовать SSL? - PullRequest
19 голосов
/ 26 ноября 2011

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

Ответы [ 2 ]

51 голосов
/ 26 ноября 2011

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

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

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

3 голосов
/ 19 марта 2016

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

...