999精品国内在线观看视频-日韩 中文字幕 在线视频-伊人久久中文字幕在线-少妇熟女激情一区二区三区-久久精品国产亚洲av水果派-91成人在线视频网-91久久久在线免费-国产综合一区二区三区-一区,二区av在线,亚洲天堂中文字幕91,欧美偷拍亚洲变态另类,国产精品久久久久久久hd

HTTPS 是如何運(yùn)作的?它解決了什么問題?-每日消息

來源:SH的全棧筆記

首先,HTTPS 并不是一個(gè)新的協(xié)議,而是 HTTP + SSL/TLS,即 SSL(Security SocketLayer)和 TLS(TransportLayerSecurity) 的縮寫。但其實(shí)作為 SSL 的繼任者,TLS 已經(jīng)完全替代了 SSL,只是大概還是習(xí)慣使用 SSL 這個(gè)名詞。為了嚴(yán)謹(jǐn),后續(xù)都會(huì)繼續(xù)使用 TLS。


(資料圖片)

簡(jiǎn)單了解 HTTP從何而來

要了解 HTTPS,自然我們要先了解 HTTP 協(xié)議,最初 HTTP 協(xié)議的出現(xiàn)是為了讓全球的研究者知識(shí)共享而發(fā)明出來的,它于 1990 年被發(fā)明出來,但這一版本的 HTTP 協(xié)議并沒有作為標(biāo)準(zhǔn)。

HTTP/0.9

Tim Berners-Lee 和他的團(tuán)隊(duì)提出這個(gè)最早的 HTTP/0.9 版本存在一些不明確的地方,例如:

沒有版本標(biāo)識(shí),不像現(xiàn)在我們有 HTTP/0.9、HTTP/1.0、HTTP/1.1 等等,就連這個(gè) 0.9 都是后面才加上的沒有請(qǐng)求頭,只有一個(gè)簡(jiǎn)簡(jiǎn)單單普普通通的 GET 請(qǐng)求響應(yīng)只支持 HTML 文檔本身,不支持其他的格式,比如圖片、視頻沒有狀態(tài)碼,根本不知道請(qǐng)求是否成功,或者是因?yàn)槭裁丛蚴《踢B接,也是就是后面 HTTP/1.1 和部分的 HTTP/1.0 提出 Keep-Alive 要解決的問題

這就是最初的 HTTP,存在很多的缺陷,也難怪沒有成為標(biāo)準(zhǔn)。

HTTP/1.0

到了1996年5月,HTTP 提出了新的版本 HTTP/1.0,而它也成了 HTTP 第一個(gè)正式的版本,也被正式的標(biāo)準(zhǔn)化。它解決了 HTTP/0.9 沒有解決的問題,例如:

引入了明確的版本號(hào)定義了請(qǐng)求頭、響應(yīng)頭,這讓請(qǐng)求中能夠附件傳輸很多的元數(shù)據(jù),這些頭都是基礎(chǔ),不再贅述支持了多種數(shù)據(jù)類型,例如圖片、音頻、視頻引入了狀態(tài)碼引入了緩存機(jī)制

我們現(xiàn)在之后后續(xù)的主流版本其實(shí)是 HTTP/1.1,這說明當(dāng)時(shí)提出的 HTTP/1.0 其實(shí)還是存在部分的問題。

HTTP/1.1

1997年1月,HTTP/1.1 發(fā)布,這也是在 HTTP/2.0 出來之前最為主流的版本,我們來看看它解決了什么問題就知道 HTTP/1.0 存在的缺陷了。

引入了持久化連接機(jī)制基于 Keep-Alive 長(zhǎng)連接,推出了管線化技術(shù),提高了發(fā)送請(qǐng)求的速度引入了更加靈活的緩存機(jī)制分塊傳輸范圍請(qǐng)求

所謂持久化連接機(jī)制,即服用底層的 TCP 連接。HTTP 底層通信使用的是 TCP,在 HTTP/1.1 之前都是發(fā)起一個(gè) HTTP 請(qǐng)求就會(huì)建立一個(gè) TCP 連接,傳輸數(shù)據(jù)之后再斷開。這波操作在 HTTP/1.0 那個(gè)時(shí)間是沒問題的,HTTP 沒普及,傳輸?shù)膬?nèi)容也都是小容量的文本。但隨著 HTTP 的普及,傳輸?shù)膬?nèi)容變得也越來越來豐富,況且還新增了圖片、音視頻。像這樣頻繁的發(fā)起、斷開 TCP 連接會(huì)大大的增加頁面資源的加載速度,降低用戶的體驗(yàn)。所謂持久化連接也就是,只要任意一方?jīng)]有提出斷開 TCP 連接,就繼續(xù)復(fù)用這個(gè)連接,減少了創(chuàng)建連接帶來的開銷。

