小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

看完這篇文章,我奶奶都懂了https的原理

 印度阿三17 2019-05-29

Http存在的問(wèn)題
??上過(guò)網(wǎng)的朋友都知道,網(wǎng)絡(luò)是非常不安全的。尤其是公共場(chǎng)所很多免費(fèi)的wifi,或許只是攻擊者的一個(gè)誘餌。還有大家平時(shí)喜歡用的萬(wàn)能鑰匙,等等。那我們平時(shí)上網(wǎng)可能會(huì)存在哪些風(fēng)險(xiǎn)呢?
??1. 泄密,個(gè)人隱私、賬戶(hù)密碼等信息可能會(huì)被盜取。
??2. 篡改,收到的數(shù)據(jù)可能被第三方修改過(guò),或被植入廣告等。
??3. 假冒,訪(fǎng)問(wèn)的站點(diǎn)非目標(biāo)服務(wù)器站點(diǎn)。如域名欺騙、域名劫持、釣魚(yú)網(wǎng)站等。

可能住你隔壁穿人字拖、說(shuō)話(huà)都略顯羞澀的小王,一到夜深人靜的時(shí)候就開(kāi)始偷窺你的一舉一動(dòng)!陪你一起看91某社區(qū)的電影還好,萬(wàn)一竊取了各購(gòu)物網(wǎng)站或其他站點(diǎn)的登錄信息就……是不是想想有些害怕呢!
在這里插入圖片描述

為什么別人能獲取你上網(wǎng)的數(shù)據(jù)呢?有過(guò)一定網(wǎng)絡(luò)基礎(chǔ)的朋友多少都對(duì)TCP/IP有些了解,對(duì)各種握手揮手早已背得滾瓜爛俗,對(duì)http協(xié)議也早了然于心。http是應(yīng)用層的協(xié)議,位于TCP/IP參考模型的最上層。用戶(hù)數(shù)據(jù)經(jīng)過(guò)應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層的層層封裝后經(jīng)過(guò)物理層發(fā)送到目標(biāo)機(jī)器。在這幾層中,數(shù)據(jù)都沒(méi)有經(jīng)過(guò)加密處理,所以一旦別人獲取到你的數(shù)據(jù)包,就能輕易的獲取到數(shù)據(jù)的信息。

為了保護(hù)數(shù)據(jù)隱私,讓數(shù)據(jù)不再“裸奔”。對(duì)需要傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理就很有必要了。目前而言,加密算法可以分兩大類(lèi),一類(lèi)是對(duì)稱(chēng)加密算法,還有一類(lèi)是非對(duì)稱(chēng)加密算法。

對(duì)稱(chēng)加密
??對(duì)稱(chēng)加密算法的加密和解密都是用同一個(gè)密鑰。在一定條件下,對(duì)稱(chēng)加密可以解決數(shù)據(jù)傳輸安全性的問(wèn)題。比如我在登錄某個(gè)網(wǎng)站的時(shí)候,需要填寫(xiě)賬戶(hù)名和密碼進(jìn)行登錄,客戶(hù)端把登錄的表單信息進(jìn)行對(duì)稱(chēng)加密后再傳輸,這時(shí)候就算小王截獲數(shù)據(jù)包,他也無(wú)法獲取數(shù)據(jù)的內(nèi)容,因?yàn)閿?shù)據(jù)已經(jīng)被加密了。但是服務(wù)器收到數(shù)據(jù)后也是一臉懵逼,你發(fā)來(lái)的加密的數(shù)據(jù)包服務(wù)器也不知道解密的密鑰!

在這里插入圖片描述
??那是不是客戶(hù)端與服務(wù)端在通信之前應(yīng)該先協(xié)商密鑰呢?客戶(hù)端可以通知服務(wù)器需要開(kāi)啟數(shù)據(jù)傳輸了,然后服務(wù)器告訴客戶(hù)端,咱們以后用xxxx這個(gè)密鑰進(jìn)行加密解密吧!

在這里插入圖片描述
??這樣內(nèi)容是可以加密傳輸了,但是上圖中第一步協(xié)商密鑰的過(guò)程又同樣存在安全的問(wèn)題!萬(wàn)一小王截獲了協(xié)商密鑰的數(shù)據(jù),那后續(xù)加密傳輸?shù)臄?shù)據(jù)對(duì)小王來(lái)說(shuō)無(wú)異于未加密!所以,對(duì)稱(chēng)加密存在密鑰協(xié)商的問(wèn)題!

