999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析HTTPS協(xié)議的原理及應(yīng)用

2016-02-05 07:44:09張寶玉

◆張寶玉

(菏澤家政職業(yè)學(xué)院 山東 274300)

淺析HTTPS協(xié)議的原理及應(yīng)用

◆張寶玉

(菏澤家政職業(yè)學(xué)院 山東 274300)

本文詳細(xì)闡述了Https協(xié)議的工作原理,并結(jié)合實(shí)際應(yīng)用情況,對(duì)Https協(xié)議的應(yīng)用前景進(jìn)行了展望。

HTTPS;網(wǎng)絡(luò)協(xié)議;SSL協(xié)議

0 引言

2015年3月,百度公司推出全站Https安全加密服務(wù),對(duì)傳統(tǒng)Http通道添加SSL安全套接層,將用戶的搜索請(qǐng)求全部變成加密狀態(tài),旨在為廣大網(wǎng)民提供更加安全、私密的信息服務(wù)。同年10月,阿里巴巴宣布旗下所有電商平臺(tái)實(shí)現(xiàn)全站 Https,京東、亞馬遜也在登錄或交易頁(yè)面啟用了Https。細(xì)心的網(wǎng)友可能會(huì)發(fā)現(xiàn),國(guó)內(nèi)幾大銀行網(wǎng)站域名前綴為“http://”,而進(jìn)行網(wǎng)上銀行交易時(shí)域名前綴自動(dòng)變?yōu)椤癶ttps://”。

從Http到Https,百度投入了數(shù)千臺(tái)服務(wù)器,上億元的成本。不僅僅是資金投入,技術(shù)難度和工作量也相當(dāng)大,從搜索基礎(chǔ)架構(gòu)調(diào)試,到全部域名(主域名和子域名)的修改,再到速度的優(yōu)化,并解決了中間者劫持問(wèn)題,百度公司半年來(lái)投入的程序員、工程師加起來(lái)有上百人,相當(dāng)于把整個(gè)搜索的元素進(jìn)行了Https的改寫。花銷這么大的人力、物力、財(cái)力,還冒著相當(dāng)大的風(fēng)險(xiǎn),百度公司為何這般重視Https?Https到底有什么作用,發(fā)展趨勢(shì)如何?

1 概念

我們先了解幾個(gè)相關(guān)關(guān)鍵詞的概念和含義:

1.1 HTTP協(xié)議

超文本傳輸協(xié)議(Hypertext transfer protocol),它約定了瀏覽器和萬(wàn)維網(wǎng)服務(wù)器之間通信的規(guī)則,是應(yīng)用最廣泛的網(wǎng)上傳輸數(shù)據(jù)的基礎(chǔ)協(xié)議,目前絕大多數(shù)的網(wǎng)站都采用Http協(xié)議。但是Http采用的是明文傳送,消息完整性檢測(cè)也不充分。這種安全缺陷很容易被利用以獲取網(wǎng)民的信息,如訪問(wèn)記錄、賬號(hào)、密碼等。尤其是當(dāng)前網(wǎng)上交易、網(wǎng)上支付已非常普遍,其安全弊端越來(lái)越突出。

1.2 SSL協(xié)議

SSL(Secure Sockets Layer 安全套接層,其繼任者為TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。用以保障在Internet上數(shù)據(jù)傳輸?shù)陌踩脭?shù)據(jù)加密技術(shù),可確保數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)倪^(guò)程中不會(huì)被截取及竊聽(tīng)。

1.3 HTTPS協(xié)議

安全超文本傳輸協(xié)議(Hypertext Transfer Protocol Secure),是由HTTP + SSL 協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,在Http的基礎(chǔ)上通過(guò)傳輸加密和身份認(rèn)證保證了傳輸過(guò)程中的安全性,比Http 協(xié)議更加安全。最直觀的特征是以https://開(kāi)頭并且地址欄兩端有小鎖樣式的圖標(biāo)。圖1所示為Google chrome、Firefox、IE10在使用Https時(shí)的效果:

圖1 使用Https時(shí)的效果

