我正在開發一個使用ssl(openssl)在客戶端與服務器之間建立安全通信通道的客戶端服務器應用程序。我相信我現在有兩種選擇可以在客戶端和服務器之間進行安全的數據傳輸。一種選擇是繼續在客戶端和服務器之間建立的安全SSL通道上進行數據傳輸,即使加密/解密過程由於使用非對稱密鑰而速度較慢。另一種選擇是在對稱密鑰交付給客戶端後,在ssl通道上傳輸對稱密鑰並關閉ssl通道。之後的通信將在使用對稱密鑰的常規TCP信道上發生,我相信這將比使用非對稱密鑰快得多。這種方法有什麼缺點嗎?對稱密鑰方法顯而易見的一件事是密鑰管理的過程,我想通過不在客戶端存儲密鑰來處理密鑰管理。對稱密鑰將在通過SSL通道啓動時傳遞給客戶端。密鑰將不會存儲在客戶端中。有什麼想法嗎?對稱加密密鑰與非對稱密鑰-ssl
2
A
回答
7
你在混淆。 Ssl使用非對稱密鑰(在證書中定義)在客戶端和服務器之間傳遞自動生成的對稱密鑰。然後在整個安全會話(通道)中使用這個對稱密鑰。
所以基本上,你在使用ssl時已經有了快速的對稱加密。唯一的非對稱加密發生在通信的最初階段。
不要試圖自己管理你的對稱密鑰。不起作用。
2
繼續使用SSL連接,因爲SSL在初始階段後使用對稱密碼。
0
一種選擇是繼續在客戶端和服務器之間建立的安全SSL通道上進行數據傳輸,即使加密/解密過程由於使用了非對稱密鑰而會很慢。
不,它不會。 SSL使用對稱加密。
另一種選擇是在對稱密鑰交付給客戶端後,在ssl通道上傳輸對稱密鑰並關閉ssl通道。
只要會話已完成,客戶端和服務器就已具有對稱加密密鑰。這隻會是多餘的。
這裏沒有問題要解決。
相關問題
- 1. 非對稱加密密鑰
- 2. 加密 - 對稱密鑰
- 3. 加密(對稱密鑰)lib
- 4. 非對稱密鑰切換的對稱密鑰
- 5. 非對稱密鑰系統?
- 6. OpenSSL對稱密鑰與.NET對稱密鑰 - 不匹配
- 7. 對稱和公鑰加密
- 8. 使用對稱密鑰加密數組
- 9. 對稱加密密鑰交換
- 10. 對稱密鑰加密算法
- 11. 對稱加密密鑰通過行爲
- 12. SSL對稱密鑰存儲在哪裏?
- 13. 不對稱和對稱密鑰存儲
- 14. 帶對稱密鑰的RSA
- 15. 保護對稱密鑰
- 16. 對稱密鑰存儲
- 17. 交換對稱密鑰
- 18. 對稱密鑰生成
- 19. 智能卡非對稱密鑰生成
- 20. 與非對稱密鑰解密XML失敗,InvalidCastException的.NET中
- 21. SQL加密 - 非對稱密鑰 - 第二服務器
- 22. 如何生成由對稱密鑰加密的PKCS8私鑰?
- 23. 非對稱加密
- 24. 非對稱加密
- 25. 私鑰解密對稱密鑰,但在對稱密鑰聯網時給出不同結果?
- 26. 只用一個密鑰在密鑰中查找密鑰名稱?
- 27. 如何在Java中使用ECC對密鑰進行非對稱加密?
- 28. 如何在Java非對稱加密中保存和重用密鑰對?
- 29. Java加密:從文件加載對稱密鑰
- 30. 結合對稱和非對稱加密
會話密鑰永遠不會被加密,也不會被髮送。它總是談判。 RFC 2246#8.1。 – EJP 2017-02-07 22:18:28