成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HTTPS是怎么保證安全的?

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
HTTPS這并不是應(yīng)用層的一種新協(xié)議。只是HTTP通信接口部分使用SSL(安全套階層)和TLS(安全傳輸層協(xié)議)協(xié)議代替而已。

[[409906]]

本文轉(zhuǎn)載自微信公眾號(hào)「碼工是小希」,作者碼工是小希。轉(zhuǎn)載本文請(qǐng)聯(lián)系碼工是小希公眾號(hào)。

"噔噔噔......"傳來(lái)一陣敲門(mén)聲,把我從睡夢(mèng)中驚醒了。

朦朧間聽(tīng)到有人在說(shuō)活"提莫,在家不?”

“來(lái)了來(lái)了”,推門(mén)一看,原來(lái)是“李青”。

「李青」:自稱(chēng)武術(shù)大師,所有因?yàn)樗察o冥想的舉動(dòng)而掉以輕心敵人都將會(huì)品嘗他燃燒的拳頭和熾烈的回旋踢,人送外號(hào)“盲僧”。

 

瞧瞧HTTPS

「提莫」:HTTPS這并不是應(yīng)用層的一種新協(xié)議。只是HTTP通信接口部分使用SSL(安全套階層)和TLS(安全傳輸層協(xié)議)協(xié)議代替而已。

 

HTTP是直接和TCP通信的。如果你用SSL,就變成先和SSL通信,SSL再和TCP通信了。簡(jiǎn)單來(lái)說(shuō),與SSL組合使用的HTTP被稱(chēng)為HTTPS(超文本傳輸安全協(xié)議)或HTTP over SSL。

你用了SSL,HTTP就有了HTTPS的加密、證書(shū)和完整性保護(hù)這些功能了。SSL是獨(dú)立于HTTP的協(xié)議,所以不光是HTTP協(xié)議,其它運(yùn)行在應(yīng)用層的SMTP和Telnet等協(xié)議也要配合SSL協(xié)議的使用。可以說(shuō)SSL是世界上應(yīng)用最為廣泛的網(wǎng)絡(luò)安全技術(shù)。

 


步驟1:客戶端通過(guò)發(fā)Client Hello報(bào)文開(kāi)始SSL通信。報(bào)文中包含客戶端支持的SSL的指定版本、加密組件列表(所使用的加密算法及密鑰長(zhǎng)度等)。

 

 

步驟2:服務(wù)器可進(jìn)行SSL通信時(shí),會(huì)以Server Hello報(bào)文作為應(yīng)答。和客戶端一樣,在報(bào)文中包含SSL版本和加密組件。服務(wù)器的加密組件內(nèi)容是從接收到的客戶端加密組件內(nèi)篩出來(lái)的。

步驟3:之后服務(wù)器發(fā)送Certificate報(bào)文。報(bào)文中包含公開(kāi)密鑰證書(shū)。

步驟4:最后服務(wù)器發(fā)Server Hello Done報(bào)文通知客戶端,最初階段的SSL握手協(xié)商就結(jié)束了。

步驟5:SSL第一次握手結(jié)束之后,客戶端以Client Key Exchange報(bào)文最為回應(yīng)。報(bào)文中包含通信加密中使用的一種被稱(chēng)作Pre-master secret的隨機(jī)密碼串。該報(bào)文已用步驟3中的公開(kāi)密鑰進(jìn)行加密。

步驟6:接著客戶端繼續(xù)發(fā)送Change Cipher Spec報(bào)文。該報(bào)文會(huì)提示服務(wù)器,在此報(bào)文之后的通信會(huì)采用Pre-master secret密鑰加密。

步驟7:客戶端發(fā)送Finished報(bào)文。該報(bào)文包含連接至今全部報(bào)文的整體效驗(yàn)值。這次握手協(xié)商是否能夠成功,是以服務(wù)器是否能夠正確解密該報(bào)文作為判定標(biāo)準(zhǔn)。

步驟8:服務(wù)器同樣發(fā)送Change Cipher Spec報(bào)文。

步驟9:服務(wù)器同樣發(fā)送Finished報(bào)文。

步驟10:服務(wù)器和客戶端的Finished報(bào)文交換完畢之后,SSL連接就算建立完成,當(dāng)然,通信會(huì)受到SSL的保護(hù)。從此處開(kāi)始進(jìn)行應(yīng)用層協(xié)議的通信,即發(fā)送HTTP請(qǐng)求。

步驟11:應(yīng)用層協(xié)議通信,即發(fā)送HTTP響應(yīng)。

步驟12:最后由客戶端斷開(kāi)連接。斷開(kāi)連接時(shí),發(fā)送close_notify報(bào)文。上圖做了一些省略,這步之后再發(fā)送TCP FIN報(bào)文來(lái)關(guān)閉與TCP的通信。

