目錄
一:什麼是HTTPS協議?
二:客戶端與服務端如何創建HTTPS協議鏈接?
三:證書、加密協議、信息摘要、簽名算法概念解釋與關係梳理
四:低版本操做系統做爲客戶端發送HTTPS失敗分析
五:參考資料
一:什麼是HTTPS協議?
HTTPS協議有兩部分組成:HTTP + SSL / TLS,通常來講,SSL主要完成兩件事:身份認證和數據加密 ,身份認證保證客戶端請求服務端是真實可信的,數據加密保證數據傳遞的安全性,SSL協議在TCP協議和HTTP協議之間(HTTP->SSL->TCP->IP),第一次身份認證採用非對稱加密,後續握手環節採用對稱加密機制(節省性能開支)。
二:客戶端與服務端如何創建HTTPS協議鏈接?
1:Server部署HTTPS(經過WEB服務器導入證書),這份證書包含了一對公鑰和私鑰,Client請求 Server,Server響應給Client證書信息;
2:Client的TLS驗證證書信息(頒發機構、有效期、公鑰有效性),驗證失敗作安全提示,驗證成功 則生成一個隨機值,而後用證書對隨機值加密,傳給Server(隨機值用於後續鏈接的加解密憑證);
3:Server用私鑰解密獲得隨機值,而後把須要傳遞的數據經過該值作對稱加密,後續的數據交換採 用一樣方式處理;
三次握手至關於混合試用了非對稱加密(生成簽名密鑰)和對稱加密,再保證數據一致性和安全性的前提下減小性能開支。
三:證書、加密協議、信息摘要、簽名算法概念解釋與關係梳理
1:數字證書
CA證書頒發機構頒發的用於簽名驗證的文件,主要用於客戶端和服務端創建HTTPS鏈接的身 份認證過程,證書中包含了頒發機構、合法域名來源、有效期,若是該證書不是CA授信機構頒發的,客戶端會有安全提醒彈窗,證書本質上是服務端給客戶端提供了公鑰,客戶端用來生成隨機串傳給服務端 ;
2:SSL/TSL協議
Netscape公司設計的主要用於WEB安全傳輸協議,提供身份認證和數據加密的規則,TSL1.0是創建在SSLV3版本的新協議,;
3:SHA/SHA2
信息摘要算法,用於簽名驗證(對稱加密)保證數據一致性;
RSA256:
數據加密算法(非對稱加密),用於保護數據安全;
4:關係梳理
客戶端證書和TLS協議在WEB服務器配置,客戶端證書也能夠用程序自定義生成和使用,信息摘算法在操做系統的組件中(WIN系統:Win32 crypto service CryptSignHash 函數)。
四:低版本操做系統做爲客戶端發送HTTPS失敗分析:
國際慣例是2016年1月1日起中止簽發SHA1簽名算法的各類證書,低版本操做系統(XP2003 SP2內、 Server2003 SP2內)不支持SHA256信息摘要算法,客戶端請求服務端(使用SHA2)就會超時錯誤,解決方案是給客戶端系統打補丁(KB968730或KB938397或SP3補丁);