Signature
如何使用 OpenSSL 證明不可否認性
如果我下載https://example.com/foo.txt>,我如何向第三方證明我是從<https://example.com獲得的。
我了解他們的私鑰用於保護頻道,而不是對 URL 的內容進行簽名。
有沒有辦法下載https://example.com/foo.txt並提供我的 foo.txt 是從https://example.com獲得的證據鏈?
好吧,簡單的事實是:您不能使用加密來進行不可否認性。
充其量,加密技術證明了真實性:
- 對於 AEAD 和獨立消息認證程式碼,這是通過 MAC 標籤實現的。
- 對於公鑰加密和密鑰交換,這是通過填充和密鑰確認來完成的。
即使您從伺服器獲得了完整的傳輸記錄,反證方仍然可以使用與傳輸記錄關聯的對稱密鑰將傳輸的內容替換為自己的,因此無法進行不可否認性。
更重要的是,不可否認性是源自公鑰所有者的可轉移的真實性和完整性證明。這種可轉移性不是僅通過加密就可以實現的——您需要為此進行數字簽名。