Spring 安全 SAML2 - SP http post 安全

Spring Security SAML2 - SP http post security

我有一个正在添加 Spring 安全 SAML 实现的应用程序。对于我连接的大多数 IDP,我使用 http post。所以我的问题是,既然一切都通过客户端,如果你不使用signing/encryption,那么本质上是中间人的客户端是否能够轻松地修改传输中的断言?我在这里错过了什么吗?使用 SAML 的 http-post 的最佳实践是什么?

** 更新 **

所以经过更多的研究,我的理解是只要响应是由 IDP 签名的,客户端就可以查看断言但不能修改它,只要你是验证 SP 上的签名。所以,如果我使用带有签名验证的 ssl,那么唯一能够看到响应的任何部分的一方就是客户端,但他们不应该能够修改它,我的理解是否正确?

是的,你是对的。客户端可以看到断言,但由于断言中的任何敏感数据都与用户有关,因此无关紧要。

在用户无法读取断言内容的情况下,如果使用工件绑定,可以通过反向通道发送断言内容,或者可以对其进行加密。

关于数据的完整性,SAML 规范明确要求接收系统验证数据的签名(在响应或断言级别)。收件人不得处理任何不受签名保护的数据。