本發(fā)明涉及通信技術(shù)應(yīng)用領(lǐng)域,具體而言,涉及一種虛擬加密機數(shù)據(jù)的導(dǎo)出導(dǎo)入以及處理方法、裝置和系統(tǒng)。
背景技術(shù):
隨著通信技術(shù)的廣泛運用,在互聯(lián)網(wǎng)時代如何通過保障信息傳輸過程中的安全成為了現(xiàn)有亟待解決的問題,為了保障信息在傳輸過程中的安全,現(xiàn)有技術(shù)中提供了一種硬件加密機(hardwaresecuritymodule,簡稱hsm),通過hsm對信息的加密保障了信息在傳輸過程中的安全性。
現(xiàn)有hsm與hsm之間,出于對稱算法,當(dāng)hsm發(fā)生替換時,如果是同一廠商生產(chǎn)的hsm,將通過預(yù)設(shè)的相同的管理密鑰對待替換的hsm對應(yīng)的虛擬加密機(virtualsecuritymodule,簡稱vsm)中的vsm數(shù)據(jù)進(jìn)行加密,然后將加密后的vsm數(shù)據(jù)導(dǎo)入另一個hsm,由于使用相同的管理密鑰,另一個hsm將依據(jù)相同的管理密鑰對該vsm數(shù)據(jù)進(jìn)行解密,進(jìn)而完成vsm數(shù)據(jù)的導(dǎo)出和導(dǎo)入過程。但是對于不同廠商生產(chǎn)的hsm的替換,若仍沿用對稱算法,如果從待替換hsm中將vsm數(shù)據(jù)導(dǎo)出到另一個hsm,若該hsm通過偽造的加密密鑰,將會導(dǎo)致待替換hsm的密鑰泄露,即,待替換hsm導(dǎo)出的vsm數(shù)據(jù)將會由于密鑰的泄露而泄露,由此造成信息傳輸過程中存在風(fēng)險。
針對上述由于現(xiàn)有技術(shù)中缺少對跨廠商的加密機的數(shù)據(jù)導(dǎo)出或?qū)胛刺岢霭踩U?,?dǎo)致的信息在傳輸?shù)倪^程中存在泄露風(fēng)險的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種虛擬加密機數(shù)據(jù)的導(dǎo)出導(dǎo)入以及處理方法、裝置和系統(tǒng),以至少解決由于現(xiàn)有技術(shù)中缺少對跨廠商的加密機的數(shù)據(jù)導(dǎo)出或?qū)胛刺岢霭踩U?,?dǎo)致的信息在傳輸?shù)倪^程中存在泄露風(fēng)險的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種虛擬加密機數(shù)據(jù)的導(dǎo)出方法,包括: 接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文。
根據(jù)本發(fā)明實施例的一個方面,提供了另一種虛擬加密機數(shù)據(jù)的導(dǎo)入方法,包括:接收響應(yīng)報文;解析響應(yīng)報文,獲取響應(yīng)報文中的預(yù)設(shè)第二加密機密鑰參數(shù)組;依據(jù)預(yù)設(shè)第二加密機密鑰參數(shù)組驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文;在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種虛擬加密機數(shù)據(jù)的導(dǎo)出裝置,包括:接收模塊,用于接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;驗證模塊,用于依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;報文生成模塊,用于在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文。
根據(jù)本發(fā)明實施例的另一方面,還提供了另一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置,包括:報文接收模塊,用于接收響應(yīng)報文;解析模塊,用于解析響應(yīng)報文,獲取響應(yīng)報文中的預(yù)設(shè)第二加密機密鑰參數(shù)組;報文驗證模塊,用于依據(jù)第二加密機密鑰參數(shù)驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文;導(dǎo)入模塊,用于在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文。
根據(jù)本發(fā)明實施例的又一個方面,提供了一種虛擬加密機數(shù)據(jù)的導(dǎo)出導(dǎo)入系統(tǒng),包括:第一加密機和第二加密機,第一加密機和第二加密機通信連接,其中,第二加密機接收第一加密機發(fā)送的導(dǎo)出請求,依據(jù)預(yù)設(shè)公鑰驗證導(dǎo)出請求中第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名,在驗證結(jié)果為是的情況下,依據(jù)導(dǎo)出請求中第一加密機公鑰和預(yù)設(shè)第二加密機密鑰參數(shù)組生成響應(yīng)報文,并將響應(yīng)報文發(fā)送至第一加密機;第一加密機接收第二加密機發(fā)送的響應(yīng)報文,通過解析響應(yīng)報文,獲取響應(yīng)報文中預(yù)設(shè)第二加密機密鑰參數(shù)組,并依據(jù)預(yù)設(shè)第二加密機密鑰參數(shù)組驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文,在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文;其中,第二加密機為上述的虛擬加密機數(shù)據(jù)的導(dǎo)出裝置;第一加密機為上述的虛擬加密機數(shù)據(jù)的導(dǎo)入裝置。
根據(jù)本發(fā)明實施例的再一個方面,提供了一種虛擬加密機數(shù)據(jù)的處理方法,包括:接收第一加密機發(fā)送的數(shù)據(jù)處理請求,其中,數(shù)據(jù)處理請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名的是否為第一加密機生成的數(shù)字簽名;在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰進(jìn)行數(shù)據(jù)處理。
在本發(fā)明實施例中,通過接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文,達(dá)到了對跨廠商的加密機之間的數(shù)據(jù)導(dǎo)出或?qū)胩峁┝税踩U系哪康?,從而實現(xiàn)了提升數(shù)據(jù)傳輸安全的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)中缺少對跨廠商的加密機的數(shù)據(jù)導(dǎo)出或?qū)胛刺岢霭踩U?,?dǎo)致的信息在傳輸?shù)倪^程中存在泄露風(fēng)險的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是本發(fā)明實施例的一種虛擬加密機數(shù)據(jù)的導(dǎo)出方法的加密機的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明實施例一的虛擬加密機數(shù)據(jù)的導(dǎo)出方法的流程圖;
圖3是根據(jù)本發(fā)明實施例一的虛擬加密機數(shù)據(jù)的導(dǎo)出方法中hsm-a和hsm-b的結(jié)構(gòu)示意圖;
圖4是根據(jù)本發(fā)明實施例二的虛擬加密機數(shù)據(jù)的導(dǎo)入方法的流程圖;
圖5是根據(jù)本發(fā)明實施例的虛擬加密機數(shù)據(jù)的導(dǎo)出和導(dǎo)入方法的流程圖;
圖6是根據(jù)本發(fā)明實施例三的虛擬加密機數(shù)據(jù)的導(dǎo)出裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)本發(fā)明實施例三的一種虛擬加密機數(shù)據(jù)的導(dǎo)出裝置的結(jié)構(gòu)示意圖;
圖8是根據(jù)本發(fā)明實施例三的另一種虛擬加密機數(shù)據(jù)的導(dǎo)出裝置的結(jié)構(gòu)示意圖;
圖9是根據(jù)本發(fā)明實施例三的又一種虛擬加密機數(shù)據(jù)的導(dǎo)出裝置的結(jié)構(gòu)示意圖;
圖10是根據(jù)本發(fā)明實施例四的虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖;
圖11是根據(jù)本申請實施例四的一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖;
圖12是根據(jù)本發(fā)明實施例四的另一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖;
圖13是根據(jù)本發(fā)明實施例四的又一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖;
圖14是根據(jù)本發(fā)明實施例四的再一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖;
圖15是根據(jù)本發(fā)明實施例五的虛擬加密機數(shù)據(jù)的導(dǎo)出導(dǎo)入系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
本申請涉及的技術(shù)名詞:
硬件加密機:hardwaresecuritymodule,簡稱hsm;
虛擬硬件加密機:virtualhardwaresecuritymodule,簡稱vsm。
實施例1
根據(jù)本發(fā)明實施例,還提供了一種虛擬加密機數(shù)據(jù)的導(dǎo)出方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請實施例一所提供的方法實施例可以在移動終端、計算機終端或者類似的運算裝置中執(zhí)行。以運行在計算機終端上為例,圖1是本發(fā)明實施例的一種虛擬加密機數(shù)據(jù)的導(dǎo)出方法的加密機的硬件結(jié)構(gòu)框圖。如圖1所示,加密機10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不 對上述電子裝置的結(jié)構(gòu)造成限定。例如,加密機10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲器104可用于存儲應(yīng)用軟件的軟件程序以及模塊,如本發(fā)明實施例中的虛擬加密機數(shù)據(jù)的導(dǎo)出方法對應(yīng)的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的應(yīng)用程序的漏洞檢測方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進(jìn)一步包括相對于處理器102遠(yuǎn)程設(shè)置的存儲器,這些遠(yuǎn)程存儲器可以通過網(wǎng)絡(luò)連接至加密機10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括加密機10的通信供應(yīng)商提供的無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置106包括一個網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進(jìn)行通訊。在一個實例中,傳輸裝置106可以為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
在上述運行環(huán)境下,本申請?zhí)峁┝巳鐖D2所示的虛擬加密機數(shù)據(jù)的導(dǎo)出方法。在第二加密機側(cè),圖2是根據(jù)本發(fā)明實施例一的虛擬加密機數(shù)據(jù)的導(dǎo)出方法的流程圖。
步驟s202,接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;
本申請上述步驟s202中,在第二加密機側(cè),第二加密機接收第一加密機發(fā)送的導(dǎo)出請求,其中,該導(dǎo)出請求中包括第一加密機公鑰和第一加密機數(shù)字簽名,需要說明的是本申請實施例中的第一加密機數(shù)字簽名為對應(yīng)第一加密機公鑰生成的數(shù)字簽名。在第二加密機側(cè)執(zhí)行數(shù)據(jù)導(dǎo)出將依據(jù)該第一加密機數(shù)字簽名執(zhí)行是否合法的驗證具體驗證過程見步驟s204。
具體的,本申請實施例提供的虛擬加密機數(shù)據(jù)的導(dǎo)出方法可以適用于不同廠商生產(chǎn)的加密機在進(jìn)行加密機替換時的數(shù)據(jù)導(dǎo)出過程,本申請實施例中以在第二加密機側(cè)接收第一加密機的導(dǎo)出請求為例進(jìn)行說明,其中為方便標(biāo)記,本申請實施例中的第一加密機記為hsm-b,第二加密機記為hsm-a,第一加密機公鑰記為hsm-b-publickey,第一加密機數(shù)字簽名記為hsm-b-pk-sign,虛擬加密機數(shù)據(jù)的導(dǎo)出方法所執(zhí)行信號流程為hsm-a至hsm-b。對應(yīng)步驟s202,在本申請實施例中hsm-a接收hsm-b發(fā)送的導(dǎo)出請求中,該導(dǎo)出請求包括hsm-b的hsm-b-publickey和hsm-b-pk-sign。
步驟s204,依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;
基于步驟s202中接收到的導(dǎo)出請求,本申請上述步驟s204中,第二加密機hsm-a依據(jù)預(yù)設(shè)公鑰驗證導(dǎo)出請求中的第一加密機數(shù)字簽名hsm-b-pk-sign是否合法,在本申請實施例提供的虛擬加密機數(shù)據(jù)的導(dǎo)出方法中提出一種公鑰驗證方法,其中,在第二加密機側(cè),設(shè)置預(yù)設(shè)公鑰root-publickey,第二加密機依據(jù)該root-publickey驗證接收到的第一加密機中的導(dǎo)出請求是否合法,其中,該第一加密機數(shù)字簽名用于指示第二加密機認(rèn)證該導(dǎo)出請求是否為第一加密機發(fā)送的,即,用于在第二加密機側(cè)認(rèn)證第一加密機。
步驟s206,在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文;
基于步驟s204中依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名hsm-b-pk-sign是否合法,本申請上述步驟s206中,第二加密機hsm-a在驗證該第一加密機數(shù)字簽名hsm-b-pk-sign合法的情況下,第二加密機hsm-a根據(jù)該第一加密機公鑰hsm-b-publickey和預(yù)設(shè)第二加密機密鑰參數(shù)組生成響應(yīng)報文,其中,需要說明的是,該響應(yīng)報文中包括有第二加密機hsm-a中的授權(quán)數(shù)據(jù)以及一個散列。該響應(yīng)報文可以為包含有第二加密機常用的加密規(guī)則,該加密規(guī)則的表現(xiàn)形式可以為加密或解密的密鑰。
結(jié)合步驟s202至步驟s206,本申請實施例提供的虛擬加密機數(shù)據(jù)的導(dǎo)出方法中以統(tǒng)一驗證隨機加密為原則,第二加密機hsm-a通過預(yù)設(shè)公鑰root-publickey對接收到第一加密機hsm-b發(fā)送的導(dǎo)出請求進(jìn)行是否合法的驗證,在驗證通過的情況下,第二加密機hsm-a根據(jù)第一加密機公鑰hsm-b-publickey和預(yù)設(shè)第二加密機密鑰參數(shù)組生成響應(yīng)報文,這里依據(jù)第一加密機公鑰hsm-b-publickey和第一加密機數(shù)字簽名hsm-b-pk-sign的對應(yīng)關(guān)系,通過預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名確保了在接收導(dǎo)出請求時的安全問題,當(dāng)驗證失敗時,第二加密機將刪除(或剔除,拒絕)該導(dǎo)出請求,進(jìn)一步的以第一加密機公鑰為加密密鑰加密響應(yīng)報文,以便在第一加密機hsm-b側(cè),hsm-b接收到該響應(yīng)報文后能夠依據(jù)對應(yīng)第一加密機公鑰hsm-b-publickey的第一加密機私鑰hsm-b-privatekey解密該響應(yīng)報文,達(dá)到了對跨廠商的加密機之間的數(shù)據(jù)導(dǎo)出和導(dǎo)入提供了安全保障的目的,從而實現(xiàn)了提升數(shù)據(jù)傳輸安全的技術(shù)效果。
由上可知,本申請上述實施例一所提供的方案,通過接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;依據(jù)預(yù)設(shè)公鑰 驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文,達(dá)到了對跨廠商的加密機之間的數(shù)據(jù)導(dǎo)出提供了安全保障的目的,從而實現(xiàn)了提升數(shù)據(jù)傳輸安全的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)中缺少對跨廠商的加密機的數(shù)據(jù)導(dǎo)出或?qū)胛刺岢霭踩U?,?dǎo)致的信息在傳輸?shù)倪^程中存在泄露風(fēng)險的技術(shù)問題。
可選的,在步驟s206中根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文之前,本申請實施例中虛擬加密機數(shù)據(jù)的導(dǎo)出方法還包括:
步驟s205,通過預(yù)設(shè)隨機器生成隨機對稱密鑰。
本申請上述步驟s205中,在生成響應(yīng)報文前,hsm-a通過預(yù)設(shè)隨機器生成隨機對稱密鑰,具體的,hsm-a通過隨機數(shù)發(fā)生器生成隨機對稱密鑰random-key。
進(jìn)一步地,可選的,步驟s206中根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文包括:
step1,根據(jù)第一加密機公鑰和預(yù)設(shè)第二加密機密鑰參數(shù)組生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文。
本申請上述步驟s206中的step1中,在第二加密機側(cè),第二加密機根據(jù)第一加密機公鑰和預(yù)設(shè)第二加密機密鑰參數(shù)組生成響應(yīng)報文,其中,該響應(yīng)報文對應(yīng)第一加密機發(fā)送的導(dǎo)出請求。生成響應(yīng)報文的具體步驟如下:
可選的,在預(yù)設(shè)第二加密機密鑰參數(shù)組包括隨機對稱密鑰、第二加密機中的虛擬加密機數(shù)據(jù)和第二加密機密鑰參數(shù),其中,第二加密機密鑰參數(shù)包括第二加密機私鑰、第二加密機公鑰和第二加密機數(shù)字簽名的情況下,步驟s206中的step1中根據(jù)第一加密機公鑰和預(yù)設(shè)第二加密機密鑰參數(shù)組生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文,包括:
stepa,依據(jù)隨機對稱密鑰對虛擬加密機數(shù)據(jù)進(jìn)行加密,得到待導(dǎo)出密文;
基于步驟s205中生成的隨機對稱密鑰random-key,本申請上述stepa中,在hsm-a的預(yù)設(shè)第二加密機密鑰參數(shù)組中包括隨機對稱密鑰、第二加密機中的虛擬加密機數(shù)據(jù)和第二加密機密鑰參數(shù),其中,第二加密機密鑰參數(shù)包括第二加密機私鑰、第二加密機公鑰和第二加密機數(shù)字簽名的情況下,hsm-a依據(jù)random-key對虛擬加密機數(shù)據(jù)vsm的數(shù)據(jù)進(jìn)行加密(包括授權(quán)數(shù)據(jù),其中還包括一個散列),得到待導(dǎo)出密文encrypted-secret。
stepb,依據(jù)第一加密機公鑰對隨機對稱密鑰進(jìn)行加密,得到待導(dǎo)出密鑰;
本申請上述步驟stepb中,hsm-a依據(jù)hsm-b-publickey對random-key進(jìn)行加密,得到待導(dǎo)出密鑰encrypted-key。
stepc,依據(jù)第二加密機私鑰為待導(dǎo)出密鑰生成數(shù)字簽名,得到待導(dǎo)出數(shù)字簽名;
本申請上述步驟stepc中,hsm-a依據(jù)hsm-a-privatekey對待導(dǎo)出密鑰encrypted-key進(jìn)行生成數(shù)字簽名,得待導(dǎo)出數(shù)字簽名encrypted-key-sign。
stepd,將待導(dǎo)出密文、待導(dǎo)出密鑰、待導(dǎo)出數(shù)字簽名、第二加密機公鑰和第二加密機數(shù)字簽名進(jìn)行打包,生成響應(yīng)報文。
結(jié)合步驟stepa至stepc中得到的待導(dǎo)出密文、待導(dǎo)出密鑰、待導(dǎo)出數(shù)字簽名,本申請上述步驟stepd中,hsm-a對待導(dǎo)出密文encrypted-secret、待導(dǎo)出數(shù)字簽名、待導(dǎo)出密鑰encrypted-key、待導(dǎo)出數(shù)字簽名encrypted-key-sign、第二加密機公鑰hsm-a-privatekey和第二加密機數(shù)字簽名hsm-a-pk-sign進(jìn)行打包,得到響應(yīng)報文。
可選的,在步驟s206中根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文之后,本申請實施例提供的虛擬加密機數(shù)據(jù)的導(dǎo)出方法還包括:
步驟s208,發(fā)送響應(yīng)報文。
本申請上述步驟s208中,第二加密機hsm-a向第一加密機發(fā)送該響應(yīng)報文。
綜上,圖3是根據(jù)本發(fā)明實施例一的虛擬加密機數(shù)據(jù)的導(dǎo)出方法中hsm-a和hsm-b的結(jié)構(gòu)示意圖,如圖3所示,結(jié)合步驟s202至步驟s208,本申請實施例中虛擬加密機數(shù)據(jù)的導(dǎo)出方法,其中,密鑰導(dǎo)出以hsm-a導(dǎo)到hsm-b為例,具體如下:
1.hsm-b得到hsm-b的hsm-b-publickey,hsm-b-pk-sign;
2.hsm-b向hsm-a發(fā)起導(dǎo)出請求(hsm-a需驗證管理api本身的簽名),傳入?yún)?shù)hsm-b-publickey,hsm-b-pk-sign;即,本申請實施例中接收第一加密機發(fā)送的導(dǎo)出請求。
3.hsm-a通過root-publickey驗證hsm-b-publickey的簽名信息hsm-b-pk-sign;即,本申請實施例中步驟s204中依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否合法。
4.hsm-a通過隨機數(shù)發(fā)生器生成隨機對稱密鑰random-key;即,本申請實施例中步驟s205中通過預(yù)設(shè)隨機器生成隨機對稱密鑰。
5.hsm-a通過random-key對vsm的數(shù)據(jù)進(jìn)行加密(包括授權(quán)數(shù)據(jù),其中還包括一個散列),密文為encrypted-secret;即,本申請實施例中步驟s206中的step1中的 stepa。
6.hsm-a通過hsm-b-publickey對random-key進(jìn)行加密,密文為encrypted-key;即,本申請實施例中步驟s206中的step2中的stepb。
7.hsm-a通過hsm-a-privatekey對encrypted-key進(jìn)行數(shù)字簽名,得encrypted-key-sign;即,本申請實施例中步驟s206中的step3中的stepc。
8.hsm-a把待導(dǎo)出密文encrypt-secret,待導(dǎo)出密鑰encrypted-key,待導(dǎo)出數(shù)字簽名encrypted-key-sign,第二加密機公鑰hsm-a-publickey和第二加密機數(shù)字簽名hsm-a-pk-sign通過管理api返回。即,本申請實施例中步驟s206中的step4中的stepd。
實施例2
本申請?zhí)峁┝巳鐖D4所示的虛擬加密機數(shù)據(jù)的導(dǎo)入方法。在第一加密機側(cè),圖4是根據(jù)本發(fā)明實施例二的虛擬加密機數(shù)據(jù)的導(dǎo)入方法的流程圖。
步驟s402,接收響應(yīng)報文;
本申請上述步驟s402中,對應(yīng)實施例1中的虛擬加密機數(shù)據(jù)的導(dǎo)出,在第一加密機側(cè),第一加密機記為hsm-b,第二加密機記為hsm-a,hsm-b接收第二加密機hsm-a發(fā)送的響應(yīng)報文。
步驟s404,解析響應(yīng)報文,獲取響應(yīng)報文中的第二加密機密鑰參數(shù);
基于步驟s402中接收到的響應(yīng)報文,本申請上述步驟s404中,hsm-b解析接收到的響應(yīng)報文,得到響應(yīng)報文中hsm-a中的第二加密機密鑰參數(shù),其中,該第二加密機密鑰參數(shù)可以包括:第二加密機公鑰hsm-a-publickey和第二加密機數(shù)字簽名hsm-a-pk-sign,在得到上述第二加密機密鑰參數(shù)后,hsm-b將依據(jù)第二加密機密鑰參數(shù)對響應(yīng)報文是否合法進(jìn)行驗證,具體驗證過程見步驟s406。
步驟s406,依據(jù)第二加密機密鑰參數(shù)驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文;
本申請上述步驟s406中,hsm-b依據(jù)hsm-a的第二加密機密鑰參數(shù)驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文。
具體的,對應(yīng)實施例1中的驗證方法,在第一加密機側(cè),即,hsm-b側(cè)將依據(jù)與hsm-a相同的預(yù)設(shè)公鑰root-publickey對響應(yīng)報文是否合法進(jìn)行驗證,這里本申請實 施例中的“合法”用于驗證過程中,且用于確定當(dāng)前所接收的消息是否來源于第二加密機側(cè)。
步驟s408,在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文。
基于步驟s406中對響應(yīng)報文的合法性的驗證,本申請上述步驟s408中,在hsm-b驗證該響應(yīng)報文合法的情況下,將導(dǎo)入該響應(yīng)報文。
由上可知,本申請上述實施例一所提供的方案,通過接收響應(yīng)報文;解析響應(yīng)報文,獲取響應(yīng)報文中的預(yù)設(shè)第二加密機密鑰參數(shù)組;依據(jù)預(yù)設(shè)第二加密機密鑰參數(shù)組驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文;在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文,達(dá)到了對跨廠商的加密機之間的數(shù)據(jù)導(dǎo)入提供了安全保障的目的,從而實現(xiàn)了提升數(shù)據(jù)傳輸安全的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)中缺少對跨廠商的加密機的數(shù)據(jù)導(dǎo)出或?qū)胛刺岢霭踩U?,?dǎo)致的信息在傳輸?shù)倪^程中存在泄露風(fēng)險的技術(shù)問題。
可選的,步驟s404中解析響應(yīng)報文包括:
step1,解析響應(yīng)報文,得到響應(yīng)報文中的待導(dǎo)出密文、待導(dǎo)出密鑰和待導(dǎo)出數(shù)字簽名。
本申請上述步驟s404中的step1中,第一加密機hsm-b在解析響應(yīng)報文的過程中將得到響應(yīng)報文中的待導(dǎo)出密文、待導(dǎo)出密鑰和待導(dǎo)出數(shù)字簽名,即,待導(dǎo)出密文encrypted-secret、待導(dǎo)出數(shù)字簽名、待導(dǎo)出密鑰encrypted-key、待導(dǎo)出數(shù)字簽名encrypted-key-sign。
進(jìn)一步地,可選的,在第二加密機密鑰參數(shù)包括第二加密機公鑰和第二加密機數(shù)字簽名的情況下,步驟s406中依據(jù)第二加密機密鑰參數(shù)驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文包括:
step1,依據(jù)預(yù)設(shè)公鑰驗證第二加密機數(shù)字簽名是否為第二加密機生成的數(shù)字簽名;
本申請上述步驟s406中的step1中,在第二加密機密鑰參數(shù)包括第二加密機公鑰hsm-a-publickey和第二加密機數(shù)字簽名hsm-a-pk-sign的情況下,hsm-b依據(jù)預(yù)設(shè)公鑰root-publickey驗證hsm-a-publickey的第二加密機數(shù)字簽名hsm-a-pk-sign。
step2,在驗證結(jié)果為合法的情況下,依據(jù)第二加密機公鑰驗證待導(dǎo)出密鑰的待導(dǎo)出數(shù)字簽名是否為第二加密機生成的待導(dǎo)出數(shù)字簽名。
基于step1中對第二加密機數(shù)字簽名hsm-a-pk-sign的驗證,本申請上述步驟 step2中,hsm-b在驗證結(jié)果為第二加密機數(shù)字簽名hsm-a-pk-sign合法的情況下,hsm-b驗證待導(dǎo)出密鑰encrypted-key的待導(dǎo)出數(shù)字簽名encrypted-key-sign。
可選的,步驟s408中在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文包括:
step1,在驗證結(jié)果為待導(dǎo)出密鑰的待導(dǎo)出數(shù)字簽名為第二加密機生成的待導(dǎo)出數(shù)字簽名的情況下,通過第一加密機私鑰對待導(dǎo)出密鑰進(jìn)行解密,得到隨機對稱密鑰;
基于步驟s406中step2中對待導(dǎo)出數(shù)字簽名encrypted-key-sign的驗證,本申請上述步驟s408中的step1中,hsm-b在驗證結(jié)果為encrypted-key-sign合法的情況下,hsm-b通過第一加密機私鑰hsm-b-privatekey對待導(dǎo)出密鑰encrypted-key進(jìn)行解密,得到隨機對稱密鑰random-key。
其中,需要說明的是對應(yīng)實施例1中第二加密機hsm-a依據(jù)hsm-b-publickey對隨機隊稱密鑰random-key進(jìn)行加密得到待導(dǎo)出密鑰encrypted-key,本申請實施例中在第一加密機hsm-b側(cè),將通過hsm-b-privatekey對應(yīng)的對encrypted-key進(jìn)行解密得到隨機對稱密鑰random-key,即,結(jié)合實施例1的虛擬加密機數(shù)據(jù)的導(dǎo)出方法,本申請實施例通過的虛擬加密機數(shù)據(jù)的導(dǎo)入方法使用公鑰加密私鑰解密的方法確保加密機中的密鑰的安全性。
step2,依據(jù)隨機對稱密鑰解密待導(dǎo)出密文,得到第二加密機中的虛擬加密機數(shù)據(jù);
基于step1中得到的random-key,本申請上述步驟step2中,hsm-b依據(jù)random-key解密待導(dǎo)出密文encrypted-secret,得到第二加密機hsm-a中的虛擬加密機數(shù)據(jù)vsm數(shù)據(jù)。
step3,導(dǎo)入虛擬加密機數(shù)據(jù)。
基于step2中得到的vsm數(shù)據(jù),本申請上述步驟step3中,hsm-b導(dǎo)入vsm數(shù)據(jù)。
可選的,在步驟s408中step3中的導(dǎo)入虛擬加密機數(shù)據(jù)之前,本申請實施例提供的虛擬加密機數(shù)據(jù)的導(dǎo)入方法還包括:
step2’,檢測虛擬加密機數(shù)據(jù)是否正確;
本申請上述步驟s408中的step2’中,在hsm-b導(dǎo)入vsm數(shù)據(jù)之前,需要對vsm數(shù)據(jù)進(jìn)行檢測,檢測該vsm數(shù)據(jù)是否正確。若檢測結(jié)果為vsm數(shù)據(jù)正確,則導(dǎo)入該vsm數(shù)據(jù),若不正確,則執(zhí)行step3’。
step3’,在檢測結(jié)果為否的情況下,校正虛擬加密機數(shù)據(jù),得到校正后的虛擬加 密機數(shù)據(jù)。
基于step2’中的檢測,本申請上述步驟step3’中,在檢測結(jié)果為vsm數(shù)據(jù)不正確的情況下,hsm-b校正vsm數(shù)據(jù),得到校正后的vsm數(shù)據(jù)。其中,hsm-b校正vsm數(shù)據(jù)的過程可以為檢查vsm數(shù)據(jù)中的散列是否正確。
綜上,結(jié)合步驟s402至步驟s408,本申請實施例中的虛擬加密機數(shù)據(jù)的導(dǎo)入方法具體如下:當(dāng)hsm-a發(fā)送響應(yīng)報文時,在hsm-b側(cè):
1.hsm-a向hsm-b發(fā)起導(dǎo)入請求,包括encrypted-key,encrypt-secret,encrypted-key-sign,hsm-a-publickey,hsm-a-pk-sign;即,本申請實施例中第二加密機接收第一加密機發(fā)送的響應(yīng)報文;
2.通過root-publickey驗證hsm-a-publickey的簽名信息hsm-a-pk-sign;
3.通過hsm-a-publickey驗證encrypted-key的簽名信息encrypted-key-sign;上述步驟2和3,即,本申請實施例中第二加密機解析響應(yīng)報文,獲取響應(yīng)報文中的預(yù)設(shè)第二加密機密鑰參數(shù)組。
4.通過hsm-b-privatekey對encrypted-key解密,得到random-key;即,本申請實施例步驟s408中的step1。
5.通過random-key解密encrypted-secret,并檢查散列是否正確;即,本申請實施例步驟s408中的step2’。
6.導(dǎo)入vsm數(shù)據(jù)(包括覆蓋授權(quán)數(shù)據(jù));即,本申請實施例步驟s408中的step3’。
對應(yīng)實施例1中的第二加密機,實施例2中的第一加密機與第二加密機在實現(xiàn)虛擬加密機數(shù)據(jù)的導(dǎo)出或?qū)敕椒ǖ倪^程中,若第一加密機向第二加密機導(dǎo)出vsm數(shù)據(jù),則第一加密機可以適用于實施例1中的導(dǎo)出方法。同理,第二加密機導(dǎo)入第一加密機導(dǎo)出的vsm時,可以適用于實施例2中的導(dǎo)入方法。
結(jié)合實施例1和實施例2的虛擬加密機數(shù)據(jù)的導(dǎo)出或?qū)敕椒?,圖5是根據(jù)本發(fā)明實施例二的虛擬加密機數(shù)據(jù)的導(dǎo)出和導(dǎo)入方法的流程圖。如圖5所示,虛擬加密機數(shù)據(jù)的導(dǎo)出和導(dǎo)入方法具體如下:
1.hsm-b得到hsm-b的hsm-b-publickey,hsm-b-pk-sign;
2.hsm-b向hsm-a發(fā)起導(dǎo)出請求(hsm-a需驗證管理api本身的簽名),傳入?yún)?shù)hsm-b-publickey,hsm-b-pk-sign。
3.hsm-a通過root-publickey驗證hsm-b-publickey的簽名信息 hsm-b-pk-sign。
4.hsm-a通過隨機數(shù)發(fā)生器生成隨機對稱密鑰random-key。
5.hsm-a通過random-key對vsm的數(shù)據(jù)進(jìn)行加密(包括授權(quán)數(shù)據(jù),其中還包括一個散列),密文為encrypted-secret。
6.hsm-a通過hsm-b-publickey對random-key進(jìn)行加密,密文為encrypted-key。
7.hsm-a通過hsm-a-privatekey對encrypted-key進(jìn)行數(shù)字簽名,得encrypted-key-sign。
8.hsm-a把待導(dǎo)出密文encrypt-secret,待導(dǎo)出密鑰encrypted-key,待導(dǎo)出數(shù)字簽名encrypted-key-sign,第二加密機公鑰hsm-a-publickey和第二加密機數(shù)字簽名hsm-a-pk-sign通過管理api返回。
9.hsm-a向hsm-b發(fā)起導(dǎo)入請求,包括encrypted-key,encrypt-secret,encrypted-key-sign,hsm-a-publickey,hsm-a-pk-sign;
10.hsm-b通過root-publickey驗證hsm-a-publickey的簽名信息hsm-a-pk-sign。
11.hsm-b通過hsm-a-publickey驗證encrypted-key的簽名信息encrypted-key-sign。
12.hsm-b通過hsm-b-privatekey對encrypted-key解密,得到random-key。
13.hsm-b通過random-key解密encrypted-secret,并檢查散列是否正確。
14.hsm-b導(dǎo)入vsm數(shù)據(jù)(包括覆蓋授權(quán)數(shù)據(jù))。
綜上,結(jié)合實施例1的導(dǎo)出方法和實施例2的導(dǎo)入方法,本申請另一實施例提供的一種虛擬加密機數(shù)據(jù)的處理方法,包括:
step1,接收第一加密機發(fā)送的數(shù)據(jù)處理請求,其中,數(shù)據(jù)處理請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;
本申請上述步驟step1中,第二加密機接收第一加密機發(fā)送的數(shù)據(jù)處理請求,其中,該數(shù)據(jù)處理請求可以為數(shù)據(jù)導(dǎo)入請求,或數(shù)據(jù)導(dǎo)出請求。
step2,依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名的是否為第一加密機生成的數(shù)字簽名;
本申請上述步驟step2中,第二加密機依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名的 是否為第一加密機生成的數(shù)字簽名。
step3,在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰進(jìn)行數(shù)據(jù)處理。
本申請上述步驟step3中,在依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名為第一加密機生成的數(shù)字簽名的情況下,第二加密機將根據(jù)第一加密機公鑰進(jìn)行數(shù)據(jù)處理。
結(jié)合上述步驟step1至step3,在數(shù)據(jù)處理請求存在以下兩種情況下,以第一加密機向第二加密機請求數(shù)據(jù)導(dǎo)出,第一加密機導(dǎo)入第二加密機返回的數(shù)據(jù)為例,本申請另一實施例提供的虛擬加密機數(shù)據(jù)的處理方法具體如下:
情況一:當(dāng)數(shù)據(jù)處理請求為數(shù)據(jù)導(dǎo)出請求時:
第二加密機接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文。
情況二:當(dāng)數(shù)據(jù)處理請求為數(shù)據(jù)導(dǎo)入請求時:
第一加密機接收響應(yīng)報文;解析響應(yīng)報文,獲取響應(yīng)報文中的預(yù)設(shè)第二加密機密鑰參數(shù)組;依據(jù)第二加密機密鑰參數(shù)驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文;在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文。
由上可知,本申請實施中上述第一加密機和第二加密機可以互相作為數(shù)據(jù)的導(dǎo)出端和導(dǎo)入端,本申請實施例僅以第一加密機向第二加密機請求數(shù)據(jù)導(dǎo)出,第一加密機導(dǎo)入第二加密機返回的數(shù)據(jù)為例進(jìn)行說明,以實現(xiàn)本申請實施例提供的虛擬加密機數(shù)據(jù)的處理方法為準(zhǔn),具體不做限定。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的虛擬加密機數(shù)據(jù)的導(dǎo)出方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干 指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例3
根據(jù)本申請實施例,還提供了一種用于實施虛擬加密機數(shù)據(jù)的導(dǎo)出方法實施例的裝置實施例,在第二加密機側(cè),本申請上述實施例所提供的裝置可以在加密機上運行。
圖6是根據(jù)本發(fā)明實施例三的虛擬加密機數(shù)據(jù)的導(dǎo)出裝置的結(jié)構(gòu)示意圖。
如圖6所示,該虛擬加密機數(shù)據(jù)的導(dǎo)出裝置包括:接收模塊62、驗證模塊64和報文生成模塊66。
其中,接收模塊62,用于接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;驗證模塊64,用于依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;報文生成模塊66,用于在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文。
由上可知,本申請上述實施例三所提供的方案,通過接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文,達(dá)到了對跨廠商的加密機之間的數(shù)據(jù)導(dǎo)出提供了安全保障的目的,從而實現(xiàn)了提升數(shù)據(jù)傳輸安全的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)中缺少對跨廠商的加密機的數(shù)據(jù)導(dǎo)出或?qū)胛刺岢霭踩U希瑢?dǎo)致的信息在傳輸?shù)倪^程中存在泄露風(fēng)險的技術(shù)問題。
此處需要說明的是,上述接收模塊62、驗證模塊64和報文生成模塊66對應(yīng)于實施例一中的步驟s202至步驟s206,三個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的加密機10中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
可選的,圖7是根據(jù)本發(fā)明實施例三的一種虛擬加密機數(shù)據(jù)的導(dǎo)出裝置的結(jié)構(gòu)示意圖。如圖7所示,本申請實施例中虛擬加密機數(shù)據(jù)的導(dǎo)出裝置還包括:密鑰生成模塊65。
其中,密鑰生成模塊65,用于在根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文之前,通過預(yù)設(shè)隨機器生成隨機對稱密鑰。
此處需要說明的是,上述密鑰生成模塊65對應(yīng)于實施例一中的步驟s205,該模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的加密機10中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
進(jìn)一步地,可選的,圖8是根據(jù)本發(fā)明實施例三的另一種虛擬加密機數(shù)據(jù)的導(dǎo)出裝置的結(jié)構(gòu)示意圖。如圖8所示,報文生成模塊66包括:報文生成單元661。
其中,報文生成單元661,用于根據(jù)所述第一加密機公鑰和預(yù)設(shè)第二加密機密鑰參數(shù)組生成與所述導(dǎo)出請求相應(yīng)的響應(yīng)報文。
此處需要說明的是,上述報文生成單元661對應(yīng)于實施例一中的步驟s206中的step1,該模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的加密機10中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
可選的,圖9是根據(jù)本發(fā)明實施例三的又一種虛擬加密機數(shù)據(jù)的導(dǎo)出裝置的結(jié)構(gòu)示意圖。如圖9所示,報文生成單元661包括:第一加密子單元6611、第二加密子單元6612、數(shù)字簽名生成子單元6613和報文生成子單元6614。
其中,第一加密子單元6611,用于在預(yù)設(shè)第二加密機密鑰參數(shù)組包括隨機對稱密鑰、第二加密機中的虛擬加密機數(shù)據(jù)和第二加密機密鑰參數(shù),其中,第二加密機密鑰參數(shù)包括第二加密機私鑰、第二加密機公鑰和第二加密機數(shù)字簽名的情況下,依據(jù)隨機對稱密鑰對虛擬加密機數(shù)據(jù)進(jìn)行加密,得到待導(dǎo)出密文;第二加密子單元6612,用于依據(jù)第一加密機公鑰對隨機對稱密鑰進(jìn)行加密,得到待導(dǎo)出密鑰;數(shù)字簽名生成子單元6613,用于依據(jù)第二加密機私鑰為待導(dǎo)出密鑰生成數(shù)字簽名,得到待導(dǎo)出數(shù)字簽名;報文生成子單元6614,用于將待導(dǎo)出密文、待導(dǎo)出密鑰、待導(dǎo)出數(shù)字簽名、第二加密機公鑰和第二加密機數(shù)字簽名進(jìn)行打包,生成響應(yīng)報文。
此處需要說明的是,上述第一加密子單元6611、第二加密子單元6612、數(shù)字簽名生成子單元6613和報文生成子單元6614對應(yīng)于實施例一中的步驟s206中的step1中的stepa至stepd,四個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的加密機10中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
可選的,本申請實施例提供的虛擬加密機數(shù)據(jù)的導(dǎo)出裝置還包括:發(fā)送模塊。
其中,發(fā)送模塊,用于在根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文之后,發(fā)送響應(yīng)報文。
此處需要說明的是,上述發(fā)送模塊對應(yīng)于實施例一中的步驟s208,該模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例一提供的加密機10中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
實施例4
根據(jù)本申請實施例,還提供了一種用于實施虛擬加密機數(shù)據(jù)的導(dǎo)入方法實施例的裝置實施例,在第一加密機側(cè),本申請上述實施例所提供的裝置可以在加密機上運行。
圖10是根據(jù)本發(fā)明實施例四的虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖。
如圖10所示,該虛擬加密機數(shù)據(jù)的導(dǎo)入裝置包括:報文接收模塊1002、解析模塊1004、報文驗證模塊1006和導(dǎo)入模塊1008。
其中,報文接收模塊1002,用于接收響應(yīng)報文;解析模塊1004,用于解析響應(yīng)報文,獲取響應(yīng)報文中的第二加密機密鑰參數(shù);報文驗證模塊1006,用于依據(jù)第二加密機密鑰參數(shù)驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文;導(dǎo)入模塊1008,用于在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文。
由上可知,本申請上述實施例四所提供的方案,通過接收響應(yīng)報文;解析響應(yīng)報文,獲取響應(yīng)報文中的預(yù)設(shè)第二加密機密鑰參數(shù)組;依據(jù)第二加密機密鑰參數(shù)驗證響應(yīng)報文是否為第二加密機生成的響應(yīng)報文;在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文,達(dá)到了對跨廠商的加密機之間的數(shù)據(jù)導(dǎo)入提供了安全保障的目的,從而實現(xiàn)了提升數(shù)據(jù)傳輸安全的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)中缺少對跨廠商的加密機的數(shù)據(jù)導(dǎo)出或?qū)胛刺岢霭踩U希瑢?dǎo)致的信息在傳輸?shù)倪^程中存在泄露風(fēng)險的技術(shù)問題。
此處需要說明的是,上述報文接收模塊1002、解析模塊1004、報文驗證模塊1006和導(dǎo)入模塊1008對應(yīng)于實施例二中的步驟s402至步驟s408,四個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例二所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例二提供的加密機中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
可選的,圖11是根據(jù)本發(fā)明實施例四的一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖。如圖11所示,解析模塊1004包括:解析單元10041。
其中,解析單元10041,用于解析響應(yīng)報文,得到響應(yīng)報文中的待導(dǎo)出密文、待導(dǎo)出密鑰和待導(dǎo)出數(shù)字簽名。
此處需要說明的是,上述解析單元10041對應(yīng)于實施例二中的步驟s404中的step1,該模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例二所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例二提供的加密機中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
可選的,圖12是根據(jù)本發(fā)明實施例四的另一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖。如圖12所示,報文驗證模塊1006包括:第一驗證單元10061和第二驗證單元10062。
其中,第一驗證單元10061,用于在第二加密機密鑰參數(shù)包括第二加密機公鑰和第二加密機數(shù)字簽名的情況下,依據(jù)預(yù)設(shè)公鑰驗證第二加密機數(shù)字簽名是否合法;第二驗證單元10062,用于在驗證結(jié)果為合法的情況下,依據(jù)第二加密機公鑰驗證待導(dǎo)出密鑰的待導(dǎo)出數(shù)字簽名是否合法。
此處需要說明的是,上述第一驗證單元10061和第二驗證單元10062對應(yīng)于實施例二中的步驟s406中的step1和step2,兩個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例二所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例二提供的加密機中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
可選的,圖13是根據(jù)本發(fā)明實施例四的又一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖。如圖13所示,導(dǎo)入模塊1008包括:第一解密單元10081、第二解密單元10082和數(shù)據(jù)導(dǎo)入模塊10083。
其中,第一解密單元10081,用于在驗證結(jié)果為待導(dǎo)出密鑰的待導(dǎo)出數(shù)字簽名合法的情況下,通過第一加密機私鑰對待導(dǎo)出密鑰進(jìn)行解密,得到隨機對稱密鑰;第二解密單元10082,用于依據(jù)隨機對稱密鑰解密待導(dǎo)出密文,得到第二加密機中的虛擬加密機數(shù)據(jù);數(shù)據(jù)導(dǎo)入模塊10083,用于導(dǎo)入虛擬加密機數(shù)據(jù)。
此處需要說明的是,上述導(dǎo)入模塊1008包括:第一解密單元10081、第二解密單元10082和數(shù)據(jù)導(dǎo)入模塊10083對應(yīng)于實施例二中的步驟s408中的step1至step3,三個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例二所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例二提供的加密機中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
進(jìn)一步地,可選的,圖14是根據(jù)本發(fā)明實施例四的再一種虛擬加密機數(shù)據(jù)的導(dǎo)入裝置的結(jié)構(gòu)示意圖。如圖14所示,本申請實施例提供的虛擬加密機數(shù)據(jù)的導(dǎo)入裝置還包括:檢測單元10082’和校正單元10083’。
其中,檢測單元10082’,用于在導(dǎo)入虛擬加密機數(shù)據(jù)之前,檢測虛擬加密機數(shù)據(jù)是否正確;校正單元10083’,用于在檢測結(jié)果為否的情況下,校正虛擬加密機數(shù)據(jù),得到校正后的虛擬加密機數(shù)據(jù)。
此處需要說明的是,上述檢測單元882’和校正單元883’對應(yīng)于實施例二中的步驟s408中的step2’和step3’,兩個模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例二所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在實施例二提供的加密機中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
實施例5
根據(jù)本申請實施例,還提供了一種用于實施虛擬加密機數(shù)據(jù)的導(dǎo)出或?qū)敕椒▽嵤├南到y(tǒng)實施例,圖15是根據(jù)本發(fā)明實施例五的虛擬加密機數(shù)據(jù)的導(dǎo)出導(dǎo)入系統(tǒng)的結(jié)構(gòu)示意圖。
如圖15所示,該虛擬加密機數(shù)據(jù)的導(dǎo)出導(dǎo)入系統(tǒng)包括:第一加密機1501和第二加密機1502,第一加密機1501和第二加密機1502通信連接,其中,第二加密機1502接收第一加密機1501發(fā)送的導(dǎo)出請求,依據(jù)預(yù)設(shè)公鑰驗證導(dǎo)出請求中第一加密機數(shù)字簽名是否合法,在驗證結(jié)果為合法的情況下,依據(jù)導(dǎo)出請求中第一加密機公鑰和預(yù)設(shè)第二加密機密鑰參數(shù)組生成響應(yīng)報文,并將響應(yīng)報文發(fā)送至第一加密機1501;第一加密機1501接收第二加密機1502發(fā)送的響應(yīng)報文,通過解析響應(yīng)報文,獲取響應(yīng)報文中預(yù)設(shè)第二加密機密鑰參數(shù)組,并依據(jù)預(yù)設(shè)第二加密機密鑰參數(shù)組驗證響應(yīng)報文是否合法,在驗證結(jié)果為是的情況下,導(dǎo)入響應(yīng)報文;
其中,第二加密機1502為圖6至圖9中任一所示的虛擬加密機數(shù)據(jù)的導(dǎo)出裝置;
第一加密機1501為圖10至圖14中任一所示的虛擬加密機數(shù)據(jù)的導(dǎo)入裝置。
由上可知,本申請上述實施例五所提供的方案,通過接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否合法;在驗證結(jié)果為合法的情況下,根據(jù)第一加密機公鑰和預(yù)設(shè)第二加密機密鑰參數(shù)組生成響應(yīng)報文,達(dá)到了對跨廠商的加密機之間的數(shù)據(jù)導(dǎo)出和導(dǎo)入提供了安全保障的目的,從而實現(xiàn)了提升數(shù)據(jù)傳輸安全的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)中缺少對跨廠商的加密機的數(shù)據(jù)導(dǎo)出或?qū)胛刺岢霭踩U?,?dǎo)致的信息在傳輸?shù)倪^程中存在泄露風(fēng)險的技術(shù)問題。
實施例6
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一所提供的虛擬加密機數(shù)據(jù)的導(dǎo)出方法所執(zhí)行的程序代碼。
可選地,在本實施例中,上述存儲介質(zhì)可以位于計算機網(wǎng)絡(luò)中計算機終端群中的任意一個計算機終端中,或者位于移動終端群中的任意一個移動終端中。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:接收第一加密機發(fā)送的導(dǎo)出請求,其中,導(dǎo)出請求包括:第一加密機公鑰和第一加密機數(shù)字簽名;依據(jù)預(yù)設(shè)公鑰驗證第一加密機數(shù)字簽名是否為第一加密機生成的數(shù)字簽名;在驗證結(jié)果為是的情況下,根據(jù)第一加密機公鑰生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:通過預(yù)設(shè)隨機器生成隨機對稱密鑰。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:根據(jù)第一加密機公鑰和預(yù)設(shè)第二加密機密鑰參數(shù)組生成與導(dǎo)出請求相應(yīng)的響應(yīng)報文。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:依據(jù)隨機對稱密鑰對虛擬加密機數(shù)據(jù)進(jìn)行加密,得到待導(dǎo)出密文;依據(jù)第一加密機公鑰對隨機對稱密鑰進(jìn)行加密,得到待導(dǎo)出密鑰;依據(jù)第二加密機私鑰為待導(dǎo)出密鑰生成數(shù)字簽名,得到待導(dǎo)出數(shù)字簽名;將待導(dǎo)出密文、待導(dǎo)出密鑰、待導(dǎo)出數(shù)字簽名、第二加密機公鑰和第二加密機數(shù)字簽名進(jìn)行打包,生成響應(yīng)報文。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:發(fā)送響應(yīng)報文。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。