版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Chapter16
Web安全性《密碼編碼學(xué)與網(wǎng)絡(luò)安全》
.2022/10/311西安電子科技大學(xué)計算機學(xué)院
Chapter16
第一部分SSL/TLS協(xié)議SSL(SecureSocketLayer)是一種在兩個端實體(EndEntity)之間提供安全通道的協(xié)議。它具有保護傳輸數(shù)據(jù)以及識別通信實體的功能。安全通道是透明的IETF制定的TLS(TransportLayerSecurity)版本是對Nescape公司的SSL和Microsoft公司的PCT(PrivateCommunicationTechnology)兩個協(xié)議的綜合和兼容。重點討論SSL協(xié)議.2022/10/312西安電子科技大學(xué)計算機學(xué)院第一部分SSL/TLS協(xié)議SSL(SecureSSSL/TLS協(xié)議設(shè)計目標SSLV2設(shè)計目標為滿足WEB安全通信而設(shè)計提供客戶和服務(wù)器之間傳輸數(shù)據(jù)的保密性服務(wù)器認證(客戶端認證可選)SSLV3設(shè)計目標修正SSLV2中存在的多處安全問題設(shè)計一種安全磋商多種加密算法的機制.2022/10/313西安電子科技大學(xué)計算機學(xué)院SSL/TLS協(xié)議設(shè)計目標SSLV2設(shè)計目標.2022/SSL提供了什么SSL提供了通道級別的安全:連接的兩端知道所傳輸?shù)臄?shù)據(jù)是保密的,而且沒有被篡改幾乎總是要對服務(wù)器進行認證可選的客戶端認證針對異常情況的安全通知錯誤警示關(guān)閉連接所有這些依賴于某些對系統(tǒng)的假定假定已經(jīng)正確產(chǎn)生了密鑰數(shù)據(jù)并且該密鑰已被安全地保管.2022/10/314西安電子科技大學(xué)計算機學(xué)院SSL提供了什么SSL提供了通道級別的安全:連接的兩端知道SSL與TCP/IPSSL連接非常類似于“保密的”的TCP連接位于TCP之上,應(yīng)用層之下幾乎只能在TCP上運行,而不能在UDP或IP上運行,因而它依賴于可靠的傳輸協(xié)議微軟的STLP和無線應(yīng)用論壇的WTLS均為意圖在數(shù)據(jù)報傳輸層(如UDP)上正確工作的變種。.2022/10/315西安電子科技大學(xué)計算機學(xué)院SSL與TCP/IPSSL連接非常類似于“保密的”的TCP連SSL變種譜系樹SSLV1(1994)未發(fā)布SSLV2(1994)第一版SSLV3(1995)TLS(1997-1999)PCT(1995)STLP(1996)WTLS(1998).2022/10/316西安電子科技大學(xué)計算機學(xué)院SSL變種譜系樹SSLV1(1994)SSLV2(199用于WEB的SSL保護使用HTTP的WEB通信新的URLhttps://在瀏覽器中的表現(xiàn)NETSCAPE:工具條上會顯示一把鑰匙IE:右下角顯示一把鎖幾乎所有的商業(yè)WEB服務(wù)器和瀏覽器都實現(xiàn)了內(nèi)置的SSL協(xié)議,通過配置即可使用.2022/10/317西安電子科技大學(xué)計算機學(xué)院用于WEB的SSL保護使用HTTP的WEB通信.2022/1在SSL上構(gòu)建一切除了HTTP和NNTP(SNEWS)外,還可以用于SMTP、Telnet、FTP等,也可用于保護專有協(xié)議。協(xié)議端口標準化協(xié)議實現(xiàn)OPENSSL(C語言實現(xiàn))pureTLS(java實現(xiàn))ApacheSSL(針對Apache服務(wù)器的實現(xiàn))Mod_ssl.2022/10/318西安電子科技大學(xué)計算機學(xué)院在SSL上構(gòu)建一切除了HTTP和NNTP(SNEWS)外,兩個主要的協(xié)議SSL記錄協(xié)議建立在可靠的傳輸協(xié)議(如TCP)之上它提供連接安全性,有兩個特點保密性,使用了對稱加密算法完整性,使用HMAC算法用來封裝高層的協(xié)議SSL握手協(xié)議客戶和服務(wù)器之間相互鑒別協(xié)商加密算法和密鑰它提供連接安全性,有三個特點身份鑒別,至少對一方實現(xiàn)鑒別,也可以是雙向鑒別協(xié)商得到的共享密鑰是安全的,中間人不能夠知道協(xié)商過程是可靠的.2022/10/319西安電子科技大學(xué)計算機學(xué)院兩個主要的協(xié)議SSL記錄協(xié)議.2022/10/239西安電子SSL的兩個重要概念SSL連接(connection)一個連接是一個提供一種合適類型服務(wù)的傳輸(OSI分層的定義)。SSL的連接是點對點的關(guān)系。連接是暫時的,每一個連接和一個會話關(guān)聯(lián)。SSL會話(session)一個SSL會話是在客戶與服務(wù)器之間的一個關(guān)聯(lián)。會話由HandshakeProtocol創(chuàng)建。會話定義了一組可供多個連接共享的密碼安全參數(shù)。會話用以避免為每一個連接提供新的安全參數(shù)所需昂貴的協(xié)商代價。.2022/10/3110西安電子科技大學(xué)計算機學(xué)院SSL的兩個重要概念SSL連接(connection).20SSL基礎(chǔ)-針對RSA服務(wù)器認證的SSLSSL靈活性:單向認證和雙向認證認證+加密和認證加密算法:RSADSSDHFORTEZZA……連接分為兩個節(jié)段:握手階段完成對服務(wù)器認證并建立加密密鑰數(shù)據(jù)傳輸階段加密數(shù)據(jù)傳輸.2022/10/3111西安電子科技大學(xué)計算機學(xué)院SSL基礎(chǔ)-針對RSA服務(wù)器認證的SSLSSL靈活性:.2握手協(xié)議握手階段的目的客戶和服務(wù)器協(xié)商保護數(shù)據(jù)的算法(及其具體參數(shù))確立在協(xié)商好的算法上使用的加密密鑰可選擇對客戶端進行認證
clientserver----------------------------------------------------------------------------所支持的加密算法,隨機數(shù)選中的加密算法,隨機數(shù),服務(wù)器證書加密后的pre_master_secret
計算相關(guān)演化密鑰計算相關(guān)演化密鑰握手消息的MAC值握手消息的MAC值注:1.pre_master_secret可以由KDF(keyderivationfunction)演化出master_secret,最后再通過master_secret演化出系列加密密鑰。
2.最后兩步防止握手本身遭受篡改(如低強度密碼算法替換等).3.客戶端和服務(wù)器端隨機數(shù)的傳輸,防止重放攻擊。.2022/10/3112西安電子科技大學(xué)計算機學(xué)院握手協(xié)議握手階段的目的.2022/10/2312西安電子科技握手消息
clientserver----------------------------------------------------------------------------握手:ClientHello
握手:ServerHelloCertificate……ServerHelloDoneClientKeyExchange……(ChangeCipherSpec)Finished
……(ChangeCipherSpec)Finished.2022/10/3113西安電子科技大學(xué)計算機學(xué)院握手消息clientSSL記錄協(xié)議實際的數(shù)據(jù)傳輸是使用SSL記錄協(xié)議實現(xiàn)的數(shù)據(jù)流分割成一系列片段并加以傳輸,每個片斷單獨保護和傳輸為實現(xiàn)完整性保護,對片段進行MAC保護為實現(xiàn)機密性保護,對片段進行加密保護傳輸?shù)氖前踩涗?2022/10/3114西安電子科技大學(xué)計算機學(xué)院SSL記錄協(xié)議實際的數(shù)據(jù)傳輸是使用SSL記錄協(xié)議實現(xiàn)的.2記錄頭(Head)ContentType;——8位,上層協(xié)議類型Majorversion;Minnorversion——16位,主次版本CompressedLength:16位—加密后數(shù)據(jù)的長度,不超過214+2048字節(jié)(SSL幾乎不用壓縮,雖然支持)EncryptedDatafragment;——密文數(shù)據(jù).2022/10/3115西安電子科技大學(xué)計算機學(xué)院記錄頭(Head)ContentType;——8位,上層記錄負荷(Payload)支持4種協(xié)議消息:application_data、alert、handshake、change_cipher_spec.Alert協(xié)議消息:報警等級(warning/fatal)+具體報警編碼2字節(jié)change_cipher_spec協(xié)議消息:1字節(jié),將掛起狀態(tài)變成當前狀態(tài),指示在此之后的所有消息都將使用剛剛商定的密碼進行加密。handshake協(xié)議消息:類型(1字節(jié))+長度(3字節(jié))+消息,類型共10種.2022/10/3116西安電子科技大學(xué)計算機學(xué)院記錄負荷(Payload)支持4種協(xié)議消息:appli記錄負荷(Payload).2022/10/3117西安電子科技大學(xué)計算機學(xué)院記錄負荷(Payload).2022/10/2317西安電子完整SSL會話握手協(xié)議交換Hello消息,對于算法、交換隨機值等協(xié)商一致交換必要的密碼參數(shù),以便雙方得到統(tǒng)一的premastersecret交換證書和相應(yīng)的密碼信息,以便進行身份認證產(chǎn)生mastersecret把安全參數(shù)提供給SSL記錄層檢驗雙方是否已經(jīng)獲得同樣的安全參數(shù).2022/10/3118西安電子科技大學(xué)計算機學(xué)院完整SSL會話握手協(xié)議交換Hello消息,對于算法、交換隨機.2022/10/3119西安電子科技大學(xué)計算機學(xué)院.2022/10/2319西安電子科技大學(xué)計算機學(xué)院第一階段:建立起安全協(xié)商客戶發(fā)送一個client_hello消息,包括以下參數(shù):版本、隨機數(shù)(32位時間戳+28字節(jié)隨機序列)、會話ID、客戶支持的密碼算法列表(CipherSuite)、客戶支持的壓縮方法列表.然后,客戶等待服務(wù)器的server_hello消息服務(wù)器發(fā)送server_hello消息,參數(shù):客戶建議的低版本以及服務(wù)器支持的最高版本、服務(wù)器產(chǎn)生的隨機數(shù)、會話ID、服務(wù)器從客戶建議的密碼算法和壓縮方法中確定一套本次連接使用的確定方法..2022/10/3120西安電子科技大學(xué)計算機學(xué)院第一階段:建立起安全協(xié)商客戶發(fā)送一個client_helloCipherSuite指定了密鑰交換的方法,SSL支持以下一些方法:RSA,要求服務(wù)器提供一個RSA證書DH(Diffie-Hellman),要求服務(wù)器的證書中包含了由CA簽名的DH公開參數(shù)??蛻艋蛘咴谧C書中提供DH公開參數(shù),或者在密鑰交換消息中提供此參數(shù)EDH(EphemeralDiffie-Hellman),產(chǎn)生臨時的密鑰,DH公開參數(shù)由發(fā)送者的私鑰進行簽名,接收者用對應(yīng)的公鑰進行驗證
匿名的DH,不加鑒別。會受到中間人攻擊然后,指定以下信息加密算法和類型(流還是分組密碼算法)HMAC、MD5還是SHA-1是否可出口HashSizeKeyMaterialIVSize.2022/10/3121西安電子科技大學(xué)計算機學(xué)院CipherSuite指定了密鑰交換的方法,SSL支持以下一第二階段:服務(wù)器鑒別和密鑰交換服務(wù)器發(fā)送certificate消息,消息包含一個X.509證書,或者一條證書鏈除了匿名DH之外的密鑰交換方法都需要服務(wù)器發(fā)送server_key_exchange消息可選的,有些情況下可以不需要。只有當certificate消息沒有包含必需的數(shù)據(jù)的時候才發(fā)送此消息消息包含簽名,被簽名的內(nèi)容包括兩個隨機數(shù)以及服務(wù)器參數(shù)服務(wù)器發(fā)送certificate_request消息(可選)非匿名server可以向客戶請求一個證書包含證書類型和CAs服務(wù)器發(fā)送server_hello_done,然后等待應(yīng)答.2022/10/3122西安電子科技大學(xué)計算機學(xué)院第二階段:服務(wù)器鑒別和密鑰交換服務(wù)器發(fā)送certificat第二階段:服務(wù)器鑒別和密鑰交換.2022/10/3123西安電子科技大學(xué)計算機學(xué)院第二階段:服務(wù)器鑒別和密鑰交換.2022/10/2323西安第三階段:客戶鑒別和密鑰交換客戶收到server_done消息后,它根據(jù)需要檢查服務(wù)器提供的證書,并判斷server_hello的參數(shù)是否可以接受,如果都沒有問題的話,發(fā)送一個或多個消息給服務(wù)器。如果服務(wù)器請求證書的話,則客戶首先發(fā)送一個certificate消息,若客戶沒有證書,則發(fā)送一個no_certificate警告。然后客戶發(fā)送client_key_exchange消息,消息的內(nèi)容取決于密鑰交換的類型(如果是RSA,則含加密的PreMasterSecret)。最后,客戶發(fā)送一個certificate_verify消息(可選),其中包含一個簽名,對從第一條消息以來的所有握手消息的HMAC值(用master_secret)進行簽名.2022/10/3124西安電子科技大學(xué)計算機學(xué)院第三階段:客戶鑒別和密鑰交換客戶收到server_done消第三階段:客戶鑒別和密鑰交換.2022/10/3125西安電子科技大學(xué)計算機學(xué)院第三階段:客戶鑒別和密鑰交換.2022/10/2325西安電第四階段:結(jié)束第四階段建立起一個安全的連接客戶發(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ù)。.2022/10/3126西安電子科技大學(xué)計算機學(xué)院第四階段:結(jié)束第四階段建立起一個安全的連接.2022/10/第四階段:結(jié)束.2022/10/3127西安電子科技大學(xué)計算機學(xué)院第四階段:結(jié)束.2022/10/2327西安電子科技大學(xué)計算密鑰交換算法SSL記錄協(xié)議需要:CipherSuite,mastersecret,theclient&serverrandomvalues在hello消息中,交換隨機數(shù)以及各種算法兩類密鑰交換算法:RSA,客戶產(chǎn)生一個48字節(jié)的pre_master_secret,然后通過服務(wù)器的公鑰傳遞給服務(wù)器Diffie-Hellman,雙方協(xié)商得到的密鑰被用作pre_master_secret對于各種密鑰交換算法,從pre_master_secret計算得到Master_secret,然后從內(nèi)存中刪除Master_secret總是48字節(jié)長,而pre_master_secret長度不定,取決于密鑰交換算法.2022/10/3128西安電子科技大學(xué)計算機學(xué)院密鑰交換算法SSL記錄協(xié)議需要:CipherSuite,m密鑰導(dǎo)出.2022/10/3129西安電子科技大學(xué)計算機學(xué)院密鑰導(dǎo)出.2022/10/2329西安電子科技大學(xué)計算機學(xué)院Master_secret的產(chǎn)生SSL3.0Master_secret=MD5(pre_master_secret‖SHA-1(‘A’‖pre_master_secret||ClientHello.random‖ServerHello.random))‖MD5(pre_master_secret‖SHA-1(‘BB’‖pre_master_secret||ClientHello.random‖ServerHello.random))‖MD5(pre_master_secret‖SHA-1(‘CCC’‖pre_master_secret||ClientHello.random‖ServerHello.random))
TLS1.0master_secret=PRF(pre_master_secret,“mastersecret”, ClientHello.random,+ServerHello.random)[0..47]*PRF(secret,label,seed)為偽隨機函數(shù).2022/10/3130西安電子科技大學(xué)計算機學(xué)院Master_secret的產(chǎn)生SSL3.0.2022/1偽隨機函數(shù)PRF(secret,label,seed)P_hash(secret,seed)=+HMAC_hash(secret,A(1)+seed)+HMAC_hash(secret,A(2)+seed)+HMAC_hash(secret,A(3)+seed)+...這里A()定義如下:
A(0)=seedA(i)=HMAC_hash(secret,A(i-1))偽隨機函數(shù)PRF(secret,label,seed)=P_MD5(S1,label+seed)XORP_SHA-1(S2,label+seed);
這里,S1和S2為secret的各一半,如果secret為奇數(shù)個字節(jié),則S1和S2共享一個字節(jié).2022/10/3131西安電子科技大學(xué)計算機學(xué)院偽隨機函數(shù)PRF(secret,label,seed)P最終需要的密鑰導(dǎo)出.2022/10/3132西安電子科技大學(xué)計算機學(xué)院最終需要的密鑰導(dǎo)出.2022/10/2332西安電子科技大學(xué)密鑰導(dǎo)出公式Key_block=MD5(master_secret||SHA-1(‘A’+master_secret+server_random+client_random))||MD5(master_secret||SHA-1(‘BB’+master_secret+server_random+client_random))||MD5(master_secret||SHA-1(‘CCC’+master_secret+server_random+client_random))||MD5(master_secret||SHA-1(‘DDDD’+master_secret+server_random+client_random))||…….2022/10/3133西安電子科技大學(xué)計算機學(xué)院密鑰導(dǎo)出公式Key_block=.2022/10/2333西MAC計算使用共享的密鑰MAC_write_secrethash(MAC_write_seret||pad_2||hash(MAC_write_secret||pad_1||seq_num||SSLCompressed.type||SSLCompressed.length||SSLCompressed.fragment)其中:MAC_write_secret:共享的保密密鑰hash:密碼散列函數(shù)(MD5或SHA-1)pad_1:0x36重復(fù)48次(MD5);或40次(SHA-1)pad_2:0x5C重復(fù)48次(MD5);或40次(SHA-1)seq_num:該消息的序列號SSLCompressed.type:更高層協(xié)議用于處理本分段SSLCompressed.length:壓縮分段的長度SSLCompressed.fragment:壓縮的分段(無壓縮時為明文段)注:非常類似HMAC.2022/10/3134西安電子科技大學(xué)計算機學(xué)院MAC計算使用共享的密鑰MAC_write_secret.2報警(Alert)協(xié)議用來一方向另一方報告例外情況,兩個級別:warning/fatal如果是Fatal級別的報警,則應(yīng)終止連接.報警種類:
unexpected_messagebad_record_macdecryption_failedrecord_overflowdecompression_failurehandshake_failureno_certificatebad_certificateunsupported_certificatecertificate_revokedcertificate_expiredcertificate_unknownillegal_parameterunknown_caaccess_denieddecode_errordecrypt_errorexport_restrictionprotocol_versioninsufficient_securityinternal_erroruser_cancelledno_renegotiation.2022/10/3135西安電子科技大學(xué)計算機學(xué)院報警(Alert)協(xié)議用來一方向另一方報告例外情況,兩個級別會話恢復(fù)整個握手協(xié)議開銷巨大,如果集成會話恢復(fù)機制,則可以在客戶和服務(wù)器通信過一次的情況下,可以跳過握手階段而直接進行數(shù)據(jù)傳輸.通過使用上一次握手中確立的pre_master_secret,則可以避免許多計算開銷。恢復(fù)允許根據(jù)共同的master_secret,來產(chǎn)生新的密鑰。通過客戶使用ClientHello中的Session_id,申請會話恢復(fù),服務(wù)器通過使用ServerHello中相同的Session_id,來同意會話恢復(fù),接下來就會跳過其余步驟而使用保存的master_secret來產(chǎn)生新的所有的加密密鑰(由于新的隨機數(shù)不同,而使得新產(chǎn)生的加密密鑰與以前不同)。
.2022/10/3136西安電子科技大學(xué)計算機學(xué)院會話恢復(fù)整個握手協(xié)議開銷巨大,如果集成會話恢復(fù)機制,則可以在客戶端認證實現(xiàn)服務(wù)器對客戶端的認證服務(wù)器通過向客戶端發(fā)送CertificateRequest消息,客戶端通過Certificate和CertificateVerify消息予以應(yīng)答CertificateVerify消息是一個使用與其傳輸?shù)淖C書關(guān)聯(lián)的私鑰簽名的消息。.2022/10/3137西安電子科技大學(xué)計算機學(xué)院客戶端認證實現(xiàn)服務(wù)器對客戶端的認證.2022/10/2337臨時RSA因受出口限制,為配合客戶端,服務(wù)器會產(chǎn)生一個臨時的低強度密鑰,并用高強度密鑰簽名,客戶端將驗證臨時密鑰上的服務(wù)器簽名,并使用它來打包pre_master_Secret.服務(wù)器向客戶端發(fā)送消息ServerKeyExchange.2022/10/3138西安電子科技大學(xué)計算機學(xué)院臨時RSA因受出口限制,為配合客戶端,服務(wù)器會產(chǎn)生一個臨時的再握手是在當前受保護的連接上進行的一次新的SSL握手,因而傳輸過程中的握手消息是經(jīng)過加密的一旦新的握手完成,將使用新的會話狀態(tài)來保護數(shù)據(jù)客戶端可以簡單的通過發(fā)送一條ClientHello消息來初始化一次新的握手服務(wù)器端可以通過HelloRequest消息來初始化一次新的握手.2022/10/3139西安電子科技大學(xué)計算機學(xué)院再握手是在當前受保護的連接上進行的一次新的SSL握手,因而傳SSL的安全性保護master_secret保護服務(wù)器的私鑰使用良好的隨機數(shù)證書鏈檢查算法選擇(強度).2022/10/3140西安電子科技大學(xué)計算機學(xué)院SSL的安全性保護master_secret.2022/10SSL實現(xiàn)OpenSSL,最新0.9.8,實現(xiàn)了SSLv2,SSLv3,TLSv1.0Openssl——acommandlinetool.ssl(3)——theOpenSSLSSL/TLSlibrary.crypto(3)——theOpenSSLCryptolibrary.URL:SSLeay.au/~ftp/Crypto/Internet號碼分配當局已經(jīng)為具備SSL功能的應(yīng)用分配了固定的端口號例如帶SSL的HTTP(https)被分配以端口號443帶SSL的SMTP(ssmtp)被分配以端口號465帶SSL的NNTP(snntp)被分配以端口號563.2022/10/3141西安電子科技大學(xué)計算機學(xué)院SSL實現(xiàn)OpenSSL,最新0.9.8,實現(xiàn)了SSLvWindows2000和XP下的IPSec文章–/infocus/1519–/infocus/1526–/infocus/1528實現(xiàn)特點–與IETF兼容–支持Kerberos、基于證書的認證、基于共享密鑰的認證–一些不受IPSec保護的流量:廣播包、組播包、RSVP包、IKE包、Kerberos包–與L2TP結(jié)合起來提供安全的VPN遠程訪問–不能與NAT協(xié)同工作–仍然面臨一些攻擊:DOS,其他層上協(xié)議的攻擊對比FreeBSD的實現(xiàn):/doc/en_US.ISO8859-1/books/handbook/ipsec.html.2022/10/3142西安電子科技大學(xué)計算機學(xué)院Windows2000和XP下的IPSec文章.2022/SET協(xié)議SecureElectronicTransaction.2022/10/3143西安電子科技大學(xué)計算機學(xué)院SET協(xié)議SecureElectronicTransac第三部分SET協(xié)議SecureElectronicTransaction,SET安全電子交易協(xié)議1996年,由Visa和MasterCard兩大國際信用卡組織聯(lián)合開發(fā)的電子商務(wù)交易參考標準(復(fù)雜、開放)。為在Internet上從事在線交易而設(shè)立的一個開放的以信用卡交易為特征的規(guī)范。得到IBM、HP、Microsoft、Verifone、RSA、Terisa、GTE、Verisign等公司的支持,成為事實上的工業(yè)標準,并為IETF所認可。SET本身不是一個支付系統(tǒng),而是一個安全協(xié)議和格式集。實現(xiàn)交易參與者行為的安全性、一致性、廣泛性支持產(chǎn)品包括IBM的Net.Commerce、CommercePoint,Verifone的vWallet、vPos、vGate,Microsft的MS-Wallet等其他產(chǎn)品還包括:CyberCash、GlobalSet、TrinTech、DigiCash、OpenMarket等。.2022/10/3144西安電子科技大學(xué)計算機學(xué)院第三部分SET協(xié)議SecureElectronicTSET協(xié)議的發(fā)展歷史1996年,Visa&MasterCard作為主要制定者發(fā)起并公布。1997年出版規(guī)范,長達971頁。1998年出現(xiàn)SET兼容的產(chǎn)品。SET協(xié)議標準組織SETCo在1998和1999年提出許多協(xié)議擴展。目前因各種原因,該協(xié)議因其復(fù)雜性,而受到冷落,前途比較渺茫。其設(shè)計思想值學(xué)習和探討。.2022/10/3145西安電子科技大學(xué)計算機學(xué)院SET協(xié)議的發(fā)展歷史1996年,Visa&Master電子商務(wù)(ElectronicCommerce,EC)是指利用簡單、快捷、低成本的電子通信方式,買賣雙方從事的商貿(mào)活動(不謀面或少謀面)。內(nèi)容:電子方式為特征+商貿(mào)活動電子方式:電話、傳真、EMAIL、Internet、EDI等。最終模式應(yīng)是建立在Internet上活動流:網(wǎng)絡(luò)上信息流、商流、資金流、部分物流的實現(xiàn)。具體活動:交易方匹配、洽談、訂貨、合同、支付、發(fā)票、報關(guān)、納稅、售后服務(wù)等。涉及的機構(gòu):消費者、商家、金融機構(gòu)、政府機構(gòu)、認證機構(gòu)、配送中心等。特征:普遍性、方便性、整體性、安全性、協(xié)調(diào)性等。.2022/10/3146西安電子科技大學(xué)計算機學(xué)院電子商務(wù)(ElectronicCommerce,EC)是指電子商務(wù)發(fā)展階段20世紀60-90年代,基于EDI(電子數(shù)據(jù)交換)的電子商務(wù)是指業(yè)務(wù)文件按照一個公認的標準從一臺計算機傳輸?shù)搅硪慌_計算機上的電子傳輸方式。依賴于專用網(wǎng)絡(luò)和專用EDI軟件標準:美國-X12聯(lián)合國-UN/EDIFACT20世紀90年代以后,基于Internet的電子商務(wù)Dell公司的網(wǎng)絡(luò)直銷Amazon公司的網(wǎng)上書店eBay公司的個人拍賣網(wǎng)站應(yīng)用模式:支付角度:支付型/非支付型服務(wù)角度:B2BB2CC2CB2GC2G…….2022/10/3147西安電子科技大學(xué)計算機學(xué)院電子商務(wù)發(fā)展階段20世紀60-90年代,基于EDI(電子數(shù)據(jù)電子商務(wù)分類-支付角度電子商務(wù)業(yè)務(wù)支付型非支付型NON-SET支付SET支付稅務(wù)申報、電子選舉、在線報表、安全政務(wù)等電子銀行、代繳代付、電子證券、網(wǎng)上購物等支付卡交易、電子銀行、網(wǎng)上購物等.2022/10/3148西安電子科技大學(xué)計算機學(xué)院電子商務(wù)分類-支付角度電子商務(wù)支付型非支付型NON-SETS電子商務(wù)安全需求與措施安全性需求有效性機密性完整性可靠性/不可抵賴性/鑒別可審查性措施加密技術(shù)對稱加密/公鑰加密密鑰管理技術(shù)數(shù)字證書數(shù)字簽名安全電子商務(wù)協(xié)議安全電子郵件/SSL/SET…….2022/10/3149西安電子科技大學(xué)計算機學(xué)院電子商務(wù)安全需求與措施安全性需求.2022/10/2349西SET協(xié)議安全支付商業(yè)需求提供付款和訂購信息的保密性確保傳送數(shù)據(jù)的完整性為持卡人是否為信用卡帳號合法用戶提供認證為商家提供認證確保交易各方利益創(chuàng)建不依賴于傳輸安全機制也不妨礙其使用的協(xié)議在軟件和網(wǎng)絡(luò)提供者之間提供功能設(shè)施和互操作性.2022/10/3150西安電子科技大學(xué)計算機學(xué)院SET協(xié)議安全支付商業(yè)需求提供付款和訂購信息的保密性.202SET協(xié)議中安全特性和實現(xiàn)SET協(xié)議中安全考慮信息保密性-帳號和支付信息等的傳輸安全,加密技術(shù)認證-持卡人帳號和商家認證,通過數(shù)字證書機制,確認參與者的真實身份防止抵賴-數(shù)字簽名技術(shù)數(shù)據(jù)完整性-防止客戶發(fā)送給商家的信息被篡改,數(shù)字簽名和HASH、MAC手段授權(quán)安全實現(xiàn)在消費者端實現(xiàn)安全電子錢包在商家實現(xiàn)安全電子商家在銀行等金融機構(gòu)實現(xiàn)安全支付網(wǎng)關(guān),完成SET協(xié)議和銀行金融系統(tǒng)相關(guān)標準(如ISO8583)的轉(zhuǎn)換。
.2022/10/3151西安電子科技大學(xué)計算機學(xué)院SET協(xié)議中安全特性和實現(xiàn)SET協(xié)議中安全考慮.2022/1SET協(xié)議規(guī)范概述規(guī)范涉及的內(nèi)容:加密算法的應(yīng)用證書消息和對象格式購買消息和對象格式請款消息和對象格式交易實體之間消息協(xié)議SET規(guī)范描述了系統(tǒng)設(shè)計考慮、證書管理、支付系統(tǒng)正式的協(xié)議定義、傳輸機制以及增加的擴展(支持硬件設(shè)備、特殊消息等)。大量采用已經(jīng)存在的、相關(guān)的、用于支持的國際標準。.2022/10/3152西安電子科技大學(xué)計算機學(xué)院SET協(xié)議規(guī)范概述規(guī)范涉及的內(nèi)容:.2022/10/235SET組件.2022/10/3153西安電子科技大學(xué)計算機學(xué)院SET組件.2022/10/2353西安電子科技大學(xué)計算機學(xué)涉及的實體和概念持卡人(Cardholder)商家(Merchant)發(fā)卡行(Issuer)收單行(Acquirer)支付網(wǎng)關(guān)(PaymentGateway)支付卡品牌(Brand)認證中心(CertificateAuthority,CA).2022/10/3154西安電子科技大學(xué)計算機學(xué)院涉及的實體和概念持卡人(Cardholder).2022/1雙簽名目的在于(持卡人)將商家訂單信息(OrderInformation,OI)和收單行支付信息(PaymentInstructions,PI)連接起來一起發(fā)送(保證商家只能看到OI,收單行只能看到PI),但是又要保證OI和PI的一致性關(guān)聯(lián)性,而采用的一種組合簽名方法。首先分別計算OI的HASH值和PI的HASH值,二者連接后再次執(zhí)行HASH,然后簽名。即:DS=EKRc[H(H(PI)||H(OI))].2022/10/3155西安電子科技大學(xué)計算機學(xué)院雙簽名目的在于(持卡人)將商家訂單信息(OrderInfo雙簽名.2022/10/3156西安電子科技大學(xué)計算機學(xué)院雙簽名.2022/10/2356西安電子科技大學(xué)計算機學(xué)院證書類型持卡者證書保證簽署支付者和正確的支付卡帳號一致,帳號信息通過HASH方法作為持卡者證書中的一部分內(nèi)容。商家證書需要兩個密鑰對參與SET交易,一個是簽名密鑰和證書,一個是密鑰交換密鑰和證書。支付網(wǎng)關(guān)證書需要兩個密鑰對參與SET交易,一個是簽名密鑰和證書,一個是密鑰交換密鑰和證書。收單行證書發(fā)卡行證書證書鏈確認證書注銷列表檢查.2022/10/3157西安電子科技大學(xué)計算機學(xué)院證書類型持卡者證書.2022/10/2357西安電子科技大學(xué)發(fā)證機構(gòu)涉及的發(fā)證機構(gòu)根CA(RCA)、支付卡品牌CA(BCA)、區(qū)域CA(GCA)、持卡者CA(CCA)、商家CA(MCA)、支付CA(PCA)信任層次RCABCAGCACCAMCAPCACardholderMerchantPaymentGateway.2022/10/3158西安電子科技大學(xué)計算機學(xué)院發(fā)證機構(gòu)涉及的發(fā)證機構(gòu)RCABCAGCACCAMCAPCAC支付處理支付處理是SET規(guī)范中最為關(guān)鍵的描述部分支付處理的基本步驟和流程持卡者注冊(CardholderRegistration)顧客開通帳號獲取證書商家注冊(MerchantRegistration)獲取簽名證書和密鑰交換證書購買請求(PerchaseRequest)顧客商品訂購,發(fā)送訂單信息和支付信息支付授權(quán)(PaymentAuthorization)商家向支付網(wǎng)關(guān)獲取支付授權(quán)信息,使得發(fā)卡行對交易擔保。支付請款(PaymentCapture)商家向支付網(wǎng)關(guān)申請?zhí)幚碇Ц?,獲得支付款項。.2022/10/3159西安電子科技大學(xué)計算機學(xué)院支付處理支付處理是SET規(guī)范中最為關(guān)鍵的描述部分.2022/SET交易類型(1).2022/10/3160西安電子科技大學(xué)計算機學(xué)院SET交易類型(1).2022/10/2360西安電子科技大SET交易類型(2).2022/10/3161西安電子科技大學(xué)計算機學(xué)院SET交易類型(2).2022/10/2361西安電子科技大持卡者注冊持卡者初始注冊CA發(fā)出響應(yīng)持卡者接收到響應(yīng)并請求注冊表CA處理請求和發(fā)送適當?shù)淖员沓挚ㄕ呓邮兆员?,并請求證書CA處理請求和產(chǎn)生證書(有關(guān)帳號信息的HASH值將成為證書中的一部分內(nèi)容)持卡者接收證書.2022/10/3162西安電子科技大學(xué)計算機學(xué)院持卡者注冊持卡者初始注冊.2022/10/2362西安電子科商家注冊商家請求注冊表CA發(fā)出響應(yīng)商家接收注冊表和請求證書CA處理請求和產(chǎn)生證書商家接收證書.2022/10/3163西安電子科技大學(xué)計算機學(xué)院商家注冊商家請求注冊表.2022/10/2363西安電子科技購買請求持卡者初始化購買請求持卡者完成瀏覽、挑選、定購后,SET協(xié)議啟動。提供訂購表完全的內(nèi)容、選擇支付卡品牌、請求支付網(wǎng)關(guān)證書。商家發(fā)出證書商家為請求消息制定一個唯一的交易識別號,將商家和相應(yīng)的支付網(wǎng)關(guān)證書一起發(fā)給持卡者。持卡者接收響應(yīng)和發(fā)出請求持卡者檢驗響應(yīng)的證書并保存候用,產(chǎn)生有效的OI和PI,并進行雙簽名,將PI和OI封裝數(shù)字信封,發(fā)送給商家。商家處理請求消息驗證持卡者證書,驗證數(shù)字信封的數(shù)字簽名。持卡者接收購買響應(yīng)驗證,并更新本地定購狀態(tài)數(shù)據(jù)庫。
.2022/10/3164西安電子科技大學(xué)計算機學(xué)院購買請求持卡者初始化購買請求.2022/10/2364西安電持卡者購買請求構(gòu)造.2022/10/3165西安電子科技大學(xué)計算機學(xué)院持卡者購買請求構(gòu)造.2022/10/2365西安電子科技大學(xué)商家購買請求驗證.2022/10/3166西安電子科技大學(xué)計算機學(xué)院商家購買請求驗證.2022/10/2366西安電子科技大學(xué)計支付授權(quán)商家請求授權(quán):商家產(chǎn)生一個安全的授權(quán)請求,發(fā)送給支付網(wǎng)關(guān)。購買相關(guān)信息:PI/雙簽名/OI摘要/持卡者數(shù)字信封認可相關(guān)信息:認證分組(商家簽名交易標識)和商家數(shù)字信封證書:持卡人簽名證書、商家簽名證書、商家密鑰交換證書支付網(wǎng)關(guān)處理授權(quán)請求安全驗證,解密PI,驗證與OI的一致性和關(guān)聯(lián)性,通過后支付網(wǎng)關(guān)將通過一個支付系統(tǒng)向發(fā)卡行發(fā)出一個授權(quán)請求。一旦從發(fā)卡行接收到一個授權(quán)響應(yīng),支付網(wǎng)關(guān)將簽署一個授權(quán)認可消息,安全處理后發(fā)送給商家。商家處理響應(yīng)驗證有效性,保存授權(quán)認可消息和請款標識(CaptureToken)。.2022/10/3167西安電子科技大學(xué)計算機學(xué)院支付授權(quán)商家請求授權(quán):商家產(chǎn)生一個安全的授權(quán)請求,發(fā)送給支付支付請款商家請求支付商家產(chǎn)生一個請款請求(包含交易金額、交易標識等),和請款標識一起發(fā)給支付網(wǎng)關(guān)。支付網(wǎng)關(guān)處理請款請求驗證請款請求的有效性,得到請款標識,形成清算請求,并創(chuàng)建清算請求,通過一個支付卡系統(tǒng)發(fā)給發(fā)卡行。并給商家發(fā)送請款響應(yīng)消息。商家接收響應(yīng)商家驗證有效性,并保存請款響應(yīng)消息,以備與收單行得到的付款進行對帳。.2022/10/3168西安電子科技大學(xué)計算機學(xué)院支付請款商家請求支付.2022/10/2368西安電子科技大第17章作業(yè)思考題習題.2022/10/3169西安電子科技大學(xué)計算機學(xué)院第17章作業(yè)思考題.2022/10/2369西安電子科技大學(xué)
Chapter16
Web安全性《密碼編碼學(xué)與網(wǎng)絡(luò)安全》
.2022/10/3170西安電子科技大學(xué)計算機學(xué)院
Chapter16
第一部分SSL/TLS協(xié)議SSL(SecureSocketLayer)是一種在兩個端實體(EndEntity)之間提供安全通道的協(xié)議。它具有保護傳輸數(shù)據(jù)以及識別通信實體的功能。安全通道是透明的IETF制定的TLS(TransportLayerSecurity)版本是對Nescape公司的SSL和Microsoft公司的PCT(PrivateCommunicationTechnology)兩個協(xié)議的綜合和兼容。重點討論SSL協(xié)議.2022/10/3171西安電子科技大學(xué)計算機學(xué)院第一部分SSL/TLS協(xié)議SSL(SecureSSSL/TLS協(xié)議設(shè)計目標SSLV2設(shè)計目標為滿足WEB安全通信而設(shè)計提供客戶和服務(wù)器之間傳輸數(shù)據(jù)的保密性服務(wù)器認證(客戶端認證可選)SSLV3設(shè)計目標修正SSLV2中存在的多處安全問題設(shè)計一種安全磋商多種加密算法的機制.2022/10/3172西安電子科技大學(xué)計算機學(xué)院SSL/TLS協(xié)議設(shè)計目標SSLV2設(shè)計目標.2022/SSL提供了什么SSL提供了通道級別的安全:連接的兩端知道所傳輸?shù)臄?shù)據(jù)是保密的,而且沒有被篡改幾乎總是要對服務(wù)器進行認證可選的客戶端認證針對異常情況的安全通知錯誤警示關(guān)閉連接所有這些依賴于某些對系統(tǒng)的假定假定已經(jīng)正確產(chǎn)生了密鑰數(shù)據(jù)并且該密鑰已被安全地保管.2022/10/3173西安電子科技大學(xué)計算機學(xué)院SSL提供了什么SSL提供了通道級別的安全:連接的兩端知道SSL與TCP/IPSSL連接非常類似于“保密的”的TCP連接位于TCP之上,應(yīng)用層之下幾乎只能在TCP上運行,而不能在UDP或IP上運行,因而它依賴于可靠的傳輸協(xié)議微軟的STLP和無線應(yīng)用論壇的WTLS均為意圖在數(shù)據(jù)報傳輸層(如UDP)上正確工作的變種。.2022/10/3174西安電子科技大學(xué)計算機學(xué)院SSL與TCP/IPSSL連接非常類似于“保密的”的TCP連SSL變種譜系樹SSLV1(1994)未發(fā)布SSLV2(1994)第一版SSLV3(1995)TLS(1997-1999)PCT(1995)STLP(1996)WTLS(1998).2022/10/3175西安電子科技大學(xué)計算機學(xué)院SSL變種譜系樹SSLV1(1994)SSLV2(199用于WEB的SSL保護使用HTTP的WEB通信新的URLhttps://在瀏覽器中的表現(xiàn)NETSCAPE:工具條上會顯示一把鑰匙IE:右下角顯示一把鎖幾乎所有的商業(yè)WEB服務(wù)器和瀏覽器都實現(xiàn)了內(nèi)置的SSL協(xié)議,通過配置即可使用.2022/10/3176西安電子科技大學(xué)計算機學(xué)院用于WEB的SSL保護使用HTTP的WEB通信.2022/1在SSL上構(gòu)建一切除了HTTP和NNTP(SNEWS)外,還可以用于SMTP、Telnet、FTP等,也可用于保護專有協(xié)議。協(xié)議端口標準化協(xié)議實現(xiàn)OPENSSL(C語言實現(xiàn))pureTLS(java實現(xiàn))ApacheSSL(針對Apache服務(wù)器的實現(xiàn))Mod_ssl.2022/10/3177西安電子科技大學(xué)計算機學(xué)院在SSL上構(gòu)建一切除了HTTP和NNTP(SNEWS)外,兩個主要的協(xié)議SSL記錄協(xié)議建立在可靠的傳輸協(xié)議(如TCP)之上它提供連接安全性,有兩個特點保密性,使用了對稱加密算法完整性,使用HMAC算法用來封裝高層的協(xié)議SSL握手協(xié)議客戶和服務(wù)器之間相互鑒別協(xié)商加密算法和密鑰它提供連接安全性,有三個特點身份鑒別,至少對一方實現(xiàn)鑒別,也可以是雙向鑒別協(xié)商得到的共享密鑰是安全的,中間人不能夠知道協(xié)商過程是可靠的.2022/10/3178西安電子科技大學(xué)計算機學(xué)院兩個主要的協(xié)議SSL記錄協(xié)議.2022/10/239西安電子SSL的兩個重要概念SSL連接(connection)一個連接是一個提供一種合適類型服務(wù)的傳輸(OSI分層的定義)。SSL的連接是點對點的關(guān)系。連接是暫時的,每一個連接和一個會話關(guān)聯(lián)。SSL會話(session)一個SSL會話是在客戶與服務(wù)器之間的一個關(guān)聯(lián)。會話由HandshakeProtocol創(chuàng)建。會話定義了一組可供多個連接共享的密碼安全參數(shù)。會話用以避免為每一個連接提供新的安全參數(shù)所需昂貴的協(xié)商代價。.2022/10/3179西安電子科技大學(xué)計算機學(xué)院SSL的兩個重要概念SSL連接(connection).20SSL基礎(chǔ)-針對RSA服務(wù)器認證的SSLSSL靈活性:單向認證和雙向認證認證+加密和認證加密算法:RSADSSDHFORTEZZA……連接分為兩個節(jié)段:握手階段完成對服務(wù)器認證并建立加密密鑰數(shù)據(jù)傳輸階段加密數(shù)據(jù)傳輸.2022/10/3180西安電子科技大學(xué)計算機學(xué)院SSL基礎(chǔ)-針對RSA服務(wù)器認證的SSLSSL靈活性:.2握手協(xié)議握手階段的目的客戶和服務(wù)器協(xié)商保護數(shù)據(jù)的算法(及其具體參數(shù))確立在協(xié)商好的算法上使用的加密密鑰可選擇對客戶端進行認證
clientserver----------------------------------------------------------------------------所支持的加密算法,隨機數(shù)選中的加密算法,隨機數(shù),服務(wù)器證書加密后的pre_master_secret
計算相關(guān)演化密鑰計算相關(guān)演化密鑰握手消息的MAC值握手消息的MAC值注:1.pre_master_secret可以由KDF(keyderivationfunction)演化出master_secret,最后再通過master_secret演化出系列加密密鑰。
2.最后兩步防止握手本身遭受篡改(如低強度密碼算法替換等).3.客戶端和服務(wù)器端隨機數(shù)的傳輸,防止重放攻擊。.2022/10/3181西安電子科技大學(xué)計算機學(xué)院握手協(xié)議握手階段的目的.2022/10/2312西安電子科技握手消息
clientserver----------------------------------------------------------------------------握手:ClientHello
握手:ServerHelloCertificate……ServerHelloDoneClientKeyExchange……(ChangeCipherSpec)Finished
……(ChangeCipherSpec)Finished.2022/10/3182西安電子科技大學(xué)計算機學(xué)院握手消息clientSSL記錄協(xié)議實際的數(shù)據(jù)傳輸是使用SSL記錄協(xié)議實現(xiàn)的數(shù)據(jù)流分割成一系列片段并加以傳輸,每個片斷單獨保護和傳輸為實現(xiàn)完整性保護,對片段進行MAC保護為實現(xiàn)機密性保護,對片段進行加密保護傳輸?shù)氖前踩涗?2022/10/3183西安電子科技大學(xué)計算機學(xué)院SSL記錄協(xié)議實際的數(shù)據(jù)傳輸是使用SSL記錄協(xié)議實現(xiàn)的.2記錄頭(Head)ContentType;——8位,上層協(xié)議類型Majorversion;Minnorversion——16位,主次版本CompressedLength:16位—加密后數(shù)據(jù)的長度,不超過214+2048字節(jié)(SSL幾乎不用壓縮,雖然支持)EncryptedDatafragment;——密文數(shù)據(jù).2022/10/3184西安電子科技大學(xué)計算機學(xué)院記錄頭(Head)ContentType;——8位,上層記錄負荷(Payload)支持4種協(xié)議消息:application_data、alert、handshake、change_cipher_spec.Alert協(xié)議消息:報警等級(warning/fatal)+具體報警編碼2字節(jié)change_cipher_spec協(xié)議消息:1字節(jié),將掛起狀態(tài)變成當前狀態(tài),指示在此之后的所有消息都將使用剛剛商定的密碼進行加密。handshake協(xié)議消息:類型(1字節(jié))+長度(3字節(jié))+消息,類型共10種.2022/10/3185西安電子科技大學(xué)計算機學(xué)院記錄負荷(Payload)支持4種協(xié)議消息:appli記錄負荷(Payload).2022/10/3186西安電子科技大學(xué)計算機學(xué)院記錄負荷(Payload).2022/10/2317西安電子完整SSL會話握手協(xié)議交換Hello消息,對于算法、交換隨機值等協(xié)商一致交換必要的密碼參數(shù),以便雙方得到統(tǒng)一的premastersecret交換證書和相應(yīng)的密碼信息,以便進行身份認證產(chǎn)生mastersecret把安全參數(shù)提供給SSL記錄層檢驗雙方是否已經(jīng)獲得同樣的安全參數(shù).2022/10/3187西安電子科技大學(xué)計算機學(xué)院完整SSL會話握手協(xié)議交換Hello消息,對于算法、交換隨機.2022/10/3188西安電子科技大學(xué)計算機學(xué)院.2022/10/2319西安電子科技大學(xué)計算機學(xué)院第一階段:建立起安全協(xié)商客戶發(fā)送一個client_hello消息,包括以下參數(shù):版本、隨機數(shù)(32位時間戳+28字節(jié)隨機序列)、會話ID、客戶支持的密碼算法列表(CipherSuite)、客戶支持的壓縮方法列表.然后,客戶等待服務(wù)器的server_hello消息服務(wù)器發(fā)送server_hello消息,參數(shù):客戶建議的低版本以及服務(wù)器支持的最高版本、服務(wù)器產(chǎn)生的隨機數(shù)、會話ID、服務(wù)器從客戶建議的密碼算法和壓縮方法中確定一套本次連接使用的確定方法..2022/10/3189西安電子科技大學(xué)計算機學(xué)院第一階段:建立起安全協(xié)商客戶發(fā)送一個client_helloCipherSuite指定了密鑰交換的方法,SSL支持以下一些方法:RSA,要求服務(wù)器提供一個RSA證書DH(Diffie-Hellman),要求服務(wù)器的證書中包含了由CA簽名的DH公開參數(shù)??蛻艋蛘咴谧C書中提供DH公開參數(shù),或者在密鑰交換消息中提供此參數(shù)EDH(EphemeralDiffie-Hellman),產(chǎn)生臨時的密鑰,DH公開參數(shù)由發(fā)送者的私鑰進行簽名,接收者用對應(yīng)的公鑰進行驗證
匿名的DH,不加鑒別。會受到中間人攻擊然后,指定以下信息加密算法和類型(流還是分組密碼算法)HMAC、MD5還是SHA-1是否可出口HashSizeKeyMaterialIVSize.2022/10/3190西安電子科技大學(xué)計算機學(xué)院CipherSuite指定了密鑰交換的方法,SSL支持以下一第二階段:服務(wù)器鑒別和密鑰交換服務(wù)器發(fā)送certificate消息,消息包含一個X.509證書,或者一條證書鏈除了匿名DH之外的密鑰交換方法都需要服務(wù)器發(fā)送server_key_exchange消息可選的,有些情況下可以不需要。只有當certificate消息沒有包含必需的數(shù)據(jù)的時候才發(fā)送此消息消息包含簽名,被簽名的內(nèi)容包括兩個隨機數(shù)以及服務(wù)器參數(shù)服務(wù)器發(fā)送certificate_request消息(可選)非匿名server可以向客戶請求一個證書包含證書類型和CAs服務(wù)器發(fā)送server_hello_done,然后等待應(yīng)答.2022/10/3191西安電子科技大學(xué)計算機學(xué)院第二階段:服務(wù)器鑒別和密鑰交換服務(wù)器發(fā)送certificat第二階段:服務(wù)器鑒別和密鑰交換.2022/10/3192西安電子科技大學(xué)計算機學(xué)院第二階段:服務(wù)器鑒別和密鑰交換.2022/10/2323西安第三階段:客戶鑒別和密鑰交換客戶收到server_done消息后,它根據(jù)需要檢查服務(wù)器提供的證書,并判斷server_hello的參數(shù)是否可以接受,如果都沒有問題的話,發(fā)送一個或多個消息給服務(wù)器。如果服務(wù)器請求證書的話,則客戶首先發(fā)送一個certificate消息,若客戶沒有證書,則發(fā)送一個no_certificate警告。然后客戶發(fā)送client_key_exchange消息,消息的內(nèi)容取決于密鑰交換的類型(如果是RSA,則含加密的PreMasterSecret)。最后,客戶發(fā)送一個certificate_verify消息(可選),其中包含一個簽名,對從第一條消息以來的所有握手消息的HMAC值(用master_secret)進行簽名.2022/10/3193西安電子科技大學(xué)計算機學(xué)院第三階段:客戶鑒別和密鑰交換客戶收到server_done消第三階段:客戶鑒別和密鑰交換.2022/10/3194西安電子科技大學(xué)計算機學(xué)院第三階段:客戶鑒別和密鑰交換.2022/10/2325西安電第四階段:結(jié)束第四階段建立起一個安全的連接客戶發(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ù)。.2022/10/3195西安電子科技大學(xué)計算機學(xué)院第四階段:結(jié)束第四階段建立起一個安全的連接.2022/10/第四階段:結(jié)束.2022/10/3196西安電子科技大學(xué)計算機學(xué)院第四階段:結(jié)束.2022/10/2327西安電子科技大學(xué)計算密鑰交換算法SSL記錄協(xié)議需要:CipherSuite,mastersecret,theclient&serverrandomvalues在hello消息中,交換隨機數(shù)以及各種算法兩類密鑰交換算法:RSA,客戶產(chǎn)生一個48字節(jié)的pre_master_secret,然后通過服務(wù)器的公鑰傳遞給服務(wù)器Diffie-Hellman,雙方協(xié)商得到的密鑰被用作pre_master_secret對于各種密鑰交換算法,從pre_master_secret計算得到Master_secret,然后從內(nèi)存中刪除Master_secret總是48字節(jié)長,而pre_master_secret長度不定,取決于密鑰交換算法.2022/10/3197西安電子科技大學(xué)計算機學(xué)院密鑰交換算法SSL記錄協(xié)議需要:CipherSuite,m密鑰導(dǎo)出.2022/10/3198西安電子科技大學(xué)計算機學(xué)院密鑰導(dǎo)出.2022/10/2329西安電子科技大學(xué)計算機學(xué)院Master_secret的產(chǎn)生SSL3.0Master_secret=MD5(pre_master_secret‖SHA-1(‘A’‖pre_master_secret||ClientHello.random‖ServerHello.random))‖MD5(pre_master_secret‖SHA-1(‘BB’‖pre_master_secret||ClientHello.random‖ServerHello.random))‖MD5(pre_master_secret‖SHA-1(‘CCC’‖pre_master_secret||ClientHello.random‖ServerHello.random))
TLS1.0master_secret=PRF(pre_master_secret,“mastersecret”, ClientHello.random,+ServerHello.random)[0..47]*PRF(secret,label,seed)為偽隨機函數(shù).2022/10/3199西安電子科技大學(xué)計算機學(xué)院Master_secret的產(chǎn)生SSL3.0.2022/1偽隨機函數(shù)PRF(secret,label,seed)P_hash(secret,seed)=+HMAC_hash(secret,A(1)+seed)+HMAC_hash(secret,A(2)+seed)+HMAC_hash(secret,A(3)+seed)+...這里A()定義如下:
A(0)=seedA(i)=HMAC_hash(secret,A(i-1))偽隨機函數(shù)PRF(secret,label,seed)=P_MD5(S1,label+seed)XORP_SHA-1(S2,label+seed);
這里,S1和S2為secret的各一半,如果secret為奇數(shù)個字節(jié),則S1和S2共享一個字節(jié).2022/10/31100西安電子科技大學(xué)計算機學(xué)院偽隨機函數(shù)PRF(secret,label,seed)P最終需要的密鑰導(dǎo)出.2022/10/31101西安電子科技大學(xué)計算機學(xué)院最終需要的密鑰導(dǎo)出.2022/10/2332西安電子科技大學(xué)密鑰導(dǎo)出公式Key_block=MD5(master_secret||SHA-1(‘A’+master_secret+server_random+client_random))||MD5(master_secret||SHA-1(‘BB’+master_secret+server_random+client_random))||MD5(master_secret||SHA-1(‘
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合同協(xié)議書履約擔保函
- 2025企業(yè)合同涉及知識產(chǎn)權(quán)條款
- 最房屋裝修合同范本
- 店鋪裝修設(shè)計合同書范本
- 動產(chǎn)合同范例
- 公示合同范例
- 關(guān)于租廠房合同范例
- 施工合同范例筑墻
- 夫妻車輛過戶合同范例
- 與商貿(mào)公司合同范例
- 高速公路路牌廣告合同范文(3篇)
- 上海市浦東惠南學(xué)區(qū)2024-2025學(xué)年九年級12月月考語文試題及答案
- 廣東省廣州海珠區(qū)2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 湖北省黃岡市2023-2024學(xué)年高二上學(xué)期期末調(diào)研考試 地理 含解析
- 抵制心理暴力與騷擾管理規(guī)定
- 銀行業(yè)專業(yè)人員職業(yè)資格初級(公司信貸)模擬試卷68
- 《全科醫(yī)學(xué)概論》課件-以家庭為單位的健康照顧
- 2024商場承包合同
- 月光德彪西原版五線譜鋼琴譜正譜樂譜
- 圖書館管理系統(tǒng)答辯
- 先天性心臟病封堵術(shù)護理
評論
0/150
提交評論