国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種旁路審計(jì)HTTPS數(shù)據(jù)包的方法及系統(tǒng)與流程

      文檔序號(hào):11879334閱讀:4329來(lái)源:國(guó)知局
      一種旁路審計(jì)HTTPS數(shù)據(jù)包的方法及系統(tǒng)與流程

      本發(fā)明是關(guān)于WEB業(yè)務(wù)審計(jì)、安全管理技術(shù)領(lǐng)域,特別涉及一種旁路審計(jì)HTTPS數(shù)據(jù)包的方法及系統(tǒng)。



      背景技術(shù):

      在WEB應(yīng)用中,用戶終端基于瀏覽器平臺(tái)與WEB服務(wù)器之間進(jìn)行數(shù)據(jù)傳輸。目前大部分WEB應(yīng)用和網(wǎng)站都是通過(guò)超文本傳輸協(xié)議HTTP明文傳輸?shù)摹?/p>

      隨著WEB應(yīng)用發(fā)展,瀏覽器與WEB服務(wù)器之間的數(shù)據(jù)傳輸涉及多種業(yè)務(wù),例如即時(shí)通訊業(yè)務(wù)、在線支付業(yè)務(wù)、網(wǎng)銀業(yè)務(wù)或證券系統(tǒng)業(yè)務(wù)等。這些業(yè)務(wù)都涉及到敏感信息,如采用HTTP明文傳輸?shù)姆绞?,不能?duì)這些敏感信息進(jìn)行加密處理,導(dǎo)致存在信息泄露的風(fēng)險(xiǎn)。

      為了提高數(shù)據(jù)傳輸?shù)陌踩裕壳俺Mㄟ^(guò)安全超文本傳輸協(xié)議HTTPS在瀏覽器與WEB服務(wù)器之間進(jìn)行數(shù)據(jù)傳輸。HTTP是超文本傳輸協(xié)議,信息是明文傳輸,HTTPS則是具有安全性的SSL加密傳輸協(xié)議。HTTPS的安全基礎(chǔ)便是SSL,加密操作需要SSL協(xié)助完成。HTTP和HTTPS使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

      現(xiàn)有的WEB業(yè)務(wù)審計(jì)的方案中,一般都是審計(jì)采用HTTP通道來(lái)進(jìn)行傳輸?shù)臄?shù)據(jù)包。在WEB應(yīng)用中,為了防止信息泄露,采用HTTPS通道來(lái)進(jìn)行數(shù)據(jù)傳輸,HTTPS通道會(huì)對(duì)在瀏覽器與WEB服務(wù)器之間傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理。這樣,發(fā)明一種對(duì)HTTPS數(shù)據(jù)包審計(jì)的方法及系統(tǒng)是WEB業(yè)務(wù)審計(jì)需要解決的一個(gè)難題。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)中的不足,提供一種對(duì)HTTPS數(shù)據(jù)包進(jìn)行審計(jì)的方法及系統(tǒng)。為解決上述技術(shù)問題,本發(fā)明的解決方案是:

      提供一種旁路審計(jì)HTTPS數(shù)據(jù)包的方法,用于對(duì)需要進(jìn)行WEB業(yè)務(wù)審計(jì)的數(shù)據(jù)包進(jìn)行解密,數(shù)據(jù)包采用HTTP通道在瀏覽器與WEB服務(wù)器之間進(jìn)行傳輸,所述旁路審計(jì)HTTPS數(shù)據(jù)包的方法具體包括下述步驟:

      步驟A:旁路獲取數(shù)據(jù)包:采用旁路獲取瀏覽器與WEB服務(wù)器之間傳輸?shù)臄?shù)據(jù)包;

      所述旁路是指WEB審計(jì)設(shè)備與WEB服務(wù)器的鏈接線路、與瀏覽器的鏈接線路,和WEB服務(wù)器與瀏覽器的鏈接線路是分開的;所述WEB審計(jì)設(shè)備是指裝有(自主開發(fā)的)WEB業(yè)務(wù)審計(jì)系統(tǒng)的計(jì)算機(jī)設(shè)備;

      步驟B:提取私鑰:WEB業(yè)務(wù)審計(jì)系統(tǒng)獲得keystore文件,并從keystore文件中提取私鑰;

      所述keystore文件是由安全鑰匙和證書管理工具keytool創(chuàng)建的數(shù)字證書文件,keystore文件內(nèi)包含鑰匙和證書,且keystore文件用一個(gè)密碼保護(hù)鑰匙(keysotre文件一般存放在WEB服務(wù)器,即審計(jì)對(duì)象的某個(gè)目錄下);

      步驟C:解析私鑰:由開源函數(shù)gcry_sexp_build讀取步驟B提取的私鑰,并存放到gcry_sexp_t結(jié)構(gòu)體(結(jié)構(gòu)體是由一系列具有相同類型或不同類型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合,gcry_sexp_t結(jié)構(gòu)體即:gcry_sexp_build(gcry_sexp_t*,NUL,…….),該gcry_sexp_t結(jié)構(gòu)體包含byte變量(整數(shù))e等數(shù)據(jù)成員,特別指出,這個(gè)變量e指向的就是私鑰);

      步驟D:解密預(yù)主鑰:通過(guò)傳入步驟C解析的私鑰,由開源非對(duì)稱解密函數(shù)解密預(yù)主鑰pre-master-secret;

      所述開源非對(duì)稱加、解密函數(shù)是采用RSA非對(duì)稱加密算法進(jìn)行加、解密的函數(shù)(非對(duì)稱加密算法需要兩個(gè)密鑰:公開密鑰(publickey)和私有密鑰(privatekey),公開密鑰與私有密鑰是一對(duì),如果用公開密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開密鑰才能解密,因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法);

      所述預(yù)主鑰pre-master-secret是在SSL通信流程中,采用RSA算法加密時(shí),產(chǎn)生的一個(gè)隨機(jī)數(shù)(由于預(yù)主鑰pre-master-secret被服務(wù)器端的公鑰加密,所以只有用服務(wù)器私鑰才能解);

      步驟E:生成主鑰:通過(guò)傳入步驟D解密的預(yù)主鑰pre-master-secret、客戶端隨機(jī)數(shù)、服務(wù)器端隨機(jī)數(shù),由偽隨機(jī)函數(shù)PRF生成主鑰master-secret,即:

      master-secret=PRF(pre-mastersecret,“mastersecret”,ClientHello.random+ServerHello.random);

      所述客戶端隨機(jī)數(shù)是在SSL通信流程中,客戶端發(fā)送的ClientHello消息中包含的一個(gè)用于生成主鑰master-secret的32字節(jié)的隨機(jī)數(shù),即ClientHello.random;

      所述服務(wù)器隨機(jī)數(shù)是在SSL通信流程中,服務(wù)器端應(yīng)答客戶的Serverhello消息中包含的一個(gè)用于生成主鑰master-secret的32字節(jié)的隨機(jī)數(shù),即ServerHello.random;

      所述偽隨機(jī)函數(shù)是SSL協(xié)議中的組成部分,用于秘密擴(kuò)展以及生成密鑰,所用的算法是對(duì)稱加解密算法;

      步驟F:生成密鑰和初始向量:步驟E得到主鑰master-secret后,偽隨機(jī)函數(shù)PRF對(duì)主鑰master-secret做進(jìn)一步處理,生成四個(gè)不同的密鑰和兩個(gè)初始向量IV,即:

      keyblock=PRF(SecurityParameters.master-secret,”key-expansion”,Securit yParameters.server random+SecurityParameters.client random);

      其中,keyblock用于存儲(chǔ)生成的四個(gè)密鑰和兩個(gè)初始向量IV;SecurityParameters.master-secret是指步驟E生成的主鑰master-secret;key-expansion是一個(gè)標(biāo)識(shí)符(比如“client finished”、“server finished”等);SecurityParameters.server random是指步驟E所述的服務(wù)器隨機(jī)數(shù);SecurityParameters.client random是指步驟E所述的客戶端隨機(jī)數(shù);

      所述四個(gè)不同的密鑰是指:client_write_MAC_secret、server_write_MAC_secret、client_write_key、server_write_key;其中,client_write_key、server_write_key用于對(duì)數(shù)據(jù)進(jìn)行加解密,client_write_MAC_secret、server_write_MAC_secret用于驗(yàn)證數(shù)據(jù)的完整性;

      所述兩個(gè)初始向量是指:client_write_IV,server_write_IV;

      步驟G:解密加密的數(shù)據(jù)包:通過(guò)傳入步驟F生成的密鑰和初始向量,由開源解密函數(shù),即解密函數(shù)gcry_cipher_decrypt,對(duì)步驟A獲取的加密的數(shù)據(jù)包進(jìn)行解密。

      在本發(fā)明中,所述步驟B具體包括下述步驟:

      步驟B1:利用證書轉(zhuǎn)換工具JKS2PFX,從keystore文件中提取到證書(.crt文件)和私鑰(.key文件)(提取命令:JKS2PFX.bat<keystore文件><keystore密碼><Alias別名><導(dǎo)出文件>[Java Runtime目錄]);

      步驟B2:使用openssl命令將步驟B1中提取到的私鑰轉(zhuǎn)換成pem格式的文件。

      提供用于所述一種旁路審計(jì)HTTPS數(shù)據(jù)包的方法的WEB業(yè)務(wù)審計(jì)系統(tǒng),所述WEB業(yè)務(wù)審計(jì)系統(tǒng)能采用旁路方式獲取加密的數(shù)據(jù)包,能獲得keystore文件,以及解析私鑰;

      能將解析后的私鑰傳入非對(duì)稱解密函數(shù),經(jīng)非對(duì)稱解密函數(shù)解密后得到預(yù)主鑰pre-master-secret;由偽隨機(jī)函數(shù)PRF處理預(yù)主鑰pre-master-secret、client/server隨機(jī)數(shù)生成主鑰master-secret;由偽隨機(jī)函數(shù)PRF處理主鑰master-secret、client/server隨機(jī)數(shù)生成生成密鑰和初始向量;

      能將密鑰和初始向量傳入開源解密函數(shù)gcry_cipher_decrypt,用于對(duì)加密的數(shù)據(jù)包進(jìn)行解密,得到解密的數(shù)據(jù)包;最終,觸發(fā)審計(jì)事件。

      與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:

      本發(fā)明對(duì)加密數(shù)據(jù)包進(jìn)行解密的方法能夠幫助IT組織加強(qiáng)web業(yè)務(wù)安全分析能力,且該種審計(jì)加密數(shù)據(jù)包的方法具有web訪問行為分析、web性能分析。

      附圖說(shuō)明

      圖1為本發(fā)明的主要模塊流程圖。

      圖2為SSL通信流程圖。

      圖3為主鑰master-secret生成流程圖。

      圖4為密鑰和初始向量生成流程圖。

      具體實(shí)施方式

      首先需要說(shuō)明的是,本發(fā)明涉及Web審計(jì)、安全管理技術(shù)領(lǐng)域,是計(jì)算機(jī)技術(shù)在信息安全技術(shù)領(lǐng)域的一種應(yīng)用。在本發(fā)明的實(shí)現(xiàn)過(guò)程中,會(huì)涉及到多個(gè)軟件功能模塊的應(yīng)用。申請(qǐng)人認(rèn)為,如在仔細(xì)閱讀申請(qǐng)文件、準(zhǔn)確理解本發(fā)明的實(shí)現(xiàn)原理和發(fā)明目的以后,在結(jié)合現(xiàn)有公知技術(shù)的情況下,本領(lǐng)域技術(shù)人員完全可以運(yùn)用其掌握的軟件編程技能實(shí)現(xiàn)本發(fā)明。凡本發(fā)明申請(qǐng)文件提及的軟件功能模塊均屬此范疇,申請(qǐng)人不再一一列舉。

      下面結(jié)合附圖與具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述:

      如圖1所示,一種旁路審計(jì)HTTPS數(shù)據(jù)包的方法具體包括下述步驟:

      步驟A:旁路獲取數(shù)據(jù)包:采用旁路獲取瀏覽器與WEB服務(wù)器之間傳輸?shù)臄?shù)據(jù)包;

      所述旁路是指WEB審計(jì)設(shè)備與WEB服務(wù)器的鏈接線路、與瀏覽器的鏈接線路,和WEB服務(wù)器與瀏覽器的鏈接線路是分開的;

      所述WEB審計(jì)設(shè)備是指裝有自主開發(fā)的WEB業(yè)務(wù)審計(jì)系統(tǒng)的計(jì)算機(jī)設(shè)備。

      步驟B:提取私鑰:WEB業(yè)務(wù)審計(jì)系統(tǒng)獲得keystore文件后,從keystore文件中提取私鑰;

      所述keystore是由安全鑰匙和證書管理工具keytool創(chuàng)建的數(shù)字證書文件。該文件內(nèi)包含鑰匙和證書,它用一個(gè)密碼保護(hù)鑰匙。keysotre文件一般存放在WEB服務(wù)器(審計(jì)對(duì)象)的某個(gè)目錄下。從keystore中提取到證書(.crt)和私鑰(.key),這里要用到一款工具JKS2PFX。

      提取命令:JKS2PFX.bat<keystore文件><keystore密碼><Alias別名><導(dǎo)出文件>[Java Runtime目錄]

      步驟C:解析私鑰:由開源函數(shù)gcry_sexp_build讀取步驟B提取的私鑰,并存放到gcry_sexp_t結(jié)構(gòu)體,即:gcry_sexp_build(gcry_sexp_t*,NUL,…….);

      所述結(jié)構(gòu)體是由一系列具有相同類型或不同類型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合。上文所述的gcry_sexp_t結(jié)構(gòu)體包含byte變量(整數(shù))e等數(shù)據(jù)成員。特別指出,這個(gè)變量e指向的就是私鑰。

      步驟D:解密預(yù)主鑰:通過(guò)傳入步驟C解析的私鑰,由開源非對(duì)稱解密函數(shù)解密預(yù)主鑰pre-master-secret;

      所述開源非對(duì)稱加、解密函數(shù)是采用RSA非對(duì)稱加密算法進(jìn)行加、解密的函數(shù)。非對(duì)稱加密算法需要兩個(gè)密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對(duì),如果用公開密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開密鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法。

      所述預(yù)主鑰pre-master-secret是在SSL通信流程中,采用RSA算法加密時(shí),產(chǎn)生的一個(gè)隨機(jī)數(shù),這個(gè)隨機(jī)數(shù)就是預(yù)主鑰pre-master-secret。特別指出,由于預(yù)主鑰pre-master-secret被服務(wù)器端的公鑰加密,所以只有用服務(wù)器私鑰才能解。

      所述SSL通信流程是由于本系統(tǒng)介紹一種旁路審計(jì)HTTPS數(shù)據(jù)包的方法,HTTPS則是具有安全性的SSL加密傳輸協(xié)議。因此,客戶端與服務(wù)器的通信過(guò)程采用的是SSL通信流程。

      步驟E:生成主鑰:通過(guò)傳入步驟D解密的預(yù)主鑰pre-master-secret、客戶端隨機(jī)數(shù)、服務(wù)器端隨機(jī)數(shù),由偽隨機(jī)函數(shù)PRF生成主鑰master-secret,即:

      master-secret=PRF(pre-mastersecret,“mastersecret”,ClientHello.random+ServerHello.random);

      所述客戶端隨機(jī)數(shù)是在SSL通信流程中,客戶端發(fā)送ClientHello。在ClientHello消息中包含一個(gè)用于生成主鑰master-secret的32字節(jié)的隨機(jī)數(shù),即ClientHello.random;

      所述服務(wù)器隨機(jī)數(shù)是在SSL通信流程中,服務(wù)器端用Serverhello應(yīng)答客戶,在ServerHello消息中,包含一個(gè)用于生成主鑰master-secret的32字節(jié)的隨機(jī)數(shù),即ServerHello.random;

      所述偽隨機(jī)函數(shù)是SSL協(xié)議中的組成部分,用于秘密擴(kuò)展以及生成密鑰,所用的算法是對(duì)稱加解密算法;

      步驟F:生成密鑰和初始向量:步驟E得到主鑰master-secret后,偽隨機(jī)函數(shù)PRF對(duì)主鑰master-secret做進(jìn)一步處理,生成四個(gè)不同的密鑰和兩個(gè)初始向量IV,即:

      keyblock=PRF(SecurityParameters.master-secret,”key-expansion”,Securit yParameters.server random+SecurityParameters.client random);

      其中,keyblock是用來(lái)存儲(chǔ)生成的4個(gè)Key和2個(gè)IV的。

      SecurityParameters.master-secret是指步驟E生成的主鑰master-secret。

      key-expansion是一個(gè)標(biāo)識(shí)符(比如“client finished”、“server finished”等);

      SecurityParameters.server random是指步驟E所述的服務(wù)器隨機(jī)數(shù);

      SecurityParameters.client random是指步驟E所述的客戶端隨機(jī)數(shù);

      所述四個(gè)不同的密鑰是指:client_write_MAC_secret、server_write_MAC_secret、client_write_key、server_write_key;其中,client_write_key、server_write_key用于對(duì)數(shù)據(jù)進(jìn)行加解密。client_write_MAC_secret、server_write_MAC_secret用來(lái)驗(yàn)證數(shù)據(jù)的完整性。

      所述兩個(gè)初始向量是指:client_write_IV,server_write_IV;

      步驟G:解密加密的數(shù)據(jù)包:通過(guò)傳入步驟F生成的密鑰和初始向量,由開源解密函數(shù),即解密函數(shù)gcry_cipher_decrypt,對(duì)步驟A所獲取的加密的數(shù)據(jù)包進(jìn)行解密,得到解密的數(shù)據(jù)包用于進(jìn)行后續(xù)審計(jì)處理。

      下面的實(shí)施例是采用旁路審計(jì)HTTPS數(shù)據(jù)包的方法及系統(tǒng)的一個(gè)具體例子,以及相關(guān)的其他實(shí)體部分、交互的信息,可以使本專業(yè)的專業(yè)技術(shù)人員更全面地理解本發(fā)明,但不以任何方式限制本發(fā)明,具體參考圖3。

      首先WEB審計(jì)設(shè)備利用旁路方式獲取到數(shù)據(jù)包,比如來(lái)自Web瀏覽器的HTTPS數(shù)據(jù)包ClientHello,WEB業(yè)務(wù)審計(jì)系統(tǒng)獲得keystore文件之后就可以對(duì)獲取的HTTPS數(shù)據(jù)包進(jìn)行解密:

      1、提取私鑰

      提取命令:

      JKS2PFX.bat keystoretom.jks yltest tomcat exportfile C:\Program Files\Java\jdk1.7.0_51\bin;

      使用命令openssl rsa–in*.key-out keyout.pem將.key文件轉(zhuǎn)換成pem格式的文件;

      轉(zhuǎn)換后文件的內(nèi)容大概是這樣子的:

      -----BEGIN PRIVATE KEY-----

      MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCfox14mHSLQooi

      lUVWyVSnfMOUwHeGDDb/CI4saeYHu334OXAyFjCXzSfsgRbkhvmRh8l4jLsoHx3IvzSCVU4UlXwAgclT8h9helDu7GQFVeXandx1RbZuZl8W9qlsgtDwBQWM6EsZeZzE5BfCTVVxBSpvkhCxkaKOfvo8yutvxydA7ra3EfWVVPmrj4yeM8vPZ/pORDM8GhOO9gQKSLbWQKJq+mMRyPvN5b/NQxLHJSY7oFtKysVbrGRznGBJ3DiHJQ3RPnl1xlg/n6VTYifDTxqIRa+cUMAgHf756v8RKZf2jAs88rQG/OmK4aulA45jU8dO+QYQcbScrW+M6jMBAgMBAAECggEAFkI2L8SCK5DBlgTeQDWeWiQpWSplAAnf+TuGJ2c0rctU

      yzGnFTTG3cO7V1zAhmjTj5kxXF+zEOsVyhHvDmU6l+AoBCIUomHWQk89zbKkV6Ic

      hJkSTj/EKiyYAamvAfRTkcQBfB4/qnOsij+LmIoT6chgnGHvdfLqiZfm6Gca4ODZc6hP2CoU/3eH6EDZLUdqCLIb4OVRPncjrHFmMWc+S9MfwPUNBpM5PIIxp9u4GIgW

      1ono0HAboW7FlyB5ikok/MqbxJz/BpXfMwswXGe2L0dAINHlFYQUY4mkwks70xxbf3sWsy6PIoTZ/u70KvYxQwABus7HejWGsMNKM6gayQKBgQDYpka+vcDM5THyGTQq

      PSN/r25vpyhnyURiAu0PtLiHu8lOfcmuIy4fB6ck1cPbk3nOrNRaOwRZVjQzcLLBOxYjH6RsrJDQN5ZU1UC7No/YXHnfZrxzQd6+HtCupJeLObhjvC95H0zc8Nxs2ke7N7haxJsgN9XC8XRWbhiJ1kCDPwKBgQC8oeP9kENmKlKsIx3hK8NGkyr/83GSh0ZdkfGvK8fi0SOv7NTf3IAV4FB5Z0s4ps4nd3eyjd9MGOaKmxZtK3hHTPSmxJ83LZPdSiSMVINZAtXrgr9ASrlyzcDzcA1pd2bu+s6yxgm7fVWIZ/XMEOP9EdOx00V9BzR52kHj5OD5vwKBgQDHEBjmv8F8Qoee1Guq99w7QT0u2B93JWZwzBF4Iex/wxrXxRpfp7GED2sTnFrG0X3VWdYQRjPbxipWrZGBnMHdagCRXgn9V2YI8pz0p9CJ04ajr2kuWfLJK9VA8rjP0yxKb6oLF6hvRdyzI+lO64a31/hVJRiDc4oatDRVyggizwKBgQCo/njdgFOBwkUSxttMEgL+xXZunFGRrvPRfKEECLspb6kDQbBtZoSyFKbEPVBczsQ/A38PTp9Q87YHU25CHAHEDyPYDKt/qauhQ31+43BRXIL+XcKt/MQsID3PWwIJDNoB

      HF32OAocGOt6K3lAe5ll7oSz+c11d/EBghIp87HCzQKBgFx/IqTaGYCgjip2ylRBXfJUZQK2qrnGTmeE+GWW8r65zKgaUk8K/glarH8AV1m0XzHqFXDnnIM+b1hi/7lb6eGDiNxsPVFHdRomIckee99u5Smj4R2DCv4HaxWbriCSVq15URBKlXpJbknhOC1NxK0XCyjCxseHmRDZ6l5SoWk6

      -----END PRIVATE KEY-----

      2、解析私鑰

      將上面得到的私鑰讀取出來(lái),并存放到gcry_sexp_t的結(jié)構(gòu)體里

      主要函數(shù)是:gcry_sexp_build(gcry_sexp_t*,NULL,…….)。

      3、解密預(yù)主鑰pre-master-secret

      用取到的私鑰,由開源非對(duì)稱解密函數(shù)解密預(yù)主鑰pre-master-secret。

      4、生成主鑰master-secret

      主密鑰(master-secret)是利用上述PRF從預(yù)主鑰pre-master-secret生成的。每個(gè)master-secret為48字節(jié),生成方式如下:

      master-secret=PRF(pre-master-secret,“master-secret”,ClientHello.random+ServerHello.random)

      5、生成密鑰和初始向量

      得到master-secret后,它會(huì)被進(jìn)一步處理最后生成4個(gè)不同的密鑰和2個(gè)初始向量(IV)。處理過(guò)程如下:

      keyblock=PRF(SecurityParameters.master-secret,”key expansion”,SecurityParameters.server random+SecurityParameters.client random)

      處理過(guò)程一直持續(xù)到足夠多(需要計(jì)算12次)的輸出被生成,然后把輸出分為4個(gè)key和2個(gè)IV:client_write_MAC_secret,server_write_MAC_secret,client_wriete_key,server_write_key,client_write_IV,server_write_IV。

      6、解密加密的數(shù)據(jù)包

      用上面生成的密鑰和初始向量,由開源解密函數(shù)解密函數(shù)gcry_cipher_decrypt對(duì)加密的數(shù)據(jù)包進(jìn)行解密。

      最終,采用旁路審計(jì)HTTPS數(shù)據(jù)包的方法及系統(tǒng)將解密的HTTPS數(shù)據(jù)包發(fā)送到外部模塊或系統(tǒng),由外部模塊或系統(tǒng)完成解密后的審計(jì)處理。

      最后,需要注意的是,以上列舉的僅是本發(fā)明的具體實(shí)施例。顯然,本發(fā)明不限于以上實(shí)施例,還可以有很多變形。本領(lǐng)域的普通技術(shù)人員能從本發(fā)明公開的內(nèi)容中直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護(hù)范圍。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1