版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、,,SSL工作原理,什么是SSL?,SSL是Security Socket Layer的縮寫,技術(shù)上稱為安全套接字,可以簡稱為加密通訊協(xié)議。SSL是一種在客戶端和服務(wù)器端之間建立安全通道的協(xié)議。,,一、SSL協(xié)議概述二、SSL協(xié)議的體系結(jié)構(gòu)三、SSL協(xié)議的工作流程四、SSL協(xié)議的實(shí)現(xiàn),一、SSL協(xié)議概述,SSL協(xié)議是指使用公鑰和私鑰技術(shù)組合的安全網(wǎng)絡(luò)通訊協(xié)議。是由著名的Netscape公司開發(fā)的,一種基于Web應(yīng)用的安全協(xié)議,
2、保護(hù)存有敏感信息Web的服務(wù)器的安全,消除用戶SSL在Internet上數(shù)據(jù)傳輸?shù)陌踩檻]。SSL一經(jīng)提出,就在Internet上得到廣泛的應(yīng)用?,F(xiàn) 在被廣泛用于Internet上的身份認(rèn)證與Web服務(wù)器和用戶端瀏覽器之間的數(shù)據(jù)安全通信。,,SSL協(xié)議指定了一種在應(yīng)用程序協(xié)議(如Http)和TCP/IP協(xié)議之間提供數(shù)據(jù)安全性分層的機(jī)制。 SSL協(xié)議提供的服務(wù)主要有:1)認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)
3、器;2)加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊??;3)維護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過程中不被改變。,,SSL以對稱密碼技術(shù)和公開密碼技術(shù)相結(jié)合,可以完成以下三個通信目標(biāo):1.秘密性2.完整性3.認(rèn)證性,,認(rèn)證:是一個身份的驗(yàn)證的過程,是為了確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器。每對密鑰包含一個公鑰和一個私鑰,公鑰是公開且廣泛分布的,而私鑰只有自己知道。用公鑰加密的數(shù)據(jù)只有私鑰才能解密,相反的,用私鑰加密的數(shù)據(jù)只有公鑰才能解密,正是這
4、種不對稱性才使得公用密鑰密碼系統(tǒng)那么有用。,,如:假設(shè)A要認(rèn)證B,B有一個密鑰對,即一個公鑰和 一個私鑰,B透露給A他的公鑰,然后驗(yàn)證如下: 1.A?B random--message 2.B?A B--private—key 3.A?B B—public--key,,證書是一種把公鑰綁定到名字的標(biāo)準(zhǔn)方式,從而就無法冒充他人的公鑰。一個證書包括下面的一些內(nèi)容: 1.證書發(fā)行者的名
5、字 2.證書發(fā)送給的團(tuán)體 3.主題的公鑰 4.一些時間戳,二、SSL協(xié)議的體系結(jié)構(gòu),SSL協(xié)議位于TCP/IP協(xié)議模型的網(wǎng)絡(luò)層和應(yīng)用層之間,使用TCP來提供一種可靠的端到端的安全服務(wù),它使客戶/服務(wù)器應(yīng)用之間的通信不被竊聽,并且始終對服務(wù)器進(jìn)行認(rèn)證,還可以選擇對客戶進(jìn)行認(rèn)證。SSL協(xié)議在應(yīng)用層通信之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商以及服務(wù)器認(rèn)證工作,在此之后,應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都被加密。,SSL協(xié)議
6、體系結(jié)構(gòu)圖,從上圖可以看出SSL安全協(xié)議實(shí)際是SSL握手協(xié)議、SSL修改密文協(xié)議、SSL警告協(xié)議和SSL記錄協(xié)議組成的一個協(xié)議族。,,SSL記錄協(xié)議為SSL連接提供了兩種服務(wù):一是機(jī)密性,二是信息完整性。SSL修改密文協(xié)議是使用SSL記錄協(xié)議服務(wù)的SSL高層協(xié)議的3個特定協(xié)議之一,也是其中最簡單的一個。協(xié)議由單個消息組成,該消息只包含一個值為1的單個字節(jié)。SSL告警協(xié)議是用來為對等實(shí)體傳遞SSL的相關(guān)警告。如果在通信過程中某一方發(fā)現(xiàn)
7、任何異常,就需要給對方發(fā)送一條警示消息通告。SSL握手協(xié)議,SSL握手協(xié)議,SSL握手協(xié)議允許通信實(shí)體在交換應(yīng)用數(shù)據(jù)之前協(xié)商密鑰的算法、加密密鑰和對客戶端進(jìn)行認(rèn)證的協(xié)議,為下一步記錄協(xié)議要使用的密鑰信息進(jìn)行協(xié)商。其中,SSL握手協(xié)議是在任何應(yīng)用程序數(shù)據(jù)傳輸之前使用的。,,SSL握手協(xié)議包含四個階段: 第一個階段是建立安全能力; 第二個階段服務(wù)器鑒別和密鑰交換; 第三個階段客戶鑒別和密鑰交換;
8、 第四個階段完成握手協(xié)議。,三、SSL協(xié)議的工作流程,服務(wù)器認(rèn)證階段: 1.客戶端向服務(wù)器發(fā)送一個開始信息“HELLO”以便開始一個新的會話連接; 2.服務(wù)器根據(jù)客戶的信息確定是否需要生成新的主密鑰,如需要則服務(wù)器在響應(yīng)客戶的“HELLO”信息時將包含生成主密鑰所需的信息;,,3.客戶根據(jù)收到的服務(wù)器響應(yīng)信息,產(chǎn)生一個主密鑰,并用服務(wù)器的公開密鑰加密后傳給服務(wù)器; 4.服務(wù)器恢復(fù)該主密鑰,并返回給客戶
9、一個用主密鑰認(rèn)證的信息,以此讓客戶認(rèn)證服務(wù)器。,,用戶認(rèn)證階段: 在此之前,服務(wù)器已經(jīng)通過了客戶認(rèn)證,這一階段主要完成對客戶的認(rèn)證。經(jīng)認(rèn)證的服務(wù)器發(fā)送一個提問給客戶,客戶則返回簽名后的提問和其公開密鑰,從而向服務(wù)器提供認(rèn)證。,,SSL存在的問題: 從SSL協(xié)議所提供的服務(wù)及其工作流程可以看出,SSL協(xié)議運(yùn)行的基礎(chǔ)是商家對消費(fèi)者信息保密的承諾,這就有利于商家而不利于消費(fèi)者。在電子商務(wù)初級階段,由于運(yùn)作電子商務(wù)的企
10、業(yè)大多是信譽(yù)較高的大公司,因此這問題還沒有充分暴露出來,這樣在電子支付過程中的單一認(rèn)證問題就越來越突出。,四、SSL協(xié)議的實(shí)現(xiàn),OpenSSL是一個支持SSL認(rèn)證的服務(wù)器。它是一個源代碼開放的自由軟件,支持多種操作系統(tǒng)。 OpenSSL軟件的目的是實(shí)現(xiàn)一個完整的、健壯的、商業(yè)級的開放源代碼工具,通過強(qiáng)大的加密算法來實(shí)現(xiàn)建立在傳輸層之上的安全性,,基于OpenSSL的程序可以被分為兩個部分:客戶機(jī)和服務(wù)器,使用SSL協(xié)議使
11、通信雙方可以相互驗(yàn)證對方身份的真實(shí)性,并且能夠保證數(shù)據(jù)的完整性和機(jī)密性。SSL通信模型采用C/S結(jié)構(gòu),基于OpenSSL的程序都要遵循以下幾個步驟: (1) OpenSSL初始化 int SSL_library_int(void);,,(2)選擇會話協(xié)議 TLSv1.0 、SSLv2 、SSLv3 、SSLv2/v3 (3) 創(chuàng)建會話環(huán)境 在OpenSSL中創(chuàng)建的SSL會話環(huán)境成
12、為CTX,使用 不同的協(xié)議會話,其環(huán)境也不一樣。(4)建立SSL套接字 SSL *SSL_new(SSL_CTX*ctx); //申請一個SSL套接字,,(5)完成SSL握手 在成功創(chuàng)建SSL套接字后, 客戶端使用SSL_connect()來完成握手過程: int SSL_connect(SSL*ssl); 對服務(wù)器來說,應(yīng)使用SSL_accept()來完成握手
13、過程:int SSL_connect(SSL *ssl),,(6)進(jìn)行數(shù)據(jù)傳輸 當(dāng)SSL握手完成之后,就可以進(jìn)行安全傳輸了。用以下函數(shù)來完成對套接字的讀寫操作: int SSL_read(SSL *ssl,void*but,int num); int SSL_write(SSL *ssl,const void*but,int num);,,(7)結(jié)束SSL通信 當(dāng)客戶端和服務(wù)器端之間的數(shù)
14、據(jù)通信完成之后,調(diào)用下面的函數(shù)來釋放已經(jīng)申請的SSL資源: int SSL_shutdown(SSL *ssl); //關(guān)閉SSL套接字 void SSL_free(SSL *ssl); //釋放SSL套接字 void SSL_CTX_free(SSL_CTX *ssl); //釋放SSL會話環(huán)境,結(jié)束語,SSL協(xié)議采用數(shù)字證書進(jìn)行雙端實(shí)體認(rèn)證,用非對稱加密算法進(jìn)行密鑰協(xié)商
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- openssl編程
- openssl實(shí)驗(yàn)
- openssl學(xué)習(xí)整理201210
- OpenSSL握手源代碼分析.pdf
- 基于OpenSSL的安全密鑰漏洞及其攻擊方法研究.pdf
- OpenSSL握手過程的測試與分析.pdf
- OpenSSL的組件化封裝研究與實(shí)現(xiàn).pdf
- 基于openssl的小型ca系統(tǒng)的實(shí)現(xiàn)-開題報(bào)告
- 信息安全系統(tǒng)工程ssl和openssl
- 基于openssl的小型ca系統(tǒng)的實(shí)現(xiàn)-開題報(bào)告
- 可信網(wǎng)絡(luò)中的OpenSSL云設(shè)計(jì)與實(shí)現(xiàn).pdf
- 用openssl實(shí)現(xiàn)電子商務(wù)中的ca認(rèn)證
- 用openssl實(shí)現(xiàn)電子商務(wù)中的ca認(rèn)證(20190213185811)
- 基于openssl的安全web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
- 基于國密算法的OpenSSL安全性優(yōu)化研究.pdf
- SSL協(xié)議分析及OpenSSL中AES和IDEA算法的改進(jìn)實(shí)現(xiàn).pdf
- 基于OpenSSL的安全文件傳輸系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于OpenSSL開發(fā)的聊天工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于OpenSSL的文件加密傳輸系統(tǒng)在ARM上的實(shí)現(xiàn).pdf
- 基于J2EE與OpenSSL的物流系統(tǒng)安全性研究及實(shí)現(xiàn).pdf
評論
0/150
提交評論