HTTPS協(xié)議特點(diǎn):

(1)Https 需要到CA 申請(qǐng)證書(shū),一般是收費(fèi)的;

(2)Http 是超文本傳輸協(xié)議,信息是明文傳輸,Https 則是具有安全性的SSL 加密傳輸協(xié)議;

(3)Http 一般使用的端口是80 端口,Https 一般使用443端口。

1.4 SSL證書(shū)

也稱為服務(wù)器SSL證書(shū),是遵守SSL協(xié)議的一種數(shù)字證書(shū),由全球信任的證書(shū)頒發(fā)機(jī)構(gòu)(CA)驗(yàn)證服務(wù)器身份后頒發(fā)。證書(shū)就是一種網(wǎng)絡(luò)上證明持有者身份的文件,同時(shí)證書(shū)中還含有公鑰。通常Windows 部署系統(tǒng)的時(shí)候會(huì)在客戶機(jī)上安裝“根受信任機(jī)構(gòu)列表”,當(dāng)客戶端收到一個(gè)證書(shū)時(shí)會(huì)核對(duì)證書(shū)是否為列表中的機(jī)構(gòu)頒發(fā)的,如果是則信任這個(gè)證書(shū)。

2 SSL協(xié)議原理

2.1 SSL的位置

SSL協(xié)議位于應(yīng)用層和TCP層之間。應(yīng)用層數(shù)據(jù)不再直接傳遞給傳輸層,而是傳遞給SSL層,SSL層把從應(yīng)用層收到的數(shù)據(jù)進(jìn)行加密,并增加自己的SSL頭。

2.2 SSL的工作原理

SSL協(xié)議由三部分組成:握手協(xié)議,記錄協(xié)議,警報(bào)協(xié)議。(1)握手協(xié)議(Handshake protocol)

握手協(xié)議是客戶端和服務(wù)器端用SSL連接通信時(shí)首先使用的協(xié)議,包括客戶機(jī)與服務(wù)器之間的一系列消息。該協(xié)議允許客戶機(jī)和服務(wù)器相互驗(yàn)證,協(xié)商加密和MAC算法以及保密密鑰。握手協(xié)議是在應(yīng)用程序的數(shù)據(jù)傳輸之前使用的。握手協(xié)議過(guò)程可分為四個(gè)階段,如圖2所示:

圖2 握手協(xié)議過(guò)程

①建立安全能力

這個(gè)階段主要是啟動(dòng)邏輯連接,建立連接的安全功能。客戶端先向服務(wù)器端送出一個(gè)client hello消息,服務(wù)器向客戶機(jī)返回server hello消息,并對(duì)client hello消息中的信息進(jìn)行確認(rèn)。

②服務(wù)器認(rèn)證與密鑰交換

當(dāng)服務(wù)器送出server hello消息后,或客戶端需要驗(yàn)證服務(wù)器的身份時(shí),服務(wù)器將其證書(shū)資料傳送給客戶端。

③客戶機(jī)認(rèn)證與密鑰交換

當(dāng)收到服務(wù)器送出的server done消息后,客戶機(jī)核對(duì)服務(wù)器提供的證書(shū)是否正確,接著再確認(rèn)server done消息中所攜帶的參數(shù)是否能夠接受。如果這些都能滿足的話,客戶機(jī)會(huì)響應(yīng)一個(gè)或多個(gè)消息給服務(wù)器。

④完成

客戶機(jī)送出change cipher spec消息,將密碼套件狀態(tài)更新為將要使用的密碼套件狀態(tài)。緊接著,客戶機(jī)利用之前與服務(wù)器協(xié)議得到的算法、密鑰,來(lái)傳送最后的finished消息,用來(lái)證明密鑰交換以及認(rèn)證的過(guò)程已經(jīng)完成。為了響應(yīng)這兩個(gè)消息,服務(wù)器會(huì)傳送自己的change cipher spec消息,并將密碼套件狀態(tài)更新為將要使用密碼套件狀態(tài),最后再送出finished消息。當(dāng)這些步驟完成后,客戶端與服務(wù)器就能開(kāi)始傳送應(yīng)用層的數(shù)據(jù)了。

