Public-Key

如果 CSR 在發送到 CA 時在傳輸過程中被截獲怎麼辦?

  • June 20, 2020

前幾天我在學習 PKI,我認真思考了以下問題。

什麼是企業社會責任? - 它是在申請驗證請求方身份的 SSL 證書時提供給 CA 的編碼文本塊。建構 CSR 的過程是,

  1. 必須填寫包含專有名稱的證書請求資訊值(純文字)。即通用名稱、組織、OU、城市、州、電子郵件地址和公鑰。
  2. 上面的證書請求資訊值是用主題實體的私鑰簽名的。即數字簽名。
  3. 證書請求資訊值、簽名算法標識符和實體的數字簽名一起收集到 CSR 中。

因此,基本上 CSR 包含有關請求方的數字簽名純文字資訊、純文字資訊和簽名算法。

我的問題是**,如果中間人更改了 CSR 中的電子郵件地址但實際上保持了公鑰完好無損**怎麼辦?

這樣,當 CSR 到達 CA 時,CA 將從純文字資訊中獲取公鑰並解密簽名資訊,從而假設沒有進行篡改。那麼,有沒有辦法防止這種攔截或我的理解不正確?

通常 CSR 不需要保密。CSR 由申請人的私鑰簽名。如果攻擊者截獲 CSR,更改電子郵件地址並在 CA 上發送 CSR,CA 將拒絕它,因為簽名與 CSR 的內容不匹配。如果攻擊者用攻擊者的私鑰對修改後的 CSR 進行簽名,簽名仍然無效,因為它不能被 CSR 中包含的公鑰驗證。

以下是對驗證過程的簡短說明:RSA 簽名驗證如何工作?.

要使用更改後的電子郵件簽署 CSR,需要申請人的私鑰。如果申請人妥善保存了私鑰,那麼攻擊者就無法獲得它,也無法使用另一封電子郵件創建有效的 CSR。

TLDR

CA 將認為更改後的 CSR 無效,因為攻擊者無法創建有效簽名。

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