背景
HTTPS并不是一個(gè)全新的協(xié)議,而是為了保證網(wǎng)絡(luò)通信的數(shù)據(jù)安全,在HTTP的基礎(chǔ)上加上了安全套件SSL的一個(gè)數(shù)據(jù)通信協(xié)議。
HTTP協(xié)議全稱(chēng)為HyperText Transfer Protocol即超文本傳輸協(xié)議,是客戶(hù)端瀏覽器與Web服務(wù)器之間的應(yīng)用層通信協(xié)議。HTTPS協(xié)議全稱(chēng)為HyperText Transfer Protocol over Secure Socket Layer即基于SSL層的超文件傳輸協(xié)議,HTTPS的安全是通過(guò)SSL實(shí)現(xiàn)的,數(shù)據(jù)傳輸是依賴(lài)HTTP。
一、HTTP傳輸風(fēng)險(xiǎn)
由于HTTP為明文傳輸所以存在一下安全風(fēng)險(xiǎn):
1.1 竊聽(tīng)風(fēng)險(xiǎn):第三方窺探通信內(nèi)容
1.2 篡改風(fēng)險(xiǎn):第三方修改通信內(nèi)容
1.3 冒充風(fēng)險(xiǎn):第三方冒充其他身份進(jìn)行通信
二、HTTPS通信過(guò)程
為了解決通信安全問(wèn)題,HTTPS加入了SSL/TSL安全通信組件,SSL/TSL采用數(shù)字證書(shū)、非對(duì)稱(chēng)加密和對(duì)稱(chēng)加密來(lái)保證通信安全。
1.通信過(guò)程
a.客戶(hù)端向服務(wù)端發(fā)起通信請(qǐng)求
b.服務(wù)端返回SSL/TSL證書(shū),其中包括服務(wù)端的公鑰和CA機(jī)構(gòu)信息等
c.客戶(hù)端需要驗(yàn)證證書(shū)的有效性,并從證書(shū)中提取服務(wù)端公鑰
d.客戶(hù)端與服務(wù)端協(xié)商接下來(lái)通信過(guò)程中的對(duì)稱(chēng)加密算法和對(duì)稱(chēng)密鑰,內(nèi)容需要用服務(wù)端的公鑰進(jìn)行加密
e.服務(wù)端用私鑰對(duì)客戶(hù)端發(fā)來(lái)的信息用服務(wù)端私鑰解密,然后保存對(duì)稱(chēng)加密算法和對(duì)稱(chēng)密鑰,然后返回用對(duì)稱(chēng)密鑰加密后返回信息給客戶(hù)端,告知已經(jīng)收到密鑰
接下來(lái)客戶(hù)端和服務(wù)端就用協(xié)調(diào)之后的對(duì)稱(chēng)密鑰進(jìn)行加密通信。
2.證書(shū)驗(yàn)證
驗(yàn)證證書(shū)主要是確定證書(shū)的真實(shí)和未篡改,而證書(shū)的驗(yàn)證需要用到CA的公鑰,而CA的公鑰有需要安全傳遞,仿佛進(jìn)入了一個(gè)循環(huán)。因此需要一個(gè)統(tǒng)一的信任的第三方,因?yàn)榇瞬僮飨到y(tǒng)會(huì)預(yù)制安裝一些根證書(shū),根證書(shū)是可以完全信任的,因此根據(jù)授權(quán)樹(shù)形結(jié)構(gòu)向上查找CA直到根證書(shū),然后逐級(jí)驗(yàn)證即可驗(yàn)證當(dāng)前證書(shū)的有效性。
其中CA證書(shū)授權(quán)中心可以認(rèn)為是一個(gè)樹(shù)形結(jié)構(gòu),服務(wù)端只要向其中任意一個(gè)CA申請(qǐng)證書(shū)即可,申請(qǐng)證書(shū)需要提交公鑰,私鑰自己保存。CA會(huì)用CA自己的私鑰對(duì)證書(shū)內(nèi)容進(jìn)行簽名【保證來(lái)源和信息不篡改】。
當(dāng)客戶(hù)端拿到服務(wù)端返回的服務(wù)端證書(shū)時(shí),需要根據(jù)證書(shū)的發(fā)放授權(quán)中心,找到此授權(quán)中心的公鑰/證書(shū),不斷向上尋找,直到找到系統(tǒng)預(yù)制的根證書(shū),此根證書(shū)的公鑰認(rèn)為是可靠的。根據(jù)根CA的公鑰對(duì)下級(jí)證書(shū)進(jìn)行逐級(jí)驗(yàn)證,最后即可驗(yàn)證服務(wù)端證書(shū)正確性。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-507242.html
參考
1.深度解析HTTPS原理
2.HTTPS數(shù)字證書(shū)與驗(yàn)證文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-507242.html
到了這里,關(guān)于網(wǎng)絡(luò)安全通信HTTPS原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!