HTTPS 與 SSL 證書(shū)概要

2021-02-09    分類(lèi): 網(wǎng)站建設(shè)

HTTPS簡(jiǎn)介

超文本傳輸安全協(xié)議(英語(yǔ):Hypertext Transfer Protocol Secure,縮寫(xiě):HTTPS,常稱(chēng)為HTTP over TLS,HTTP over ssl或HTTP Secure)是一種網(wǎng)絡(luò)安全傳輸協(xié)議。具體介紹以前先來(lái)介紹一下以前常見(jiàn)的HTTP,HTTP就是我們平時(shí)瀏覽網(wǎng)頁(yè)時(shí)候使用的一種協(xié)議。HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文,因此使用HTTP協(xié)議傳輸隱私信息非常不安全。HTTP使用80端口通訊,而HTTPS占用443端口通訊。在計(jì)算機(jī)網(wǎng)絡(luò)上,HTTPS經(jīng)由超文本傳輸協(xié)議(HTTP)進(jìn)行通信,但利用ssl/TLS來(lái)加密數(shù)據(jù)包。HTTPS開(kāi)發(fā)的主要目的,是提供對(duì)網(wǎng)絡(luò)服務(wù)器的身份認(rèn)證,保護(hù)交換數(shù)據(jù)的隱私與完整性。這個(gè)協(xié)議由網(wǎng)景公司(Netscape)在1994年首次提出,隨后擴(kuò)展到互聯(lián)網(wǎng)上。

HTTPS 工作原理

HTTPS在傳輸數(shù)據(jù)之前需要客戶(hù)端(瀏覽器)與服務(wù)端(網(wǎng)站)之間進(jìn)行一次握手,在握手過(guò)程中將確立雙方加密傳輸數(shù)據(jù)的密碼信息。TLS/ssl協(xié)議不僅僅是一套加密傳輸?shù)膮f(xié)議,更是一件經(jīng)過(guò)藝術(shù)家精心設(shè)計(jì)的藝術(shù)品,TLS/ssl中使用了非對(duì)稱(chēng)加密,對(duì)稱(chēng)加密以及HASH算法。握手過(guò)程的具體描述如下:

  • 1)瀏覽器將自己支持的一套加密規(guī)則發(fā)送給網(wǎng)站。

  • 2)網(wǎng)站從中選出一組加密算法與HASH算法,并將自己的身份信息以證書(shū)的形式發(fā)回給瀏覽器。證書(shū)里面包含了網(wǎng)站地址,加密公鑰,以及證書(shū)的頒發(fā)機(jī)構(gòu)等信息。

  • 3)瀏覽器獲得網(wǎng)站證書(shū)之后瀏覽器要做以下工作: a) 驗(yàn)證證書(shū)的合法性(頒發(fā)證書(shū)的機(jī)構(gòu)是否合法,證書(shū)中包含的網(wǎng)站地址是否與正在訪問(wèn)的地址一致等),如果證書(shū)受信任,則瀏覽器欄里面會(huì)顯示一個(gè)小鎖頭,否則會(huì)給出證書(shū)不受信的提示。 b) 如果證書(shū)受信任,或者是用戶(hù)接受了不受信的證書(shū),瀏覽器會(huì)生成一串隨機(jī)數(shù)的密碼,并用證書(shū)中提供的公鑰加密。 c) 使用約定好的HASH算法計(jì)算握手消息,并使用生成的隨機(jī)數(shù)對(duì)消息進(jìn)行加密,最后將之前生成的所有信息發(fā)送給網(wǎng)站。

  • 4)網(wǎng)站接收瀏覽器發(fā)來(lái)的數(shù)據(jù)之后要做以下的操作: a) 使用自己的私鑰將信息解密取出密碼,使用密碼解密瀏覽器發(fā)來(lái)的握手消息,并驗(yàn)證HASH是否與瀏覽器發(fā)來(lái)的一致。 b) 使用密碼加密一段握手消息,發(fā)送給瀏覽器。

  • 5)瀏覽器解密并計(jì)算握手消息的HASH,如果與服務(wù)端發(fā)來(lái)的HASH一致,此時(shí)握手過(guò)程結(jié)束,之后所有的通信數(shù)據(jù)將由之前瀏覽器生成的隨機(jī)密碼并利用對(duì)稱(chēng)加密算法進(jìn)行加密。