(2)記錄協(xié)議(Record protocol)

當(dāng)客戶機(jī)和服務(wù)器鑒別對(duì)方并確定安全信息交換使用的算法后,進(jìn)入SSL記錄協(xié)議,記錄協(xié)議提供兩個(gè)服務(wù):

①數(shù)據(jù)保密性:使用握手協(xié)議定義的秘密密鑰對(duì)SSL所傳送的數(shù)據(jù)加密。

②消息完整性:使用握手協(xié)議定義的帶有MAC的密鑰計(jì)算出消息認(rèn)證碼。

SSL記錄協(xié)議操作流程如圖3所示:

圖3 SSL記錄協(xié)議操作流程

記錄協(xié)議接收到應(yīng)用程序傳送的消息,將數(shù)據(jù)分片(切成容易管理的小區(qū)塊),然后選擇是否對(duì)這些區(qū)塊作壓縮,再加上此區(qū)塊的消息認(rèn)證碼。接著將數(shù)據(jù)區(qū)塊與MAC一起做加密處理,加上SSL記錄頭后通過(guò)TCP傳送出去。接收數(shù)據(jù)的那一方對(duì)數(shù)據(jù)進(jìn)行解釋、核查、解壓縮、重組,將消息的內(nèi)容還原,傳送給上層使用者。

(3)警報(bào)協(xié)議(Alert protocol)

當(dāng)客戶機(jī)和服務(wù)器發(fā)現(xiàn)錯(cuò)誤時(shí),會(huì)向?qū)Ψ桨l(fā)送一個(gè)警報(bào)消息。如果是致命錯(cuò)誤,算法立即終止會(huì)話并關(guān)閉SSL連接,同時(shí)還會(huì)刪除相關(guān)的會(huì)話記錄、秘密和密鑰。

總之,在SSL工作過(guò)程中,使用握手協(xié)議協(xié)商加密和MAC算法以及保密密鑰,使用記錄協(xié)議對(duì)交換的數(shù)據(jù)進(jìn)行加密和簽名,使用警報(bào)協(xié)議解決出現(xiàn)的問(wèn)題。

3 SSL 證書(shū)的作用和驗(yàn)證過(guò)程

3.1 SSL證書(shū)的作用

(1)認(rèn)證服務(wù)器。網(wǎng)站部署全球信任的SSL證書(shū)后,瀏覽器內(nèi)置安全機(jī)制,實(shí)時(shí)查驗(yàn)證書(shū)狀態(tài),通過(guò)瀏覽器向用戶展示網(wǎng)站認(rèn)證信息,讓用戶輕松識(shí)別網(wǎng)站真實(shí)身份,防止釣魚(yú)網(wǎng)站仿冒。

(2)實(shí)現(xiàn)加密傳輸。安裝SSL證書(shū)后,使用Https加密協(xié)議訪問(wèn)網(wǎng)站,可激活客戶端瀏覽器到網(wǎng)站服務(wù)器之間的"SSL加密通道"(SSL協(xié)議),實(shí)現(xiàn)高強(qiáng)度雙向加密傳輸,防止傳輸數(shù)據(jù)被泄露或篡改。

3.2 SSL證書(shū)的頒發(fā)和驗(yàn)證過(guò)程

Ssl證書(shū)頒發(fā)和驗(yàn)證過(guò)程如圖4所示:

圖4 證書(shū)頒發(fā)和驗(yàn)證過(guò)程

瀏覽器會(huì)從如下三個(gè)方面驗(yàn)證證書(shū)的有效性,不滿足情況下會(huì)報(bào)警提示:

(1)證書(shū)頒發(fā)者是否在“根受信任的證書(shū)頒發(fā)機(jī)構(gòu)列表”中;(2)證書(shū)是否過(guò)期;

(3)證書(shū)的持有者是否和訪問(wèn)的網(wǎng)站一致。

