我是SAML2的新手,我有一个问题。我们有一个客户说他们想加密他们发送给我们的用户数据。以下是我今天如何实现这一目标的概述:
用户登录到他们的内联网网站并点击到我们公司的链接。他们使用PingFederate单点登录(SSO)来生成SAML2请求。他们在Subject.NameId部分发送用户名。当我们接收到SAML2请求时,我们使用他们的证书解密他们发送的信息。
他们想要的改变是使用我们的密钥加密这个部分,我们将在我们这边解密这个部分。这只用于单边SSO进程,我们不需要将任何东西发回给他们。
我只是想伸出援手,看看这是否是做SAML2的正确方式。设置它的方式是查看传入的SAML2请求,确定在我们的服务器上使用的证书,并使用客户提供给我们的证书。他说的另一件事是,我们实现这个功能的方式并不是真正的SAML2。
发布于 2014-01-13 18:56:47
这里有几个选择。
您可以很容易地让他们对断言本身进行加密,这是大多数商业解决方案所支持的。这将导致更好/更稳定的互操作,但它将加密整个断言,而不仅仅是给定的属性。这通常是一个不对称的操作,他们使用您的公钥。
另一种选择是使用EncryptedAttribute,这不是我在许多地方都见过的东西,但它允许您根据属性逐个属性指定加密,并得到SAML规范的支持。
最后一种选择是将其加密到带外,并由应用程序手动解密。这不是由任何规范定义的,而是由您来设计和实现。我会避免这样做,因为通常的“不要自己滚”的原因。
我认为这些选择是以最少到最复杂的方式排列的,国际海事组织。
https://security.stackexchange.com/questions/48598
复制相似问题