非對(duì)稱(chēng)加密
??基于對(duì)稱(chēng)加密存在的問(wèn)題,又有了非對(duì)稱(chēng)加密。非對(duì)稱(chēng)加密算法需要一組密鑰對(duì),分別是公鑰和私鑰,這兩個(gè)密鑰是成對(duì)出現(xiàn)的。公鑰加密的內(nèi)容需要用私鑰解密,私鑰加密的內(nèi)容需要用公鑰解密!私鑰由服務(wù)器自己保存,公鑰發(fā)送給客戶(hù)端??蛻?hù)端拿到公鑰后就可以對(duì)請(qǐng)求進(jìn)行加密后發(fā)送給服務(wù)端了,這時(shí)候就算被小王截獲,小王沒(méi)有私鑰也無(wú)法解密發(fā)送的內(nèi)容,這樣確保了客戶(hù)端發(fā)送到服務(wù)端數(shù)據(jù)的“安全”!但是由于公鑰也需要通過(guò)網(wǎng)絡(luò)發(fā)送給客戶(hù)端,同樣能被小王截獲,這樣服務(wù)器私鑰加密后的內(nèi)容依然可以被小王截獲并解密,并且非對(duì)稱(chēng)加密的效率很低。

對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密都存在密鑰傳輸?shù)膯?wèn)題,但是至少非對(duì)稱(chēng)加密可以保證客戶(hù)端傳輸給服務(wù)端的內(nèi)容無(wú)法被“破解”,而對(duì)稱(chēng)加密算法性能又比較好,那我們是不是可以這樣子呢。第一次通信的時(shí)候服務(wù)端發(fā)送公鑰給客戶(hù)端,由客戶(hù)端產(chǎn)生一個(gè)對(duì)稱(chēng)密鑰,通過(guò)服務(wù)端的公鑰加密后發(fā)送給服務(wù)端,后續(xù)的交互中都通過(guò)對(duì)稱(chēng)密鑰進(jìn)行加密傳輸。也就是說(shuō)先通過(guò)非對(duì)稱(chēng)密鑰加密對(duì)稱(chēng)密鑰,通過(guò)對(duì)稱(chēng)密鑰加密實(shí)際請(qǐng)求的內(nèi)容。
在這里插入圖片描述

上面的方案看起來(lái)天衣無(wú)縫,小王拿到數(shù)據(jù)后貌似就無(wú)償下手了,但是真的就天意無(wú)縫了嗎?我們看看下圖
在這里插入圖片描述

也就是說(shuō)小王可以偽裝成服務(wù)器,與客戶(hù)端進(jìn)行通信。類(lèi)似于你與服務(wù)端之間多了一個(gè)中間商!也就是說(shuō)協(xié)商密鑰的過(guò)程依然存在漏洞!

有點(diǎn)腦闊疼!還能不能讓我安全的上網(wǎng)了!就沒(méi)有更安全的機(jī)制了么? 在協(xié)商密鑰的過(guò)程中,客戶(hù)端怎么能確定對(duì)方是真正的目標(biāo)服務(wù)器呢?怎么證明服務(wù)器的身份呢?我們先了解一下數(shù)字證書(shū)!

數(shù)字證書(shū)
??我們生活中有各種證,有能證明自己是個(gè)有身份的人的身份證,有能證明自己讀了幾年書(shū)的畢業(yè)證。這些證都是由某些權(quán)威機(jī)關(guān)認(rèn)證、無(wú)法偽造的,能證明自己身份的憑據(jù)。那服務(wù)器是不是也能有個(gè)類(lèi)似身份證的東西,在與服務(wù)器進(jìn)行通信的時(shí)候證明自己確實(shí)是目標(biāo)服務(wù)器而不是小王偽造的呢?在生活中這些證件都是事實(shí)在在能看得見(jiàn)摸得著的,而計(jì)算機(jī)中的證書(shū)是虛擬的,看得見(jiàn)但是摸不著,是數(shù)據(jù)形式記錄的,所以叫數(shù)字證書(shū)!

