Key-Exchange

TLS 可以簡單地用於使用握手協議交換密鑰嗎?

  • November 6, 2020

據我了解,一般來說,TLS 由兩個協議組成:

1 - 握手協議:使用公鑰加密(ECDH,DH)在客戶端和伺服器之間建立共享秘密。

2 - 記錄協議:使用握手協議中建立的共享秘密來保護客戶端和伺服器之間的通信或應用程序數據

假設我想加密數據,然後使用隱寫術將加密數據隱藏在圖像中,然後我想使用握手協議與伺服器交換使用的密鑰,但我不想使用記錄協議發送隱寫圖像,因為它會破壞目的。

那麼,我可以簡單地完成握手協議然後斷開連接嗎?

1 - 握手協議:使用公鑰加密(ECDH,DH)在客戶端和伺服器之間建立共享秘密。

握手協議還用於建立密碼套件、一些配置參數和(通常)執行實體身份驗證等。

那麼,我可以簡單地完成握手協議然後斷開連接嗎?

共享密鑰僅用於建立會話密鑰,並且可能在建立後被銷毀。

如果您斷開連接,共享密鑰也應該被實現銷毀。

會話密鑰是 TLS 特定的,因此通常無法從 TLS API 獲得。


因此,您可以使用部分 TLS 握手來建立共享密鑰,但如果您將會話密鑰用於其他任何事情,您將超出協議規範。如果您使用 TLS 實現,您可能需要對其進行更改以獲取正確的密鑰材料。

在您的情況下,最好簡單地從協議中提取相關位並使用它來定義您自己的。當然,這不利於不使用 DIY 密碼學,但我想你已經超過了那個危險的門檻……

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