由于SP和IDP之间的通信是通过客户端的Web浏览器(SAML HTTP POST配置文件)进行的,SSL是否在客户端浏览器中解密,然后再次发送到SP或IDP?
如果是,SAML令牌此时很容易被盗? 我们可以做些什么来阻止它?
如何防止令牌重播? (在设置SAML配置之前和之后)
SAML令牌仅由SP使用一次吗?我们可以在IDP发送之后立即使用令牌吗?
答案 0 :(得分:4)
是的,SAML内容在客户端浏览器中解密,因此,客户端浏览器可以在将SAML内容发送到SP之前读取,复制或修改SAML内容。这就是为什么内容始终使用IDP私钥进行签名,以便SP可以检查它是否未被修改。如果内容是敏感的(甚至是实际用户),则可以使用SP公钥加密SAML内容中的断言。
SAML SP应该防范重播令牌。
Idp发出的令牌的正常生命周期(由有效的NotOnOrAfter属性设置)对于身份验证令牌是2分钟。
答案 1 :(得分:1)
没有SAML令牌这样的东西,而是在响应中有一个SAML断言。是的,当它被发送到前置频道时,用户可以检查该消息。
避免用户检查断言,断言通常包括有关用户是谁(以及某些属性)的信息,而不是允许用户做任何事情的令牌(因为您习惯使用OAuth等) ),断言可以在消息级别加密。由IdP决定是否加密断言,但它需要足够的有关SP证书的信息才能这样做。它也必须由SP支持解密消息才有意义。
答案 2 :(得分:0)
默认情况下,许多SAML断言尚未加密(即... WebEx SAML)。请务必使用您的IdP检查此设置,并验证SP是否可以接受加密的SAML断言...并非所有可以。
您可以使用Fiddler检查断言本身,以查看您的邮件是否正在加密。你能看到传递的信息吗?如果是这样,您可能需要查看自己的应用设置。
如果您使用Firefox的Google Fiddler或SSO跟踪器,您可以看到获取断言并自行检查的步骤。如果文本模式下的请求可以看到诸如主题信息(例如NameID)之类的内容,则它不会被加密。
即,
<Subject>
<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">JohnDoe</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<SubjectConfirmationData NotOnOrAfter="2016-05-01T16:51:59.525Z" Recipient="https://null.webex.com/dispatcher/SAML2AuthService?siteurl=null" />
</SubjectConfirmation>
</Subject>