




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1,計(jì)算機(jī)系統(tǒng)安全,第十三章 TLS(SSL)協(xié)議,2,TCP/IP協(xié)議棧中的安全,一、SSL協(xié)議的概述,3,SSL協(xié)議的發(fā)展,一、SSL協(xié)議的概述,1 SSL(Secure Socket Layer)是Netscape公司設(shè)計(jì)的主要用于web的安全傳輸協(xié)議。 2 IETF()將SSL作了標(biāo)準(zhǔn)化,即RFC2246,并將其稱為TLS(Transport Layer Security),TLS1.0與SSL3.0差別很小。 3 在WAP的環(huán)境下,由于手機(jī)處理和存儲(chǔ)能力有限,wap論壇()在TLS的基礎(chǔ)上做了簡化,提出了WTLS協(xié)議(Wirel
2、ess TLS),以適應(yīng)無線的特殊環(huán)境。,4,SSL協(xié)議的位置,一、SSL協(xié)議的概述,SSL協(xié)議要求建立在可靠的傳輸層協(xié)議(如:TCP)之上。SSL協(xié)議的優(yōu)勢在于它是與應(yīng)用層協(xié)議獨(dú)立無關(guān)的。 高層的應(yīng)用層協(xié)議(例如:HTTP,F(xiàn)TP,TELNET)能透明的建立于SSL協(xié)議之上。SSL協(xié)議在應(yīng)用層協(xié)議通信之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商以及服務(wù)器認(rèn)證工作。在此之后應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都會(huì)被加密,從而保證通信的私密性。,5,SSL協(xié)議的位置,一、SSL協(xié)議的概述,SSL協(xié)議建立在傳送層和應(yīng)用層之間,由記錄協(xié)議和握手協(xié)議組成,其中記錄協(xié)議在握手協(xié)議下端。SSL在TCP之上建立了一個(gè)加密通道。
3、,IP,HTTP/ S- HTTP,FTP,SMTP,TCP,SSL or TLS,6,主要功能,一、SSL協(xié)議的概述,1、SSL服務(wù)器認(rèn)證:允許用戶確認(rèn)服務(wù)器身份。支持SSL協(xié)議的客戶機(jī)軟件能使用公鑰密碼標(biāo)準(zhǔn)技術(shù)檢查服務(wù)器證書、公用ID是否有效和是否由在客戶信任的CA列表內(nèi)的認(rèn)證機(jī)構(gòu)發(fā)放。 2、SSL客戶機(jī)認(rèn)證:允許服務(wù)器確認(rèn)用戶身份。使用應(yīng)用于服務(wù)器認(rèn)證同樣的技術(shù),支持SSL協(xié)議的服務(wù)器軟件能檢查客戶證書、公用ID是否有效和是否由在服務(wù)器信任的認(rèn)證機(jī)構(gòu)列表內(nèi)的CA發(fā)放。,7,主要功能,一、SSL協(xié)議的概述,3、機(jī)密性:一個(gè)加密的SSL連接要求所有在客戶機(jī)與服務(wù)器之間發(fā)送的信息由發(fā)送方軟件加
4、密和由接受方軟件解密,這樣提供了高度機(jī)密性。 4、完整性:所有通過加密SSL連接發(fā)送的數(shù)據(jù)都被一種檢測篡改的機(jī)制所保護(hù),這種機(jī)制自動(dòng)地決定傳輸中的數(shù)據(jù)是否已經(jīng)被更改。,8,連接安全,一、SSL協(xié)議的概述,SSL協(xié)議提供的連接安全有三個(gè)基本屬性: 連接是保密的。對(duì)稱加密法用于數(shù)據(jù)加密(如用DES和RC4等)。 對(duì)方的身份能夠使用非對(duì)稱或公鑰密碼進(jìn)行認(rèn)證(如用RSA和DSS等)。 連接是可靠的。消息傳輸包括使用消息認(rèn)證碼(MAC)的消息完整性檢查,安全哈希函數(shù)(如SHA和MD5等)用于消息認(rèn)證碼計(jì)算。,9,SSL協(xié)議的組成,一、SSL協(xié)議的概述,SSL協(xié)議包括兩個(gè)子協(xié)議:SSL記錄協(xié)議和SSL握手
5、協(xié)議。,10,SSL協(xié)議的組成,一、SSL協(xié)議的概述,記錄協(xié)議定義了要傳輸數(shù)據(jù)的格式,它位于一些可靠的的傳輸協(xié)議TCP之上,用于各種更高層協(xié)議的封裝。記錄協(xié)議主要完成分組和組合,壓縮和解壓縮,以及消息認(rèn)證和加密等功能。所有傳輸數(shù)據(jù)包括握手消息和應(yīng)用數(shù)據(jù)都被封裝在記錄中。 握手協(xié)議允許服務(wù)器與客戶機(jī)在應(yīng)用程序傳輸和接收數(shù)據(jù)之前互相認(rèn)證、協(xié)商加密算法和密鑰。,11,SSL握手協(xié)議,一、SSL協(xié)議的概述,在初次建立SSL連接時(shí)使用SSL記錄協(xié)議交換一系列消息。為如下操作做準(zhǔn)備: . 客戶機(jī)對(duì)服務(wù)器的認(rèn)證。 . 客戶機(jī)與服務(wù)器都支持的加密算法或密碼。 . 服務(wù)器對(duì)客戶的認(rèn)證(可選)。 .使用公鑰加密技
6、術(shù)生成共享密鑰。 .建立加密SSL連接。,12,四個(gè)目標(biāo),二、目標(biāo),加密安全性:在雙方之間建立安全的連接。 協(xié)同工作能力:獨(dú)立程序員能夠使用SSL3.0開發(fā)應(yīng)用,然后能夠在不知道他人代碼的情況下成功地交換加密參數(shù)。 可擴(kuò)展性:SSL致力于提供一種框架,在必要時(shí)新的公鑰和大批加密方法可以整合進(jìn)來。 相對(duì)效率:考慮到加密操作特別是公鑰操作的速度問題,SSL協(xié)議使用可選的會(huì)話緩沖方案以降低連接數(shù)量,減少網(wǎng)絡(luò)操作行為。,13,支持的密碼,三、SSL協(xié)議支持的密碼,帶SHA-1消息認(rèn)證、支持168位加密的3-DES,速度不如RC4快。大約有3.7 * 1050個(gè)密碼。 帶MD5消息認(rèn)證、支持128位加密
7、的RC4,RC4和RC2都有128位的密碼,加密強(qiáng)度僅次于3-DES。RC4和RC2大約有3.4 * 1038 個(gè)密碼可用。RC4密碼是SSL支持的密碼中最快的。 帶SHA-1消息認(rèn)證、支持56位加密的DES,大約有7.2 * 1016 個(gè)可用的密碼(在SSL2.0中該密碼使用的是MD5 消息認(rèn)證)。,14,支持的密碼,三、SSL協(xié)議支持的密碼,美國允許以下加密技術(shù)出口: 帶MD5消息認(rèn)證、支持40位加密的RC4,大約有個(gè)1.1 * 1012可用的密碼。 帶MD5消息認(rèn)證、支持40位加密的RC2,大約有個(gè)1.1 * 1012可用的密碼。 注:對(duì)RC2和RC4支持40位加密,其中密鑰仍是128位
8、的,但只有40位有加密意義。 不加密,只帶MD5消息認(rèn)證。(SSL3.0支持而SSL2.0不支持)。,15,主要工作流程,四、SSL協(xié)議原理及工作流程,網(wǎng)絡(luò)連接建立; 選擇與該連接相關(guān)的加密和壓縮方式; 雙方的身份識(shí)別; 本次傳輸密鑰的確定; 加密的數(shù)據(jù)傳輸; 網(wǎng)絡(luò)連接的關(guān)閉。,16,主要工作流程,四、SSL協(xié)議原理及工作流程,應(yīng)用數(shù)據(jù)的傳輸過程為 : )應(yīng)用程序把應(yīng)用數(shù)據(jù)提交給本地的SSL; )發(fā)送端的SSL根據(jù)需要 : a)使用指定的壓縮算法 ,壓縮應(yīng)用數(shù)據(jù); b)使用散列算法對(duì)壓縮后的數(shù)據(jù)計(jì)算散列值; c)把散列值和壓縮數(shù)據(jù)一起用加密算法加密; 3) 密文通過網(wǎng)絡(luò)傳給對(duì)方;,17,主要工
9、作流程,四、SSL協(xié)議原理及工作流程,4)接收方的SSL 用相同的加密算法對(duì)密文解密 ,得到明文; 用相同的散列算法對(duì)明文中的應(yīng)用數(shù)據(jù)散列; 計(jì)算得到的散列值與明文中的散列值比較; 5)如果一致 ,則明文有效 ,接收方的SSL把明文解壓后得到應(yīng)用數(shù)據(jù)上交給應(yīng)用層。否則就丟棄數(shù)據(jù) ,并向發(fā)方發(fā)出告警信息。嚴(yán)重的錯(cuò)誤有可能引起再次的協(xié)商或連接中斷。,18,記錄協(xié)議工作流程,四、SSL協(xié)議原理及工作流程,19,記錄協(xié)議工作流程,四、SSL協(xié)議原理及工作流程,Application data,Fragment,Compress,Add MAC,Encryption,Append SSL record
10、header,20,四、SSL協(xié)議原理及工作流程,SSL 記錄格式,加密數(shù)據(jù),21,內(nèi)容類型:長8位,表示封裝數(shù)據(jù)的上一層協(xié)議,如:握手協(xié)議、報(bào)警協(xié)議、更改密碼說明協(xié)議或應(yīng)用數(shù)據(jù) 主版本號(hào):8位,3.0版為3 次版本號(hào):8位,3.0版為0 壓縮長度:16位,表示壓縮后的數(shù)據(jù)字節(jié)數(shù),SSL 記錄格式,22,四、SSL協(xié)議原理及工作流程,SSL 記錄協(xié)議的負(fù)載,23,SSL記錄數(shù)據(jù)的格式,四、SSL協(xié)議原理及工作流程,SSL的記錄包含三個(gè)部分:MAC數(shù)據(jù)、實(shí)際數(shù)據(jù)和粘貼數(shù)據(jù)。 MAC數(shù)據(jù)用于數(shù)據(jù)完整性檢查。 MAC數(shù)據(jù)HASH密鑰,實(shí)際數(shù)據(jù),粘貼數(shù)據(jù),序號(hào)。 當(dāng)會(huì)話的客戶端發(fā)送數(shù)據(jù)時(shí),密鑰是客戶的
11、寫密鑰(服務(wù)器用讀密鑰來驗(yàn)證MAC數(shù)據(jù));而當(dāng)會(huì)話的客戶端接收數(shù)據(jù)時(shí),密鑰是客戶的讀密鑰(服務(wù)器用寫密鑰來產(chǎn)生MAC數(shù)據(jù))。 序號(hào)是一個(gè)可以被發(fā)送和接收雙方遞增的計(jì)數(shù)器。計(jì)數(shù)器有32位,計(jì)數(shù)值循環(huán)使用,每發(fā)送一個(gè)記錄計(jì)數(shù)值遞增一次,序號(hào)的初始值為0。,24,SSL握手協(xié)議,四、SSL協(xié)議原理及工作流程,SSL握手協(xié)議包含兩個(gè)階段: 第一個(gè)階段:建立私密性通信信道; 第二個(gè)階段:客戶認(rèn)證。,25,SSL握手協(xié)議工作流程,四、SSL協(xié)議原理及工作流程,第一階段:通信初始化。當(dāng)雙方都收到對(duì)方HELLO消息時(shí),就有足夠信息確定是否需要新密鑰。若不需要新密鑰,則進(jìn)入握手第二階段。否則,客戶方根據(jù)服務(wù)器方
12、的SERVERHELLO消息(包含服務(wù)器持有證書、加密規(guī)約和連接標(biāo)識(shí))產(chǎn)生新密鑰,并發(fā)出 CLIENT MASTER KEY消息。最終服務(wù)器方向客戶方發(fā)出SERVERVERIFY消息。只有擁有合適的公鑰的服務(wù)器才能解開密鑰。,26,SSL握手協(xié)議工作流程,四、SSL協(xié)議原理及工作流程,每一通信方向上都需要一對(duì)密鑰,所以一個(gè)連接需要四個(gè)密鑰,分別為客戶方的讀密鑰、寫密鑰、服務(wù)器方的讀密鑰、寫密鑰。 第二階段:對(duì)客戶進(jìn)行認(rèn)證,此時(shí)服務(wù)器已經(jīng)被認(rèn)證了。服務(wù)器向客戶發(fā)出認(rèn)證請(qǐng)求消息:REQUESTCERTIFICATE。當(dāng)客戶收到服務(wù)器方的認(rèn)證請(qǐng)求消息,發(fā)出自己的證書,并且監(jiān)聽對(duì)方回送的認(rèn)證結(jié)果。而當(dāng)
13、服務(wù)器收到客戶的認(rèn)證,認(rèn)證成功返回SERVERFINISH消息,否則返回錯(cuò)誤消息。握手過程到此全部結(jié)束。,27,SSL握手協(xié)議工作流程,四、SSL協(xié)議原理及工作流程,Client Hello Server Hello, Certificate + Cert chain Client Key exchange Server Change Cipher Client Change Cipher Client Server Data,28,SSL握手協(xié)議工作流程,四、SSL協(xié)議原理及工作流程,29,SSL握手協(xié)議工作流程,四、SSL協(xié)議原理及工作流程,CLIENT,SERVER,ClientHell
14、o,ServerHello change cipher spec Finished,change cipher spec Finished,Application Data,Application Data,30,四、SSL協(xié)議原理及工作流程,消息類型 參數(shù) hello_requestnull client_hello/ version,random,session id, server_hello cipher suite, compression method certificate chain of X.509v3 certificates server_key_exchangepara
15、meters,signature certificate_request type,authorities server_done null certificate_verifysignature client_key_exchangeparameters,signature finishedhash value,31,認(rèn)證服務(wù)器的身份,四、SSL協(xié)議原理及工作流程,1從服務(wù)器端傳送的證書中獲得相關(guān)信息 2當(dāng)天的時(shí)間是否在證書的合法期限內(nèi); 3簽發(fā)證書的機(jī)關(guān)是否客戶端信任的; 4簽發(fā)證書的公鑰是否符合簽發(fā)者的數(shù)字簽名 5證書中的服務(wù)器域名是否符合服務(wù)器自己真正的域名 6服務(wù)器被驗(yàn)證成功,客戶繼
16、續(xù)進(jìn)行握手過程。,32,認(rèn)證客戶端的身份,四、SSL協(xié)議原理及工作流程,1 客戶端傳送的證書中獲得相關(guān)信息; 2 用戶的公鑰是否符合用戶的數(shù)字簽名; 3 當(dāng)天的時(shí)間是否在證書的合法期限內(nèi); 4 簽發(fā)證書的機(jī)關(guān)是否服務(wù)器信任的; 5 簽發(fā)證書的機(jī)關(guān)是否服務(wù)器端信任的; 6用戶的證書是否在服務(wù)器的LDAP用戶信息中 7該用戶是否有權(quán)限訪問請(qǐng)求的服務(wù)器資源,33,工作流程 4階段,四、SSL協(xié)議原理及工作流程,34,工作流程,四、SSL協(xié)議原理及工作流程,1. CS:發(fā)送客戶的SSL版本號(hào)、密碼設(shè)置、隨機(jī)數(shù)以及服務(wù)器使用SSL協(xié)議通信所需的其它信息。 2. SC:發(fā)送服務(wù)器的SSL版本號(hào)、密碼設(shè)置、
17、隨機(jī)數(shù)以及客戶機(jī)使用SSL協(xié)議通信所需的其它信息。服務(wù)器還要發(fā)送自己的證書,若需要對(duì)客戶認(rèn)證,則要求客戶發(fā)送證書。 3. C對(duì)S認(rèn)證。若S不能被認(rèn)證,用戶收到警告,通知加密和認(rèn)證連接不能建立。若服務(wù)器能被成功地認(rèn)證,客戶機(jī)繼續(xù)下一步。,35,工作流程,四、SSL協(xié)議原理及工作流程,4. 使用所有在握手中生成的數(shù)據(jù),客戶機(jī)為會(huì)話創(chuàng)建pre_master_secret,用服務(wù)器公鑰(從服務(wù)器證書中得到)加密它,向服務(wù)器發(fā)送加密的pre_master_secret。 5. 若服務(wù)器已經(jīng)要求客戶認(rèn)證,客戶機(jī)會(huì)向服務(wù)器隨加密的pre_master_secret一起發(fā)送簽名的數(shù)據(jù)和客戶自己的證書。 6.
18、S試圖去認(rèn)證客戶。若認(rèn)證成功,S使用私鑰加密pre_master_secret,然后執(zhí)行一系列步驟生成master secret。否則會(huì)話終止。,36,工作流程,四、SSL協(xié)議原理及工作流程,7.客戶機(jī)與服務(wù)器使用master secret生成會(huì)話密鑰。該密鑰是對(duì)稱密鑰,用于加密和解密在SSL會(huì)話期間交換的信息,檢驗(yàn)信息完整性即檢測通過SSL連接發(fā)送和接收期間數(shù)據(jù)中的任何改變。 8. CS:發(fā)送消息通知以后從客戶機(jī)來的消息將用會(huì)話密鑰加密。客戶機(jī)然后發(fā)送一條獨(dú)立的(加密的)消息表明握手的客戶機(jī)部分已經(jīng)完成。,37,工作流程,四、SSL協(xié)議原理及工作流程,9. SC:發(fā)送消息通知以后從服務(wù)器來的
19、消息將用會(huì)話密鑰加密。服務(wù)器然后發(fā)送一條獨(dú)立的(加密的)消息表明握手的服務(wù)器部分已經(jīng)完成。 10. SSL握手完成,SSL會(huì)話開始??蛻魴C(jī)與服務(wù)器使用會(huì)話加密和解密他們彼此發(fā)送的數(shù)據(jù)和驗(yàn)證數(shù)據(jù)完整性。,38,工作流程,四、SSL協(xié)議原理及工作流程,在繼續(xù)會(huì)話之前,Netscape服務(wù)器能被配置成檢查客戶證書是否出現(xiàn)在LDAP目錄里的用戶條目中。這個(gè)配置選項(xiàng)提供了一條途徑確認(rèn)客戶證書尚未被撤消。重要的是要注意到客戶機(jī)與服務(wù)器證書與用公鑰/密鑰對(duì)中的一個(gè)加密一些數(shù)據(jù)而用其它密鑰解密數(shù)據(jù)有關(guān)。 在服務(wù)器認(rèn)證的情況下,客戶機(jī)用服務(wù)器公用密鑰加密pre_master_secret。只有相應(yīng)的密鑰能夠正確地解密pre_master_secret,客戶才確信:與公鑰相關(guān)聯(lián)的標(biāo)識(shí)符事實(shí)上是服務(wù)器與客戶機(jī)連接使用的。否則,服務(wù)器不能解密pre_master_secret、不能生成會(huì)話要求的對(duì)稱密鑰,會(huì)話將被終止。,39,工作流程,四、SSL協(xié)議原理及工作流程,在客戶認(rèn)證的情況下,客戶機(jī)用客戶的密鑰加密一些隨機(jī)數(shù)據(jù),創(chuàng)建一個(gè)數(shù)字簽名。只有在相應(yīng)的密鑰被使用時(shí),客戶證書中的公鑰能夠正確驗(yàn)證數(shù)字簽名。否則,服務(wù)器不能驗(yàn)證數(shù)字簽名,會(huì)話被終止。,40,密鑰協(xié)商的形象化比喻,四、S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東清遠(yuǎn)市廣鹽食品有限公司招聘20人筆試參考題庫附帶答案詳解
- 房子水彩畫課件
- 近視防控宣傳月課件
- 創(chuàng)意美術(shù)蝸牛房子課件
- 小學(xué)孩子的心理健康教育
- 2025屆江蘇省蘇北四市高三一?;瘜W(xué)試題及答案
- 毛利語中的名詞性范疇分析論文
- 《數(shù)據(jù)挖掘技術(shù)在經(jīng)濟(jì)統(tǒng)計(jì)學(xué)方法改進(jìn)中的應(yīng)用》論文
- 工作總結(jié)數(shù)據(jù)報(bào)告
- 2025-2030美容皂行業(yè)投資機(jī)會(huì)及風(fēng)險(xiǎn)投資運(yùn)作模式研究報(bào)告
- 企業(yè)廉潔風(fēng)險(xiǎn)防控課件教學(xué)
- 中醫(yī)護(hù)理三基練習(xí)題庫+答案
- 2025年護(hù)士三基考核試題及答案
- 七年級(jí)下冊(cè)2025春季歷史 教學(xué)設(shè)計(jì)《明朝對(duì)外關(guān)系》 學(xué)習(xí)資料
- 《設(shè)備管理標(biāo)準(zhǔn)化實(shí)施手冊(cè)》
- 湖南省長沙市明達(dá)中學(xué)2024-2025學(xué)年九年級(jí)下學(xué)期入學(xué)考試英語試卷(含答案無聽力原文及音頻)
- 汽車站建設(shè)項(xiàng)目可行性研究報(bào)告
- 《中國古典園林之美》課件
- 2024年09月上海2024交通銀行交銀金融科技校園招考筆試歷年參考題庫附帶答案詳解
- 2025年人教五四新版八年級(jí)數(shù)學(xué)上冊(cè)階段測試試卷
- 火龍罐綜合灸療法
評(píng)論
0/150
提交評(píng)論