客戶(hù)端第一次與服務(wù)器進(jìn)行通信的時(shí)候,服務(wù)器需要出示自己的數(shù)字證書(shū),證明自己的身份以及自己的公鑰,類(lèi)似如下(實(shí)際上就是一堆數(shù)據(jù),這里為了直觀)
在這里插入圖片描述

那這個(gè)數(shù)字證書(shū)怎么產(chǎn)生的呢?總不能是服務(wù)器自己造一個(gè)吧?上面說(shuō)到了我們生活中的證書(shū)是由權(quán)威機(jī)構(gòu)頒發(fā)的、無(wú)法偽造的,比如身份證就是由派出所發(fā)證、畢業(yè)證由教育部發(fā)證,如果需要驗(yàn)證真假,只需要上相關(guān)的系統(tǒng)輸入編號(hào)查詢(xún)就能查到了!那我們數(shù)字證書(shū)也應(yīng)該有這兩個(gè)特性-權(quán)威機(jī)構(gòu)頒發(fā)、防偽!

CA機(jī)構(gòu)
??CA機(jī)構(gòu)就是數(shù)字證書(shū)頒發(fā)的權(quán)威機(jī)構(gòu),負(fù)責(zé)頒發(fā)證書(shū)以及驗(yàn)證證書(shū)的合法性。如果服務(wù)器需要做個(gè)有身份的服務(wù)器,就需要向CA機(jī)構(gòu)提交申請(qǐng),當(dāng)然有錢(qián)才好辦事,交錢(qián)才能給你辦證……

服務(wù)器向CA機(jī)構(gòu)提交申請(qǐng),需要提交站點(diǎn)的信息如域名、公司名稱(chēng)、公鑰等等,CA審批無(wú)誤之后就可以給服務(wù)器頒發(fā)證書(shū)了!

客戶(hù)端在拿到服務(wù)器的證書(shū)后,就需要驗(yàn)證證書(shū)編號(hào)是否能在對(duì)應(yīng)的CA機(jī)構(gòu)查到,并且核對(duì)證書(shū)的基本信息如證書(shū)上的域名是否與當(dāng)前訪(fǎng)問(wèn)的域名一致等等,還可以拿到證書(shū)中服務(wù)器的公鑰信息用于協(xié)商對(duì)稱(chēng)密鑰!

證書(shū)頒發(fā)了,可是又怎么防止偽造,怎么保證在傳輸過(guò)程中不被篡改呢?萬(wàn)一小王截獲到數(shù)字證書(shū),把公鑰改成自己的那不是依然無(wú)法保證安全了么?這就需要數(shù)字簽名了!

數(shù)字簽名
??與公司簽過(guò)勞動(dòng)合同的朋友應(yīng)該都知道,在合同信息的填寫(xiě)中,是不能有涂改的,否則需要重新填寫(xiě)!并且在最后需要甲方和乙方簽名并且蓋章。一旦簽名蓋章后的合同就具有了法律的效力,合同就不能再修改。簽名和蓋章操作就是防止合同偽造,規(guī)定不能修改就防止了合同被篡改!

在實(shí)際生活中簽名、蓋章操作是實(shí)實(shí)在在的動(dòng)作,作用在具體某個(gè)物體上的!但是我們的數(shù)字證書(shū)本身就是虛擬的,怎么去給一個(gè)虛擬的證書(shū)簽名蓋章呢?數(shù)字簽名又是什么機(jī)制呢?

我們?cè)谧鰴?quán)限系統(tǒng)的時(shí)候,存儲(chǔ)用戶(hù)密碼的時(shí)候都會(huì)經(jīng)過(guò)MD5計(jì)算摘要后存儲(chǔ),在登錄的時(shí)候計(jì)算用戶(hù)填寫(xiě)的密碼的MD5摘要與數(shù)據(jù)庫(kù)存儲(chǔ)的摘要進(jìn)行對(duì)比,如果一致則密碼正確,否則登錄失敗!MD5是不可逆的,且不同的數(shù)據(jù)計(jì)算出來(lái)的摘要是不一樣的(當(dāng)然也有極小的概率會(huì)hash碰撞),基于這個(gè)特性,就有了數(shù)字簽名的思路。

