




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、HTTPS簡介2012-02-10第一節(jié)第一節(jié) HTTPSHTTPS簡介簡介引入: 隨著網(wǎng)絡通信和電子商務等服務和資源進入人們的日常生活,人們在享受網(wǎng)絡帶來的各種便利的同時,面臨各種各樣的安全隱患。 我們經(jīng)常接觸到的就有郵箱登錄,網(wǎng)上購物,電子銀行等等。這很多是基于 HTTP 協(xié)議的。 但HTTPRFC2616最初是在INTERNET上不用密碼的應用。因此隨著人們對安全性的要求增加。HTTPS協(xié)議,為我們提供了面向通道的安全性。目錄目錄目錄nHTTPS簡介nSSL協(xié)議介紹nSSL記錄協(xié)議nSSL握手協(xié)議HTTPS簡介簡介nHTTPS(全稱:Hypertext Transfer Protocol
2、 over Secure Socket Layer)n是HTTP的安全版nHTTPS默認使用TCP端口443,也可以指定其他的TCP端口。nURI格式 https/:URL一個URI例子: https:/ Sockets Layer)協(xié)議。nSSL是Netscape公司發(fā)明的一種用于WEB的安全傳輸協(xié)議。 隨著時間的推移由于Netscape失去了市場份額,它將SSL的維護工作移交給因特網(wǎng)工程任務組(IETF)。第一個后Netscape版本被重新命名為安全傳輸層協(xié)議(TLS), TLS (Transport Layer Security :RFC 2246)是基于SSL上研發(fā)的,但是與SSLv3
3、.0有細微的差別。n因此,SSL協(xié)議有時也稱為TLS協(xié)議。目前常用的是TLSv1.0的協(xié)議。SSL協(xié)議介紹協(xié)議介紹nSSL協(xié)議的功能n1)保證傳輸數(shù)據(jù)的保密性n2)保證傳輸數(shù)據(jù)的完整性n3)實現(xiàn)通信雙方的互相身份認證SSL協(xié)議介紹協(xié)議介紹nSSL協(xié)議在協(xié)議棧的位置IP協(xié)議協(xié)議TCP協(xié)議協(xié)議HTTP、TELNET、FTP等應用層協(xié)議等應用層協(xié)議SSL記錄協(xié)議記錄協(xié)議應用數(shù)據(jù)應用數(shù)據(jù)告警告警握手握手ChangeCipherSpecSSL協(xié)議介紹協(xié)議介紹nSSL 協(xié)議是一個分層的協(xié)議,共有兩層組成。n高層協(xié)議包括 :nSSL 握手協(xié)議(SSL HandshakeProtocol) 、n改變加密約定協(xié)
4、議(Change Cipher Spec Protocol) 、n報警協(xié)議(AlertProtocol) n處于 SSL 協(xié)議的底層的是:n SSL記錄層協(xié)議(SSL Record Protocol)SSL記錄協(xié)議記錄協(xié)議nSSL的記錄協(xié)議n記錄層協(xié)議實際上是一個簡單的封裝或者說是“打包”協(xié)議。記錄可能是明文傳送的,也可能是被加密傳送的,n紀錄協(xié)議的功能n保證消息的完整性n機密性SSL記錄協(xié)議記錄協(xié)議nSSL記錄的結構示意圖:類型類型版本版本長度長度明文數(shù)據(jù)明文數(shù)據(jù)/加密數(shù)據(jù)加密數(shù)據(jù)1字節(jié)2字節(jié)2字節(jié)(長度)字節(jié)類型類型:有握手協(xié)議、報警協(xié)議、改變加密約定協(xié)議、應用數(shù)據(jù)等四種有握手協(xié)議、報警協(xié)
5、議、改變加密約定協(xié)議、應用數(shù)據(jù)等四種加密數(shù)據(jù)加密數(shù)據(jù)可分解為數(shù)據(jù)HMAC填充*填充長度*注:HMAC: Keyed-Hash Message Authentication Code(消息驗證碼)SSL記錄協(xié)議記錄協(xié)議nMAC(Message Authentication Code)消息驗證碼消息驗證碼n消息驗證碼也稱為消息摘要,是實現(xiàn)數(shù)據(jù)完整性的主要手段。n主要目的是認證消息、檢驗數(shù)據(jù)是否被篡改。n目前常用的消息摘要算法有MD5(Message-Digest Algorithm 5 ) 和SHA(Secure Hash Algorithm )。nSSL中的摘要算法是:HMAC 即 Keyed-
6、Hash Message Authentication Code。nHMAC 是在使用消息摘要函數(shù)(例如 MD5 等)的同時,增加了一個“密鑰”作為輸入。 SSL記錄協(xié)議記錄協(xié)議nSSL記錄協(xié)議封裝過程類型版本長度數(shù)據(jù)HMAC*填充*填充長度*1、填寫”記錄頭信息”中的”版本”和”類型”*2、如果協(xié)商了壓縮算法則壓縮“數(shù)據(jù)”3、計算并附加MAC*4、計算“填充長度”,填寫“填充字段”并“加密”5、填寫記錄頭信息中的“長度”SSL記錄協(xié)議記錄協(xié)議nSSL記錄協(xié)議解封裝過程類型版本長度數(shù)據(jù)HMAC*填充*填充長度*1、讀取”記錄頭信息”中的”版本”2、根據(jù)長度讀入記錄“數(shù)據(jù)”部分3、去掉“填充長度
7、”和“填充“字段*4、檢查并去掉MAC5、如果協(xié)商了壓縮算法則解壓“數(shù)據(jù)”SSL握手協(xié)議握手協(xié)議nSSL 握手協(xié)議是SSL 協(xié)議中最重要同時也是最復雜的協(xié)議。nSSL 握手協(xié)議主要負責如下工作握手協(xié)議主要負責如下工作:n算法協(xié)商 n身份驗證n 確定密鑰SSL握手協(xié)議握手協(xié)議nSSL握手過程分為四種:nFull Handshake : 全流程握手,C/S雙方從無到有建立SSL連接;nResum session Handshake : C/S雙方曾經(jīng)建立過連接,但中途斷了,SSL會話信息還有保留,只需要執(zhí)行部分握手流程就可建立SSL連接;nServer Re-negotiation Handsha
8、ke : 已經(jīng)建立了SSL連接,但server端為了某些原因(比如安全性)要求重新對密鑰進行協(xié)商,也只需要執(zhí)行部分握手流程;nClient Re-negotiation Handshake : 已經(jīng)建立SSL連接,但client端為了某些原因要求重新協(xié)商,只需執(zhí)行部分握手流程。n全流程握手(Full Handshake) 攜帶客戶的SSL版本號,加密套件列表,壓縮算法列表,客戶端隨機數(shù),sessionid = 0;傳送給服務器Server HelloServer Certificate*Client Certificate Requst*Server Hello done*Client Cer
9、tificateClient Key Exchang*Certificate verifyChange Cipher SpecClient finished MessageClient helloChange Cipher SpecServer finished MessageApplication DataApplication Data服務器選擇版本,確定要用的加密套件、壓縮算法,計算sessionid,以及隨機數(shù)發(fā)給客戶端服務器將自己的證書發(fā)送給客戶端服務端向客戶端索要證書服務端通知客戶端握手消息發(fā)送完成客戶端向服務器端發(fā)送自己的證書客戶端密鑰交換(產(chǎn)生預主密鑰(preMasterKey
10、)客戶端證書驗證,讓服務器驗證發(fā)消息的客戶端和客戶端證書的真實所有者 改變加密約定消息,通知服務端,之后的消息開始啟用加密參數(shù)客戶端的 SSL 協(xié)商成功結束,發(fā)送握手驗證報文確保消息的完整性服務器端的 SSL 協(xié)商成功結束,發(fā)送握手驗證報文確保消息的完整性改變加密約定消息,通知客戶端,之后的消息開始啟用加密參數(shù)應用數(shù)據(jù)傳送下一頁 攜帶客戶的SSL版本號,加密套件列表,壓縮算法列表,客戶端隨機數(shù),sessionid = 0;傳送給服務器Client hellon客戶端給服務器端發(fā)個hello的問候,問候里包含有它使用的SSL版本號、加密套件列表,壓縮算法列表,客戶端隨機數(shù),sessionid =
11、 0;n服務器收到客戶端的問候后,會從客戶端提供的版本號中選出雙方都支持的最高版本, 從加密套件列表選擇一種支持也安全性強的加密套件,從壓縮算法列表選擇壓縮算法(一般為空)。返回nClient hellon服務器端將上述選擇的加密套件,壓縮算法(NULL),且計算一個session_id,和服務器端隨機數(shù)發(fā)送給客戶端服務器選擇版本,確定要用的加密套件、壓縮算法,計算sessionid,以及隨機數(shù)發(fā)給客戶端Server hellon客戶端收到serverhello的報文會將加密套件,壓縮算法(NULL),session_id,和服務器端隨機數(shù)緩存起來。接著繼續(xù)握手過程。返回nServer hel
12、lo服務器將自己的證書發(fā)送給客戶端Server Certificate *n服務器端將自己的證書發(fā)送給客戶端,證明自己的身份。證書中包含有服務器的身份信息,以及服務器的公鑰。n客戶端收到Certificate報文會驗證該證書是否過期,并將服務器的公鑰緩存起來。返回nServer Certificate *Client Certificate Requst*n如果是SSL的雙向認證的話 ,那么服務器端會向客戶端發(fā)送client cert request 消息,索要客戶端的證書,證書中包含有server端支持的證書類型,和所信任的所有證書發(fā)行機構(CA(Certificate Authority)
13、列表。 n客戶端收到Client Certificate Requst報文將消息中的證書類型列表和可信任證書發(fā)行機構列表保存下來,可在后面發(fā)送客戶端證書時候拿來篩選證書用。 服務端向客戶端索要證書返回nClient Certificate Requst*Server Hello donen服務器端通知客戶端這一步的握手消息發(fā)送完成。等待客戶端確認。服務端通知客戶端握手消息發(fā)送完成返回nServer Hello done*Client Certificaten客戶端從之前收到server 端發(fā)的 cert request 消息中的支持的證書類型列表和信任的根 CA (Certificate Au
14、thentication)列表中選擇滿足條件的第一個證書發(fā)送給服務器??蛻舳讼蚍掌鞫税l(fā)送自己的證書n服務器端會緩存客戶端的公鑰。返回n*Client CertificateClient Key Exchangn若為RSA加密,客戶端則產(chǎn)生一個 48 位隨機數(shù)作為 pre-master(預主密鑰) 并用服務器公鑰加密后發(fā)出去。 客戶端向服務器端發(fā)送一個48位的預主密鑰n服務器端緩存預主密鑰。返回nClient Key Exchang*Certificate verify客戶端證讓服務器驗證發(fā)消息的客戶端和客戶端證書的真實性n由于之前的Client Certificate消息中包含有客戶端的公鑰
15、,因此用公鑰解密該消息,驗證客戶端的真實性。nCertificate verify這個消息中要包含一個簽名,簽名里頭內容就是從 client hello 開始到目前為止所有握手消息(不包括本消息)的摘要,然后用客戶端的私鑰加密。返回n*Certificate verifyChange Cipher Spec改變加密約定消息,通知服務端,之后的消息開始啟用加密參數(shù)n在發(fā)送該消息的同時,客戶端會把之前的客戶端隨機數(shù),服務器端隨機數(shù)、以及預主鑰產(chǎn)生一個主密鑰。并將主密鑰進行密鑰導出(服務器端的寫MAC密鑰、客戶端寫MAC密鑰、服務器端的寫密鑰、客戶端的寫密鑰),該過程只在本地進行,不發(fā)送給對方。nC
16、hange Cipher Spec該消息只有一個值為1的字節(jié)。不屬于握手協(xié)議,和握手協(xié)議同一級別的改變加密約定協(xié)議。發(fā)送該消息的作用是為了告訴對方接下來的消息將采用新協(xié)商的加密套件和密鑰進行通信。返回nChange Cipher SpecClient finished Message客戶端的 SSL 協(xié)商成功結束,發(fā)送握手驗證報文確保消息的完整性n這是客戶端SSL協(xié)商成功結束的消息。也是第一個用協(xié)商好的密鑰加密的消息。會把從client hello一直到現(xiàn)在的數(shù)據(jù)摘要,用客戶端密鑰加密,發(fā)送給服務器。確保握手過程的完整性和機密性。返回nClient finished MessageSSL握手協(xié)議握手協(xié)議n 加密套件列表加密套件列表:n列表中包含了Client端支持的所有密鑰套件。n一個密鑰套件定義了一個密鑰規(guī)格,其中描述如下 內容:n密鑰交換算法(非對稱加密算法),n是否出口n對稱加密算法n支持的最高對稱密鑰位數(shù)nMAC (Message Authentication Code)算法 (或摘要算法)。n例:SSL_RSA_WITH_RC4_128_MD5 = 0 x0004 /* 非對稱加密算法或密鑰交
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八月十五超市活動方案
- 公交公司三八節(jié)活動方案
- 公交安全年活動方案
- 零售商業(yè)貿易行業(yè)試題
- 公眾號簽到活動方案
- 公會各項活動方案
- 基于遙感技術的農(nóng)業(yè)生產(chǎn)監(jiān)控合作協(xié)議
- 公關公司品牌策劃方案
- 公關酒店活動方案
- 公司diy七夕活動策劃方案
- 日光性角化病的健康宣教
- 2025年八省聯(lián)考物理試卷答案解析版(云南)
- 個人發(fā)展與學習動力的秘密
- 供配電課程設計報告
- 【MOOC】當代社會中的科學與技術-南京大學 中國大學慕課MOOC答案
- 【MOOC】中級財務會計-江西財經(jīng)大學 中國大學慕課MOOC答案
- 2024年海南省中考物理試卷(附真題答案)
- 3D打印技術與應用知到智慧樹期末考試答案題庫2024年秋西北工業(yè)大學
- 機房動力環(huán)境監(jiān)控系統(tǒng)調試自檢報告
- 詩人海子課件
- 美術基礎理論知識單選題100道及答案解析
評論
0/150
提交評論