這里瀏覽器與網(wǎng)站互相發(fā)送加密的握手消息并驗(yàn)證,目的是為了保證雙方都獲得了一致的密碼,并且可以正常的加密解密數(shù)據(jù),為后續(xù)真正數(shù)據(jù)的傳輸做一次測(cè)試。另外,HTTPS一般使用的加密與HASH算法如下:

  • 非對(duì)稱(chēng)加密算法:RSA,DSA/DSS

  • 對(duì)稱(chēng)加密算法:AES,RC4,3DES

  • HASH算法:MD5,SHA1,SHA256

HTTPS對(duì)應(yīng)的通信時(shí)序圖如下:

HTTPS協(xié)議和HTTP協(xié)議的區(qū)別:

  • https協(xié)議需要到ca申請(qǐng)證書(shū),一般免費(fèi)證書(shū)很少,需要交費(fèi)。

  • http是超文本傳輸協(xié)議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協(xié)議。

  • http和https使用的是完全不同的連接方式用的端口也不一樣,前者是80,后者是443。

  • http的連接很簡(jiǎn)單,是無(wú)狀態(tài)的 。

  • HTTPS協(xié)議是由ssl+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議, 要比http協(xié)議安全。

ssl 證書(shū)

從前面我們可以了解到HTTPS核心的一個(gè)部分是數(shù)據(jù)傳輸之前的握手,握手過(guò)程中確定了數(shù)據(jù)加密的密碼。在握手過(guò)程中,網(wǎng)站會(huì)向?yàn)g覽器發(fā)送ssl證書(shū),ssl證書(shū)和我們?nèi)粘S玫纳矸葑C類(lèi)似,是一個(gè)支持HTTPS網(wǎng)站的身份證明,ssl證書(shū)里面包含了網(wǎng)站的域名,證書(shū)有效期,證書(shū)的頒發(fā)機(jī)構(gòu)以及用于加密傳輸密碼的公鑰等信息,由于公鑰加密的密碼只能被在申請(qǐng)證書(shū)時(shí)生成的私鑰解密,因此瀏覽器在生成密碼之前需要先核對(duì)當(dāng)前訪問(wèn)的域名與證書(shū)上綁定的域名是否一致,同時(shí)還要對(duì)證書(shū)的頒發(fā)機(jī)構(gòu)進(jìn)行驗(yàn)證,如果驗(yàn)證失敗瀏覽器會(huì)給出證書(shū)錯(cuò)誤的提示。在這一部分我將對(duì)ssl證書(shū)的驗(yàn)證過(guò)程以及個(gè)人用戶(hù)在訪問(wèn)HTTPS網(wǎng)站時(shí),對(duì)ssl證書(shū)的使用需要注意哪些安全方面的問(wèn)題進(jìn)行描述。

證書(shū)的類(lèi)型

實(shí)際上,我們使用的證書(shū)分很多種類(lèi)型,ssl證書(shū)只是其中的一種。證書(shū)的格式是由X.509標(biāo)準(zhǔn)定義。ssl證書(shū)負(fù)責(zé)傳輸公鑰,是一種PKI(Public Key Infrastructure,公鑰基礎(chǔ)結(jié)構(gòu))證書(shū)。我們常見(jiàn)的證書(shū)根據(jù)用途不同大致有以下幾種:

  • 1、ssl證書(shū),用于加密HTTP協(xié)議,也就是HTTPS。

  • 2、代碼簽名證書(shū),用于簽名二進(jìn)制文件,比如Windows內(nèi)核驅(qū)動(dòng),F(xiàn)irefox插件,Java代碼簽名等等。

  • 3、客戶(hù)端證書(shū),用于加密郵件。

  • 4、雙因素證書(shū),網(wǎng)銀專(zhuān)業(yè)版使用的USB Key里面用的就是這種類(lèi)型的證書(shū)。

