專(zhuān)利名稱(chēng):具有種子密鑰更新功能的動(dòng)態(tài)令牌及其種子密鑰的更新方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種動(dòng)態(tài)令牌,特別是涉及一種具有種子密鑰更新功能的動(dòng)態(tài)令牌及
其種子密鑰的更新方法。
背景技術(shù):
身份認(rèn)證是信息安全體系的重要組成部分,它的任務(wù)是檢驗(yàn)信息系統(tǒng)用戶(hù)身份的
合法性和真實(shí)性,并按系統(tǒng)授予的權(quán)限訪(fǎng)問(wèn)系統(tǒng)資源,將非法訪(fǎng)問(wèn)者拒之門(mén)外。
身份認(rèn)證技術(shù)分為靜態(tài)口令認(rèn)證、動(dòng)態(tài)口令認(rèn)證、生物技術(shù)(指紋、虹膜、面容
等)認(rèn)證、通過(guò)第三方發(fā)放的數(shù)字證書(shū)(CA)認(rèn)證等。靜態(tài)口令認(rèn)證是計(jì)算機(jī)系統(tǒng)的早期身
份認(rèn)證產(chǎn)品,因靜態(tài)口令的靜態(tài)特性和重復(fù)使用性,存在易竊取、易猜測(cè)、易破解等安全缺
陷,是一種弱身份認(rèn)證系統(tǒng),用于安全等級(jí)要求較低的信息系統(tǒng)。 動(dòng)態(tài)口令也稱(chēng)一次性口令。動(dòng)態(tài)口令是變動(dòng)的口令,其變動(dòng)來(lái)源于產(chǎn)生口令的運(yùn) 算因子是變化的。它的主要特性在于每次產(chǎn)生的口令是變化的,并且只能使用一次,因此有 效的避免了被猜測(cè)、破解和重用等靜態(tài)口令固有的安全弱點(diǎn),作為主要的認(rèn)證技術(shù)之一,目 前廣泛應(yīng)用于電子商務(wù)、遠(yuǎn)程訪(fǎng)問(wèn)、內(nèi)部系統(tǒng)訪(fǎng)問(wèn)等的身份認(rèn)證。 動(dòng)態(tài)令牌是用于產(chǎn)生動(dòng)態(tài)口令的電子終端設(shè)備,通常包括內(nèi)置處理芯片、顯示屏, 部分設(shè)備帶有按鍵裝置。動(dòng)態(tài)令牌產(chǎn)生的動(dòng)態(tài)口令需要通過(guò)認(rèn)證服務(wù)器軟件系統(tǒng)的驗(yàn)證。 認(rèn)證服務(wù)器軟件系統(tǒng)使用與動(dòng)態(tài)令牌相同的算法、密鑰和輸入因素(時(shí)間值或事件計(jì)數(shù) 器)。在當(dāng)前時(shí)刻或計(jì)數(shù)器值,動(dòng)態(tài)令牌產(chǎn)生的動(dòng)態(tài)口令與認(rèn)證服務(wù)器軟件系統(tǒng)相同,即表 明用戶(hù)使用了正確的動(dòng)態(tài)令牌,從而實(shí)現(xiàn)對(duì)用戶(hù)的身份認(rèn)證。 動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)共享的變動(dòng)因素包括時(shí)間值或事件計(jì)數(shù)器,這些 因素每次都是變化的,作為用于產(chǎn)生動(dòng)態(tài)口令的輸入,以保證動(dòng)態(tài)口令每次都是變化的。
動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)之間共享的固定因素包括密鑰KEY和變量IV,變 量IV用于對(duì)密鑰KEY或輸入的變動(dòng)因素進(jìn)行變換。固定因素(KEY, IV)被稱(chēng)為動(dòng)態(tài)令牌和 認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰。 動(dòng)態(tài)令牌的種子密鑰通常為初始密鑰,或可由初始密鑰導(dǎo)出。動(dòng)態(tài)令牌使用種子
密鑰根據(jù)當(dāng)前時(shí)間或事件計(jì)數(shù)器的值生成動(dòng)態(tài)口令。種子密鑰用于對(duì)輸入的時(shí)間或事件計(jì)
數(shù)器進(jìn)行加密或HMAC操作,通過(guò)變換運(yùn)算(通常是模運(yùn)算)后輸出6-8位數(shù)字到顯示屏,
作為動(dòng)態(tài)口令。如果沒(méi)有種子密鑰更新功能,種子密鑰可完全由初始密鑰導(dǎo)出。因此,動(dòng)態(tài)
令牌的安全性依賴(lài)于種子密鑰的保密性,一旦種子密鑰外泄,該動(dòng)態(tài)令牌產(chǎn)生的動(dòng)態(tài)口令
可以被其它設(shè)備產(chǎn)生,即動(dòng)態(tài)令牌的動(dòng)態(tài)口令不再安全。不具備種子密鑰更新功能的動(dòng)態(tài)
令牌無(wú)法從種子密鑰外泄的事故中恢復(fù),意味著該動(dòng)態(tài)令牌不能再使用。 由于初始密鑰在投產(chǎn)前經(jīng)過(guò)生產(chǎn)廠商、運(yùn)輸商、中間商和系統(tǒng)運(yùn)行管理人員,在該
過(guò)程中初始密鑰均有可能被泄露。為保證動(dòng)態(tài)令牌的安全性,應(yīng)提供一種方法使投產(chǎn)后的
動(dòng)態(tài)令牌實(shí)際使用的種子密鑰不可由初始密鑰推算出,以及在投產(chǎn)后可根據(jù)需要更新動(dòng)態(tài)
4令牌的種子密鑰。種子密鑰的更新方法可選擇 1.雙鑰體系的密鑰協(xié)商或分發(fā)。即利用如DH算法、RSA算法或DSA算法協(xié)商種子 密鑰。由于動(dòng)態(tài)令牌的芯片的計(jì)算局限性,基于雙鑰(公開(kāi)密鑰)體系的密鑰協(xié)商/分發(fā) 的方法不具可行性,并且該方法易受到中間人攻擊的威脅。 2.在客戶(hù)現(xiàn)場(chǎng)提供密鑰更新設(shè)備??蛻?hù)現(xiàn)場(chǎng)提供密鑰更新設(shè)備需采購(gòu)大量的設(shè) 備,并且密鑰分發(fā)過(guò)程存在種子密鑰泄露的問(wèn)題,種子密鑰的注入需要額外的工作量,并有 可能產(chǎn)生設(shè)備損壞。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種具有種子密鑰更新功能的動(dòng)態(tài)令牌及其種子密鑰更新
方法,使動(dòng)態(tài)令牌的發(fā)行者或用戶(hù)能夠根據(jù)需要安全地更新動(dòng)態(tài)令牌的種子密鑰,消除了
因動(dòng)態(tài)令牌出廠時(shí)初始密鑰外泄引起的安全風(fēng)險(xiǎn);即使動(dòng)態(tài)令牌發(fā)行者的種子密鑰數(shù)據(jù)庫(kù)
外泄,也能通過(guò)更新動(dòng)態(tài)令牌的種子密鑰恢復(fù)已經(jīng)發(fā)行的動(dòng)態(tài)令牌的安全性。 本發(fā)明的目的是這樣實(shí)現(xiàn)的 —種具有種子密鑰更新功能的動(dòng)態(tài)令牌,包括 —輸入模塊,用于接收用戶(hù)輸入; —命令控制模塊,分別與輸入模塊、種子密鑰管理模塊、動(dòng)態(tài)口令計(jì)算模塊、顯示 控制模塊相連,控制動(dòng)態(tài)令牌的狀態(tài),解釋輸入模塊接收的命令,啟動(dòng)動(dòng)態(tài)令牌的各項(xiàng)功 能; —種子密鑰管理模塊,分別與命令控制模塊、密鑰存儲(chǔ)模塊、顯示控制模塊相連, 提供隨機(jī)數(shù)產(chǎn)生、用于更新種子密鑰的隨機(jī)數(shù)序列計(jì)算、以及種子密鑰更新功能;
—密鑰存儲(chǔ)模塊,存儲(chǔ)種子密鑰和初始密鑰; —?jiǎng)討B(tài)口令計(jì)算模塊,分別與命令控制模塊、密鑰存儲(chǔ)模塊、顯示控制模塊相連, 使用種子密鑰計(jì)算動(dòng)態(tài)口令; —顯示控制模塊,分別與命令控制模塊、種子密鑰管理模塊、動(dòng)態(tài)口令計(jì)算模塊、 顯示模塊相連,接收密鑰種子管理模塊、動(dòng)態(tài)口令計(jì)算模塊、命令控制模塊的輸出,發(fā)送到 顯示模塊; —顯示模塊,與顯示控制模塊相連,提供顯示功能,顯示輸出的數(shù)字和動(dòng)態(tài)令牌工 作狀態(tài);以及 —電源模塊,為動(dòng)態(tài)令牌供電。 其中,所述種子密鑰管理模塊還包括隨機(jī)數(shù)產(chǎn)生模塊,用于產(chǎn)生隨機(jī)數(shù);計(jì)算轉(zhuǎn)換 模塊,用于計(jì)算更新序列和校驗(yàn)碼,并按照命令控制模塊的指令輸出;以及密鑰更新模塊, 使用更新序列更新密鑰存儲(chǔ)模塊內(nèi)的種子密鑰。 其中,所述輸入模塊可以是一個(gè)或多個(gè)按鍵、按鈕、感應(yīng)開(kāi)關(guān)。 其中,所述命令控制模塊包括種子密鑰管理功能和口令產(chǎn)生功能。 其中,所述顯示模塊為顯示裝置,可以是段碼顯示屏、點(diǎn)陣屏、字符屏和圖形屏。 其中,還包括超時(shí)判斷模塊,用于處理在動(dòng)態(tài)令牌的操作過(guò)程中的觸發(fā)按鍵超時(shí)。 —種動(dòng)態(tài)令牌種子密鑰的更新方法,其特征在于使用動(dòng)態(tài)令牌的內(nèi)部隨機(jī)數(shù)發(fā)生器輸出數(shù)字序列,該數(shù)字序列被用于更新動(dòng)態(tài)令牌的種子密鑰的操作,同時(shí)提供給認(rèn)證服 務(wù)器軟件系統(tǒng)用于更新對(duì)應(yīng)的種子密鑰。 設(shè)每次輸出的十進(jìn)制數(shù)的位數(shù)為m,共輸出p個(gè)m位的十進(jìn)制數(shù)。通常m值為6_8 的正整數(shù),P值為1-4的正整數(shù),視具體要求的安全強(qiáng)度而定。其中,該更新方法包括步驟
1)觸發(fā)動(dòng)態(tài)令牌,進(jìn)入種子密鑰更新?tīng)顟B(tài); 2)按鍵,動(dòng)態(tài)令牌產(chǎn)生隨機(jī)數(shù),并轉(zhuǎn)換為m位數(shù)字,顯示在顯示屏上;
3)操作人員記錄顯示的數(shù)字; 4)重復(fù)步驟2和3p次,記錄p*m位的數(shù)字序列,即隨機(jī)數(shù)序列; 5)操作人員按鍵,動(dòng)態(tài)令牌顯示隨機(jī)數(shù)序列的校驗(yàn)碼; 6)操作人員記錄校驗(yàn)碼; 7)在特定時(shí)間內(nèi),按鍵確認(rèn)更新操作; 8)使用隨機(jī)數(shù)序列和初始密鑰,產(chǎn)生更新后的種子密鑰。 其中,還包括與認(rèn)證服務(wù)器軟件系統(tǒng)更新對(duì)應(yīng)的種子密鑰的步驟,具體包括 1)進(jìn)入認(rèn)證服務(wù)器軟件系統(tǒng)的動(dòng)態(tài)令牌種子密鑰更新功能界面; 2)根據(jù)動(dòng)態(tài)令牌的序列號(hào),選擇對(duì)應(yīng)的動(dòng)態(tài)令牌; 3)操作人員輸入記錄的p*m位的隨機(jī)數(shù)序列和校驗(yàn)碼; 4)服務(wù)器對(duì)隨機(jī)數(shù)序列執(zhí)行校驗(yàn)計(jì)算,產(chǎn)生服務(wù)器校驗(yàn)碼; 5)服務(wù)器檢查服務(wù)器校驗(yàn)碼與動(dòng)態(tài)令牌校驗(yàn)碼是否相同; 6)如果相同,執(zhí)行種子密鑰更新操作,更新種子密鑰。 其中,動(dòng)態(tài)令牌產(chǎn)生的隨機(jī)數(shù)為二進(jìn)制數(shù),經(jīng)過(guò)模運(yùn)算或其它轉(zhuǎn)換方法轉(zhuǎn)換為m 位十進(jìn)制數(shù)字。 其中,通過(guò)對(duì)隨機(jī)數(shù)序列進(jìn)行HASH算法或其它校驗(yàn)算法產(chǎn)生校驗(yàn)碼。 其中,種子密鑰更新可以是以初始密鑰作為密鑰,對(duì)隨機(jī)數(shù)序列進(jìn)行加密(如
AES,DES等)的算法;或以初始密鑰與隨機(jī)數(shù)序列實(shí)施單向雜湊函數(shù)的算法(如MD5,SHA-1
等);或其它密鑰混合算法對(duì)初始密鑰和隨機(jī)數(shù)序列進(jìn)行混合以產(chǎn)生種子密鑰。對(duì)種子密
鑰更新算法的要求是生成的種子密鑰具有與初始密鑰相同的密鑰安全長(zhǎng)度。 其中,還包括確認(rèn)動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰同步更新的步驟。 本發(fā)明的一種具有種子密鑰更新功能的動(dòng)態(tài)令牌及其種子密鑰更新方法,可以對(duì)
動(dòng)態(tài)令牌中的種子密鑰進(jìn)行更新,同時(shí)不需要專(zhuān)門(mén)的設(shè)備,不需要成本很高且耗電的計(jì)算
芯片,對(duì)已有外部按鍵的動(dòng)態(tài)令牌也不需要對(duì)硬件進(jìn)行改動(dòng),從而使動(dòng)態(tài)令牌更加安全、實(shí)用。
圖1為本發(fā)明具有種子密鑰更新功能的動(dòng)態(tài)令牌的系統(tǒng)結(jié)構(gòu)圖; 圖2為本發(fā)明動(dòng)態(tài)令牌種子密鑰更新方法的操作流程圖。
圖3為本發(fā)明與認(rèn)證服務(wù)器軟件系統(tǒng)對(duì)應(yīng)的種子密鑰的更新的操作流程圖。 圖4為本發(fā)明確認(rèn)動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰同步更新的操作
流程圖
具體實(shí)施例方式
下面,結(jié)合附圖詳細(xì)描述根據(jù)本發(fā)明的優(yōu)選實(shí)施例。為了便于描述和突出顯示本
發(fā)明,附圖中省略了現(xiàn)有技術(shù)中已有的相關(guān)部件,并將省略對(duì)這些公知部件的描述。 如圖所示,圖1為本發(fā)明具有種子密鑰更新功能的動(dòng)態(tài)令牌的電路結(jié)構(gòu)圖。 一種
具有更新種子密鑰功能的動(dòng)態(tài)令牌,包括輸入模塊401、顯示模塊402、命令控制模塊403、
顯示控制模塊404、種子密鑰管理模塊405、密鑰存儲(chǔ)模塊406、動(dòng)態(tài)口令計(jì)算模塊407和供
電模塊。 輸入模塊401與命令控制模塊403相連,顯示模塊402與顯示控制模塊404相連, 命令控制模塊403分別與輸入模塊401、種子密鑰管理模塊405、動(dòng)態(tài)口令計(jì)算模塊407、顯 示控制模塊404相連,顯示控制模塊404分別與命令控制模塊403、種子密鑰管理模塊405、 動(dòng)態(tài)口令計(jì)算模塊407、顯示模塊402相連,種子密鑰管理模塊405分別與命令控制模塊 403、密鑰存儲(chǔ)模塊406、顯示控制模塊404相連,動(dòng)態(tài)口令計(jì)算模塊407分別與命令控制模 塊403、密鑰存儲(chǔ)模塊406、顯示控制模塊404相連。 種子密鑰管理模塊405還包括隨機(jī)數(shù)產(chǎn)生模塊4051、計(jì)算轉(zhuǎn)換模塊4052、密鑰更 新模塊4053 ,其中隨機(jī)數(shù)產(chǎn)生模塊4051 ,用于產(chǎn)生二進(jìn)制隨機(jī)數(shù)Tr ,提供給計(jì)算轉(zhuǎn)換模塊 4052 ;計(jì)算轉(zhuǎn)換模塊4052,用于將二進(jìn)制隨機(jī)數(shù)Tr轉(zhuǎn)換為十進(jìn)制隨機(jī)數(shù)序列和計(jì)算校驗(yàn) 碼,轉(zhuǎn)換方法通常為對(duì)Tr實(shí)施十進(jìn)制的模運(yùn)算,并按照命令控制模塊403的指令輸出;密鑰 更新模塊4053,使用輸出的十進(jìn)制隨機(jī)數(shù)序列更新密鑰存儲(chǔ)模塊內(nèi)的種子密鑰,種子密鑰 的更新方法可以是以初始密鑰作為密鑰,對(duì)隨機(jī)數(shù)序列進(jìn)行加密(如AES,DES等)的算法; 或以初始密鑰與隨機(jī)數(shù)序列實(shí)施單向雜湊函數(shù)的算法(如MD5, SHA-1等);或其它密鑰混 合算法對(duì)初始密鑰和隨機(jī)數(shù)序列進(jìn)行混合以產(chǎn)生種子密鑰。對(duì)種子密鑰更新算法的要求是 生成的種子密鑰具有與初始密鑰相同的密鑰安全長(zhǎng)度。 輸入模塊401 :為接收用戶(hù)的輸入的觸發(fā)裝置,可以是一個(gè)或多個(gè)按鍵、按鈕、感
應(yīng)開(kāi)關(guān)。 顯示模塊402 :為顯示裝置,用于顯示輸出的動(dòng)態(tài)口令、隨機(jī)數(shù)序列數(shù)字、校驗(yàn)碼 和工作狀態(tài),包括段碼顯示屏、點(diǎn)陣屏、字符屏和圖形屏。 命令控制模塊403 :用于根據(jù)輸入模塊401的觸發(fā)動(dòng)作,調(diào)用執(zhí)行的后續(xù)操作。如 調(diào)用動(dòng)態(tài)口令計(jì)算模塊407生成動(dòng)態(tài)口令,或調(diào)用種子密鑰更新模塊更新種子密鑰。
顯示控制模塊404 :用于接收命令控制模塊403、種子密鑰管理模塊405、動(dòng)態(tài)口令 計(jì)算模塊407輸出的數(shù)據(jù),驅(qū)動(dòng)顯示模塊402,顯示相應(yīng)的數(shù)據(jù)。 密鑰存儲(chǔ)模塊406 :用于存儲(chǔ)種子密鑰管理模塊405更新的種子密鑰和出廠時(shí)預(yù) 設(shè)的初始密鑰。 動(dòng)態(tài)口令模塊407 :接收命令控制模塊403的命令,用于根據(jù)種子密鑰產(chǎn)生動(dòng)態(tài)口
令,并傳遞給顯示控制模塊404。 供電模塊為所述動(dòng)態(tài)令牌供電。 本實(shí)施例所述輸入模塊401可以是單個(gè)觸發(fā)按鍵,命令控制模塊403接收到觸發(fā) 按鍵后,按照設(shè)定規(guī)則(如持續(xù)按鍵10秒后)觸發(fā)動(dòng)態(tài)令牌管理菜單在管理菜單內(nèi)包括顯 示動(dòng)態(tài)令牌序列號(hào)、剩余電量、更新種子密鑰選項(xiàng),用戶(hù)在選定更新種子密鑰選項(xiàng)后,按鍵 進(jìn)入種子密鑰更新?tīng)顟B(tài)。所述設(shè)計(jì)使動(dòng)態(tài)令牌在正常情況下顯示動(dòng)態(tài)口令,只有觸發(fā)了特定的條件后才進(jìn)入種子密鑰更新?tīng)顟B(tài),減少了用戶(hù)的使用負(fù)擔(dān)及誤操作觸發(fā)機(jī)會(huì)。
本實(shí)施例還包括超時(shí)判斷模塊,用于處理在動(dòng)態(tài)令牌的操作過(guò)程中的觸發(fā)按鍵超 時(shí)。在動(dòng)態(tài)令牌只有單個(gè)觸發(fā)按鍵的情況下,超過(guò)設(shè)定時(shí)間(如60秒)不按鍵作為放棄種 子密鑰更新操作的判斷條件,同時(shí)動(dòng)態(tài)令牌進(jìn)入休眠狀態(tài)。超時(shí)處理還避免了因用戶(hù)忘記 操作而導(dǎo)致動(dòng)態(tài)令牌一直處于高耗電的工作狀態(tài)。 如圖2,圖2為本發(fā)明動(dòng)態(tài)令牌種子密鑰更新方法的操作流程圖。設(shè)m為每次輸
出的十進(jìn)制隨機(jī)數(shù)Oi的位數(shù),隨機(jī)數(shù)要求的Oi的個(gè)數(shù)為p,(如m = 6,p = 4,則隨機(jī)數(shù)序
列分4次輸出,每次輸出6個(gè)十進(jìn)制數(shù),以上設(shè)置相當(dāng)于以80個(gè)二進(jìn)制位更新種子密鑰)。
為避免動(dòng)態(tài)令牌長(zhǎng)時(shí)間等待消耗電能,需要對(duì)觸發(fā)裝置進(jìn)行超時(shí)控制,在超過(guò)設(shè)定時(shí)間未
收到觸發(fā)操作時(shí),退出動(dòng)態(tài)令牌的種子密鑰的更新操作。 更新動(dòng)態(tài)令牌的種子密鑰的具體操作步驟包括 步驟101 :通過(guò)觸發(fā)裝置,觸發(fā)動(dòng)態(tài)令牌操作。
步驟102 :動(dòng)態(tài)令牌判斷本操作是否為動(dòng)態(tài)令牌的種子密鑰更新操作。如果是執(zhí)
行步驟103 ;如果不是,執(zhí)行步驟121。種子密鑰更新的觸發(fā)操作可使用特定的外部觸發(fā)裝
置(按鍵)觸發(fā),也可與其它功能共用一個(gè)觸發(fā)裝置。在共用觸發(fā)裝置時(shí),可以利用觸發(fā)裝
置切換狀態(tài)并顯示給用戶(hù),由用戶(hù)選擇進(jìn)入種子密鑰更新?tīng)顟B(tài);也可規(guī)定觸發(fā)操作的時(shí)間
長(zhǎng)度、觸發(fā)頻率(如連續(xù)觸發(fā)2次)作為觸發(fā)種子密鑰更新操作的條件。 步驟103 :進(jìn)入種子密鑰更新操作,完成初始計(jì)算,設(shè)置0的下標(biāo)i = 1。 步驟104 :顯示m位的十進(jìn)制數(shù)Oi,(用戶(hù)需要手工記錄動(dòng)態(tài)令牌輸出的Oi),0的
下標(biāo)i加1 ; 步驟105 :判斷是否有觸發(fā)操作;如果是執(zhí)行步驟107 ;如果不是,執(zhí)行步驟106 ;
本步驟的觸發(fā)操作可以是專(zhuān)用的觸發(fā)裝置,也可與其它功能共用一個(gè)觸發(fā)裝置。
步驟106 :判斷是否超時(shí),如果是,轉(zhuǎn)到步驟114。 步驟107 :動(dòng)態(tài)令牌判斷是否已輸出p個(gè)Oi,如果不是,回到步驟104 ;如果是,進(jìn) 入步驟108。 步驟108 :計(jì)算并顯示校驗(yàn)碼TC。本步驟完成后,用戶(hù)需手工記錄動(dòng)態(tài)令牌顯示的 校驗(yàn)碼TC。本步驟完成后,用戶(hù)應(yīng)已記錄下01、 02、. . Op和校驗(yàn)碼TC。
步驟109 :判斷是否有觸發(fā)操作;如果是執(zhí)行步驟111 ;如果不是,執(zhí)行步驟110。
步驟110 :判斷是否超時(shí),如果是執(zhí)行步驟113 ;如果不是,回到步驟109。如果用 戶(hù)放棄更新操作,可以不進(jìn)行任何觸發(fā)操作,待超時(shí)后執(zhí)行步驟113 。 步驟111 :判斷是否觸發(fā)確認(rèn)操作,如果是,執(zhí)行步驟112 ;如果不是,執(zhí)行步驟 113。本步驟的觸發(fā)確認(rèn)操作可以是通過(guò)專(zhuān)用的觸發(fā)裝置,也可與其它功能共用一個(gè)觸發(fā)裝 置。判斷方法包括是否觸發(fā)了專(zhuān)用的觸發(fā)裝置,或者特定的觸發(fā)操作,或僅僅是啟動(dòng)了觸發(fā)裝置。 步驟112 :使用01、02. . 0p及初始密鑰更新種子密鑰,執(zhí)行步驟114。
步驟113 :執(zhí)行步驟114。
步驟114 :退出動(dòng)態(tài)令牌種子密鑰更新操作。 在完成動(dòng)態(tài)令牌的種子密鑰更新操作后,需要對(duì)認(rèn)證服務(wù)器軟件系統(tǒng)對(duì)應(yīng)的動(dòng)態(tài) 令牌的種子密鑰實(shí)施更新操作。
8
圖3為本發(fā)明與認(rèn)證服務(wù)器軟件系統(tǒng)對(duì)應(yīng)的種子密鑰的更新的操作流程圖,具體 包括步驟 步驟201 :選擇認(rèn)證服務(wù)器軟件系統(tǒng)種子密鑰更新功能。
步驟202 :輸入要更新的動(dòng)態(tài)令牌的序列號(hào)。 步驟203 :輸入步驟108完成后記錄的01、 02. . Op和校驗(yàn)碼TC。 步驟204 :計(jì)算輸入的01、 02. . Op的校驗(yàn)碼SC。本步驟的算法與步驟108的算法一致。 步驟205 :比較計(jì)算出的校驗(yàn)碼SC是否等于已記錄的動(dòng)態(tài)令牌的校驗(yàn)碼TC。如果 是,執(zhí)行步驟206。 步驟206 :更新認(rèn)證服務(wù)器軟件系統(tǒng)內(nèi)對(duì)應(yīng)的動(dòng)態(tài)令牌序列號(hào)的種子密鑰。
步驟207 :結(jié)束更新操作。 正常情況下,圖2和圖3的操作已完成了動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)的種子 密鑰的同步更新。但為避免因誤操作導(dǎo)致的動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰更 新的不一致,用戶(hù)和操作人員應(yīng)執(zhí)行圖4所示的流程。 圖4為本發(fā)明確認(rèn)動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰同步更新的操作 流程圖,具體包括步驟 步驟301 :執(zhí)行動(dòng)態(tài)令牌種子密鑰更新操作。本操作為上述的圖2所述的操作。本 步驟若成功執(zhí)行完畢,應(yīng)記錄下01、 02. . Op和校驗(yàn)碼。 步驟302:判斷是否成功更新動(dòng)態(tài)令牌的種子密鑰。如果是,轉(zhuǎn)入步驟303。如果 不是轉(zhuǎn)入步驟307。本步驟的判斷為根據(jù)步驟301的結(jié)果,由人工進(jìn)行判斷。
步驟303 :以01、 02. . Op和校驗(yàn)碼TC作為輸入,執(zhí)行認(rèn)證服務(wù)器軟件系統(tǒng)的種子 密鑰更新操作。本操作為上述的圖3所述的操作。 步驟304 :判斷是否成功執(zhí)行認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰更新。如果是,轉(zhuǎn)入 步驟305。如果不是,轉(zhuǎn)入步驟306。 步驟305 :完成認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰更新功能,轉(zhuǎn)至步驟309。
步驟306 :核對(duì)是否記錄的01、 02. . Op和校驗(yàn)碼TC錯(cuò)誤。如果是,執(zhí)行步驟301, 重新執(zhí)行動(dòng)態(tài)令牌的種子密鑰更新操作。如果不是,則應(yīng)判斷步驟303發(fā)生為輸入錯(cuò)誤,轉(zhuǎn) 至步驟303重新執(zhí)行認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰更新操作。 步驟307 :在步驟301失敗后,決定是否重新執(zhí)行動(dòng)態(tài)令牌種子密鑰更新操作。如
果是,轉(zhuǎn)至步驟301。如果不是,轉(zhuǎn)至步驟308。 步驟308 :放棄種子密鑰更新操作。 步驟309 :使用動(dòng)態(tài)令牌產(chǎn)生動(dòng)態(tài)口令。 步驟310 :使用認(rèn)證服務(wù)器軟件系統(tǒng)對(duì)動(dòng)態(tài)口令進(jìn)行驗(yàn)證。 步驟311 :判斷動(dòng)態(tài)口令是否通過(guò)認(rèn)證服務(wù)器軟件系統(tǒng)驗(yàn)證。如果是,轉(zhuǎn)入步驟 312。如果不是,說(shuō)明動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰更新不一致,轉(zhuǎn)入步驟 301,重新執(zhí)行動(dòng)態(tài)令牌的種子密鑰更新操作。 步驟312 :確認(rèn)動(dòng)態(tài)令牌與認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰正確地同步更新。
本說(shuō)明書(shū)中所述的只是本發(fā)明的幾種較佳具體實(shí)施例,以上實(shí)施例僅用以說(shuō)明本 發(fā)明的技術(shù)方案而非對(duì)本發(fā)明的限制。凡本領(lǐng)域技術(shù)人員依本發(fā)明的構(gòu)思通過(guò)邏輯分析、推理或者有限的實(shí)驗(yàn)可以得到的技術(shù)方案,皆應(yīng)在本發(fā)明的范圍之內(nèi)。
權(quán)利要求
一種具有種子密鑰更新功能的動(dòng)態(tài)令牌,包括一輸入模塊,用于接收用戶(hù)輸入;一命令控制模塊,分別與輸入模塊、種子密鑰管理模塊、動(dòng)態(tài)口令計(jì)算模塊、顯示控制模塊相連,控制動(dòng)態(tài)令牌的狀態(tài),解釋輸入模塊接收的命令,啟動(dòng)動(dòng)態(tài)令牌的各項(xiàng)功能;一種子密鑰管理模塊,分別與命令控制模塊、密鑰存儲(chǔ)模塊、顯示控制模塊相連,提供隨機(jī)數(shù)產(chǎn)生、用于更新種子密鑰的隨機(jī)數(shù)序列計(jì)算、以及種子密鑰更新功能;一密鑰存儲(chǔ)模塊,存儲(chǔ)種子密鑰和初始密鑰;一動(dòng)態(tài)口令計(jì)算模塊,分別與命令控制模塊、密鑰存儲(chǔ)模塊、顯示控制模塊相連,使用種子密鑰計(jì)算動(dòng)態(tài)口令;一顯示控制模塊,分別與命令控制模塊、種子密鑰管理模塊、動(dòng)態(tài)口令計(jì)算模塊、顯示模塊相連,接收密鑰種子管理模塊、動(dòng)態(tài)口令計(jì)算模塊、命令控制模塊的輸出,發(fā)送到顯示模塊;一顯示模塊,與顯示控制模塊相連,提供顯示功能,顯示輸出的數(shù)字和動(dòng)態(tài)令牌工作狀態(tài);以及一電源模塊,為動(dòng)態(tài)令牌供電。
2. 如權(quán)利要求1所述的一種具有種子密鑰更新功能的動(dòng)態(tài)令牌,其中,所述種子密鑰 管理模塊還包括隨機(jī)數(shù)產(chǎn)生模塊,用于產(chǎn)生隨機(jī)數(shù);計(jì)算轉(zhuǎn)換模塊,用于計(jì)算更新序列和校 驗(yàn)碼,并按照命令控制模塊的指令輸出;以及密鑰更新模塊,使用更新序列更新密鑰存儲(chǔ)模 塊內(nèi)的種子密鑰。
3. 如權(quán)利要求1或2所述的一種具有種子密鑰更新功能的動(dòng)態(tài)令牌,其中,所述輸入模 塊可以是一個(gè)或多個(gè)按鍵、按鈕、感應(yīng)開(kāi)關(guān)。
4. 如權(quán)利要求1或2所述的一種具有種子密鑰更新功能的動(dòng)態(tài)令牌,其中,所述命令控 制模塊包括種子密鑰管理功能和口令產(chǎn)生功能。
5. 如權(quán)利要求1或2所述的一種具有種子密鑰更新功能的動(dòng)態(tài)令牌,其中,所述顯示模 塊為顯示裝置,可以是段碼顯示屏、點(diǎn)陣屏、字符屏和圖形屏。
6. 如權(quán)利要求1或2所述的一種具有種子密鑰更新功能的動(dòng)態(tài)令牌,其中,還包括超時(shí) 判斷模塊,用于處理在動(dòng)態(tài)令牌的操作過(guò)程中的觸發(fā)按鍵超時(shí)。
7. —種如權(quán)利要求1所述的動(dòng)態(tài)令牌的種子密鑰的更新方法,其特征在于使用動(dòng)態(tài) 令牌的內(nèi)部隨機(jī)數(shù)發(fā)生器輸出數(shù)字序列,該數(shù)字序列被用于更新動(dòng)態(tài)令牌的種子密鑰的操 作,同時(shí)提供給認(rèn)證服務(wù)器軟件系統(tǒng)用于更新對(duì)應(yīng)的種子密鑰。
8. 如權(quán)利要求7所述的動(dòng)態(tài)令牌的種子密鑰的更新方法,其中,該更新方法包括步驟1) 觸發(fā)動(dòng)態(tài)令牌,進(jìn)入種子密鑰更新?tīng)顟B(tài);2) 按鍵,動(dòng)態(tài)令牌產(chǎn)生隨機(jī)數(shù),并轉(zhuǎn)換為m位十進(jìn)制數(shù)字,其中m為正整數(shù),顯示在顯示 屏上;3) 操作人員記錄顯示的數(shù)字;4) 重復(fù)步驟2和3p次,其中p為正整數(shù),記錄p她位的數(shù)字序列,即隨機(jī)數(shù)序列;5) 操作人員按鍵,動(dòng)態(tài)令牌顯示隨機(jī)數(shù)序列的校驗(yàn)碼;6) 操作人員記錄顯示的校驗(yàn)碼;7) 在特定時(shí)間內(nèi),按鍵確認(rèn)更新操作;8)使用隨機(jī)數(shù)序列和初始密鑰,產(chǎn)生更新后的種子密鑰。
9. 如權(quán)利要求8所述的動(dòng)態(tài)令牌的種子密鑰的更新方法,其中,還包括與認(rèn)證服務(wù)器 軟件系統(tǒng)更新對(duì)應(yīng)的種子密鑰的步驟,具體包括1) 進(jìn)入認(rèn)證服務(wù)器軟件系統(tǒng)的動(dòng)態(tài)令牌種子密鑰更新功能界面;2) 根據(jù)動(dòng)態(tài)令牌的序列號(hào),選擇對(duì)應(yīng)的動(dòng)態(tài)令牌;3) 操作人員輸入記錄的p她位的隨機(jī)數(shù)序列和校驗(yàn)碼;4) 服務(wù)器對(duì)隨機(jī)數(shù)序列執(zhí)行校驗(yàn)計(jì)算,產(chǎn)生服務(wù)器校驗(yàn)碼;5) 服務(wù)器檢查服務(wù)器校驗(yàn)碼與動(dòng)態(tài)令牌校驗(yàn)碼是否相同;6) 如果相同,執(zhí)行種子密鑰更新操作,更新種子密鑰。
10. 如權(quán)利要求7或8所述的動(dòng)態(tài)令牌的種子密鑰的更新方法,其中,動(dòng)態(tài)令牌產(chǎn)生的 隨機(jī)數(shù)為二進(jìn)制數(shù),經(jīng)過(guò)模運(yùn)算或其它轉(zhuǎn)換方法轉(zhuǎn)換為m位十進(jìn)制數(shù)字。
11. 如權(quán)利要求7或8所述的動(dòng)態(tài)令牌的種子密鑰的更新方法,其中,優(yōu)選的,m值為 6-8, p值為1-4。
12. 如權(quán)利要求7-9之一所述的動(dòng)態(tài)令牌的種子密鑰的更新方法,其中,通過(guò)對(duì)隨機(jī)數(shù) 序列進(jìn)行HASH算法或其它校驗(yàn)算法產(chǎn)生校驗(yàn)碼。
13. 如權(quán)利要求7-9之一所述的動(dòng)態(tài)令牌的種子密鑰的更新方法,其中,種子密鑰更新 算法的要求是生成的種子密鑰具有與初始密鑰相同的密鑰安全長(zhǎng)度,可以是以初始密鑰作 為密鑰,對(duì)隨機(jī)數(shù)序列進(jìn)行加密的算法;或以初始密鑰與隨機(jī)數(shù)序列實(shí)施單向雜湊函數(shù)的 算法;或其它密鑰混合算法對(duì)初始密鑰和隨機(jī)數(shù)序列進(jìn)行混合以產(chǎn)生種子密鑰。
14. 如權(quán)利要求9所述的動(dòng)態(tài)令牌的種子密鑰的更新方法,其中,還包括確認(rèn)動(dòng)態(tài)令牌 與認(rèn)證服務(wù)器軟件系統(tǒng)的種子密鑰同步更新的步驟。
全文摘要
本發(fā)明提供一種具有種子密鑰更新功能的動(dòng)態(tài)令牌及其種子密鑰更新方法,使用動(dòng)態(tài)令牌的內(nèi)部隨機(jī)數(shù)發(fā)生器輸出數(shù)字序列,該數(shù)字序列被用于更新動(dòng)態(tài)令牌的種子密鑰的操作,同時(shí)提供給認(rèn)證服務(wù)器軟件系統(tǒng)用于更新對(duì)應(yīng)的種子密鑰。本發(fā)明可以使動(dòng)態(tài)令牌的發(fā)行者或用戶(hù)能夠根據(jù)需要安全地更新動(dòng)態(tài)令牌的種子密鑰,消除了因動(dòng)態(tài)令牌出廠時(shí)初始密鑰外泄引起的安全風(fēng)險(xiǎn);即使動(dòng)態(tài)令牌發(fā)行者的種子密鑰數(shù)據(jù)庫(kù)外泄,也能通過(guò)更新動(dòng)態(tài)令牌的種子密鑰恢復(fù)已經(jīng)發(fā)行的動(dòng)態(tài)令牌的安全性。
文檔編號(hào)H04L9/32GK101719826SQ20091008377
公開(kāi)日2010年6月2日 申請(qǐng)日期2009年5月13日 優(yōu)先權(quán)日2009年5月13日
發(fā)明者張福明, 潘斌 申請(qǐng)人:北京宏基恒信科技有限責(zé)任公司