除此之外瀏覽器還會(huì)定期更新證書(shū)頒發(fā)者的“證書(shū)吊銷列表”,如果某個(gè)證書(shū)雖然符合上述條件,但是被它的頒發(fā)者在“證書(shū)吊銷列表”中列出,那么也將給出警告。

4 HTTPS協(xié)議工作原理

4.1 HTTPS 協(xié)議的工作流程

HTTPS在真正的數(shù)據(jù)交互之前通過(guò) SSL握手協(xié)議協(xié)商一個(gè)對(duì)稱密鑰,通過(guò)這個(gè)對(duì)稱密鑰對(duì)以后的通信數(shù)據(jù)進(jìn)行加密。其通信過(guò)程如圖5 所示:

圖5 HTTPS 協(xié)議的工作流程

(1)客戶端發(fā)起HTTPS請(qǐng)求

用戶在瀏覽器里輸入Https網(wǎng)址,然后連接到server的443端口。

(2)服務(wù)端的配置

采用HTTPS協(xié)議的服務(wù)器必須要有一套數(shù)字證書(shū),可以自己制作,也可以向組織申請(qǐng)。兩者的區(qū)別就是自己頒發(fā)的證書(shū)需要通過(guò)客戶端驗(yàn)證后才可以繼續(xù)訪問(wèn),而使用受信任的公司申請(qǐng)的證書(shū)則不會(huì)彈出提示頁(yè)面。數(shù)字證書(shū)其實(shí)就是一對(duì)公鑰和私鑰,就好比一個(gè)鎖和一把鑰匙,并且只有你自己有這把鑰匙,把鎖交給別人,別人把重要的東西鎖起后發(fā)給你,因?yàn)橹挥心阌羞@把鑰匙,所以也只有你才能看到被這把鎖鎖起來(lái)的東西。

(3)傳送證書(shū)

這個(gè)證書(shū)就是公鑰。

(4)客戶端解析證書(shū)

SSL首先驗(yàn)證收到的公鑰是否有效,比如頒發(fā)機(jī)構(gòu)、過(guò)期時(shí)間等,如果發(fā)現(xiàn)異常,彈出警告框,提示證書(shū)存在問(wèn)題,不然,就生成一個(gè)隨即值,接著用證書(shū)對(duì)該隨機(jī)值進(jìn)行加密。正如前面講的,把隨機(jī)值用鎖頭鎖起來(lái),這樣除非有鑰匙,鎖住的內(nèi)容是不會(huì)被看到的。

(5)傳送加密信息

這部分傳送的是用證書(shū)加密后的隨機(jī)值,目的就是讓服務(wù)端得到這個(gè)隨機(jī)值,以后客戶端和服務(wù)端的通信就可以通過(guò)這個(gè)隨機(jī)值來(lái)進(jìn)行加密解密了。

(6)服務(wù)段解密信息

服務(wù)端用私鑰解密后,得到了客戶端傳過(guò)來(lái)的隨機(jī)值(第二個(gè)私鑰),然后把數(shù)據(jù)內(nèi)容通過(guò)該值進(jìn)行對(duì)稱加密。所謂對(duì)稱加密就是,將信息和私鑰通過(guò)某種算法混合在一起,這樣除非知道私鑰,不然無(wú)法獲取內(nèi)容,而正好客戶端和服務(wù)端都知道這個(gè)私鑰,所以只要加密算法夠彪悍,私鑰夠復(fù)雜,數(shù)據(jù)就夠安全。

(7)傳輸加密后的信息

這部分信息是服務(wù)器端用私鑰(第二個(gè)私鑰)加密后的信息,可以在客戶端被還原

(8)客戶端解密信息

客戶端用前面生成的私鑰(第二個(gè)私鑰)解密從服務(wù)器端傳送過(guò)來(lái)的信息,于是獲取了解密后的內(nèi)容。整個(gè)過(guò)程第三方即使監(jiān)聽(tīng)到了數(shù)據(jù),也束手無(wú)策。

4.2 HTTPS 協(xié)議的加密方法

