日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
一文讀懂HTTPS以及SSL單向驗(yàn)證和雙向驗(yàn)證

 [[326864]]

簡(jiǎn)述

本文主要介紹HTTPS以及SSL單向驗(yàn)證和雙向驗(yàn)證。

HTTPS介紹

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

HTTP介紹

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

SSL/TLS介紹

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

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

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

非對(duì)稱加密,加密速度較慢,但能提供更好的身份認(rèn)證技術(shù),用來(lái)加密對(duì)稱加密的密鑰。

OSI模型

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

 

 

圖 1 協(xié)議模型

SSL單向驗(yàn)證

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

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

SSL單向驗(yàn)證流程:

 

 

圖 2 SSL單向驗(yàn)證流程

SSL單向驗(yàn)證總共有四步

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

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

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

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

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

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

b. 雙方都支持的對(duì)稱加密算法;

c. 服務(wù)器密鑰庫(kù)中的證書(shū);

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

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

a. 服務(wù)器端證書(shū)是否過(guò)期;

b. 服務(wù)器端證書(shū)是否被吊銷;

c. 服務(wù)器端證書(shū)是否可信;

d. 服務(wù)器端證書(shū)域名和客戶端請(qǐng)求域名是否一致。

驗(yàn)證通過(guò)后,客戶端回應(yīng)服務(wù)器端,回應(yīng)內(nèi)容包括:

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

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

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

SSL雙向驗(yàn)證

SSL單向驗(yàn)證過(guò)程中,客戶端會(huì)驗(yàn)證自己訪問(wèn)的服務(wù)器端,服務(wù)器端對(duì)客戶端不做驗(yàn)證。如果服務(wù)器端驗(yàn)證客戶端,則需要開(kāi)啟服務(wù)器端驗(yàn)證,這就是雙向驗(yàn)證。

SSL雙向驗(yàn)證和單向驗(yàn)證的不同之處在于:

a. 第二步中服務(wù)器端第一次回應(yīng)客戶端的Server Hello消息中,會(huì)要求客戶端提供客戶端證書(shū);

b. 第三步中客戶端驗(yàn)證完服務(wù)器端證書(shū)后,回應(yīng)的內(nèi)容中,會(huì)增加兩個(gè)信息:

a) 客戶端證書(shū);

b) 客戶端證書(shū)驗(yàn)證消息(CertificateVerify message):客戶端將之前所有收到的和發(fā)送的消息組合起來(lái),并用hash算法得到一個(gè)hash值,然后用客戶端密鑰庫(kù)的私鑰對(duì)這個(gè)hash進(jìn)行簽名,這個(gè)簽名就是CertificateVerify message;

c. 服務(wù)器端收到客戶端證書(shū)后,會(huì)做如下處理:

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

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

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


本文題目:一文讀懂HTTPS以及SSL單向驗(yàn)證和雙向驗(yàn)證
網(wǎng)址分享:http://m.5511xx.com/article/cdgijpd.html