在以上流程中,應(yīng)用層發(fā)送數(shù)據(jù)時(shí)會(huì)附加一種叫做MAC(Message Authentication Code)的報(bào)文摘要。MAC能夠知道報(bào)文是否遭到篡改,從而保護(hù)報(bào)文的完整性。

 


「提莫」:每次發(fā)送真實(shí)數(shù)據(jù)之前,服務(wù)器這邊先生成一把密鑰,接著把密鑰傳給客戶端。后面服務(wù)器給客戶端發(fā)送真實(shí)數(shù)據(jù)的時(shí)候,會(huì)拿這把密鑰對(duì)數(shù)據(jù)加密,客戶端收到加密數(shù)據(jù)之后,用剛才收到的密鑰進(jìn)行解密。當(dāng)然,如果客戶端要給服務(wù)器發(fā)數(shù)據(jù),也是用這把密鑰來(lái)加密,這里為了方便,我就用單方向傳輸?shù)男问絹?lái)表示。如圖:

 


 


 

 


「盲僧」:你看哈服務(wù)器是用明文方式傳密鑰給客戶端,然后密鑰被中間人給偷了,那么在之后服務(wù)器和客戶端的加密傳輸過(guò)程中,中間人也可以用他偷的密鑰來(lái)解密啊。這樣的話,加密的數(shù)據(jù)在中間人看來(lái)和明文那沒(méi)啥兩樣了啊。

 

 


「提莫」:這種方法是讓客戶端和服務(wù)器都擁有兩把鑰匙,一把鑰匙是公開(kāi)的(全世界都知道都沒(méi)關(guān)系),我們稱(chēng)之為公鑰;另一把鑰匙則是保密的(只有自己本人才知道),我們稱(chēng)之為私鑰。當(dāng)然,用公鑰加密的數(shù)據(jù),只有對(duì)應(yīng)的私鑰才能解密;用私鑰加密的數(shù)據(jù),只有對(duì)應(yīng)的公鑰才能解密。

 

 

這樣,服務(wù)器在給客戶端傳數(shù)據(jù)的過(guò)程中,可以用客戶端明文給他的公鑰進(jìn)行加密,然后客戶端收到后,再用自己的私鑰來(lái)解密。客戶端給服務(wù)器發(fā)送數(shù)據(jù)的時(shí)候也可以采取這種方式。這樣能保持?jǐn)?shù)據(jù)的安全傳輸了。上圖:

 

 


 

 


 

 


 

 


「提莫」:就是對(duì)稱(chēng)加密+非對(duì)稱(chēng)加密這兩種方式,我們可以用非對(duì)稱(chēng)加密的方式來(lái)傳輸對(duì)稱(chēng)加密過(guò)程中的密鑰,之后我們就可以采取對(duì)稱(chēng)加密的方式來(lái)傳輸數(shù)據(jù)了呀。具體是這樣子:

 

服務(wù)器用明文的方式給客戶端發(fā)送自己的公鑰,客戶端收到公鑰之后,會(huì)生成一把密鑰(對(duì)稱(chēng)加密用的),然后用服務(wù)器的公鑰對(duì)這把密鑰進(jìn)行加密,接著再把密鑰傳給服務(wù)器,服務(wù)器收到后進(jìn)行解密,最后服務(wù)器就可以安全著得到這把密鑰了,而客戶端也有同樣一把的密鑰,他們就可以進(jìn)行對(duì)稱(chēng)加密了,是不是很神奇呀,大師。

 

 

 


「盲僧」:服務(wù)器用明文的方式給客戶端傳輸公鑰的時(shí)候,中間人截取了這本屬于服務(wù)器的公鑰,并且把中間人自己的公鑰冒充服務(wù)器的公鑰傳給了客戶端。

 

 

之后客戶端就會(huì)用中間人的公鑰來(lái)加密自己生成的密鑰。然后把被加密的密鑰再傳給服務(wù)器,這個(gè)時(shí)候中間人又把密鑰給截取了,中間人用自己的私鑰對(duì)這把被加密的密鑰進(jìn)行解密,解密后中間人就可以獲得這把密鑰了,這你沒(méi)想到吧!

最后中間人再對(duì)這把密鑰用剛才服務(wù)器的公鑰進(jìn)行加密,再發(fā)給服務(wù)器。如圖:

 

 

 


 


 

 

數(shù)字證書(shū)上場(chǎng)

在剛才的講解中,我們知道了,之所以非對(duì)稱(chēng)加密會(huì)不安全,是因?yàn)榭蛻舳瞬恢肋@把公鑰是不是服務(wù)器的,因此,我們需要找到一種策略來(lái)證明這把公鑰就是服務(wù)器的,而不是別人冒充的。