這些證書(shū)都是由受認(rèn)證的證書(shū)頒發(fā)機(jī)構(gòu)——我們稱(chēng)之為CA(Certificate Authority)機(jī)構(gòu)來(lái)頒發(fā),針對(duì)企業(yè)與個(gè)人的不同,可申請(qǐng)的證書(shū)的類(lèi)型也不同,價(jià)格也不同。CA機(jī)構(gòu)頒發(fā)的證書(shū)都是受信任的證書(shū),對(duì)于ssl證書(shū)來(lái)說(shuō),如果訪問(wèn)的網(wǎng)站與證書(shū)綁定的網(wǎng)站一致就可以通過(guò)瀏覽器的驗(yàn)證而不會(huì)提示錯(cuò)誤。

ssl證書(shū)申請(qǐng)與規(guī)則

ssl證書(shū)可以向CA機(jī)構(gòu)通過(guò)付費(fèi)的方式申請(qǐng),也可以自己制作。CA機(jī)構(gòu)頒發(fā)的證書(shū)價(jià)格非常昂貴,而且有效期一般只有一年到三年不等(年數(shù)不同,價(jià)格也不同),過(guò)期之后還要再次交錢(qián)申請(qǐng),因此一般只有企業(yè)才會(huì)申請(qǐng)證書(shū)。但是隨著個(gè)人網(wǎng)站的增多,目前也有針對(duì)個(gè)人的ssl證書(shū)服務(wù),價(jià)格相對(duì)便宜一些,國(guó)內(nèi)的話400多塊錢(qián)就能申請(qǐng)到一個(gè),國(guó)外更是有免費(fèi)的ssl證書(shū)可以申請(qǐng)。在申請(qǐng)ssl證書(shū)時(shí)需要向CA機(jī)構(gòu)提供網(wǎng)站域名,營(yíng)業(yè)執(zhí)照,以及申請(qǐng)人的身份信息等。網(wǎng)站的域名非常重要,申請(qǐng)人必須證明自己對(duì)域名有所有權(quán),如果支持Hotmail.com,Gmail.com的ssl證書(shū)都可以隨便申請(qǐng),黑客們就不用做假證書(shū)欺騙了。

此外,一個(gè)證書(shū)一般只綁定一個(gè)域名,如果CA機(jī)構(gòu)心情好的話,會(huì)免費(fèi)再綁一個(gè),比如你要申請(qǐng)域名時(shí)綁定的域名是 www.runoob.com,那么只有在瀏覽器地址是 https://www.runoob.com 的時(shí)候,這個(gè)證書(shū)才是受信任的,如果地址是https://tt.runoob.com或者h(yuǎn)ttps://login.runoob.com,那么這個(gè)證書(shū)由于訪問(wèn)的域名與證書(shū)綁定的域名不同,仍然會(huì)被瀏覽器顯示為不受信任的。

CA機(jī)構(gòu)也提供申請(qǐng)通配符域名(例如,*.runoob.com),通配符域名相當(dāng)于綁定了主域名下的所有域名,因此使用起來(lái)非常方便,但是價(jià)格也超級(jí)昂貴,一個(gè)通配符域名一年大概得5000塊錢(qián),只有企業(yè)才可以申請(qǐng)。

下面就來(lái)看看一個(gè)證書(shū)的信息:

在訪問(wèn)hotmail的時(shí)候會(huì)跳轉(zhuǎn)到login.live.com,這時(shí)IE瀏覽器上會(huì)有一個(gè)小鎖頭,點(diǎn)一下那個(gè)小鎖頭再點(diǎn)擊里面的"查看證書(shū)"就會(huì)出現(xiàn)上圖的證書(shū)窗口,這里面我們可以看到這個(gè)證書(shū)只有一個(gè)用途——向遠(yuǎn)程計(jì)算機(jī)證明身份信息,證書(shū)的用途會(huì)有很多,ssl只是其中之一。在"頒發(fā)給"這一項(xiàng)就是這個(gè)證書(shū)在申請(qǐng)時(shí)綁定的域名;下面的"頒發(fā)者"是證書(shū)的頒發(fā)機(jī)構(gòu)。最下面的兩個(gè)日期是證書(shū)申請(qǐng)時(shí)間以及過(guò)期的時(shí)間。這里我們可以注意一下"頒發(fā)者"的信息,里面有"Extended Validation ssl"的字樣,表明了這個(gè)證書(shū)是一個(gè)EV ssl證書(shū)(擴(kuò)展驗(yàn)證ssl證書(shū)),EV ssl證書(shū)有個(gè)特點(diǎn)就是可以讓瀏覽器的地址欄變綠,同時(shí)顯示出來(lái)證書(shū)所屬公司的名稱(chēng),如下圖所示:

