專利名稱:一種動態(tài)口令的認證方法和裝置的制作方法
技術領域:
本發(fā)明涉及信息安全領域,特別涉及一種動態(tài)ロ令的認證方法和裝置。
背景技術:
動態(tài)令牌(OTP Token )是ー種用于生成動態(tài)密碼的手持式電子產品,可根據(jù)時間、事件、挑戰(zhàn)/應答等因素生成動態(tài)密碼,消除靜態(tài)密碼被截取、猜測、攻擊和破解的隱患。動態(tài)令牌可以脫機使用,也可以與計算機相連?;跁r間同步的動態(tài)令牌,每60秒產生生成一個與時間相關的、不可預測的隨機數(shù),使用該隨機數(shù)進行認證。由于動態(tài)令牌同步的基礎是國際標準時間,則要求其服務器能
夠十分精確的保持正確的時鐘,同時對其令牌的晶振頻率有嚴格的要求,從而降低系統(tǒng)失去同步的幾率。由于動態(tài)令牌的工作環(huán)境不同,在磁場、高溫、高壓、震蕩、入水等情況下易發(fā)生時鐘脈沖的不確定偏移和損壞,進而導致動態(tài)ロ令的認證失敗?,F(xiàn)有技術中,為了提高認證成功率,可以增大認證窗ロ ;為了提高認證安全性,也可以縮小認證窗ロ。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術至少存在以下缺陷當為了提高認證成功率而增大認證窗ロ吋,會降低認證安全性;當為了提高認證安全性而縮小認證窗ロ時,可能會因為ー個小的偏移而導致認證失敗。
發(fā)明內容
本發(fā)明實施例提供了一種動態(tài)ロ令的認證方法和裝置,用以兼顧認證成功率和認證安全性。本發(fā)明實施例提出一種動態(tài)ロ令的認證方法,包括以下步驟①、獲取動態(tài)令牌的令牌標識和所述動態(tài)令牌生成的動態(tài)ロ令;②、判斷所述動態(tài)令牌是否認證成功過,如果沒有認證成功過,則執(zhí)行步驟③;如果認證成功過,則執(zhí)行步驟④;③、將認證窗ロ的大小設置為第一預設時長,根據(jù)所述認證窗ロ對獲取的動態(tài)ロ令進行認證;④、獲取數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間,判斷所述認證成功時間與當前系統(tǒng)時間之間的間隔是否大于第二預設時長,如果大于,則執(zhí)行步驟⑤;否則,執(zhí)行步驟⑥;⑤、將認證窗ロ的大小設置為第三預設時長,根據(jù)所述認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證,所述第三預設時長小于所述第一預設時長;⑥、將認證窗ロ的大小設置為第四預設時長,根據(jù)所述認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證,所述第四預設時長小于所述第三預設時長。本發(fā)明實施例還提出一種動態(tài)ロ令的認證裝置,包括獲取模塊,用于獲取動態(tài)令牌的令牌標識和所述動態(tài)令牌生成的動態(tài)ロ令;
第一判斷模塊,用于判斷所述動態(tài)令牌是否認證成功過;第二判斷模塊,用于在所述第一判斷模塊判斷所述動態(tài)令牌認證成功過時,判斷數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間與當前系統(tǒng)時間之間的間隔是否大于第二預設時長;設置模塊,用于在所述第一判斷模塊判斷所述動態(tài)令牌沒有認證成功過時,將認證窗ロ的大小設置為第一預設時長;在所述第二判斷模塊判斷所述認證成功時間與當前系統(tǒng)時間之間的間隔大于所述第二預設時長,將認證窗ロ的大小設置為第三預設時長;在所述第二判斷模塊判斷所述認證成功時間與當前系統(tǒng)時間之間的間隔不大于所述第二預設時長時,將認證窗ロ的大小設置為第四預設時長,所述第四預設時長小于所述第三預設時長;
第一認證模塊,用于在所述第一判斷模塊判斷所述動態(tài)令牌沒有認證成功過時,根據(jù)所述認證窗ロ對獲取的動態(tài)ロ令進行認證;第二認證模塊,用于在所述第一判斷模塊判斷所述動態(tài)令牌認證成功過時,根據(jù)所述認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證。本發(fā)明實施例根據(jù)數(shù)據(jù)庫中是否存儲有認證成功時間以及認證成功時間與當前系統(tǒng)時間之間的間隔,設置認證窗ロ的大小,根據(jù)設置后的認證窗ロ對獲取的動態(tài)ロ令進行認證,可以兼顧認證成功率和認證安全性。
圖1-1、1-2為本發(fā)明實施例中的一種動態(tài)ロ令的認證方法流程圖;圖2為本發(fā)明實施例中的一種動態(tài)ロ令的認證裝置的結構圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提出了一種動態(tài)ロ令的認證方法,如圖1-1和1-2所示,包括以下步驟步驟101,獲取動態(tài)令牌的令牌標識和該動態(tài)令牌生成的動態(tài)ロ令。具體地,可以獲取用戶輸入的令牌標識,也可以根據(jù)用戶輸入的用戶名查詢數(shù)據(jù)庫,獲取與該用戶名對應的令牌標識。例如,可以獲取用戶輸入的令牌標識“1224A”,也可以根據(jù)用戶輸入的用戶名“steven”查詢數(shù)據(jù)庫,獲取與用戶名“steven”對應的令牌標識“ 1224A”。步驟102,判斷數(shù)據(jù)庫中是否存儲有與獲取的令牌標識對應的認證成功時間,如果是,則執(zhí)行步驟104 ;否則,執(zhí)行步驟103。具體地,可以根據(jù)獲取的令牌標識查詢數(shù)據(jù)庫,當數(shù)據(jù)庫中沒有存儲與獲取的令牌標識對應的認證成功時間時,則該令牌標識對應的動態(tài)令牌沒有認證成功過;否則,則該令牌標識對應的動態(tài)令牌認證成功過。其中,認證成功時間可以為與獲取的令牌標識對應的動態(tài)令牌上一次認證成功時的系統(tǒng)時間。步驟103,將認證窗ロ的大小設置為第一預設時長,并執(zhí)行步驟111。其中,認證窗ロ為位于當前系統(tǒng)時間和令牌偏移時間之和的前后、用于動態(tài)ロ令認證的時間范圍。在進行動態(tài)ロ令認證吋,可以在認證窗ロ內選擇時間點,計算動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對。認證窗ロ可以包括前窗沿和后窗沿,前窗沿為以當前系統(tǒng)時間和令牌偏移時間之和為終點的時間范圍,后窗沿為以當前系統(tǒng)時間和令牌偏移時間之和為起點的時間范圍。前窗沿的大小可以與后窗沿的大小相同,也可以不同。例如,第一預設時長可以為20分鐘,前窗沿和后窗沿的大小可以均為10分鐘,也可以分別為8分鐘和12分鐘。步驟104,判斷數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間與當前系統(tǒng)時間之間的間隔是否大于第二預設時長,如果大于,則執(zhí)行步驟105 ;否則,執(zhí)行步驟106。步驟105,將認證窗ロ的大小設置為第三預設時長,并執(zhí)行步驟107。步驟106,將認證窗ロ的大小設置為第四預設時長。其中,第一預設時長可以大于第三預設時長,第三預設時長可以大于第四預設時長。例如,當數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間為2012年3月3日15時30分,第二預設時長可以為2周時,如果當前系統(tǒng)時間為2012年3月18日15時30分,則判斷認證成功時間與當前系統(tǒng)時間之間的間隔大于第二預設時長,將認證窗ロ的大小設置為第三預設時長,例如,4分鐘;如果當前系統(tǒng)時間為2012年3月13日15時30分,則判斷認證成功時間與當前系統(tǒng)時間之間的間隔小于第二預設時長,將認證窗ロ的大小設置為第四預設時長,例如,2分鐘。步驟107,根據(jù)獲取的令牌標識查詢數(shù)據(jù)庫,獲取與該令牌標識對應的認證成功時間,根據(jù)該認證成功時間計算得到上次認證成功時的動態(tài)ロ令,并將該動態(tài)ロ令與獲取的動態(tài)ロ令進行比對。具體地,可以將與獲取的令牌標識對應的認證成功時間作為參數(shù),計算得到與該令牌標識對應的動態(tài)令牌上次認證成功時的動態(tài)ロ令。步驟108,判斷獲取的動態(tài)ロ令與上次認證成功時的動態(tài)ロ令是否相同,如果相同,則執(zhí)行步驟109 ;否則,執(zhí)行步驟111。步驟109,判斷數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間是否在認證窗ロ內,如果是,則執(zhí)行步驟110 ;否則,執(zhí)行步驟111。步驟110,返回重發(fā)攻擊錯誤信息。例如,當數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間為2012年3月3日15時30分,當前系統(tǒng)時間為2012年3月3日15時31分,令牌偏移時間為0,認證窗ロ的大小為4分鐘,前窗沿與后窗沿的大小相同,即,認證窗ロ為從2012年3月3日15時29分到2012年3月3日15時33分時,則判斷認證成功時間在認證窗口內,返回重發(fā)攻擊錯誤信息。步驟111,根據(jù)獲取的令牌標識查詢數(shù)據(jù)庫,獲取與該令牌標識對應的令牌偏移時間,根據(jù)該令牌偏移時間和當前系統(tǒng)時間計算動態(tài)ロ令。
具體地,可以將令牌偏移時間與當前系統(tǒng)時間之和作為基準時間,計算動態(tài)ロ令。其中,令牌偏移時間可以為動態(tài)令牌的時間與當前系統(tǒng)時間之間的差值,其初始值可以為缺省值,例如,零;即,如果動態(tài)令牌沒有被校準過,則該動態(tài)令牌對應的令牌偏移時間可以為缺省值;如果動態(tài)令牌被校準過,則該動態(tài)令牌對應的令牌偏移時間可以不為缺省值。例如,當當前系統(tǒng)時間為2012年3月3日15時31分,令牌偏移時間為-30秒時,則將2012年3月3日15時30分30秒作為基準時間,計算動態(tài)ロ令。步驟112,判斷計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令是否相同,如果相同,則執(zhí)行步驟113 ;否則,執(zhí)行步驟114。步驟113,返回認證成功信息,根據(jù)當前系統(tǒng)時間更新數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間。具體地,當數(shù)據(jù)庫中存儲有與獲取的令牌標識對應的認證成功時間,可以將該認證成功時間更新為當前系統(tǒng)時間;當數(shù)據(jù)庫中沒有存儲與獲取的令牌標識對應的認證成功時間時,可以將當前系統(tǒng)時間作為與獲取的令牌標識對應的認證成功時間存儲到數(shù)據(jù)庫中。步驟114,在認證窗口內選擇預設數(shù)量的時間點,根據(jù)選擇的時間點計算動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對。具體地,可以根據(jù)當前系統(tǒng)時間、令牌偏移時間和認證窗ロ的大小,確定認證窗ロ的范圍,并按照預設步長,在認證窗口內選取預設數(shù)量的時間點,以選取的時間點作為基準時間,分別計算動態(tài)ロ令,得到預設數(shù)量的動態(tài)ロ令。當認證窗ロ的前窗沿和后窗沿的大小相同時,可以將當前系統(tǒng)時間與令牌偏移時間之和作為認證窗ロ的中點,根據(jù)認證窗ロ的大小確定認證窗ロ的范圍;當認證窗ロ的前窗沿和后窗沿的大小不同時,可以根據(jù)當前系統(tǒng)時間與令牌偏移時間之和,以及前窗沿的大小,確定認證窗ロ的起始位置,根據(jù)當前系統(tǒng)時間與令牌偏移時間之和,以及后窗沿的大小,確定認證窗ロ的終止位置,進而確定認證窗ロ的范圍。例如,當認證窗ロ為4分鐘,前窗沿的大小為I分鐘,后窗沿的大小為3分鐘,當前系統(tǒng)時間為2012年3月3日15時31分,令牌偏移時間為_1分鐘,預設步長為I分鐘時,可以確定當前系統(tǒng)時間與令牌偏移時間之和為2012年3月3日15時30分,進而確定認證窗ロ的起始位置為2012年3月3日15時29分,終止位置為2012年3月3日15時33分, 可以在認證窗口內選取5個時間點2012年3月3日15時29分、2012年3月3日15時30分、2012年3月3日15時31分、2012年3月3日15時32分和2012年3月3日15時33分,并以選取的時間點作為基準時間,分別計算動態(tài)ロ令,得到5個動態(tài)ロ令。步驟115,判斷在認證窗口內計算得到的動態(tài)ロ令中是否存在與獲取的動態(tài)ロ令相同的動態(tài)ロ令,如果存在與獲取的動態(tài)ロ令相同的動態(tài)ロ令,則執(zhí)行步驟116 ;否則,執(zhí)行步驟123。步驟116,判斷數(shù)據(jù)庫中是否存儲有與獲取的令牌標識對應的認證成功時間,如果有,則執(zhí)行步驟118 ;否則,執(zhí)行步驟117。具體地,本步驟的具體操作過程可以與步驟102相同。步驟117,返回認證成功信息,根據(jù)當前系統(tǒng)時間更新與獲取的令牌標識對應的認證成功時間、令牌偏移時間和校準時間。具體地,可以將當前系統(tǒng)時間作為與獲取的令牌標識對應的認證成功時間和校準時間存儲到數(shù)據(jù)庫中;其中,校準時間為與獲取的令牌標識對應的動態(tài)令牌上一次被校準的時間,即,與獲取的令牌標識對應的令牌偏移時間被更新的時間,其初始值可以為缺省值,例如,零;即,如果動態(tài)令牌沒有被校準過,則該動態(tài)令牌對應的校準時間為缺省值;如果動態(tài)令牌被校準過,則該動態(tài)令牌對應的校準時間不為缺省值。另外,可以根據(jù)在認證窗口內計算得到的動態(tài)ロ令中,與獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間,與當前系統(tǒng)時間之間的時間差,設置與獲取的令牌標識對應的令牌偏移時間,并將該令牌偏移時間存儲到數(shù)據(jù)庫中。例如,當當前系統(tǒng)時間為2012年3月3日15時31分,在認證窗口內計算得到的動態(tài)ロ令中與獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間為2012年3月3日15時32分時,可以將2012年3月3日15時31分作為與獲取的令牌標識對應的認證成功時間和校準時間存儲到數(shù)據(jù)庫中,將與獲取的令牌標識對應的令牌偏移時間設置為2012年3月3日15時32分與2012年3月3日15時31分之間的差值,即,+1分鐘,并將該令牌偏移時間存儲到數(shù)據(jù)庫中。步驟118,判斷在認證窗口內計算得到的動態(tài)ロ令中,與獲取的動態(tài)ロ令相同的動 態(tài)ロ令對應的時間,是否大于數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間,如果大干,則執(zhí)行步驟120 ;否則,執(zhí)行步驟119。步驟119,返回異常信息。例如,在認證窗口內計算得到的動態(tài)ロ令包括A、B、C、D和E,對應的時間分別是2012年3月3日15時29分、2012年3月3日15時30分、2012年3月3日15時31分、2012年3月3日15時32分和2012年3月3日15時33分,如果獲取的動態(tài)ロ令為A,數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間為2012年3月3日15時29分,則判斷在認證窗口內計算得到的動態(tài)ロ令中,與獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間為2012年3月3日15時29分,且該時間等于數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間,返回錯誤信息。步驟120,根據(jù)獲取的令牌標識查詢數(shù)據(jù)庫,獲取與該令牌標識對應的校準時間。其中,校準時間的初始值可以為零,S卩,如果動態(tài)令牌沒有被校準過,則該動態(tài)令牌對應的校準時間為零;如果動態(tài)令牌被校準過,則該動態(tài)令牌對應的校準時間不為零。步驟121,判斷當前系統(tǒng)時間與數(shù)據(jù)庫中與獲取的令牌標識對應的校準時間之間的間隔是否大于校準周期,如果大于,則返回步驟117 ;否則,執(zhí)行步驟122。例如,當數(shù)據(jù)庫中與獲取的令牌標識對應的校準時間為2011年6月3日15時00分,當前系統(tǒng)時間為2012年3月3日15時31分,校準周期為半年時,可以判斷當前系統(tǒng)時間與數(shù)據(jù)庫中與獲取的令牌標識對應的校準時間之間的間隔大于校準周期。步驟122,返回認證成功信息,根據(jù)當前系統(tǒng)時間更新數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間。具體地,可以將數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間更新為當前系統(tǒng)時間。例如,當數(shù)據(jù)庫中與獲取的令牌標識對應的校準時間為2011年6月3日15時00分,當前系統(tǒng)時間為2012年3月3日15時31分,校準周期為一年時,可以判斷當前系統(tǒng)時間與數(shù)據(jù)庫中與獲取的令牌標識對應的校準時間之間的間隔小于校準周期,返回認證成功信息,將2012年3月3日15時31分作為與獲取的令牌標識對應的認證成功時間存儲到數(shù)據(jù)庫中。步驟123,在認證窗口前后的第五預設時長內選擇預設數(shù)量的時間點,根據(jù)選擇的時間點計算動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對。具體地,可以按照預設步長,在認證窗口前后的第五預設時長內選取預設數(shù)量的時間點,以選取的時間點作為基準時間,分別計算動態(tài)ロ令,得到預設數(shù)量的動態(tài)ロ令。例如,當認證窗ロ的大小為4分鐘,前窗沿和后窗沿的大小相同,當前系統(tǒng)時間為2012年3月3日15時31分,令牌偏移時間為_1分鐘,第五預設時長可以為2分鐘,預設步長為I分鐘時,可以確定認證窗ロ的范圍為2012年3月3日15時28分到2012年3月3日15時32分,認證窗口前后的第五預設時長內的范圍為2012年3月3日15時26分到2012年3月3日15時28分,以及2012年3月3日15時32分到2012年3月3日15時34分,選取4個時間點2012年3月3日15時26分、2012年3月3日15時27分、2012年3
月3日15時33分和2012年3月3日15時34分,并以選取的時間點作為基準時間,分別計算動態(tài)ロ令,得到4個動態(tài)ロ令。步驟124,判斷在認證窗口前后的第五預設時長內計算得到的動態(tài)ロ令中,是否存在與獲取的動態(tài)ロ令相同的動態(tài)ロ令,如果存在,則執(zhí)行步驟126 ;否則執(zhí)行步驟125。步驟125,返回認證失敗信息。具體地,可以返回無效動態(tài)ロ令,該ロ令表示認證失敗。例如,當在認證窗口前后的第五預設時長內計算得到的動態(tài)ロ令為包括F、G、H和I,獲取的動態(tài)ロ令為L吋,則判斷在認證窗口前后的第五預設時長內計算得到的動態(tài)ロ令中不存在與獲取的動態(tài)ロ令相同的動態(tài)ロ令,返回認證失敗信息。步驟126,返回令牌需要校準的信息。本發(fā)明實施例提供的技術方案中,根據(jù)數(shù)據(jù)庫中是否存儲有認證成功時間以及認證成功時間與當前系統(tǒng)時間之間的間隔,設置認證窗ロ的大小,根據(jù)設置后的認證窗ロ對獲取的動態(tài)ロ令進行認證,可以兼顧認證成功率和認證安全性。需要說明的是,在本發(fā)明的其他實施方式中,可以設置ー變量,當通過步驟102判斷數(shù)據(jù)庫中存儲有與獲取的令牌標識對應的認證成功時間時,將該變量的取值賦值為第一預設值;當數(shù)據(jù)庫中沒有存儲與獲取的令牌標識對應的認證成功時間時,將該變量的取值賦值為第二預設值。相應地,當通過步驟115判斷在認證窗口內計算得到的動態(tài)ロ令中存在與獲取的動態(tài)ロ令相同的動態(tài)ロ令后,對上述變量的取值進行判斷,如果該變量的取值為第一預設值,則判斷在認證窗口內計算得到的動態(tài)ロ令中,與獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間,是否大于數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間(即,步驟118);如果該變量的取值為第二預設值,返回認證成功信息,根據(jù)當前系統(tǒng)時間更新與獲取的令牌標識對應的認證成功時間、令牌偏移時間和校準時間(即,步驟117)。上述流程同樣可以實現(xiàn)本發(fā)明的發(fā)明目的。在本發(fā)明的其他實施方式中,數(shù)據(jù)庫中可以存儲有與各個動態(tài)令牌對應的認證成功時間,如果動態(tài)令牌沒有認證成功過,該動態(tài)令牌對應的認證成功時間為缺省值,例如,零;如果動態(tài)令牌認證成功過,該動態(tài)令牌對應的認證成功時間為該動態(tài)令牌上次認證成功時的當前系統(tǒng)時間?;谏鲜銮闆r,可以判斷與獲取的令牌標識對應的認證成功時間是否為缺省值,如果為缺省值,則對應的動態(tài)令牌沒有認證成功過;否則,則對應的動態(tài)令牌認證成功過。上述判斷方法同樣可以實現(xiàn)本發(fā)明的發(fā)明目的。在本發(fā)明的其他實施方式中,也可以存儲與各個動態(tài)令牌對應的認證標識,如果動態(tài)令牌沒有認證成功過,則該動態(tài)令牌對應的認證標識為第一預設值;如果動態(tài)令牌認證成功過,則該動態(tài)令牌對應的認證標識為第二預設值。基于上述設置,可以獲取與動態(tài)令牌對應的認證標識,如果認證標識的取值為第一預設值,則判斷該動態(tài)令牌沒有認證成功過;如果認證標識的取值為第二預設值,則判斷動態(tài)令牌認證成功過。在本發(fā)明的其他實施方式中,如果動態(tài)令牌認證成功過,在設置認證窗ロ的大小后,可以判斷認證窗ロ是否包含與該動態(tài)令牌對應的認證成功時間,如果包含,則重新設置認證窗ロ的大小,直到認證窗ロ 不包含與該動態(tài)令牌對應的認證成功時間?;谏鲜鲈O置方式,在認證窗口內選擇的時間點均大于認證成功時間,則在確定在認證窗口內計算得到的動態(tài)ロ令中存在與獲取的動態(tài)ロ令相同的動態(tài)ロ令吋,不再判斷存在的動態(tài)ロ令對應的時間是否大于認證成功時間(即,步驟118),而是直接從數(shù)據(jù)庫中獲取與獲取的令牌標識對應的校準時間(即,步驟120),并執(zhí)行后續(xù)操作(B卩,步驟120之后的步驟),同樣可以實現(xiàn)本發(fā)明的發(fā)明目的。同樣地,基于上述設置方式,當獲取的動態(tài)ロ令與上次認證成功時的動態(tài)ロ令相同時,不再判斷數(shù)據(jù)庫中與獲取的令牌標識對應的認證成功時間與當前系統(tǒng)時間之間的間隔是否在認證窗口內(即,步驟109),而是直接獲取與令牌標識對應的令牌偏移時間,根據(jù)該令牌偏移時間和當前系統(tǒng)時間計算動態(tài)ロ令(即,步驟111),并執(zhí)行后續(xù)操作(即,步驟111之后的步驟),同樣可以實現(xiàn)本發(fā)明的發(fā)明目的。在本發(fā)明的其他實施方式中,在認證窗口內計算動態(tài)ロ令時,可以選擇預設數(shù)量的、大于與獲取的令牌標識對應的認證成功時間的時間點,根據(jù)選擇的時間點計算動態(tài)ロ令,則在確定計算得到的動態(tài)ロ令中存在與獲取的動態(tài)ロ令相同的動態(tài)ロ令時,不再判斷存在的動態(tài)ロ令對應的時間是否大于認證成功時間(即,步驟118),而是直接從數(shù)據(jù)庫中獲取與獲取的令牌標識對應的校準時間(即,步驟120),并執(zhí)行后續(xù)操作(B卩,步驟120之后的步驟),同樣可以實現(xiàn)本發(fā)明的發(fā)明目的。本發(fā)明實施例還提出了一種動態(tài)ロ令的認證裝置,如圖2所示,包括獲取模塊210,用于獲取動態(tài)令牌的令牌標識和所述動態(tài)令牌生成的動態(tài)ロ令。第一判斷模塊220,用于判斷所述動態(tài)令牌是否認證成功過。具體地,第一判斷模塊220,具體用于查詢所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間,如果所述數(shù)據(jù)庫中不存在與所述令牌標識對應的認證成功時間,或者,所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間為缺省值,則判斷所述動態(tài)令牌沒有認證成功過;如果所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間不為缺省值,則判斷所述動態(tài)令牌認證成功過;或者,獲取與所述令牌標識對應的認證標識,如果所述認證標識的取值為第一預設值,則判斷所述動態(tài)令牌沒有認證成功過;如果所述認證標識的取值為第二預設值,則判斷所述動態(tài)令牌認證成功過。第二判斷模塊230,用于在第一判斷模塊220判斷所述動態(tài)令牌認證成功過時,判斷數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間與當前系統(tǒng)時間之間的間隔是否大于第ニ預設時長;設置模塊240,用于在第一判斷模塊220判斷所述動態(tài)令牌沒有認證成功過時,將認證窗ロ的大小設置為第一預設時長;在第二判斷模塊230判斷所述認證成功時間與當前系統(tǒng)時間之間的間隔大于所述第二預設時長,將認證窗ロ的大小設置為第三預設時長;在第二判斷模塊230判斷所述認證成功時間與當前系統(tǒng)時間之間的間隔不大于所述第二預設時長時,將認證窗ロ的大小設置為第四預設時長,所述第四預設時長小于所述第三預設時長。第一認證模塊250,用于在第一判斷模塊220判斷所述動態(tài)令牌沒有認證成功過時,根據(jù)所述認證窗ロ對獲取的動態(tài)ロ令進行認證。具體地,第一認證模塊250,具體用于根據(jù)所述認證窗ロ內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間設置為當前系統(tǒng)時間;當所述數(shù)據(jù)庫中不存在與所述令牌標識對應的令牌偏移時間,或者,所述令牌偏移時間為缺省值時,所述基準時間等于所述當前系統(tǒng)時間;當所述令牌偏移時間不為缺省值時,所述基準時間為所述當前系統(tǒng)時間與所述令牌標識對應的令牌偏移時間之和;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間和校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。第二認證模塊260,用于在第一判斷模塊220判斷所述動態(tài)令牌認證成功過時,根據(jù)所述認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證。具體地,第二認證模塊260,可以具體用于執(zhí)行以下操作4A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟4B;否貝丨J,執(zhí)行步驟4D;4B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟4C ;否則,執(zhí)行步驟4D;4C、返回重發(fā)攻擊錯誤信息;4D、根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對;如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)口令相同,則判斷計算得到的動態(tài)口令中與所述獲取的動態(tài)口令相同的動態(tài)口令對應的時間,是否大于所述認證成功時間,如果不大于,則返回異常信息;如果大于,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)口令中與所述獲取的動態(tài)口令相同的動態(tài)口令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大于,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)口令中與所述獲取的動態(tài)口令相同的動態(tài)口令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果計算得到的動態(tài)口令均不同于所述獲取的動態(tài)口令,則返回認證失敗信息或令牌需要校準的信息。當認證成功時間不在所述認證窗口的范圍內時,第二認證模塊260,還可以具體用于執(zhí)行以下操作5A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)口令,并將計算得到的動態(tài)口令與獲取的動態(tài)口令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟5B;否貝丨J,執(zhí)行步驟5D;5B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟5C ;否貝丨J,執(zhí)行步驟5D ;5C、返回重發(fā)攻擊錯誤信息;5D、根據(jù)所述認證窗口內的時間點計算動態(tài)口令,將計算得到的動態(tài)口令與所述獲取的動態(tài)口令進行比對;如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)口令與所述獲取的動態(tài)口令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)口令與所述獲取的動態(tài)口令相同,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)口令中與所述獲取的動態(tài)口令相同的動態(tài)口令對應的時間與所述當前 系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大于,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)口令中與所述獲取的動態(tài)口令相同的動態(tài)口令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果計算得到的動態(tài)口令均不同于所述獲取的動態(tài)口令,則返回認證失敗信息或令牌需要校準的信息。第二認證模塊260,還可以具體用于執(zhí)行以下操作
6A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)口令,并將計算得到的動態(tài)口令與獲取的動態(tài)口令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟6B;否貝U,執(zhí)行步驟6D; 6B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟6C ;否貝U,執(zhí)行步驟6D ;6C、返回重發(fā)攻擊錯誤信息;6D、根據(jù)所述認證窗口內的時間點計算動態(tài)口令,將計算得到的動態(tài)口令與所述獲取的動態(tài)口令進行比對,所述認證窗口內的時間點大于所述認證成功時間;如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)口令與所述獲取的動態(tài)口 令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)口令與所述獲取的動態(tài)口令相同,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)口令中與所述獲取的動態(tài)口令相同的動態(tài)口令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大于,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)口令中與所述獲取的動態(tài)口令相同的動態(tài)口令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果計算得到的動態(tài)口令均不同于所述獲取的動態(tài)口令,則返回認證失敗信息或令牌需要校準的信息。其中,上述查詢校準時間失敗,可以具體為所述數(shù)據(jù)庫中不存在與所述令牌標識對應的校準時間,或者,所述數(shù)據(jù)庫中與所述令牌標識對應的校準時間為缺省值;上述查詢校準成功,可以具體為所述數(shù)據(jù)庫中與所述令牌標識對應的校準時間不為缺省值。本發(fā)明實施例提供的技術方案中,根據(jù)數(shù)據(jù)庫中是否存儲有認證成功時間以及認證成功時間與當前系統(tǒng)時間之間的間隔,設置認證窗口的大小,根據(jù)設置后的認證窗口對獲取的動態(tài)口令進行認證,可以兼顧認證成功率和認證安全性。結合本文中所公開的實施例描述的方法中的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應所述以權利要求的保護范圍為準。
權利要求
1.一種動態(tài)ロ令的認證方法,其特征在于,包括以下步驟 ①、獲取動態(tài)令牌的令牌標識和所述動態(tài)令牌生成的動態(tài)ロ令; ②、判斷所述動態(tài)令牌是否認證成功過,如果沒有認證成功過,則執(zhí)行步驟③;如果認證成功過,則執(zhí)行步驟④; ③、將認證窗ロ的大小設置為第一預設時長,根據(jù)所述認證窗ロ對獲取的動態(tài)ロ令進行認證; ④、獲取數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間,判斷所述認證成功時間與當前系統(tǒng)時間之間的間隔是否大于第二預設時長,如果大于,則執(zhí)行步驟⑤;否則,執(zhí)行步驟⑥; ⑤、將認證窗ロ的大小設置為第三預設時長,根據(jù)所述認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證,所述第三預設時長小于所述第一預設時長; ⑥、將認證窗ロ的大小設置為第四預設時長,根據(jù)所述認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證,所述第四預設時長小于所述第三預設時長。
2.如權利要求I所述的方法,其特征在干, 所述判斷所述動態(tài)令牌是否認證成功過,具體為 查詢所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間,如果所述數(shù)據(jù)庫中不存在與所述令牌標識對應的認證成功時間,或者,所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間為缺省值,則判斷所述動態(tài)令牌沒有認證成功過;如果所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間不為缺省值,則判斷所述動態(tài)令牌認證成功過; 或者, 獲取與所述令牌標識對應的認證標識,如果所述認證標識的取值為第一預設值,則判斷所述動態(tài)令牌沒有認證成功過;如果所述認證標識的取值為第二預設值,則判斷所述動態(tài)令牌認證成功過。
3.如權利要求I所述的方法,其特征在于,所述根據(jù)認證窗ロ對獲取的動態(tài)ロ令進行認證,具體包括 根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間設置為當前系統(tǒng)時間;當所述數(shù)據(jù)庫中不存在與所述令牌標識對應的令牌偏移時間,或者,所述令牌偏移時間為缺省值時,所述基準時間等于所述當前系統(tǒng)時間;當所述令牌偏移時間不為缺省值時,所述基準時間為所述當前系統(tǒng)時間與所述令牌標識對應的令牌偏移時間之和; 如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間和校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值; 如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。
4.如權利要求I所述的方法,其特征在于,所述根據(jù)認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證,具體包括 4A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟4B;否則,執(zhí)行步驟4D; 4B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟4C ;否則,執(zhí)行步驟4D ; 4C、返回重發(fā)攻擊錯誤信息; 4D、根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則判斷計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間,是否大于所述認證成功時間,如果不大干,則返回異常信息;如果大干,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大于,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間; 如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。
5.如權利要求I所述的方法,其特征在干,當所述認證成功時間不在所述認證窗ロ的范圍內吋, 所述根據(jù)認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證,具體包括 5A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟5B;否則,執(zhí)行步驟; 5B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟5C ;否則,執(zhí)行步驟; 5C、返回重發(fā)攻擊錯誤信息; 5D、根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大干,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間; 如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。
6.如權利要求I所述的方法,其特征在于,所述根據(jù)認證窗口和所述認證成功時間,對獲取的動態(tài)ロ令進行認證,具體包括 6A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟6B;否則,執(zhí)行步驟6D; 6B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟6C ;否則,執(zhí)行步驟6D ; 6C、返回重發(fā)攻擊錯誤信息; 6D、根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對,所述認證窗ロ內的時間點大于所述認證成功時間; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大干,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間; 如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。
7.如權利要求4至6中任一項所述的方法,其特征在干, 所述查詢校準時間失敗,具體為 所述數(shù)據(jù)庫中不存在與所述令牌標識對應的校準時間,或者,所述數(shù)據(jù)庫中與所述令牌標識對應的校準時間為缺省值; 所述查詢校準時間成功,具體為 所述數(shù)據(jù)庫中與所述令牌標識對應的校準時間不為缺省值。
8.一種動態(tài)ロ令的認證裝置,其特征在于,包括 獲取模塊,用于獲取動態(tài)令牌的令牌標識和所述動態(tài)令牌生成的動態(tài)ロ令; 第一判斷模塊,用于判斷所述動態(tài)令牌是否認證成功過; 第二判斷模塊,用于在所述第一判斷模塊判斷所述動態(tài)令牌認證成功過時,判斷數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間與當前系統(tǒng)時間之間的間隔是否大于第二預設時長; 設置模塊,用于在所述第一判斷模塊判斷所述動態(tài)令牌沒有認證成功過時,將認證窗ロ的大小設置為第一預設時長;在所述第二判斷模塊判斷所述認證成功時間與當前系統(tǒng)時間之間的間隔大于所述第二預設時長時,將認證窗ロ的大小設置為第三預設時長;在所述第二判斷模塊判斷所述認證成功時間與當前系統(tǒng)時間之間的間隔不大于所述第二預設時長時,將認證窗ロ的大小設置為第四預設時長,所述第四預設時長小于所述第三預設時長; 第一認證模塊,用于在所述第一判斷模塊判斷所述動態(tài)令牌沒有認證成功過時,根據(jù)所述認證窗ロ對獲取的動態(tài)ロ令進行認證; 第二認證模塊,用于在所述第一判斷模塊判斷所述動態(tài)令牌認證成功過時,根據(jù)所述認證窗ロ和所述認證成功時間,對獲取的動態(tài)ロ令進行認證。
9.如權利要求8所述的裝置,其特征在干, 所述第一判斷模塊,具體用于 查詢所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間,如果所述數(shù)據(jù)庫中不存在與所述令牌標識對應的認證成功時間,或者,所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間為缺省值,則判斷所述動態(tài)令牌沒有認證成功過;如果所述數(shù)據(jù)庫中與所述令牌標識對應的認證成功時間不為缺省值,則判斷所述動態(tài)令牌認證成功過; 或者, 獲取與所述令牌標識對應的認證標識,如果所述認證標識的取值為第一預設值,則判斷所述動態(tài)令牌沒有認證成功過;如果所述認證標識的取值為第二預設值,則判斷所述動態(tài)令牌認證成功過。
10.如權利要求8所述的裝置,其特征在干, 所述第一認證模塊,具體用于 根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間設置為當前系統(tǒng)時間;當所述數(shù)據(jù)庫中不存在與所述令牌標識對應的令牌偏移時間,或者,所述令牌偏移時間為缺省值時,所述基準時間等于所述當前系統(tǒng)時間;當所述令牌偏移時間不為缺省值時,所述基準時間為所述當前系統(tǒng)時間與所述令牌標識對應的令牌偏移時間之和; 如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間和校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值; 如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。
11.如權利要求8所述的裝置,其特征在干, 所述第二認證模塊,具體用于執(zhí)行以下操作 4A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟4B;否則,執(zhí)行步驟4D; 4B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟4C;否則,執(zhí)行步驟4D ; 4C、返回重發(fā)攻擊錯誤信息; 4D、根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間; 如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則判斷計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間,是否大于所述認證成功時間,如果不大于,則返回異常信息;如果大于,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大于,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間; 如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。
12.如權利要求8所述的裝置,其特征在干,當所述認證成功時間不在所述認證窗ロ的范圍內吋, 所述第二認證模塊,具體用于執(zhí)行以下操作 5A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟5B;否則,執(zhí)行步驟; 5B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟5C;否則,執(zhí)行步驟ro; 5C、返回重發(fā)攻擊錯誤信息; 5D、根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大干,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間; 如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。
13.如權利要求8所述的裝置,其特征在于,所述第二認證模塊,具體用于執(zhí)行以下操作 6A、根據(jù)所述認證成功時間計算得到上次認證成功時的動態(tài)ロ令,并將計算得到的動態(tài)ロ令與獲取的動態(tài)ロ令進行比對,判斷兩者是否相同,如果相同,則執(zhí)行步驟6B;否則,執(zhí)行步驟6D; 6B、判斷所述認證成功時間是否在所述認證窗口內,如果在,則執(zhí)行步驟6C ;否則,執(zhí)行步驟6D ; 6C、返回重發(fā)攻擊錯誤信息; 6D、根據(jù)所述認證窗口內的時間點計算動態(tài)ロ令,將計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令進行比對,所述認證窗ロ內的時間點大于所述認證成功時間; 如果根據(jù)所述認證窗口內的基準時間計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間;如果根據(jù)所述認證窗口內除基準時間之外的其他時間點計算得到的動態(tài)ロ令與所述獲取的動態(tài)ロ令相同,則查詢與所述令牌標識對應的校準時間,如果查詢校準時間失敗,則返回認證成功信息,將所述認證成功時間和所述校準時間均設置為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間設置為所述差值;如果查詢校準時間成功,則判斷所述當前系統(tǒng)時間與所述校準時間之間的間隔是否大于校準周期,如果大干,則返回認證成功信息,將所述認證成功時間和所述校準時間均更新為當前系統(tǒng)時間,獲取計算得到的動態(tài)ロ令中與所述獲取的動態(tài)ロ令相同的動態(tài)ロ令對應的時間與所述當前系統(tǒng)時間之間的差值,將所述令牌標識對應的令牌偏移時間更新為所述差值;否則,返回認證成功信息,將所述令牌標識對應的認證成功時間更新為當前系統(tǒng)時間; 如果計算得到的動態(tài)ロ令均不同于所述獲取的動態(tài)ロ令,則返回認證失敗信息或令牌需要校準的信息。
14.如權利要求11至13任一項所述的裝置,其特征在干, 所述查詢校準時間失敗,具體為 所述數(shù)據(jù)庫中不存在與所述令牌標識對應的校準時間,或者,所述數(shù)據(jù)庫中與所述令牌標識對應的校準時間為缺省值; 所述查詢校準成功,具體為 所述數(shù)據(jù)庫中與所述令牌標識對應的校準時間不為缺省值。
全文摘要
本發(fā)明實施例公開了一種動態(tài)口令的認證方法和裝置,該方法包括以下步驟判斷動態(tài)令牌是否認證成功過,如果沒有認證成功過,則將認證窗口的大小設置為第一預設時長,根據(jù)認證窗口對獲取的動態(tài)口令進行認證;如果認證成功過,判斷認證成功時間與當前系統(tǒng)時間之間的間隔是否大于第二預設時長,如果大于,則將認證窗口的大小設置為第三預設時長,根據(jù)認證窗口和認證成功時間,對獲取的動態(tài)口令進行認證,第三預設時長小于第一預設時長;否則,將認證窗口的大小設置為第四預設時長,根據(jù)認證窗口和認證成功時間,對獲取的動態(tài)口令進行認證,第四預設時長小于第三預設時長。本發(fā)明實施例能夠兼顧認證成功率和認證安全性。
文檔編號H04L9/32GK102684881SQ20121013549
公開日2012年9月19日 申請日期2012年5月3日 優(yōu)先權日2012年5月3日
發(fā)明者于華章, 陸舟 申請人:飛天誠信科技股份有限公司