Pki

PKI 驗證 - 公鑰與身份證書的有用性

  • August 31, 2018

我對 PKI 的工作原理有一些了解,類似於: - https://knowledge.digicert.com/solution/SO16297.html

對我來說不明顯的是如何使用鏈末端的公鑰或身份證書。以前 RSA 可能已用於加密,或用作對稱密碼密鑰的密鑰交換,但 ECDHE 似乎是密鑰交換的現代原語。

我的猜測是證書也是由自身簽名的,以及鏈中的中間體和根。這對我來說很有意義,因為在我看來,任何人都可以以各種方式使用證書,但是如果使用身份的私鑰簽名,那就是額外的檢查。否則,我會認為身份私鑰毫無用處。

大多數解釋對於如何評估鏈非常簡單,我想要一些細節。

所以我的問題 - 身份證書是否也由自己簽名?我上面的邏輯站得住腳嗎?

證書是公鑰/私鑰對和身份之間的綁定。本質上,它是一個說明:

The public key [here] is owned by Alice,
- Your friendly neighborhood CA.

現在,如果 Alice 在協議中將她的證書傳遞給您,那麼(如果您信任友好的鄰居 CA)您就知道 Alice 的公鑰。

現在,您的問題是“然後呢?”。顯然,為了讓 Bob 知道他正在與 Alice 交談,她需要做的是用她的私鑰做一些事情來表明她知道它(因此,根據證書,Bob 知道他確實在與 Alice 交談) .

對於 SSL(和早期版本的 TLS),她的公鑰將是加密密鑰;Bob 會選擇一個值(“premaster secret”)並用 Alice 的公鑰(他從證書中獲得)對其進行加密;如果對方可以解密,她必須擁有私鑰(因此必須是 Alice)。

現在,對於更高版本的 TLS,它的工作方式有所不同。證書中的公鑰實際上是一個簽名密鑰。Alice 和 Bob 使用 ECDH(或 DH)來選擇密鑰;然後 Alice 簽署了交換的成績單,並將其發送給 Bob。Bob 擁有 Alice 的公鑰(同樣,來自證書),並且他知道他身邊的成績單;他驗證簽名;如果成功,他就知道對方是愛麗絲(而且中間的人沒有調整任何東西;如果他們做了,簽名驗證就會失敗)。

另外,為了解決您實際提出的問題:

所以我的問題 - 身份證書是否也由自己簽名?

不,這不對。真的沒有什麼意義。這樣的簽名不會阻止任何特定的攻擊。

引用自:https://crypto.stackexchange.com/questions/61941