HTTPS = HTTP + 一組對稱、非對稱和基於證書的加密技術
HTTPS是最多見的HTTP安全版本。它獲得了很普遍的應用,全部主要的商業瀏覽器和服務器都提供HTTPS。HTTPS將HTTP協議與一組強大的對稱、非對稱和基於證書的加密技術結合在一塊兒,使得HTTPS不只很安全,並且很靈活,很容易在出於無序狀態的、分散的全球互聯網上進行管理算法
提供:
1,協議版本(如TSL1.0)
2,隨機數1(用於生成對話密鑰)
3,支持的加密方法(如RSA公鑰加密)
4,支持的壓縮方法瀏覽器
迴應內容:
1,確認使用的加密通訊協議版本(TSL1.0)
2,隨機數2(用於生成對話密鑰)
3,確認加密方法(RSA)
4,服務器證書(包含非對稱加密的公鑰)
5,(可選)要求客戶端提供證書的請求安全
若是證書不是可信機構頒佈,或證書域名與實際域名不符,或者證書已通過期,就會向訪問者顯示一個警告,是否繼續通訊服務器
證書沒有問題,就會取出證書中的服務器公鑰
而後發送:
1,隨機數3(pre-master key,此隨機數用服務器公鑰加密,防止被竊聽)
2,編碼改變通知(表示隨後的信息都將用雙方商定的方法和密鑰發送)
3,客戶端握手結束通知編碼
雙方同時有了三個隨機數,接着就用事先商定的加密方法,各自生成同一把「會話密鑰」
服務器端用本身的私鑰(非對稱加密的)獲取第三個隨機數,會計算生成本次所用的會話密鑰(對稱加密的密鑰),若是前一步要求客戶端證書,會在這一步驗證加密
服務器生成會話密鑰後,向客戶端發送:
1,編碼改變通知(後面的信息都用雙方的加密方法和密鑰來發送)
2,服務器握手結束通知blog
至此,握手階段所有結束,接下來客戶端與服務器進入加密通訊,用會話密鑰加密內容圖片