而管線化技術(shù)則是發(fā)送一個(gè)請(qǐng)求不用等待其響應(yīng),繼續(xù)發(fā)送下一個(gè)請(qǐng)求。沒有管線化技術(shù)時(shí),必須等待上一個(gè)請(qǐng)求響應(yīng)回來之后才能發(fā)送下一個(gè)請(qǐng)求,而這種機(jī)制在網(wǎng)絡(luò)較慢的情況下會(huì)引發(fā)一個(gè)問題——隊(duì)頭阻塞。比如,請(qǐng)求一張較大的圖片,偏偏網(wǎng)絡(luò)還慢,那么后續(xù)的請(qǐng)求都會(huì)被阻塞。但管線化技術(shù)解決了這個(gè)問題嗎?解決了一部分,沒有完全解決。采用管線化技術(shù),請(qǐng)求雖然發(fā)出去了,但它是有序的, 所以在等待響應(yīng)時(shí),這一批里有響應(yīng)遲遲沒有回來,后續(xù)的請(qǐng)求仍然要等待。所以這個(gè)問題并沒有完全解決。

HTTP/2.0

既然有問題,那么后續(xù)就需要有新的版本來解決這些問題。2015年5月,HTTP/2.0 正式標(biāo)準(zhǔn)化,之后慢慢開始大面積的普及,那么它又解決了哪些問題呢?主要如下:

提出了多路復(fù)用,解決了 HTTP/1.1 中的隊(duì)頭阻塞問題使用了二進(jìn)制協(xié)議,而不是原來的文本協(xié)議對(duì)頭部進(jìn)行壓縮,減少每個(gè) HTTP 請(qǐng)求的頭部大小,減少了傳輸?shù)臄?shù)據(jù)大小支持服務(wù)器推送,HTTP/2.0 允許服務(wù)器主動(dòng)推送資源到客戶端,減少客戶端的請(qǐng)求次數(shù)

當(dāng)然,相信你也知道,現(xiàn)在 HTTP/3.0 也出來了,其關(guān)鍵的改動(dòng)在于將底層傳輸層的協(xié)議從 TCP 切換到了QUIC,其底層采用的是 UDP,這個(gè)后面有機(jī)會(huì)單獨(dú)寫一篇文章來介紹。

Why HTTPS?

HTTP 即使推出了很多個(gè)版本,但是仍然存在問題,例如:

協(xié)議本身沒有加密,再加上底層使用的 TCP/IP 本身就在很多環(huán)節(jié)容易被竊聽,例如我們熟悉的 Wireshark沒有驗(yàn)證通信方的身份,可能遭遇偽裝無法校驗(yàn)數(shù)據(jù)是否被篡改混合加密

所以這才有了 HTTPS,也就是 HTTP + TLS。

在 HTTP 協(xié)議中,由它本身直接和 HTTP 通信,而在 HTTPS 協(xié)議中,HTTP 是和 TLS 進(jìn)行通信,相當(dāng)于給套了一層娃,加了個(gè)中間層。

那要如何進(jìn)行加密呢?

HTTPS 采用了混合加密的方式,大致的流程如下:

客戶端訪問服務(wù)器,服務(wù)器會(huì)返回自己的公鑰客戶端生成一個(gè)隨機(jī)密鑰,使用上一步獲取的公鑰對(duì)隨機(jī)密鑰進(jìn)行加密將用服務(wù)器公鑰加密后的客戶端隨機(jī)密鑰發(fā)送給服務(wù)器服務(wù)器用自己的私鑰進(jìn)行解密,拿到客戶端的隨機(jī)密鑰明文

到這里,客戶端和瀏覽器就將后續(xù)通信加解密要使用到的密鑰安全的進(jìn)行了傳輸,后續(xù)客戶端服務(wù)器的所有通信都會(huì)使用這個(gè)隨機(jī)密鑰。所謂的混合加密就是即使用了對(duì)稱加密,也使用了非對(duì)稱加密。

中間人攻擊

但是這個(gè)步驟有個(gè)比較明顯的問題,即——中間人攻擊。

還是基于上面的這個(gè)步驟,客戶端以為自己在和服務(wù)器通信,實(shí)際上它在和中間人通信,然后中間人將服務(wù)器的真正公鑰 S 保存了下來,然后把中間人自己的公鑰 B 返回給了客戶端。

客戶端拿到了中間人的公鑰 B,然后使用公鑰 B 對(duì)其生成的隨機(jī)密鑰進(jìn)行加密,然后傳給中間人。中間人拿到了加密密文,使用自己的私鑰 B’ 進(jìn)行解密,到這里就拿到了客戶端的隨機(jī)密鑰。然后再用保存好的服務(wù)器真正公鑰 S 加密,將密文再傳給服務(wù)器。其流程如下圖所示:

