欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置及方法

文檔序號(hào):7617151閱讀:114來源:國知局
專利名稱:用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置及方法
技術(shù)領(lǐng)域
本發(fā)明安全芯片的管理技術(shù)領(lǐng)域,特別是指一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置及方法。
背景技術(shù)
當(dāng)今社會(huì)已進(jìn)入信息化時(shí)代,計(jì)算機(jī)網(wǎng)絡(luò)已逐漸應(yīng)用于社會(huì)各個(gè)領(lǐng)域,伴隨著國民經(jīng)濟(jì)信息化進(jìn)程的推進(jìn)和電子商務(wù)等網(wǎng)絡(luò)新業(yè)務(wù)的興起,社會(huì)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的依賴程度越來越高。信息時(shí)代呼喚信息安全,而對(duì)數(shù)據(jù)進(jìn)行加密是保護(hù)數(shù)據(jù)免受非法訪問的常用方法。
目前,利用硬件進(jìn)行密鑰生成和加解密的操作具有速度快,不易篡改等優(yōu)點(diǎn),已經(jīng)得到了廣泛的應(yīng)用。與插拔式硬件相比,主板固化安全芯片能夠在提供密碼學(xué)運(yùn)算的同時(shí)認(rèn)證平臺(tái)身份;另外,安全芯片本身還能夠提供非易失存儲(chǔ)空間對(duì)重要數(shù)據(jù)進(jìn)行紀(jì)錄。
目前安全芯片的管理接口通常在驅(qū)動(dòng)程序之上以動(dòng)態(tài)鏈接庫的形式提供一組函數(shù)接口,即由安全芯片管理函數(shù)庫構(gòu)成安全芯片的接口,參見圖1,圖1所示為現(xiàn)有的實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置結(jié)構(gòu)示意圖。應(yīng)用系統(tǒng)只能調(diào)用本地的安全芯片管理函數(shù)庫,由安全芯片管理函數(shù)庫調(diào)用芯片驅(qū)動(dòng)模塊驅(qū)動(dòng)安全芯片執(zhí)行操作,相應(yīng)地,安全芯片將執(zhí)行結(jié)果通過芯片驅(qū)動(dòng)模塊和安全芯片管理函數(shù)庫返回給應(yīng)用系統(tǒng)。從而實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片的交互。根據(jù)現(xiàn)有的交互機(jī)制,遠(yuǎn)程訪問安全芯片很不安全,而且現(xiàn)有的應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置也根本沒有提供遠(yuǎn)程訪問的接口。
由此可以看出,現(xiàn)有的實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置是基于單層的管理函數(shù)庫實(shí)現(xiàn)的,而其存在以下缺陷
1)不支持不同開發(fā)商的驅(qū)動(dòng)特性。
2)安全芯片不能被遠(yuǎn)程訪問。因?yàn)檫h(yuǎn)程訪問很不安全,而且現(xiàn)有的交互的裝置不支持遠(yuǎn)程訪問。
3)由于只能是具有安全芯片的主機(jī)才能實(shí)現(xiàn)對(duì)安全芯片的訪問,因而每一安全芯片只能由少數(shù)幾個(gè)用戶使用,如果同一安全芯片的訪問權(quán)限被多個(gè)用戶共享,其秘密信息不再安全。
4)安全芯片內(nèi)有限的存儲(chǔ)空間決定了其能夠存放的密鑰的個(gè)數(shù)有限。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的一個(gè)目的在于提供一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置,以支持不同開發(fā)商定制不同驅(qū)動(dòng)特性。本發(fā)明的另一目的在于提供一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的方法,使安全芯片既可以實(shí)現(xiàn)本地訪問還能夠?qū)崿F(xiàn)遠(yuǎn)程訪問。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置,該裝置包括安全服務(wù)提供模塊,安全核心服務(wù)模塊和芯片驅(qū)動(dòng)庫,其中,所述安全服務(wù)提供模塊,用于接收應(yīng)用系統(tǒng)的操作指令,確定待連接的安全核心服務(wù)模塊,向確定的安全核心服務(wù)模塊發(fā)送操作指令,或者,將來自安全核心服務(wù)模塊的指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng);所述安全核心服務(wù)模塊,位于安全服務(wù)提供模塊與芯片驅(qū)動(dòng)庫之間,對(duì)接收到的指令編碼后,向芯片驅(qū)動(dòng)庫發(fā)送編碼后的指令,或者,接收來自芯片驅(qū)動(dòng)庫的指令執(zhí)行結(jié)果信息,對(duì)接收到信息進(jìn)行解碼,將解碼后的指令執(zhí)行結(jié)果返回給安全服務(wù)提供模塊;所述芯片驅(qū)動(dòng)庫,位于安全核心服務(wù)模塊與安全芯片之間,接收來自安全核心服務(wù)模塊的指令,驅(qū)動(dòng)安全芯片執(zhí)行指令所指示的操作,或者,給安全核心服務(wù)模塊返回安全芯片的執(zhí)行結(jié)果信息。
較佳地,所述安全服務(wù)提供模塊內(nèi)包含上下文管理模塊、策略對(duì)象管理模塊、操作對(duì)象管理模塊及芯片對(duì)象管理模塊;所述上下文管理模塊,用于接收應(yīng)用系統(tǒng)的對(duì)象創(chuàng)建指令,創(chuàng)建上下文對(duì)象,并將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);或者,接收來自應(yīng)用系統(tǒng)的連接指令,連接應(yīng)用系統(tǒng)指定的安全核心服務(wù)模塊,并將連接結(jié)果返回給應(yīng)用系統(tǒng);或者,上下文管理模塊內(nèi)的上下文對(duì)象創(chuàng)建與操作指令相對(duì)應(yīng)的操作對(duì)象,及與該操作對(duì)象相關(guān)聯(lián)的策略對(duì)象,或創(chuàng)建與設(shè)備狀態(tài)管理指令相對(duì)應(yīng)的芯片對(duì)象及與該芯片對(duì)象相關(guān)聯(lián)的策略對(duì)象,并將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);所述策略對(duì)象管理模塊,用于接收應(yīng)用系統(tǒng)設(shè)置的與某個(gè)策略對(duì)象相關(guān)聯(lián)的授權(quán)信息,保存并管理已創(chuàng)建的策略對(duì)象及與該策略對(duì)象相關(guān)聯(lián)的授權(quán)信息;所述操作對(duì)象管理模塊,用于保存并管理已創(chuàng)建的操作對(duì)象,接收來自應(yīng)用系統(tǒng)的操作指令,計(jì)算指令認(rèn)證操作碼,向確定的安全核心服務(wù)模塊發(fā)送包含指令認(rèn)證操作碼的操作指令,或者,接收來自安全核心服務(wù)模塊的指令執(zhí)行結(jié)果,對(duì)指令執(zhí)行結(jié)果驗(yàn)證成功后,將指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng);所述芯片對(duì)象管理模塊,用于保存并管理已創(chuàng)建的芯片對(duì)象,接收來自應(yīng)用系統(tǒng)的改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,計(jì)算指令認(rèn)證操作碼,向確定的安全核心服務(wù)模塊發(fā)送包含指令認(rèn)證操作碼的改變?cè)O(shè)備狀態(tài)指令,或者,接收來自安全核心服務(wù)模塊的指令執(zhí)行結(jié)果,對(duì)指令執(zhí)行結(jié)果驗(yàn)證成功后,將指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng);或者,所述芯片對(duì)象管理模塊,接收來自應(yīng)用系統(tǒng)的不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,向確定的安全核心服務(wù)模塊發(fā)送接收到的指令,或者,接收來自安全核心服務(wù)模塊的指令執(zhí)行結(jié)果,指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)。
較佳地,所述安全核心服務(wù)模塊包括授權(quán)操作模塊、指令操作模塊和設(shè)備操作模塊。
所述授權(quán)操作模塊,用于接收來自操作對(duì)象管理模塊或芯片對(duì)象管理模塊的授權(quán)會(huì)話創(chuàng)建請(qǐng)求,將接收到的請(qǐng)求編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收來自芯片驅(qū)動(dòng)庫的創(chuàng)建授權(quán)會(huì)話的執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取本次授權(quán)會(huì)話中用于計(jì)算認(rèn)證碼的認(rèn)證碼計(jì)算參數(shù),并將所獲取的認(rèn)證碼計(jì)算參數(shù)返回給操作對(duì)象管理模塊或芯片對(duì)象管理模塊;所述指令操作模塊,用于接收來自操作對(duì)象管理模塊的操作指令,將接收到的操作指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收來自芯片驅(qū)動(dòng)庫的指令執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取本次指令執(zhí)行結(jié)果及指令執(zhí)行結(jié)果認(rèn)證碼,并將所獲取指令執(zhí)行結(jié)果及指令執(zhí)行結(jié)果認(rèn)證碼返回給操作對(duì)象管理模塊;所述設(shè)備操作模塊,用于接收來自芯片對(duì)象管理模塊的改變?cè)O(shè)備狀態(tài)設(shè)備管理指令或不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,將接收到的指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收來自芯片驅(qū)動(dòng)庫的指令執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取包含指令執(zhí)行結(jié)果認(rèn)證碼的指令執(zhí)行結(jié)果或不包含指令執(zhí)行結(jié)果認(rèn)證碼的指令執(zhí)行結(jié)果指令執(zhí)行結(jié)果,并將所獲取的信息返回給芯片對(duì)象管理模塊。
較佳地,所述操作指令為改變?cè)O(shè)備狀態(tài)的設(shè)備管理指令或不改變?cè)O(shè)備狀態(tài)的設(shè)備管理指令時(shí),所述操作對(duì)象為芯片對(duì)象,所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為安全芯片所有者授權(quán)信息。
較佳地,所述操作指令為密鑰管理指令,所述操作對(duì)象為密鑰對(duì)象,所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息,所述操作對(duì)象管理模塊包括密鑰對(duì)象管理模塊,所述指令操作模塊包括密鑰操作模塊。
較佳地,所述操作指令為密碼操作指令,所述操作對(duì)象為密鑰對(duì)象和加密數(shù)據(jù)對(duì)象或所述操作對(duì)象為密鑰對(duì)象和哈希對(duì)象,所述操作對(duì)象管理模塊包括加密數(shù)據(jù)對(duì)象管理模塊或哈希對(duì)象管理模塊,當(dāng)所述操作對(duì)象管理模塊包括加密數(shù)據(jù)對(duì)象管理模塊時(shí),所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息和加密數(shù)據(jù)授權(quán)信息,當(dāng)所述操作對(duì)象管理模塊包括哈希對(duì)象管理模塊時(shí),所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息,所述指令操作模塊包括密碼操作模塊。
較佳地,所述安全服務(wù)提供模塊內(nèi)進(jìn)一步包含寄存器對(duì)象管理模塊,所述安全核心服務(wù)模塊內(nèi)進(jìn)一步包含寄存器操作模塊,其中,所述寄存器對(duì)象管理模塊,用于接收來自應(yīng)用系統(tǒng)的寄存器操作指令,向確定的安全核心服務(wù)模塊內(nèi)的寄存器操作模塊發(fā)送操作指令,或者,將來自寄存器操作模塊的寄存器指令操作結(jié)果返回給應(yīng)用系統(tǒng);所述寄存器操作模塊,用于將接收到的指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收芯片驅(qū)動(dòng)庫返回的執(zhí)行結(jié)果信息,將接收到的信息解碼后獲取寄存器指令操作結(jié)果,并將所獲取的寄存器指令操作結(jié)果返回給寄存器對(duì)象管理模塊。
較佳地,所述安全核心服務(wù)模塊內(nèi)進(jìn)一步包含事件管理模塊,所述事件管理模塊,用于接收來自寄存器對(duì)象管理模塊的調(diào)用,記錄寄存器操作事件。
較佳地,該管理系統(tǒng)進(jìn)一步包括物理存在開關(guān),在物理存在開關(guān)為“開”的狀態(tài)時(shí),所述安全芯片執(zhí)行來自應(yīng)用系統(tǒng)創(chuàng)建安全芯片所有者及存儲(chǔ)根密鑰,或者改變?cè)O(shè)備狀態(tài)的操作。
一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的方法,在調(diào)用安全芯片的主機(jī)內(nèi)設(shè)置安全服務(wù)提供模塊,在具有安全芯片的主機(jī)內(nèi)設(shè)置安全核心服務(wù)模塊和芯片驅(qū)動(dòng)庫,該方法還包括以下步驟a、安全服務(wù)提供模塊接收到應(yīng)用系統(tǒng)的操作指令后,向已建立連接的安全核心服務(wù)模塊發(fā)送操作指令;b、安全核心服務(wù)模塊對(duì)接收到的指令進(jìn)行編碼,經(jīng)芯片驅(qū)動(dòng)庫向安全芯片發(fā)送編碼后的操作指令,安全芯片執(zhí)行指令所指示的操作,并經(jīng)芯片驅(qū)動(dòng)庫給安全核心服務(wù)模塊返回執(zhí)行的結(jié)果信息;c、安全核心服務(wù)模塊對(duì)接收到的信息進(jìn)行解碼,獲取安全芯片執(zhí)行指令結(jié)果,將所獲取的指令執(zhí)行結(jié)果返回給安全服務(wù)提供模塊;d、安全服務(wù)提供模塊從安全核心服務(wù)模塊返回的信息中獲取指令執(zhí)行結(jié)果,并將所獲取的執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)。
較佳地,步驟a所述安全服務(wù)提供模塊與安全核心服務(wù)模塊建立連接的方法為安全服務(wù)提供模塊接收來自應(yīng)用系統(tǒng)的包含待連接安全核心服務(wù)模塊地址的連接指令,根據(jù)該指令中的地址與該指定的安全核心服務(wù)模塊建立連接。
較佳地,步驟a所述安全服務(wù)提供模塊向已連接的安全核心服務(wù)模塊發(fā)送操作指令的方法為安全服務(wù)提供模塊獲取操作指令認(rèn)證數(shù)據(jù),向確定的安全核心服務(wù)模塊發(fā)送包含操作指令認(rèn)證數(shù)據(jù)的操作指令。
較佳地,安全服務(wù)提供模塊獲取操作指令認(rèn)證數(shù)據(jù)的方法為安全服務(wù)提供模塊根據(jù)接收到的操作指令,以及已設(shè)置的與操作指令相對(duì)應(yīng)的操作對(duì)象所關(guān)聯(lián)的策略對(duì)象信息,獲得該策略對(duì)象的授權(quán)信息;安全服務(wù)提供模塊向安全核心服務(wù)模塊發(fā)送創(chuàng)建授權(quán)會(huì)話請(qǐng)求;安全核心服務(wù)模塊將創(chuàng)建授權(quán)會(huì)話請(qǐng)求編碼后經(jīng)芯片驅(qū)動(dòng)庫傳遞給安全芯片,由安全芯片執(zhí)行創(chuàng)建授權(quán)會(huì)話操作,生成本次授權(quán)會(huì)話的會(huì)話句柄和現(xiàn)時(shí)標(biāo)志,并將所生成的信息經(jīng)芯片驅(qū)動(dòng)庫返回給安全核心服務(wù)模塊;安全核心服務(wù)模塊對(duì)接收到的信息進(jìn)行解碼,獲取本次認(rèn)證碼計(jì)算參數(shù),并將所獲取的本次認(rèn)證碼計(jì)算參數(shù)返回安全服務(wù)提供模塊;安全服務(wù)提供模塊從安全核心模塊返回的信息中獲取本次認(rèn)證碼計(jì)算參數(shù);安全服務(wù)提供模塊獲取認(rèn)證碼計(jì)算參數(shù),應(yīng)用所述認(rèn)證碼計(jì)算參數(shù)以及授權(quán)信息計(jì)算第一操作指令認(rèn)證碼,將認(rèn)證碼計(jì)算參數(shù)和第一操作指令認(rèn)證碼作為操作指令認(rèn)證數(shù)據(jù);所述認(rèn)證碼計(jì)算參數(shù)為會(huì)話句柄和現(xiàn)時(shí)標(biāo)志,或者所述認(rèn)證碼計(jì)算參數(shù)為現(xiàn)時(shí)標(biāo)志。
較佳地,步驟b所述安全芯片執(zhí)行指令所指示操作的過程為安全芯片從接收到的操作指令認(rèn)證數(shù)據(jù)中獲取認(rèn)證碼計(jì)算參數(shù)和操作指令認(rèn)證碼,應(yīng)用認(rèn)證碼計(jì)算參數(shù)和已加載的授權(quán)信息計(jì)算第二操作指令認(rèn)證碼,驗(yàn)證計(jì)算出的第二操作指令認(rèn)證碼與接收到的第一操作指令認(rèn)證碼是否完全一致后,執(zhí)行操作指令所指示的操作。
較佳地,步驟b所述安全芯片經(jīng)芯片驅(qū)動(dòng)庫給安全核心服務(wù)模塊返回執(zhí)行結(jié)果信息的過程為安全芯片應(yīng)用認(rèn)證碼計(jì)算參數(shù)和已加載的授權(quán)信息對(duì)指令執(zhí)行結(jié)果進(jìn)行計(jì)算,獲得第一指令執(zhí)行結(jié)果認(rèn)證碼,將認(rèn)證碼計(jì)算參數(shù)和第一指令執(zhí)行結(jié)果認(rèn)證碼作為指令結(jié)果認(rèn)證數(shù)據(jù),通過芯片驅(qū)動(dòng)庫給安全核心服務(wù)模塊返回包含指令結(jié)果認(rèn)證數(shù)據(jù)的指令執(zhí)行結(jié)果信息。
較佳地,步驟d所述安全服務(wù)提供模塊指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)的過程為安全服務(wù)提供模塊從接收到的指令執(zhí)行結(jié)果信息中獲取指令執(zhí)行結(jié)果,從指令結(jié)果認(rèn)證數(shù)據(jù)內(nèi)獲取認(rèn)證碼計(jì)算參數(shù)和第一指令執(zhí)行結(jié)果認(rèn)證碼,應(yīng)用認(rèn)證碼計(jì)算參數(shù)及授權(quán)信息對(duì)指令執(zhí)行結(jié)果計(jì)算第二指令執(zhí)行結(jié)果認(rèn)證碼,判斷該第二指令執(zhí)行結(jié)果認(rèn)證碼與接收到的第一指令執(zhí)行結(jié)果認(rèn)證碼相同后,再將執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)。
較佳地,所述操作指令為改變?cè)O(shè)備狀態(tài)的設(shè)備管理指令,所述授權(quán)信息為安全芯片所有者授權(quán)信息;所述操作對(duì)象為芯片對(duì)象;所述操作指令為密鑰管理指令,所述操作對(duì)象為密鑰對(duì)象,所述授權(quán)信息為密鑰授權(quán)信息;所述操作指令為密碼操作指令,所述操作對(duì)象為密鑰對(duì)象和加密數(shù)據(jù)對(duì)象,所述授權(quán)信息為密鑰授權(quán)信息和加密數(shù)據(jù)授權(quán)信息,或所述操作對(duì)象為密鑰對(duì)象和哈希對(duì)象,所述授權(quán)信息為密鑰授權(quán)信息。
較佳地,在執(zhí)行過密鑰管理指令后,該方法進(jìn)一步包括應(yīng)用系統(tǒng)發(fā)送注冊(cè)密鑰指令或注銷密鑰指令,安全服務(wù)提供模塊或安全核心服務(wù)模塊根據(jù)接收到的指令在密鑰數(shù)據(jù)庫中注冊(cè)或注銷密鑰。
較佳地,步驟a所述操作指令為不改變?cè)O(shè)備狀態(tài)的指令,且該指令包括但不限于寄存器操作指令,芯片自檢指令、獲取自檢結(jié)果指令、獲取狀態(tài)信息指令。
較佳地,當(dāng)操作指令為寄存器操作指令時(shí),該方法進(jìn)一步包括,安全核心服務(wù)模塊記錄寄存器操作事件。
較佳地,所述訪問主機(jī)與具有安全芯片的主機(jī)為相同的主機(jī)或不同的主機(jī)。
本發(fā)明提供的實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置包括安全服務(wù)提供模塊、安全核心服務(wù)模塊和芯片驅(qū)動(dòng)庫,由于該裝置采用了分層的結(jié)構(gòu),因而達(dá)到了允許不同開發(fā)商定制不同的驅(qū)動(dòng)特性的目的,而且還支持不同開發(fā)商開發(fā)的上層軟件棧間的互操作。本發(fā)明提供的實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的方法,通過安全服務(wù)提供模塊、安全核心服務(wù)模塊和芯片驅(qū)動(dòng)庫實(shí)現(xiàn)對(duì)安全芯片的調(diào)用,由于安全服務(wù)提供模塊可以被安裝在具有安全芯片的主機(jī)上也可以被安裝在不具有安全芯片的主機(jī)上,因此使應(yīng)用系統(tǒng)與安全芯片之間實(shí)現(xiàn)了遠(yuǎn)程調(diào)用,且該遠(yuǎn)程調(diào)用可以是管理指令也可以是密碼操作指令。進(jìn)而每一安全芯片可支持由多個(gè)用戶共同使用。再有,密鑰數(shù)據(jù)庫的存在使安全芯片能夠存放更多的密鑰。