解決這個(gè)問(wèn)題的方式就是使用數(shù)字證書(shū),具體是這樣的:

我們需要找到一個(gè)擁有公信力、大家都認(rèn)可的認(rèn)證中心(CA)。

服務(wù)器在給客戶端傳輸公鑰的過(guò)程中,會(huì)把公鑰以及服務(wù)器的個(gè)人信息通過(guò)Hash算法生成信息摘要。如圖:

為了防止信息摘要被人調(diào)換,服務(wù)器還會(huì)用CA提供的私鑰對(duì)信息摘要進(jìn)行加密來(lái)形成數(shù)字簽名。如圖:


并且,最后還會(huì)把原來(lái)沒(méi)Hash算法之前的個(gè)人信息以及公鑰和數(shù)字簽名合并在一起,形成數(shù)字證書(shū)。如圖:

 

 


當(dāng)客戶端拿到這份數(shù)字證書(shū)之后,就會(huì)用CA提供的公鑰來(lái)對(duì)數(shù)字證書(shū)里面的數(shù)字簽名進(jìn)行解密來(lái)得到信息摘要,然后對(duì)數(shù)字證書(shū)里服務(wù)器的公鑰以及個(gè)人信息進(jìn)行Hash得到另外一份信息摘要。最后把兩份信息摘要進(jìn)行對(duì)比,如果一樣,則證明這個(gè)人是服務(wù)器,否則那就不是。如圖:

 


 


 

 


其實(shí),某些服務(wù)器一開(kāi)始就向認(rèn)證中心申請(qǐng)了這些證書(shū)了(有沒(méi)有看過(guò)沒(méi)有證書(shū)的網(wǎng)站在地址欄會(huì)被標(biāo)出警告?),而客戶端是,也會(huì)內(nèi)置這些證書(shū)。如圖:

 

 


當(dāng)客戶端收到服務(wù)器傳輸過(guò)來(lái)的數(shù)據(jù)數(shù)字證書(shū)時(shí),就會(huì)在內(nèi)置的證書(shū)列表里,查看是否有解開(kāi)該數(shù)字證書(shū)的公鑰,如果有則...,如果沒(méi)有則....

 

 

 

責(zé)任編輯:武曉燕 來(lái)源: 碼工是小希
相關(guān)推薦

2021-01-29 08:19:50

HTTPS安全傳輸

2021-05-13 07:58:05

HTTPSHTTP安全

2019-09-08 18:03:53

HTTPHTTPS加密

2013-08-14 10:41:28

2022-03-22 09:16:24

HTTPS數(shù)據(jù)安全網(wǎng)絡(luò)協(xié)議

2024-11-26 17:43:51

2023-11-02 10:24:34

2023-04-03 09:11:06

2022-02-16 11:56:28

HTTPHTTPS數(shù)據(jù)傳輸

2015-09-23 13:31:35

2016-10-10 23:00:18

2024-05-20 13:13:01

線程安全Java

2023-11-06 17:39:35

JavaArrayList線程

2020-09-04 11:53:45

物聯(lián)網(wǎng)

2018-07-25 09:57:49

安全狗

2024-05-08 08:16:11

2021-02-19 10:02:57

HTTPSJava安全

2013-10-12 17:31:26

2022-01-25 10:57:47

自動(dòng)駕駛智能汽車(chē)

2024-12-31 11:40:05

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩亚洲视频 | 亚洲国产自产 | 中文字幕高清视频 | 日本视频在线播放 | a级毛片免费高清视频 | 一区二区在线免费观看 | 日韩欧美在线观看视频 | 亚州av在线 | 成人免费淫片aa视频免费 | 91精品国产综合久久香蕉麻豆 | 精品一二三区 | 午夜精品久久 | 国产精品无码专区在线观看 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 精品欧美 | 在线色网站 | 91精品国产综合久久精品图片 | 国产丝袜一区二区三区免费视频 | 毛片av免费看| 大乳boobs巨大吃奶挤奶 | 日韩av在线免费 | 亚洲一区二区在线播放 | 四虎精品在线 | 亚洲欧美网站 | 欧美一级免费观看 | 精品国产乱码久久久久久88av | 成人精品一区二区户外勾搭野战 | 日韩视频二区 | 一区二区日本 | 国产精品美女久久久久 | 欧洲一区在线观看 | 欧美a级成人淫片免费看 | 毛片在线视频 | 高清国产午夜精品久久久久久 | 最新中文字幕在线 | 99国产精品久久久久老师 | 91在线一区 | 国产高清精品一区二区三区 | 一区二区三区在线观看视频 | 日韩亚洲视频在线 | 欧美日韩亚洲国产 |