版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、q實(shí)際上,幾乎所有的商業(yè)、大多數(shù)政府機(jī)構(gòu)和許多個(gè)人都實(shí)際上,幾乎所有的商業(yè)、大多數(shù)政府機(jī)構(gòu)和許多個(gè)人都有有Web站點(diǎn)。訪問(wèn)互聯(lián)網(wǎng)的個(gè)人和公司的增長(zhǎng)速度非???,站點(diǎn)。訪問(wèn)互聯(lián)網(wǎng)的個(gè)人和公司的增長(zhǎng)速度非常快,且他們均使用圖形界面的且他們均使用圖形界面的Web瀏覽器。因此,許多公司都瀏覽器。因此,許多公司都熱衷于在熱衷于在Web上進(jìn)行電子商務(wù)。但是,現(xiàn)實(shí)情況是互聯(lián)網(wǎng)上進(jìn)行電子商務(wù)。但是,現(xiàn)實(shí)情況是互聯(lián)網(wǎng)和和Web容易受到攻擊,大家越來(lái)越意識(shí)到這種現(xiàn)實(shí),因此容易受到攻擊,大家越來(lái)越意識(shí)到這種現(xiàn)實(shí),因此安全安全Web服務(wù)應(yīng)運(yùn)而生。服務(wù)應(yīng)運(yùn)而生。qWWW本質(zhì)上是一種運(yùn)行于互聯(lián)網(wǎng)和本質(zhì)上是一種運(yùn)行于互聯(lián)網(wǎng)和
2、TCP/IP的客戶的客戶/服務(wù)器應(yīng)服務(wù)器應(yīng)用。同樣地,到目前為止,本書(shū)討論的安全工具和方法也適用用。同樣地,到目前為止,本書(shū)討論的安全工具和方法也適用于于Web安全性。但是,安全性。但是,Web使用情況的的以下特點(diǎn)表明需要使用情況的的以下特點(diǎn)表明需要量身定制的安全工具:量身定制的安全工具:q雖然雖然Web瀏覽器非常易于使用,瀏覽器非常易于使用,Web服務(wù)器相對(duì)而言易于配服務(wù)器相對(duì)而言易于配置和管理,置和管理,Web內(nèi)容也易于開(kāi)發(fā),但其底層的軟件卻非常復(fù)雜。內(nèi)容也易于開(kāi)發(fā),但其底層的軟件卻非常復(fù)雜。復(fù)雜的軟件可能隱藏潛在的安全復(fù)雜的軟件可能隱藏潛在的安全漏洞漏洞。在。在Web使用的短短歷史使用的
3、短短歷史中,各種新的和升級(jí)的系統(tǒng)容易受到各種各樣的安全性攻擊。中,各種新的和升級(jí)的系統(tǒng)容易受到各種各樣的安全性攻擊。qWeb服務(wù)器可以作為公司或機(jī)構(gòu)整個(gè)計(jì)算機(jī)系統(tǒng)的核心。一旦服務(wù)器可以作為公司或機(jī)構(gòu)整個(gè)計(jì)算機(jī)系統(tǒng)的核心。一旦Web服務(wù)器被攻陷,攻擊者不僅可以訪問(wèn)服務(wù)器被攻陷,攻擊者不僅可以訪問(wèn)Web服務(wù),也可獲服務(wù),也可獲得與之相連的整個(gè)本地站點(diǎn)服務(wù)器的數(shù)據(jù)和系統(tǒng)訪問(wèn)權(quán)限。得與之相連的整個(gè)本地站點(diǎn)服務(wù)器的數(shù)據(jù)和系統(tǒng)訪問(wèn)權(quán)限。17.1 Web安全性考思考1. Web安全威脅安全威脅q表表17.1總結(jié)了在使用總結(jié)了在使用Web時(shí)將要面臨的一些安全威脅的類(lèi)別。時(shí)將要面臨的一些安全威脅的類(lèi)別。一種歸類(lèi)
4、的方式是將它們區(qū)分為被動(dòng)和主動(dòng)攻擊:被動(dòng)攻擊包一種歸類(lèi)的方式是將它們區(qū)分為被動(dòng)和主動(dòng)攻擊:被動(dòng)攻擊包括在瀏覽器和服務(wù)器通信時(shí)竊聽(tīng),獲得原本被限制使用的權(quán)限;括在瀏覽器和服務(wù)器通信時(shí)竊聽(tīng),獲得原本被限制使用的權(quán)限;主動(dòng)攻擊包括偽裝成其他用戶、篡改客戶和服務(wù)器之間的消息主動(dòng)攻擊包括偽裝成其他用戶、篡改客戶和服務(wù)器之間的消息或篡改或篡改Web站點(diǎn)的信息。站點(diǎn)的信息。q另一另一種分類(lèi)方法是按威脅的位置分類(lèi):種分類(lèi)方法是按威脅的位置分類(lèi):Web服務(wù)器、服務(wù)器、Web瀏瀏覽器和服務(wù)器與瀏覽器之間的網(wǎng)絡(luò)通信。服務(wù)器與瀏覽器的安覽器和服務(wù)器與瀏覽器之間的網(wǎng)絡(luò)通信。服務(wù)器與瀏覽器的安全問(wèn)題是計(jì)算機(jī)系統(tǒng)自身的安全
5、性問(wèn)題,通信的安全則是本章全問(wèn)題是計(jì)算機(jī)系統(tǒng)自身的安全性問(wèn)題,通信的安全則是本章將要論述的重點(diǎn)。將要論述的重點(diǎn)。2. Web流量安全方法流量安全方法q現(xiàn)在已有許多提供現(xiàn)在已有許多提供Web安全性的方法。這些方法的使用機(jī)理是安全性的方法。這些方法的使用機(jī)理是相似的,只是各自的應(yīng)用范圍及在相似的,只是各自的應(yīng)用范圍及在TCP/IP協(xié)議棧中的相對(duì)位協(xié)議棧中的相對(duì)位置不同。置不同。q下下圖說(shuō)明了這些區(qū)別。提供圖說(shuō)明了這些區(qū)別。提供Web安全性的一種方法是使用安全性的一種方法是使用IP安全性安全性(IPsec)如下圖所示如下圖所示。使用。使用IPsec的優(yōu)點(diǎn)在于,它對(duì)的優(yōu)點(diǎn)在于,它對(duì)終端用戶和應(yīng)用均是透
6、明的,并且提供通用的解決方案。另外,終端用戶和應(yīng)用均是透明的,并且提供通用的解決方案。另外,IPsec還具有過(guò)濾功能,以便僅用還具有過(guò)濾功能,以便僅用IPsec處理所選的流量。處理所選的流量。q另一另一種解決方案就是在種解決方案就是在TCP之上實(shí)現(xiàn)安全性之上實(shí)現(xiàn)安全性如下圖所示如下圖所示。這。這種方法最先的例子是安全套接層種方法最先的例子是安全套接層(SSL,Secure Sockets Layer)和被稱(chēng)為第二代互聯(lián)網(wǎng)標(biāo)準(zhǔn)的傳輸層安全協(xié)議和被稱(chēng)為第二代互聯(lián)網(wǎng)標(biāo)準(zhǔn)的傳輸層安全協(xié)議(TLS,Taansport Layer Security)。對(duì)應(yīng)的有兩種實(shí)現(xiàn)方法,。對(duì)應(yīng)的有兩種實(shí)現(xiàn)方法,一般來(lái)說(shuō)
7、,一般來(lái)說(shuō),SSL(或或TLS)可以作為潛在的協(xié)議對(duì)應(yīng)用透明,也可以作為潛在的協(xié)議對(duì)應(yīng)用透明,也可以在特定包中使用,如可以在特定包中使用,如Netscape和和IE瀏覽器均提供瀏覽器均提供SSL,大多數(shù)大多數(shù)Web服務(wù)器都實(shí)現(xiàn)了此協(xié)議。服務(wù)器都實(shí)現(xiàn)了此協(xié)議。q特定安全服務(wù)在特定應(yīng)用中得以體現(xiàn)特定安全服務(wù)在特定應(yīng)用中得以體現(xiàn)如下圖所示如下圖所示。這種方法。這種方法的好處在于它是為給定應(yīng)用定制的。的好處在于它是為給定應(yīng)用定制的。q安全服務(wù)中應(yīng)用最廣泛的是安全套接層安全服務(wù)中應(yīng)用最廣泛的是安全套接層(SSL)和和后繼后繼的被稱(chēng)為的被稱(chēng)為傳輸層安全傳輸層安全(TLS)的的Internet標(biāo)準(zhǔn),后者在標(biāo)
8、準(zhǔn),后者在RFC 5246中定義。中定義。SSL是一個(gè)通用服務(wù),由依賴(lài)于是一個(gè)通用服務(wù),由依賴(lài)于TCP的一組協(xié)議實(shí)現(xiàn)。在該層,的一組協(xié)議實(shí)現(xiàn)。在該層,有兩個(gè)實(shí)現(xiàn)選擇。對(duì)于完全通用,有兩個(gè)實(shí)現(xiàn)選擇。對(duì)于完全通用,SSL(或者或者TLS)可以被作為可以被作為下層協(xié)議套件,而且對(duì)應(yīng)用程序是透明的?;蛘?,下層協(xié)議套件,而且對(duì)應(yīng)用程序是透明的?;蛘?,SSL可以被可以被嵌入在特定的包里。比如說(shuō),絕大部分瀏覽器開(kāi)始配備了嵌入在特定的包里。比如說(shuō),絕大部分瀏覽器開(kāi)始配備了SSL,而且絕大部分而且絕大部分Web服務(wù)器實(shí)施了這個(gè)協(xié)議。服務(wù)器實(shí)施了這個(gè)協(xié)議。q本本節(jié)主要討論節(jié)主要討論SSLv3。在下一節(jié),將介紹。在
9、下一節(jié),將介紹SSLv3和和TLS的主要的主要區(qū)別。區(qū)別。17.2 安全套接層1. SSL體系結(jié)構(gòu)體系結(jié)構(gòu)qSSL為為T(mén)CP提供可靠的端到端安全服務(wù)。提供可靠的端到端安全服務(wù)。SSL不是簡(jiǎn)單的單個(gè)不是簡(jiǎn)單的單個(gè)協(xié)議而是兩層協(xié)議,如下圖所示:協(xié)議而是兩層協(xié)議,如下圖所示:qSSL記錄協(xié)議記錄協(xié)議(SSL Record Protocol)為高層協(xié)議提供基本的為高層協(xié)議提供基本的安全服務(wù)。特別是為安全服務(wù)。特別是為Web客戶端客戶端/服務(wù)器交互提供傳送服務(wù)的服務(wù)器交互提供傳送服務(wù)的HTTP協(xié)議可以在上層訪問(wèn)協(xié)議可以在上層訪問(wèn)SSL。SSL協(xié)議上定義了三個(gè)高層協(xié)議上定義了三個(gè)高層協(xié)議:握手協(xié)議、修改密
10、碼規(guī)范協(xié)議和警報(bào)協(xié)議。這些協(xié)議:握手協(xié)議、修改密碼規(guī)范協(xié)議和警報(bào)協(xié)議。這些SSL上上層協(xié)議用于對(duì)層協(xié)議用于對(duì)SSL交換進(jìn)行管理。交換進(jìn)行管理。SSL中包含兩個(gè)重要概念:中包含兩個(gè)重要概念:SSL會(huì)話和會(huì)話和SSL連接。在規(guī)范中定義如連接。在規(guī)范中定義如下:下:q連接:連接:連接是提供核實(shí)服務(wù)類(lèi)型的一種傳輸連接是提供核實(shí)服務(wù)類(lèi)型的一種傳輸(OSI層次模型定層次模型定義義)。對(duì)。對(duì)SSL來(lái)說(shuō),連接表示的是對(duì)等網(wǎng)絡(luò)關(guān)系,且來(lái)說(shuō),連接表示的是對(duì)等網(wǎng)絡(luò)關(guān)系,且連接連接是短暫是短暫的,每個(gè)連接與一個(gè)會(huì)話相關(guān)。的,每個(gè)連接與一個(gè)會(huì)話相關(guān)。q會(huì)話:會(huì)話:SSL會(huì)話是一個(gè)可與段和服務(wù)器間的關(guān)聯(lián),會(huì)話是通過(guò)會(huì)話是
11、一個(gè)可與段和服務(wù)器間的關(guān)聯(lián),會(huì)話是通過(guò)握手協(xié)議創(chuàng)建的,定義了一組多個(gè)連接共享的密碼安全參數(shù)。握手協(xié)議創(chuàng)建的,定義了一組多個(gè)連接共享的密碼安全參數(shù)。會(huì)話可用于減少為每次連接建立安全參數(shù)的昂貴協(xié)商費(fèi)用。會(huì)話可用于減少為每次連接建立安全參數(shù)的昂貴協(xié)商費(fèi)用。q在多方會(huì)談中在多方會(huì)談中(如客戶端和服務(wù)器間如客戶端和服務(wù)器間HTTP應(yīng)用應(yīng)用),需要多個(gè)安,需要多個(gè)安全連接。從理論上說(shuō),可以在多方之間同時(shí)發(fā)生會(huì)話,但還沒(méi)全連接。從理論上說(shuō),可以在多方之間同時(shí)發(fā)生會(huì)話,但還沒(méi)有在實(shí)際中使用。有在實(shí)際中使用。q每個(gè)會(huì)話實(shí)際上與多種狀態(tài)相關(guān),一旦會(huì)話建立,則進(jìn)入針對(duì)每個(gè)會(huì)話實(shí)際上與多種狀態(tài)相關(guān),一旦會(huì)話建立,則進(jìn)
12、入針對(duì)讀和寫(xiě)讀和寫(xiě)(如接收和發(fā)送如接收和發(fā)送)的當(dāng)前操作狀態(tài)。另外,在握手協(xié)議中,的當(dāng)前操作狀態(tài)。另外,在握手協(xié)議中,會(huì)創(chuàng)建讀掛起狀態(tài)和寫(xiě)掛起狀態(tài)。在握手協(xié)議成功完成后,掛會(huì)創(chuàng)建讀掛起狀態(tài)和寫(xiě)掛起狀態(tài)。在握手協(xié)議成功完成后,掛起狀態(tài)成為當(dāng)前狀態(tài)。起狀態(tài)成為當(dāng)前狀態(tài)。一一個(gè)會(huì)話狀態(tài)由以下參數(shù)定義個(gè)會(huì)話狀態(tài)由以下參數(shù)定義(參見(jiàn)參見(jiàn)SSL規(guī)范規(guī)范):q會(huì)話標(biāo)志:會(huì)話標(biāo)志:服務(wù)器用于標(biāo)志為活動(dòng)或服務(wù)器用于標(biāo)志為活動(dòng)或恢復(fù)恢復(fù)的會(huì)話狀態(tài)所選的一的會(huì)話狀態(tài)所選的一個(gè)隨機(jī)字節(jié)序列。個(gè)隨機(jī)字節(jié)序列。q對(duì)等體證書(shū):對(duì)等體證書(shū):對(duì)等體的對(duì)等體的X509.v3證書(shū),此狀態(tài)元素可以為空。證書(shū),此狀態(tài)元素可以為空。q壓
13、縮方法:壓縮方法:在加密前使用的壓縮數(shù)據(jù)的算法。在加密前使用的壓縮數(shù)據(jù)的算法。q密鑰規(guī)范:密鑰規(guī)范:描述主要數(shù)據(jù)加密算法描述主要數(shù)據(jù)加密算法(如:如:AES等等)和計(jì)算和計(jì)算MAC的的散列散列算法算法(MD5或或SHA-1),同時(shí)也定義如散列大小等加密屬,同時(shí)也定義如散列大小等加密屬性。性。q主密鑰:主密鑰:客戶和服務(wù)器間客戶和服務(wù)器間48字節(jié)的共享密碼。字節(jié)的共享密碼。q可恢復(fù)性:可恢復(fù)性:表明會(huì)話是否可被用于初始化新連接的標(biāo)志。表明會(huì)話是否可被用于初始化新連接的標(biāo)志。連接連接狀態(tài)可以用以下參數(shù)定義:狀態(tài)可以用以下參數(shù)定義:q服務(wù)器和客戶端隨機(jī)數(shù):服務(wù)器和客戶端隨機(jī)數(shù):服務(wù)器和客戶端為每個(gè)連
14、接選擇字節(jié)服務(wù)器和客戶端為每個(gè)連接選擇字節(jié)序列。序列。q服務(wù)器寫(xiě)服務(wù)器寫(xiě)MAC密碼:密碼:服務(wù)器發(fā)送數(shù)據(jù)時(shí)在服務(wù)器發(fā)送數(shù)據(jù)時(shí)在MAC操作中使用的操作中使用的密碼。密碼。q客戶端寫(xiě)客戶端寫(xiě)MAC密碼:密碼:客戶端發(fā)送數(shù)據(jù)時(shí)在客戶端發(fā)送數(shù)據(jù)時(shí)在MAC操作中使用的操作中使用的密碼。密碼。2. SSL記錄協(xié)議記錄協(xié)議SSL記錄協(xié)議為記錄協(xié)議為SSL連接提供如下兩種服務(wù):連接提供如下兩種服務(wù):q保密性:保密性:握手協(xié)議定義了加密握手協(xié)議定義了加密SSL載荷的傳統(tǒng)加密共享秘鑰。載荷的傳統(tǒng)加密共享秘鑰。q消息完整性:消息完整性:握手協(xié)議也定義了生成消息認(rèn)證代碼握手協(xié)議也定義了生成消息認(rèn)證代碼(MAC)的共的
15、共享秘鑰。享秘鑰。q下下圖為圖為SSL記錄協(xié)議的整個(gè)操作過(guò)程。記錄協(xié)議的整個(gè)操作過(guò)程。q對(duì)流加密而言,壓縮消息和對(duì)流加密而言,壓縮消息和MAC一起被加密。注意,一起被加密。注意,MAC在在加密之前計(jì)算,然后將加密之前計(jì)算,然后將MAC和明文或壓縮后的明文一起壓縮。和明文或壓縮后的明文一起壓縮。q對(duì)分組對(duì)分組加密而言,填充應(yīng)在加密而言,填充應(yīng)在MAC之后、加密之前進(jìn)行。填充的之后、加密之前進(jìn)行。填充的格式是一定長(zhǎng)度的填充字節(jié)后跟格式是一定長(zhǎng)度的填充字節(jié)后跟1字節(jié)的填充長(zhǎng)度。整個(gè)填充字節(jié)的填充長(zhǎng)度。整個(gè)填充域的長(zhǎng)度是使得總長(zhǎng)度域的長(zhǎng)度是使得總長(zhǎng)度(明文明文+MAC+填充域的長(zhǎng)度填充域的長(zhǎng)度)為規(guī)定
16、的為規(guī)定的加密分組長(zhǎng)度整數(shù)倍的最小長(zhǎng)度。例如,明文加密分組長(zhǎng)度整數(shù)倍的最小長(zhǎng)度。例如,明文(或如果使用了或如果使用了壓縮則為壓縮文本壓縮則為壓縮文本)長(zhǎng)度為長(zhǎng)度為58字節(jié),字節(jié),MAC長(zhǎng)度為長(zhǎng)度為20字節(jié)字節(jié)(使用使用SHA-1),使用分組長(zhǎng)度為,使用分組長(zhǎng)度為8字節(jié)的加密算法字節(jié)的加密算法(如如DES),這加上,這加上填充長(zhǎng)度域的填充長(zhǎng)度域的1字節(jié)總共字節(jié)總共79字節(jié),為了達(dá)到字節(jié),為了達(dá)到8的整數(shù)倍,這需的整數(shù)倍,這需要增加要增加1字節(jié)的填充。字節(jié)的填充。q下圖為下圖為SSL記錄格式:記錄格式:3. 修改密碼規(guī)范協(xié)議修改密碼規(guī)范協(xié)議q修改密碼規(guī)范協(xié)議是修改密碼規(guī)范協(xié)議是SSL三個(gè)特定協(xié)議之
17、一,也是最簡(jiǎn)單三個(gè)特定協(xié)議之一,也是最簡(jiǎn)單的一個(gè)。協(xié)議由一個(gè)僅包含的一個(gè)。協(xié)議由一個(gè)僅包含1字節(jié)的值為字節(jié)的值為1的消息組成的消息組成如下如下圖所示圖所示,此消息使得掛起狀態(tài)被復(fù)制到當(dāng)前狀態(tài)中,用于,此消息使得掛起狀態(tài)被復(fù)制到當(dāng)前狀態(tài)中,用于更新此更新此連接連接使用的密碼組。使用的密碼組。4. 警報(bào)協(xié)議警報(bào)協(xié)議q警報(bào)協(xié)議用于向?qū)Φ葘?shí)體傳遞警報(bào)協(xié)議用于向?qū)Φ葘?shí)體傳遞SSL相關(guān)的警報(bào)。和使用相關(guān)的警報(bào)。和使用SSL的其他應(yīng)用一樣,警報(bào)消息按照當(dāng)前狀態(tài)壓縮和加密。的其他應(yīng)用一樣,警報(bào)消息按照當(dāng)前狀態(tài)壓縮和加密。q此此協(xié)議的每個(gè)消息由協(xié)議的每個(gè)消息由2字節(jié)組成字節(jié)組成如下圖所示如下圖所示。第一個(gè)字節(jié),
18、。第一個(gè)字節(jié),值值1表示警告,值表示警告,值2表示致命錯(cuò)誤,傳遞消息出錯(cuò)的嚴(yán)重程表示致命錯(cuò)誤,傳遞消息出錯(cuò)的嚴(yán)重程度。如果級(jí)別為致命,則度。如果級(jí)別為致命,則SSL將立即終止連接,而會(huì)話中將立即終止連接,而會(huì)話中的其他連接將繼續(xù)進(jìn)行,但不會(huì)在此會(huì)話中建立新連接。的其他連接將繼續(xù)進(jìn)行,但不會(huì)在此會(huì)話中建立新連接。第二個(gè)字節(jié)包含描述特定警報(bào)信息的代碼。第二個(gè)字節(jié)包含描述特定警報(bào)信息的代碼。首先,我們將通常導(dǎo)致致命錯(cuò)誤的警報(bào)列舉如下:首先,我們將通常導(dǎo)致致命錯(cuò)誤的警報(bào)列舉如下:q意外消息:意外消息:接收到不正確的消息。接收到不正確的消息。qMAC記錄出錯(cuò):記錄出錯(cuò):接收到不正確的接收到不正確的MAC
19、。q解壓解壓失?。菏。航鈮汉瘮?shù)接收到不正確的輸入解壓函數(shù)接收到不正確的輸入(如不能解壓或解如不能解壓或解壓長(zhǎng)度大于允許值的數(shù)據(jù)長(zhǎng)度壓長(zhǎng)度大于允許值的數(shù)據(jù)長(zhǎng)度)。q握手握手失?。菏。喊l(fā)送者無(wú)法在給定選項(xiàng)中寫(xiě)上出一個(gè)可以接受發(fā)送者無(wú)法在給定選項(xiàng)中寫(xiě)上出一個(gè)可以接受的安全參數(shù)集。的安全參數(shù)集。q非法非法參數(shù):參數(shù):握手消息中的某個(gè)域超出范圍或與其他域不一握手消息中的某個(gè)域超出范圍或與其他域不一致。致。其余的警報(bào)如下所示:其余的警報(bào)如下所示:q結(jié)束通知:結(jié)束通知:通知接收者,發(fā)送者將不再用此連接發(fā)送任何通知接收者,發(fā)送者將不再用此連接發(fā)送任何消息。各方在關(guān)閉連接的寫(xiě)端時(shí)均需發(fā)送結(jié)束通知。消息。各方
20、在關(guān)閉連接的寫(xiě)端時(shí)均需發(fā)送結(jié)束通知。q無(wú)無(wú)證證書(shū)書(shū):如果無(wú)適當(dāng)?shù)淖C書(shū)可用,在給如果無(wú)適當(dāng)?shù)淖C書(shū)可用,在給證書(shū)證書(shū)請(qǐng)求者的響應(yīng)請(qǐng)求者的響應(yīng)中發(fā)送此警報(bào)。中發(fā)送此警報(bào)。q證書(shū)出錯(cuò):證書(shū)出錯(cuò):接收的證書(shū)被破壞接收的證書(shū)被破壞(如簽名無(wú)法通過(guò)驗(yàn)證如簽名無(wú)法通過(guò)驗(yàn)證)。q不不支持的證書(shū):支持的證書(shū):不支持接收的證書(shū)類(lèi)型。不支持接收的證書(shū)類(lèi)型。q證書(shū)撤銷(xiāo):證書(shū)撤銷(xiāo):證書(shū)超過(guò)使用期限。證書(shū)超過(guò)使用期限。q未知證書(shū):未知證書(shū):在處理證書(shū)時(shí),出現(xiàn)其他錯(cuò)誤,使得證書(shū)不被在處理證書(shū)時(shí),出現(xiàn)其他錯(cuò)誤,使得證書(shū)不被接受。接受。5. 握手握手協(xié)議協(xié)議qSSL的復(fù)雜性主要來(lái)自于握手協(xié)議。此協(xié)議允許客戶端和的復(fù)雜性主要來(lái)自于
21、握手協(xié)議。此協(xié)議允許客戶端和服務(wù)器端相互認(rèn)證、協(xié)商加密和服務(wù)器端相互認(rèn)證、協(xié)商加密和MAC算法,保護(hù)數(shù)據(jù)使用算法,保護(hù)數(shù)據(jù)使用的密鑰通過(guò)的密鑰通過(guò)SSL記錄傳送。握手協(xié)議在傳遞應(yīng)用數(shù)據(jù)之前記錄傳送。握手協(xié)議在傳遞應(yīng)用數(shù)據(jù)之前使用。使用。握手協(xié)議由客戶端和服務(wù)器間交換的一系列消息組成,這些消握手協(xié)議由客戶端和服務(wù)器間交換的一系列消息組成,這些消息的格式如下圖所示。息的格式如下圖所示。每個(gè)消息由三個(gè)域組成:每個(gè)消息由三個(gè)域組成:q類(lèi)型類(lèi)型(1字節(jié)字節(jié)):表明表明10種消息中的一種。種消息中的一種。q長(zhǎng)度長(zhǎng)度(3字節(jié)字節(jié)):消息的字節(jié)長(zhǎng)度。消息的字節(jié)長(zhǎng)度。q內(nèi)容內(nèi)容(大于等于大于等于0字節(jié)字節(jié)):與
22、消息相關(guān)的參數(shù)。與消息相關(guān)的參數(shù)。q右圖右圖表明了在客戶端與表明了在客戶端與服務(wù)器之間建立邏輯連服務(wù)器之間建立邏輯連接的初始交換。此次交接的初始交換。此次交換由換由4個(gè)階段組成。個(gè)階段組成。階段階段1.建立安全功能:建立安全功能:q此此階段用于建立初始的邏輯連接,并建立與之相關(guān)聯(lián)的階段用于建立初始的邏輯連接,并建立與之相關(guān)聯(lián)的安全功能,客戶端發(fā)起這個(gè)交換,發(fā)送安全功能,客戶端發(fā)起這個(gè)交換,發(fā)送client_hello消消息。息。q客戶端發(fā)送出消息客戶端發(fā)送出消息client_hello后,會(huì)等待包含與消息后,會(huì)等待包含與消息client_hello參數(shù)相同的參數(shù)相同的server_hello消
23、息的到來(lái)。消息的到來(lái)。階段階段2.服務(wù)器認(rèn)證和密鑰交換服務(wù)器認(rèn)證和密鑰交換q如果需要進(jìn)行認(rèn)證,則服務(wù)器開(kāi)始發(fā)送其證書(shū)。如果需要進(jìn)行認(rèn)證,則服務(wù)器開(kāi)始發(fā)送其證書(shū)。q接著如果需要,可以發(fā)送服務(wù)器密鑰交換接著如果需要,可以發(fā)送服務(wù)器密鑰交換(server_key_exchange)消息。消息。q接下來(lái),向客戶端申請(qǐng)證書(shū)。接下來(lái),向客戶端申請(qǐng)證書(shū)。q發(fā)送發(fā)送server_done消息,表明服務(wù)器的消息,表明服務(wù)器的hello和相關(guān)消和相關(guān)消息結(jié)束。息結(jié)束。階段階段3.客戶端認(rèn)證和密鑰交換:客戶端認(rèn)證和密鑰交換:q在接收到服務(wù)器完成消息之后,如果請(qǐng)求了證書(shū),客戶在接收到服務(wù)器完成消息之后,如果請(qǐng)求了證書(shū)
24、,客戶端需要驗(yàn)證服務(wù)器是否提供了合法證書(shū),并且檢查端需要驗(yàn)證服務(wù)器是否提供了合法證書(shū),并且檢查server_hello參數(shù)是否可以接受。如果所有的條件均滿參數(shù)是否可以接受。如果所有的條件均滿足,則客戶端向服務(wù)器發(fā)回一個(gè)或多個(gè)消息:足,則客戶端向服務(wù)器發(fā)回一個(gè)或多個(gè)消息:q如果服務(wù)器請(qǐng)求了證書(shū),則在此階段,客戶端開(kāi)始發(fā)送如果服務(wù)器請(qǐng)求了證書(shū),則在此階段,客戶端開(kāi)始發(fā)送一條證書(shū)消息一條證書(shū)消息certificate,如果未提供合適的證書(shū),則,如果未提供合適的證書(shū),則客戶端將發(fā)送一個(gè)客戶端將發(fā)送一個(gè)“無(wú)證書(shū)警報(bào)無(wú)證書(shū)警報(bào)”。q接下來(lái)是此階段必須要有發(fā)的客戶端密鑰交換消息接下來(lái)是此階段必須要有發(fā)的客戶
25、端密鑰交換消息client_key_exchange消息,消息的內(nèi)容依賴(lài)于密鑰交消息,消息的內(nèi)容依賴(lài)于密鑰交換的類(lèi)型。換的類(lèi)型。q在此階段的最后,客戶端可以發(fā)送一個(gè)證書(shū)驗(yàn)證消息在此階段的最后,客戶端可以發(fā)送一個(gè)證書(shū)驗(yàn)證消息certificate_verify來(lái)提供對(duì)客戶端證書(shū)的精確認(rèn)證來(lái)提供對(duì)客戶端證書(shū)的精確認(rèn)證(若若客戶端證書(shū)具有簽名能力客戶端證書(shū)具有簽名能力)。其目的是使用私鑰驗(yàn)證客戶。其目的是使用私鑰驗(yàn)證客戶證書(shū)的客戶所有權(quán)。證書(shū)的客戶所有權(quán)。階段階段4.完成:完成:q此階段完成安全連接的設(shè)置??蛻舳税l(fā)送改變密碼規(guī)范此階段完成安全連接的設(shè)置。客戶端發(fā)送改變密碼規(guī)范消息消息change_c
26、ipher_spec。于是客戶端立即使用新的。于是客戶端立即使用新的算法、密鑰和密碼發(fā)送新的完成消息算法、密鑰和密碼發(fā)送新的完成消息finished。完成消。完成消息對(duì)密鑰交換和認(rèn)證過(guò)程的正確性進(jìn)行驗(yàn)證。息對(duì)密鑰交換和認(rèn)證過(guò)程的正確性進(jìn)行驗(yàn)證。q在在應(yīng)答這兩個(gè)消息時(shí),服務(wù)器發(fā)送自己的修改密碼規(guī)范應(yīng)答這兩個(gè)消息時(shí),服務(wù)器發(fā)送自己的修改密碼規(guī)范change_cipher_spec,和完成消息,和完成消息finished。q此時(shí),握手完成,客戶端和服務(wù)器即可開(kāi)始交換應(yīng)用層此時(shí),握手完成,客戶端和服務(wù)器即可開(kāi)始交換應(yīng)用層數(shù)據(jù)。數(shù)據(jù)。6. 密碼計(jì)算密碼計(jì)算q下面介紹通過(guò)密鑰交換創(chuàng)建共享主密鑰和使用主密鑰
27、生成下面介紹通過(guò)密鑰交換創(chuàng)建共享主密鑰和使用主密鑰生成密碼參數(shù)。密碼參數(shù)。主密鑰的創(chuàng)建:主密鑰的創(chuàng)建:q共享主密鑰是利用安全密鑰交換為此會(huì)話建立的一個(gè)一次共享主密鑰是利用安全密鑰交換為此會(huì)話建立的一個(gè)一次性性48字節(jié)的值字節(jié)的值(384位位)。生成此密鑰共分為兩個(gè)階段:首。生成此密鑰共分為兩個(gè)階段:首先,交換次密鑰;其次,雙方共同計(jì)算主密鑰,對(duì)于次密先,交換次密鑰;其次,雙方共同計(jì)算主密鑰,對(duì)于次密鑰有如下兩種可能:鑰有如下兩種可能:qRSA:由客戶端生成:由客戶端生成48字節(jié)的次密鑰,用服務(wù)器的字節(jié)的次密鑰,用服務(wù)器的RSA公公鑰加密后,發(fā)往服務(wù)器。服務(wù)器用其私鑰解密密文,得到鑰加密后,發(fā)往
28、服務(wù)器。服務(wù)器用其私鑰解密密文,得到次密鑰。次密鑰。qDiffie-Hellman:客戶端和服務(wù)器同時(shí)生成:客戶端和服務(wù)器同時(shí)生成Diffie-Hellman公鑰。密鑰交換后,各方執(zhí)行公鑰。密鑰交換后,各方執(zhí)行Diffie-Hellman計(jì)計(jì)算,創(chuàng)建共享次密鑰。算,創(chuàng)建共享次密鑰。生成密碼參數(shù):生成密碼參數(shù):qCipherSpecs(CipherSpecs(在階段在階段1 1中創(chuàng)建中創(chuàng)建) )需要在客戶端寫(xiě)需要在客戶端寫(xiě)MACMAC密鑰、服密鑰、服務(wù)器寫(xiě)務(wù)器寫(xiě)MACMAC密鑰、客戶端寫(xiě)密鑰、服務(wù)器寫(xiě)密鑰、客戶端密鑰、客戶端寫(xiě)密鑰、服務(wù)器寫(xiě)密鑰、客戶端寫(xiě)初始向量和服務(wù)器寫(xiě)初始向量,均是通過(guò)主密鑰
29、生成的。寫(xiě)初始向量和服務(wù)器寫(xiě)初始向量,均是通過(guò)主密鑰生成的。主密鑰通過(guò)主密鑰通過(guò)HashHash函數(shù)把所有參數(shù)映射為足夠長(zhǎng)的安全字節(jié)函數(shù)把所有參數(shù)映射為足夠長(zhǎng)的安全字節(jié)序列。序列。q從主密鑰生成各主要參數(shù)的方法與從次密鑰中生成主密鑰從主密鑰生成各主要參數(shù)的方法與從次密鑰中生成主密鑰的方法相同:的方法相同:q直到生成足夠的輸出。直到生成足夠的輸出。qTLS是是IETF標(biāo)準(zhǔn)的初衷。他們的目標(biāo)是編寫(xiě)標(biāo)準(zhǔn)的初衷。他們的目標(biāo)是編寫(xiě)SSL的互聯(lián)網(wǎng)標(biāo)準(zhǔn)。的互聯(lián)網(wǎng)標(biāo)準(zhǔn)。當(dāng)前當(dāng)前TLS的草案的草案RFC 5246與與SSLv3非常相似。在本節(jié)中將把非常相似。在本節(jié)中將把主要精力集中在它們的區(qū)別上。主要精力集中在
30、它們的區(qū)別上。1. 版本號(hào)版本號(hào)qTLS記錄格式與記錄格式與SSL記錄格式相同,頭中的各域的含義也相同。記錄格式相同,頭中的各域的含義也相同。其區(qū)別在于版本值。目前,在其區(qū)別在于版本值。目前,在TLS目前版本中,其主版本號(hào)為目前版本中,其主版本號(hào)為3,從版本號(hào)為,從版本號(hào)為3。17.3 傳輸層安全5. 密碼套件密碼套件SSLv3和和TLS提供的密碼組有如下一些小的差別提供的密碼組有如下一些小的差別:q密鑰交換:密鑰交換:TLS支持除支持除Fortezza外的所有外的所有SSLv3的秘鑰交的秘鑰交換技術(shù)。換技術(shù)。q對(duì)稱(chēng)加密算法:對(duì)稱(chēng)加密算法:TLS包括包括除除Fortezza外的所有外的所有SSLv3
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中式面點(diǎn)師理論培訓(xùn)
- 中考數(shù)學(xué)二輪復(fù)習(xí)專(zhuān)項(xiàng)21~23題對(duì)點(diǎn)提分訓(xùn)練(二)課件
- 統(tǒng)編版2024-2025學(xué)年三年級(jí)語(yǔ)文上冊(cè)期中考試卷(含答案)
- 山東省菏澤市第一中學(xué)2024-2025學(xué)年高二上學(xué)期第二次月考數(shù)學(xué)試題(含答案)
- 2024年高一上學(xué)期10月份月考測(cè)試卷
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)課件 易月娥 項(xiàng)目9、10 VPN服務(wù)器的配置與管理、NAT服務(wù)器的配置與管理
- 面向SDG的國(guó)網(wǎng)行動(dòng)-破解電力線路與自然的沖突
- 大單元教學(xué)理念及其定義、特點(diǎn)與實(shí)施策略
- 高中物理第一章電與磁第二節(jié)點(diǎn)電荷間的相互作用課件粵教版選修1-
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)10.1 知識(shí)引入
- 11.9消防宣傳日關(guān)注消防安全主題班會(huì)課件
- 期中達(dá)標(biāo)檢測(cè)卷(試題)-2024-2025學(xué)年北師大版二年級(jí)數(shù)學(xué)上冊(cè)
- 部編人教版《道德與法治》六年級(jí)上冊(cè)第6課《人大代表為人民》課件
- 盤(pán)扣式卸料平臺(tái)施工方案
- CTF信息安全競(jìng)賽理論知識(shí)考試題庫(kù)大全-上(單選題)
- 2024年注冊(cè)安全工程師考試題庫(kù)【含答案】
- 8.2太原天網(wǎng)系統(tǒng)運(yùn)行維護(hù)方案
- 工程機(jī)械設(shè)計(jì)中輕量化技術(shù)的應(yīng)用
- 機(jī)械工程與自動(dòng)化的關(guān)系探討
- ncc學(xué)習(xí)01課件銷(xiāo)售管理v11
- 畢業(yè)設(shè)計(jì)液壓剪切機(jī)液壓系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論