HTTP和HTTPS的區(qū)別

一废岂、簡(jiǎn)述

1??HTTP (全稱 Hyper Text Transfer Protocol),就是超文本傳輸協(xié)議铅鲤,用來(lái)在 Internet 上傳送超文本阻荒。是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議金吗,是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)(TCP)懒构,用于從 WWW 服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議餐济,它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少胆剧。

2??HTTPS:安全超文本傳輸協(xié)議絮姆。簡(jiǎn)單講是 HTTP 的安全版,即 HTTP 下加入 SSL 層秩霍,HTTPS 的安全基礎(chǔ)是 SSL篙悯,因此加密的詳細(xì)內(nèi)容就需要 SSL。

HTTPS 的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道铃绒,來(lái)保證數(shù)據(jù)傳輸?shù)陌踩胝眨涣硪环N就是確認(rèn)網(wǎng)站的真實(shí)性。

超文本傳輸協(xié)議 HTTP 被用于 Web 瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息颠悬,HTTP 以明文方式發(fā)送內(nèi)容矮燎,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了 Web 瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文椿疗,就可以直接讀懂其中的信息漏峰。因此糠悼,HTTP 不適合傳輸敏感信息届榄,比如:資金賬戶、密碼等倔喂。為了解決 HTTP 的這一缺陷铝条,需要使用另一種協(xié)議:安全套接字層超文本傳輸協(xié)議 HTTPS靖苇,為了數(shù)據(jù)傳輸?shù)陌踩琀TTPS 在 HTTP 的基礎(chǔ)上加入了 SSL 協(xié)議班缰,SSL 依靠證書(shū)來(lái)驗(yàn)證服務(wù)器的身份贤壁,并為瀏覽器和服務(wù)器之間的通信加密。

二埠忘、HTTP與HTTPS的區(qū)別

HTTP 傳輸?shù)臄?shù)據(jù)都是未加密的脾拆,也就是明文的,因此使用 HTTP 傳輸信息非常不安全莹妒。為了保證數(shù)據(jù)能加密傳輸名船,網(wǎng)景公司設(shè)計(jì)了 SSL(Secure Sockets Layer) 協(xié)議用于對(duì) HTTP 傳輸?shù)臄?shù)據(jù)進(jìn)行加密,從而就誕生了 HTTPS旨怠。二者主要區(qū)別如下:

1??HTTPS 需要到 ca 申請(qǐng)證書(shū)渠驼,一般免費(fèi)證書(shū)較少,因而需要一定費(fèi)用鉴腻。
2??HTTP 信息是明文傳輸迷扇,HTTPS 則是具有安全性的 ssl 加密傳輸協(xié)議。
3??HTTP 和 HTTPS 連接方式完全不同爽哎,端口也不一樣蜓席,前者是 80,后者是 443课锌。
4??HTTP 的連接很簡(jiǎn)單瓮床,是無(wú)狀態(tài)的。HTTPS 是由 SSL+HTTP 構(gòu)建的可進(jìn)行加密傳輸产镐、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議隘庄,比 HTTP 安全。

三癣亚、HTTPS的工作原理

由于 HTTPS 能夠加密信息丑掺,避免敏感信息被第三方獲取,所以很多銀行網(wǎng)站或電子郵箱等等安全級(jí)別較高的服務(wù)都會(huì)采用 HTTPS述雾。

客戶端在使用 HTTPS 方式與 Web 服務(wù)器通信時(shí)有以下幾個(gè)步驟街州,如圖所示。
1??客戶使用 HTTPS 的 URL 訪問(wèn) Web 服務(wù)器玻孟,要求與 Web 服務(wù)器建立 SSL 連接唆缴。
2??Web 服務(wù)器收到客戶端請(qǐng)求后,會(huì)將網(wǎng)站的證書(shū)信息(證書(shū)中包含公鑰)傳送一份給客戶端黍翎。
3??客戶端的瀏覽器與 Web 服務(wù)器開(kāi)始協(xié)商 SSL 連接的安全等級(jí)面徽,也就是信息加密的等級(jí)。
4??客戶端的瀏覽器根據(jù)雙方同意的安全等級(jí),建立會(huì)話密鑰趟紊,然后利用網(wǎng)站的公鑰將會(huì)話密鑰加密氮双,并傳送給網(wǎng)站。
5??Web 服務(wù)器利用自己的私鑰解密出會(huì)話密鑰霎匈。
6??Web 服務(wù)器利用會(huì)話密鑰加密與客戶端之間的通信戴差。

