本發(fā)明涉及計算機,尤其涉及一種動態(tài)口令的認證方法和裝置。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)業(yè)務(wù)逐漸普及,隨著而來的網(wǎng)絡(luò)交易和在線服務(wù)日益增多,用戶身份認證的安全問題變得尤為突出。傳統(tǒng)的用戶身份認證通常采用靜態(tài)密碼的方式,但是靜態(tài)密碼往往伴隨著,易被猜測、竊取和重放攻擊等安全隱患,難以滿足高安全級別的需求。
2、為了提高認證的安全性,動態(tài)口令的技術(shù)成為了發(fā)展的趨勢。目前常用的動態(tài)口令驗證方式是基于國際算法的動態(tài)口令,但是該方法通過哈希算法生成口令,安全強度一般。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明實施例提供一種動態(tài)口令的認證方法和裝置,能夠提高動態(tài)口令的安全性,同時提高認證過程的安全性。
2、為實現(xiàn)上述目的,根據(jù)本發(fā)明實施例的一個方面,提供了一種動態(tài)口令的認證方法,包括:
3、獲取用戶編號和用戶終端生成的終端動態(tài)口令;
4、根據(jù)用戶編號獲取用戶對應(yīng)的加密密鑰、口令參數(shù)、第一加密算法和用戶終端的時間偏移量;
5、基于加密密鑰、口令參數(shù)、用戶終端的時間偏移量和預(yù)設(shè)驗證區(qū)間,使用第一加密算法生成驗證動態(tài)口令;
6、基于驗證動態(tài)口令,對終端動態(tài)口令進行驗證。
7、可選地,用戶終端的時間偏移量是通過以下方式得到的:
8、根據(jù)用戶輸入的隨機字符串、預(yù)設(shè)字符串和第二加密算法,生成用戶對應(yīng)的臨時加密密鑰;
9、基于臨時加密密鑰和第三加密算法,對用戶編號、加密密鑰和第一加密算法進行加密,得到密文;
10、基于密文生成可識別信息,以使用戶終端識別可識別信息得到密文,基于臨時加密密鑰和第三加密算法解密密文,得到第一加密算法和加密密鑰,并基于加密密鑰、第一加密算法和用戶對應(yīng)的時間因子生成第一終端動態(tài)口令;
11、響應(yīng)于接收到用戶終端發(fā)來的第一終端動態(tài)口令,生成第一驗證動態(tài)口令,并基于第一驗證動態(tài)口令和第一終端動態(tài)口令確定用戶終端的時間偏移量。
12、可選地,生成第一驗證動態(tài)口令,并基于第一驗證動態(tài)口令和第一終端動態(tài)口令確定用戶終端的時間偏移量,包括:
13、基于第一預(yù)設(shè)時間窗口生成多個第一驗證時間因子;
14、基于加密密鑰和多個第一驗證時間因子,按照第一加密算法生成多個第一驗證動態(tài)口令;
15、將多個第一驗證動態(tài)口令分別與第一終端動態(tài)口令進行比較,得到與第一終端動態(tài)口令一致的第一驗證動態(tài)口令作為目標第一驗證動態(tài)口令;
16、將目標第一驗證動態(tài)口令對應(yīng)的第一驗證時間因子與當前系統(tǒng)時間的偏移量,確定為用戶終端的時間偏移量。
17、可選地,口令參數(shù)包括時間因子,預(yù)設(shè)驗證區(qū)間包括預(yù)設(shè)時間窗口,終端動態(tài)口令是基于時間因子、加密密鑰和第一加密算法生成的,基于加密密鑰、口令參數(shù)、用戶終端的時間偏移量和預(yù)設(shè)驗證區(qū)間,使用第一加密算法生成驗證動態(tài)口令,包括:
18、基于用戶終端的時間偏移量和預(yù)設(shè)時間窗口生成驗證時間因子;
19、基于加密密鑰和驗證時間因子,使用第一加密算法生成驗證動態(tài)口令。
20、可選地,驗證時間因子和驗證動態(tài)口令有多個;
21、基于驗證動態(tài)口令,對終端動態(tài)口令進行驗證,包括:
22、將多個驗證動態(tài)口令分別與終端動態(tài)口令進行比較以對終端動態(tài)口令進行驗證;
23、其中,若終端動態(tài)口令與任一驗證動態(tài)口令一致,則驗證通過;否則,驗證不通過。
24、可選地,方法還包括:
25、響應(yīng)于驗證結(jié)果為驗證通過,將與終端動態(tài)口令一致的驗證動態(tài)口令作為目標驗證動態(tài)口令;
26、根據(jù)目標驗證動態(tài)口令對應(yīng)的驗證時間因子與當前系統(tǒng)時間的偏移量,對用戶終端的時間偏移量進行更新。
27、可選地,口令參數(shù)包括事件因子和時間因子,預(yù)設(shè)驗證區(qū)間包括預(yù)設(shè)時間窗口和預(yù)設(shè)事件窗口,終端動態(tài)口令是基于時間因子、事件因子、加密密鑰和第一加密算法生成的,基于加密密鑰、口令參數(shù)、用戶終端的時間偏移量和預(yù)設(shè)驗證區(qū)間,使用第一加密算法生成驗證動態(tài)口令,包括:
28、基于用戶終端的時間偏移量和預(yù)設(shè)時間窗口生成驗證時間因子;
29、基于預(yù)設(shè)事件窗口生成驗證事件因子;
30、基于加密密鑰、驗證時間因子和驗證事件因子,使用第一加密算法生成驗證動態(tài)口令。
31、可選地,驗證時間因子、驗證事件因子和驗證動態(tài)口令有多個;
32、基于驗證動態(tài)口令,對終端動態(tài)口令進行驗證,包括:
33、將多個驗證動態(tài)口令分別與終端動態(tài)口令進行比較以對終端動態(tài)口令進行驗證;
34、其中,若終端動態(tài)口令與任一驗證動態(tài)口令一致,則驗證通過;否則,驗證不通過。
35、可選地,方法還包括:
36、響應(yīng)于驗證結(jié)果為驗證通過,將與終端動態(tài)口令一致的驗證動態(tài)口令作為目標驗證動態(tài)口令;
37、根據(jù)目標驗證動態(tài)口令對應(yīng)的驗證時間因子與當前系統(tǒng)時間的偏移量,對用戶終端的時間偏移量進行更新;
38、根據(jù)目標驗證動態(tài)口令對應(yīng)的驗證事件因子,對用戶終端的事件偏移量進行更新。
39、可選地,口令參數(shù)包括時間因子和挑戰(zhàn)因子,預(yù)設(shè)驗證區(qū)間包括預(yù)設(shè)時間窗口,終端動態(tài)口令是基于時間因子、挑戰(zhàn)因子、加密密鑰和第一加密算法生成的,基于加密密鑰、口令參數(shù)、用戶終端的時間偏移量和預(yù)設(shè)驗證區(qū)間,使用第一加密算法生成驗證動態(tài)口令,包括:
40、基于用戶終端的時間偏移量和預(yù)設(shè)時間窗口生成驗證時間因子;
41、基于加密密鑰、驗證時間因子和挑戰(zhàn)因子,使用第一加密算法生成驗證動態(tài)口令。
42、可選地,驗證時間因子和驗證動態(tài)口令有多個;
43、基于驗證動態(tài)口令,對終端動態(tài)口令進行驗證,包括:
44、將多個驗證動態(tài)口令分別與終端動態(tài)口令進行比較以對終端動態(tài)口令進行驗證;
45、其中,若終端動態(tài)口令與任一驗證動態(tài)口令一致,則驗證通過;否則,驗證不通過。
46、可選地,方法還包括:
47、響應(yīng)于驗證結(jié)果為驗證通過,將與終端動態(tài)口令一致的驗證動態(tài)口令作為目標驗證動態(tài)口令;
48、根據(jù)目標驗證動態(tài)口令對應(yīng)的驗證時間因子與當前系統(tǒng)時間的偏移量,對用戶終端的時間偏移量進行更新。
49、根據(jù)本發(fā)明實施例的另一方面,提供了一種動態(tài)口令的認證裝置,包括:
50、獲取模塊,用于獲取用戶編號和用戶終端生成的終端動態(tài)口令;根據(jù)用戶編號獲取用戶對應(yīng)的加密密鑰、口令參數(shù)、第一加密算法和用戶終端的時間偏移量;
51、生成模塊,用于基于加密密鑰、口令參數(shù)、用戶終端的時間偏移量和預(yù)設(shè)驗證區(qū)間,使用第一加密算法生成驗證動態(tài)口令;
52、驗證模塊,用于基于驗證動態(tài)口令,對終端動態(tài)口令進行驗證。
53、根據(jù)本發(fā)明實施例的又一方面,提供了一種電子設(shè)備,包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當一個或多個程序被一個或多個處理器執(zhí)行,使得一個或多個處理器實現(xiàn)本發(fā)明實施例所提供的動態(tài)口令的認證方法。
54、根據(jù)本發(fā)明實施例的又一方面,提供了一種計算機可讀介質(zhì),其上存儲有計算機程序,程序被處理器執(zhí)行時實現(xiàn)本發(fā)明實施例所提供的動態(tài)口令的認證方法。
55、根據(jù)本發(fā)明實施例的再一方面,提供了一種計算機程序產(chǎn)品,包括計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)本發(fā)明實施例所提供的動態(tài)口令的認證方法。
56、上述發(fā)明中的一個實施例具有如下優(yōu)點或有益效果:能夠基于獲取的用戶編號獲取對應(yīng)的加密密鑰、口令參數(shù)、第一加密算法、時間偏移量和預(yù)設(shè)驗證區(qū)間生成驗證動態(tài)口令,并基于該動態(tài)口令對獲取的用戶終端動態(tài)口令進行驗證,能夠保證動態(tài)口令驗證的準確性及安全性,同時基于時間偏移量和預(yù)設(shè)驗證區(qū)間生成驗證動態(tài)口令能夠降低由于系統(tǒng)之間的時間同步精度不足引起的誤差,提高動態(tài)口令的可用性,降低業(yè)務(wù)需要進行時間同步業(yè)務(wù)的頻率,進而簡化系統(tǒng)流程。
57、上述的非慣用的可選方式所具有的進一步效果將在下文中結(jié)合具體實施方式加以說明。