EV ssl證書(shū)與其他的證書(shū)相比,費(fèi)用更高。

以上說(shuō)的是向CA機(jī)構(gòu)申請(qǐng)證書(shū)的情況,如果個(gè)人網(wǎng)站只為加密傳輸也可以自己制作ssl證書(shū),自己制作的證書(shū)不會(huì)受到瀏覽器的信任,在訪問(wèn)的時(shí)候由于證書(shū)驗(yàn)證失敗而給出警告。

證書(shū)的驗(yàn)證過(guò)程

證書(shū)以證書(shū)鏈的形式組織,在頒發(fā)證書(shū)的時(shí)候首先要有根CA機(jī)構(gòu)頒發(fā)的根證書(shū),再由根CA機(jī)構(gòu)頒發(fā)一個(gè)中級(jí)CA機(jī)構(gòu)的證書(shū),最后由中級(jí)CA機(jī)構(gòu)頒發(fā)具體的ssl證書(shū)。我們可以這樣理解,根CA機(jī)構(gòu)就是一個(gè)公司,根證書(shū)就是他的身份憑證,每個(gè)公司由不同的部門(mén)來(lái)頒發(fā)不同用途的證書(shū),這些不同的部門(mén)就是中級(jí)CA機(jī)構(gòu),這些中級(jí)CA機(jī)構(gòu)使用中級(jí)證書(shū)作為自己的身份憑證,其中有一個(gè)部門(mén)是專(zhuān)門(mén)頒發(fā)ssl證書(shū),當(dāng)把根證書(shū),中級(jí)證書(shū),以及最后申請(qǐng)的ssl證書(shū)連在一起就形成了證書(shū)鏈,也稱(chēng)為證書(shū)路徑。在驗(yàn)證證書(shū)的時(shí)候,瀏覽器會(huì)調(diào)用系統(tǒng)的證書(shū)管理器接口對(duì)證書(shū)路徑中的所有證書(shū)一級(jí)一級(jí)的進(jìn)行驗(yàn)證,只有路徑中所有的證書(shū)都是受信的,整個(gè)驗(yàn)證的結(jié)果才是受信。我們還是以login.live.com這個(gè)證書(shū)舉例,在查看證書(shū)的時(shí)候,點(diǎn)擊"證書(shū)路徑"標(biāo)簽就會(huì)有下圖的顯示:

根證書(shū)是最關(guān)鍵的一個(gè)證書(shū),如果根證書(shū)不受信任,它下面頒發(fā)的所有證書(shū)都不受信任。操作系統(tǒng)在安裝過(guò)程中會(huì)默認(rèn)安裝一些受信任的CA機(jī)構(gòu)的根證書(shū),可以在"運(yùn)行"里面運(yùn)行"certmgr.msc"啟動(dòng)證書(shū)管理器,如下圖所示:

根證書(shū)的有效期長(zhǎng),支持的用途多以方便頒發(fā)不同用途類(lèi)型的中級(jí)證書(shū);中級(jí)證書(shū)用途單一,有效期相對(duì)短一些,但是比具體的ssl證書(shū)要長(zhǎng)很多。

如果ssl證書(shū)驗(yàn)證失敗根據(jù)瀏覽器的不同會(huì)有以下的錯(cuò)誤提示:

ssl證書(shū)驗(yàn)證失敗有以下三點(diǎn)原因:

這三點(diǎn)原因也是IE瀏覽器給出的提示。

小提示:如果你對(duì)哪個(gè)根證書(shū)CA機(jī)構(gòu)比較憎恨,可以將它的根證書(shū)刪除,這樣所有它頒發(fā)的證書(shū)都不會(huì)受信任。