四、HTTPS的優(yōu)點(diǎn)

盡管 HTTPS 并非絕對(duì)安全铛嘱,掌握根證書(shū)的機(jī)構(gòu)暖释、掌握加密算法的組織同樣可以進(jìn)行中間人形式的攻擊,但 HTTPS 仍是現(xiàn)行架構(gòu)下最安全的解決方案墨吓,主要有以下幾個(gè)好處:
?1??使用 HTTPS 可認(rèn)證用戶和服務(wù)器饭入,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;
2??HTTPS 是由 SSL+HTTP 構(gòu)建的可進(jìn)行加密傳輸肛真、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議谐丢,要比 HTTP 安全,可防止數(shù)據(jù)在傳輸過(guò)程中不被竊取蚓让、改變乾忱,確保數(shù)據(jù)的完整性。
3??HTTPS 是現(xiàn)行架構(gòu)下最安全的解決方案历极,雖然不是絕對(duì)安全窄瘟,但它大幅增加了中間人攻擊的成本。
4??谷歌曾在2014年8月份調(diào)整搜索引擎算法趟卸,并稱“比起同等 HTTP 網(wǎng)站蹄葱,采用 HTTPS 加密的網(wǎng)站在搜索結(jié)果中的排名將會(huì)更高”。

五锄列、HTTPS的缺點(diǎn)

1??HTTPS 握手階段比較費(fèi)時(shí)图云,會(huì)使頁(yè)面的加載時(shí)間延長(zhǎng)近 50%,增加 10% 到 20% 的耗電邻邮;
2??HTTPS 連接緩存不如 HTTP 高效竣况,會(huì)增加數(shù)據(jù)開(kāi)銷和功耗,甚至已有的安全措施也會(huì)因此而受到影響筒严;
3??SSL 證書(shū)需要錢(qián)丹泉,功能越強(qiáng)大的證書(shū)費(fèi)用越高,個(gè)人網(wǎng)站鸭蛙、小網(wǎng)站沒(méi)有必要一般不會(huì)用摹恨。
4??SSL 證書(shū)通常需要綁定 IP,不能在同一 IP 上綁定多個(gè)域名娶视,IPv4 資源不可能支撐這個(gè)消耗晒哄。
5??HTTPS 的加密范圍也比較有限,在黑客攻擊、拒絕服務(wù)攻擊揩晴、服務(wù)器劫持等方面幾乎起不到什么作用勋陪。最關(guān)鍵的贪磺,SSL 證書(shū)的信用鏈體系并不安全硫兰,特別是在某些國(guó)家可以控制 CA 根證書(shū)的情況下,中間人攻擊一樣可行寒锚。

六劫映、如何將網(wǎng)站從HTTP切換到HTTPS

需要將頁(yè)面中所有的鏈接,例如 js刹前,css泳赋,圖片等等鏈接都由 HTTP 改為 HTTPS。例如:http://www.baidu.com/改為https://www.baidu.com/喇喉。

這里雖然將 HTTP 切換成了 HTTPS祖今,還是建議保留 HTTP。所以在切換的時(shí)候可以做 HTTP 和 HTTPS 的兼容拣技,具體實(shí)現(xiàn)方式是千诬,去掉頁(yè)面鏈接中的 HTTP 頭部,這樣可以自動(dòng)匹配 HTTP 頭和 HTTPS 頭膏斤。例如:將http://www.baidu.com/改為//www.baidu.com徐绑。然后當(dāng)用戶從 HTTP 的入口進(jìn)入訪問(wèn)頁(yè)面時(shí),頁(yè)面就是 HTTP莫辨,如果用戶是從 HTTPS 的入口進(jìn)入訪問(wèn)頁(yè)面傲茄,頁(yè)面即是 HTTPS 的。

七沮榜、理解HTTPS

HTTP 誘發(fā)了一種經(jīng)典的攻擊方式——中間人攻擊:

