專利名稱:一種對動態(tài)口令令牌的種子進行更新的方法
技術領域:
本發(fā)明涉及信息安全領域,特別涉及一種對動態(tài)口令令牌的種子進行更新的方 法。
背景技術:
隨著網絡技術的發(fā)展,人們需要大量的在網上進行交易等重要信息的傳輸,但 是普通的靜態(tài)密碼技術已經不再安全,很容易就可以被黑客截取,黑客通過使用靜態(tài)密 碼登陸用戶的合法帳戶,進行非法活動,對人們的信息安全造成了很大威脅。近年來,出現了一種動態(tài)密碼技術,通過這種技術,可以達到在用戶輸入密碼 的過程中一次一密的特點,即使用戶本次登陸密碼被截獲了,但是下次登陸時該密碼已 經作廢不能使用,不能再對用戶構成威脅,大大的增強了用戶賬號的安全。其中,大量 使用的包括一種挑戰(zhàn)應答式的動態(tài)口令系統(tǒng),該種方法使用一個帶按鍵的小型智能安全 設備,也可以稱作動態(tài)口令令牌,令牌內置安全算法,并且每個令牌設置有唯一的種子 (用來計算動態(tài)口令的靜態(tài)參數),通常地,令牌上設置有按鍵和顯示屏,按鍵用于作為 輸入設備輸入挑戰(zhàn)碼等,顯示屏用于輸入動態(tài)口令,由于動態(tài)口令令牌內的種子是保密 的并且保存在令牌內部不可讀出的,黑客在無法得到種子的情況下,無法破解用戶的動 態(tài)口令。但是,這樣的令牌仍然存在安全漏洞,一般情況下,動態(tài)口令令牌是安全產品 生產商生產的,生產商使用種子生產工具為每個令牌生成種子,并通過硬件接口將唯一 的種子寫入到令牌中,同時為每個令牌編號,將編號與種子互相對應,在將動態(tài)口令令 牌銷售給服務商的時候,同時將對應的種子分發(fā)給服務商,服務商將令牌分發(fā)給用戶進 行身份認證使用。并且,通常情況下,服務商不具有更改令牌中種子的硬件接口,無法 對種子進行更新,因此產生了安全漏洞。在此情況下,令牌生產商可以在令牌生產的過 程中對種子進行復制,可以模擬令牌生成動態(tài)口令,對用戶的信息安全和服務商的信譽 造成威脅。
發(fā)明內容
為了提高網絡數據傳輸的安全性,本發(fā)明實施例提供了一種對動態(tài)口令令牌的 種子進行更新的方法。技術方案如下一種對動態(tài)口令令牌的種子進行更新的方法,所述方法包括服務端接收用戶通過客戶端發(fā)出的更新動態(tài)口令令牌中種子的請求,所述服務 端和所述動態(tài)口令令牌互相驗證是否全部合法;如果所述服務端和所述動態(tài)口令令牌不全部合法,停止更新種子的操作;如果所述服務端和所述動態(tài)口令令牌全部合法,所述服務端生成第三挑戰(zhàn)碼和 種子更新標識,并返回給客戶端,所述服務端根據所述種子更新標識得到服務端臨時種 子并保存;
所述動態(tài)口令令牌接收用戶輸入的所述種子更新標識,所述動態(tài)口令令牌根據 所述種子更新標識得到動態(tài)口令令牌端臨時種子;所述動態(tài)口令令牌接收用戶輸入的第三挑戰(zhàn)碼,所述動態(tài)口令令牌根據所述臨 時種子和所述第三挑戰(zhàn)碼生成第五動態(tài)口令,并將第五動態(tài)口令發(fā)送給所述服務端進行 驗證;所述服務端驗證所述第五動態(tài)口令,如果正確,所述所述服務端將所述服務端 臨時種子置為新種子,并向所述客戶端返回所述服務端更新種子成功的消息,所述客戶 端輸 出所述服務端更新種子成功的消息,所述動態(tài)口令令牌接收所述用戶輸入的更新種 子成功的確認信息,所述動態(tài)口令令牌將所述動態(tài)口令令牌端臨時種子置為新種子,所 述動態(tài)口令令牌更新種子成功,如果不正確,所述服務端返回更新種子失敗的消息,所 述動態(tài)口令令牌接收所述用戶輸入的更新種子取消信息,更新種子失敗。優(yōu)選地,所述動態(tài)口令令牌和所述動態(tài)口令令牌互相驗證是否全部合法,具體 的包括所述服務端生成第一挑戰(zhàn)碼,并返回給客戶端,所述客戶端輸出所述第一挑戰(zhàn) 碼;所述動態(tài)口令令牌接收所述用戶輸入的所述第一挑戰(zhàn)碼,所述動態(tài)口令令牌使 用初始種子和所述第一挑戰(zhàn)碼生成第一動態(tài)口令,將所述第一動態(tài)口令通過所述客戶端 發(fā)送給所述服務端;所述服務端驗證所述第一動態(tài)口令是否正確;如果不正確,則所述動態(tài)口令令牌不合法,停止所述更新種子的操作;如果正確,則所述動態(tài)口令令牌合法,繼續(xù)驗證所述服務端是否合法,所述服 務端生成第二挑戰(zhàn)碼,并由所述服務端中保存的所述動態(tài)口令令牌的初始種子和所述第 二挑戰(zhàn)碼生成第三動態(tài)口令,所述服務端將所述第二挑戰(zhàn)碼和所述第三動態(tài)口令發(fā)送給 所述客戶端,所述客戶端輸出所述第二挑戰(zhàn)碼和所述第三動態(tài)口令,所述動態(tài)口令令牌 接收所述用戶輸入的所述第二挑戰(zhàn)碼,所述動態(tài)口令令牌根據所述第二挑戰(zhàn)碼和所述動 態(tài)口令令牌中的初始種子生成第四動態(tài)口令,所述用戶比對所述第三動態(tài)口令和所述第 四動態(tài)口令,如果相同,通過所述客戶端向所述服務端發(fā)送確認所述服務端合法的確認 信息,所述動態(tài)口令令牌和所述服務端互相驗證全部合法,如果不相同,則所述服務端 不合法,停止所述更新種子的操作。相應地,所述服務端驗證所述第一動態(tài)口令是否正確,具體的包括所述服務端使用所述第一挑戰(zhàn)碼和所述服務端保存的所述動態(tài)口令令牌的初始 種子生成第二動態(tài)口令,并將所述第一動態(tài)口令與所述第二動態(tài)口令進行比對,如果相 同,則所述第一動態(tài)口令正確,如果不相同,則所述第二動態(tài)口令不正確。優(yōu)選地,所述種子更新標識具體的包括第一數值、隨機數、臨時種子加密包或種子編號號中的任一種。相應地,當所述種子更新標識為所述第一數值時,所述服務端根據所述種子更 新標識得到服務端臨時種子具體的包括所述服務端以所述第一數值和所述服務端保存的所述動態(tài)口令令牌的初始種子 為參數進行計算,得到所述服務端臨時種子。
相應地,當所述種子更新標識為所述第一數值時,所述動態(tài)口令令牌根據所述 種子更新標識得到動態(tài)口令令牌端臨時種子具體的包括所述動態(tài)口令令牌以所述第一數值和所述動態(tài)口令令牌的初始種子為參數計算 得到所述動態(tài)口令令牌端臨時種子,所述動態(tài)口令令牌在計算所述動態(tài)口令令牌端臨時 種子時,使用與所述服務端計算所述服務端臨時種子相同的算法。相應地,當所述種子更新標識為所述隨機數時,所述服務端根據所述種子更新 標識得到服務端臨時種子具體的包括所述服務端使用預設算法對所述隨機數進行變化,得到所述服務端臨時種子。相應地,所述服務端使用預設算法對所述隨機數進行變化,還包括在按照預設算法對所述隨機數進行變化時,加入時間因素和事件因素作為運算參數。相應地,當所述種子更新標識為所述隨機數時,所述動態(tài)口令令牌根據所述種 子更新標識得到動態(tài)口令令牌端臨時種子具體的包括所述動態(tài)口令令牌使用預設算法對所述隨機數進行變化,得到所述動態(tài)口令令 牌端臨時種子。相應地,所述動態(tài)口令令牌使用預設算法對所述隨機數進行變化,還包括在按照預設算法對所述隨機數進行變化時,加入時間因素和事件因素作為運算參數。優(yōu)選地,所述臨時種子加密包具體的包括加密后的服務端臨時種子和第四挑戰(zhàn)碼。相應地,所述服務端生成種子更新標識,具體的包括所述服務端生成第四挑戰(zhàn)碼和服務端臨時種子,并根據所述服務端保存的所述 動態(tài)口令令牌的初始種子和所述第四挑戰(zhàn)碼生成第七動態(tài)口令,所述服務端將所述第七 動態(tài)口令作為密鑰對所述服務端臨時種子進行加密,得到加密后的服務端臨時種子。相應地,所述動態(tài)口令令牌根據所述種子更新標識得到動態(tài)口令令牌端臨時種 子,具體的包括所述動態(tài)口令令牌接收所述用戶輸入的所述第四挑戰(zhàn)碼和加密后的臨時種子, 使用所述動態(tài)口令令牌的初始種子和所述第四挑戰(zhàn)碼生成第八動態(tài)口令,并使用第八動 態(tài)口令作為密鑰對所述加密后的服務端臨時種子進行解密,得到所述動態(tài)口令令牌端臨 時種子。相應地,當所述種子更新標識為種子編號時,所述服務端生成種子更新標識, 具體的包括所述服務端根據所述種子編號,在所述服務端保存的所述動態(tài)口令令牌的種子 列表中選擇對應編號的種子作為所述服務端臨時種子。相應地,當所述種子更新標識為種子編號時,所述動態(tài)口令令牌根據所述種子 更新標識得到動態(tài)口令令牌端臨時種子,具體的包括 所述動態(tài)口令令牌接收用戶輸入的所述種子編號,并根據所述種子編號在所述 動態(tài)口令令牌中保存的種子列表中選擇對應編號的種子作為所述動態(tài)口令令牌端臨時種子。
相應地,所述種子列表為所述動態(tài)口令令牌初始化時寫入所述動態(tài)口令令牌 中,并且在所述服務端保存有所述動態(tài)口令令牌的種子列表,所述種子列表中記錄有所 述動態(tài)口令令牌可使用的種子,并且每個種子有相應的編號進行標識。相應地,所述服務端驗證所述第五動態(tài)口令,具體的包括所述服務端使用所述服務端臨時種子和所述第三挑戰(zhàn)碼生成第六動態(tài)口令,并將所述第五動態(tài)口令和所述第六動態(tài)口令進行比對,如果相同,則所述第五動態(tài)口令正 確,如果不相同,則所述第五動態(tài)口令不正確。本發(fā)明實施例提供的技術方案帶來的有益效果是克服了傳統(tǒng)技術中動態(tài)口令 令牌生產商會知悉動態(tài)口令令牌中種子的問題,增加了動態(tài)口令令牌中種子的安全性。
圖1為本發(fā)明具體實施例一中一種對動態(tài)口令令牌的種子進行更新的方法流程 圖。圖2為本發(fā)明具體實施例二中一種對動態(tài)口令令牌的種子進行更新的方法流程 圖。圖3為本發(fā)明具體實施例三中一種對動態(tài)口令令牌的種子進行更新的方法流程 圖。圖4為本發(fā)明具體實施例四中一種對動態(tài)口令令牌的種子進行更新的方法流程 圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施 方式作進一步地詳細描述。實施例1本實施例提供了一種對動態(tài)口令令牌的種子進行更新的方法,參加圖1,具體步 驟如下步驟101,用戶通過客戶端向服務端發(fā)出更新動態(tài)口令令牌中種子的請求;在本實施例中,用戶使用的動態(tài)口令令牌為挑戰(zhàn)應答式的動態(tài)口令令牌,并且 令牌上置有輸入和輸出裝置,優(yōu)選地,輸入裝置采用鍵盤,輸出裝置采用顯示輸出或音 頻播報的方式輸出;用戶通過客戶端發(fā)出更新動態(tài)口令令牌中種子的請求,具體的可以為,用戶通 過客戶端中安裝的瀏覽器對服務端進行訪問,服務端通過瀏覽器返回給動態(tài)口令令牌更 新種子的功能頁面,用戶輸入需要更新種子的動態(tài)口令令牌的編號,并選擇更新種子, 向服務端發(fā)出更新種子的請求;在本實施例中,將進行種子更新前的動態(tài)口令令牌中存儲的種子定義為初始種 子;步驟102,服務端接到更新種子的請求,生成第一挑戰(zhàn)碼,并將第一挑戰(zhàn)碼返回 給客戶端;在本實施例中,服務端生成第一挑戰(zhàn)碼還可以包括,服務端根據接收的動態(tài)口令令牌編號,查找該動態(tài)口令令牌信息和該動態(tài)口令令牌對應的種子信息,生成第一挑戰(zhàn)碼,并判斷第一挑戰(zhàn)碼是否與上次進行動態(tài)口令驗證時使用的挑戰(zhàn)碼是否相同,如果 相同,重新生成一個挑戰(zhàn)碼,再與所述上次進行動態(tài)口令驗證時使用的挑戰(zhàn)碼進行比 對,如果不相同,則向客戶端返回第一挑戰(zhàn)碼;步驟103,客戶端輸出第一挑戰(zhàn)碼,用戶將第一挑戰(zhàn)碼輸入到動態(tài)口令令牌中, 動態(tài)口令令牌接收到第一挑戰(zhàn)碼后根據初始種子和第一挑戰(zhàn)碼生成第一動態(tài)口令;在本實施例中,動態(tài)口令令牌生成第一動態(tài)口令后,通過液晶顯示裝置輸出, 動態(tài)口令令牌生成第一動態(tài)口令的算法可以為HMAC-SHA1、MD5、SHA-U SHA-256 等;步驟104,客戶端接收用戶輸入的第一動態(tài)口令,并向服務端發(fā)出對第一動態(tài)口 令進行驗證的請求;步驟105,服務端接收對第一動態(tài)口令進行驗證的請求和第一動態(tài)口令,對第一 動態(tài)口令進行驗證,如果合法,執(zhí)行步驟106,如果不合法,則向客戶端返回第一動態(tài)口 令不正確的錯誤;在本實施例中,服務端對第一動態(tài)口令進行驗證具體的為,服務端使用第一挑 戰(zhàn)碼和初始種子生成第二動態(tài)口令,將第二動態(tài)口令與第一動態(tài)口令進行比對,如果相 同,則第一動態(tài)口令合法,如果不相同,則第一動態(tài)口令不合法;其中,服務端生成第二動態(tài)口令的算法與步驟103中動態(tài)口令令牌生成第一動 態(tài)口令的算法相同;步驟106,服務端生成第二挑戰(zhàn)碼,并根據第二挑戰(zhàn)碼和初始種子生成第三動態(tài) 口令,將第三動態(tài)口令和第二挑戰(zhàn)碼返回給客戶端,客戶端輸出第三動態(tài)口令和第二挑 戰(zhàn)碼,并等待接收用戶通過客戶端發(fā)送的確認服務器合法的確認信息;步驟107,用戶將第二挑戰(zhàn)碼輸入到動態(tài)口令令牌中,動態(tài)口令令牌根據第二 挑戰(zhàn)碼和初始種子生成第四動態(tài)口令并顯示,比對第四動態(tài)口令和第三動態(tài)口令是否相 同,如果相同,通過客戶端輸入確認服務器合法的確認信息,執(zhí)行步驟108,如果不相 同,說明服務器不合法,取消給動態(tài)口令令牌更新種子的操作;其中,動態(tài)口令令牌生成第四動態(tài)口令的算法與步驟106中服務端生成第三動 態(tài)口令的算法相同;在本實施例中,步驟107還可以按照另一種方法實現用戶輸入第二挑戰(zhàn)碼到動態(tài)口令令牌中,動態(tài)口令令牌根據第二挑戰(zhàn)碼和初始 種子生成第四動態(tài)口令,用戶再輸入第三動態(tài)口令到動態(tài)口令令牌中,動態(tài)口令令牌內 部將第三動態(tài)口令和第四動態(tài)口令進行比對,如果相同,則第三動態(tài)口令正確,動態(tài)口 令令牌輸出服務端合法的確認信息,如果不相同,則第三動態(tài)口令不正確,動態(tài)口令令 牌輸入服務端不合法的信息;使用上述方法的好處是,不會暴露第四動態(tài)口令;步驟108,服務端生成第一數值,根據第一數值和初始種子生成服務端臨時種子 并保存,生成第三挑戰(zhàn)碼,將第三挑戰(zhàn)碼和第一數值返回給客戶端;在本實施例中,服務端生成第一數值的算法保密,只有服務端可知,可以為隨 機生成,優(yōu)選地,第一數值和初始種子的數據長度一致;
在根據第一數值和初始種子生成臨時種子時,第一數值和初始種子作為運算中 必須參與的參數,優(yōu)選地,可以使用第一數值和初始種子進行異或得到服務端臨時種 子;
步驟109,客戶端輸出第三挑戰(zhàn)碼和第一數值;步驟110,用戶將第一數值輸入動態(tài)口令令牌中,動態(tài)口令令牌接收并使用第一 數值和初始種子以步驟108中生成臨時種子相同的算法生成動態(tài)口令令牌端臨時種子, 并保存動態(tài)口令令牌端臨時種子;步驟111,用戶向動態(tài)口令令牌中輸入第三挑戰(zhàn)碼,動態(tài)令牌接收第三挑戰(zhàn)碼, 并使用動態(tài)口令令牌端臨時種子和第三挑戰(zhàn)碼生成第五動態(tài)口令;步驟112,用戶向客戶端輸入第五動態(tài)口令,客戶端接收第五動態(tài)口令,并向服 務端發(fā)出第五動態(tài)口令和對第五動態(tài)口令進行驗證的請求;步驟113,服務端驗證第五動態(tài)口令,如果正確,執(zhí)行步驟114,如果不正確, 向用戶返回更新種子失敗的錯誤;在本實施例中,服務端驗證第五動態(tài)口令具體的為,服務端將根據臨時種子和 第三挑戰(zhàn)碼生成第六動態(tài)口令,將第五動態(tài)口令與第六動態(tài)口令進行比對,如果相同, 則第五動態(tài)口令正確,如果不相同,則第五動態(tài)口令不正確;步驟114,服務端使用服務端臨時種子替換初始種子,將服務端臨時種子作為新 種子保存,并向客戶端發(fā)出更新種子成功的信息;步驟115,用戶向動態(tài)口令令牌中輸入服務端更新種子成功的確認信息,動態(tài)口 令令牌接收確認信息,使用動態(tài)口令令牌端臨時種子替換初始種子,將動態(tài)口令令牌端 臨時種子作為新種子保存,動態(tài)口令令牌更新種子成功。在本實施例中,提供了一種對動態(tài)口令令牌的種子進行更新的方法,使得用戶 在購買動態(tài)口令令牌后,可以通過網絡更新動態(tài)口令令牌中在生產時由生產商寫入的種 子,使得種子只有用戶擁有的動態(tài)口令令牌和驗證動態(tài)口令的服務端擁有,保證了種子 的秘密性,增強了用戶賬號的安全性,本實施例所提供的方法更適用于在柜員機上進行 使用,更新種子便捷。實施例2本實施例提供了一種對動態(tài)口令令牌的種子進行更新的方法,參加圖2,具體步 驟如下步驟201,用戶通過客戶端向服務端發(fā)出更新動態(tài)口令令牌中種子的請求;在本實施例中,用戶使用的動態(tài)口令令牌為挑戰(zhàn)應答式的動態(tài)口令令牌,并且 令牌上置有輸入和輸出裝置,優(yōu)選地,輸入裝置采用鍵盤,輸出裝置采用顯示輸出或音 頻播報的方式輸出;用戶通過客戶端發(fā)出更新動態(tài)口令令牌中種子的請求,具體的可以為,用戶通 過客戶端中安裝的瀏覽器,對服務端進行訪問,服務端通過瀏覽器返回給動態(tài)口令令牌 更新種子的功能頁面,用戶輸入需要更新種子的動態(tài)口令令牌的編號,并選擇更新種 子,向服務端發(fā)出更新種子的請求;在本實施例中,將進行種子更新前的動態(tài)口令令牌中存儲的種子定義為初始種 子;
步驟202,服務端接到更新種子的請求,生成第一挑戰(zhàn)碼,并將第一挑戰(zhàn)碼返回 給客戶端;在本實施例中,服務端生成第一挑戰(zhàn)碼還可以包括,服務端根據接收的動態(tài)口 令令牌編號,查找該動態(tài)口令令牌信息和該動態(tài)口令令牌對應的種子信息,生成第一挑 戰(zhàn)碼,并判斷第一挑 戰(zhàn)碼是否與上次進行動態(tài)口令驗證時使用的挑戰(zhàn)碼是否相同,如果 相同,重新生成一個挑戰(zhàn)碼,再與所述上次進行動態(tài)口令驗證時使用的挑戰(zhàn)碼進行比 對,如果不相同,則向客戶端返回第一挑戰(zhàn)碼;步驟203,客戶端輸出第一挑戰(zhàn)碼,用戶將第一挑戰(zhàn)碼輸入到動態(tài)口令令牌中, 動態(tài)口令令牌接收到第一挑戰(zhàn)碼后根據初始種子和第一挑戰(zhàn)碼生成第一動態(tài)口令;在本實施例中,動態(tài)口令令牌生成第一動態(tài)口令后,通過液晶顯示裝置輸出, 動態(tài)口令令牌生成第一動態(tài)口令的算法可以為HMAC-SHA1、MD5、SHA-U SHA-256 等;步驟204,客戶端接收用戶輸入的第一動態(tài)口令,并向服務端發(fā)出對第一動態(tài)口 令進行驗證的請求;步驟205,服務端接收對第一動態(tài)口令進行驗證的請求和第一動態(tài)口令,對第一 動態(tài)口令進行驗證,如果合法,執(zhí)行步驟206,如果不合法,則向客戶端返回第一動態(tài)口 令不正確的錯誤;在本實施例中,服務端對第一動態(tài)口令進行驗證具體的為,服務端使用第一挑 戰(zhàn)碼和初始種子生成第二動態(tài)口令,將第二動態(tài)口令與第一動態(tài)口令進行比對,如果相 同,則第一動態(tài)口令合法,如果不相同,則第一動態(tài)口令不合法;其中,服務端生成第二動態(tài)口令的算法與步驟203中動態(tài)口令令牌生成第一動 態(tài)口令的算法相同;步驟206,服務端生成第二挑戰(zhàn)碼,并根據第二挑戰(zhàn)碼和初始種子生成第三動態(tài) 口令,將第三動態(tài)口令和第二挑戰(zhàn)碼返回給客戶端,客戶端輸出第三動態(tài)口令和第二挑 戰(zhàn)碼,等待接收用戶通過客戶端發(fā)送的確認服務器合法的確認信息;步驟207,用戶將第二挑戰(zhàn)碼輸入到動態(tài)口令令牌中,動態(tài)口令令牌根據第二挑 戰(zhàn)碼和初始種子生成第四動態(tài)口令并顯示,用戶比對第四動態(tài)口令和第三動態(tài)口令是否 相同,如果相同,通過客戶端輸入確認服務器合法的確認信息,執(zhí)行步驟208,如果不相 同,說明服務器不合法,取消給動態(tài)口令令牌更新種子的操作;其中,動態(tài)口令令牌生成第四動態(tài)口令的算法與步驟206中服務端生成第三動 態(tài)口令的算法相同;在本實施例中,步驟207還可以按照另一種方法實現用戶輸入第二挑戰(zhàn)碼到動態(tài)口令令牌中,動態(tài)口令令牌根據第二挑戰(zhàn)碼和初始 種子生成第四動態(tài)口令,用戶再輸入第三動態(tài)口令到動態(tài)口令令牌中,動態(tài)口令令牌內 部將第三動態(tài)口令和第四動態(tài)口令進行比對,如果相同,則第三動態(tài)口令正確,動態(tài)口 令令牌輸出服務端合法的確認信息,如果不相同,則第三動態(tài)口令不正確,動態(tài)口令令 牌輸入服務端不合法的信息;使用上述方法的好處是,不會暴露第四動態(tài)口令;步驟208,服務端生成隨機數R,由隨機數R根據預定算法生成服務端臨時種子并保存,并生成第三挑戰(zhàn)碼,將隨機數R和第三挑戰(zhàn)碼返回給客戶端,并發(fā)出再次進行 動態(tài)口令驗證的指令;在本實施例中,預設的算法可以為任意保密算法,可以為HMAC-SHA1、 MD5、SHA-U SHA-256等,例如生成一個8位隨機數為12345678,使用MD5算法對 隨機數進行摘要計算,得到哈希值25D55AD283AA400AF464C76D713C07AD,取哈希值 固定的位數作為服務端臨時種子;
在服務端使用預設算法生成服務端臨時種子時,為了增加安全性,還可以增加 生成服務端臨時種子的參數,包括增加時間因素和事件因素,例如,可以在令牌內增加 計時器,在生成服務端臨時種子時,將當前時間和隨機數R進行結合,再按照預設的算 法計算服務端臨時種子,事件因素可以為該動態(tài)口令令牌生成動態(tài)口令的次數,這樣可 以防止隨機數R在網絡上進行傳輸的過程中,被黑客所截取,計算得到用戶的種子的行 為;步驟209,客戶端輸出隨機數R和第三挑戰(zhàn)碼;步驟210,用戶向動態(tài)口令令牌輸入隨機數R,動態(tài)口令令牌接收到隨機數R 后,使用與步驟208中服務端生成臨時種子相同的算法生成動態(tài)口令令牌端臨時種子, 并保存;步驟211,用戶向動態(tài)口令令牌中輸入第三挑戰(zhàn)碼,動態(tài)口令令牌接收到第三挑 戰(zhàn)碼后,使用動態(tài)口令令牌端臨時種子和第三挑戰(zhàn)碼生成第五動態(tài)口令;步驟212,用戶向客戶端輸入第五動態(tài)口令,客戶端接收第五動態(tài)口令,并向服 務端發(fā)出第五動態(tài)口令和對第五動態(tài)口令進行驗證的請求;步驟213,服務端驗證第五動態(tài)口令,如果正確,執(zhí)行步驟214,如果不正確, 向用戶返回更新種子失敗的錯誤;在本實施例中,服務端驗證第五動態(tài)口令,具體的包括服務端接收到第五 動態(tài)口令后,根據服務端臨時種子和第三挑戰(zhàn)碼,使用與步驟211中動態(tài)口令令牌生成 第五動態(tài)口令相同的算法生成第六動態(tài)口令,并將第五動態(tài)口令與第六動態(tài)口令進行比 對,如果相同,則第五動態(tài)口令正確,如果不相同,則第五動態(tài)口令不正確;步驟214,服務端使用服務端臨時種子替換初始種子,將服務端臨時種子作為新 種子保存,并向客戶端發(fā)出更新種子成功的信息;步驟215,用戶向動態(tài)口令令牌中輸入服務端更新種子成功的確認信息,動態(tài)口 令令牌接收確認信息,使用動態(tài)口令令牌端臨時種子替換初始種子,將動態(tài)口令令牌端 臨時種子作為新種子保存,動態(tài)口令令牌更新種子成功。本實施例所提供的一種對動態(tài)口令令牌的種子進行更新的方法,克服了傳統(tǒng)的 動態(tài)口令技術中,種子由動態(tài)口令令牌生產商寫入,由于生產商知道每個動態(tài)口令令牌 的種子而造成的動態(tài)口令安全風險,具有更強的安全性。實施例3本實施例提供了一種對動態(tài)口令令牌的種子進行更新的方法,本實施例所提供 的動態(tài)口令令牌,在動態(tài)口令令牌中保存有多個種子,并且保存有與多個種子對應的列 表,在本實施例中稱為種子列表,為動態(tài)口令令牌生產或初始化時寫入,當動態(tài)口令令 牌出廠時使用多個種子中的一個種子作為初始種子,進行動態(tài)口令計算,將該種子定義為初始種子,并且在服務端對該編號的動態(tài)口令令牌,也保存有同樣的種子列表,在用戶購買后,可對動態(tài)口令令牌計算動態(tài)口令時使用的種子進行更新,參加圖3,具體的如 下步驟301,用戶通過客戶端向服務端發(fā)出更新動態(tài)口令令牌中種子的請求;在本實施例中,用戶使用的動態(tài)口令令牌為挑戰(zhàn)應答式的動態(tài)口令令牌,并且 令牌上置有輸入和輸出裝置,優(yōu)選地,輸入裝置采用鍵盤,輸出裝置采用顯示輸出或音 頻播報的方式輸出;用戶通過客戶端發(fā)出更新動態(tài)口令令牌中種子的請求,具體的可以為,用戶通 過客戶端中安裝的瀏覽器,對服務端進行訪問,服務端通過瀏覽器返回給動態(tài)口令令牌 更新種子的功能頁面,用戶輸入需要更新種子的動態(tài)口令令牌的編號,并選擇更新種 子,向服務端發(fā)出更新種子的請求;步驟302,服務端接到更新種子的請求,生成第一挑戰(zhàn)碼,并將第一挑戰(zhàn)碼返回 給客戶端;在本實施例中,服務端生成第一挑戰(zhàn)碼還可以包括,服務端根據接收的動態(tài)口 令令牌編號,查找該動態(tài)口令令牌信息和該動態(tài)口令令牌對應的種子信息,生成第一挑 戰(zhàn)碼,并判斷第一挑戰(zhàn)碼是否與上次進行動態(tài)口令驗證時使用的挑戰(zhàn)碼是否相同,如果 相同,重新生成一個挑戰(zhàn)碼,再與所述上次進行動態(tài)口令驗證時使用的挑戰(zhàn)碼進行比 對,如果不相同,則向客戶端返回第一挑戰(zhàn)碼;步驟303,客戶端輸出第一挑戰(zhàn)碼,用戶將第一挑戰(zhàn)碼輸入到動態(tài)口令令牌中, 動態(tài)口令令牌接收到第一挑戰(zhàn)碼后根據初始種子和第一挑戰(zhàn)碼生成第一動態(tài)口令;在本實施例中,動態(tài)口令令牌生成第一動態(tài)口令后,通過液晶顯示裝置輸出, 動態(tài)口令令牌生成第一動態(tài)口令的算法可以為HMAC-SHA1、MD5、SHA-U SHA-256 等;步驟304,客戶端接收用戶輸入的第一動態(tài)口令,并向服務端發(fā)出對第一動態(tài)口 令進行驗證的請求;步驟305,服務端接收對第一動態(tài)口令進行驗證的請求和第一動態(tài)口令,對第一 動態(tài)口令進行驗證,如果合法,執(zhí)行步驟306,如果不合法,則向客戶端返回第一動態(tài)口 令不正確的錯誤;在本實施例中,服務端對第一動態(tài)口令進行驗證具體的為,服務端使用第一挑 戰(zhàn)碼和初始種子生成第二動態(tài)口令,將第二動態(tài)口令與第一動態(tài)口令進行比對,如果相 同,則第一動態(tài)口令合法,如果不相同,則第一動態(tài)口令不合法;其中,服務端生成第二動態(tài)口令的算法與步驟303中動態(tài)口令令牌生成第一動 態(tài)口令的算法相同;步驟306,服務端生成第二挑戰(zhàn)碼,并根據第二挑戰(zhàn)碼和初始種子生成第三動態(tài) 口令,將第三動態(tài)口令和第二挑戰(zhàn)碼返回給客戶端,客戶端輸出第三動態(tài)口令和第二挑 戰(zhàn)碼,等待接收用戶通過客戶端發(fā)送的確認服務器合法的確認信息;步驟307,用戶將第二挑戰(zhàn)碼輸入到動態(tài)口令令牌中,動態(tài)口令令牌根據第二挑 戰(zhàn)碼和初始種子生成第四動態(tài)口令并顯示,用戶比對第四動態(tài)口令和第三動態(tài)口令是否 相同,如果相同,通過客戶端輸入確認服務器合法的確認信息,執(zhí)行步驟308,如果不相同,說明服務器不合法,取消給動態(tài)口令令牌更新種子的操作;其中,動態(tài)口令令牌生成第四動態(tài)口令的算法與步驟306中服務端生成第三動 態(tài)口令的算法相同;在本實施例 中,步驟307還可以按照另一種方法實現用戶輸入第二挑戰(zhàn)碼到動態(tài)口令令牌中,動態(tài)口令令牌根據第二挑戰(zhàn)碼和初始 種子生成第四動態(tài)口令,用戶再輸入第三動態(tài)口令到動態(tài)口令令牌中,動態(tài)口令令牌內 部將第三動態(tài)口令和第四動態(tài)口令進行比對,如果相同,則第三動態(tài)口令正確,動態(tài)口 令令牌輸出服務端合法的確認信息,如果不相同,則第三動態(tài)口令不正確,動態(tài)口令令 牌輸入服務端不合法的信息;使用上述方法的好處是,不會暴露第四動態(tài)口令;步驟308,服務端在種子列表中隨機選擇一個種子,作為生成動態(tài)口令的臨時種 子,生成第三挑戰(zhàn)碼,將臨時種子的編號和第三挑戰(zhàn)碼返回給客戶端,并發(fā)出再次進行 動態(tài)口令驗證的指令;其中,臨時種子和初始種子不能相同;步驟309,客戶端輸出臨時種子的編號和第三挑戰(zhàn)碼;步驟310,用戶向動態(tài)口令令牌輸入臨時種子的編號,動態(tài)口令令牌接收到臨時 種子的編號后,根據編號在種子列表中查找對應的種子,將該編號的種子作為動態(tài)口令 令牌計算動態(tài)口令的臨時種子;步驟311,用戶向動態(tài)口令令牌中輸入第三挑戰(zhàn)碼,動態(tài)口令令牌接收到用戶輸 入的第三挑戰(zhàn)碼后,使用臨時種子和第三挑戰(zhàn)碼生成第五動態(tài)口令并輸出;步驟312,用戶向客戶端輸入第五動態(tài)口令,客戶端接收到第五動態(tài)口令后,向 服務端發(fā)出第五動態(tài)口令和對第五動態(tài)口令進行驗證的請求;步驟313,服務端驗證第五動態(tài)口令,如果正確,執(zhí)行步驟314,如果不正確, 向用戶返回更新種子失敗的錯誤;在本實施例中,服務端驗證第五動態(tài)口令,具體的包括服務端接收到第五動 態(tài)口令后,根據臨時種子和第三挑戰(zhàn)碼,使用與步驟311中動態(tài)口令令牌生成第五動態(tài) 口令相同的算法生成第六動態(tài)口令,并將第五動態(tài)口令與第六動態(tài)口令進行比對,如果 相同,則第五動態(tài)口令正確,如果不相同,則第五動態(tài)口令不正確;步驟314,服務端將臨時種子置為新種子,并將新種子作為以后計算動態(tài)口令的 默認種子,并向客戶端發(fā)出更新種子成功的信息;步驟315,用戶向動態(tài)口令令牌中輸入服務端更新種子成功的確認信息,動態(tài)口 令令牌接收確認信息后,使用臨時種子作為以后計算動態(tài)口令的默認種子,動態(tài)口令令 牌更新種子成功。本實施例所提供的一種對動態(tài)口令令牌的種子進行更新的方法,通過在動態(tài)口 令令牌和服務端安裝種子列表,保存多個種子,并在用戶購買動態(tài)口令令牌后,在種子 列表中重新選擇計算動態(tài)口令所使用的種子,克服了傳統(tǒng)技術中動態(tài)口令令牌生產商知 道令牌中種子信息,并由此可能導致不安全的缺點。實施例4本實施例提供了一種對動態(tài)口令令牌的種子進行更新的方法,參加圖4,具體步驟如下步驟401,用戶通過客戶端向服務端發(fā)出更新動態(tài)口令令牌中種子的請求;在本實施例中,用戶使用的動態(tài)口令令牌為挑戰(zhàn)應答式的動態(tài)口令令牌,并且 令牌上置有輸入和輸出裝置,優(yōu)選地,輸入裝置采用鍵盤,輸出裝置采用顯示輸出或音 頻播報的方式輸出;用戶通過客戶端發(fā)出更新動態(tài)口令令牌中種子的請求,具體的可以為,用戶通 過客戶端中安裝的瀏覽器,對服務端進行訪問,服務端通過瀏覽器返回給動態(tài)口令令牌 更新種子的功能頁面,用戶輸入需要更新種子的動態(tài)口令令牌的編號,并選擇更新種 子,向服務端發(fā)出更新種子的請求;在本實施例中,將進行種子更新前的動態(tài)口令令牌中存儲的種子定義為初始種 子;步驟402,服務端接到更新種子的請求,生成第一挑戰(zhàn)碼,并將第一挑戰(zhàn)碼返回 給客戶端;在本實施例中,服務端生成第一挑戰(zhàn)碼還可以包括,服務端根據接收的動態(tài)口 令令牌編號,查找該動態(tài)口令令牌信息和該動態(tài)口令令牌對應的種子信息,生成第一挑 戰(zhàn)碼,并判斷第一挑戰(zhàn)碼是否與上次進行動態(tài)口令驗證時使用的挑戰(zhàn)碼是否相同,如果 相同,重新生成一個挑戰(zhàn)碼,再與所述上次進行動態(tài)口令驗證時使用的挑戰(zhàn)碼進行比 對,如果不相同,則向客戶端返回第一挑戰(zhàn)碼;步驟403,客戶端輸出第一挑戰(zhàn)碼,用戶將第一挑戰(zhàn)碼輸入到動態(tài)口令令牌中, 動態(tài)口令令牌接收到第一挑戰(zhàn)碼后根據初始種子和第一挑戰(zhàn)碼生成第一動態(tài)口令;在本實施例中,動態(tài)口令令牌生成第一動態(tài)口令后,通過液晶顯示裝置輸出, 動態(tài)口令令牌生成第一動態(tài)口令的算法可以為HMAC-SHA1、MD5、SHA-U SHA-256 等;步驟404,客戶端接收用戶輸入的第一動態(tài)口令,并向服務端發(fā)出對第一動態(tài)口 令進行驗證的請求;步驟405,服務端接收對第一動態(tài)口令進行驗證的請求和第一動態(tài)口令,對第一 動態(tài)口令進行驗證,如果合法,執(zhí)行步驟406,如果不合法,則向客戶端返回第一動態(tài)口 令不正確的錯誤;在本實施例中,服務端對第一動態(tài)口令進行驗證具體的為,服務端使用第一挑 戰(zhàn)碼和初始種子生成第二動態(tài)口令,對第二動態(tài)口令與第一動態(tài)口令進行比對,如果相 同,則第一動態(tài)口令合法,如果不相同,則第一動態(tài)口令不合法;其中,服務端生成第二動態(tài)口令的算法與步驟403中動態(tài)口令令牌生成第一動 態(tài)口令的算法相同;步驟406,服務端生成第二挑戰(zhàn)碼,并根據第二挑戰(zhàn)碼和初始種子生成第三動態(tài) 口令,將第三動態(tài)口令和第二挑戰(zhàn)碼返回給客戶端,客戶端輸出第三動態(tài)口令和第二挑 戰(zhàn)碼,等待接收用戶通過客戶端發(fā)送的確認服務器合法的確認信息; 步驟407,用戶將第二挑戰(zhàn)碼輸入到動態(tài)口令令牌中,動態(tài)口令令牌根據第二挑 戰(zhàn)碼和初始種子生成第四動態(tài)口令并顯示,用戶比對第四動態(tài)口令和第三動態(tài)口令是否 相同,如果相同,通過客戶端輸入確認服務器合法的確認信息,執(zhí)行步驟408,如果不相同,說明服務器不合法,取消給動態(tài)口令令牌更新種子的操作;其中,動態(tài)口令令牌生成第四動態(tài)口令的算法與步驟406中服務端生成第三動 態(tài)口令的算法相同;在本實施例中,步驟407還可以按照另一種方法實現用戶輸入第二挑戰(zhàn)碼到動態(tài)口令令牌中,動態(tài)口令令牌根據第二挑戰(zhàn)碼和初始 種子生成第四動態(tài)口令,用戶再輸入第三動態(tài)口令到動態(tài)口令令牌中,動態(tài)口令令牌內 部將第三動態(tài)口令和第四動態(tài)口令進行比對,如果相同,則第三動態(tài)口令正確,動態(tài)口 令令牌輸出服務端合法的確認信息,如果不相同,則第三動態(tài)口令不正確,動態(tài)口令令 牌輸入服務端不合法的信息;使用上述方法的好處是,不會暴露第四動態(tài)口令; 步驟408,服務端生成第四挑戰(zhàn)碼,并使用初始種子和第四挑戰(zhàn)碼生成第七動態(tài) □令 OTP7 ;步驟409,服務端生成臨時種子seed,并使用第七動態(tài)口令OTP7作為密鑰,對 臨時種子seed進行加密運算得到[seedkm將[SeedWp7和第四挑戰(zhàn)碼返回給客戶端,并 生成第三挑戰(zhàn)碼返回給客戶端,再次發(fā)出對動態(tài)口令進行驗證的命令;在本實施例中,服務端使用對稱加密算法對臨時種子seed進行加密;步驟410,客戶端輸出[Seed]QTP7和第三挑戰(zhàn)碼、第四挑戰(zhàn)碼;步驟411,用戶向動態(tài)口令令牌輸入第四挑戰(zhàn)碼,動態(tài)口令令牌接收到第四挑戰(zhàn) 碼后,使用初始種子和第四挑戰(zhàn)碼生成第八動態(tài)口令,并保存第八動態(tài)口令,等待用戶 輸入[seed]0TP7 ;其中,動態(tài)口令令牌生成第八動態(tài)口令的算法與步驟408中生成第七動態(tài)口令 的算法相同,并且由于步驟401到步驟407已經對動態(tài)口令令牌和服務端的合法性進行了 驗證,因此,第七動態(tài)口令和第八動態(tài)口令實際上是相同的;步驟412,用戶向動態(tài)口令令牌輸入加密后的臨時種子[seed^m,動態(tài)口令令牌 接收到[SeedWp7后,使用第八動態(tài)口令作為密鑰對[SeedWp7進行解密,得到明文的臨時 種子seed,保存臨時種子seed ;步驟413,用戶向動態(tài)口令令牌輸入第三挑戰(zhàn)碼,動態(tài)口令令牌接收到第三挑戰(zhàn) 碼后,使用臨時種子seed和第三挑戰(zhàn)碼生成第五動態(tài)口令并輸出;步驟414,用戶向客戶端輸入第五動態(tài)口令,客戶端接收到第五動態(tài)口令后,發(fā) 送給服務端,向服務端發(fā)出對第五動態(tài)口令進行驗證的請求;步驟415,服務端驗證第五動態(tài)口令,如果正確,執(zhí)行步驟417,如果不正確, 執(zhí)行步驟416 ;在本實施例中,服務端驗證第五動態(tài)口令,具體的包括服務端在接收到第五 動態(tài)口令后,根據臨時種子seed和第三挑戰(zhàn)碼,使用與步驟413中相同的算法生成第六 動態(tài)口令,并將第五動態(tài)口令與第六動態(tài)口令進行比對,如果相同,則認為第五動態(tài)口 令正確,如果不相同,則認為第五動態(tài)口令不正確;步驟416,服務端向客戶端返回更新種子失敗的錯誤;步驟417,服務端使用臨時種子seed替換初始種子,將臨時種子seed置為新種 子,并向客戶端發(fā)送更新種子成功的確認消息;
步驟418,客戶端輸出服務端更新種子成功的消息;步驟419,用戶向動態(tài)口令令牌中輸入服務端更新種子成功的確認信息,動態(tài)口令令牌接收確認信息后,使用自身通過解密得到的臨時種子seed替換動態(tài)口令令牌中保 存的初始種子,將自身通過解密得到的臨時種子seed置為新種子,動態(tài)口令令牌更新種 子成功。本實施例提供了一種對動態(tài)口令令牌的種子進行更新的方法,克服了傳統(tǒng)技術 中動態(tài)口令令牌生產商會知道動態(tài)口令令牌中種子的問題,和由此問題引起的安全風 險,并且在傳輸種子的過程中使用動態(tài)口令作為密鑰對新種子進行加密,保證了種子的 安全性。以上對本發(fā)明所提供的一種對動態(tài)口令令牌的種子進行更新的方法進行了詳細 介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說 明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員, 依據本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上,本說明書內 容不應理解為對本發(fā)明的限制。
權利要求
1.一種對動態(tài)口令令牌的種子進行更新的方法,其特征在于,所述方法包括 服務端接收用戶通過客戶端發(fā)出的更新動態(tài)口令令牌中種子的請求,所述服務端和所述動態(tài)口令令牌互相驗證是否全部合法;如果所述服務端和所述動態(tài)口令令牌不全部合法,停止更新種子的操作; 如果所述服務端和所述動態(tài)口令令牌全部合法,所述服務端生成第三挑戰(zhàn)碼和種子 更新標識,并返回給客戶端,所述服務端根據所述種子更新標識得到服務端臨時種子并 保存;所述動態(tài)口令令牌接收用戶輸入的所述種子更新標識,所述動態(tài)口令令牌根據所述 種子更新標識得到動態(tài)口令令牌端臨時種子;所述動態(tài)口令令牌接收用戶輸入的第三挑戰(zhàn)碼,所述動態(tài)口令令牌根據所述臨時 種子和所述第三挑戰(zhàn)碼生成第五動態(tài)口令,并將第五動態(tài)口令發(fā)送給所述服務端進行驗 證;所述服務端驗證所述第五動態(tài)口令,如果正確,所述所述服務端將所述服務端臨時 種子置為新種子,并向所述客戶端返回所述服務端更新種子成功的消息,所述客戶端輸 出所述服務端更新種子成功的消息,所述動態(tài)口令令牌接收所述用戶輸入的更新種子成 功的確認信息,所述動態(tài)口令令牌將所述動態(tài)口令令牌端臨時種子置為新種子,所述動 態(tài)口令令牌更新種子成功,如果不正確,所述服務端返回更新種子失敗的消息,所述動 態(tài)口令令牌接收所述用戶輸入的更新種子取消信息,更新種子失敗。
2.如權利要求1所述的方法,其特征在于,所述動態(tài)口令令牌和所述動態(tài)口令令牌互 相驗證是否全部合法,具體的包括所述服務端生成第一挑戰(zhàn)碼,并返回給客戶端,所述客戶端輸出所述第一挑戰(zhàn)碼; 所述動態(tài)口令令牌接收所述用戶輸入的所述第一挑戰(zhàn)碼,所述動態(tài)口令令牌使用初 始種子和所述第一挑戰(zhàn)碼生成第一動態(tài)口令,將所述第一動態(tài)口令通過所述客戶端發(fā)送 給所述服務端;所述服務端驗證所述第一動態(tài)口令是否正確;如果不正確,則所述動態(tài)口令令牌不合法,停止所述更新種子的操作; 如果正確,則所述動態(tài)口令令牌合法,繼續(xù)驗證所述服務端是否合法,所述服務 端生成第二挑戰(zhàn)碼,并由所述服務端中保存的所述動態(tài)口令令牌的初始種子和所述第二 挑戰(zhàn)碼生成第三動態(tài)口令,所述服務端將所述第二挑戰(zhàn)碼和所述第三動態(tài)口令發(fā)送給所 述客戶端,所述客戶端輸出所述第二挑戰(zhàn)碼和所述第三動態(tài)口令,所述動態(tài)口令令牌接 收所述用戶輸入的所述第二挑戰(zhàn)碼,所述動態(tài)口令令牌根據所述第二挑戰(zhàn)碼和所述動態(tài) 口令令牌中的初始種子生成第四動態(tài)口令,所述用戶比對所述第三動態(tài)口令和所述第四 動態(tài)口令,如果相同,通過所述客戶端向所述服務端發(fā)送確認所述服務端合法的確認信 息,所述動態(tài)口令令牌和所述服務端互相驗證全部合法,如果不相同,則所述服務端不 合法,停止所述更新種子的操作。
3.如權利要求2所述的方法,其特征在于,所述服務端驗證所述第一動態(tài)口令是否正 確,具體的包括所述服務端使用所述第一挑戰(zhàn)碼和所述服務端保存的所述動態(tài)口令令牌的初始種子 生成第二動態(tài)口令,并將所述第一動態(tài)口令與所述第二動態(tài)口令進行比對,如果相同,則所述第一動態(tài)口令正確,如果不相同,則所述第二動態(tài)口令不正確。
4.如權利要求1所述的方法,其特征在于,所述種子更新標識具體的包括 第一數值、隨機數、臨時種子加密包或種子編號號中的任一種。
5.如權利要求4所述的方法,其特征在于,當所述種子更新標識為所述第一數值時, 所述服務端根據所述種子更新標識得到服務端臨時種子具體的包括所述服務端以所述第一數值和所述服務端保存的所述動態(tài)口令令牌的初始種子為參 數進行計算,得到所述服務端臨時種子。
6.如權利要求5所述的方法,其特征在于,當所述種子更新標識為所述第一數值時, 所述動態(tài)口令令牌根據所述種子更新標識得到動態(tài)口令令牌端臨時種子具體的包括所述動態(tài)口令令牌以所述第一數值和所述動態(tài)口令令牌的初始種子為參數計算得到 所述動態(tài)口令令牌端臨時種子,所述動態(tài)口令令牌在計算所述動態(tài)口令令牌端臨時種子 時,使用與所述服務端計算所述服務端臨時種子相同的算法。
7.如權利要求4所述的方法,其特征在于,當所述種子更新標識為所述隨機數時,所 述服務端根據所述種子更新標識得到服務端臨時種子具體的包括所述服務端使用預設算法對所述隨機數進行變化,得到所述服務端臨時種子。
8.如權利要求7所述的方法,其特征在于,所述服務端使用預設算法對所述隨機數進 行變化,還包括在按照預設算法對所述隨機數進行變化時,加入時間因素和事件因素作為運算參數。
9.如權利要求7所述的方法,其特征在于,當所述種子更新標識為所述隨機數時,所 述動態(tài)口令令牌根據所述種子更新標識得到動態(tài)口令令牌端臨時種子具體的包括所述動態(tài)口令令牌使用預設算法對所述隨機數進行變化,得到所述動態(tài)口令令牌端 臨時種子。
10.如權利要求9所述的方法,其特征在于,所述動態(tài)口令令牌使用預設算法對所述 隨機數進行變化,還包括在按照預設算法對所述隨機數進行變化時,加入時間因素和事件因素作為運算參數。
11.如權利要求4所述的方法,其特征在于,所述臨時種子加密包具體的包括 加密后的服務端臨時種子和第四挑戰(zhàn)碼。
12.如權利要求11所述的方法,其特征在于,所述服務端生成種子更新標識,具體的 包括所述服務端生成第四挑戰(zhàn)碼和服務端臨時種子,并根據所述服務端保存的所述動態(tài) 口令令牌的初始種子和所述第四挑戰(zhàn)碼生成第七動態(tài)口令,所述服務端將所述第七動態(tài) 口令作為密鑰對所述服務端臨時種子進行加密,得到加密后的服務端臨時種子。
13.如權利要求12所述的方法,其特征在于,所述動態(tài)口令令牌根據所述種子更新標 識得到動態(tài)口令令牌端臨時種子,具體的包括所述動態(tài)口令令牌接收所述用戶輸入的所述第四挑戰(zhàn)碼和加密后的臨時種子,使用 所述動態(tài)口令令牌的初始種子和所述第四挑戰(zhàn)碼生成第八動態(tài)口令,并使用第八動態(tài)口 令作為密鑰對所述加密后的服務端臨時種子進行解密,得到所述動態(tài)口令令牌端臨時種子。
14.如權利要求4所述的方法,其特征在于,當所述種子更新標識為種子編號時,所 述服務端生成種子更新標識,具體的包括所述服務端根據所述種子編號,在所述服務端保存的所述動態(tài)口令令牌的種子列表 中選擇對應編號的種子作為所述服務端臨時種子。
15.如權利要求14所述的方法,其特征在于,當所述種子更新標識為種子編號時,所 述動態(tài)口令令牌根據所述種子更新標識得到動態(tài)口令令牌端臨時種子,具體的包括所述動態(tài)口令令牌接收用戶輸入的所述種子編號,并根據所述種子編號在所述動態(tài) 口令令牌中保存的種子列表中選擇對應編號的種子作為所述動態(tài)口令令牌端臨時種子。
16.如權利要求15所述的方法,其特征在于,所述種子列表為所述動態(tài)口令令牌初 始化時寫入所述動態(tài)口令令牌中,并且在所述服務端保存有所述動態(tài)口令令牌的種子列 表,所述種子列表中記錄有所述動態(tài)口令令牌可使用的種子,并且每個種子有相應的編 號進行標識。
17.如權利要求1所述的方法,其特征在于,所述服務端驗證所述第五動態(tài)口令,具 體的包括所述服務端使用所述服務端臨時種子和所述第三挑戰(zhàn)碼生成第六動態(tài)口令,并將所 述第五動態(tài)口令和所述第六動態(tài)口令進行比對,如果相同,則所述第五動態(tài)口令正確, 如果不相同,則所述第五動態(tài)口令不正確。
全文摘要
本發(fā)明公開了一種對動態(tài)口令令牌中種子的更新方法,首先用戶使用動態(tài)口令令牌和服務端進行互相認證,如果全部合法,則可以對動態(tài)口令令牌中的種子進行更新,所述服務端生成種子更新標識,并將種子更新標識發(fā)送給客戶端,所述動態(tài)口令令牌使用所述種子更新標識生成臨時種子,并使用臨時種子再次進行動態(tài)口令的認證,如果認證成功,則對其內部存儲的種子進行更新,服務端也更新其為所述動態(tài)口令令牌存儲的種子,通過對動態(tài)口令令牌中的種子進行更新,可以防止令牌生產商知悉每個令牌中種子的情況,增加了安全性。
文檔編號H04L29/06GK102025716SQ20101021391
公開日2011年4月20日 申請日期2010年6月29日 優(yōu)先權日2010年6月29日
發(fā)明者于華章, 陸舟 申請人:北京飛天誠信科技有限公司