第四章身份認證技術(shù)-SSL協(xié)議_第1頁
第四章身份認證技術(shù)-SSL協(xié)議_第2頁
第四章身份認證技術(shù)-SSL協(xié)議_第3頁
第四章身份認證技術(shù)-SSL協(xié)議_第4頁
第四章身份認證技術(shù)-SSL協(xié)議_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

SSL,SecureSocketLayerTLS,TransportLayerSecurity參考資料密碼編碼學(xué)與網(wǎng)絡(luò)安全:原理與實踐第14章WilliamStallings電子工業(yè)出版社SSL連接像TCP的套接字那樣SSL的目標SSL(SecureSocketLayer)是一種在TCP協(xié)議之上為兩個端實體(EndEntity)之間提供安全通道的協(xié)議。包括SSLv2、SSLv3、TLS協(xié)議應(yīng)用層IPTCPSSLSSL的歷史Netscape公司于1994開發(fā)

SSLv2releasedin1995SSLv3alsoreleasedin1995duetobugsinv2

Microsoft提出PCT(PrivateCommunicationTechnology)1996年IETF成立

TransportLayerSecurity(TLS)committeeTLSv1wasbaseduponSSLv3

Netscape、Microsoft都支持TLSv1TLS1與SSL3的差別非常微小。SSL提供3個方面的安全服務(wù)-認證認證-利用數(shù)字證書技術(shù)和可信任的第三方認證機構(gòu),為客戶機和服務(wù)器之間的通信提供身份認證功能,以便于彼此之間進行身份識別-使用

X.509v3數(shù)字證書客戶對服務(wù)器的身份認證(可選)SSL服務(wù)器允許客戶的瀏覽器使用標準的公鑰加密技術(shù)和一些可靠的認證中心(CA)的證書,來確認服務(wù)器的合法性。服務(wù)器對客戶的身份認證可通過公鑰技術(shù)和證書進行認證,也可通過用戶名,password來認證。SSL提供3個方面的安全服務(wù)

-機密性和完整性機密性-在SSL客戶機和服務(wù)器之間傳輸?shù)乃袛?shù)據(jù)都經(jīng)過了加密處理,以防止非法用戶進行竊取、篡改和冒充。usingoneofDES,TripleDES,IDEA,RC2,RC4,…完整性-SSL利用加密算法和Hash函數(shù)來保證客戶機和服務(wù)器之間傳輸?shù)臄?shù)據(jù)的完整性。usingMACwithMD5orSHA-1建立服務(wù)器與客戶之間安全的數(shù)據(jù)通道SSL要求客戶與服務(wù)器之間的所有發(fā)送的數(shù)據(jù)都被發(fā)送端加密、接收端解密,同時還檢查數(shù)據(jù)的完整性SSL提供的安全服務(wù)用戶和服務(wù)器的合法性認證usingX.509v3digitalcertificates傳輸數(shù)據(jù)的機密性usingoneofDES,TripleDES,IDEA,RC2,RC4,…傳輸數(shù)據(jù)的完整性usingMACwithMD5orSHA-1SSL結(jié)構(gòu)-兩層握手協(xié)議:用于在客戶與服務(wù)器之間建立安全連接之前交換安全信息客戶和服務(wù)器之間相互認證協(xié)商加密算法和密鑰它提供連接安全性,有三個特點身份認證,至少對一方實現(xiàn)認證(對服務(wù)器的),也可以是雙向認證協(xié)商得到的共享密鑰是安全的,中間人不能夠知道協(xié)商過程本身是可靠的記錄協(xié)議建立在可靠的傳輸層協(xié)議(TCP)上它提供連接安全性,有兩個特點保密性,使用了對稱加密算法完整性,使用HMAC算法用來封裝上層的協(xié)議改變密碼規(guī)格協(xié)議告警協(xié)議SSL工作原理采用握手協(xié)議建立客戶與服務(wù)器之間的安全通道,該協(xié)議包括雙方的相互認證,交換密鑰參數(shù)采用告警協(xié)議向?qū)Χ酥甘酒浒踩e誤采用改變密碼規(guī)格協(xié)議告知改變密碼參數(shù)采用記錄協(xié)議封裝以上三種協(xié)議或應(yīng)用層數(shù)據(jù)SSL基本概念

