亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

證書認證裝置及該裝置的訪問和證書更新方法

文檔序號:7898666閱讀:335來源:國知局
專利名稱:證書認證裝置及該裝置的訪問和證書更新方法
技術(shù)領(lǐng)域
本發(fā)明涉及認證技術(shù)領(lǐng)域,特別涉及證書認證裝置及該裝置的訪問和證書更新方法。
背景技術(shù)
USBKey是一種通用串行總線(USB)接口的證書認證裝置,它內(nèi)置單片機或智能卡芯片,有一定的存儲空間,可以存儲用戶的私鑰以及數(shù)字證書,利用USBKey內(nèi)置的公鑰算法實現(xiàn)對用戶身份的認證。USBKey在現(xiàn)在的網(wǎng)上銀行、政府的OA以及虛擬專用網(wǎng)(VPN)中都應(yīng)用的比較廣泛。USBKey提供了數(shù)字證書在終端安全存儲的環(huán)境;通過硬件協(xié)處理器處理運算提高了認證的效率,是目前對證書認證比較好的解決方案。隨著移動支付、移動辦公的興起,對于移動終端的證書認證需求越來越多,由于很多移動終端并不支持USB接口,且USB接口功耗太大,大多數(shù)移動終端無法負擔,因此,目前 USBKey的證書認證方式并不適用于移動終端。為了解決移動終端的證書認證的問題,目前主要采取以下兩種方案一、軟證書認證方式這個方式是把數(shù)字證書及私鑰直接存放在移動終端設(shè)備上,私鑰由用戶的個人識別碼(PIN)保護,證書認證中需要的非對稱密鑰的產(chǎn)生、加解密和簽名驗證等運算由移動終端上承載的軟件實現(xiàn)。二、用戶識別卡(SIM)卡方式這個方式是把SIM卡作為數(shù)字證書存放的硬件載體,證書認證中需要的非對稱密鑰的產(chǎn)生、加解密和簽名驗證等運算由SIM卡實現(xiàn)。方案一的缺陷數(shù)字證書及私鑰存放在移動終端設(shè)備上,使用過程中需要存放于終端的內(nèi)存 (RAM)中,容易被攻擊者獲取,安全性不高,不符合國家信息安全相關(guān)標準。另外,證書認證中需要的非對稱密鑰的產(chǎn)生、加解密和簽名驗證等運算由軟件實現(xiàn),運算速度慢。以普通的智能機為例,主頻在200M左右,生成一對IOM位RSA加密算法的密鑰對平均需要時間大約幾十秒,相比使用硬件產(chǎn)生同樣長度的密鑰對的平均時間4秒來說,差距很大,從而影響認證速度。方案二的缺陷SIM卡存儲空間很小,數(shù)字證書及私鑰若保存在SIM卡上,將會影響其他數(shù)據(jù)的存儲,比如占用通訊錄等數(shù)據(jù)的存儲空間。而且,SIM卡通信速率很低,大多數(shù)SIM卡采用的是國際標準化組織(ISO) 7816接口,相對于一般的存儲卡接口的傳輸速率來說,速度差距較大,從而影響認證速度。另外,由于SIM卡不能直接在PC上使用,無法兼容當前PC上的證書認證方式,其適用范圍受限。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種證書認證裝置,用于移動終端時,能夠在保證安全性的情況下,擁有較高的證書認證速度。本發(fā)明實施例提供一種證書認證裝置的訪問方法,能夠?qū)崿F(xiàn)對證書認證裝置內(nèi)用于認證的私密信息的訪問。本發(fā)明實施例提供一種證書認證裝置的證書更新方法,能夠簡便地實現(xiàn)對證書認證裝置中保存的證書的更新。為達到上述目的,本發(fā)明的技術(shù)方案具體是這樣實現(xiàn)的一種證書認證裝置,包括普通存儲模塊、存儲控制模塊和接口模塊;所述普通存儲模塊與存儲控制模塊相連,所述存儲控制模塊和接口模塊相連;該裝置還包括安全存儲模塊,與運算處理模塊以及安全控制模塊分別相連,用于存儲用于證書認證的私密信息;運算處理模塊,用于對加密算法進行硬件加速;安全控制模塊,與所述存儲控制模塊相連,用于調(diào)度所述運算處理模塊進行運算, 控制所述安全存儲模塊進行數(shù)據(jù)的存儲和輸出。較佳地,所述安全存儲模塊、運算處理模塊和安全控制模塊集成于一塊獨立芯片。較佳地,所述安全存儲模塊、運算處理模塊、安全控制模塊和存儲控制模塊集成于一塊獨立芯片。較佳地,所述安全存儲模塊與所述普通存儲模塊集成于一塊獨立芯片;所述運算處理模塊、安全控制模塊和存儲控制模塊集成于另一塊獨立芯片。較佳地,所述安全控制模塊與所述存儲控制模塊通過串口、7816或SPI總線方式連接。一種基于上述的證書認證裝置的訪問方法,該方法包括存儲控制模塊通過接口模塊接收到存儲卡寫指令時,若所述寫指令指定的地址是預先定義的特殊地址,則將所述寫指令攜帶的數(shù)據(jù)作為命令數(shù)據(jù)傳送給安全控制模塊;安全控制模塊解析并響應(yīng)所述命令數(shù)據(jù),根據(jù)所述命令數(shù)據(jù)對應(yīng)的操作指令進行處理;安全控制模塊將處理完成后得到的響應(yīng)數(shù)據(jù)輸出給存儲控制模塊;存儲控制模塊對所述響應(yīng)數(shù)據(jù)進行重組。較佳地,該方法進一步包括當存儲控制模塊通過接口模塊接收到外部應(yīng)用程序發(fā)送的讀指令時,若所述讀指令指定的地址是預先定義的特殊地址,則將重組后的所述響應(yīng)數(shù)據(jù)作為讀指令的反饋數(shù)據(jù)反饋給外部應(yīng)用程序。較佳地,所述若寫指令指定的地址是預先定義的特殊地址,該方法進一步包括對所述寫指令進行校驗,若所述寫指令校驗通過,則繼續(xù)執(zhí)行所述將寫指令攜帶的數(shù)據(jù)作為命令數(shù)據(jù)傳送給安全控制模塊的步驟及其后續(xù)步驟。較佳地,該方法進一步包括若所述寫指令指定的地址不是預先定義的特殊地址,或者所述寫指令攜帶的數(shù)據(jù)未通過校驗,則存儲控制模塊將所述寫指令攜帶的數(shù)據(jù)作為普通數(shù)據(jù)傳送給普通存儲模塊進行存儲。一種基于上述的證書認證裝置的證書更新方法,該方法包括當證書認證裝置MobileKey中原有的數(shù)字證書失效后,MobileKey按照與認證中心CA預先協(xié)商好的協(xié)議產(chǎn)生新的公、私鑰對,通過其連接的終端向CA發(fā)送經(jīng)CA的公鑰加密的更新請求;所述更新請求中攜帶所述新的公鑰;CA使用CA的私鑰對收到的加密的更新請求進行解密,利用所述更新請求中攜帶的新的公鑰為MobileKey重新簽發(fā)新的數(shù)字證書,返回更新響應(yīng),所述更新響應(yīng)中包括加密后的新數(shù)字證書;MobileKey收到CA返回的更新響應(yīng)后,用所述新的數(shù)字證書和所述新的私鑰替換 Mobi 1 eKey中原有的已失效的數(shù)字證書和原有的私鑰。較佳地,所述更新請求中進一步攜帶用于唯一標識MobileKey身份的MobileKey 標識、已經(jīng)失效的數(shù)字證書及會話密鑰;所述失效的數(shù)字證書中包含使用CA的私鑰加密的MobileKey標識。較佳地,所述CA對更新請求進行解密后,該方法進一步包括根據(jù)所述MobileKey標識和失效的數(shù)字證書判斷所述MobileKey是否是CA域內(nèi)的合法用戶,若是,則繼續(xù)執(zhí)行所述利用更新請求中攜帶的新的公鑰為MobileKey重新簽發(fā)新的數(shù)字證書的步驟及其后續(xù)步驟,否則結(jié)束證書更新流程。較佳地,所述根據(jù)所述MobileKey標識和失效的數(shù)字證書判斷所述MobileKey是否是CA域內(nèi)的合法用戶,包括用CA的公鑰解密MobileKey數(shù)字證書中CA的簽名,恢復出MobileKey標識的明文,并判斷恢復出的MobileKey標識是否與MobileKey發(fā)送來的更新請求中攜帶的 MobileKey標識相同,相同則為CA域內(nèi)的合法用戶,不同則不是合法用戶。較佳地,所述更新請求中進一步攜帶CA數(shù)字簽名;所述CA數(shù)字簽名是指CA對保存在MobileKey中的已經(jīng)失效的數(shù)字證書序列號加密后得到的數(shù)據(jù),CA數(shù)字簽名是CA上一次給MobileKey簽發(fā)數(shù)字證書,即保存在證書認證裝置中的已經(jīng)失效的數(shù)字證書時,發(fā)送給Mobi 1 eKey的。較佳地,根據(jù)所述MobileKey標識和失效的數(shù)字證書判斷所述MobileKey是CA域內(nèi)的合法用戶之后,該方法進一步包括根據(jù)所述更新請求中攜帶的CA數(shù)字簽名判斷該更新請求是否是MobileKey發(fā)送來的,如果是,則繼續(xù)執(zhí)行所述利用更新請求中攜帶的新的公鑰為MobileKey重新簽發(fā)新的數(shù)字證書的步驟及其后續(xù)步驟,否則結(jié)束證書更新流程。較佳地,根據(jù)所述更新請求中攜帶的CA數(shù)字簽名判斷該更新請求是否是 MobileKey發(fā)送來的,包括根據(jù)CA的公鑰解密所述CA數(shù)字簽名,恢復出已經(jīng)失效的數(shù)字證書序列號的明文, 并判斷恢復出的已經(jīng)失效的證書序列號是否與MobileKey發(fā)送來的更新請求中攜帶的已經(jīng)失效的數(shù)字證書的序列號相同,如果相同,則判斷出該更新請求是MobileKey發(fā)送來的, 否則判斷出該更新請求不是MobileKey發(fā)送來的。較佳地,所述返回更新響應(yīng)包括CA用MobileKey發(fā)送來的所述會話密鑰對所述重新簽發(fā)的新的數(shù)字證書進行加密,使用CA的私鑰對新簽發(fā)的數(shù)字證書的序列號進行加密得到新的CA數(shù)字簽名,再使用 MobileKey發(fā)送來的會話密鑰對新的CA數(shù)字簽名進行加密;所述更新響應(yīng)中攜帶加密后的新的數(shù)字證書和加密后的新CA數(shù)字簽名。較佳地,MobileKey收到CA返回的更新響應(yīng)后,該方法進一步包括用所述會話密鑰對所述更新響應(yīng)中攜帶的加密后的新的數(shù)字證書及加密后的新 CA數(shù)字簽名進行解密,并繼續(xù)執(zhí)行用所述新的數(shù)字證書和所述新的私鑰替換MobileKey中原有的已失效的數(shù)字證書和原有的私鑰的步驟,并進一步執(zhí)行用所述新CA數(shù)字簽名替換原CA數(shù)字簽名的步驟。由上述的技術(shù)方案可見,本發(fā)明的這種證書認證裝置,用于移動終端時,由于使用硬件作為私鑰和證書等安全信息的載體,安全性遠高于軟證書方式;由于采用存儲卡接口, 通信速度遠高于SIM卡的IS07816接口;另外,由于基于標準的存儲卡接口,適用范圍廣泛, 除移動終端外,還可以通過讀卡器等設(shè)備與PC等終端相連作為PC平臺的證書載體。本發(fā)明的這種證書認證裝置的訪問方法,通過預先設(shè)定的特殊地址將對本發(fā)明的證書認證裝置內(nèi)保存的私密信息的訪問,和對普通數(shù)據(jù)的訪問區(qū)別開,從而實現(xiàn)對證書認證裝置內(nèi)的私密信息的訪問。本發(fā)明的這種證書認證裝置的證書更新方法,可以通過證書認證裝置連接的終端設(shè)備與認證中心通信,在保證安全性的同時,實現(xiàn)在線的證書更新,從而簡化了證書更新過程。