加密算法分為兩種:對(duì)稱加密和非對(duì)稱加密。所謂對(duì)稱加密(也叫密鑰加密)就是指加密和解密使用的是相同的密鑰。而非對(duì)稱加密(也叫公鑰加密)就是指加密和解密使用了不同的密鑰。

對(duì)稱內(nèi)容加密強(qiáng)度非常高,一般不會(huì)被破解。但是要安全地生成和保管密鑰卻是個(gè)很大的問(wèn)題,如果客戶端和服務(wù)器的會(huì)話都使用固定的密鑰來(lái)加密和解密,而對(duì)稱密鑰又被其它人獲取,整個(gè)數(shù)據(jù)交換就不安全了。

非對(duì)稱加密主要用于密鑰交換(也叫密鑰協(xié)商),能夠很好地解決這個(gè)問(wèn)題。瀏覽器和服務(wù)器每次新建會(huì)話時(shí)都使用非對(duì)稱密鑰交換算法協(xié)商出對(duì)稱密鑰,使用這些對(duì)稱密鑰完成應(yīng)用數(shù)據(jù)的加解密和驗(yàn)證,密鑰只在內(nèi)存中生成和保存,并且每次會(huì)話的對(duì)稱密鑰都不相同(除非會(huì)話重復(fù)使用),中間者是無(wú)法竊取的。

5 HTTPS沒(méi)有全面普及的原因

既然HTTPS 協(xié)議這么安全,為什么沒(méi)有更早地在互聯(lián)網(wǎng)上全面普及呢?原因如下幾點(diǎn):

5.1 Https 與Http通信過(guò)程的差異

(1)302 重定向,如果用戶沒(méi)有在地址欄中直接輸入前綴Https://進(jìn)行訪問(wèn),就會(huì)出現(xiàn)重定向過(guò)程;

(2)SSL 握手過(guò)程增加了網(wǎng)絡(luò)傳輸RTT和數(shù)字簽名校驗(yàn),很多移動(dòng)終端本身計(jì)算性能就不是很強(qiáng),耗時(shí)會(huì)更加明顯;

(3)證書(shū)驗(yàn)證和狀態(tài)檢驗(yàn)。瀏覽器一般會(huì)通過(guò)OCSP來(lái)檢查證書(shū)的撤銷狀態(tài),在拿到服務(wù)器發(fā)送過(guò)來(lái)的證書(shū)之后會(huì)請(qǐng)求OCSP站點(diǎn)獲取證書(shū)的狀態(tài),如果OCSP站點(diǎn)位于國(guó)外或者出現(xiàn)故障的話會(huì)影響這個(gè)正常用戶的訪問(wèn)速度。

5.2 HTTPS對(duì)訪問(wèn)速度有影響

HTTPS協(xié)議交互增加了網(wǎng)絡(luò)RTT(round trip time)。協(xié)議握手階段比較費(fèi)時(shí)間,對(duì)網(wǎng)站的反應(yīng)速度會(huì)產(chǎn)生負(fù)面的影響。同時(shí),HTTPS加密/解密也會(huì)產(chǎn)生計(jì)算耗時(shí)。要解決速度問(wèn)題,通常會(huì)使用SSL加速器(專用服務(wù)器)來(lái)改善,需要增加硬件設(shè)備以分擔(dān)負(fù)載提高速度。

5.3 SSL 證書(shū)需要交費(fèi)

在HTTPS協(xié)議中,證書(shū)是必須的,使用證書(shū)必須向認(rèn)證機(jī)構(gòu)(CA)購(gòu)買,功能越強(qiáng)大的證書(shū)費(fèi)用會(huì)越高,因此,很多安全性要求不高的網(wǎng)站不愿多此費(fèi)用支出。節(jié)約購(gòu)買和維護(hù)證書(shū)的開(kāi)銷也是原因之一。

5.4 HTTPS服務(wù)器端的負(fù)載增加

與明文通信相比,加密通信要消耗更多的CPU和內(nèi)存資源,如果每次通信都加密,會(huì)消耗相當(dāng)多的資源,訪問(wèn)量較多的網(wǎng)站需要增加投入更大的成本。因此,有些網(wǎng)站只是在傳輸包含敏感信息或保密數(shù)據(jù)時(shí),才利用HTTPS加密通信,并非對(duì)所有內(nèi)容都進(jìn)行加密處理。

