我有一个应用程序,我正在添加Spring Security的SAML实现。对于我连接的大多数国内流离失所者,我使用http post。所以我的问题是,既然一切都通过了客户端,如果你不使用签名/加密,那么本质上是中间人的客户端是否能够轻松地修改传输中的断言?我在这里错过了什么吗?使用SAML进行http-post的最佳做法是什么?
**更新**
经过一番研究后,我的理解是,只要您的IDD签名,客户就能查看断言但无法修改它,只要您验证签名即可在SP上。所以,如果我使用带有签名验证的ssl,唯一能够看到响应的任何部分的一方是客户端,但他们应该无法修改它,我的理解是否正确?
答案 0 :(得分:0)
是的,你是对的。客户端可以看到断言,但由于其中的任何敏感数据都与用户有关,因此无关紧要。
如果用户不能阅读断言内容,如果使用工件绑定,可以通过反向通道发送,或者可以加密。
关于数据的完整性,SAML规范明确要求接收系统验证数据的签名(在响应或断言级别)。任何不受签名保护的数据都不得由收件人处理。