圖1為現(xiàn)有存儲卡結(jié)構(gòu)示意圖;圖2為本發(fā)明實施例一的證書認證裝置結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例二的證書認證裝置結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例三的證書認證裝置結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例的證書認證裝置訪問方法流程圖;圖6為本發(fā)明實施例的證書更新方法流程圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進一步詳細說明。本發(fā)明主要是在標準接口的存儲卡中內(nèi)嵌用于證書認證的模塊,通過硬件保存保密信息并完成證書認證過程,從而能夠在保證安全性的情況下,提高證書認證的速度,并擁有較大的適用范圍。本發(fā)明這種證書認證裝置可稱為MobileKey。圖1為現(xiàn)有的存儲卡結(jié)構(gòu)示意圖,如圖1所示,包括普通存儲模塊101、存儲控制模塊102和接口模塊103 ;其中普通存儲模塊101用于存儲普通數(shù)據(jù),一般由閃存(FLASH)芯片實現(xiàn);存儲控制模塊102與普通存儲模塊101及接口模塊103分別相連,用于對普通存儲模塊101進行數(shù)據(jù)的讀寫控制等,一般由一塊獨立芯片實現(xiàn);接口模塊103用于收發(fā)數(shù)據(jù),可以采用安全數(shù)碼卡(SD)/多媒體卡(MMC)/記憶棒(Memory Stick)等標準接口實現(xiàn)。
本發(fā)明具體實施例中,將在現(xiàn)有的存儲卡結(jié)構(gòu)中增加以下用于證書認證的模塊安全存儲模塊,用于存儲用于證書認證的私密信息,例如數(shù)字證書、數(shù)字證書對應(yīng)的私鑰信息,密鑰種子等不可泄露的信息,不用于普通數(shù)據(jù)的存儲。運算處理模塊,用于對加密算法進行硬件加速,例如可以是RSA(—種加密算法) 運算加速引擎、隨機數(shù)發(fā)生器、AES ( —種加密算法)運算引擎等,根據(jù)使用的具體加密算法不同而異。安全控制模塊,用于調(diào)度運算處理模塊進行運算、控制安全存儲模塊進行數(shù)據(jù)的存儲和輸出等。上述三個模塊在物理上,可以由一個獨立的芯片實現(xiàn),例如智能卡芯片、專用的協(xié)處理芯片等,并與存儲控制模塊通過串口、IS07816、串行外設(shè)接口(SPI)等總線方式連接, 也可以將上述三個模塊集成在現(xiàn)有的其他模塊所在的芯片中,例如將上述三個模塊全部集成于存儲控制模塊所在芯片;或者將安全存儲模塊集成于普通存儲模塊所在的FLASH芯片,運算處理模塊和安全控制模塊集成于存儲控制模塊所在芯片。圖2為本發(fā)明實施例一的證書認證裝置結(jié)構(gòu)示意圖,如圖2所示,該裝置包括普通存儲模塊201、存儲控制模塊202,和接口模塊203,安全存儲模塊204,運算處理模塊205, 以及安全控制模塊206。其中,普通存儲模塊201、存儲控制模塊202和接口模塊203的功能及連接關(guān)系與現(xiàn)有存儲卡相同,不再贅述。安全存儲模塊204與運算處理模塊205以及安全控制模塊206 分別相連,安全控制模塊206還與存儲控制模塊202相連,安全存儲模塊204與運算處理模塊205以及安全控制模塊206集成于一個獨立的安全處理芯片中,而普通存儲模塊201由 FLASH芯片實現(xiàn),存儲控制模塊202由控制器芯片實現(xiàn)。圖3為本發(fā)明實施例二的證書認證裝置結(jié)構(gòu)示意圖,如圖3所示,該裝置包括普通存儲模塊301、存儲控制模塊302,和接口模塊303,安全存儲模塊304,運算處理模塊305, 以及安全控制模塊306。其中,各模塊的功能和連接關(guān)系相同,不再贅述。其與實施例一的區(qū)別在于安全存儲模塊304、運算處理模塊305以及安全控制模塊306與存儲控制模塊302集成于控制器芯片中。圖4為本發(fā)明實施例三的證書認證裝置結(jié)構(gòu)示意圖,如圖4所示,該裝置包括普通存儲模塊401、存儲控制模塊402,和接口模塊403,安全存儲模塊404,運算處理模塊405, 以及安全控制模塊406。其中,各模塊的功能和連接關(guān)系相同,不再贅述。其與實施例一、二的區(qū)別在于安全存儲模塊404與普通存儲模塊401集成于FLASH芯片中,而運算處理模塊405以及安全控制模塊406與存儲控制模塊402集成于控制器芯片中。當然,對于本發(fā)明的證書認證裝置來說,由于普通存儲模塊的功能與證書認證無關(guān),所以并不是必須的。另外,不限于上述三個實施例,本發(fā)明中安全存儲模塊、運算處理模塊以及安全控制模塊在物理上也可以分別通過獨立的芯片實現(xiàn),或者集成于現(xiàn)有存儲卡內(nèi)的任意芯片中。對于上述證書認證裝置來說,由于是在標準存儲卡的接口上擴展證書認證的應(yīng)用,而標準的存儲卡協(xié)議并不支持對卡內(nèi)用于證書認證的模塊的訪問,如果不能實現(xiàn)對用于證書認證的模塊的訪問,則證書認證的認證過程和證書更新過程等將無法實現(xiàn)。對此, 我們設(shè)計了通過共享地址的方式訪問卡內(nèi)用于證書認證的模塊的方法,具體步驟如圖5所示,包括步驟501,預先定義特殊地址。這個特殊地址可以是某一個地址或某一段地址范圍,具體可根據(jù)需要而定。由于存儲卡屬于外部存儲設(shè)備,只能通過寫或讀指令進行操作,而寫或讀指令中指定了具體寫或讀的地址,因此可以通過定義特殊地址,在接收到寫或讀指令時,通過判斷指令中指定的地址,區(qū)分出外部應(yīng)用程序是對證書認證裝置中現(xiàn)有的普通存儲模塊進行讀寫操作,還是對本發(fā)明中用于證書認證的模塊進行的操作。步驟502,根據(jù)特殊地址確定命令數(shù)據(jù)。當外部應(yīng)用程序需要訪問卡內(nèi)數(shù)據(jù)時,例如控制器芯片中的存儲控制模塊通過接口模塊接收到外部應(yīng)用程序發(fā)送的寫指令時,判斷寫指令中指定的地址是否是預先定義的特殊地址。如果是特殊地址,則進一步校驗寫指令攜帶的數(shù)據(jù)的有效性,有效性校驗實際上是為了安全性考慮,防止指令被中途篡改,一般來說可以采用校驗和方式進行校驗,或者采用加密算法等,具體校驗方法可以使用現(xiàn)有的任意校驗方法,這里不再贅述,當然,如果對于安全性要求不高,這里也可以不進行校驗;如果校驗不通過,則將寫指令攜帶的數(shù)據(jù)作為普通數(shù)據(jù)存儲到普通存儲模塊。如果校驗通過,則作為命令數(shù)據(jù)傳送給安全控制模塊;另外,如果不是特殊地址,則直接將寫指令攜帶的數(shù)據(jù)作為普通數(shù)據(jù)存儲到普通存儲模塊。步驟503,根據(jù)所述命令數(shù)據(jù)進行相應(yīng)處理。安全控制模塊接收到命令數(shù)據(jù)時,解析并響應(yīng)該命令數(shù)據(jù)進行相應(yīng)的處理,命令數(shù)據(jù)內(nèi)包含的是外部應(yīng)用程序?qū)Ρ景l(fā)明中各個用于證書認證的模塊的操作指令,例如可以是調(diào)用運算處理模塊對安全存儲模塊內(nèi)保存的私密信息進行加密、生成密鑰等操作,或者對安全存儲模塊進行私密信息數(shù)據(jù)的存儲等。安全控制模塊響應(yīng)命令數(shù)據(jù)進行處理完成之后,將響應(yīng)命令數(shù)據(jù)進行處理后得到的響應(yīng)數(shù)據(jù)輸出給存儲控制模塊。步驟504,將處理后的數(shù)據(jù)進行反饋。存儲控制模塊得到安全控制模塊反饋的響應(yīng)數(shù)據(jù)后,重新組織具體應(yīng)用的響應(yīng)數(shù)據(jù),并存放在存儲控制模塊內(nèi)部的緩存區(qū)中。由于在存儲卡中進行處理得到數(shù)據(jù)的格式與外部應(yīng)用程序所需要的數(shù)據(jù)格式不同,因此這里存儲控制模塊需要將響應(yīng)數(shù)據(jù)重新大包封裝成外部程序所需要的數(shù)據(jù)格式,以便外部應(yīng)用程序的讀取。另外,由于存儲卡是被動設(shè)備,外部應(yīng)用程序只能通過讀指令獲取數(shù)據(jù)。因此當存儲控制模塊通過接口模塊接收到外部應(yīng)用發(fā)送的存儲卡讀指令時,需要判斷讀指令指定的地址是否是預先定義的特殊地址, 如果是特殊地址,且存儲控制模塊已經(jīng)完成了響應(yīng)數(shù)據(jù)的重組,則將重組好的響應(yīng)數(shù)據(jù)作為存儲卡讀指令的反饋數(shù)據(jù),通過接口模塊反饋給外部應(yīng)用。在上述過程中,外部應(yīng)用程序?qū)μ厥獾刂钒l(fā)出讀寫指令,可以采用兩種方式實現(xiàn), 一種是直接利用系統(tǒng)的應(yīng)用程序接口(API)進行物理地址的數(shù)據(jù)讀寫;另一種是讀寫覆蓋了這個扇區(qū)的文件,通過對文件某個數(shù)據(jù)塊的讀寫,實現(xiàn)通過文件系統(tǒng)進行物理地址的數(shù)據(jù)讀寫。另外,外部應(yīng)用程序?qū)τ谡J證的模塊的具體應(yīng)用功能指令可以作為讀寫指令指定的數(shù)據(jù)攜帶在讀寫指令中。通過上述方法,外部應(yīng)用程序即可實現(xiàn)對存儲卡內(nèi)的用于證書認證的模塊的訪問,本領(lǐng)域具體技術(shù)人員根據(jù)該訪問方法,即可實現(xiàn)具體的證書認證的過程,由于本發(fā)明并未對證書認證過程進行改進,因此通過本發(fā)明的證書認證裝置具體實現(xiàn)證書認證的過程這里就不再贅述了。為了提高MobileKey在使用過程中的安全性,認證中心(CA)在給MobileKey 分配數(shù)字證書時會對該數(shù)字證書設(shè)置有效期,一旦過了有效期,該數(shù)字證書將變得無效, MobileKey在與移動終端設(shè)備進行身份認證時將無法通過。因此,為了保證MobileKey的正常使用,CA需要對MobileKey的數(shù)字證書進行更新。由于MobileKey無法直接與CA建立通信,而且MobileKey大都處于離線狀態(tài), 從而使得數(shù)字證書更新比較困難。一種可能的方法是,由用戶定期到CA指定的地點對 MobileKey數(shù)字證書進行更新,但這種數(shù)字證書更新過程較為繁瑣,并且會給用戶帶來諸多不便。有鑒于此,本發(fā)明提供了一種Mobi 1 eKey數(shù)字證書更新方法,簡化了 Mobi 1 eKey的數(shù)字證書更新過程。本發(fā)明中的MobileKey可以通過終端以在線方式進行數(shù)字證書更新,即讓 MobileKey在與終端連接時,利用終端和CA之間的數(shù)據(jù)連接通道,如WLAN、GPRS等,完成 MobileKey數(shù)字證書的更新。MobileKey先按照預先與CA協(xié)商好的協(xié)議產(chǎn)生公、私鑰對, 向CA發(fā)起數(shù)字證書更新請求,CA收到更新請求后,重新為MobileKey簽發(fā)數(shù)字證書,之后, MobileKey用重新簽發(fā)的數(shù)字證書和私鑰替換失效的數(shù)字證書和私鑰,完成整個更新過程。下面以MobileKey與移動終端連接時進行證書更新過程的典型應(yīng)用為例進行詳細說明,當然,在MobileKey與個人電腦(PC)等其他終端連接時,證書更新的過程也是相同的。首先,MobileKey內(nèi)需要存儲有能夠唯一標識MobileKey身份的MobileKey標識、 MobileKey數(shù)字證書和CA數(shù)字證書等私密信息,其中,CA數(shù)字證書中包含有CA的公鑰,對應(yīng)的,CA中保存有CA數(shù)字證書對應(yīng)的CA的私鑰。如圖6所示,數(shù)字證書更新過程包括以下步驟步驟601 當MobileKey數(shù)字證書失效時,MobileKey啟動證書更新過程,先按照預先與CA協(xié)商好的協(xié)議產(chǎn)生新的公、私鑰對以及會話密鑰,通過其連接的移動終端向CA發(fā)送更新請求。更新請求中攜帶以下請求信息=MobileKey標識、失效的MobileKey數(shù)字證書、按照預先與CA協(xié)商好的協(xié)議產(chǎn)生的新的公鑰、CA數(shù)字簽名及會話密鑰,為信息的安全傳輸起見,請求信息必須用CA的公鑰進行加密。其中,失效的MobileKey數(shù)字證書中包含使用CA的私鑰加密的MobileKey標識。 MobileKey標識和失效的MobileKey數(shù)字證書是用于讓CA判斷MobileKey是否是CA域內(nèi)的合法用戶,如果對于安全性要求不高,可以省略判斷MobileKey是否是CA域內(nèi)的合法用戶的步驟,這時更新請求中也可以不攜帶MobileKey標識和失效的MobileKey數(shù)字證書。CA數(shù)字簽名是指用CA的私鑰對某些信息進行加密而得到的數(shù)據(jù),例如本實施例中是CA對保存在證書認證裝置中的已經(jīng)失效的MobileKey數(shù)字證書序列號加密后得到的數(shù)據(jù),當然,任何其它具有唯一性的信息都可以進行加密操作得到CA數(shù)字簽名。CA數(shù)字簽名是CA在為Mob i 1 eKey簽發(fā)數(shù)字證書時發(fā)送給Mob i 1 eKey的,即CA上一次給Mob i 1 eKey簽發(fā)MobileKey數(shù)字證書(保存在證書認證裝置中的已經(jīng)失效的MobileKey數(shù)字證書)時, 發(fā)送給MobileKey的。另外,CA數(shù)字簽名不能放在MobileKey數(shù)字證書中發(fā)送,也就是說,CA數(shù)字簽名不能公開。CA數(shù)字簽名是為防止移動終端欺騙CA而設(shè)置的,保存在MobileKey內(nèi),移動終端無法得到,并且,由于移動終端沒有CA的私鑰,無法偽造CA數(shù)字簽名,因此移動終端也就無法偽造MobileKey向CA發(fā)送的更新請求來欺騙CA。而會話密鑰是為防止移動終端欺騙MobileKey而設(shè)置,由于會話密鑰只在 MobileKey和CA之間傳遞,移動終端不知道CA和MobileKey的會話密鑰,因此,移動終端無法解密響應(yīng)信息,也無法通過偽造響應(yīng)信息來欺騙MobileKey。在數(shù)字證書更新過程中,CA數(shù)字簽名和會話密鑰可以同時使用,也就是說,在更新請求中同時攜帶CA數(shù)字簽名和會話密鑰;也可以僅使用CA數(shù)字簽名或者僅使用會話密鑰, 當不使用CA數(shù)字簽名時,CA不需要在為MobileKey簽發(fā)新的數(shù)字證書時發(fā)送CA數(shù)字簽名的操作;當然,如果對可能出現(xiàn)的中間人攻擊的安全性要求不高,也可以都不使用,通過CA 數(shù)字證書對MobileKey與CA之間通信進行加密也可以保證較高的安全性。下面針對同時使用CA數(shù)字簽名和會話密鑰、以及用CA的公鑰加密請求信息的情況進行詳細闡述。步驟602 =CA收到MobileKey發(fā)送來的更新請求后,判斷MobileKey是否是CA域內(nèi)的合法用戶,即CA首先用CA的私鑰對收到的請求信息進行解密,恢復出請求信息明文, 然后,用CA的公鑰解密MobileKey數(shù)字證書中CA的簽名,恢復出MobileKey標識的明文, 并判斷恢復出的MobileKey標識是否與MobileKey發(fā)送來的更新請求中攜帶的MobileKey 標識相同,如果相同,則說明該MobileKey是CA域內(nèi)的合法用戶,繼續(xù)執(zhí)行步驟603 ;如果不同,則說明該MobileKey不是CA域內(nèi)的合法用戶,CA終止與該MobileKey的通信,即結(jié)束本流程的處理。步驟603 :CA根據(jù)更新請求中攜帶的CA數(shù)字簽名判斷該更新請求是否是 MobileKey發(fā)送來的,如果是,則執(zhí)行步驟604 ;否則,CA終止會話,即結(jié)束本流程的處理。具體地,CA用自身的公鑰解密CA數(shù)字簽名,恢復出MobileKey證書序列號的明文,并判斷恢復出的MobileKey證書序列號是否與MobileKey發(fā)送來的更新請求中攜帶的 MobileKey數(shù)字證書中的序列號相同,如果相同,則說明該更新請求是MobileKey發(fā)送來的,因為只有MobileKey才擁有CA對MobileKey證書序列號的簽名即CA數(shù)字簽名,然后執(zhí)行步驟604;如果不同,則說明該更新請求不是MobileKey發(fā)送來的,CA終止會話,結(jié)束本流程。如果更新請求中沒有攜帶CA數(shù)字簽名,那么,在步驟602中判斷出該MobileKey 是CA域內(nèi)的合法用戶后,可以直接執(zhí)行步驟604,無需執(zhí)行步驟603。步驟604 :CA利用更新請求中攜帶的MobileKey按照預先與CA協(xié)商好的協(xié)議產(chǎn)生的新的公鑰為MobileKey重新簽發(fā)新的數(shù)字證書,并用MobileKey發(fā)送來的會話密鑰對重新簽發(fā)的數(shù)字證書進行加密,使用CA的私鑰對新簽發(fā)的數(shù)字證書的序列號進行加密得到新的CA數(shù)字簽名,再使用MobileKey發(fā)送來的會話密鑰對新的CA數(shù)字簽名進行加密 ’然后,通過移動終端向MobileKey返回更新響應(yīng),該更新響應(yīng)中攜帶的響應(yīng)信息包括加密后的新數(shù)字證書以及加密后的新CA數(shù)字簽名;如果不使用會話密鑰,則無需對新簽發(fā)的新數(shù)字證書和新CA數(shù)字簽名進行加密,更新響應(yīng)中攜帶新簽發(fā)的新數(shù)字證書和CA數(shù)字簽名的明文。步驟605 =MobileKey收到CA返回的更新響應(yīng)后,用會話密鑰解密響應(yīng)信息,恢復 MobileKey的新數(shù)字證書,并用新數(shù)字證書和按照預先與CA協(xié)商好的協(xié)議產(chǎn)生的私鑰替換 MobileKey中原有的已失效的數(shù)字證書和私鑰;用新的CA數(shù)字簽名替換原CA數(shù)字簽名。至此,整個數(shù)字證書更新過程結(jié)束。該證書更新方法可以通過移動終端以在線的方式進行數(shù)字證書更新,在保證更新過程的安全性的同時,能夠使MobileKey的數(shù)字證書更新過程得以簡化,用戶無需定期到CA指定的地點對MobileKey數(shù)字證書進行更新,很大程度上方便了用戶。
權(quán)利要求
1.一種證書認證裝置,包括普通存儲模塊、存儲控制模塊和接口模塊;所述普通存儲模塊與存儲控制模塊相連,所述存儲控制模塊和接口模塊相連;其特征在于,該裝置還包括安全存儲模塊,與運算處理模塊以及安全控制模塊分別相連,用于存儲用于證書認證的私密信息;運算處理模塊,用于對加密算法進行硬件加速;安全控制模塊,與所述存儲控制模塊相連,用于調(diào)度所述運算處理模塊進行運算,控制所述安全存儲模塊進行數(shù)據(jù)的存儲和輸出。
2.如權(quán)利要求1所述的證書認證裝置,其特征在于,所述安全存儲模塊、運算處理模塊和安全控制模塊集成于一塊獨立芯片。
3.如權(quán)利要求1所述的證書認證裝置,其特征在于,所述安全存儲模塊、運算處理模塊、安全控制模塊和存儲控制模塊集成于一塊獨立芯片。
4.如權(quán)利要求1所述的證書認證裝置,其特征在于,所述安全存儲模塊與所述普通存儲模塊集成于一塊獨立芯片;所述運算處理模塊、安全控制模塊和存儲控制模塊集成于另一塊獨立芯片。
5.所述如權(quán)利要求1 4中任一項權(quán)利要求所述的證書認證裝置,其特征在于,所述安全控制模塊與所述存儲控制模塊通過串口、國際標準化組織IS07816或串行外設(shè)接口 SPI 總線方式連接。
6.一種基于權(quán)利要求1所述的證書認證裝置的訪問方法,其特征在于,該方法包括 存儲控制模塊通過接口模塊接收到存儲卡寫指令時,若所述寫指令指定的地址是預先定義的特殊地址,則將所述寫指令攜帶的數(shù)據(jù)作為命令數(shù)據(jù)傳送給安全控制模塊;安全控制模塊解析并響應(yīng)所述命令數(shù)據(jù),根據(jù)所述命令數(shù)據(jù)對應(yīng)的操作指令進行處理;安全控制模塊將處理完成后得到的響應(yīng)數(shù)據(jù)輸出給存儲控制模塊; 存儲控制模塊對所述響應(yīng)數(shù)據(jù)進行重組。
7.如權(quán)利要求6所述的訪問方法,其特征在于,該方法進一步包括當存儲控制模塊通過接口模塊接收到外部應(yīng)用程序發(fā)送的讀指令時,若所述讀指令指定的地址是預先定義的特殊地址,則將重組后的所述響應(yīng)數(shù)據(jù)作為讀指令的反饋數(shù)據(jù)反饋給外部應(yīng)用程序。
8.如權(quán)利要求6或7所述的訪問方法,其特征在于,所述若寫指令指定的地址是預先定義的特殊地址,該方法進一步包括對所述寫指令進行校驗,若所述寫指令校驗通過,則繼續(xù)執(zhí)行所述將寫指令攜帶的數(shù)據(jù)作為命令數(shù)據(jù)傳送給安全控制模塊的步驟及其后續(xù)步驟。
9.如權(quán)利要求8所述的訪問方法,其特征在于,該方法進一步包括若所述寫指令指定的地址不是預先定義的特殊地址,或者所述寫指令攜帶的數(shù)據(jù)未通過校驗,則存儲控制模塊將所述寫指令攜帶的數(shù)據(jù)作為普通數(shù)據(jù)傳送給普通存儲模塊進行存儲。
10.一種基于權(quán)利要求1所述的證書認證裝置的證書更新方法,其特征在于,該方法包括當證書認證裝置MobileKey中原有的數(shù)字證書失效后,MobileKey按照與認證中心CA預先協(xié)商好的協(xié)議產(chǎn)生新的公、私鑰對,通過其連接的終端向CA發(fā)送經(jīng)CA的公鑰加密的更新請求;所述更新請求中攜帶所述新的公鑰;CA使用CA的私鑰對收到的加密的更新請求進行解密,利用所述更新請求中攜帶的新的公鑰為MobileKey重新簽發(fā)新的數(shù)字證書,返回更新響應(yīng),所述更新響應(yīng)中包括加密后的新數(shù)字證書;MobileKey收到CA返回的更新響應(yīng)后,用所述新的數(shù)字證書和所述新的私鑰替換 Mobi 1 eKey中原有的已失效的數(shù)字證書和原有的私鑰。
11.如權(quán)利要求10所述的證書更新方法,其特征在于,所述更新請求中進一步攜帶用于唯一標識MobileKey身份的MobileKey標識、已經(jīng)失效的數(shù)字證書及會話密鑰;所述失效的數(shù)字證書中包含使用CA的私鑰加密的MobileKey標識。
12.如權(quán)利要求11所述的證書更新方法,其特征在于,所述CA對更新請求進行解密后, 該方法進一步包括根據(jù)所述MobileKey標識和失效的數(shù)字證書判斷所述MobileKey是否是CA域內(nèi)的合法用戶,若是,則繼續(xù)執(zhí)行所述利用更新請求中攜帶的新的公鑰為MobileKey重新簽發(fā)新的數(shù)字證書的步驟及其后續(xù)步驟,否則結(jié)束證書更新流程。
13.如權(quán)利要求12所述的證書更新方法,其特征在于,所述根據(jù)所述MobileKey標識和失效的數(shù)字證書判斷所述MobileKey是否是CA域內(nèi)的合法用戶,包括用CA的公鑰解密MobileKey數(shù)字證書中CA的簽名,恢復出MobileKey標識的明文,并判斷恢復出的MobileKey標識是否與MobileKey發(fā)送來的更新請求中攜帶的MobileKey標識相同,相同則為CA域內(nèi)的合法用戶,不同則不是合法用戶。
14.如權(quán)利要求12所述的證書更新方法,其特征在于,所述更新請求中進一步攜帶CA 數(shù)字簽名;所述CA數(shù)字簽名是指CA對保存在MobileKey中的已經(jīng)失效的數(shù)字證書序列號加密后得到的數(shù)據(jù),CA數(shù)字簽名是CA上一次給MobileKey簽發(fā)數(shù)字證書,即保存在證書認證裝置中的已經(jīng)失效的數(shù)字證書時,發(fā)送給MobileKey的。
15.如權(quán)利要求14所述的證書更新方法,其特征在于,根據(jù)所述MobileKey標識和失效的數(shù)字證書判斷所述MobileKey是CA域內(nèi)的合法用戶之后,該方法進一步包括根據(jù)所述更新請求中攜帶的CA數(shù)字簽名判斷該更新請求是否是MobileKey發(fā)送來的, 如果是,則繼續(xù)執(zhí)行所述利用更新請求中攜帶的新的公鑰為MobileKey重新簽發(fā)新的數(shù)字證書的步驟及其后續(xù)步驟,否則結(jié)束證書更新流程。
16.如權(quán)利要求15所述的證書更新方法,其特征在于,根據(jù)所述更新請求中攜帶的CA 數(shù)字簽名判斷該更新請求是否是MobileKey發(fā)送來的,包括根據(jù)CA的公鑰解密所述CA數(shù)字簽名,恢復出已經(jīng)失效的數(shù)字證書序列號的明文,并判斷恢復出的已經(jīng)失效的證書序列號是否與MobileKey發(fā)送來的更新請求中攜帶的已經(jīng)失效的數(shù)字證書的序列號相同,如果相同,則判斷出該更新請求是MobileKey發(fā)送來的,否則判斷出該更新請求不是MobileKey發(fā)送來的。
17.如權(quán)利要求15所述的證書更新方法,其特征在于,所述返回更新響應(yīng)包括CA用MobileKey發(fā)送來的所述會話密鑰對所述重新簽發(fā)的新的數(shù)字證書進行加密, 使用CA的私鑰對新簽發(fā)的數(shù)字證書的序列號進行加密得到新的CA數(shù)字簽名,再使用MobileKey發(fā)送來的會話密鑰對新的CA數(shù)字簽名進行加密;所述更新響應(yīng)中攜帶加密后的新的數(shù)字證書和加密后的新CA數(shù)字簽名。
18.如權(quán)利要求17所述的證書更新方法,其特征在于,MobileKey收到CA返回的更新響應(yīng)后,該方法進一步包括用所述會話密鑰對所述更新響應(yīng)中攜帶的加密后的新的數(shù)字證書及加密后的新CA數(shù)字簽名進行解密,并繼續(xù)執(zhí)行用所述新的數(shù)字證書和所述新的私鑰替換MobileKey中原有的已失效的數(shù)字證書和原有的私鑰的步驟,并進一步執(zhí)行用所述新CA數(shù)字簽名替換原CA 數(shù)字簽名的步驟。
全文摘要
本發(fā)明公開了一種證書認證裝置,該裝置包括普通存儲模塊、存儲控制模塊和接口模塊;所述普通存儲模塊與存儲控制模塊相連,所述存儲控制模塊和接口模塊相連;該裝置還包括安全存儲模塊,與運算處理模塊以及安全控制模塊分別相連,用于存儲用于證書認證的私密信息;運算處理模塊,用于對加密算法進行硬件加速;安全控制模塊,與所述存儲控制模塊相連,用于調(diào)度所述運算處理模塊進行運算,控制所述安全存儲模塊進行數(shù)據(jù)的存儲和輸出。該裝置能夠在保證安全性的情況下,擁有較高的證書認證速度。本發(fā)明還公開了一種基于該證書認證裝置的訪問方法和證書更新方法,實現(xiàn)對該證書認證裝置的訪問和證書的更新。
文檔編號H04L9/32GK102571340SQ20101062043
公開日2012年7月11日 申請日期2010年12月23日 優(yōu)先權(quán)日2010年12月23日
發(fā)明者劉道斌, 廖劍, 王晨陽, 陳慶方 申請人:普天信息技術(shù)研究院有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1