通訊方法、系統(tǒng)、pci密碼卡和遠(yuǎn)程管理介質(zhì)的制作方法
【專利摘要】本發(fā)明涉及一種通訊方法及系統(tǒng)、PCI密碼卡和遠(yuǎn)程管理介質(zhì),其中一種通訊方法,其應(yīng)用于PCI密碼卡中,包括以下步驟:步驟1:接收外部調(diào)用指令,根據(jù)調(diào)用指令發(fā)送建立通訊請求到遠(yuǎn)程管理介質(zhì),與遠(yuǎn)程管理介質(zhì)建立通訊;步驟2:啟動安全通訊協(xié)議,根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì);步驟3:接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;步驟4:對處理結(jié)果進(jìn)行驗證,當(dāng)驗證通過,則PCI密碼卡和遠(yuǎn)程管理介質(zhì)結(jié)束通訊。解決了支持虛擬化PCI密碼卡的權(quán)限控制、密鑰管理的安全性問題;并保證通訊雙方能夠抵御重放攻擊。
【專利說明】
通訊方法、系統(tǒng)、PC I密碼卡和遠(yuǎn)程管理介質(zhì)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種通訊方法、系統(tǒng)、PCI密碼卡和遠(yuǎn)程管理介質(zhì),屬于信息安全領(lǐng)域。
【背景技術(shù)】
[0002]國產(chǎn)商用密碼產(chǎn)品的開發(fā)和應(yīng)用距今已有十多年的歷史,國內(nèi)商用密碼技術(shù)也有了較大發(fā)展,集成電路在密碼技術(shù)方面的應(yīng)用也取得了長足的進(jìn)步。國產(chǎn)密碼芯片的出現(xiàn)和發(fā)展為商用密碼技術(shù)硬件化提供了基礎(chǔ)和保障,有效提高了密碼設(shè)備的處理能力和安全性。
[0003]商用對稱密碼體系方面,我國發(fā)布了 SSF33,SM1,SM4等商用密碼算法以及相應(yīng)的算法處理芯片,并且已經(jīng)得到了廣泛的應(yīng)用。公鑰算法基本還是RSA-2048獨撐局面,但隨著計算機技術(shù)的飛速發(fā)展,已經(jīng)有越來越多的人開始擔(dān)憂RSA-2048算法的安全性問題。
[0004]1985年有人提出了利用橢圓曲線上離散對數(shù)代替有限域上離散對數(shù),即橢圓曲線密碼體制。橢圓曲線密碼體制ECC是基于有限域上橢圓曲線的離散對數(shù)計算的困難性,具有較RSA-2048更高的安全強度,并且橢圓曲線算法的實現(xiàn)比RSA-2048算法要快得多。在美國,基于ECC的ECDSA簽名算法早在1999年成為ANSI標(biāo)準(zhǔn),支持國產(chǎn)ECC標(biāo)準(zhǔn)SM2橢圓曲線算法的芯片是在2008年出現(xiàn),2009年開始有KEY、PCI密碼卡、密碼機等產(chǎn)品出現(xiàn),同時國家密碼管理局組織相關(guān)成員單位搭建CA試驗系統(tǒng)。這說明國內(nèi)ECC應(yīng)用條件已經(jīng)逐漸成熟,并且在有些封閉系統(tǒng)中已經(jīng)開始部署。
[0005]目前PKI已經(jīng)是密碼應(yīng)用的基礎(chǔ),在許多的行業(yè)和領(lǐng)域內(nèi)都離不開PKI的支持與保障,當(dāng)前的PKI體系基本正在從RSA-2048算法向SM2公鑰算法過渡。PCI密碼卡做為最底層的硬件加密模塊,這場變革首當(dāng)其沖。
[0006]目前的PCI密碼卡的權(quán)限控制大多基于對稱算法的體制,基于PCI密碼卡硬件連接智能IC卡片或USB key的模式,這種應(yīng)用模式越發(fā)的滿足不了客戶的應(yīng)用需求。如:安裝PCI密碼卡的服務(wù)器機房,距離工作崗位較遠(yuǎn),每次對PCI密碼卡進(jìn)行管理時,都要過去插接IC卡片或USB key十分的不方便且將來支持虛擬化的PCI密碼卡會出現(xiàn),應(yīng)用PCI密碼卡的用戶可能在外地,因此隨著技術(shù)的不斷變革這種基于對稱算法管理機制和硬件連接PCI密碼卡的權(quán)限控制模式將會被淘汰。
【發(fā)明內(nèi)容】
[0007]本發(fā)明所要解決的技術(shù)問題是提供一種基于SM2密碼算法作為權(quán)限控制的基本算法,設(shè)計了一套安全通訊協(xié)議的通訊方法及系統(tǒng)、PCI密碼卡和遠(yuǎn)程管理介質(zhì)。
[0008]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種通訊方法,其應(yīng)用于PCI密碼卡中,包括以下步驟:
[0009]步驟1:接收外部調(diào)用指令,根據(jù)調(diào)用指令發(fā)送建立通訊請求到遠(yuǎn)程管理介質(zhì),與遠(yuǎn)程管理介質(zhì)建立通訊;
[0010]步驟2:啟動安全通訊協(xié)議,根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì);
[0011]步驟3:接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;
[0012]步驟4:對處理結(jié)果進(jìn)行驗證,當(dāng)驗證通過,則PCI密碼卡和遠(yuǎn)程管理介質(zhì)結(jié)束通訊;否則,拋棄所述處理結(jié)果,結(jié)束通訊。
[0013]本發(fā)明的有益效果是:本發(fā)明可以解決支持虛擬化PCI密碼卡的權(quán)限控制、密鑰管理的安全性問題;使用會話身份號并結(jié)合簽名機制,確保通訊雙方能夠抵御重放攻擊;同時解決了對PCI密碼卡進(jìn)行管理時,需要插接外部管理介質(zhì)的問題,通過遠(yuǎn)程管理介質(zhì),可以實現(xiàn)對PCI密碼卡的遠(yuǎn)程管理。
[0014]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0015]進(jìn)一步,所述步驟I還包括,與遠(yuǎn)程管理介質(zhì)開始建立通訊后,接收遠(yuǎn)程管理介質(zhì)發(fā)送的公鑰并保存,所述公鑰與遠(yuǎn)程管理介質(zhì)內(nèi)的私鑰相對應(yīng)。
[0016]采用上述進(jìn)一步方案的有益效果是,PCI密碼卡和遠(yuǎn)程管理介質(zhì)之間采用對應(yīng)的公鑰和私鑰進(jìn)行標(biāo)識身份,防止出現(xiàn)通訊連接出錯的問題,保證通訊方向正確。
[0017]進(jìn)一步,所述公鑰為SM2秘鑰的公鑰,所述私鑰為SM2秘鑰的私鑰。
[0018]采用上述進(jìn)一步方案的有益效果是,SM2是國家密碼管理局于2010年12月17日發(fā)布的橢圓曲線公鑰密碼算法,使用SM2密碼算法的效果優(yōu)于現(xiàn)有其他密碼算法。
[0019]進(jìn)一步,所述步驟2具體包括以下內(nèi)容:
[0020]啟動安全通訊協(xié)議,產(chǎn)生會話身份號和第一隨機數(shù);
[0021]根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊內(nèi)容、會話身份號和第一隨機數(shù)得到封裝后的通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì)。
[0022]采用上述進(jìn)一步方案的有益效果是,使用會話身份號使通訊雙方能夠抵御重放攻擊,而通過命令碼進(jìn)行封裝的方式,防止通訊內(nèi)容被其他不法手段截獲,沒有對應(yīng)命令碼即使截獲也無法獲取其中內(nèi)容。
[0023]進(jìn)一步,所述產(chǎn)生會話身份號和第一隨機數(shù)保存在PCI密碼卡的RAM中;當(dāng)啟動安全通訊協(xié)議或通訊結(jié)束時,PCI密碼卡的RAM執(zhí)行更新,重新產(chǎn)生會話身份號和第一隨機數(shù)替換RAM中保存的會話身份號和第一隨機數(shù)。
[0024]采用上述進(jìn)一步方案的有益效果是,將會話身份號和第一隨機數(shù)保存在PCI密碼卡的RAM中,當(dāng)啟動安全通訊協(xié)議或通訊結(jié)束時,PCI密碼卡的RAM執(zhí)行更新,保證了在一次通訊中會話身份號和第一隨機數(shù)不變,維持了通訊的唯一性,不會出現(xiàn)交叉或出錯的情況。
[0025]進(jìn)一步,所述步驟3具體包括以下內(nèi)容:
[0026]接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,判斷處理結(jié)果中的會話身份號與RAM中的會話身份號是否一致,只有一致時執(zhí)行步驟4;其中處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝。
[0027]采用上述進(jìn)一步方案的有益效果是,通過會話身份號判斷是否是同一通訊過程,如出現(xiàn)不一致,將不進(jìn)行通訊。
[0028]進(jìn)一步,所述步驟4中的驗證包括,使用預(yù)存的公鑰對第一隨機數(shù)、第二隨機數(shù)和簽名信息進(jìn)行驗證;所述第二隨機數(shù)是遠(yuǎn)程管理介質(zhì)隨機產(chǎn)生,簽名信息是遠(yuǎn)程管理介質(zhì)采用私鑰對第二隨機數(shù)和接收的第一隨機數(shù)執(zhí)行簽名產(chǎn)生。
[0029]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種通訊方法,其應(yīng)用于遠(yuǎn)程管理介質(zhì)中,包括以下步驟:
[°03°]步驟1:接收PCI密碼卡發(fā)送的通訊請求;
[0031]步驟2:接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,對通訊相關(guān)信息進(jìn)行處理得到處理結(jié)果并反饋到PCI密碼卡,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;
[0032]步驟3:PCI密碼卡對處理結(jié)果進(jìn)行驗證,接收PCI密碼卡發(fā)送的驗證結(jié)果,當(dāng)驗證通過時,結(jié)束與PCI密碼卡的通訊;否則,拋棄所述處理結(jié)果,結(jié)束通訊。
[0033]本發(fā)明的有益效果是:本發(fā)明可以解決支持虛擬化PCI密碼卡的權(quán)限控制、密鑰管理的安全性問題;使用會話身份號并結(jié)合簽名機制,確保通訊雙方能夠抵御重放攻擊;同時解決了對PCI密碼卡進(jìn)行管理時,需要插接外部管理介質(zhì)的問題,通過遠(yuǎn)程管理介質(zhì),可以實現(xiàn)對PCI密碼卡的遠(yuǎn)程管理。
[0034]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0035]進(jìn)一步,所述步驟I還包括,根據(jù)通訊請求生成一對對應(yīng)的公鑰和私鑰,將其中的公鑰發(fā)送到PCI密碼卡。
[0036]采用上述進(jìn)一步方案的有益效果是,PCI密碼卡和遠(yuǎn)程管理介質(zhì)之間采用對應(yīng)的公鑰和私鑰進(jìn)行標(biāo)識身份,防止出現(xiàn)通訊連接出錯的問題,保證通訊方向正確。
[0037]進(jìn)一步,所述步驟2具體包括:
[0038]接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,根據(jù)安全通訊協(xié)議的命令碼對通訊相關(guān)信息解封,得到會話身份號、第一隨機數(shù)和通訊內(nèi)容;
[0039]隨機生成第二隨機數(shù),使用私鑰對第一隨機數(shù)和第二隨機數(shù)執(zhí)行簽名,產(chǎn)生簽名信息;
[0040]將會話身份號、第二隨機數(shù)和簽名信息采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;得到封裝后的處理結(jié)果并反饋到PCI密碼卡。
[0041]采用上述進(jìn)一步方案的有益效果是,采用命令碼、會話身份號進(jìn)行雙重驗證,保證信息的正確性,并將會話身份號、第二隨機數(shù)和簽名信息封裝后反饋PCI密碼卡,保證了通訊的對應(yīng)性。
[0042]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種PCI密碼卡,包括:所述接收模塊、API接口、結(jié)果接收模塊和驗證模塊;
[0043]所述接收模塊,接收外部調(diào)用指令,根據(jù)調(diào)用指令發(fā)送建立通訊請求到遠(yuǎn)程管理介質(zhì),與遠(yuǎn)程管理介質(zhì)建立通訊;
[0044]所述API接口,啟動安全通訊協(xié)議,根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì);
[0045]所述結(jié)果接收模塊,接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;
[0046]所述驗證模塊,對處理結(jié)果進(jìn)行驗證,當(dāng)驗證通過,則PCI密碼卡和遠(yuǎn)程管理介質(zhì)結(jié)束通訊。
[0047]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種遠(yuǎn)程管理介質(zhì),包括:請求接收模塊、通訊處理模塊和通訊完成模塊;
[0048]所述請求接收模塊,接收PCI密碼卡發(fā)送的通訊請求;
[0049]所述通訊處理模塊,接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,對通訊相關(guān)信息進(jìn)行處理得到處理結(jié)果并反饋到PCI密碼卡,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;
[0050]所述通訊完成模塊,接收PCI密碼卡發(fā)送的驗證結(jié)果,當(dāng)驗證通過時,結(jié)束與PCI密碼卡的通訊。
[0051]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種通訊系統(tǒng),包括上述PCI密碼卡和遠(yuǎn)程管理介質(zhì);
[0052]所述PCI密碼卡接收外部調(diào)用指令,根據(jù)調(diào)用指令與遠(yuǎn)程管理介質(zhì)建立通訊。
[0053]本發(fā)明的有益效果是:本發(fā)明提供了新型的管理機制,開放的接口,客戶可以靈活的選擇權(quán)限控制的載體,這一點區(qū)別于現(xiàn)有只能選擇廠商配送的介質(zhì)的模式。如:可以采用USB KEY、軟證書等軟硬件設(shè)備作為權(quán)限控制角色(如:管理員,操作員),載體只需具備產(chǎn)生隨機數(shù)、SM2、SM3等密碼運算功能,能夠安全的存儲密鑰功能即可。
【附圖說明】
[0054]圖1為本發(fā)明實施例1所述的一種通訊方法流程圖;
[0055]圖2為本發(fā)明實施例2所述的一種通訊方法流程圖;
[0056]圖3為本發(fā)明實施例3所述的一種PCI密碼卡結(jié)構(gòu)示意圖;
[0057]圖4為本發(fā)明實施例4所述的一種遠(yuǎn)程管理介質(zhì)結(jié)構(gòu)示意圖;
[0058]圖5為本發(fā)明實施例5所述的一種通訊系統(tǒng)結(jié)構(gòu)示意圖;
[0059]圖6為本發(fā)明具體示例中通訊協(xié)議命令格式示意圖。
[0060]附圖中,各標(biāo)號所代表的部件列表如下:
[0061 ] 1、接收模塊,2、API接口,3、結(jié)果接收模塊,4、驗證模塊,5、請求接收模塊,6、通訊處理模塊,7、通訊完成模塊,1、PCI密碼卡,20、遠(yuǎn)程管理介質(zhì)。
【具體實施方式】
[0062]以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0063]如圖1所示,為本發(fā)明實施例1所述的一種通訊方法,其應(yīng)用于PCI密碼卡中,包括以下步驟:
[0064]步驟1:接收外部調(diào)用指令,根據(jù)調(diào)用指令發(fā)送建立通訊請求到遠(yuǎn)程管理介質(zhì),與遠(yuǎn)程管理介質(zhì)建立通訊;
[0065]步驟2:啟動安全通訊協(xié)議,根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì);
[0066]步驟3:接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;
[0067]步驟4:對處理結(jié)果進(jìn)行驗證,當(dāng)驗證通過,則PCI密碼卡和遠(yuǎn)程管理介質(zhì)結(jié)束通訊;否則,表示通訊過程中可能受到攻擊或數(shù)據(jù)傳輸出現(xiàn)錯誤,PCI密碼卡拋棄接收的所述處理結(jié)果,并記錄發(fā)起方的管理員ID及發(fā)送錯誤時間等信息以便排查問題,結(jié)束通訊。
[0068]所述步驟I還包括,與遠(yuǎn)程管理介質(zhì)開始建立通訊后,接收遠(yuǎn)程管理介質(zhì)發(fā)送的公鑰并保存,所述公鑰與遠(yuǎn)程管理介質(zhì)內(nèi)的私鑰相對應(yīng)。
[0069]所述公鑰為SM2秘鑰的公鑰,所述私鑰為SM2秘鑰的私鑰。
[0070]所述步驟2具體包括以下內(nèi)容:啟動安全通訊協(xié)議,產(chǎn)生會話身份號和第一隨機數(shù);根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊內(nèi)容、會話身份號和第一隨機數(shù)得到封裝后的通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì)。
[0071 ]所述產(chǎn)生會話身份號和第一隨機數(shù)保存在PCI密碼卡的RAM中;當(dāng)啟動安全通訊協(xié)議或通訊結(jié)束時,PCI密碼卡的RAM執(zhí)行更新,重新產(chǎn)生會話身份號和第一隨機數(shù)替換RAM中保存的會話身份號和第一隨機數(shù)。
[0072]所述步驟3具體包括以下內(nèi)容:接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,判斷處理結(jié)果中的會話身份號與RAM中的會話身份號是否一致,只有一致時執(zhí)行步驟4;其中處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝。
[0073]所述步驟4中的驗證包括,使用預(yù)存的公鑰對第一隨機數(shù)、第二隨機數(shù)和簽名信息進(jìn)行驗證;所述第二隨機數(shù)是遠(yuǎn)程管理介質(zhì)隨機產(chǎn)生,簽名信息是遠(yuǎn)程管理介質(zhì)采用私鑰對第二隨機數(shù)和接收的第一隨機數(shù)執(zhí)行簽名產(chǎn)生。
[0074]如圖2所示,為本發(fā)明實施例2所述的一種通訊方法,其應(yīng)用于遠(yuǎn)程管理介質(zhì)中,包括以下步驟:
[0075]步驟1:接收PCI密碼卡發(fā)送的通訊請求;
[0076]步驟2:接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,對通訊相關(guān)信息進(jìn)行處理得到處理結(jié)果并反饋到PCI密碼卡,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;
[0077]步驟3:PCI密碼卡對處理結(jié)果進(jìn)行驗證,接收PCI密碼卡發(fā)送的驗證結(jié)果,當(dāng)驗證通過時,結(jié)束與PCI密碼卡的通訊;否則,表示通訊過程中可能受到攻擊或數(shù)據(jù)傳輸出現(xiàn)錯誤,遠(yuǎn)程管理介質(zhì)拋棄接收的所述處理結(jié)果,并記錄發(fā)起方的管理員ID及發(fā)送錯誤時間等信息以便排查問題,結(jié)束通訊。
[0078]所述步驟I還包括,根據(jù)通訊請求生成一對對應(yīng)的公鑰和私鑰,將其中的公鑰發(fā)送到PCI密碼卡。
[0079]所述步驟2具體包括:接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,根據(jù)安全通訊協(xié)議的命令碼對通訊相關(guān)信息解封,得到會話身份號、第一隨機數(shù)和通訊內(nèi)容;
[0080]隨機生成第二隨機數(shù),使用私鑰對第一隨機數(shù)和第二隨機數(shù)執(zhí)行簽名,產(chǎn)生簽名信息;
[0081]將會話身份號、第二隨機數(shù)和簽名信息采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;得到封裝后的處理結(jié)果并反饋到PCI密碼卡。
[0082]如圖3所示,為本發(fā)明實施例3所述的一種PCI密碼卡,包括:所述接收模塊1、API接口 2、結(jié)果接收模塊3和驗證模塊4 ;
[0083]所述接收模塊I,接收外部調(diào)用指令,根據(jù)調(diào)用指令發(fā)送建立通訊請求到遠(yuǎn)程管理介質(zhì),與遠(yuǎn)程管理介質(zhì)建立通訊;
[0084]所述API接口 2,啟動安全通訊協(xié)議,根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì);
[0085]所述結(jié)果接收模塊3,接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;
[0086]所述驗證模塊4,對處理結(jié)果進(jìn)行驗證,當(dāng)驗證通過,則PCI密碼卡和遠(yuǎn)程管理介質(zhì)結(jié)束通訊。
[0087]所述接收模塊I還用于,與遠(yuǎn)程管理介質(zhì)開始建立通訊后,接收遠(yuǎn)程管理介質(zhì)發(fā)送的公鑰,所述公鑰與遠(yuǎn)程管理介質(zhì)內(nèi)的私鑰相對應(yīng)。
[0088]所述公鑰為SM2秘鑰的公鑰,所述私鑰為SM2秘鑰的私鑰。
[0089]所述API接口2用于,啟動安全通訊協(xié)議,產(chǎn)生會話身份號和第一隨機數(shù);根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊內(nèi)容、會話身份號和第一隨機數(shù)得到封裝后的通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì)。
[0090]所述產(chǎn)生會話身份號和第一隨機數(shù)保存在PCI密碼卡的RAM中;當(dāng)啟動安全通訊協(xié)議或通訊結(jié)束時,PCI密碼卡的RAM執(zhí)行更新。
[0091 ]所述結(jié)果接收模塊3用于,接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,判斷處理結(jié)果中的會話身份號與RAM中的會話身份號是否一致,只有一致時執(zhí)行步驟4;其中處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝。
[0092]所述驗證模塊4用于,使用預(yù)存的公鑰對第一隨機數(shù)、第二隨機數(shù)和簽名信息進(jìn)行驗證;所述第二隨機數(shù)是遠(yuǎn)程管理介質(zhì)隨機產(chǎn)生,簽名信息是遠(yuǎn)程管理介質(zhì)采用私鑰對第二隨機數(shù)和接收的第一隨機數(shù)執(zhí)行簽名產(chǎn)生。
[0093]如圖4所示,為本發(fā)明實施例4所述的一種遠(yuǎn)程管理介質(zhì),包括:請求接收模塊5、通訊處理模塊6和通訊完成模塊7;
[0094]所述請求接收模塊5,接收PCI密碼卡發(fā)送的通訊請求;
[0095]所述通訊處理模塊6,接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,對通訊相關(guān)信息進(jìn)行處理得到處理結(jié)果并反饋到PCI密碼卡,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;
[0096]所述通訊完成模塊7,接收PCI密碼卡發(fā)送的驗證結(jié)果,當(dāng)驗證通過時,結(jié)束與PCI密碼卡的通訊。
[0097]所述請求接收模塊5還用于,根據(jù)通訊請求生成一對對應(yīng)的公鑰和私鑰,將其中的公鑰發(fā)送到PCI密碼卡。
[0098]所述通訊處理模塊6用于,接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,根據(jù)安全通訊協(xié)議的命令碼對通訊相關(guān)信息解封,得到會話身份號、第一隨機數(shù)和通訊內(nèi)容;隨機生成第二隨機數(shù),使用私鑰對第一隨機數(shù)和第二隨機數(shù)執(zhí)行簽名,產(chǎn)生簽名信息;將會話身份號、第二隨機數(shù)和簽名信息采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;得到封裝后的處理結(jié)果并反饋到PCI密碼卡。
[0099]如圖5所示,為本發(fā)明實施例5所述的一種通訊系統(tǒng),包括上述PCI密碼卡10和遠(yuǎn)程管理介質(zhì)20;
[0100]所述PCI密碼卡10接收外部調(diào)用指令,根據(jù)調(diào)用指令與遠(yuǎn)程管理介質(zhì)20建立通訊;
[0101]所述PCI密碼卡10和遠(yuǎn)程管理介質(zhì)20的通訊采用挑戰(zhàn)應(yīng)答方式進(jìn)行。
[0102]本發(fā)明具體示例通訊及管理(以管理員角色登陸為例)過程包括:
[0103]1.為PCI密碼卡軟件系統(tǒng),應(yīng)用程序調(diào)用軟件系統(tǒng)提供的接口中的管理員登陸功會K;
[0104]2.為PCI密碼卡內(nèi)部產(chǎn)生會話身份號、隨機數(shù)Rl并啟動通訊協(xié)議;
[0105]3.為遠(yuǎn)程管理介質(zhì)接收數(shù)據(jù)并根據(jù)通訊協(xié)議命令格式解析數(shù)據(jù)包,產(chǎn)生隨機數(shù)R2并使用管理介質(zhì)中的簽名密鑰對私鑰對Rl和R2簽名,根據(jù)通訊協(xié)議命令格式組織數(shù)據(jù)包發(fā)送給PCI密碼卡軟件系統(tǒng);
[0106]4.為PCI密碼卡軟件系統(tǒng)接收到數(shù)據(jù)并根據(jù)通訊協(xié)議命令格式解析數(shù)據(jù)包,判斷會話身份號是否相符并維護當(dāng)前會話;
[0107]5.為PCI密碼卡驗證數(shù)據(jù)包中Rl和R2簽名結(jié)果,如驗證通過則表明通訊協(xié)議握手成功且管理員登陸成功,PCI密碼卡設(shè)置登錄成功標(biāo)識并將內(nèi)部維護的會話身份號清零;
[0108]6.為PCI密碼卡軟件系統(tǒng)關(guān)閉通訊協(xié)議,通訊結(jié)束。
[0109]客戶通過調(diào)用PCI密碼卡提供的API接口操作PCI密碼卡并與遠(yuǎn)程管理介質(zhì)通訊,啟動安全通訊協(xié)議前每個遠(yuǎn)程管理介質(zhì)均產(chǎn)生一個SM2密鑰對標(biāo)識身份,而對應(yīng)的SM2密鑰的公鑰導(dǎo)入PCI密碼卡。用戶調(diào)用API接口啟動安全通訊協(xié)議同時PCI密碼卡會產(chǎn)生會話身份號和32字節(jié)隨機數(shù)Rl,會話身份號和隨機數(shù)Rl維護在PCI密碼卡DSP的RAM中,只有每次啟動安全協(xié)議或通訊結(jié)束時更新。API接口內(nèi)部根據(jù)通訊協(xié)議命令格式封裝通訊內(nèi)容并發(fā)送至遠(yuǎn)程管理介質(zhì)。遠(yuǎn)程管理介質(zhì)檢查通訊命令碼,記錄會話身份號,同時產(chǎn)生32字節(jié)隨機數(shù)R2并使用SM2密鑰對的私鑰對Rl和R2簽名,按照通訊協(xié)議命令碼格式將會話身份號、R2、簽名結(jié)果封裝并發(fā)送給PCI密碼卡軟件系統(tǒng),PCI密碼卡軟件系統(tǒng)首先檢測會話身份號是否相符,此機制用來實現(xiàn)維護當(dāng)前會話。會話身份號檢測通過后使用SM2密鑰對公鑰驗證Rl、R2和簽名結(jié)果,如驗證通過則通訊建立。
[0110]PCI密碼卡和遠(yuǎn)程管理介質(zhì)的通訊過程中,只有PCI密碼卡能夠發(fā)起通訊,通訊采用挑戰(zhàn)應(yīng)答的方式,使用會話身份號并結(jié)合SM2簽名等機制確保通訊雙方能夠抵御重放攻擊。
[0111]圖6為本發(fā)明具體示例中通訊協(xié)議命令格式,通訊中數(shù)據(jù)包以int單位。其中:a為通訊的命令碼,命令碼包括握手、登陸(管理員角色、操作員角色)、登出、備份、恢復(fù)等。b為會話身份號,會話身份號是32bit的隨機數(shù),用于維護當(dāng)前通訊的會話。c為32字節(jié)的隨機數(shù),通訊中防重放攻擊。d為業(yè)務(wù)中的具體操作內(nèi)容。因便于客戶自由的選擇管理介質(zhì),此命令碼格式是開放的。
[0112]本發(fā)明所述的通訊系統(tǒng)主要由應(yīng)用層接口、通訊協(xié)議、PCI密碼卡、遠(yuǎn)程管理介質(zhì)四部分組成,四部分配合工作完成業(yè)務(wù)處理過程。具體實施方案如下:
[0113]客戶調(diào)用應(yīng)用層接口對PCI密碼卡進(jìn)行管理和訪問,管理功能首先是初始化功能,初始化功能為建立通訊協(xié)議做準(zhǔn)備,主要生成了用來標(biāo)識PCI密碼卡身份的SM2簽名密鑰對。根據(jù)通訊協(xié)議要求每個遠(yuǎn)程管理介質(zhì)產(chǎn)生一個標(biāo)明管理身份的SM2密鑰對(標(biāo)配三個管理員和一個操作員),PCI密碼卡導(dǎo)入管理員和操作員的SM2密鑰對公鑰,SM2密鑰對私鑰由客戶管理介質(zhì)保存及維護。
[0114]初始化工作完成后可以進(jìn)行正常的PCI密碼卡遠(yuǎn)程管理操作,應(yīng)用層接口提供了管理員登陸、操作員登陸、權(quán)限登出、備份、恢復(fù)等一系列的接口供客戶調(diào)用并管理PCI密碼卡。應(yīng)用層接口與PCI密碼卡通訊并根據(jù)通訊協(xié)議命令格式封裝數(shù)據(jù)包,啟動通訊協(xié)議并與遠(yuǎn)程管理介質(zhì)通訊。遠(yuǎn)程管理介質(zhì)由客戶選擇和操作,主要是根據(jù)通訊協(xié)議命令格式解析數(shù)據(jù)包,響應(yīng)處理并按照通訊協(xié)議命令格式封裝數(shù)據(jù)包并發(fā)送給PCI密碼卡的應(yīng)用層接口。PCI密碼卡應(yīng)用層接口解析數(shù)據(jù)包,校驗會話身份號、驗證SM2簽名值等操作通過后,PCI密碼卡確定來自遠(yuǎn)程管理操作可信并執(zhí)行相應(yīng)的管理功能。如管理員登陸功能,則設(shè)置PCI密碼卡為管理員登陸成功狀態(tài);如備份功能,則產(chǎn)生備份密鑰、共享分割備份密鑰、加密備份密鑰分量、加密用戶密鑰等操作。操作完成后PCI密碼卡會將會話身份號清零,應(yīng)用層接口則關(guān)閉通訊協(xié)議。
[0115]以上實施過程在實際PCI密碼卡硬件上進(jìn)行了驗證,并取得成功。本發(fā)明的新型PCI密碼卡軟件系統(tǒng)解決了 PCI密碼卡支持虛擬化權(quán)限管理及密鑰管理安全性問題,可以對PCI密碼卡進(jìn)行遠(yuǎn)程管理,提供的開發(fā)接口開放且靈活客戶可以自主實現(xiàn)對PCI密碼卡的管理。
[0116]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種通訊方法,其應(yīng)用于PCI密碼卡中,其特征在于,包括以下步驟: 步驟1:接收外部調(diào)用指令,根據(jù)調(diào)用指令發(fā)送建立通訊請求到遠(yuǎn)程管理介質(zhì),與遠(yuǎn)程管理介質(zhì)建立通訊; 步驟2:啟動安全通訊協(xié)議,根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì); 步驟3:接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝; 步驟4:對處理結(jié)果進(jìn)行驗證,當(dāng)驗證通過,則PCI密碼卡和遠(yuǎn)程管理介質(zhì)結(jié)束通訊;否則,拋棄所述處理結(jié)果,結(jié)束通訊。2.根據(jù)權(quán)利要求1所述的一種通訊方法,其特征在于,所述步驟I還包括,與遠(yuǎn)程管理介質(zhì)開始建立通訊后,接收遠(yuǎn)程管理介質(zhì)發(fā)送的公鑰并保存,所述公鑰與遠(yuǎn)程管理介質(zhì)內(nèi)的私鑰相對應(yīng)。3.根據(jù)權(quán)利要求2所述的一種通訊方法,其特征在于,所述公鑰為SM2秘鑰的公鑰,所述私鑰為SM2秘鑰的私鑰。4.根據(jù)權(quán)利要求1-3任一項所述的一種通訊方法,其特征在于,所述步驟2具體包括以下內(nèi)容: 啟動安全通訊協(xié)議,產(chǎn)生會話身份號和第一隨機數(shù); 根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊內(nèi)容、會話身份號和第一隨機數(shù)得到封裝后的通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì)。5.根據(jù)權(quán)利要求4所述的一種通訊方法,其特征在于,所述產(chǎn)生會話身份號和第一隨機數(shù)保存在PCI密碼卡的RAM中;當(dāng)啟動安全通訊協(xié)議或通訊結(jié)束時,PCI密碼卡的RAM執(zhí)行更新,重新產(chǎn)生會話身份號和第一隨機數(shù)替換RAM中保存的會話身份號和第一隨機數(shù)。6.根據(jù)權(quán)利要求5所述的一種通訊方法,其特征在于,所述步驟3具體包括以下內(nèi)容: 接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,判斷處理結(jié)果中的會話身份號與RAM中的會話身份號是否一致,只有一致時執(zhí)行步驟4;其中處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝。7.根據(jù)權(quán)利要求6所述的一種通訊方法,其特征在于,所述步驟4中的驗證包括,使用預(yù)存的公鑰對第一隨機數(shù)、第二隨機數(shù)和簽名信息進(jìn)行驗證;所述第二隨機數(shù)是遠(yuǎn)程管理介質(zhì)隨機產(chǎn)生,簽名信息是遠(yuǎn)程管理介質(zhì)采用私鑰對第二隨機數(shù)和接收的第一隨機數(shù)執(zhí)行簽名產(chǎn)生。8.一種通訊方法,其應(yīng)用于遠(yuǎn)程管理介質(zhì)中,其特征在于,包括以下步驟: 步驟1:接收PCI密碼卡發(fā)送的通訊請求; 步驟2:接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,對通訊相關(guān)信息進(jìn)行處理得到處理結(jié)果并反饋到PCI密碼卡,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝; 步驟3:PCI密碼卡對處理結(jié)果進(jìn)行驗證,接收PCI密碼卡發(fā)送的驗證結(jié)果,當(dāng)驗證通過時,結(jié)束與PCI密碼卡的通訊;否則,拋棄所述處理結(jié)果,結(jié)束通訊。9.根據(jù)權(quán)利要求8所述的一種通訊方法,其特征在于,所述步驟I還包括,根據(jù)通訊請求生成一對對應(yīng)的公鑰和私鑰,將其中的公鑰發(fā)送到PCI密碼卡。10.根據(jù)權(quán)利要求9所述的一種通訊方法,其特征在于,所述步驟2具體包括: 接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,根據(jù)安全通訊協(xié)議的命令碼對通訊相關(guān)信息解封,得到會話身份號、第一隨機數(shù)和通訊內(nèi)容; 隨機生成第二隨機數(shù),使用私鑰對第一隨機數(shù)和第二隨機數(shù)執(zhí)行簽名,產(chǎn)生簽名信息; 將會話身份號、第二隨機數(shù)和簽名信息采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝;得到封裝后的處理結(jié)果并反饋到PCI密碼卡。11.一種PCI密碼卡,其對應(yīng)權(quán)利要求1-7任一項所述的通訊方法,其特征在于,包括:所述接收模塊、API接口、結(jié)果接收模塊和驗證模塊; 所述接收模塊,接收外部調(diào)用指令,根據(jù)調(diào)用指令發(fā)送建立通訊請求到遠(yuǎn)程管理介質(zhì),與遠(yuǎn)程管理介質(zhì)建立通訊; 所述API接口,啟動安全通訊協(xié)議,根據(jù)安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝通訊相關(guān)信息,并將封裝后的通訊相關(guān)信息發(fā)送至遠(yuǎn)程管理介質(zhì); 所述結(jié)果接收模塊,接收遠(yuǎn)程管理介質(zhì)反饋的處理結(jié)果,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝; 所述驗證模塊,對處理結(jié)果進(jìn)行驗證,當(dāng)驗證通過,則PCI密碼卡和遠(yuǎn)程管理介質(zhì)結(jié)束通訊。12.一種遠(yuǎn)程管理介質(zhì),其對應(yīng)權(quán)利要求8-10任一項所述的通訊方法,其特征在于,包括:請求接收模塊、通訊處理模塊和通訊完成模塊; 所述請求接收模塊,接收PCI密碼卡發(fā)送的通訊請求; 所述通訊處理模塊,接收PCI密碼卡發(fā)送的封裝后的通訊相關(guān)信息,對通訊相關(guān)信息進(jìn)行處理得到處理結(jié)果并反饋到PCI密碼卡,所述處理結(jié)果采用安全通訊協(xié)議預(yù)設(shè)的命令碼格式封裝; 所述通訊完成模塊,接收PCI密碼卡發(fā)送的驗證結(jié)果,當(dāng)驗證通過時,結(jié)束與PCI密碼卡的通訊。13.—種通訊系統(tǒng),其特征在于,包括如權(quán)利要求11所述的PCI密碼卡和如權(quán)利要求12所述的遠(yuǎn)程管理介質(zhì); 所述PCI密碼卡接收外部調(diào)用指令,根據(jù)調(diào)用指令與遠(yuǎn)程管理介質(zhì)建立通訊。
【文檔編號】H04L9/30GK105933118SQ201610412873
【公開日】2016年9月7日
【申請日】2016年6月13日
【發(fā)明人】桑洪波
【申請人】北京三未信安科技發(fā)展有限公司