SSL協(xié)議是一種安全傳輸協(xié)議,SSL是SecureSocketLayer的縮寫,即安全套接層協(xié)議。該協(xié)議最初由Netscape企業(yè)發(fā)展而來,目前已經(jīng)成為互聯(lián)網(wǎng)上用來鑒別網(wǎng)站和網(wǎng)頁瀏覽者的身份,以及在瀏覽器使用者及網(wǎng)頁服務(wù)器之間進(jìn)行加密通訊的全球化標(biāo)準(zhǔn)協(xié)議。由于SSL技術(shù)已建立到了所有主要的瀏覽器和WEB服務(wù)器程序當(dāng)中,因此,僅需安裝數(shù)字證書,或服務(wù)器證書就可以激活服務(wù)器功能了。 SSL協(xié)議能夠?qū)π庞每ê蛡€人信息提供較安全的保護(hù)。SSL是對計算機(jī)之間整個會話進(jìn)行加密的協(xié)議。在SSL中,采用了公開密鑰和私有密鑰兩種加密方法。 SSL協(xié)議的優(yōu)勢在于它是應(yīng)用層協(xié)議確立無關(guān)的。高層的應(yīng)用協(xié)議如HTTP、FTP、Telnet等能透明地建立于SSL協(xié)議之上。其在應(yīng)用層協(xié)議通信之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商以及服務(wù)器認(rèn)證工作。在此之后應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都會被加密,從而保證我們在互聯(lián)網(wǎng)上通信的安全。 SSL協(xié)議提供的安全服務(wù)有: 1)認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器; 2)加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊取; 3)維護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過程中不被改變。 SSL的主要目的是在兩個通信應(yīng)用程序之間提供私密信和可靠性。這個過程通過3個元素來完成: 1、握手協(xié)議。 握手協(xié)議負(fù)責(zé)協(xié)商被用于客戶機(jī)和服務(wù)器之間會話的加密參數(shù)。當(dāng)一個SSL客戶機(jī)和服務(wù)器第一次開始通信時,它們在一個協(xié)議版本上達(dá)成一致,選擇加密算法,選擇相互認(rèn)證,并使用公鑰技術(shù)來生成共享密鑰。 2、記錄協(xié)議。 記錄協(xié)議用于交換應(yīng)用層數(shù)據(jù)。應(yīng)用程序消息被分割成可管理的數(shù)據(jù)塊,還可以壓縮,并應(yīng)用一個MAC(消息認(rèn)證代碼);然后結(jié)果被加密并傳輸。接受方接受數(shù)據(jù)并對它解密,校驗MAC,解壓縮并重新組合它,并把結(jié)果提交給應(yīng)用程序協(xié)議。 3、警告協(xié)議。這個協(xié)議用于指示在什么時候發(fā)生了錯誤或兩個主機(jī)之間的會話在什么時候終止。 下面我們來看一個使用WEB客戶機(jī)和服務(wù)器的范例。WEB客戶機(jī)通過連接到一個支持SSL的服務(wù)器,啟動一次SSL會話。支持SSL的典型WEB服務(wù)器在一個與標(biāo)準(zhǔn)HTTP請求(默認(rèn)為端口80)不同的端口(默認(rèn)為443)上接受SSL連接請求。當(dāng)客戶機(jī)連接到這個端口上時,它將啟動一次建立SSL會話的握手。當(dāng)握手完成之后,通信內(nèi)容被加密,并且執(zhí)行消息完整性檢查,知道SSL會話過期。SSL創(chuàng)建一個會話,在此期間,握手必須只發(fā)生過一次。當(dāng)SSL會話過程中出現(xiàn)了問題或端口設(shè)置出了問題,就會造成無法使用SSL連接現(xiàn)象。 SSL握手過程步驟: 步驟1:SSL客戶機(jī)連接到SSL服務(wù)器,并要求服務(wù)器驗證它自身的身份。 步驟2:服務(wù)器通過發(fā)送它的數(shù)字證書證明其身份。這個交換還可以包括整個證書鏈,直到某個根證書權(quán)威機(jī)構(gòu)(CA)。通過檢查有效日期并確認(rèn)證書包含有可信任CA的數(shù)字簽名,來驗證證書。 步驟3:服務(wù)器發(fā)出一個請求,對客戶端的證書進(jìn)行驗證。但是,因為缺乏公鑰體系結(jié)構(gòu),當(dāng)今的大多數(shù)服務(wù)器不進(jìn)行客戶端認(rèn)證。 步驟4:協(xié)商用于加密的消息加密算法和用于完整性檢查的哈希函數(shù)。通常由客戶機(jī)提供它支持的所有算法列表,然后由服務(wù)器選擇最安全的加密算法。 步驟5:客戶機(jī)和服務(wù)器通過下列步驟生成會話密鑰: a. 客戶機(jī)生成一個隨機(jī)數(shù),并使用服務(wù)器的公鑰(從服務(wù)器的證書中獲得)對它加密,然后發(fā)送到服務(wù)器上 b. 服務(wù)器用更加隨機(jī)的數(shù)據(jù)(從客戶機(jī)的密鑰可用時則使用客戶機(jī)密鑰;否則以明文方式發(fā)送數(shù)據(jù))響應(yīng)。 c. 使用哈希函數(shù),從隨機(jī)數(shù)據(jù)生成安全密鑰。 SSL協(xié)議的優(yōu)點是它提供了連接安全,具有3個基本屬性: l 連接是私有的。在初始握手定義了一個密鑰之后,將使用加密算法。對于數(shù)據(jù)加密使用了對稱加密(例如DES和RC4)。 l 可以使用非對稱加密或公鑰加密(例如RSA和DSS)來驗證對等實體的身份。 l 連接時可靠的。消息傳輸使用一個密鑰的MAC,包括了消息完整性檢查。其中使用了安全哈希函數(shù)(例如SHA和MD5)來進(jìn)行MAC計算。 對于SSL的接受程度僅僅限于HTTP內(nèi)。它在其他協(xié)議中曾被表明可以使用,但還沒有被廣泛應(yīng)用。收藏本文章下載本文章(DOC格式)下載本文章(TXT格式)
2015-01-28
SSL協(xié)議,全稱為安全套接層協(xié)議,是一種為互聯(lián)網(wǎng)通信提供安全保障的協(xié)議。主要實現(xiàn)數(shù)據(jù)在傳輸過程中的加密、身份驗證及數(shù)據(jù)完整性。
首先,SSL協(xié)議通過加密技術(shù)確保數(shù)據(jù)傳輸?shù)陌踩?,防止信息在傳輸過程中被竊取或篡改。
其次,SSL協(xié)議也提供了身份驗證功能,確??蛻舳撕头?wù)器之間的通信是安全的,防止中間人攻擊。
最后,SSL協(xié)議通過數(shù)據(jù)完整性校驗,確保數(shù)據(jù)在傳輸過程中未被修改,這對保護(hù)用戶的隱私和敏感信息至關(guān)重要。
07-29 17:31