https介紹
https = http + 一組對稱、非對稱和基於證書的加密技術
https是最常見的http安全版本。它得到了很廣泛的應用,所有主要的商業瀏覽器和伺服器都提供https。https將http協議與一組強大的對稱、非對稱和基於證書的加密技術結合在一起,使得https不僅很安全,而且很靈活,很容易在出於無序狀態的、分散的全球網際網路上進行管理
https與http連線過程區別
https的優勢:
通訊過程的hash生成的摘要,保證資料完整性
握手過程的非對稱加密,傳輸過程的對稱加密,保證資料私密性
證書保證雙方身份的真實性
https大致過程
建立伺服器443埠連線
ssl握手:隨機數,證書,金鑰,加密演算法
傳送加密請求
傳送加密響應
關閉ssl
關閉tcp
ssl握手大致過程:
客戶端傳送隨機數1,支援的加密方法(如rsa公鑰加密)
服務端傳送隨機數2,和伺服器公鑰,並確認加密方法
客戶端傳送用伺服器公鑰加密的隨機數3
伺服器用私鑰解密這個隨機數3,用加密方法計算生成對稱加密的金鑰給客戶端,
接下來的報文都用雙方協定好的加密方法和金鑰,進行加密
ssl握手詳細過程:
一、客戶端發出加密通訊請求clienthello
提供:
1,協議版本(如tsl1.0)
2,隨機數1(用於生成對話金鑰)
3,支援的加密方法(如rsa公鑰加密)
4,支援的壓縮方法
二、伺服器回應severhello
回應內容:
1,確認使用的加密通訊協議版本(tsl1.0)
2,隨機數2(用於生成對話金鑰)
3,確認加密方法(rsa)
4,伺服器證書(包含非對稱加密的公鑰)
5,(可選)要求客戶端提供證書的請求
三、客戶端驗證證書
如果證書不是可信機構頒布,或證書網域名稱與實際網域名稱不符,或者證書已經過期,就會向訪問者顯示乙個警告,是否繼續通訊
四、客戶端回應
證書沒有問題,就會取出證書中的伺服器公鑰
然後傳送:
1,隨機數3(pre-master key,此隨機數用伺服器公鑰加密,防止被竊聽)
2,編碼改變通知(表示隨後的資訊都將用雙方商定的方法和金鑰傳送)
3,客戶端握手結束通知
五、雙方生成會話金鑰
雙方同時有了三個隨機數,接著就用事先商定的加密方法,各自生成同一把「會話金鑰」
伺服器端用自己的私鑰(非對稱加密的)獲取第三個隨機數,會計算生成本次所用的會話金鑰(對稱加密的金鑰),如果前一步要求客戶端證書,會在這一步驗證
六、伺服器最後響應
伺服器生成會話金鑰後,向客戶端傳送:
1,編碼改變通知(後面的資訊都用雙方的加密方法和金鑰來傳送)
2,伺服器握手結束通知
至此,握手階段全部結束,接下來客戶端與伺服器進入加密通訊,用會話金鑰加密內容
SSL握手過程(訪問https)
1 客戶端的瀏覽器向伺服器傳送客戶端ssl協議的版本號 加密演算法的種類 產生的隨機數以及其他伺服器和客戶端之間通訊所需要的各種資訊 2 伺服器向客戶端傳送ssl協議的版本號 加密演算法的種類 產生的隨機數以及其他相關資訊,同時伺服器還向客戶端傳送自己的證書 3 客戶利用伺服器傳過來的資訊驗證伺服器...
https加密過程(SSL握手)
https在http的基礎上多了ssl加密層。https的加密過程也就是ssl的握手過程。mac金鑰相當於資料校驗,是為了保證資料完整性而存在的。ssl將資料流分割成記錄,每條記錄都會附上乙個mac,然後再對 記錄 mac值 進行加密。比如客戶端要向服務端傳送資料,對於資料的每個記錄,客戶端都會用它...
SSL 握手過程
出處 一 ssl握手有三個目的 1.客戶端與伺服器需要就一組用於 保護資料的演算法達成一致 2.它們需要確立一組由那些演算法所使用的 加密金鑰 3.握手還可以選擇 對客戶端進行認證。三 ssl記錄協議 3.1 記錄頭訊息 記錄頭資訊的工作就是為接收實現 receiving implementatio...