圖1所示為現(xiàn)有的實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置結(jié)構(gòu)示意圖;圖2所示為應(yīng)用本發(fā)明的用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置結(jié)構(gòu)示意圖;圖3所示為圖2所示裝置內(nèi)部結(jié)構(gòu)細(xì)化示意圖;圖4所示為實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片交互的一實(shí)施例的流程示意圖;圖5所示為實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片交互的另一實(shí)施例的流程示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明再做進(jìn)一步地詳細(xì)說明。
通常,在應(yīng)用系統(tǒng)首次使用安全芯片時(shí),將應(yīng)用系統(tǒng)與安全芯片之間的物理存在開關(guān)設(shè)置為“開”,在此狀態(tài)下,應(yīng)用系統(tǒng)直接創(chuàng)建安全芯片所有者及存儲(chǔ)根密鑰的信息,該安全芯片所有者信息和存儲(chǔ)根密鑰均被保存在安全芯片內(nèi),之后,會(huì)將物理存在開關(guān)設(shè)置為“關(guān)”的狀態(tài)。
而且,創(chuàng)建安全芯片所有者的同時(shí)還需進(jìn)一步設(shè)置安全芯片所有者授權(quán)信息,以及存儲(chǔ)根密鑰的根密鑰授權(quán)信息。當(dāng)應(yīng)用系統(tǒng)要安全芯片執(zhí)行重要的指令,如設(shè)備管理指令、密鑰管理指令或密碼操作指令等,所述授權(quán)信息用于驗(yàn)證訪問者的權(quán)限以及所傳輸?shù)臄?shù)據(jù)在途中是否被篡改過。當(dāng)應(yīng)用系統(tǒng)要安全芯片執(zhí)行非重要的指令,如寄存器操作指令等,則不需要授權(quán)信息的驗(yàn)證操作。
再有,不僅僅是清除安全芯片所有者及存儲(chǔ)根密鑰操作的操作需要在物理存在開關(guān)為“開”的狀態(tài),其他的一些改變?cè)O(shè)備狀態(tài)的操作,如enable/disable,active/deactive等指令,也可以通用驗(yàn)證物理存在開關(guān)的狀態(tài)來執(zhí)行,當(dāng)然,上述改變?cè)O(shè)備狀態(tài)的操作也可以通過驗(yàn)證安全芯片所有者授權(quán)信息的方式來執(zhí)行。
也就是說,上述應(yīng)用系統(tǒng)直接創(chuàng)建安全芯片所有者及存儲(chǔ)根密鑰或改變?cè)O(shè)備狀態(tài)的操作,既可以通過本發(fā)明所述的用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置實(shí)現(xiàn)創(chuàng)建,也可以通過BIOS接口等方式實(shí)現(xiàn)創(chuàng)建。
圖2所示為應(yīng)用本發(fā)明的用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置結(jié)構(gòu)示意圖。在該裝置包括安全服務(wù)提供模塊210,安全核心服務(wù)模塊220和芯片驅(qū)動(dòng)庫230。其中,安全服務(wù)提供模塊210位于TSS的最上層,用于接收應(yīng)用系統(tǒng)的操作指令,確定待連接的安全核心服務(wù)模塊220,向確定的安全核心服務(wù)模塊220發(fā)送操作指令,或者,將來自安全核心服務(wù)模塊220的指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng);安全核心服務(wù)模塊220位于安全服務(wù)提供模塊210與芯片驅(qū)動(dòng)庫230之間,對(duì)接收到的指令串行編碼后,向芯片驅(qū)動(dòng)庫230發(fā)送編碼后的指令,或者,接收來自芯片驅(qū)動(dòng)庫230的指令執(zhí)行結(jié)果信息,對(duì)接收到信息進(jìn)行解碼,將解碼后的指令執(zhí)行結(jié)果返回給安全服務(wù)提供模塊210;芯片驅(qū)動(dòng)庫230位于安全核心服務(wù)模塊220與芯片驅(qū)動(dòng)模塊240之間,接收來自安全核心服務(wù)模塊220的指令,通過驅(qū)動(dòng)芯片驅(qū)動(dòng)模塊240來驅(qū)動(dòng)安全芯片250執(zhí)行指令所指示的操作,或者,給安全核心服務(wù)模塊220返回安全芯片250的執(zhí)行結(jié)果信息。
至此,應(yīng)用系統(tǒng)與安全芯片之間實(shí)現(xiàn)了交互。由于本發(fā)明所述裝置采用了分層的結(jié)構(gòu),因而達(dá)到了允許不同開發(fā)商定制不同的驅(qū)動(dòng)特性的目的,而且還可以支持不同開發(fā)商開發(fā)的上層軟件棧間的互操作。
上述用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置內(nèi)還可以進(jìn)一步包括密鑰數(shù)據(jù)庫260,安全服務(wù)提供模塊210或安全核心服務(wù)模塊220接收來自應(yīng)用系統(tǒng)的指令,將安全芯片250已生成的密鑰注冊(cè)到密鑰數(shù)據(jù)庫260中或注銷密鑰數(shù)據(jù)庫中的密鑰。
從軟硬件角度看,安全服務(wù)提供模塊210、安全核心服務(wù)模塊220、芯片驅(qū)動(dòng)庫230和芯片驅(qū)動(dòng)模塊240屬于軟件層,安全芯片250屬于硬件層。軟件層中的芯片驅(qū)動(dòng)模塊240屬于內(nèi)核模式,其它模塊屬于用戶模式。用戶模式進(jìn)程中安全服務(wù)提供模塊210屬于用戶進(jìn)程,安全核心服務(wù)模塊220和芯片驅(qū)動(dòng)庫230屬于系統(tǒng)進(jìn)程。
上述安全服務(wù)提供模塊210位于訪問主機(jī)內(nèi),安全核心服務(wù)模塊220和芯片驅(qū)動(dòng)庫230位于具有安全芯片250的主機(jī)內(nèi),且訪問主機(jī)和具有安全芯片250的主機(jī)可以是同一主機(jī),也可以是不同的主機(jī)。
圖3所示為圖2所示裝置內(nèi)部結(jié)構(gòu)細(xì)化示意圖。在安全服務(wù)提供模塊310內(nèi)包含上下文管理模塊311、策略對(duì)象管理模塊312、操作對(duì)象管理模塊313和芯片對(duì)象管理模塊315,在安全核心服務(wù)模塊320包括授權(quán)操作模塊321、指令操作模塊322和設(shè)備操作模塊325。
所述上下文管理模塊311用于接收應(yīng)用系統(tǒng)的對(duì)象創(chuàng)建指令,創(chuàng)建上下文對(duì)象,并將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);或者,接收來自應(yīng)用系統(tǒng)的連接指令,連接應(yīng)用系統(tǒng)指定的安全核心服務(wù)模塊,并將連接結(jié)果返回給應(yīng)用系統(tǒng);或者,上下文管理模塊311內(nèi)的上下文對(duì)象創(chuàng)建與操作指令相對(duì)應(yīng)的操作對(duì)象,及與該操作對(duì)象相關(guān)聯(lián)的策略對(duì)象,或創(chuàng)建與設(shè)備狀態(tài)管理指令相對(duì)應(yīng)的芯片對(duì)象及與該芯片對(duì)象相關(guān)聯(lián)的策略對(duì)象,并將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);該設(shè)備狀態(tài)管理指令為改變?cè)O(shè)備狀態(tài)設(shè)備管理指令或不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令;所述策略對(duì)象管理模塊312用于接收應(yīng)用系統(tǒng)設(shè)置的與某個(gè)策略對(duì)象相關(guān)聯(lián)的授權(quán)信息,保存并管理已創(chuàng)建的策略對(duì)象及與該策略對(duì)象相關(guān)聯(lián)的授權(quán)信息;所述操作對(duì)象管理模塊313用于保存并管理已創(chuàng)建的操作對(duì)象,接收來自應(yīng)用系統(tǒng)的操作指令,向安全核心提供模塊320內(nèi)的授權(quán)操作模塊321發(fā)送授權(quán)會(huì)話創(chuàng)建請(qǐng)求,從授權(quán)操作模塊321接收本次授權(quán)會(huì)話的會(huì)話句柄和現(xiàn)時(shí)標(biāo)志,從策略對(duì)象管理模塊312內(nèi)獲取操作對(duì)象所對(duì)應(yīng)的授權(quán)信息,應(yīng)用該會(huì)話句柄和現(xiàn)時(shí)標(biāo)志以及授權(quán)信息,或現(xiàn)時(shí)標(biāo)志和授權(quán)信息計(jì)算操作指令認(rèn)證碼,向確定的安全核心服務(wù)模塊320發(fā)送操作指令,或者,接收來自安全核心服務(wù)模塊320的指令執(zhí)行結(jié)果,應(yīng)用該會(huì)話句柄和現(xiàn)時(shí)標(biāo)志以及授權(quán)信息,或現(xiàn)時(shí)標(biāo)志和授權(quán)信息計(jì)算指令操作結(jié)果認(rèn)證碼,對(duì)指令執(zhí)行結(jié)果認(rèn)證碼驗(yàn)證成功后,將指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)。
所述芯片對(duì)象管理模塊315用于保存并管理已創(chuàng)建的芯片對(duì)象,接收來自應(yīng)用系統(tǒng)的改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,計(jì)算指令認(rèn)證操作碼,向確定的安全核心服務(wù)模塊320發(fā)送包含指令認(rèn)證操作碼的改變?cè)O(shè)備狀態(tài)指令,或者,接收來自安全核心服務(wù)模塊320的指令執(zhí)行結(jié)果,對(duì)指令執(zhí)行結(jié)果驗(yàn)證成功后,將指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng);或者,該所述芯片對(duì)象管理模塊315接收來自應(yīng)用系統(tǒng)的不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,向確定的安全核心服務(wù)模塊320發(fā)送接收到的指令,或者,接收來自安全核心服務(wù)模塊320的指令執(zhí)行結(jié)果,指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)。
所述授權(quán)操作模塊321用于接收來自操作對(duì)象管理模塊313或芯片對(duì)象管理模塊315的授權(quán)會(huì)話創(chuàng)建請(qǐng)求,將接收到的請(qǐng)求編碼后發(fā)送給芯片驅(qū)動(dòng)庫330,或者,接收來自芯片驅(qū)動(dòng)庫330的創(chuàng)建授權(quán)會(huì)話的執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取本次授權(quán)會(huì)話的會(huì)話句柄和現(xiàn)時(shí)標(biāo)志,并將所獲取的本次授權(quán)會(huì)話的會(huì)話句柄和現(xiàn)時(shí)標(biāo)志返回給操作對(duì)象管理模塊313或芯片對(duì)象管理模塊315;所述指令操作模塊322用于接收來自操作對(duì)象管理模塊313的操作指令,將接收到的操作指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫330,或者,接收來自芯片驅(qū)動(dòng)庫330的指令執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取本次指令執(zhí)行結(jié)果及指令執(zhí)行結(jié)果認(rèn)證碼,并將所獲取指令執(zhí)行結(jié)果及指令執(zhí)行結(jié)果認(rèn)證碼返回給操作對(duì)象管理模塊313。
所述設(shè)備操作模塊325用于接收來自芯片對(duì)象管理模塊315的改變?cè)O(shè)備狀態(tài)設(shè)備管理指令或不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,將接收到的指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收來自芯片驅(qū)動(dòng)庫的指令執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取包含指令執(zhí)行結(jié)果認(rèn)證碼的指令執(zhí)行結(jié)果,或不包含指令執(zhí)行結(jié)果認(rèn)證碼的指令執(zhí)行結(jié)果,并將所獲取的信息返回給芯片對(duì)象管理模塊315。
所述操作指令為改變?cè)O(shè)備狀態(tài)設(shè)備管理指令或不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,改變?cè)O(shè)備狀態(tài)設(shè)備管理指令如enable/disable等,不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令如對(duì)安全芯片進(jìn)行基本控制、獲取安全芯片狀態(tài)數(shù)據(jù)等,所述操作對(duì)象為芯片對(duì)象,所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為安全芯片所有者授權(quán)信息。
所述操作指令為密鑰管理指令,如產(chǎn)生密鑰等,所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息,所述操作對(duì)象為密鑰對(duì)象,所述操作對(duì)象管理模塊313包括密鑰對(duì)象管理模塊313a,所述指令操作模塊322包括密鑰操作模塊322a。
所述操作指令為密碼操作指令,如加解密操作等,所述操作對(duì)象為密鑰對(duì)象和加密數(shù)據(jù)對(duì)象或所述操作對(duì)象為密鑰對(duì)象和哈希對(duì)象,所述操作對(duì)象管理模塊313包括加密數(shù)據(jù)對(duì)象管理模塊或哈希對(duì)象管理模塊313b,當(dāng)所述操作對(duì)象管理模塊313包括加密數(shù)據(jù)對(duì)象管理模塊時(shí),所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息和加密數(shù)據(jù)授權(quán)信息,當(dāng)所述操作對(duì)象管理模塊313包括哈希對(duì)象管理模塊時(shí),所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息,所述指令操作模塊322包括密碼操作模塊322b。
根據(jù)不同的操作指令,操作對(duì)象管理模塊313內(nèi)可以包含與不同操作指令相對(duì)應(yīng)的模塊,也就是說,在操作對(duì)象管理模塊313內(nèi),既可以只包含密鑰對(duì)象管理模塊313a,也可以只包含加密數(shù)據(jù)對(duì)象管理模塊或哈希對(duì)象管理模塊313b,也可以是同時(shí)包含密鑰對(duì)象管理模塊313a,和加密數(shù)據(jù)對(duì)象管理模塊或哈希對(duì)象管理模塊313b,還可以包含其他模塊。相應(yīng)地,在指令操作模塊322內(nèi),既可以只包含密鑰操作模塊322a,或只包含密碼操作模塊322b,也可以是同時(shí)包含密鑰操作模塊322a和密碼操作模塊322b,還可以包含其他模塊。
圖3所示安全服務(wù)提供模塊310內(nèi)可以進(jìn)一步包含寄存器對(duì)象管理模塊314,安全核心服務(wù)模塊320內(nèi)可以進(jìn)一步包含寄存器操作模塊323,所述寄存器對(duì)象管理模塊314用于接收來自應(yīng)用系統(tǒng)的寄存器操作指令,向確定的安全核心服務(wù)模塊320內(nèi)的寄存器操作模塊323發(fā)送操作指令,或者,將來自寄存器操作模塊323的寄存器指令操作結(jié)果返回給應(yīng)用系統(tǒng);寄存器操作模塊323用于將接收到的指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫330,或者,接收芯片驅(qū)動(dòng)庫330返回的執(zhí)行結(jié)果信息,將接收到的信息解碼后獲取寄存器指令操作結(jié)果,并將所獲取的寄存器指令操作結(jié)果返回給寄存器對(duì)象管理模塊314。
在圖3所示的安全核心服務(wù)模塊320內(nèi)還可以進(jìn)一步包含事件管理模塊324,該事件管理模塊324用于接收來自寄存器對(duì)象管理模塊314的調(diào)用,記錄寄存器操作事件。
安全服務(wù)提供模塊310還可以有實(shí)現(xiàn)其他功能的模塊。
根據(jù)圖3所示裝置,應(yīng)用系統(tǒng)通過本發(fā)明所述的用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置創(chuàng)建安全芯片所有者及存儲(chǔ)根密鑰時(shí),其創(chuàng)建指令直接通過安全服務(wù)提供模塊內(nèi)的芯片對(duì)象管理模塊313a、安全核心服務(wù)模塊內(nèi)的設(shè)備操作模塊322a、芯片驅(qū)動(dòng)庫、芯片驅(qū)動(dòng)模塊達(dá)到安全芯片,安全芯片檢驗(yàn)物理存在開關(guān)為“開”的狀態(tài)后執(zhí)行所述創(chuàng)建操作。在實(shí)際操作中,物理存在開關(guān)的狀態(tài)也可以是通過一個(gè)狀態(tài)位實(shí)現(xiàn)的。
下面具體說明對(duì)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的實(shí)現(xiàn)方法。
圖4所示為應(yīng)用圖3所示裝置的實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片交互的一實(shí)施例的流程示意圖。在本實(shí)施例中,應(yīng)用系統(tǒng)所發(fā)的操作指令為改變?cè)O(shè)備狀態(tài)的設(shè)備管理指令,且具體為改變芯片狀態(tài)的芯片管理指令,與該芯片管理指令相對(duì)應(yīng)的授權(quán)信息為安全芯片所有者授權(quán)信息,安全服務(wù)提供模塊所創(chuàng)建的操作對(duì)象為芯片對(duì)象,安全服務(wù)提供模塊內(nèi)的操作對(duì)象管理模塊中包含芯片對(duì)象管理模塊,安全核心服務(wù)模塊內(nèi)的指令操作模塊中包含設(shè)備操作模塊。
步驟401,安全服務(wù)提供模塊內(nèi)的上下文管理模塊接收到應(yīng)用系統(tǒng)的對(duì)象創(chuàng)建指令后,創(chuàng)建上下文對(duì)象,將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);所創(chuàng)建的上下文對(duì)象保存在上下文管理模塊內(nèi);步驟402~404,應(yīng)用系統(tǒng)向上下文管理模塊內(nèi)的上下文對(duì)象發(fā)送連接指令,該指令中包含待連接的安全核心服務(wù)模塊的地址;上下文對(duì)象根據(jù)指令中的地址與該指定的安全核心服務(wù)模塊建立連接,并將連接結(jié)果返回給應(yīng)用系統(tǒng);同時(shí)上下文對(duì)象創(chuàng)建芯片對(duì)象,并將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng),芯片對(duì)象保存在芯片對(duì)象管理模塊內(nèi);步驟405,應(yīng)用系統(tǒng)向上下文管理模塊內(nèi)的上下文對(duì)象發(fā)送創(chuàng)建策略對(duì)象的指令,上下文對(duì)象創(chuàng)建策略對(duì)象并將結(jié)果返回給應(yīng)用系統(tǒng);步驟406,應(yīng)用系統(tǒng)向策略對(duì)象發(fā)送授權(quán)信息設(shè)置指令,為該策略對(duì)象設(shè)置安全芯片所有者授權(quán)信息,將安全芯片所有者授權(quán)信息與該策略對(duì)象相關(guān)聯(lián),將該策略對(duì)象與芯片對(duì)象關(guān)聯(lián);步驟407,應(yīng)用系統(tǒng)通過上下文對(duì)象獲取芯片對(duì)象,然后向安全服務(wù)提供模塊內(nèi)的芯片對(duì)象管理模塊中的芯片對(duì)象發(fā)送改變芯片狀態(tài)的芯片管理指令;步驟408,芯片對(duì)象接收到上述指令后,向已建立連接的安全核心服務(wù)模塊內(nèi)的授權(quán)操作模塊發(fā)送創(chuàng)建授權(quán)會(huì)話的請(qǐng)求;步驟409,安全核心服務(wù)模塊內(nèi)的授權(quán)操作模塊將創(chuàng)建授權(quán)會(huì)話請(qǐng)求編碼后經(jīng)芯片驅(qū)動(dòng)庫傳遞給安全芯片;步驟410,安全芯片創(chuàng)建授權(quán)會(huì)話,生成本次授權(quán)會(huì)話的會(huì)話句柄和現(xiàn)時(shí)標(biāo)志;所述現(xiàn)時(shí)標(biāo)志為一隨機(jī)的數(shù)據(jù)串,用于以后的加解密操作,以保證通信過程的安全。
步驟411,安全芯片將包含本次授權(quán)會(huì)話的會(huì)話句柄和現(xiàn)時(shí)標(biāo)志的執(zhí)行結(jié)果信息經(jīng)芯片驅(qū)動(dòng)庫返回給安全核心服務(wù)模塊內(nèi)的授權(quán)操作模塊;步驟412,安全核心服務(wù)模塊內(nèi)的授權(quán)操作模塊對(duì)接收到的信息進(jìn)行解碼,獲取本次授權(quán)會(huì)話的會(huì)話句柄和現(xiàn)時(shí)標(biāo)志,并返回給安全服務(wù)提供模塊內(nèi)的芯片對(duì)象管理模塊;步驟413,安全服務(wù)提供模塊內(nèi)的芯片對(duì)象管理模塊應(yīng)用會(huì)話句柄、現(xiàn)時(shí)標(biāo)志和安全芯片所有者授權(quán)信息對(duì)芯片管理指令進(jìn)行計(jì)算,獲得第一芯片管理指令認(rèn)證碼;上述會(huì)話句柄、現(xiàn)時(shí)標(biāo)志和第一芯片管理指令認(rèn)證碼共同構(gòu)成指令認(rèn)證數(shù)據(jù);上述安全芯片所有者授權(quán)信息是根據(jù)預(yù)先設(shè)置的關(guān)聯(lián)信息,通過操作對(duì)象即芯片對(duì)象獲取與該操作對(duì)象對(duì)應(yīng)的策略對(duì)象,進(jìn)而根據(jù)該策略對(duì)象獲取安全芯片所有者授權(quán)信息;上述會(huì)話句柄和現(xiàn)時(shí)標(biāo)志可合稱為認(rèn)證碼計(jì)算參數(shù),本實(shí)施例中是應(yīng)用認(rèn)證碼計(jì)算參數(shù)中的會(huì)話句柄、現(xiàn)時(shí)標(biāo)志和安全芯片所有者授權(quán)信息進(jìn)行認(rèn)證碼的計(jì)算,在具體實(shí)現(xiàn)時(shí),也可以應(yīng)用現(xiàn)時(shí)標(biāo)志和安全芯片所有者授權(quán)信息進(jìn)行認(rèn)證碼的計(jì)算,即只應(yīng)用認(rèn)證碼計(jì)算參數(shù)中的現(xiàn)時(shí)標(biāo)志參與認(rèn)證碼的計(jì)算。以下類似步驟同。
步驟414,安全服務(wù)提供模塊內(nèi)的芯片對(duì)象管理模塊向安全核心服務(wù)模塊內(nèi)的設(shè)備操作模塊發(fā)送改變芯片狀態(tài)的芯片管理指令請(qǐng)求,該請(qǐng)求中包含步驟413所述的指令認(rèn)證數(shù)據(jù);步驟415,安全核心服務(wù)模塊內(nèi)的設(shè)備操作模塊將接收到的請(qǐng)求編碼后經(jīng)芯片驅(qū)動(dòng)庫傳遞給安全芯片;步驟416,安全芯片驗(yàn)證第一芯片管理指令認(rèn)證碼;具體的驗(yàn)證方法為安全芯片從接收到的信息中獲取芯片管理指令、會(huì)話句柄及現(xiàn)時(shí)標(biāo)志,應(yīng)用會(huì)話句柄、現(xiàn)時(shí)標(biāo)志及已加載到自身的安全芯片所有者信息計(jì)算第二芯片管理指令認(rèn)證碼,判斷該計(jì)算出的第二芯片管理指令認(rèn)證碼與接收到的第一芯片管理指令認(rèn)證碼是否相同,如果相同,則通過驗(yàn)證,并繼續(xù)執(zhí)行步驟417,否則拒絕執(zhí)行芯片管理指令所指示的操作,直接通過芯片驅(qū)動(dòng)庫、安全核心服務(wù)模塊及安全服務(wù)提供模塊給應(yīng)用系統(tǒng)返回錯(cuò)誤信息,結(jié)束。
上述安全芯片所有者授權(quán)信息是在創(chuàng)建安全芯片所有者的同時(shí)創(chuàng)建的,并且,在加載安全芯片所有者時(shí)就同時(shí)將芯片所有者授權(quán)信息加載到安全芯片內(nèi)。
步驟417,安全芯片執(zhí)行設(shè)備操作;步驟418,安全芯片應(yīng)用會(huì)話句柄、現(xiàn)時(shí)標(biāo)志和已加載到自身的安全芯片所有者授權(quán)信息對(duì)指令執(zhí)行結(jié)果進(jìn)行計(jì)算,獲得第一指令執(zhí)行結(jié)果認(rèn)證碼,并且將會(huì)話句柄、現(xiàn)時(shí)標(biāo)志和第一指令執(zhí)行結(jié)果認(rèn)證碼作為指令結(jié)果認(rèn)證數(shù)據(jù);步驟419,安全芯片將包括指令結(jié)果認(rèn)證數(shù)據(jù)在內(nèi)的設(shè)備操作執(zhí)行結(jié)果信息,經(jīng)芯片驅(qū)動(dòng)庫返回給安全核心服務(wù)模塊內(nèi)的設(shè)備操作模塊;步驟420,安全核心服務(wù)模塊內(nèi)的設(shè)備操作模塊對(duì)接收到的信息進(jìn)行解碼,獲取指令執(zhí)行結(jié)果和指令結(jié)果認(rèn)證數(shù)據(jù),并將所獲取的指令執(zhí)行結(jié)果和指令結(jié)果認(rèn)證數(shù)據(jù)返回給安全服務(wù)提供模塊內(nèi)的芯片對(duì)象管理模塊;步驟421,安全服務(wù)提供模塊內(nèi)的芯片對(duì)象管理模塊驗(yàn)證第一指令執(zhí)行結(jié)果認(rèn)證碼;具體的驗(yàn)證方法為安全服務(wù)提供模塊內(nèi)的芯片對(duì)象管理模塊根據(jù)接收到信息獲取芯片管理指令執(zhí)行結(jié)果和指令結(jié)果認(rèn)證數(shù)據(jù),應(yīng)用會(huì)話句柄、現(xiàn)時(shí)標(biāo)志及安全芯片所有者信息計(jì)算第二指令執(zhí)行結(jié)果認(rèn)證碼,判斷該計(jì)算出的第二指令執(zhí)行結(jié)果認(rèn)證碼與接收到的第一指令執(zhí)行結(jié)果認(rèn)證碼是否相同,如果相同,則通過驗(yàn)證,并繼續(xù)執(zhí)行步驟422,否則拒絕執(zhí)行芯片管理指令所指示的操作,直接給應(yīng)用系統(tǒng)返回錯(cuò)誤信息,結(jié)束。
步驟422,安全服務(wù)提供模塊將設(shè)備操作結(jié)果返回給應(yīng)用系統(tǒng)。
至此,實(shí)現(xiàn)了應(yīng)用系統(tǒng)與安全芯片之間的交互。上述流程是針對(duì)應(yīng)用系統(tǒng)第一次發(fā)送命令的,如果是非第一次,即安全服務(wù)提供模塊內(nèi)已存在上下文對(duì)象、芯片對(duì)象及相應(yīng)的策略對(duì)象,且已存在連接,則不需要再執(zhí)行創(chuàng)建及連接操作,直接從步驟407開始執(zhí)行上述流程即可。
以上所述流程僅為一實(shí)施例,具體的交互并僅不限于上述指令,還可以是密鑰管理指令,密碼操作指令等。
如果上述操作指令為密鑰管理指令,則步驟402~404中,上下文對(duì)象將根據(jù)已存在的存儲(chǔ)根密鑰或存儲(chǔ)根密鑰的衍生密鑰創(chuàng)建密鑰對(duì)象;步驟406中的授權(quán)信息為密鑰授權(quán)信息,步驟406中所加載的信息為用于創(chuàng)建密鑰對(duì)象的父密鑰,即將已存在的存儲(chǔ)根密鑰或存儲(chǔ)根密鑰的衍生密鑰,和已存在的存儲(chǔ)根密鑰或存儲(chǔ)根密鑰的衍生密鑰的密鑰授權(quán)信息,或者,上下文對(duì)象從密鑰數(shù)據(jù)庫中直接獲取已注冊(cè)的包含密鑰授權(quán)信息的密鑰數(shù)據(jù),并將該獲取的密鑰數(shù)據(jù)加載到安全芯片內(nèi),上述被創(chuàng)建的密鑰對(duì)象或與獲取的密鑰數(shù)據(jù)相對(duì)應(yīng)的密鑰對(duì)象,保存在安全服務(wù)提供模塊中的密鑰對(duì)象管理模塊內(nèi)。相應(yīng)地,圖4所示實(shí)施例中所有芯片對(duì)象管理模塊所執(zhí)行的操作均由密鑰對(duì)象管理模塊來執(zhí)行,其整體的操作流程與芯片對(duì)象管理模塊的操作流程是一致的,僅具體實(shí)際操作的對(duì)象不同。再有,由于操作指令的不一樣,因此,在步驟418中,安全芯片執(zhí)行的是密鑰管理操作。同樣地,如果安全服務(wù)提供模塊內(nèi)已存在上下文對(duì)象、相應(yīng)的密鑰對(duì)象及策略對(duì)象,且已存在連接,則不需要再執(zhí)行創(chuàng)建及連接操作,直接從步驟407開始執(zhí)行即可。
在執(zhí)行過密鑰管理指令后,應(yīng)用系統(tǒng)還可以發(fā)送注冊(cè)密鑰指令或注銷密鑰指令,該指令中包含有是由安全服務(wù)提供模塊執(zhí)行操作還是由安全核心服務(wù)模塊執(zhí)行操作的信息,以指示安全服務(wù)提供模塊或安全核心服務(wù)模塊在密鑰數(shù)據(jù)庫中注冊(cè)或注銷密鑰。如果指示安全服務(wù)提供模塊執(zhí)行操作,則由安全服務(wù)模塊內(nèi)的密鑰對(duì)象管理模塊執(zhí)行注冊(cè)或注銷的操作,如果指示安全核心服務(wù)模塊執(zhí)行操作,則由安全核心服務(wù)模塊內(nèi)的密鑰操作模塊執(zhí)行注冊(cè)或注銷的操作。
如果上述操作指令為密碼操作指令,則步驟402~404中,上下文對(duì)象將根據(jù)已存在的存儲(chǔ)根密鑰或存儲(chǔ)根密鑰的衍生密鑰創(chuàng)建密鑰對(duì)象,以及加密數(shù)據(jù)對(duì)象或哈希對(duì)象,加密數(shù)據(jù)對(duì)象保存在安全服務(wù)提供模塊中的加密數(shù)據(jù)對(duì)象管理模塊內(nèi),哈希對(duì)象保存在在安全服務(wù)提供模塊中的哈希對(duì)象管理模塊內(nèi),由于加密數(shù)據(jù)對(duì)象需要設(shè)置授權(quán)信息,哈希對(duì)象不需要設(shè)置授權(quán)信息,因此,如果是由加密數(shù)據(jù)對(duì)象管理模塊執(zhí)行相應(yīng)操作,則步驟406中的授權(quán)信息為密鑰授權(quán)信息和加密數(shù)據(jù)授權(quán)信息,如果是由哈希對(duì)象管理模塊執(zhí)行相應(yīng)操作,則步驟406中所設(shè)置的授權(quán)信息為密鑰授權(quán)信息。步驟406中所加載的信息為用于創(chuàng)建密鑰對(duì)象的父密鑰,即已存在的存儲(chǔ)根密鑰或存儲(chǔ)根密鑰的衍生密鑰,和已存在的存儲(chǔ)根密鑰或存儲(chǔ)根密鑰的衍生密鑰的密鑰授權(quán)信息,或者,上下文對(duì)象從密鑰數(shù)據(jù)庫中直接獲取已注冊(cè)的包含密鑰授權(quán)信息的密鑰數(shù)據(jù),并將該獲取的密鑰數(shù)據(jù)加載到安全芯片內(nèi),如果授權(quán)信息中包含加密數(shù)據(jù)授權(quán)信息,則該加密數(shù)據(jù)授權(quán)信息是在加密數(shù)據(jù)被加載到安全芯片內(nèi)時(shí)加載進(jìn)去的。上述被創(chuàng)建的密鑰對(duì)象或與獲取的密鑰數(shù)據(jù)相對(duì)應(yīng)的密鑰對(duì)象,保存在安全服務(wù)提供模塊中的密鑰對(duì)象管理模塊內(nèi)。相應(yīng)地,圖4所示實(shí)施例中所有芯片對(duì)象管理模塊所執(zhí)行的操作均由加密數(shù)據(jù)對(duì)象管理模塊或哈希對(duì)象管理模塊來執(zhí)行,其整體的操作流程與芯片對(duì)象管理模塊的操作流程是一致的,僅具體實(shí)際操作的對(duì)象不同。再有,由于操作指令的不一樣,因此,在步驟418中,安全芯片執(zhí)行的是密碼操作。同樣地,如果安全服務(wù)提供模塊內(nèi)已存在上下文對(duì)象、密碼對(duì)象及相應(yīng)的策略對(duì)象,且已建立連接,則不需要再執(zhí)行創(chuàng)建及連接操作,直接從步驟407開始執(zhí)行即可。
圖5所示為實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的另一實(shí)施例的流程示意圖。在本實(shí)施例中,應(yīng)用系統(tǒng)所發(fā)的為寄存器操作指令,安全服務(wù)提供模塊內(nèi)包含寄存器對(duì)象管理模塊,安全核心服務(wù)模塊內(nèi)包含寄存器操作模塊。
步驟501,安全服務(wù)提供模塊內(nèi)的上下文管理模塊接收到應(yīng)用系統(tǒng)的對(duì)象創(chuàng)建指令后,創(chuàng)建上下文對(duì)象,將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);所創(chuàng)建的上下文對(duì)象保存在上下文管理模塊內(nèi);步驟502~504,應(yīng)用系統(tǒng)向上下文管理模塊內(nèi)的上下文對(duì)象發(fā)送連接指令,該指令中包含待連接的安全核心服務(wù)模塊的地址,上下文對(duì)象根據(jù)指令中的地址與該指定的安全核心服務(wù)模塊建立連接,并將連接結(jié)果返回給應(yīng)用系統(tǒng);同時(shí)上下文對(duì)象創(chuàng)建寄存器對(duì)象,寄存器對(duì)象保存在寄存器對(duì)象管理模塊內(nèi),將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);步驟505,應(yīng)用系統(tǒng)向安全服務(wù)提供模塊內(nèi)的寄存器對(duì)象管理模塊中的寄存器對(duì)象發(fā)送寄存器操作指令;該指令中包含待讀/寫寄存器的編號(hào);步驟506,寄存器對(duì)象向安全核心服務(wù)模塊內(nèi)的寄存器操作模塊發(fā)送寄存器操作指令,該指令中包含待讀/寫的寄存器的編號(hào);步驟507,安全核心服務(wù)模塊內(nèi)的寄存器操作模塊將寄存器操作請(qǐng)求編碼后經(jīng)芯片驅(qū)動(dòng)庫傳遞給安全芯片;步驟508,安全芯片根據(jù)接收到的待讀/寫的寄存器的編號(hào),讀/寫指定寄存器內(nèi)容;步驟509,安全芯片將執(zhí)行結(jié)果經(jīng)芯片驅(qū)動(dòng)庫返回給安全核心服務(wù)模塊內(nèi)的寄存器操作模塊;步驟510,安全核心服務(wù)模塊內(nèi)的寄存器操作模塊對(duì)接收到的寄存器操作執(zhí)行結(jié)果信息進(jìn)行解碼,獲取寄存器操作執(zhí)行結(jié)果,并將所獲取的寄存器操作執(zhí)行結(jié)果返回給安全服務(wù)提供模塊內(nèi)的寄存器對(duì)象管理模塊;步驟511,安全服務(wù)提供模塊中的寄存器對(duì)象管理模塊將寄存器操作結(jié)果返回給應(yīng)用系統(tǒng)。
至此,實(shí)現(xiàn)了應(yīng)用系統(tǒng)讀/寫寄存器的操作。上述流程是針對(duì)應(yīng)用系統(tǒng)第一次發(fā)送命令的,如果是非第一次,即安全服務(wù)提供模塊內(nèi)已存在上下文對(duì)象及相應(yīng)的寄存器對(duì)象,且已存在連接,則不需要再執(zhí)行創(chuàng)建及連接操作,直接從步驟505開始執(zhí)行上述流程即可。
針對(duì)圖5所示實(shí)施例,上述安全核心服務(wù)模塊內(nèi)還可以進(jìn)一步包含事件管理模塊,在步驟504中,該事件管理模塊接收來自寄存器對(duì)象管理模塊的調(diào)用,記錄寄存器操作事件。
安全芯片與芯片驅(qū)動(dòng)庫之間的交互是經(jīng)芯片驅(qū)動(dòng)模塊實(shí)現(xiàn)的,由于實(shí)現(xiàn)方式與現(xiàn)有技術(shù)相同,因此在上述所有涉及安全芯片與芯片驅(qū)動(dòng)庫的交互步驟中,均省略了芯片驅(qū)動(dòng)模塊的描述。
圖5所示流程是針對(duì)寄存器操作指令,而一些不改變?cè)O(shè)備狀態(tài)的設(shè)備管理指令,如芯片自檢/獲取自檢結(jié)果/獲取狀態(tài)信息等指令,也應(yīng)用上述流程,只是具體執(zhí)行的實(shí)體是由芯片對(duì)象管理模塊內(nèi)的芯片對(duì)象以及相應(yīng)的設(shè)備操作模塊來執(zhí)行的。上述寄存器操作指令和芯片自檢等指令可統(tǒng)稱為不改變?cè)O(shè)備狀態(tài)的指令,也就是說,凡是涉及不改變?cè)O(shè)備狀態(tài)的指令,均可采用圖5所示流程,所不同的是根據(jù)具體指令由與該指令對(duì)應(yīng)的模塊來執(zhí)行即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置,其特征在于,該裝置包括安全服務(wù)提供模塊,安全核心服務(wù)模塊和芯片驅(qū)動(dòng)庫,其中,所述安全服務(wù)提供模塊,用于接收應(yīng)用系統(tǒng)的操作指令,確定待連接的安全核心服務(wù)模塊,向確定的安全核心服務(wù)模塊發(fā)送操作指令,或者,將來自安全核心服務(wù)模塊的指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng);所述安全核心服務(wù)模塊,位于安全服務(wù)提供模塊與芯片驅(qū)動(dòng)庫之間,對(duì)接收到的指令編碼后,向芯片驅(qū)動(dòng)庫發(fā)送編碼后的指令,或者,接收來自芯片驅(qū)動(dòng)庫的指令執(zhí)行結(jié)果信息,對(duì)接收到信息進(jìn)行解碼,將解碼后的指令執(zhí)行結(jié)果返回給安全服務(wù)提供模塊;所述芯片驅(qū)動(dòng)庫,位于安全核心服務(wù)模塊與安全芯片之間,接收來自安全核心服務(wù)模塊的指令,驅(qū)動(dòng)安全芯片執(zhí)行指令所指示的操作,或者,給安全核心服務(wù)模塊返回安全芯片的執(zhí)行結(jié)果信息。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述安全服務(wù)提供模塊內(nèi)包含上下文管理模塊、策略對(duì)象管理模塊、操作對(duì)象管理模塊及芯片對(duì)象管理模塊;所述上下文管理模塊,用于接收應(yīng)用系統(tǒng)的對(duì)象創(chuàng)建指令,創(chuàng)建上下文對(duì)象,并將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);或者,接收來自應(yīng)用系統(tǒng)的連接指令,連接應(yīng)用系統(tǒng)指定的安全核心服務(wù)模塊,并將連接結(jié)果返回給應(yīng)用系統(tǒng);或者,上下文管理模塊內(nèi)的上下文對(duì)象創(chuàng)建與操作指令相對(duì)應(yīng)的操作對(duì)象,及與該操作對(duì)象相關(guān)聯(lián)的策略對(duì)象,或創(chuàng)建與設(shè)備狀態(tài)管理指令相對(duì)應(yīng)的芯片對(duì)象及與該芯片對(duì)象相關(guān)聯(lián)的策略對(duì)象,并將創(chuàng)建結(jié)果返回給應(yīng)用系統(tǒng);所述策略對(duì)象管理模塊,用于接收應(yīng)用系統(tǒng)設(shè)置的與某個(gè)策略對(duì)象相關(guān)聯(lián)的授權(quán)信息,保存并管理已創(chuàng)建的策略對(duì)象及與該策略對(duì)象相關(guān)聯(lián)的授權(quán)信息;所述操作對(duì)象管理模塊,用于保存并管理已創(chuàng)建的操作對(duì)象,接收來自應(yīng)用系統(tǒng)的操作指令,計(jì)算指令認(rèn)證操作碼,向確定的安全核心服務(wù)模塊發(fā)送包含指令認(rèn)證操作碼的操作指令,或者,接收來自安全核心服務(wù)模塊的指令執(zhí)行結(jié)果,對(duì)指令執(zhí)行結(jié)果驗(yàn)證成功后,將指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng);所述芯片對(duì)象管理模塊,用于保存并管理已創(chuàng)建的芯片對(duì)象,接收來自應(yīng)用系統(tǒng)的改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,計(jì)算指令認(rèn)證操作碼,向確定的安全核心服務(wù)模塊發(fā)送包含指令認(rèn)證操作碼的改變?cè)O(shè)備狀態(tài)指令,或者,接收來自安全核心服務(wù)模塊的指令執(zhí)行結(jié)果,對(duì)指令執(zhí)行結(jié)果驗(yàn)證成功后,將指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng);或者,所述芯片對(duì)象管理模塊,接收來自應(yīng)用系統(tǒng)的不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,向確定的安全核心服務(wù)模塊發(fā)送接收到的指令,或者,接收來自安全核心服務(wù)模塊的指令執(zhí)行結(jié)果,指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述安全核心服務(wù)模塊包括授權(quán)操作模塊、指令操作模塊和設(shè)備操作模塊。所述授權(quán)操作模塊,用于接收來自操作對(duì)象管理模塊或芯片對(duì)象管理模塊的授權(quán)會(huì)話創(chuàng)建請(qǐng)求,將接收到的請(qǐng)求編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收來自芯片驅(qū)動(dòng)庫的創(chuàng)建授權(quán)會(huì)話的執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取本次授權(quán)會(huì)話中用于計(jì)算認(rèn)證碼的認(rèn)證碼計(jì)算參數(shù),并將所獲取的認(rèn)證碼計(jì)算參數(shù)返回給操作對(duì)象管理模塊或芯片對(duì)象管理模塊;所述指令操作模塊,用于接收來自操作對(duì)象管理模塊的操作指令,將接收到的操作指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收來自芯片驅(qū)動(dòng)庫的指令執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取本次指令執(zhí)行結(jié)果及指令執(zhí)行結(jié)果認(rèn)證碼,并將所獲取指令執(zhí)行結(jié)果及指令執(zhí)行結(jié)果認(rèn)證碼返回給操作對(duì)象管理模塊;所述設(shè)備操作模塊,用于接收來自芯片對(duì)象管理模塊的改變?cè)O(shè)備狀態(tài)設(shè)備管理指令或不改變?cè)O(shè)備狀態(tài)設(shè)備管理指令,將接收到的指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收來自芯片驅(qū)動(dòng)庫的指令執(zhí)行結(jié)果信息,對(duì)接收到的信息進(jìn)行解碼,獲取包含指令執(zhí)行結(jié)果認(rèn)證碼的指令執(zhí)行結(jié)果或不包含指令執(zhí)行結(jié)果認(rèn)證碼的指令執(zhí)行結(jié)果指令執(zhí)行結(jié)果,并將所獲取的信息返回給芯片對(duì)象管理模塊。
4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述操作指令為改變?cè)O(shè)備狀態(tài)的設(shè)備管理指令或不改變?cè)O(shè)備狀態(tài)的設(shè)備管理指令時(shí),所述操作對(duì)象為芯片對(duì)象,所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為安全芯片所有者授權(quán)信息。
5.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述操作指令為密鑰管理指令,所述操作對(duì)象為密鑰對(duì)象,所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息,所述操作對(duì)象管理模塊包括密鑰對(duì)象管理模塊,所述指令操作模塊包括密鑰操作模塊。
6.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述操作指令為密碼操作指令,所述操作對(duì)象為密鑰對(duì)象和加密數(shù)據(jù)對(duì)象或所述操作對(duì)象為密鑰對(duì)象和哈希對(duì)象,所述操作對(duì)象管理模塊包括加密數(shù)據(jù)對(duì)象管理模塊或哈希對(duì)象管理模塊,當(dāng)所述操作對(duì)象管理模塊包括加密數(shù)據(jù)對(duì)象管理模塊時(shí),所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息和加密數(shù)據(jù)授權(quán)信息,當(dāng)所述操作對(duì)象管理模塊包括哈希對(duì)象管理模塊時(shí),所述與操作對(duì)象相對(duì)應(yīng)的授權(quán)信息為密鑰授權(quán)信息,所述指令操作模塊包括密碼操作模塊。
7.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述安全服務(wù)提供模塊內(nèi)進(jìn)一步包含寄存器對(duì)象管理模塊,所述安全核心服務(wù)模塊內(nèi)進(jìn)一步包含寄存器操作模塊,其中,所述寄存器對(duì)象管理模塊,用于接收來自應(yīng)用系統(tǒng)的寄存器操作指令,向確定的安全核心服務(wù)模塊內(nèi)的寄存器操作模塊發(fā)送操作指令,或者,將來自寄存器操作模塊的寄存器指令操作結(jié)果返回給應(yīng)用系統(tǒng);所述寄存器操作模塊,用于將接收到的指令編碼后發(fā)送給芯片驅(qū)動(dòng)庫,或者,接收芯片驅(qū)動(dòng)庫返回的執(zhí)行結(jié)果信息,將接收到的信息解碼后獲取寄存器指令操作結(jié)果,并將所獲取的寄存器指令操作結(jié)果返回給寄存器對(duì)象管理模塊。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述安全核心服務(wù)模塊內(nèi)進(jìn)一步包含事件管理模塊,所述事件管理模塊,用于接收來自寄存器對(duì)象管理模塊的調(diào)用,記錄寄存器操作事件。
9.根據(jù)權(quán)利要求1所述的裝置,其特征在于,該管理系統(tǒng)進(jìn)一步包括物理存在開關(guān),在物理存在開關(guān)為“開”的狀態(tài)時(shí),所述安全芯片執(zhí)行來自應(yīng)用系統(tǒng)創(chuàng)建安全芯片所有者及存儲(chǔ)根密鑰,或者改變?cè)O(shè)備狀態(tài)的操作。
10.一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的方法,其特征在于,在調(diào)用安全芯片的主機(jī)內(nèi)設(shè)置安全服務(wù)提供模塊,在具有安全芯片的主機(jī)內(nèi)設(shè)置安全核心服務(wù)模塊和芯片驅(qū)動(dòng)庫,該方法還包括以下步驟a、安全服務(wù)提供模塊接收到應(yīng)用系統(tǒng)的操作指令后,向已建立連接的安全核心服務(wù)模塊發(fā)送操作指令;b、安全核心服務(wù)模塊對(duì)接收到的指令進(jìn)行編碼,經(jīng)芯片驅(qū)動(dòng)庫向安全芯片發(fā)送編碼后的操作指令,安全芯片執(zhí)行指令所指示的操作,并經(jīng)芯片驅(qū)動(dòng)庫給安全核心服務(wù)模塊返回執(zhí)行的結(jié)果信息;c、安全核心服務(wù)模塊對(duì)接收到的信息進(jìn)行解碼,獲取安全芯片執(zhí)行指令結(jié)果,將所獲取的指令執(zhí)行結(jié)果返回給安全服務(wù)提供模塊;d、安全服務(wù)提供模塊從安全核心服務(wù)模塊返回的信息中獲取指令執(zhí)行結(jié)果,并將所獲取的執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,步驟a所述安全服務(wù)提供模塊與安全核心服務(wù)模塊建立連接的方法為安全服務(wù)提供模塊接收來自應(yīng)用系統(tǒng)的包含待連接安全核心服務(wù)模塊地址的連接指令,根據(jù)該指令中的地址與該指定的安全核心服務(wù)模塊建立連接。
12.根據(jù)權(quán)利要求10所述的方法,其特征在于,步驟a所述安全服務(wù)提供模塊向已連接的安全核心服務(wù)模塊發(fā)送操作指令的方法為安全服務(wù)提供模塊獲取操作指令認(rèn)證數(shù)據(jù),向確定的安全核心服務(wù)模塊發(fā)送包含操作指令認(rèn)證數(shù)據(jù)的操作指令。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,安全服務(wù)提供模塊獲取操作指令認(rèn)證數(shù)據(jù)的方法為安全服務(wù)提供模塊根據(jù)接收到的操作指令,以及已設(shè)置的與操作指令相對(duì)應(yīng)的操作對(duì)象所關(guān)聯(lián)的策略對(duì)象信息,獲得該策略對(duì)象的授權(quán)信息;安全服務(wù)提供模塊向安全核心服務(wù)模塊發(fā)送創(chuàng)建授權(quán)會(huì)話請(qǐng)求;安全核心服務(wù)模塊將創(chuàng)建授權(quán)會(huì)話請(qǐng)求編碼后經(jīng)芯片驅(qū)動(dòng)庫傳遞給安全芯片,由安全芯片執(zhí)行創(chuàng)建授權(quán)會(huì)話操作,生成本次授權(quán)會(huì)話的會(huì)話句柄和現(xiàn)時(shí)標(biāo)志,并將所生成的信息經(jīng)芯片驅(qū)動(dòng)庫返回給安全核心服務(wù)模塊;安全核心服務(wù)模塊對(duì)接收到的信息進(jìn)行解碼,獲取本次認(rèn)證碼計(jì)算參數(shù),并將所獲取的本次認(rèn)證碼計(jì)算參數(shù)返回安全服務(wù)提供模塊;安全服務(wù)提供模塊從安全核心模塊返回的信息中獲取本次認(rèn)證碼計(jì)算參數(shù);安全服務(wù)提供模塊獲取認(rèn)證碼計(jì)算參數(shù),應(yīng)用所述認(rèn)證碼計(jì)算參數(shù)以及授權(quán)信息計(jì)算第一操作指令認(rèn)證碼,將認(rèn)證碼計(jì)算參數(shù)和第一操作指令認(rèn)證碼作為操作指令認(rèn)證數(shù)據(jù);所述認(rèn)證碼計(jì)算參數(shù)為會(huì)話句柄和現(xiàn)時(shí)標(biāo)志,或者所述認(rèn)證碼計(jì)算參數(shù)為現(xiàn)時(shí)標(biāo)志。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,步驟b所述安全芯片執(zhí)行指令所指示操作的過程為安全芯片從接收到的操作指令認(rèn)證數(shù)據(jù)中獲取認(rèn)證碼計(jì)算參數(shù)和操作指令認(rèn)證碼,應(yīng)用認(rèn)證碼計(jì)算參數(shù)和已加載的授權(quán)信息計(jì)算第二操作指令認(rèn)證碼,驗(yàn)證計(jì)算出的第二操作指令認(rèn)證碼與接收到的第一操作指令認(rèn)證碼是否完全一致后,執(zhí)行操作指令所指示的操作。
15.根據(jù)權(quán)利要求13所述的方法,其特征在于,步驟b所述安全芯片經(jīng)芯片驅(qū)動(dòng)庫給安全核心服務(wù)模塊返回執(zhí)行結(jié)果信息的過程為安全芯片應(yīng)用認(rèn)證碼計(jì)算參數(shù)和已加載的授權(quán)信息對(duì)指令執(zhí)行結(jié)果進(jìn)行計(jì)算,獲得第一指令執(zhí)行結(jié)果認(rèn)證碼,將認(rèn)證碼計(jì)算參數(shù)和第一指令執(zhí)行結(jié)果認(rèn)證碼作為指令結(jié)果認(rèn)證數(shù)據(jù),通過芯片驅(qū)動(dòng)庫給安全核心服務(wù)模塊返回包含指令結(jié)果認(rèn)證數(shù)據(jù)的指令執(zhí)行結(jié)果信息。
16.根據(jù)權(quán)利要求13所述的方法,其特征在于,步驟d所述安全服務(wù)提供模塊指令執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)的過程為安全服務(wù)提供模塊從接收到的指令執(zhí)行結(jié)果信息中獲取指令執(zhí)行結(jié)果,從指令結(jié)果認(rèn)證數(shù)據(jù)內(nèi)獲取認(rèn)證碼計(jì)算參數(shù)和第一指令執(zhí)行結(jié)果認(rèn)證碼,應(yīng)用認(rèn)證碼計(jì)算參數(shù)及授權(quán)信息對(duì)指令執(zhí)行結(jié)果計(jì)算第二指令執(zhí)行結(jié)果認(rèn)證碼,判斷該第二指令執(zhí)行結(jié)果認(rèn)證碼與接收到的第一指令執(zhí)行結(jié)果認(rèn)證碼相同后,再將執(zhí)行結(jié)果返回給應(yīng)用系統(tǒng)。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述操作指令為改變?cè)O(shè)備狀態(tài)的設(shè)備管理指令,所述授權(quán)信息為安全芯片所有者授權(quán)信息;所述操作對(duì)象為芯片對(duì)象;所述操作指令為密鑰管理指令,所述操作對(duì)象為密鑰對(duì)象,所述授權(quán)信息為密鑰授權(quán)信息;所述操作指令為密碼操作指令,所述操作對(duì)象為密鑰對(duì)象和加密數(shù)據(jù)對(duì)象,所述授權(quán)信息為密鑰授權(quán)信息和加密數(shù)據(jù)授權(quán)信息,或所述操作對(duì)象為密鑰對(duì)象和哈希對(duì)象,所述授權(quán)信息為密鑰授權(quán)信息。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于,在執(zhí)行過密鑰管理指令后,該方法進(jìn)一步包括應(yīng)用系統(tǒng)發(fā)送注冊(cè)密鑰指令或注銷密鑰指令,安全服務(wù)提供模塊或安全核心服務(wù)模塊根據(jù)接收到的指令在密鑰數(shù)據(jù)庫中注冊(cè)或注銷密鑰。
19.根據(jù)權(quán)利要求10所述的方法,其特征在于,步驟a所述操作指令為不改變?cè)O(shè)備狀態(tài)的指令,且該指令包括但不限于寄存器操作指令,芯片自檢指令、獲取自檢結(jié)果指令、獲取狀態(tài)信息指令。
20.根據(jù)權(quán)利要求19所述的方法,其特征在于,當(dāng)操作指令為寄存器操作指令時(shí),該方法進(jìn)一步包括,安全核心服務(wù)模塊記錄寄存器操作事件。
21.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述訪問主機(jī)與具有安全芯片的主機(jī)為相同的主機(jī)或不同的主機(jī)。
全文摘要
本發(fā)明公開了一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的裝置,該裝置包括安全服務(wù)提供模塊、安全核心服務(wù)模塊和芯片驅(qū)動(dòng)庫。由于該裝置采用了分層的結(jié)構(gòu),因而達(dá)到了允許不同開發(fā)商定制不同的驅(qū)動(dòng)特性的目的,而且還支持不同開發(fā)商開發(fā)的上層軟件棧間的互操作。本發(fā)明還公開了一種用于實(shí)現(xiàn)應(yīng)用系統(tǒng)與安全芯片進(jìn)行交互的方法,通過安全服務(wù)提供模塊、安全核心服務(wù)模塊和芯片驅(qū)動(dòng)庫實(shí)現(xiàn)對(duì)安全芯片的調(diào)用,由于安全服務(wù)提供模塊可以被安裝在具有安全芯片的主機(jī)上也可以被安裝在不具有安全芯片的主機(jī)上,因此使應(yīng)用系統(tǒng)與安全芯片之間實(shí)現(xiàn)了遠(yuǎn)程調(diào)用,且每一安全芯片可支持由多個(gè)用戶共同使用。再有,密鑰數(shù)據(jù)庫的存在使安全芯片能夠存放更多的密鑰。
文檔編號(hào)H04L9/00GK1703000SQ20051006360
公開日2005年11月30日 申請(qǐng)日期2005年3月31日 優(yōu)先權(quán)日2005年3月31日
發(fā)明者尹萍, 韋衛(wèi) 申請(qǐng)人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新乡市| 哈巴河县| 金平| 华蓥市| 镇雄县| 额济纳旗| 利津县| 田阳县| 筠连县| 商都县| 任丘市| 永胜县| 庆元县| 庆城县| 平邑县| 德清县| 息烽县| 鄂托克前旗| 龙门县| 张北县| 吴桥县| 日照市| 丹巴县| 朝阳县| 宣汉县| 绥宁县| 高雄县| 伊宁县| 阿拉尔市| 吴忠市| 凤山市| 普兰县| 大理市| 进贤县| 云浮市| 安徽省| 三亚市| 天津市| 宿松县| 遵义市| 九寨沟县|