簡體   English   中英

如何將X509SecurityToken用作ActAs令牌並驗證調用方是否具有私鑰?

[英]How do I use X509SecurityToken as an ActAs token and verify that the caller has the private key?

我已經實現了一個STS,它允許客戶端使用X509證書進行身份驗證。 WIF(現在內置於.NET 4.5中)具有一個X509SecurityToken類,該類對於這種情況似乎非常適用。 就我而言,我也想傳遞一個ActAs令牌,但在我看來,盡管已對ActAs令牌進行了驗證(通過不同的令牌處理程序集合),但對於X509SecurityToken ,此驗證不能證明調用方擁有私有令牌。密鑰,就像將令牌用作消息憑據時一樣。

有沒有辦法解決? 如何要求ActAs令牌證明其具有私鑰?

出示公鑰或X509證書並不能證明我是私鑰的持有人。
那不是目的。

但是簽名證書也不能證明我是私鑰的持有者。

如果我給您發送了喬治·W的親筆簽名照片,並且您確認簽名是真實的並且照片是喬治·W,這是否證明我是喬治·W?

驗證我是喬治W的方式是,您向我發送隨機挑戰(在過去,它被稱為nounce),然后用我的私鑰對其進行簽名。
然后,您可以使用公共密鑰(通過x509證書)驗證簽名。
證書的目的是識別具有證書的實體,而不是私鑰的持有者。
它確實不能驗證我是喬治·W。
它只是驗證我是否擁有私鑰。

確實,如果身份驗證是基於簽名證書的,那么您可以使用任何以誤導性身份進行身份驗證的服務器進行身份驗證,即假定簽名證書證明我是私鑰的持有者。

您的困惑不僅限於PKI,還包括一般的安全性。
為了加密通道,加密密鑰每隔x個時間周期更改一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM