對稱加密
客戶端和服務端都用相同的密鑰進行加密通信。
優點:性能好,簡潔迅速。
缺點:但是首次通信如何將密鑰傳輸給客戶端而不被截獲。
非對稱加密
私鑰只能用公鑰解密,公鑰只能用私鑰解密
服務端有自己的私鑰,將公鑰傳輸給客戶端,客戶端的信息通過公鑰加密傳給服務端,服務端解密回復。
優點:客戶端的信息不會被他人讀取。
缺點:服務端的信息人人可以截獲,並且可以偽裝成服務端。
數字證書
服務端用自己的私鑰生成公鑰,並且在權威機構認證,證書中包含了公鑰和所有者
客戶端在權威機構下載了之后,可以確定這個公鑰和所有者是否對應,將這個公鑰加密自己的公鑰和私鑰,傳給服務端,
服務端得到客戶端公鑰和私鑰后,將自己的私鑰通過客戶端的公鑰加密,傳送給客戶端
這樣,客戶端和服務端都有了各自的公鑰私鑰,通信時都用對方的公鑰加密,保證了安全性。
缺點:性能不如對稱加密好。
HTTPS工作模式
公鑰和私鑰用於傳輸對稱加密的密鑰,以后都是用這個對稱密鑰。