什么是SessionSecurityToken SecurityKeys?

时间:2013-04-26 14:11:04

标签: token wif federated-identity thinktecture-ident-server

我想验证STS发出的SessionSecurityToken。通过验证,我的意思是证明令牌不是精心设计的,并且证明令牌是从STS发出的。

从概念上讲,我知道如果STS用它的私钥加密(或签名)令牌,我可以使用公钥解密(或验证签名)。

根据我的理解,我使用的STS(ThinkTecture Identity Server)使用对称签名密钥签署令牌。

我收到的SessionSecurityToken包含一个SecurityKeys属性。什么代表这个SecurityKeys? MSDN文档告诉:“获取与此会话关联的密钥。这通常是一个密钥。”

是我的STS使用的SymmetricKey吗?如果是这样,则意味着对称密钥没有得到很好的保护,如果有人获得此密钥,他可以伪造一个令牌。

是令牌签名吗?如果是这样,我如何验证签名(假设我有对称密钥)?

有哪些其他有用的信息可以帮助我理解我们验证SessionSecurityToken的方式?

1 个答案:

答案 0 :(得分:0)

首先,STS不发布会话令牌。他们发布(我猜你使用WS-Fed)一个SAML令牌。此令牌使用X.509证书签名。

然后,依赖方获取传入的SAML令牌并将其转换为会话令牌并将其写入cookie。

那你为什么要验证呢?这是由SAM自动完成的。