服務(wù)器提交自己的基本信息想CA機(jī)構(gòu)提出申請(qǐng),CA機(jī)構(gòu)在給服務(wù)器頒發(fā)證書(shū)的時(shí)候,會(huì)連同數(shù)字證書(shū)以及根據(jù)證書(shū)計(jì)算的摘要一同發(fā)送給服務(wù)器,且這個(gè)摘要是需要經(jīng)過(guò)CA機(jī)構(gòu)自己的私鑰進(jìn)行加密的。申請(qǐng)流程如下:
在這里插入圖片描述

啥?不夠直觀?那我們?cè)賮?lái)個(gè)直觀點(diǎn)的!通過(guò)下圖我們能看到,CA給服務(wù)器頒發(fā)的證書(shū)是有自己專(zhuān)屬的“公章”的。

在這里插入圖片描述

哪些CA機(jī)構(gòu)對(duì)于客戶(hù)端來(lái)說(shuō)是權(quán)威或者說(shuō)是認(rèn)可的呢?我們打開(kāi)IE瀏覽器能看到客戶(hù)端內(nèi)置的CA機(jī)構(gòu)的信息,包含了CA的公鑰、簽名算法、有效期等等…

在這里插入圖片描述

服務(wù)器在與客戶(hù)端通信的時(shí)候,就會(huì)將數(shù)字證書(shū)和數(shù)字簽名出示給客戶(hù)端了??蛻?hù)端拿到數(shù)字證書(shū)和數(shù)字簽名后,先通過(guò)操作系統(tǒng)或者瀏覽器內(nèi)置信任的CA機(jī)構(gòu)找到對(duì)應(yīng)CA機(jī)構(gòu)的公鑰對(duì)數(shù)字簽名進(jìn)行解密,然后采用同樣的摘要算法計(jì)算數(shù)字證書(shū)的摘要,如果自己計(jì)算的摘要與服務(wù)器發(fā)來(lái)的摘要一致,則證書(shū)是沒(méi)有被篡改過(guò)的!這樣就防止了篡改!第三方拿不到CA機(jī)構(gòu)的私鑰,也就無(wú)法對(duì)摘要進(jìn)行加密,如果是第三方偽造的簽名自然也在客戶(hù)端也就無(wú)法解密,這就防止了偽造!所以數(shù)字簽名就是通過(guò)這種機(jī)制來(lái)保證數(shù)字證書(shū)被篡改和被偽造。具體流程如下:

在這里插入圖片描述
??啥?又不夠直觀?那我們繼續(xù)…

在這里插入圖片描述

這里需要注意一點(diǎn),一個(gè)是CA機(jī)構(gòu)的公鑰,內(nèi)置在客戶(hù)端,用來(lái)解密數(shù)字簽名!另一個(gè)是目標(biāo)服務(wù)器的公鑰,在數(shù)字證書(shū)內(nèi)容里,用來(lái)協(xié)商對(duì)稱(chēng)密鑰!

HTTPS
??本文的標(biāo)題是HTTPS,但是到目前為止HTTPS只字未提!其實(shí)HTTPS=HTTP SSL,在HTTP層和TCP之間加了一個(gè)SSL/TLS層,如下圖:

在這里插入圖片描述
??SSL(Secure Sockets Layer)中文叫“安全套接層”,后來(lái)由于廣泛應(yīng)用,SSL標(biāo)準(zhǔn)化之后就改名為T(mén)LS(Transport Layer Security)了,其實(shí)HTTPS就是通過(guò)上面說(shuō)到的那些手段來(lái)解決網(wǎng)絡(luò)上可能存在的數(shù)據(jù)泄密、篡改、假冒的這些問(wèn)題,保證網(wǎng)絡(luò)傳輸?shù)陌踩睦玻?/p>

看到這里的你,對(duì)HTTPS的原理是否懂了呢,反正我奶奶看完已經(jīng)懂了!手動(dòng)狗頭(* ̄︶ ̄)
??歡迎朋友們加入我的前端學(xué)習(xí)交流群:562862926群內(nèi)提供免費(fèi)的前端學(xué)習(xí)資料(2019最新整理,各種開(kāi)發(fā)工具)合理利用自己每一分每一秒的時(shí)間來(lái)學(xué)習(xí)提升自己,不要再用"沒(méi)有時(shí)間“來(lái)掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來(lái)的自己一個(gè)交代!

來(lái)源:http://www./content-4-215901.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多