日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

簡述

本文主要介紹HTTPS以及SSL單向驗證和雙向驗證。

HTTPS介紹

HTTPS是一種通過計算機網(wǎng)絡進行安全通信的傳輸協(xié)議,經(jīng)由HTTP進行通信,利用SSL/TLS建立安全信道,加密數(shù)據(jù)包。HTTPS使用的主要目的是提供對網(wǎng)站服務器的身份認證,同時保護交換數(shù)據(jù)的安全性與完整性。

HTTP介紹

HTTP是超文本傳輸協(xié)議,是一個基于請求與響應、無狀態(tài)的、應用層的協(xié)議,常基于TCP/IP協(xié)議傳輸數(shù)據(jù),互聯(lián)網(wǎng)上應用最為廣泛的一種網(wǎng)絡協(xié)議,所有的WWW文件都必須遵守這個標準。

SSL/TLS介紹

TLS在傳輸層對網(wǎng)絡連接進行加密,前身是SSL協(xié)議,由網(wǎng)景公司1995年發(fā)布,用以保障數(shù)據(jù)在Internet上安全地進行傳輸,利用數(shù)據(jù)加密(Encryption)技術,確保數(shù)據(jù)在網(wǎng)絡傳輸過程中不會被截取或竊聽。

數(shù)據(jù)加密用到了對稱加密非對稱加密,TCP協(xié)議建立傳輸連接時,SSL首先對對稱加密的密鑰使用非對稱加密的公鑰進行非對稱加密,連接建立好之后,SSL對傳輸內(nèi)容使用對稱加密。

對稱加密,速度高,可加密內(nèi)容較大,用來加密會話過程中的消息。

非對稱加密,加密速度較慢,但能提供更好的身份認證技術,用來加密對稱加密的密鑰。

OSI模型

HTTPS和HTTP協(xié)議位于應用層,SSLTLS協(xié)議位于傳輸層與應用層之間,TCP協(xié)議位于傳輸層,IP協(xié)議位于網(wǎng)絡層。如下圖所示:

一文讀懂HTTPS以及SSL單向驗證和雙向驗證

圖 1 協(xié)議模型

SSL單向驗證

客戶端執(zhí)行HTTPS請求時,需要由TCP協(xié)議建立和釋放連接。這就涉及TCP協(xié)議的三次握手和四次揮手。想要了解一文讀懂TCP三次握手工作原理及面試常見問題匯總和一文讀懂TCP四次揮手工作原理及面試常見問題匯總的同學,請點擊鏈接查看。

TCP連接建立好后,對于HTTP而言,服務器就可以發(fā)送數(shù)據(jù)給客戶端。但是對于HTTPS,它還要運行SSL/TLS協(xié)議,SSL/TLS協(xié)議分兩層,第一層是記錄協(xié)議,主要用于傳輸數(shù)據(jù)的加密壓縮;第二層是握手協(xié)議,它建立在第一層協(xié)議之上,主要用于數(shù)據(jù)傳輸前的雙方身份認證、協(xié)商加密算法、交換密鑰。

SSL單向驗證流程:

一文讀懂HTTPS以及SSL單向驗證和雙向驗證

圖 2 SSL單向驗證流程

SSL單向驗證總共有四步

1) 第一步,客戶端向服務器端發(fā)起Client Hello,請求內(nèi)容包括:

a. 客戶端支持的SSL/TLS協(xié)議版本列表;

b. 客戶端支持的對稱加密算法列表;

c. 客戶端生成的隨機數(shù)A;

2) 第二步,服務器端回應客戶端Server Hello,回應內(nèi)容包括:

a. 雙方都支持的SSL/TLS協(xié)議版本;

b. 雙方都支持的對稱加密算法;

c. 服務器密鑰庫中的證書;

d. 服務器端生成的隨機數(shù)B;

3) 第三步,客戶端收到服務器端回應,客戶端檢查服務器端證書是否合法,驗證內(nèi)容如下:

a. 服務器端證書是否過期;

b. 服務器端證書是否被吊銷;

c. 服務器端證書是否可信;

d. 服務器端證書域名和客戶端請求域名是否一致。

驗證通過后,客戶端回應服務器端,回應內(nèi)容包括:

a. 客戶端生成一個"隨機數(shù)C","隨機數(shù)C"也被稱為"pre-master-key",然后使用服務器端證書中的公鑰加密"隨機數(shù)C",將加密后的"隨機數(shù)C"發(fā)送給服務器端;

4) 第四步,服務器端使用密鑰庫中的私鑰解密加密后的"隨機數(shù)C"得到"隨機數(shù)C",此時客戶端和服務器端都拿到了隨機數(shù)A、隨機數(shù)B、隨機數(shù)C,雙發(fā)通過這3個隨機數(shù)使用相同的密鑰交換算法計算得到相同的對稱加密密鑰,這個對稱加密密鑰就作為客戶端和服務器端數(shù)據(jù)傳輸時對稱加密使用的密鑰。

服務器端和客戶端,握手結束,之后就可以用對稱加密傳輸數(shù)據(jù)了。

SSL雙向驗證

SSL單向驗證過程中,客戶端會驗證自己訪問的服務器端,服務器端對客戶端不做驗證。如果服務器端驗證客戶端,則需要開啟服務器端驗證,這就是雙向驗證。

SSL雙向驗證和單向驗證的不同之處在于:

a. 第二步中服務器端第一次回應客戶端的Server Hello消息中,會要求客戶端提供客戶端證書;

b. 第三步中客戶端驗證完服務器端證書后,回應的內(nèi)容中,會增加兩個信息:

a) 客戶端證書;

b) 客戶端證書驗證消息(CertificateVerify message):客戶端將之前所有收到的和發(fā)送的消息組合起來,并用hash算法得到一個hash值,然后用客戶端密鑰庫的私鑰對這個hash進行簽名,這個簽名就是CertificateVerify message;

c. 服務器端收到客戶端證書后,會做如下處理:

a) 確認客戶端發(fā)送的證書是有效合法的;

b) 用客戶端證書中的公鑰驗證收到信息中的簽名,以確定這個證書是客戶端發(fā)出的;

服務器端和客戶端,握手結束,之后就可以用對稱加密傳輸數(shù)據(jù)了。

 

ok,以上就是一文讀懂HTTPS以及SSL單向驗證和雙向驗證,看完記得轉發(fā)、點贊和收藏。如果有錯誤,歡迎批評指正,感謝。

(云渺書齋)

分享到:
標簽:HTTPS
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定