中間人攻擊示意圖

這樣就完成了一波套娃,并且客戶端和服務(wù)器都沒有感知。這樣一來,一旦攻擊成功,后續(xù)的通信中間人都能夠通過前面步驟拿到的隨機(jī)密鑰進(jìn)行解密,然后篡改,再加密傳給服務(wù)器。

那該如何解決這個(gè)問題呢?

在上面的流程中,其關(guān)鍵的問題在于客戶端無法證明服務(wù)器返回的公鑰的正確性,它可能是中間人的公鑰,而不是服務(wù)器的。如果有某種方式能夠讓我們確認(rèn),這個(gè)公鑰的的確確就是服務(wù)器的真實(shí)公鑰,上面的問題就迎刃而解了。

而這就是 CA。

CA 證書

全稱為CertificateAuthority,它是一個(gè)機(jī)構(gòu),可以將其理解為客戶端和服務(wù)器都可以信賴的一個(gè)第三方。開發(fā)人員會(huì)將服務(wù)器的真實(shí)公鑰提供給 CA,然后 CA 判斷服務(wù)器的身份之后,會(huì)對(duì)公鑰簽名,然后將其和 CA 證書綁定在一起。當(dāng)然 CA 證書包含的不僅僅只有簽名,還有序列號(hào)、用途、頒發(fā)者、有效時(shí)間之類的。

然后客戶端來請(qǐng)求公鑰時(shí),服務(wù)器會(huì)直接把證書返回給客戶端。那么問題又來了,你怎么能夠保證返回的證書不是由中間人返回的?加了個(gè) CA 就能夠解決這個(gè)問題嗎?

當(dāng)然不是。

客戶端還會(huì)對(duì) CA 證書進(jìn)行校驗(yàn),以此來保證:

CA 機(jī)構(gòu)值得信賴服務(wù)器的公鑰真實(shí)有效

否則仍然會(huì)面臨中間人攻擊的風(fēng)險(xiǎn)。那客戶端是如何驗(yàn)證這兩點(diǎn)的呢?

首先,在將服務(wù)器公鑰提供給 CA 時(shí),CA 會(huì)使用自己的私鑰對(duì)服務(wù)器公鑰進(jìn)行簽名。注意,這里是私鑰,不是公鑰。然后客戶端拿到這個(gè)證書之后,會(huì)使用 CA 的公鑰(內(nèi)置在瀏覽器中)對(duì)其進(jìn)行解密,然后拿到 CA 側(cè)登記證書時(shí)計(jì)算的 Hash 值,然后客戶端會(huì)根據(jù)證書上的信息,使用同樣的算法計(jì)算出另一個(gè) Hash 值,然后將這兩個(gè) Hash 值對(duì)比,就能夠知道證書是否可信賴。當(dāng)然,這個(gè)只是其中的一個(gè)步驟,CA 的認(rèn)證還涉及到信任鏈的問題,這里不展開。

當(dāng)然,CA 也不能解決全部的問題。之前也出過 CA 機(jī)構(gòu)被黑的事故,非法頒發(fā)了 Google 和 Twitter 的偽造證書。

HTTPS 握手過程

握手的過程,總結(jié)成了一張圖,其實(shí)就是將上面將的 HTTPS 的加密原理細(xì)化了一下:

標(biāo)簽:

推薦

財(cái)富更多》

動(dòng)態(tài)更多》

熱點(diǎn)