對(duì)于這種情況盘榨,可以使用加密方案應(yīng)對(duì)。比如使用 AES 加密蟆融,服務(wù)端和客戶端先約定一個(gè)隨機(jī)生成的密鑰 key 较曼,后續(xù)的通信中,所有的信息都使用這個(gè)密鑰進(jìn)行 AES 加密:

如此雖然后面的通信過(guò)程安全了振愿,但是在第一發(fā)送 AES 密鑰的時(shí)候還是存在被中間人攔截的風(fēng)險(xiǎn)捷犹,一旦中間人攔截到密鑰,可用對(duì)密鑰進(jìn)行更換或者直接解密請(qǐng)求內(nèi)容:

此時(shí)可以使用不對(duì)稱加密冕末,來(lái)專門(mén)對(duì)密鑰的傳輸做一次額外的保護(hù)萍歉。不對(duì)稱加密會(huì)有兩個(gè)密鑰,一個(gè)是公鑰档桃,一個(gè)是私鑰枪孩。明文可以使用公鑰加密私鑰解密,也可以使用私鑰加密公鑰解密。現(xiàn)在比較通用的非對(duì)稱加密算法有 RSA 蔑舞。

既然都使用了不對(duì)稱加密拒担,為啥只對(duì) AES 的密鑰做不對(duì)稱加密,好像多此一舉攻询,完全可以對(duì)后續(xù)所有的通信信息全都使用不對(duì)稱加密从撼。因?yàn)椴粚?duì)稱加密相比較對(duì)稱加密性能上存在明顯的劣勢(shì),可能一個(gè)請(qǐng)求中多消耗幾 ms 或者幾 ns 無(wú)所謂钧栖,但是請(qǐng)求到達(dá)服務(wù)端是要進(jìn)行解密低零,每個(gè)請(qǐng)求都多消耗幾 ms 累計(jì)起來(lái)還是非常可怕的拯杠。

上面方案看起來(lái)很安全掏婶,中間人即使攔截到公鑰,由于不知道私鑰貌似也沒(méi)辦法解密潭陪。實(shí)際上中間人完全不需要解密信息雄妥,他可以生成一對(duì)新的公私鑰發(fā)送給客戶端,后續(xù)中間人使用自己創(chuàng)造的私鑰進(jìn)行解密依溯,然后通過(guò)服務(wù)端生成的公鑰進(jìn)行加密返回給服務(wù)端老厌,以此達(dá)到攻擊的目的:

CA 證書(shū)

上面的問(wèn)題僅通過(guò)客戶端和服務(wù)端已經(jīng)沒(méi)辦法了,這時(shí)候需要引入新的第三方機(jī)構(gòu)誓沸,一個(gè)頒發(fā) CA 證書(shū)的機(jī)構(gòu)梅桩。常見(jiàn)的第三方 CA 機(jī)構(gòu)有:Symantec(賽門(mén)鐵克)、Comodo(科莫多)拜隧、GeoTrust(環(huán)度網(wǎng)信)宿百、GoDaddy、Thawte和daoRapidSSL等等洪添。

在中間人攻擊中垦页,遇到的問(wèn)題不是加密算法不夠神奇,不是密鑰方式不夠嚴(yán)謹(jǐn)干奢,而是無(wú)法向客戶端表明給到的公鑰是服務(wù)端的痊焊,是不是很像無(wú)法證明我是我的問(wèn)題。

所以第三方機(jī)構(gòu)應(yīng)運(yùn)而生忿峻,第三方機(jī)構(gòu)只做一件事情薄啥,將服務(wù)端的公鑰刻上了名字(CA 證書(shū)),客戶端接收到公鑰之后逛尚,只需要來(lái)第三方機(jī)構(gòu)這里查詢垄惧,就能知道這個(gè)公鑰是不是真的服務(wù)器,然后再將自己生成的 AES 密鑰使用 CA 證書(shū)中解密得到的公鑰進(jìn)行加密后發(fā)送給服務(wù)端绰寞。最后服務(wù)端使用私鑰解密得到 AES 密鑰到逊,就可以愉快的和客戶端進(jìn)行通信了铣口。