6 結(jié)語(yǔ)

國(guó)外的大型互聯(lián)網(wǎng)公司很多已經(jīng)啟用了全站 HTTPS,這也是未來(lái)互聯(lián)網(wǎng)發(fā)展的趨勢(shì)。國(guó)內(nèi)的大型互聯(lián)網(wǎng)企業(yè)大多是在一些涉及賬戶或者交易的子頁(yè)面 / 子請(qǐng)求上啟用了 HTTPS。百度和阿里巴巴率先全站部署 HTTPS,對(duì)國(guó)內(nèi)互聯(lián)網(wǎng)行業(yè)的全站HTTPS 進(jìn)程必將有著巨大示范引領(lǐng)推動(dòng)作用,隨著HTTPS的不斷的推廣和普及,帶給我們的將是一個(gè)更加安全的網(wǎng)絡(luò)環(huán)境。

[1]黃河.編著.計(jì)算機(jī)網(wǎng)絡(luò)安全——協(xié)議、技術(shù)與應(yīng)用[M].清華大學(xué)出版社,2008.

[2]熊平.主編.信息安全原理及應(yīng)用[M].清華大學(xué)出版社,2009.

主站蜘蛛池模板: 女人毛片a级大学毛片免费| 四虎成人精品| 亚洲国产日韩在线成人蜜芽| 国产精品亚洲αv天堂无码| 欧美黄网站免费观看| 国产精品福利在线观看无码卡| 欧美高清国产| 亚洲丝袜第一页| 国产永久无码观看在线| 99激情网| 国产精品毛片一区视频播| 成年午夜精品久久精品| 国产女人在线视频| 直接黄91麻豆网站| 日韩成人在线网站| 秋霞一区二区三区| 国产又大又粗又猛又爽的视频| 五月丁香伊人啪啪手机免费观看| 久久精品一卡日本电影| 亚洲天堂首页| 国产成人一区二区| 亚洲无码91视频| 国产成人超碰无码| 精品国产91爱| 一本一本大道香蕉久在线播放| 国产亚洲精品在天天在线麻豆| 国产网友愉拍精品| 欧美午夜在线观看| 亚洲高清中文字幕| 亚洲 欧美 日韩综合一区| 国产精品吹潮在线观看中文| 99re在线视频观看| 婷婷久久综合九色综合88| 国产超碰一区二区三区| 美女扒开下面流白浆在线试听 | 999国产精品| 97人人模人人爽人人喊小说| 亚洲AV人人澡人人双人| 欧美中出一区二区| 青青国产视频| 中文字幕无码中文字幕有码在线| AV不卡在线永久免费观看| 中文字幕日韩丝袜一区| 国产99视频免费精品是看6| 欧美成人午夜影院| 无码国产伊人| 青草视频免费在线观看| 中日韩欧亚无码视频| 97影院午夜在线观看视频| 在线人成精品免费视频| 丁香婷婷激情综合激情| 国产精品久久久久久久久| 亚洲一级毛片免费观看| 九九九久久国产精品| 国产一区二区在线视频观看| 男女猛烈无遮挡午夜视频| 亚洲不卡av中文在线| 激情综合激情| 蜜桃视频一区二区三区| 亚洲第一成网站| 国产簧片免费在线播放| 欧美国产综合视频| 99精品视频九九精品| 中文字幕亚洲专区第19页| 91在线丝袜| 91精品久久久久久无码人妻| 91啪在线| 欧美国产综合色视频| 久久国产精品无码hdav| 91视频首页| 乱人伦视频中文字幕在线| 亚洲国产中文在线二区三区免| 91在线视频福利| 91免费国产高清观看| 幺女国产一级毛片| 97国产在线播放| 国产精品久久久免费视频| 欧美激情首页| 久久99蜜桃精品久久久久小说| 99久久精品视香蕉蕉| 亚洲精品成人7777在线观看| 2024av在线无码中文最新|