0

STS によって発行された SessionSecurityToken を検証したいと考えています。検証とは、トークンが細工されていないことを証明し、トークンが STS から発行されたことを確認することを意味します。

概念的には、STS が秘密鍵を使用してトークンを暗号化 (または署名) する場合、公開鍵を使用して復号化 (または署名を検証) できることがわかっています。

私が理解していることから、私が使用している STS (ThinkTecture Identity Server) は対称署名鍵を使用してトークンに署名します。

受け取った SessionSecurityToken には、SecurityKeys プロパティが含まれています。この SecurityKeys を表すものは何ですか? MSDN のドキュメントでは、「このセッションに関連付けられたキーを取得します。これは通常、単一のキーです。」

STS で使用される SymmetricKey ですか? もしそうなら、それは対称鍵が十分に保護されていないことを意味し、誰かがこの鍵を取得した場合、トークンを偽造することができます.

それはトークン署名ですか?もしそうなら、どうすれば署名を検証できますか (対称鍵を持っていると仮定して)?

SessionSecurityToken を検証する方法を理解するのに役立つその他の有用な情報はありますか?

4

1 に答える 1

0

まず、STS はセッション トークンを発行しません。SAMLトークンを発行します(WS-Fedを使用していると思います)。このトークンは X.509 証明書で署名されています。

証明書利用者は、受信した SAML トークンを取得してセッション トークンに変換し、それを Cookie に書き込みます。

では、なぜそれを検証したいのですか?これは、SAM によって自動的に行われます。

于 2013-04-26T16:40:00.820 に答える