連接(Connection)和會話(Session)連接:連接是能提供合適服務(wù)類型的傳輸(在OSI分層模型中的定義);對SSL,這樣的連接是對等關(guān)系;連接是暫時的,每個連接都和一個會話相關(guān)會話:SSL會話是指在客戶機和服務(wù)器之間的關(guān)聯(lián);會話由握手協(xié)議創(chuàng)建;會話定義了一組可以被多個連接共用的密碼安全參數(shù)對于每個連接,可以利用會話來避免對新的安全參數(shù)進行代價昂貴的協(xié)商。會話是虛擬的結(jié)構(gòu)會話狀態(tài)參數(shù)連接狀態(tài)參數(shù)SSLHandshake握手協(xié)議SSL最復(fù)雜部分服務(wù)器和客戶能夠相互鑒別對方的身份;協(xié)商加密和MAC算法;協(xié)商用來保護SSL記錄中發(fā)送的數(shù)據(jù)的加密密鑰。握手由在客戶和服務(wù)器之間交換的報文實現(xiàn)。SSL握手協(xié)議報文格式ClientServerC>SHandshakeClientHelloVersion3.1random[32]=17083bddaf902e92952026cb884c8b855c71860b2870d6959bc909959e7d99ebciphersuitesTLS_RSA_WITH_RC4_128_MD5TLS_DH_RSA_WITH_DES_CBC_SHA......compressionmethodsNULLS>CHandshakeServerHelloVersion3.1random[32]=27f4389a5b238e…….7d71780b325ee4……session_id[32]=3a0e…………………………….4566cipherSuiteTLS_RSA_WITH_RC4_128_SHAcompressionMethodNULL一建立安全能力ClientHelloSSLClientSSLServerPort443https://www.在SSL上運行HTTP客戶發(fā)送一個client_hello消息,包括以下參數(shù):

版本、隨機數(shù)(32位時間戳+28字節(jié)隨機序列)、會話ID、客戶支持的密碼算法列表(CipherSuite)、客戶支持的壓縮方法列表然后,客戶等待服務(wù)器的server_hello消息SSLClientSSLServerServerHello服務(wù)器發(fā)送server_hello消息,參數(shù):

客戶建議的低版本以及服務(wù)器支持的最高版本、服務(wù)器產(chǎn)生的隨機數(shù)、會話ID、服務(wù)器從客戶建議的密碼算法中挑出一套、服務(wù)器從客戶建議的壓縮方法中挑出一個DataEncryption:

RC2-40RC4-128DESDES403DESIDEA

FortezzaMessageDigest:MD5SHA.CipherSuiteAlternativesKeyExchange.

RSAFixedDiffie-HellmanEphemeralDiffie-HellmanAnonymousDiffie-Hellman

FortezzaDataCompression:

PKZipWinZip

gzip

StuffItSSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5SSLClientSSLServerServerCertificate服務(wù)器發(fā)送certificate消息,消息包含一個X.509證書,或者一條證書鏈(除了匿名DH之外的密鑰交換方法都需要)服務(wù)器發(fā)送server_key_exchange消息(可選的),有些情況下可以不需要。服務(wù)器長期密鑰只能用于簽名時,簽發(fā)一個臨時的長度較短的密鑰消息包含簽名,被簽名的內(nèi)容包括兩個隨機數(shù)以及服務(wù)器參數(shù)ClientCertificateRequest服務(wù)器發(fā)送certificate_request消息(可選)非匿名server可以向客戶請求一個證書包含證書類型和CAsServerDoneMessage服務(wù)器發(fā)送server_hello_done,然后等待應(yīng)答二服務(wù)器鑒別和密鑰交換SSLClientSSLServerClientCertificate客戶收到server_done消息后,它根據(jù)需要檢查服務(wù)器提供的證書,并判斷server_hello的參數(shù)是否可以接受,如果都沒有問題的話,發(fā)送一個或多個消息給服務(wù)器。如果服務(wù)器請求證書的話,則客戶首先發(fā)送一個certificate消息,若客戶沒有證書,則發(fā)送一個no_certificate警告。然后客戶發(fā)送client_key_exchange消息,消息的內(nèi)容取決于密鑰交換的類型(如果是RSA,則含加密的48字節(jié)的PreMasterSecret)。最后,客戶發(fā)送一個certificate_verify消息(可選),其中包含一個簽名,對從第一條消息以來的所有握手消息的HMAC值(用master_secret)進行簽名三客戶機驗證和密鑰交換SSL密鑰的計算KDF:keyderivationfunction密鑰導(dǎo)出函數(shù)pre_master_secret的獲得-密鑰交換算法在hello消息中,雙方交換隨機數(shù)以及各種算法兩類密鑰交換算法:RSA,客戶產(chǎn)生一個48字節(jié)的pre_master_secret,然后通過服務(wù)器的公鑰傳遞給服務(wù)器Diffie-Hellman,雙方協(xié)商得到的密鑰被用作pre_master_secret再從pre_master_secret計算得到master_secretmaster_secret總是48字節(jié)長,而pre_master_secret長度不定,取決于密鑰交換算法密鑰導(dǎo)出函數(shù)-MD5、SHA-1或者兩者結(jié)合確保每個摘要的輸出都是不同的pre_master_secretmastersecretClientwriteMACsecretClientwritesecretClientwriteIVServerwriteMACsecretServerwritesecretServerwriteIV密碼參數(shù)的生成密碼參數(shù)的生成確保每個摘要的輸出都是不同的Key_block導(dǎo)出其他密鑰SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5

選用密鑰塊的次序client_write_MAC_secret=key_block[0,..,15]server_write_MAC_secret=key_block[16,…,31]client_write_key=key_block[32,…,36]server_write_key=key_block[37,…,41]相關(guān)密鑰生成final_client_write_key=MD5(client_write_key||ClientHello.random||ServerHello.random)[0.…,15]final_server_write_key=MD5(server_write_key||ServerHello.random||ClientHello.random)[0,…,15]client_write_IV=MD5(ClientHello.random||ServerHello.random)[0,…,7]server_write_IV=MD5(ServerHello.random||ClientHello.random)[0,…,7]SSLClientSSLServerC>SS>CC>SS>CEncryptionMACIVEncryptionMACIV密鑰交換結(jié)果SSLClientSSLServerClientFinishchange_cipher_specchange_cipher_spec

ServerFinish四完成第四階段建立起一個安全的連接客戶發(fā)送一個change_cipher_spec消息,并且把協(xié)商得到的CipherSuite拷貝到當前連接的狀態(tài)之中(目前只包含類型號)然后,客戶用本次連接協(xié)商的算法、密鑰參數(shù)發(fā)送一個finished消息,這條消息可以檢查密鑰交換和鑒別過程是否已經(jīng)成功。其中包括一個校驗值,對所有以來的消息進行校驗。服務(wù)器同樣發(fā)送change_cipher_spec消息和finished消息。握手過程完成,客戶和服務(wù)器可以傳送應(yīng)用層數(shù)據(jù)。第一次加密ByIntroducingSSLandCertificatesusingSSLeay-FrederickJ.hirschSSL記錄協(xié)議(SSLRecordProtocol)操作ByIntroducingSSLandCertificatesusingSSLeay-FrederickJ.hirsch1.分片ByIntroducingSSLandCertificatesusingSSLeay-FrederickJ.hirsch2.壓縮無損壓縮不會增加1024字節(jié)以上長度的內(nèi)容沒有默認壓縮算法3.MAC計算4.加密5.封裝SSL記錄協(xié)議提供的服務(wù)機密性(confidentiality)報文完整性(messageintegrity)SSL修改密碼規(guī)格協(xié)議由單個報文組成,報文值為1的單個字節(jié)將掛起狀態(tài)變成當前狀態(tài),指示在此之后的所有消息都將使用剛剛商定的密碼進行加密。SSLAlertProtocol(警告協(xié)議)decompressionfailure,handshakefailure,illegalparameterclosenotify,nocertificate,badcertificate,unsupportedcertifi

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論