Tls

跟踪 SSL 數據包是否提供數據真實性的證明?

  • October 12, 2019

我想知道記錄整個 HTTPS 會話、發布其加密密鑰並將其呈現給第三方是否有意義,以證明該特定數據是由給定伺服器發送的,並使用一些簽名證書標識自己。這樣的證明可以以任何方式偽造嗎?這個證據是否應該說服接受它的第三方?

伺服器不對數據本身進行簽名。如果您使用的是基於簽名的套件,它只會對握手的一部分進行簽名。這意味著您可以向第三方證明發生了與某個伺服器的握手,以及在該握手中交換了哪些數據。

如果您使用的是 RSA 加密套件,它甚至不會對握手進行簽名,而是通過證明它可以解密使用其公鑰加密的客戶端選擇的密鑰來間接進行身份驗證。

實際連接使用對稱操作進行加密和身份驗證。任何知道這些對稱密鑰的人都可以偽造一個密文,用這些密鑰成功解密和驗證。因此,您無法證明交換了哪些數據。

總之,您最多可以證明握手發生了。如果您想要更強的證明,您可以使用對實際消息進行簽名的方案,例如 PGP。

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