本發(fā)明涉及通信領(lǐng)域,具體地,涉及一種標(biāo)識密鑰更新方法及系統(tǒng)。
背景技術(shù):
基于身份密碼又稱為標(biāo)識密碼,其簡稱有ibe、ibc和sm9。ibe為identity-basedencryption的縮寫,意為基于身份的加密;ibc為identity-basedcryptograph,意為基于身份的密碼體制;sm9是中國密碼管理局在2007年制定的中國ibc技術(shù)標(biāo)準規(guī)范。
現(xiàn)有技術(shù)中一種有關(guān)標(biāo)識密鑰更新的方法是“帳戶名+口令”,但這樣的方法既不安全,也不方便使用;并且,對于標(biāo)識令牌丟失的情況,也不能有效廢止其在線更新標(biāo)識密鑰。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種標(biāo)識密鑰更新方法及系統(tǒng),以解決現(xiàn)有技術(shù)中的問題。
為了實現(xiàn)上述目的,本發(fā)明提供一種標(biāo)識密鑰更新方法,其中,該方法包括:客戶端生成認證令牌,并向密鑰生成中心發(fā)送標(biāo)識密鑰更新請求和所述認證令牌;以及所述密鑰生成中心響應(yīng)所述標(biāo)識密鑰更新請求對所述認證令牌進行驗證,并根據(jù)驗證結(jié)果確定是否執(zhí)行更新標(biāo)識密鑰的操作。
本發(fā)明還提供一種標(biāo)識密鑰更新系統(tǒng),該系統(tǒng)包括客戶端和密鑰生成中心,其中:所述客戶端用于生成認證令牌,并向密鑰生成中心發(fā)送標(biāo)識密鑰更新請求和所述認證令牌;以及所述密鑰生成中心用于響應(yīng)所述標(biāo)識密鑰更新請求對所述認證令牌進行驗證,并根據(jù)驗證結(jié)果確定是否執(zhí)行更新標(biāo)識密 鑰的操作。
通過上述技術(shù)方案,首先由客戶端生成認證令牌,并向密鑰生成中心發(fā)送標(biāo)識密鑰更新請求和所述認證令牌;然后所述密鑰生成中心響應(yīng)所述標(biāo)識密鑰更新請求對所述認證令牌進行驗證,并根據(jù)驗證結(jié)果確定是否執(zhí)行更新標(biāo)識密鑰的操作。由此,能夠在進行驗證后根據(jù)驗證結(jié)果確定是否對標(biāo)識密鑰進行更新,確保了密鑰更新的安全性。并且,認證令牌可以由客戶端自身生成,因此能夠避免認證令牌丟失而造成的密鑰更新不安全的問題。
本發(fā)明的其它特征和優(yōu)點將在隨后的具體實施方式部分予以詳細說明。
附圖說明
附圖是用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與下面的具體實施方式一起用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1是根據(jù)本發(fā)明一種實施方式的標(biāo)識密鑰更新方法的流程圖;
圖2是根據(jù)本發(fā)明一種實施方式的標(biāo)識密鑰更新系統(tǒng)的方框圖;以及
圖3是根據(jù)本發(fā)明一種實施方式的密鑰生成中心的方框圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的具體實施方式進行詳細說明。應(yīng)當(dāng)理解的是,此處所描述的具體實施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
圖1是根據(jù)本發(fā)明一種實施方式的標(biāo)識密鑰更新方法的流程圖。
如圖1所示,本發(fā)明一種實施方式通過的標(biāo)識密鑰更新方法包括:
s100,客戶端生成認證令牌;
s102,向密鑰生成中心(kgc)發(fā)送標(biāo)識密鑰更新請求和所述認證令牌;
s104,所述密鑰生成中心響應(yīng)所述標(biāo)識密鑰更新請求對所述認證令牌進行驗證;以及
s106,根據(jù)驗證結(jié)果確定是否執(zhí)行更新標(biāo)識密鑰的操作。
在使用例如sm9規(guī)范的過程中,當(dāng)想要對標(biāo)識密鑰進行更新時,可以首先由客戶端生成認證令牌,并向密鑰生成中心發(fā)送標(biāo)識密鑰更新請求和所述認證令牌,然后所述密鑰生成中心響應(yīng)所述標(biāo)識密鑰更新請求對所述認證令牌進行驗證,并根據(jù)驗證結(jié)果確定是否執(zhí)行更新標(biāo)識密鑰的操作。由此,能夠在進行驗證后根據(jù)驗證結(jié)果確定是否對標(biāo)識密鑰進行更新,確保了標(biāo)識密鑰更新的安全性。并且,認證令牌可以由客戶端自身生成,因此能夠避免認證令牌丟失而造成的密鑰更新不安全的問題。
在該方法中,步驟s100包括:
s1000,所述客戶端向密鑰生成中心發(fā)送請求認證隨機數(shù)的請求;
s1002,所述客戶端接收來自所述密鑰生成中心的基于所述請求認證隨機數(shù)的請求生成的認證隨機數(shù);
s1004,所述客戶端獲取最新標(biāo)識密鑰的標(biāo)識私鑰idlpri,并利用所述標(biāo)識私鑰idlpri對所述認證隨機數(shù)、當(dāng)前時間以及所述標(biāo)識密鑰更新請求進行簽名,生成所述認證令牌。
其中,所述密鑰生成中心生成認證隨機數(shù),且所生成的認證隨機數(shù)在所述密鑰生成中心的本地保存。
通過上述步驟,客戶端可以生成用于驗證的認證令牌。但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述實例僅僅是示例性的,并非用于限定本發(fā)明。
在該方法中,步驟s104包括:
s1040,所述密鑰生成中心獲取最新標(biāo)識密鑰的標(biāo)識公鑰idlpub;
s1042,所述密鑰生成中心基于所述最新標(biāo)識密鑰的標(biāo)識公鑰idlpub對所述認證令牌進行驗證,其中,在該步驟s1042中,可以判斷對所述認證令 牌的驗證是否成功,如果驗證成功,轉(zhuǎn)至步驟s1060,否則轉(zhuǎn)至步驟s1062。
由此,可以實現(xiàn)對認證令牌的驗證過程,為后續(xù)的標(biāo)識密鑰的更新提供了前提條件。
在該方法中,步驟s106包括:
s1060,在驗證結(jié)果為驗證成功的情況下,確定執(zhí)行更新標(biāo)識密鑰的操作;
s1062,在驗證結(jié)果為驗證失敗的情況下,確定不執(zhí)行更新標(biāo)識密鑰的操作。
由此,可以在驗證成功的條件下執(zhí)行更新標(biāo)識密鑰的操作,確保了標(biāo)識密鑰更新的安全性。
此外,在s1062中,同時還會返回表示標(biāo)識密鑰更新失敗的特征碼,以通知客戶端標(biāo)識密鑰更新失敗。
在該方法中,執(zhí)行更新標(biāo)識密鑰的操作包括:
所述密鑰生成中心計算生成待更新的標(biāo)識密鑰對idnk并將所述待更新的標(biāo)識密鑰對idnk發(fā)送至所述客戶端,并在接收到所述客戶端發(fā)送的表示所述待更新的標(biāo)識密鑰對idnk在所述客戶端側(cè)更新成功的響應(yīng)的情況下,基于所述待更新的標(biāo)識密鑰對idnk更新所述密鑰生成中心側(cè)的標(biāo)識密鑰的標(biāo)識公鑰。
其中,可以利用標(biāo)準算法來生成待更新的標(biāo)識密鑰對idnk。為了不混淆本發(fā)明,本發(fā)明對此不再贅述。
下面結(jié)合附圖對本發(fā)明一種實施方式的執(zhí)行更新標(biāo)識密鑰的操作進行描述,具體地,該操作包括:
s108,所述密鑰生成中心計算生成待更新的標(biāo)識密鑰對;
s110,可以對所述待更新的標(biāo)識密鑰對idnk進行加密(例如,使用標(biāo)識公鑰idlpub進行加密)以形成密鑰密文的數(shù)字信封,并將該數(shù)字信封發(fā)送 給客戶端;通過對待更新的標(biāo)識密鑰對idnk進行加密,可以確保待更新的標(biāo)識密鑰對idnk的傳輸安全。
s112,所述客戶端在接收到數(shù)字信封后使用與idlpub對應(yīng)的標(biāo)識私鑰idlpri對數(shù)字信封進行解密,若解密成功,轉(zhuǎn)至步驟s114,否則轉(zhuǎn)至步驟s120;
s114,客戶端會將解密得到的idnk存儲到客戶端的標(biāo)識密鑰存儲介質(zhì)(iks)中;
s116,客戶端將發(fā)送表示解密成功的響應(yīng)消息至密鑰生成中心;
s118,密鑰生成中心用所生成的待更新的標(biāo)識密鑰對idnk更新密鑰生成中心的數(shù)據(jù)庫中的idlpub以存儲更新的密鑰公鑰,由此更新過程結(jié)束;
s120,客戶端將發(fā)送表示解密失敗的響應(yīng)消息至密鑰生成中心,更新過程結(jié)束。
圖2是根據(jù)本發(fā)明一種實施方式的標(biāo)識密鑰更新系統(tǒng)的方框圖。
如圖2所示,本發(fā)明一種實施方式提供的標(biāo)識密鑰更新系統(tǒng)包括客戶端20和密鑰生成中心22,其中:
所述客戶端20用于生成認證令牌,并向密鑰生成中心22發(fā)送標(biāo)識密鑰更新請求和所述認證令牌;以及
所述密鑰生成中心22用于響應(yīng)所述標(biāo)識密鑰更新請求對所述認證令牌進行驗證,并根據(jù)驗證結(jié)果確定是否執(zhí)行更新標(biāo)識密鑰的操作。
在使用例如sm9規(guī)范的過程中,當(dāng)想要對標(biāo)識密鑰進行更新時,可以首先由客戶端生成認證令牌,并向密鑰生成中心發(fā)送標(biāo)識密鑰更新請求和所述認證令牌,然后所述密鑰生成中心響應(yīng)所述標(biāo)識密鑰更新請求對所述認證令牌進行驗證,并根據(jù)驗證結(jié)果確定是否執(zhí)行更新標(biāo)識密鑰的操作。由此,能夠在進行驗證后根據(jù)驗證結(jié)果確定是否對標(biāo)識密鑰進行更新,確保了標(biāo)識密鑰更新的安全性。并且,認證令牌可以由客戶端自身生成,因此能夠避免 認證令牌丟失而造成的密鑰更新不安全的問題。
根據(jù)本發(fā)明一種實施方式,所述客戶端20用于生成所述認證令牌包括:
所述客戶端20用于向密鑰生成中心22發(fā)送請求認證隨機數(shù)的請求;
所述客戶端20用于接收來自所述密鑰生成中心22的基于所述請求認證隨機數(shù)的請求生成的認證隨機數(shù);
所述客戶端20獲取最新標(biāo)識密鑰的標(biāo)識私鑰idlpri,并利用所述標(biāo)識私鑰idlpri對所述認證隨機數(shù)、當(dāng)前時間以及所述標(biāo)識密鑰更新請求進行簽名,生成所述認證令牌。
其中,所述密鑰生成中心22生成認證隨機數(shù),且所生成的認證隨機數(shù)在所述密鑰生成中心22的本地保存。
通過上述步驟,客戶端20可以生成用于驗證的認證令牌。但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述實例僅僅是示例性的,并非用于限定本發(fā)明。
根據(jù)本發(fā)明一種實施方式,所述密鑰生成中心22用于響應(yīng)所述標(biāo)識密鑰更新請求對所述認證令牌進行驗證包括:
所述密鑰生成中心22獲取最新標(biāo)識密鑰的標(biāo)識公鑰idlpub;
所述密鑰生成中心22基于所述最新標(biāo)識密鑰的標(biāo)識公鑰idlpub對所述認證令牌進行驗證。
由此,可以實現(xiàn)對認證令牌的驗證過程,為后續(xù)的標(biāo)識密鑰的更新提供了前提條件。
根據(jù)本發(fā)明一種實施方式,所述密鑰生成中心22用于根據(jù)驗證結(jié)果確定是否執(zhí)行更新標(biāo)識密鑰的操作包括:
在驗證結(jié)果為驗證成功的情況下,所述密鑰生成中心22確定執(zhí)行更新標(biāo)識密鑰的操作;
在驗證結(jié)果為驗證失敗的情況下,所述密鑰生成中心22確定不執(zhí)行更新標(biāo)識密鑰的操作。
由此,可以在驗證成功的條件下執(zhí)行更新標(biāo)識密鑰的操作,確保了標(biāo)識密鑰更新的安全性。
此外,在驗證結(jié)果為驗證失敗的情況下,還會返回表示標(biāo)識密鑰更新失敗的特征碼,以通知客戶端標(biāo)識密鑰更新失敗。
根據(jù)本發(fā)明一種實施方式,執(zhí)行更新標(biāo)識密鑰的操作包括:
所述密鑰生成中心22計算生成待更新的標(biāo)識密鑰對idnk并將所述待更新的標(biāo)識密鑰對idnk發(fā)送至所述客戶端20,并在接收到所述客戶端20發(fā)送的表示所述待更新的標(biāo)識密鑰對idnk在所述客戶端20側(cè)成功更新的響應(yīng)的情況下,基于所述待更新的標(biāo)識密鑰對idnk更新所述密鑰生成中心側(cè)的標(biāo)識密鑰的標(biāo)識公鑰。
其中,可以利用標(biāo)準算法來生成待更新的標(biāo)識密鑰對idnk。例如,為了不混淆本發(fā)明,本發(fā)明對此不再贅述。并且,所述客戶端20包括標(biāo)識密鑰存儲介質(zhì)(iks),用于存儲標(biāo)識密鑰對(包括標(biāo)識公鑰和標(biāo)識私鑰),而密鑰生成中心22包括數(shù)據(jù)庫,用于存儲標(biāo)識公鑰。在標(biāo)識密鑰更新完成后,iks和數(shù)據(jù)庫中分別存儲的為更新后的標(biāo)識密鑰對和標(biāo)識公鑰,即,iks和數(shù)據(jù)庫中存儲的均為最新數(shù)據(jù)。
對于iks,其可以為沒有計算能力的磁盤等介質(zhì),也可以為具有計算能力的智能卡等介質(zhì)。在iks不具有計算能力的情況下,解密計算在客戶端20的解密單元完成;而在iks具有計算能力的情況下,解密計算可以在iks內(nèi)進行,即,私鑰不出iks。
圖3是根據(jù)本發(fā)明一種實施方式的密鑰生成中心的方框圖。
此外,在本發(fā)明中,密鑰生成中心22可以包括:用戶管理單元220、密碼運算單元222、策略管理單元224、標(biāo)識密鑰服務(wù)單元226、數(shù)據(jù)庫處理單元228、日志管理單元230。所述用戶管理單元220指對用戶信息、用戶標(biāo)識以及標(biāo)識公鑰進行增改刪查操作;所述密碼運算單元222,主要指的是公 鑰密碼算法、對稱密碼算法以及摘要密碼算法三大密碼算法的運算,包括歸屬于公鑰密碼算法的標(biāo)識密碼算法的密碼運算,如加密解密和簽名驗證等運算;所述策略管理單元224,主要指進行標(biāo)識密鑰更新的策略機制管理,如標(biāo)識密鑰是按年、按月還是按周進行更新等;所述標(biāo)識密鑰服務(wù)單元226,指的是kgc對外提供服務(wù),例如由客戶端20提交申請,下載標(biāo)識密鑰;所述數(shù)據(jù)庫處理單元228,指的是kgc與數(shù)據(jù)庫之間建立聯(lián)接、控制和通信等;所述日志管理單元230,指的是客戶端20操作的日志記錄,便于查詢、取證和審計。
本發(fā)明上述實施方式中描述的標(biāo)識密鑰更新方法和系統(tǒng)針對iks失竊的情況能夠有效廢止標(biāo)識密鑰的更新過程。
具體地:
(1)用戶發(fā)現(xiàn)自己的iks失竊,通過客戶端20向kgc22發(fā)起“離線更新標(biāo)識密鑰”申請;(2)kgc22通過離線的方式對用戶進行身份審核,如柜臺等,驗證通過轉(zhuǎn)(3);否則返回“離線更新標(biāo)識密鑰”錯誤碼,結(jié)束更新過程;(3)kgc22管理員準備新iks,聯(lián)接kgc22,查詢用戶在數(shù)據(jù)庫存儲的標(biāo)識公鑰,生成該標(biāo)識公鑰新一期的標(biāo)識密鑰對,下載到iks,并安全發(fā)放給用戶;(4)將數(shù)據(jù)庫存儲的用戶標(biāo)識公鑰更新為新一期的標(biāo)識公鑰;(5)結(jié)束。
對于步驟(3),舉例來說,假設(shè)系統(tǒng)的標(biāo)識密鑰是按月更新,用戶標(biāo)識公鑰是10字節(jié)日期字段與用戶標(biāo)識字段(不超過32字節(jié))的聯(lián)接,用戶alice的標(biāo)識為alice@aisino.com(alice的電子郵箱地址),查詢到該用戶在數(shù)據(jù)庫存儲的標(biāo)識公鑰為“2015060000||alice@aisino.com”(即用戶alice在2015年6月份的標(biāo)識公鑰),其新一期(或后一期)標(biāo)識公鑰為“2015070000||alice@aisino.com”(即用戶alice在2015年7月份的標(biāo)識公鑰),計算對應(yīng)的標(biāo)識私鑰,將該新一期的標(biāo)識密鑰對下載到新iks中,并安全發(fā) 放給用戶alice。通過這種方法,其他用戶通過失竊的iks也無法進行alice用戶的在線標(biāo)識密鑰更新,因為失竊的iks中沒有標(biāo)識公鑰為“2015070000||alice@aisino.com”的標(biāo)識密鑰對,無法完成身份認證,因而也就無法進行alice用戶的在線標(biāo)識密鑰更新。
由此,對于iks失竊的情況,本發(fā)明所述的方法和系統(tǒng)能有效廢止在線更新標(biāo)識密鑰,以確保密鑰更新的安全性。
從上述實施方式中可以看出,標(biāo)識密鑰更新過程中不需要用戶進行輸入口令等操作,也就是,無需用戶參與就可以實現(xiàn)標(biāo)識密鑰的更新,簡化了更新過程。
以上結(jié)合附圖詳細描述了本發(fā)明的優(yōu)選實施方式,但是,本發(fā)明并不限于上述實施方式中的具體細節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對本發(fā)明的技術(shù)方案進行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護范圍。
另外需要說明的是,在上述具體實施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進行組合。為了避免不必要的重復(fù),本發(fā)明對各種可能的組合方式不再另行說明。
此外,本發(fā)明的各種不同的實施方式之間也可以進行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。