ssl證書(shū)的安全問(wèn)題

對(duì)HTTPS最常見(jiàn)的攻擊手段就是ssl證書(shū)欺騙或者叫ssl劫持,是一種典型的中間人攻擊。不過(guò)ssl劫持并非只是用于攻擊目的,在一些特殊情況下利用ssl劫持我們可以更順暢的訪問(wèn)網(wǎng)絡(luò),我會(huì)在后文提到。

以攻擊為目的的ssl劫持如果不注意瀏覽器安全提示的話,很容易就中招。當(dāng)網(wǎng)絡(luò)中有中間人發(fā)起ssl劫持攻擊時(shí),攻擊者需要偽造一個(gè)ssl證書(shū)發(fā)給瀏覽器,這個(gè)時(shí)候由于偽造的ssl證書(shū)不受信任,瀏覽器會(huì)給出提示。

這里有一個(gè)誤區(qū),當(dāng)ssl證書(shū)不受信任的時(shí)候,并不一定就是有ssl劫持發(fā)生,有種例外情況是:一些個(gè)人網(wǎng)站買(mǎi)不起合法的ssl證書(shū),因此會(huì)自己制作一個(gè)ssl證書(shū)來(lái)加密傳輸?shù)臄?shù)據(jù)。如果你經(jīng)常訪問(wèn)某個(gè)個(gè)人網(wǎng)站,而且你知道這個(gè)網(wǎng)站是干什么的,那么這種情況可以不用擔(dān)心。但是如果你訪問(wèn)的是網(wǎng)銀,在線支付,或者是hotmail.com,gmail.com等,這類(lèi)公司性質(zhì)的網(wǎng)站一定會(huì)申請(qǐng)合法的ssl證書(shū)(12306.cn除外),一旦ssl證書(shū)不受信任,應(yīng)該果斷的終止訪問(wèn),這個(gè)時(shí)候網(wǎng)絡(luò)中一定會(huì)存在異常行為,對(duì)于一些小區(qū)寬帶的用戶(hù)一定要注意這點(diǎn)。

所以作為個(gè)人用戶(hù),你一定要知道你訪問(wèn)的是什么網(wǎng)站,如果你只是一個(gè)沒(méi)有多少計(jì)算機(jī)只是的普通網(wǎng)民,我相信你不會(huì)經(jīng)常上那些自己制作ssl證書(shū)的個(gè)人網(wǎng)站(12306.cn除外),因此如果你沒(méi)有辦法判斷網(wǎng)絡(luò)是不是有異常,只要是證書(shū)有問(wèn)題的,干脆就別再訪問(wèn)了。

小提示:對(duì)于12306.cn,一定要按照網(wǎng)站說(shuō)的那樣,"為保障您順暢購(gòu)票,請(qǐng)下載安裝根證書(shū)"。

最后我們總結(jié)一下使用ssl證書(shū)要注意的問(wèn)題:

  • 1、除非必要,不要隨意安裝根證書(shū)。安裝根證書(shū)的時(shí)候一定要明確證書(shū)的來(lái)源。

  • 2、對(duì)于網(wǎng)銀,在線支付,重要郵箱等網(wǎng)站,一定要確保ssl證書(shū)是沒(méi)有問(wèn)題的,如果瀏覽器給出ssl證書(shū)錯(cuò)誤的警告,一定要拒絕訪問(wèn)。一些小區(qū)寬帶用戶(hù)一定要注意這點(diǎn)。

  • 3、由于現(xiàn)在個(gè)人申請(qǐng)ssl證書(shū)比較便宜,一定要注意掛著合法ssl證書(shū)的釣魚(yú)網(wǎng)站(國(guó)外比較常見(jiàn))。對(duì)于釣魚(yú)網(wǎng)站,一定要看清域名,另外別相信什么中獎(jiǎng)的消息,同時(shí)要安裝帶有釣魚(yú)防護(hù)功能的安全軟件。


當(dāng)前標(biāo)題:HTTPS 與 SSL 證書(shū)概要
網(wǎng)頁(yè)地址:http://www.muchs.cn/news38/100088.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站收錄、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)