本發明涉及密鑰的備份與恢復技術領域,具體的說,涉及了一種用于安全芯片業務密鑰的密鑰備份與恢復方法及系統。
背景技術:
進入21世紀,隨著信息技術的不斷發展,信息安全問題日漸突出。密碼技術是保障信息安全的核心技術,而基于硬件的安全芯片能為人們提供更好更安全的密碼服務,比如安全芯片可以用于存儲個人數字身份證書和簽名私鑰,為移動終端提供數字簽名、簽名驗證和數據加解密等密碼服務,可以用于實現密碼算法和密鑰管理,為移動終端提供基于各種密碼算法的數據加解密服務,安全芯片內還可提供安全存儲,用于保存密鑰及用戶私有數據。
一切秘密寓于密鑰之中,是現代密碼學的一個基本原則。通常,安全芯片在生產出廠時會內置一個唯一的根密鑰,以作為該芯片的安全的可信的根。該根密鑰以明文的形式固化在安全芯片內,且只能在安全芯片內應用,不能被讀出該安全芯片。在該安全芯片對外提供密碼服務時,它首先需要產生另一個重要的密鑰,即業務密鑰,以作為對外提供密碼服務的密鑰基礎。為確保該業務密鑰的安全,它只有在由安全芯片的根密鑰加密保護后才能被導出安全芯片,而已被根密鑰加密保護的業務密鑰也只有在被導入原安全芯片后,才能應用該安全芯片的根密鑰進行解密還原出業務密鑰本身。這樣,業務密鑰由于得到安全芯片根密鑰的保護而安全了,但這又會出現另一個問題:當載有安全芯片的設備丟失或安全芯片損壞或失效等情況出現時,存在于安全芯片外部的受根密鑰加密保護的業務密鑰將由于無法被解密而無法被使用,進一步地,由該業務密鑰加密的信息也將無法再被解密了。這樣,即便被業務密鑰加密的用戶數據沒有丟失,也因為無法再被解密而導致其喪失可用性。
中國專利說明書CN100490372C公開了一種對加密密鑰(相當于前述的業務密鑰)進行備份與恢復的方法,其關鍵是在源可信芯片內應用備份密鑰對加密密鑰進行加密,將加密后的加密密鑰導出源可信芯片并保存在存儲設備中;從源可信芯片內導出備份密鑰,加密后發送給可信第三方;當需要在目的可信芯片內恢復已加密的加密密鑰時,從可信第三方獲取備份密鑰,將其導入目的可信芯片,將加密后的加密密鑰導入目的可信芯片,在目的可信芯片內對加密密鑰解密,獲取源可信芯片的加密密鑰。只要預先在可信第三方托管備份密鑰,在源可信芯片失效后,在目的可信芯片內就可以獲取源可信芯片的加密密鑰。避免了因可信芯片失效導致的數據無法解密的災難。
上述專利說明書公開的對加密密鑰進行備份與恢復的方法,需要一個可信的第三方來保存備份密鑰,而被備份密鑰加密保護后的加密密鑰則保存于任何具有存儲能力的設備中,如軟盤、移動硬盤或源可信芯片所在終端。而一旦該可信第三方出現問題或被攻擊,該備份密鑰就可能被非法竊取從而造成備份密鑰被公開,進而有可能導致由該備份密鑰加密保護的加密密鑰被解開(比如攻擊者以某種方式非法獲得了由該備份密鑰加密保護的加密密鑰),從而威脅到原用戶數據的安全。另外,隨著時間的推移,保存被備份密鑰加密保護后的加密密鑰的任何具有存儲能力的設備可能被遺忘或丟失,從而造成雖然以后可以從可信第三方取回備份密鑰,而卻找不到保存加密密鑰的存儲設備而導致的無密可解的尷尬局面。
如何改進現有的安全芯片業務密鑰的密鑰備份與恢復方法,并提供一套安全芯片業務密鑰的密鑰備份與恢復系統,使安全芯片業務密鑰的密鑰備份與恢復既能保證安全,又簡單高效可行,成為急需解決的問題。
技術實現要素:
本發明的目的是針對現有技術的不足,提供了一種用于安全芯片業務密鑰的密鑰備份與恢復系統,以及該系統的密鑰備份與恢復方法,使得安全芯片業務密鑰的密鑰備份與恢復既安全可靠,又簡單高效。
為了實現上述目的,本發明所采用的技術方案是:一種用于安全芯片業務密鑰的密鑰備份與恢復系統,包括:密鑰備份卡服務器、密鑰備份卡、密鑰管理服務器、第一設備、第二設備、第一安全芯片和第二安全芯片;所述密鑰管理服務器通過網絡分別與密鑰備份卡服務器、所述第一設備和所述第二設備連接;所述第一安全芯片插入或內嵌于所述第一設備,所述第二安全芯片插入或內嵌于所述第二設備;所述第一安全芯片,用于根據內置的第一安全芯片根密鑰生成第一安全芯片業務密鑰;所述第二安全芯片,內置第二安全芯片根密鑰;
所述密鑰備份卡服務器,用于制作密鑰備份卡,并將所述密鑰備份卡的設備類型、密鑰備份卡序列號、密鑰備份校驗碼、密鑰恢復校驗碼、密鑰備份卡公鑰、用密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰、用于生成密鑰備份卡公私鑰對的算法類型以及用密鑰備份卡私鑰保護密鑰加密密鑰備份卡私鑰時所使用的算法類型,上傳給所述密鑰管理服務器;
所述密鑰備份卡上粘貼有所述密鑰備份卡序列號、所述密鑰備份校驗碼、所述密鑰恢復校驗碼和所述密鑰備份卡私鑰保護密鑰;
密鑰備份
所述第一設備,用于輸入所述密鑰備份卡序列號和所述密鑰備份校驗碼,并上傳給所述密鑰管理服務器;向所述密鑰管理服務器發送用于查詢所述密鑰管理服務器中是否保存有所述第一安全芯片業務密鑰的查詢請求,并根據查詢結果將所述第一安全芯片業務密鑰用所述密鑰備份卡公鑰加密后,發送至所述密鑰管理服務器;
所述密鑰管理服務器,用于根據所述第一設備上傳的所述密鑰備份卡序列號和所述密鑰備份校驗碼驗證其保存的對應的密鑰備份卡信息的有效性,并在該密鑰備份卡信息被驗證有效的情況下,將該密鑰備份卡所對應的所述密鑰備份卡公鑰信息返回給所述第一設備;用于根據所述第一設備向所述密鑰管理服務器發送的查詢請求,查詢所述密鑰管理服務器中是否保存有所述第一設備對應的所述第一安全芯片業務密鑰,并在查詢到所述第一安全芯片業務密鑰的情況下將所述第一安全芯片業務密鑰返回給所述第一設備;
密鑰恢復
所述密鑰管理服務器,根據所述第二設備上傳的所述密鑰備份卡序列號和所述密鑰恢復校驗碼驗證其保存的對應的密鑰備份卡信息的有效性,并在該密鑰備份卡信息被驗證有效的情況下,將該密鑰備份卡對應的用所述密鑰備份卡私鑰保護密鑰加密的所述密鑰備份卡私鑰和用所述密鑰備份卡公鑰加密的所述第一安全芯片業務密鑰返回給所述第二設備;
第二設備,輸入所述密鑰備份卡序列號、所述密鑰恢復校驗碼和所述密鑰備份卡私鑰保護密鑰,并上傳給所述密鑰管理服務器;利用所述密鑰備份卡私鑰保護密鑰解密從所述密鑰管理服務器得到的用所述密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰,得到密鑰備份卡私鑰,再利用密鑰備份卡私鑰將從所述密鑰管理服務器得到的用所述密鑰備份卡公鑰加密的第一安全芯片業務密鑰解密,得到第一安全芯片業務密鑰。
一種密鑰備份與恢復系統的密鑰備份與恢復方法,包括以下步驟:
準備
步驟1,通過所述密鑰備份卡服務器制作密鑰備份卡,并將所述密鑰備份卡的設備類型、密鑰備份卡序列號、密鑰備份校驗碼、密鑰恢復校驗碼、密鑰備份卡公鑰、用密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰、用于生成密鑰備份卡公私鑰對的算法類型、用密鑰備份卡私鑰保護密鑰加密密鑰備份卡私鑰時所使用的算法類型上傳給所述密鑰管理服務器;
所述第一安全芯片通過內置的第一安全芯片根密鑰生成第一安全芯片業務密鑰,并上傳保存至所述密鑰管理服務器;
第一安全芯片業務密鑰備份過程
步驟2,在所述第一設備上輸入所述密鑰備份卡序列號和所述密鑰備份校驗碼,并上傳給所述密鑰管理服務器;所述密鑰管理服務器根據所述密鑰備份卡序列號和所述密鑰備份校驗碼驗證其保存的對應的密鑰備份卡信息的有效性;若該密鑰備份卡信息有效,則將該密鑰備份卡所對應的所述密鑰備份卡公鑰信息返回給所述第一設備,然后繼續執行步驟3;若所述密鑰備份卡信息無效或失效,則結束備份過程;
步驟3,所述第一設備向所述密鑰管理服務器發送用于查詢所述密鑰管理服務器中是否保存有所述第一設備對應的所述第一安全芯片業務密鑰的查詢請求;所述密鑰管理服務器根據查詢請求查詢所述密鑰管理服務器中是否保存有所述第一設備對應的所述第一安全芯片業務密鑰,當查詢到含有所述第一安全芯片業務密鑰時,將所述第一安全芯片業務密鑰返回給所述第一設備,然后繼續執行步驟4;當沒有查詢到所述第一安全芯片業務密鑰時,則通知所述第一設備生成新的第一安全芯片業務密鑰,并上傳至所述密鑰管理服務器;
步驟4,所述第一設備用接收的所述密鑰備份卡公鑰將所述第一安全芯片業務密鑰加密后發送至所述密鑰管理服務器中備份保存;
第一安全芯片業務密鑰恢復過程
步驟5,在所述第二設備上輸入所述密鑰備份卡序列號和所述密鑰恢復校驗碼,并上傳給所述密鑰管理服務器;所述密鑰管理服務器根據所述第二設備上傳的所述密鑰備份卡序列號和所述密鑰恢復校驗碼驗證其保存的對應的密鑰備份卡信息的有效性,若驗證該密鑰備份卡信息有效,則將該密鑰備份卡對應的用所述密鑰備份卡私鑰保護密鑰加密的所述密鑰備份卡私鑰和用所述密鑰備份卡公鑰加密的所述第一安全芯片業務密鑰返回給所述第二設備,然后繼續執行步驟6;若驗證該密鑰備份卡信息無效或失效,則結束恢復過程;
步驟6,在所述第二設備上輸入所述密鑰備份卡私鑰保護密鑰信息,所述第二設備利用所述密鑰備份卡私鑰保護密鑰信息將用所述密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰解密,得到解密后的密鑰備份卡私鑰;
步驟7,所述第二設備利用解密后的所述密鑰備份卡私鑰解密從所述密鑰管理服務器得到的用所述密鑰備份卡公鑰加密的所述第一安全芯片業務密鑰解密,從而得到第一安全芯片業務密鑰。
本發明相對現有技術具有突出的實質性特點和顯著的進步,具體的說:
首先,本發明所提供的用于安全芯片業務密鑰的密鑰備份與恢復方法及系統可以實現安全芯片業務密鑰的密鑰備份與恢復,解決當載有安全芯片的設備丟失或安全芯片損壞或失效等情況出現時,存在于安全芯片外部的受安全芯片根密鑰加密保護的業務密鑰由于無法被解密而無法被使用,進而導致被該業務密鑰加密的用戶數據也喪失可用性的問題;
其次,本發明所提供的用于安全芯片業務密鑰的密鑰備份與恢復方法及系統提出了密鑰備份卡的概念,由密鑰備份卡服務器生成密鑰備份卡的相關信息并打印出密鑰備份卡,然后由插入或內嵌有安全芯片的設備的用戶在需要時在設備中輸入密鑰備份卡的備份或恢復信息即可輕松實現安全芯片業務密鑰的備份與恢復,對設備用戶來講,使用安全簡單方便;
第三,本發明所提供的用于安全芯片業務密鑰的密鑰備份與恢復方法及系統在備份過程中,密鑰管理服務器中保存的關鍵信息有:用密鑰備份卡的公鑰加密后的安全芯片業務密鑰和用密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰。由于密鑰管理服務器上沒有密鑰備份卡私鑰保護密鑰,所以密鑰管理服務器無法得到密鑰備份卡私鑰明文,從而無法解開由密鑰備份卡的公鑰加密保護的安全芯片業務密鑰,從而避免了現有技術中將備份密鑰交由可信第三方存儲所可能導致的問題。同時,由于安全芯片業務密鑰由密鑰備份卡的公鑰加密保護存儲于密鑰管理服務器,同樣避免了現有技術中將業務密鑰加密后存儲于軟盤、移動硬盤或源可信芯片所在終端等任何具有存儲能力的設備中時,可能出現的隨著時間的推移而造成的該設備的遺忘或丟失的問題。
附圖說明
圖1是本發明系統的結構示意圖。
圖2是本發明方法的實現流程框圖。
具體實施方式
下面通過具體實施方式,對本發明的技術方案做進一步的詳細描述。
如圖1所示,一種用于安全芯片業務密鑰的密鑰備份與恢復系統,包括:密鑰備份卡服務器、密鑰備份卡、密鑰管理服務器、第一設備、第二設備、第一安全芯片和第二安全芯片;所述密鑰管理服務器通過網絡分別與密鑰備份卡服務器、所述第一設備和所述第二設備連接;所述第一安全芯片插入或內嵌于所述第一設備,所述第二安全芯片插入或內嵌于所述第二設備;所述第一安全芯片,用于根據內置的第一安全芯片根密鑰生成第一安全芯片業務密鑰;所述第二安全芯片,內置第二安全芯片根密鑰;其中,所述第一設備是指需要備份安全芯片業務密鑰的源設備,所述第二設備是指需要將備份的安全芯片業務密鑰的恢復到其上的目的設備,源設備和目的設備可以為同一設備也可以為不同設備,不過,一般情況下是指不同的設備。
具體的說,所述密鑰備份卡服務器,用于制作密鑰備份卡,并將所述密鑰備份卡的設備類型、密鑰備份卡序列號、密鑰備份校驗碼、密鑰恢復校驗碼、密鑰備份卡公鑰、用密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰、用于生成密鑰備份卡公私鑰對的算法類型以及用密鑰備份卡私鑰保護密鑰加密密鑰備份卡私鑰時所使用的算法類型,上傳給所述密鑰管理服務器;
所述密鑰備份卡在備份與恢復過程中都需要使用;密鑰備份卡卡片上印刷有密鑰備份卡序列號、密鑰備份校驗碼、密鑰恢復校驗碼和密鑰卡私鑰保護密鑰,用于供用戶在進行所述安全芯片業務密鑰的備份與恢復操作時手工錄入;所述密鑰備份卡卡片上印刷的密鑰備份校驗碼信息、密鑰恢復校驗碼和密鑰卡私鑰保護密鑰信息采用不透明覆膜覆蓋,使用時刮開;
密鑰備份
所述第一設備,用于輸入所述密鑰備份卡序列號和所述密鑰備份校驗碼,并上傳給所述密鑰管理服務器;向所述密鑰管理服務器發送用于查詢所述密鑰管理服務器中是否保存有所述第一安全芯片業務密鑰的查詢請求,并根據查詢結果將所述第一安全芯片業務密鑰用所述密鑰備份卡公鑰加密后,發送至所述密鑰管理服務器;
所述密鑰管理服務器,用于根據所述第一設備上傳的所述密鑰備份卡序列號和所述密鑰備份校驗碼驗證其保存的對應的密鑰備份卡信息的有效性,并在該密鑰備份卡信息被驗證有效的情況下,將該密鑰備份卡所對應的所述密鑰備份卡公鑰信息返回給所述第一設備;用于根據所述第一設備向所述密鑰管理服務器發送的查詢請求,查詢所述密鑰管理服務器中是否保存有所述第一設備對應的所述第一安全芯片業務密鑰,并在查詢到所述第一安全芯片業務密鑰的情況下將所述第一安全芯片業務密鑰返回給所述第一設備;
密鑰恢復
所述密鑰管理服務器,根據所述第二設備上傳的所述密鑰備份卡序列號和所述密鑰恢復校驗碼驗證其保存的對應的密鑰備份卡信息的有效性,并在該密鑰備份卡信息被驗證有效的情況下,將該密鑰備份卡對應的用所述密鑰備份卡私鑰保護密鑰加密的所述密鑰備份卡私鑰和用所述密鑰備份卡公鑰加密的所述第一安全芯片業務密鑰返回給所述第二設備;
第二設備,輸入所述密鑰備份卡序列號、所述密鑰恢復校驗碼和所述密鑰備份卡私鑰保護密鑰,并上傳給所述密鑰管理服務器;利用所述密鑰備份卡私鑰保護密鑰解密從所述密鑰管理服務器得到的用所述密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰,得到密鑰備份卡私鑰,再利用密鑰備份卡私鑰將從所述密鑰管理服務器得到的用所述密鑰備份卡公鑰加密的第一安全芯片業務密鑰解密,得到第一安全芯片業務密鑰。
具體的,如圖2所示,使用該密鑰備份與恢復系統進行密鑰備份與恢復操作時,包括以下步驟:
準備
步驟1,通過所述密鑰備份卡服務器制作密鑰備份卡,并將所述密鑰備份卡的設備類型、密鑰備份卡序列號、密鑰備份校驗碼、密鑰恢復校驗碼、密鑰備份卡公鑰、用密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰、用于生成密鑰備份卡公私鑰對的算法類型、用密鑰備份卡私鑰保護密鑰加密密鑰備份卡私鑰時所使用的算法類型上傳給所述密鑰管理服務器;
所述第一安全芯片通過內置的第一安全芯片根密鑰生成第一安全芯片業務密鑰,并上傳保存至所述密鑰管理服務器;
第一安全芯片業務密鑰備份過程
步驟2,在所述第一設備上輸入所述密鑰備份卡序列號和所述密鑰備份校驗碼,并上傳給所述密鑰管理服務器;所述密鑰管理服務器根據所述密鑰備份卡序列號和所述密鑰備份校驗碼驗證其保存的對應的密鑰備份卡信息的有效性;若該密鑰備份卡信息有效,則將該密鑰備份卡所對應的所述密鑰備份卡公鑰信息返回給所述第一設備,然后繼續執行步驟3;若所述密鑰備份卡信息無效或失效,則結束備份過程;
步驟3,所述第一設備向所述密鑰管理服務器發送用于查詢所述密鑰管理服務器中是否保存有所述第一設備對應的所述第一安全芯片業務密鑰的查詢請求;所述密鑰管理服務器根據查詢請求查詢所述密鑰管理服務器中是否保存有所述第一設備對應的所述第一安全芯片業務密鑰,當查詢到含有所述第一安全芯片業務密鑰時,將所述第一安全芯片業務密鑰返回給所述第一設備,然后繼續執行步驟4;當沒有查詢到所述第一安全芯片業務密鑰時,則通知所述第一設備生成新的第一安全芯片業務密鑰,并上傳至所述密鑰管理服務器;
步驟4,所述第一設備用接收的所述密鑰備份卡公鑰將所述第一安全芯片業務密鑰加密后發送至所述密鑰管理服務器中備份保存;
第一安全芯片業務密鑰恢復過程
步驟5,在所述第二設備上輸入所述密鑰備份卡序列號和所述密鑰恢復校驗碼,并上傳給所述密鑰管理服務器;所述密鑰管理服務器根據所述第二設備上傳的所述密鑰備份卡序列號和所述密鑰恢復校驗碼驗證其保存的對應的密鑰備份卡信息的有效性,若驗證該密鑰備份卡信息有效,則將該密鑰備份卡對應的用所述密鑰備份卡私鑰保護密鑰加密的所述密鑰備份卡私鑰和用所述密鑰備份卡公鑰加密的所述第一安全芯片業務密鑰返回給所述第二設備,然后繼續執行步驟6;若驗證該密鑰備份卡信息無效或失效,則結束恢復過程;
步驟6,在所述第二設備上輸入所述密鑰備份卡私鑰保護密鑰信息,所述第二設備利用所述密鑰備份卡私鑰保護密鑰信息將用所述密鑰備份卡私鑰保護密鑰加密的密鑰備份卡私鑰解密,得到解密后的密鑰備份卡私鑰;
步驟7,所述第二設備利用解密后的所述密鑰備份卡私鑰解密從所述密鑰管理服務器得到的用所述密鑰備份卡公鑰加密的所述第一安全芯片業務密鑰解密,從而得到第一安全芯片業務密鑰。
優選地,所述第一安全芯片根密鑰和所述第二安全芯片根密鑰是出廠時內置于安全芯片內的唯一的不可更改的密鑰。而且,所述第一安全芯片和第二安全芯片為安全專用芯片,配用的商用密碼算法包括SM1、SM2、SM3和SM4;支持的國際常用密碼算法包括3DES、AES、RSA和SHA-1;安全芯片可提供的密碼服務包括:用于存儲個人數字身份證書和簽名私鑰、為移動終端提供數字簽名、簽名驗證和數據加解密;芯片內提供安全存儲空間,用于保存密鑰及用戶私有數據; 芯片支持的硬件接口包括:SPI、SD和USB。具體的,所述用于生成密鑰備份卡公私鑰對時的算法類型為非對稱密碼算法SM2,所述用密鑰備份卡私鑰保護密鑰加密密鑰備份卡私鑰時所使用的算法類型為對稱密碼算法SM4。
在具體進行系統設備選擇和系統設備連接時,所述第一設備和所述第二設備,采用智能手機、平板電腦、筆記本電腦或臺式電腦。所述密鑰管理服務器與第一設備和所述第二設備的連接形式為有線網絡連接或無線網絡連接。
為了提供更優異的服務,本發明還提供了安全芯片業務密鑰備份操作的撤銷功能,即在備份過程和恢復過程中間還設置有撤銷備份過程:通過所述第一設備向所述密鑰管理服務器發出取消備份信息,其中,所述取消備份信息包括所述密鑰備份卡序列號和所述第一設備的第一安全芯片的編號信息,所述密鑰管理服務器驗證取消備份信息后,刪除由所述密鑰備份卡公鑰加密的所述第一安全芯片業務密鑰,同時將相應的密鑰備份卡信息設置為無效信息。
在其他的實施例中,在所述第一安全芯片業務密鑰被成功恢復到第二設備上以后,所述第二設備通過所述第二安全芯片根密鑰將所述第一安全芯片業務密鑰加密后,上傳至所述密鑰管理服務器。被第二安全芯片根密鑰加密后的第一安全芯片業務密鑰僅用于所述第二設備的第二安全芯片自身在需要的時候下載使用,因為所述密鑰管理服務器并無第二安全芯片根密鑰信息,所述密鑰管理服務器無法獲得由第二安全芯片根密鑰加密后的第一安全芯片業務密鑰的明文信息。
需要特殊說明的是,在出現啟用了第一安全芯片業務密鑰備份而尚未進行恢復操作時出現密鑰備份卡丟失或損壞的情況時,作為預防措施,采用如下情況進行解決:
1)在源設備的安全芯片還沒有損壞或丟失時,在通過審核身份確保安全的情況下,通知密鑰管理服務器從后臺先解除該源設備的安全芯片業務密鑰的備份后,用戶重新申請一張新的密鑰備份卡,再重新啟用備份即可;
2)在源安全芯片已經損壞或丟失時,在通過審核身份確保安全的情況下,由密鑰備份卡服務器根據以前的備份卡信息重新制作一張相同信息的密鑰備份卡,然后,再使用業務密鑰恢復功能進行恢復。
最后應當說明的是:以上實施例僅用以說明本發明的技術方案而非對其限制;盡管參照較佳實施例對本發明進行了詳細的說明,所屬領域的普通技術人員應當理解:依然可以對本發明的具體實施方式進行修改或者對部分技術特征進行等同替換;而不脫離本發明技術方案的精神,其均應涵蓋在本發明請求保護的技術方案范圍當中。