CA 機(jī)構(gòu)驗(yàn)證不是每次都要去 CA 機(jī)構(gòu)查詢。這樣做未免太耗時(shí)觉壶,尤其是很多 CA 機(jī)構(gòu)的服務(wù)都在海外脑题,這樣一來(lái)一去消耗的時(shí)間太多了。CA 機(jī)構(gòu)高明的地方就在于铜靶,我們?nèi)フ宜?cè)公鑰叔遂,它會(huì)使用另一個(gè)來(lái)注冊(cè)的公司的私鑰對(duì)我們的公鑰加密,得到一個(gè)我們的公鑰的指紋(全球唯一)旷坦,然后將這家公司的公鑰信息(其實(shí)也是證書(shū))和我們的公鑰以及我們公鑰的指紋打包成一個(gè)證書(shū)掏熬。

當(dāng)使用 HTTPS 將證書(shū)下發(fā)給客戶端校驗(yàn)時(shí)佑稠,客戶端(比如瀏覽器)從證書(shū)中看到了上級(jí)證書(shū)的信息秒梅,恰巧這個(gè)證書(shū)就在瀏覽器(或者本機(jī))中,已經(jīng)被驗(yàn)證過(guò)是合法的舌胶,瀏覽器只要使用這個(gè)證書(shū)中的公鑰將我們的公鑰指紋進(jìn)行解密捆蜀,然后比對(duì)我們的公鑰信息就知道我們也是的合法的。因?yàn)榧僮C書(shū)中的公鑰簽名不可能被合法的上級(jí)證書(shū)中公鑰解密 幔嫂。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辆它,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子履恩,更是在濱河造成了極大的恐慌锰茉,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件切心,死亡現(xiàn)場(chǎng)離奇詭異飒筑,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)绽昏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)协屡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人全谤,你說(shuō)我怎么就攤上這事肤晓。” “怎么了认然?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵补憾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我卷员,道長(zhǎng)盈匾,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任子刮,我火速辦了婚禮威酒,結(jié)果婚禮上窑睁,老公的妹妹穿的比我還像新娘。我一直安慰自己葵孤,他們只是感情好担钮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著尤仍,像睡著了一般箫津。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宰啦,一...
    開(kāi)封第一講書(shū)人閱讀 51,708評(píng)論 1 305
  • 那天苏遥,我揣著相機(jī)與錄音,去河邊找鬼赡模。 笑死田炭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的漓柑。 我是一名探鬼主播教硫,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辆布!你這毒婦竟也來(lái)了瞬矩?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤锋玲,失蹤者是張志新(化名)和其女友劉穎景用,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體惭蹂,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伞插,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剿干。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜂怎。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖置尔,靈堂內(nèi)的尸體忽然破棺而出杠步,到底是詐尸還是另有隱情,我是刑警寧澤榜轿,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布幽歼,位于F島的核電站,受9級(jí)特大地震影響谬盐,放射性物質(zhì)發(fā)生泄漏甸私。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谚赎。 院中可真熱鬧,春花似錦冗尤、人聲如沸弃鸦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)唬格。三九已至家破,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間购岗,已是汗流浹背汰聋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喊积,地道東北人烹困。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像注服,于是被迫代替她去往敵國(guó)和親韭邓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子措近,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 什么是 HTTPS? HTTPS (基于安全套接字層的超文本傳輸協(xié)議 或者是 HTTP over SSL) 是一個(gè)...
    majorty閱讀 471評(píng)論 0 1
  • 前言 一直以來(lái)想總結(jié)下HTTPS和HTTP的區(qū)別溶弟,近來(lái)看了些相關(guān)資料,在此總結(jié)下瞭郑。首先給出參考的資料辜御,并表示感謝:...
    WQ_UESTC閱讀 456評(píng)論 0 5
  • 什么是 HTTPS? HTTPS (基于安全套接字層的超文本傳輸協(xié)議 或者是 HTTP over SSL) 是一個(gè)...
    田旭1閱讀 405評(píng)論 0 4
  • 今天在做雅虎的時(shí)候,發(fā)現(xiàn)用第三方工具截取不到客戶端與服務(wù)端的通訊屈张,以前重來(lái)沒(méi)碰到過(guò)這種情況擒权,仔細(xì)看了看,它的url...
    單純的土豆閱讀 987評(píng)論 0 1
  • 環(huán)境 mac os , 文件路徑:桌面 Hexo文件夾 配置本地 hexo 1 安裝 Node.js 2 ...
    傳火的余燼閱讀 2,004評(píng)論 0 2