超文本傳輸協(xié)議HTTP協(xié)議被用于在Web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息荡含,HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密届垫,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報文释液,就可以直接讀懂其中的信息,因此装处,HTTP協(xié)議不適合傳輸一些敏感信息误债,比如:信用卡號、密碼等支付信息。
為了解決HTTP協(xié)議的這一缺陷寝蹈,需要使用另一種協(xié)議:安全套接字層超文本傳輸協(xié)議HTTPS李命,為了數(shù)據(jù)傳輸?shù)陌踩琀TTPS在HTTP的基礎(chǔ)上加入了SSL協(xié)議箫老,SSL依靠證書來驗(yàn)證服務(wù)器的身份封字,并為瀏覽器和服務(wù)器之間的通信加密。
一耍鬓、HTTP和HTTPS的基本概念
HTTP:是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議阔籽,是一個客戶端和服務(wù)器端請求和應(yīng)答的標(biāo)準(zhǔn)(TCP),用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議牲蜀,它可以使瀏覽器更加高效笆制,使網(wǎng)絡(luò)傳輸減少。
HTTPS:是以安全為目標(biāo)的HTTP通道各薇,簡單講是HTTP的安全版项贺,即HTTP下加入SSL層君躺,HTTPS的安全基礎(chǔ)是SSL峭判,因此加密的詳細(xì)內(nèi)容就需要SSL。
HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個信息安全通道棕叫,來保證數(shù)據(jù)傳輸?shù)陌踩煮Γ涣硪环N就是確認(rèn)網(wǎng)站的真實(shí)性。
二俺泣、HTTP與HTTPS有什么區(qū)別疗认?
HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文的伏钠,因此使用HTTP協(xié)議傳輸隱私信息非常不安全横漏,為了保證這些隱私數(shù)據(jù)能加密傳輸,于是網(wǎng)景公司設(shè)計了SSL(Secure Sockets Layer)協(xié)議用于對HTTP協(xié)議傳輸?shù)臄?shù)據(jù)進(jìn)行加密熟掂,從而就誕生了HTTPS缎浇。
簡單來說,HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸赴肚、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議素跺,要比http協(xié)議安全。
HTTPS和HTTP的區(qū)別主要如下:
1誉券、https協(xié)議需要到ca申請證書指厌,一般免費(fèi)證書較少,因而需要一定費(fèi)用踊跟。
2踩验、http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議晰甚。
3衙传、http和https使用的是完全不同的連接方式,用的端口也不一樣厕九,前者是80蓖捶,后者是443。
4扁远、http的連接很簡單俊鱼,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸畅买、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議并闲,比http協(xié)議安全。
三谷羞、HTTPS的工作原理
我們都知道HTTPS能夠加密信息帝火,以免敏感信息被第三方獲取,所以很多銀行網(wǎng)站或電子郵箱等等安全級別較高的服務(wù)都會采用HTTPS協(xié)議湃缎。
1犀填、客戶端發(fā)起HTTPS請求
這個沒什么好說的,就是用戶在瀏覽器里輸入一個https網(wǎng)址嗓违,然后連接到server的443端口九巡。
2、服務(wù)端的配置
采用HTTPS協(xié)議的服務(wù)器必須要有一套數(shù)字證書蹂季,可以自己制作冕广,也可以向組織申請,區(qū)別就是自己頒發(fā)的證書需要客戶端驗(yàn)證通過偿洁,才可以繼續(xù)訪問撒汉,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl就是個不錯的選擇,有1年的免費(fèi)服務(wù))涕滋。
這套證書其實(shí)就是一對公鑰和私鑰睬辐,如果對公鑰和私鑰不太理解,可以想象成一把鑰匙和一個鎖頭何吝,只是全世界只有你一個人有這把鑰匙溉委,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來爱榕,然后發(fā)給你瓣喊,因?yàn)橹挥心阋粋€人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西黔酥。
3藻三、傳送證書
這個證書其實(shí)就是公鑰洪橘,只是包含了很多信息,如證書的頒發(fā)機(jī)構(gòu)棵帽,過期時間等等熄求。
4、客戶端解析證書
這部分工作是有客戶端的TLS來完成的逗概,首先會驗(yàn)證公鑰是否有效弟晚,比如頒發(fā)機(jī)構(gòu),過期時間等等逾苫,如果發(fā)現(xiàn)異常卿城,則會彈出一個警告框,提示證書存在問題铅搓。
如果證書沒有問題瑟押,那么就生成一個隨機(jī)值,然后用證書對該隨機(jī)值進(jìn)行加密星掰,就好像上面說的多望,把隨機(jī)值用鎖頭鎖起來,這樣除非有鑰匙氢烘,不然看不到被鎖住的內(nèi)容怀偷。
5、傳送加密信息
這部分傳送的是用證書加密后的隨機(jī)值威始,目的就是讓服務(wù)端得到這個隨機(jī)值枢纠,以后客戶端和服務(wù)端的通信就可以通過這個隨機(jī)值來進(jìn)行加密解密了像街。
6黎棠、服務(wù)段解密信息
服務(wù)端用私鑰解密后,得到了客戶端傳過來的隨機(jī)值(私鑰)镰绎,然后把內(nèi)容通過該值進(jìn)行對稱加密脓斩,所謂對稱加密就是,將信息和私鑰通過某種算法混合在一起畴栖,這樣除非知道私鑰随静,不然無法獲取內(nèi)容,而正好客戶端和服務(wù)端都知道這個私鑰吗讶,所以只要加密算法夠彪悍燎猛,私鑰夠復(fù)雜,數(shù)據(jù)就夠安全照皆。
7重绷、傳輸加密后的信息
這部分信息是服務(wù)段用私鑰加密后的信息,可以在客戶端被還原膜毁。
8昭卓、客戶端解密信息
客戶端用之前生成的私鑰解密服務(wù)段傳過來的信息愤钾,于是獲取了解密后的內(nèi)容,整個過程第三方即使監(jiān)聽到了數(shù)據(jù)候醒,也束手無策能颁。
六、HTTPS的優(yōu)點(diǎn)
正是由于HTTPS非常的安全倒淫,攻擊者無法從中找到下手的地方伙菊,從站長的角度來說,HTTPS的優(yōu)點(diǎn)有以下2點(diǎn):
1敌土、SEO方面
谷歌曾在2014年8月份調(diào)整搜索引擎算法占业,并稱“比起同等HTTP網(wǎng)站,采用HTTPS加密的網(wǎng)站在搜索結(jié)果中的排名將會更高”纯赎。
2谦疾、安全性
盡管HTTPS并非絕對安全,掌握根證書的機(jī)構(gòu)犬金、掌握加密算法的組織同樣可以進(jìn)行中間人形式的攻擊念恍,但HTTPS仍是現(xiàn)行架構(gòu)下最安全的解決方案,主要有以下幾個好處:
(1)晚顷、使用HTTPS協(xié)議可認(rèn)證用戶和服務(wù)器峰伙,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;
(2)该默、HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸瞳氓、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,要比http協(xié)議安全栓袖,可防止數(shù)據(jù)在傳輸過程中不被竊取匣摘、改變,確保數(shù)據(jù)的完整性裹刮。
(3)音榜、HTTPS是現(xiàn)行架構(gòu)下最安全的解決方案,雖然不是絕對安全捧弃,但它大幅增加了中間人攻擊的成本赠叼。
七、HTTPS的缺點(diǎn)
雖然說HTTPS有很大的優(yōu)勢违霞,但其相對來說嘴办,還是有些不足之處的,具體來說买鸽,有以下2點(diǎn):
1涧郊、SEO方面
據(jù)ACM CoNEXT數(shù)據(jù)顯示,使用HTTPS協(xié)議會使頁面的加載時間延長近50%癞谒,增加10%到20%的耗電底燎,此外刃榨,HTTPS協(xié)議還會影響緩存,增加數(shù)據(jù)開銷和功耗双仍,甚至已有安全措施也會受到影響也會因此而受到影響枢希。
而且HTTPS協(xié)議的加密范圍也比較有限,在黑客攻擊朱沃、拒絕服務(wù)攻擊苞轿、服務(wù)器劫持等方面幾乎起不到什么作用。
最關(guān)鍵的逗物,SSL證書的信用鏈體系并不安全搬卒,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行翎卓。
2契邀、經(jīng)濟(jì)方面
(1)、SSL證書需要錢失暴,功能越強(qiáng)大的證書費(fèi)用越高坯门,個人網(wǎng)站、小網(wǎng)站沒有必要一般不會用逗扒。
(2)古戴、SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名矩肩,IPv4資源不可能支撐這個消耗(SSL有擴(kuò)展可以部分解決這個問題现恼,但是比較麻煩,而且要求瀏覽器黍檩、操作系統(tǒng)支持叉袍,Windows XP就不支持這個擴(kuò)展,考慮到XP的裝機(jī)量建炫,這個特性幾乎沒用)畦韭。
(3)疼蛾、HTTPS連接緩存不如HTTP高效肛跌,大流量網(wǎng)站如非必要也不會采用,流量成本太高察郁。
(4)衍慎、HTTPS連接服務(wù)器端資源占用高很多,支持訪客稍多的網(wǎng)站需要投入更大的成本皮钠,如果全部采用HTTPS稳捆,基于大部分計算資源閑置的假設(shè)的VPS的平均成本會上去。
(5)麦轰、HTTPS協(xié)議握手階段比較費(fèi)時乔夯,對網(wǎng)站的相應(yīng)速度有負(fù)面影響砖织,如非必要,沒有理由犧牲用戶體驗(yàn)末荐。