SSL/TLS協(xié)議
SSL/TLS是用于TCP協(xié)議上的基于安全數據傳輸為目的的協(xié)議, 它可以運用于TCP應用, http應用之上.
SSL年代比較久遠, TLS是SSL的后續(xù). 現(xiàn)在基于網絡安全,都會選擇TLS 1.2 以上版本.
TLS主要有2大功能, 當TCP協(xié)議結束3次握手建立連接, TLS會接入進行4次握手.
第一: 驗證通過證書的方式客戶端身份(可選), 并提供服務端證書給客戶端驗證服務端身份(客戶端可以選擇不檢查).
第二: 身份驗證通過后,基于協(xié)定好的秘鑰對接下來的數據傳輸做加密工作.
TLS運用場景
-
HTTP + TLS(HTTPS)服務, 開啟客戶端認證
這種場景適用于集群內部的運用, 相互認證連接端身份, 確??蛻舳撕头斩硕际羌簝鹊膶嵗?
一個cluster下有多個instances在running來保證應用的高可用, 每個instance間的通訊都會選擇客戶端和服務端雙向認證.
客戶端連接服務端時, 需要準備一下文件用于服務端檢查客戶端身份
1, 客戶端證書
如果客戶端證書是self-signed的證書, 需要把自簽名證書的CA導入到服務端的證書庫中, 或者服務端指定用此CA來驗證客戶端提供的自簽名證書
如果客戶端證書是公有機構signed的證書, 可以明確表明客戶端真實身份, 不需要CA
2, private key(public key在證書里面)
服務端獲取證書中public key, 配合private key進行客戶端的身份驗證.
同理客戶端檢查服務端身份
1, 選擇verify服務端身份
如果服務端證書是self-signed的證書, 需要提供自簽名證書的CA文件, 并CA導入到客戶端的證書庫中, 或者客戶端指定用此CA來驗證客戶端提供的自簽名證書
如果客戶端證書是公有機構signed的證書, 可以明確表明客戶端真實身份, 不需要CA提供
2, 放棄verify服務端身份
-
HTTP + TLS(HTTPS)服務, 關閉客戶端認證
客戶端檢查服務端身份
1, 選擇verify服務端身份
如果服務端證書是self-signed的證書, 需要提供自簽名證書的CA文件, 并CA導入到客戶端的證書庫中, 或者客戶端指定用此CA來驗證客戶端提供的自簽名證書
如果客戶端證書是公有機構signed的證書, 可以明確表明客戶端真實身份, 不需要CA提供
2, 放棄verify服務端身份
-
HTTP服務
這種運用基本上會越來越少存在安全隱患.
不需要提供任何數字證書