2009-06-02 177 views
2

我正在開發一個使用ssl(openssl)在客戶端與服務器之間建立安全通信通道的客戶端服務器應用程序。我相信我現在有兩種選擇可以在客戶端和服務器之間進行安全的數據傳輸。一種選擇是繼續在客戶端和服務器之間建立的安全SSL通道上進行數據傳輸,即使加密/解密過程由於使用非對稱密鑰而速度較慢。另一種選擇是在對稱密鑰交付給客戶端後,在ssl通道上傳輸對稱密鑰並關閉ssl通道。之後的通信將在使用對稱密鑰的常規TCP信道上發生,我相信這將比使用非對稱密鑰快得多。這種方法有什麼缺點嗎?對稱密鑰方法顯而易見的一件事是密鑰管理的過程,我想通過不在客戶端存儲密鑰來處理密鑰管理。對稱密鑰將在通過SSL通道啓動時傳遞給客戶端。密鑰將不會存儲在客戶端中。有什麼想法嗎?對稱加密密鑰與非對稱密鑰-ssl

回答

7

你在混淆。 Ssl使用非對稱密鑰(在證書中定義)在客戶端和服務器之間傳遞自動生成的對稱密鑰。然後在整個安全會話(通道)中使用這個對稱密鑰。

所以基本上,你在使用ssl時已經有了快速的對稱加密。唯一的非對稱加密發生在通信的最初階段。

不要試圖自己管理你的對稱密鑰。不起作用。

+0

會話密鑰永遠不會被加密,也不會被髮送。它總是談判。 RFC 2246#8.1。 – EJP 2017-02-07 22:18:28

2

繼續使用SSL連接,因爲SSL在初始階段後使用對稱密碼。

0

一種選擇是繼續在客戶端和服務器之間建立的安全SSL通道上進行數據傳輸,即使加密/解密過程由於使用了非對稱密鑰而會很慢。

不,它不會。 SSL使用對稱加密。

另一種選擇是在對稱密鑰交付給客戶端後,在ssl通道上傳輸對稱密鑰並關閉ssl通道。

只要會話已完成,客戶端和服務器就已具有對稱加密密鑰。這隻會是多餘的。

這裏沒有問題要解決。