Tls

客戶端何時在 PSK 模式下使用 TLS?

  • April 5, 2019

TLS 協議可以以不同的模式執行握手。生成新密鑰的新握手,或使用預共享密鑰 (PSK) 或在以前的版本中稱為會話恢復。

我的問題是:實際上,Web 瀏覽器等客戶端何時在 PSK 模式下使用 TLS?瀏覽器歷史中存在網站是否需要使用 PSK 模式?您能否列出客戶將使用 PSK 而不是交換新密鑰的情況?

網路上不使用預共享密鑰。使用非對稱加密公鑰基礎設施具有巨大的優勢:在任何時候都無需交換長期機密,所有安全性都依賴於一些公共值(根 CA 公鑰)。常用的 Web 瀏覽器不支持 PSK 密碼套件。

預共享密鑰適用於計算能力非常有限的嵌入式客戶端,它們只與極少數伺服器通信。對稱加密比非對稱加密便宜得多,因此它是與無法在合理時間內執行簽名或簽名驗證的設備進行安全通信的唯一方法,或者它會消耗太多保留的電池,或者沒有足夠的空間容納額外的程式碼。如果設備在其生命週期內只與極少數對等方通信,則它只需要儲存這些對等方的密鑰,因此 PKI 在這方面不會有優勢。在客戶端保存的內容在伺服器端是有代價的:伺服器需要儲存所有客戶端的密鑰,而不僅僅是一個私鑰。

如果使用 TLS 以外的協議進行某些密鑰交換或密鑰分發,則也可以使用預共享密鑰,然後將交換的對稱密鑰用於 TLS。我不認為這很常見。

瀏覽器確實使用會話恢復作為性能優化。會話恢復實際上等同於擁有一個預先共享的密鑰,但該密鑰是通過先前的 TLS 會話共享的。在 Web 上,原始會話始終使用非對稱加密。會話恢復意味著通信的一方或雙方儲存一些機密數據,可以從中導出下一個會話的密鑰。通常負擔在客戶端:伺服器向客戶端發送票證,這是一些加密和簽名的數據,客戶端儲存此票證和下一個會話的共享密鑰(TLS 術語中的預主密鑰)。為了恢復會話,客戶端將票據發送回伺服器,伺服器驗證簽名並解密票據以獲得預主密鑰的副本。

以這種方式保存會話保留了公鑰基礎設施的優勢。與任何基於混合密碼學的通信系統一樣,有效載荷使用對稱密鑰進行保護,對稱密鑰最終是使用基於非對稱密碼學的密鑰建立方法獲得的。客戶端確實有在會話之間安全地儲存密鑰的負擔,但是這種負擔變得更容易了,因為客戶端可以隨時進行故障保護並擦除會話數據:與 PSK 不同,擦除會話數據只是性能的一小部分損失- 僅意味著失去溝通能力的情況。

會話恢復是事後才添加到 TLS 1.0 中的。在 TLS 1.3 中,密鑰交換協議已經過修改,會話恢復現在與預共享密鑰合併。同樣的原則也適用:Web 瀏覽器只會使用 PSK 作為恢復以非對稱加密開始的會話的一種方式,而微型嵌入式系統可能只支持 PSK。

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