2016-09-16 分類: 網(wǎng)站建設(shè)
SSL 是一個(gè)安全協(xié)議,它提供使用 TCP/IP 的通信應(yīng)用程序間的隱私與完整性。因特網(wǎng)的 超文本傳輸協(xié)議(HTTP)使用 SSL 來(lái)實(shí)現(xiàn)安全的通信。
在客戶端與服務(wù)器間傳輸?shù)臄?shù)據(jù)是通過(guò)使用對(duì)稱算法(如 DES 或 RC4)進(jìn)行加密的。公用密鑰算法(通常為 RSA)是用來(lái)獲得加密密鑰交換和數(shù)字簽名的,此算法使用服務(wù)器的SSL數(shù)字證書中的公用密鑰。有了服務(wù)器的SSL數(shù)字證書,客戶端也可以驗(yàn)證服務(wù)器的身份。SSL 協(xié)議的版本 1 和 2 只提供服務(wù)器認(rèn)證。版本 3 添加了客戶端認(rèn)證,此認(rèn)證同時(shí)需要客戶端和服務(wù)器的數(shù)字證書。
SSL 連接總是由客戶端啟動(dòng)的。在SSL 會(huì)話開始時(shí)執(zhí)行 SSL 握手。此握手產(chǎn)生會(huì)話的密碼參數(shù)。關(guān)于如何處理 SSL 握手的簡(jiǎn)單概述,如下圖所示。此示例假設(shè)已在 Web 瀏覽器 和 Web 服務(wù)器間建立了 SSL 連接。
圖 SSL的客戶端與服務(wù)器端的認(rèn)證握手
(1) 客戶端發(fā)送列出客戶端密碼能力的客戶端“您好”消息(以客戶端選項(xiàng)順序排序),如 SSL 的版本、客戶端支持的密碼對(duì)(加密套件)和客戶端支持的數(shù)據(jù)壓縮方法(哈希函數(shù))。消息也包含 28 字節(jié)的隨機(jī)數(shù)。
(2) 服務(wù)器以服務(wù)器“您好”消息響應(yīng),此消息包含密碼方法(密碼對(duì))和由服務(wù)器選擇的數(shù)據(jù)壓縮方法,以及會(huì)話標(biāo)識(shí)和另一個(gè)隨機(jī)數(shù)。
注意:客戶端和服務(wù)器至少必須支持一個(gè)公共密碼對(duì),否則握手失敗。服務(wù)器一般選擇大的公共密碼對(duì)。
(3) 服務(wù)器發(fā)送其SSL數(shù)字證書。(服務(wù)器使用帶有 SSL 的 X.509 V3 數(shù)字證書。)
如果服務(wù)器使用 SSL V3,而服務(wù)器應(yīng)用程序(如 Web 服務(wù)器)需要數(shù)字證書進(jìn)行客戶端認(rèn)證,則客戶端會(huì)發(fā)出“數(shù)字證書請(qǐng)求”消息。在 “數(shù)字證書請(qǐng)求”消息中,服務(wù)器發(fā)出支持的客戶端數(shù)字證書類型的列表和可接受的CA的名稱。
(4) 服務(wù)器發(fā)出服務(wù)器“您好完成”消息并等待客戶端響應(yīng)。
(5) 一接到服務(wù)器“您好完成”消息,客戶端( Web 瀏覽器)將驗(yàn)證服務(wù)器的SSL數(shù)字證書的有效性并檢查服務(wù)器的“你好”消息參數(shù)是否可以接受。
如果服務(wù)器請(qǐng)求客戶端數(shù)字證書,客戶端將發(fā)送其數(shù)字證書;或者,如果沒有合適的數(shù)字證書是可用的,客戶端將發(fā)送“沒有數(shù)字證書”警告。此警告僅僅是警告而已,但如果客戶端數(shù)字證書認(rèn)證是強(qiáng)制性的話,服務(wù)器應(yīng)用程序?qū)?huì)使會(huì)話失敗。
(6) 客戶端發(fā)送“客戶端密鑰交換”消息。此消息包含 pre-master secret(一個(gè)用在對(duì)稱加密密鑰生成中的 46 字節(jié)的隨機(jī)數(shù)字),和 消息認(rèn)證代碼( MAC )密鑰(用服務(wù)器的公用密鑰加密的)。
如果客戶端發(fā)送客戶端數(shù)字證書給服務(wù)器,客戶端將發(fā)出簽有客戶端的專用密鑰的“數(shù)字證書驗(yàn)證”消息。通過(guò)驗(yàn)證此消息的簽名,服務(wù)器可以顯示驗(yàn)證客戶端數(shù)字證書的所有權(quán)。
注意: 如果服務(wù)器沒有屬于數(shù)字證書的專用密鑰,它將無(wú)法解密 pre-master 密碼,也無(wú)法創(chuàng)建對(duì)稱加密算法的正確密鑰,且握手將失敗。
(7) 客戶端使用一系列加密運(yùn)算將 pre-master secret 轉(zhuǎn)化為 master secret,其中將派生出所有用于加密和消息認(rèn)證的密鑰。然后,客戶端發(fā)出“更改密碼規(guī)范” 消息將服務(wù)器轉(zhuǎn)換為新協(xié)商的密碼對(duì)??蛻舳税l(fā)出的下一個(gè)消息(“未完成”的消息)為用此密碼方法和密鑰加密的第一條消息。
(8) 服務(wù)器以自己的“更改密碼規(guī)范”和“已完成”消息響應(yīng)。
(9) SSL 握手結(jié)束,且可以發(fā)送加密的應(yīng)用程序數(shù)據(jù)。
當(dāng)前標(biāo)題:SSL工作原理
文章URL:http://m.rwnh.cn/news/46413.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、定制開發(fā)、自適應(yīng)網(wǎng)站、Google、關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(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)
猜你還喜歡下面的內(nèi)容