国偷自产一区二区三区在线视频-日韩亚洲视频区-色婷婷中文字幕一区久久91-一本色道久久88综合亚洲精品密 | 日韩精品成人亚洲欧美在线-日韩av高清在线不卡免费观看-日韩av电影观看-国产乱子伦一区二区内容 森泽佳奈中文字幕在线-人妻丰满少妇久久久久久久久-久久熟妇人妻一区二区-av中文字幕网 | 中文字幕日韩欧美av-麻豆免费av在线观看-最近日韩一级高清视频在线-国产av天堂亚洲国产av麻豆 | 成人国产av精品免费网-99久热只有精品视频在线观看-久久青草线视频观看免费版在线看中文版-97日韩就爱高清视频 | 精品丰满熟女少妇一区二区蜜桃-亚洲av欧美av色婷婷伊人-日韩色婷婷中文字幕-超91麻豆精品国产高清在线观看 | 久久久96久久久久-麻豆网精品区在线观看-av中文字幕亚洲精品-激情婷婷丁香久久 | 午夜久久精品国产亚洲av-日韩亚洲高清中文字幕-少妇激情一区二区三区免-91大神国产小青蛙 | av熟女一区二区三区蜜桃-亚洲中文字幕精品人妻-日产精品久久久久久久蜜桃-久久久久久国产少妇熟女 | 91福利视频播放-国产中文字幕久久精品-激情五月婷婷中文字幕-国产91资源在线视频 | 最新一区二区三区中文字幕-成人黄页网站在线观看视频免费-欧美黑人精品在线播放-日韩欧美一级一级一片一片 | 人人妻人人插人人看-熟女老妇50路60路70路-日韩和欧美一区二区三区-岛国av一区二区三区在线观看 999精品91久久久-美女中文字幕在线观看-日本精品一区二区三区在线免费-美女中文字幕av | 日韩内射电影区-日韩熟女三区二区一区-国产精品美女久久久久av麻豆-国产精产国品一二三在观看 | 熟女吧一区二区三区-狠狠综合久久久久尤物-99久久99九九精品免费-久久亚洲女同中文字幕人妻 | 欧美少妇性生活自拍视频-超碰在线97碰-久久久久久久久久久精品福利-麻豆国产精品第一页 | 欧美中文字幕视频在线-精美人妻视频一区二区三区-日韩的欧美的精品-日本偷拍精品久久久久 | 欧美激情亚洲精品另类-久久高清国产精品-中文字幕人妻欧美在线-日本久久免费看 | 日韩欧美人妻久久-91人妻精品久久久久久久-在线人成激情视频日韩-久久这里都是精品99 | av在线小泽玛利亚-国产成人自拍第一页-人妻中文字幕第一页-久久婷婷国产av | 超碰手机在线播放-久久婷婷国产原创-91久久精品一二三区-久久婷婷国产综合三区 | 国产精精品在线资源-91在伦在色在线播放7777-蜜臀久久99精品久久久久久安男-91中文字幕免费观看 加勒比中文人妻字幕在线视频-国产一区二区三区福利视频在线观看-亚洲欧美日韩丝袜美腿第一页-日韩欧美二区在线播放 | 国产精品久久久久久久18禁-日韩 欧美 精品 国产-1区和2区3区免费视频-亚洲精品视频在线观看在线观看在线观看 | 超碰97国产女人让你操-91久久香蕉国产熟女-日韩91久久精品-国产 一区二区三区 在线 | 91欧美精美久久久-岛国高清中文字幕av-日韩色视频在线免费观看-懂色a精品欧美日韩懂色 | 欧美人妻在线视频观看-巨乳人妻中文精品系列-免费99精品视频在线观看-久久中文字幕女同 | 99精品久久久久久久婷婷-久久久久久久久免费视频国产-久久久一区二区三区四区五区av-亚洲 中文字幕 有码 | 亚洲精品嫩草久久伊人-熟女人妻在线小视频-久久97精品国产首页-久久久精品视频999精品视频 | 国产一区二区黄色在线观看-国产一区二区在线免费播放-久久精品偷拍视频观看-日本一区二区中文字幕在线 | 国产亚洲3p一区二区三区-激情综合网,激情五月天四射-大香蕉久久久久在线伊人-巨乳姐姐诱惑中文字幕 | 久久丝袜28p-婷婷久久网视频-天天舔天天摸天天碰-久久精品人人做人人爽电影蜜月 | 黑人玩弄人妻一区二区三区视频-成人精品在线观看91-久久精品一区二区三区四区五区-成人午夜国产电影在线观看 | 国产亚洲精品久久久久久无几年桃-超碰国产情侣自拍-国产精品 亚洲欧洲-91麻豆国产最新在线观看 | 日韩 亚洲 欧美一区-成人av网站在线观看-91综合久久久久久-日韩伦理亚洲在线 | 人人妻人人看人人干-亚洲欧美日韩在线观看视频-丁香婷婷八月精品国产-日韩精品口爆吞精在线观看 av中文字幕在线观看在线-久久久久精品国产乱码78m-国产麻豆剧传媒精品国产av吴梦-69中文字幕一区二区三区 | 中文字幕熟女人妻丝袜4k岛国-精品亚洲永久免费精-成人免费一级欧美激情-国产精品中文字幕视频在线 | 国产精品6999成人免费视频-精品久久久久久久久久人妻-国产成人 av在线-日韩中文字幕欧美国产 | 91成人在线观看喷-日本精品中文字幕网-久久热这里只有精品99-深夜国产福利视频在线观看 | 日韩av东京热电影-丰满人妻一区二区二区53视频-久久丝袜一区二区三区-国产熟女一区二区三 | 2020久久中文字幕-91精品国产综合久久久在线观看-成人国产激情视频在线观看欧美-久久中文字幕亚洲精品最新, | 国产日本欧美在线观看-91麻豆国产极品在线观看-欧美日韩激情在线一区-日韩国产在线观看资源 | 色婷婷激情五月综合-日韩欧美情色片-日韩av在线观看不卡-蜜桃系列一区二区三区 | 中文字幕av有码在线-日韩中文字幕视频了-婷婷激情亚洲五月天-亚洲人妻成人在线免费 |