欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于動(dòng)態(tài)口令的認(rèn)證方法和裝置的制作方法

文檔序號(hào):7721565閱讀:123來(lái)源:國(guó)知局
專利名稱:基于動(dòng)態(tài)口令的認(rèn)證方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體而言,涉及一種基于動(dòng)態(tài)口令的認(rèn)證方法和
裝置。
背景技術(shù)
隨著網(wǎng)絡(luò)技術(shù)在人們?nèi)粘I钪械膽?yīng)用越來(lái)越廣泛,人們已經(jīng)越來(lái)越依賴于網(wǎng)絡(luò) 進(jìn)行更多的日?;顒?dòng),例如利用網(wǎng)絡(luò)進(jìn)行購(gòu)物、辦公、娛樂(lè)等。也正是由于網(wǎng)絡(luò)應(yīng)用的加強(qiáng), 各種提供便捷服務(wù)的網(wǎng)站也應(yīng)運(yùn)而生,使得網(wǎng)站的數(shù)量不斷增加,同時(shí)對(duì)網(wǎng)絡(luò)的安全性要 求也越來(lái)越高,尤其是網(wǎng)絡(luò)銀行、政府辦公相關(guān)的網(wǎng)站,要求合法用戶登陸絕對(duì)安全。由于 黑客技術(shù)的發(fā)展,傳統(tǒng)的用戶名加靜態(tài)密碼的驗(yàn)證方式已經(jīng)不能滿足現(xiàn)有的安全性要求。
近年來(lái),認(rèn)證領(lǐng)域提出了動(dòng)態(tài)口令的認(rèn)證方式,在對(duì)靜態(tài)密碼進(jìn)行驗(yàn)證的基礎(chǔ)上 增加了動(dòng)態(tài)密碼的驗(yàn)證,使得用戶口令多了一層保護(hù),大大增加了安全性。在現(xiàn)有技術(shù)中, 動(dòng)態(tài)口令的認(rèn)證通常為如下方式 服務(wù)方向用戶發(fā)放動(dòng)態(tài)口令令牌,這種令牌是一種自帶有處理器的電子設(shè)備,其
大小如同U盤,在裝有電池或接電的情況下可以獨(dú)立運(yùn)行。通常在動(dòng)態(tài)口令令牌內(nèi)部安全
的存儲(chǔ)有與其對(duì)應(yīng)的種子,也稱為靜態(tài)因子,該種子為一個(gè)長(zhǎng)字符串或數(shù)據(jù); 動(dòng)態(tài)口令令牌可以根據(jù)內(nèi)置的動(dòng)態(tài)口令算法利用種子和動(dòng)態(tài)因子生成動(dòng)態(tài)口
令; 用戶使用動(dòng)態(tài)口令令牌生成的動(dòng)態(tài)口令登陸服務(wù)方,因?yàn)閯?dòng)態(tài)因子通常與時(shí)間或 事件因素相關(guān)聯(lián),因此每次生成的動(dòng)態(tài)口令會(huì)不同,用戶使用該動(dòng)態(tài)口令登陸服務(wù)方可以 達(dá)到一次一密的效果,安全性比較高。 釣魚(yú)網(wǎng)站是一種假冒網(wǎng)站,其完全模仿真網(wǎng)站的界面,只是在URL上與真網(wǎng)站有
細(xì)微差別,普通用戶在不仔細(xì)查看的情況下很容易混淆釣魚(yú)網(wǎng)站與真網(wǎng)站,釣魚(yú)網(wǎng)站冒充
真網(wǎng)站,如果用戶打開(kāi)了釣魚(yú)網(wǎng)站并進(jìn)行登陸,釣魚(yú)網(wǎng)站會(huì)記錄用戶所輸入的登陸信息,并
使用這些信息冒充用戶在真網(wǎng)站上進(jìn)行登陸,造成用戶信息和財(cái)產(chǎn)的損失。 現(xiàn)有技術(shù)中的動(dòng)態(tài)口令雖然安全性較高,不易破解,但是卻無(wú)法防止惡意網(wǎng)站
(例如釣魚(yú)網(wǎng)站)的攻擊。 針對(duì)相關(guān)技術(shù)中動(dòng)態(tài)口令認(rèn)證方法安全性較低的問(wèn)題,目前尚未提出有效的解決 方案。

發(fā)明內(nèi)容
本發(fā)明旨在提供一種基于動(dòng)態(tài)口令的認(rèn)證方法和裝置,能夠解決現(xiàn)有認(rèn)證方法安
全性較低,不能防止惡意網(wǎng)站攻擊等問(wèn)題。 根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明實(shí)施例提供了一種基于動(dòng)態(tài)口令的認(rèn)證方法,所 述方法包括 服務(wù)端接收用戶發(fā)送的用戶名和第一動(dòng)態(tài)口令;
所述服務(wù)端根據(jù)所述用戶名查找對(duì)應(yīng)的種子和動(dòng)態(tài)因子,根據(jù)所述種子和動(dòng)態(tài)因 子生成第一驗(yàn)證動(dòng)態(tài)口令; 所述服務(wù)端使用所述第一驗(yàn)證動(dòng)態(tài)口令驗(yàn)證所述第一動(dòng)態(tài)口令,驗(yàn)證通過(guò)后,生 成第二驗(yàn)證動(dòng)態(tài)口令; 所述服務(wù)端按照預(yù)設(shè)規(guī)則將所述第二驗(yàn)證動(dòng)態(tài)口令拆分為第一口令和第二口令, 將所述第一口令返回給所述用戶; 所述服務(wù)端若在預(yù)定的時(shí)間內(nèi)接收到所述用戶返回的第二驗(yàn)證口令,則使用所述 第二 口令對(duì)所述第二驗(yàn)證口令進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),確認(rèn)所述用戶合法。
根據(jù)本發(fā)明的另一方面,本發(fā)明實(shí)施例還提供了一種基于動(dòng)態(tài)口令的認(rèn)證裝置, 所述裝置包括 第一生成模塊,用于接收用戶發(fā)送的用戶名和第一動(dòng)態(tài)口令,并根據(jù)所述用戶名
查找對(duì)應(yīng)的種子和動(dòng)態(tài)因子,根據(jù)所述種子和動(dòng)態(tài)因子生成第一驗(yàn)證動(dòng)態(tài)口令; 第一驗(yàn)證模塊,用于使用所述第一生成模塊生成的第一驗(yàn)證動(dòng)態(tài)口令驗(yàn)證所述第
一動(dòng)態(tài)口令; 第二生成模塊,用于所述第一驗(yàn)證模塊驗(yàn)證所述第一動(dòng)態(tài)口令通過(guò)后,生成第二 驗(yàn)證動(dòng)態(tài)口令; 拆分與發(fā)送模塊,用于按照預(yù)設(shè)規(guī)則將所述第二生成模塊生成的第二驗(yàn)證動(dòng)態(tài)口 令拆分為第一口令和第二口令,將所述第一口令返回給所述用戶; 第二驗(yàn)證模塊,用于在預(yù)定的時(shí)間內(nèi)接收到所述用戶返回的第二驗(yàn)證口令后,使 用所述拆分與發(fā)送模塊拆分的第二 口令對(duì)所述第二驗(yàn)證口令進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),確認(rèn)所 述用戶合法。 本發(fā)明實(shí)施例采用將生成的動(dòng)態(tài)口令拆分為兩個(gè)口令,將其中一個(gè)口令發(fā)送給用 戶,用以用戶驗(yàn)證其是否合法,使用另一個(gè)口令再次驗(yàn)證用戶是否合法,有效地防止了釣魚(yú) 網(wǎng)站等惡意網(wǎng)站利用截獲的用戶密碼進(jìn)行登陸,進(jìn)而增強(qiáng)了系統(tǒng)的安全性,保證了用戶的 信息安全。


附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)
施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中 圖1示出了實(shí)施例1提供的基于動(dòng)態(tài)口令的認(rèn)證方法流程圖; 圖2示出了實(shí)施例2提供的基于動(dòng)態(tài)口令的認(rèn)證方法流程圖; 圖3示出了實(shí)施例3提供的基于動(dòng)態(tài)口令的認(rèn)證方法流程圖; 圖4示出了實(shí)施例4提供的基于動(dòng)態(tài)口令的認(rèn)證裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式
下面將參考附圖并結(jié)合實(shí)施例,來(lái)詳細(xì)說(shuō)明本發(fā)明。
實(shí)施例1 本實(shí)施例提供了一種基于動(dòng)態(tài)口令的認(rèn)證方法,參見(jiàn)圖l,該方法包括
步驟101,服務(wù)端接收用戶發(fā)送的用戶名和第一動(dòng)態(tài)口令;
5
其中,第一動(dòng)態(tài)口令是用戶使用動(dòng)態(tài)口令令牌生成的,動(dòng)態(tài)口令令牌與用戶的用 戶名是關(guān)聯(lián)的,該動(dòng)態(tài)口令令牌具有唯一的編號(hào),該編號(hào)、生成動(dòng)態(tài)口令使用的種子與算法 預(yù)先都存儲(chǔ)在服務(wù)端上,并與其用戶的用戶名相關(guān)聯(lián); 其中,用戶名可以是用戶的身份證號(hào),也可以是用戶的郵箱,或者是用戶的銀行賬 號(hào),只要能標(biāo)識(shí)用戶身份的信息均可以作為該用戶的用戶名; 步驟102,該服務(wù)端根據(jù)上述用戶名查找對(duì)應(yīng)的種子和動(dòng)態(tài)因子,根據(jù)該種子和動(dòng) 態(tài)因子生成第一驗(yàn)證動(dòng)態(tài)口令; 步驟103,該服務(wù)端使用上述第一驗(yàn)證動(dòng)態(tài)口令驗(yàn)證第一動(dòng)態(tài)口令,驗(yàn)證通過(guò)后, 生成第二驗(yàn)證動(dòng)態(tài)口令; 步驟104,該服務(wù)端按照預(yù)設(shè)規(guī)則將上述第二驗(yàn)證動(dòng)態(tài)口令拆分為第一口令和第 二口令,將第一口令返回給上述用戶; 具體的,上述服務(wù)端將第一口令發(fā)送給客戶端,客戶端通過(guò)顯示輸出或音頻播放 的方式將第一口令輸出給用戶,上述用戶收到第一口令后,通過(guò)動(dòng)態(tài)口令令牌生成第二動(dòng) 態(tài)口令,并按照上述預(yù)設(shè)規(guī)則將第二動(dòng)態(tài)口令拆分為第一驗(yàn)證口令和第二驗(yàn)證口令;
上述用戶使用第一驗(yàn)證口令驗(yàn)證上述第一口令通過(guò)后,確認(rèn)此服務(wù)端合法,客戶 端接收用戶輸入的第二驗(yàn)證口令,并轉(zhuǎn)發(fā)給服務(wù)端。 步驟105,該服務(wù)端若在預(yù)定的時(shí)間內(nèi)接收到上述用戶返回的第二驗(yàn)證口令,則使
用上述第二 口令對(duì)該第二驗(yàn)證口令進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),確認(rèn)上述用戶合法。 當(dāng)此服務(wù)端為釣魚(yú)網(wǎng)站時(shí),用戶使用第一驗(yàn)證口令對(duì)該服務(wù)端返回的第一口令驗(yàn)
證時(shí),將會(huì)驗(yàn)證失敗,此時(shí),用戶將不會(huì)把第二驗(yàn)證口令返回給該服務(wù)端,這樣,該服務(wù)端將
不能得到上述第二驗(yàn)證口令;即使該服務(wù)端使用步驟101截獲的用戶名和第一動(dòng)態(tài)口令假
冒該用戶去訪問(wèn)真正的網(wǎng)站,也不能向該網(wǎng)站提供上述第二驗(yàn)證口令,進(jìn)而會(huì)被真正的網(wǎng)
站拒絕登陸,保證了合法用戶的利益;同時(shí),服務(wù)端利用將第二驗(yàn)證動(dòng)態(tài)口令拆分為第一 口
令和第二口令的方法,可以減少服務(wù)端和用戶端生成動(dòng)態(tài)口令的次數(shù),在保證安全性的前
提下簡(jiǎn)化了認(rèn)證過(guò)程。 本實(shí)施例的服務(wù)端通過(guò)將生成的動(dòng)態(tài)口令拆分為兩個(gè)口令,將其中一個(gè)口令發(fā)送
給用戶,用以用戶驗(yàn)證其是否合法,使用另一個(gè)口令再次驗(yàn)證用戶是否合法,有效地防止了
釣魚(yú)網(wǎng)站等惡意網(wǎng)站利用截獲的用戶密碼進(jìn)行登陸,進(jìn)而增強(qiáng)了系統(tǒng)的安全性,保證了用
戶的信息安全。 實(shí)施例2 本實(shí)施例提供了一種基于動(dòng)態(tài)口令的認(rèn)證方法,本實(shí)施例以用戶通過(guò)動(dòng)態(tài)口令的 認(rèn)證方式登陸網(wǎng)上銀行為例進(jìn)行說(shuō)明,具體描述在用戶登陸的過(guò)程中動(dòng)態(tài)口令服務(wù)端的認(rèn) 證流程,其中,在本實(shí)施例中,以生成動(dòng)態(tài)口令時(shí)采用計(jì)次的方法為例進(jìn)行說(shuō)明,參見(jiàn)圖2, 該方法包括 步驟201,服務(wù)端接收用戶輸入的用戶名、第一動(dòng)態(tài)口令; 在本實(shí)施例中,在登陸認(rèn)證流程開(kāi)始前,用戶所持動(dòng)態(tài)口令令牌已經(jīng)與該用戶的 用戶名進(jìn)行了綁定,上述動(dòng)態(tài)口令令牌具有唯一的編號(hào),并且在服務(wù)端內(nèi)部存儲(chǔ)有唯一的 與編號(hào)對(duì)應(yīng)的種子,動(dòng)態(tài)口令令牌可以根據(jù)內(nèi)置的動(dòng)態(tài)口令算法生成動(dòng)態(tài)口令,該動(dòng)態(tài)口 令算法與服務(wù)端生成動(dòng)態(tài)口令的算法相同;
6
在本實(shí)施例中,所使用的動(dòng)態(tài)口令令牌帶有按鍵,當(dāng)用戶第一次按下該按鍵生成 的動(dòng)態(tài)口令為第一動(dòng)態(tài)口令; 用戶通過(guò)客戶端輸入用戶名、第一動(dòng)態(tài)口令,并由客戶端發(fā)送給服務(wù)端; 在生成動(dòng)態(tài)口令時(shí)對(duì)動(dòng)態(tài)因子的選擇可以采用基于時(shí)間或事件的方式,在本實(shí)施
例中,以采用基于事件的方式生成動(dòng)態(tài)口令進(jìn)行說(shuō)明,優(yōu)選地,在本實(shí)施例中采用計(jì)次的方
法,該計(jì)次指的是生成動(dòng)態(tài)口令的次數(shù)。 步驟202,服務(wù)端根據(jù)接收的用戶名查找動(dòng)態(tài)口令令牌的編號(hào)和種子,以及動(dòng)態(tài)因 子,根據(jù)查找到的種子和動(dòng)態(tài)因子生成第一驗(yàn)證動(dòng)態(tài)口令0TP1 ; 其中,服務(wù)端生成0TP1與動(dòng)態(tài)口令令牌生成第一動(dòng)態(tài)口令算法相同,采用計(jì)次的 方式,并使用相同的算法生成動(dòng)態(tài)口令,其中,使用的算法可以是HMAC-SHA1、MD5、 SHA-1 或SHA-2等。 步驟203,服務(wù)端驗(yàn)證第一動(dòng)態(tài)口令是否正確,如果正確,執(zhí)行步驟204,如果不正 確,執(zhí)行步驟209 ; 其中,在步驟202中,服務(wù)端生成0TP1時(shí),可以生成一個(gè)或一組動(dòng)態(tài)口令作為 0TP1,即0TP1也可以為一組動(dòng)態(tài)口令,這組動(dòng)態(tài)口令是使用連續(xù)遞增的動(dòng)態(tài)因子計(jì)算的;
根據(jù)0TP1中動(dòng)態(tài)口令的個(gè)數(shù)不同,服務(wù)端驗(yàn)證第一動(dòng)態(tài)口令是否正確的方法也 不同,具體如下 當(dāng)0TP1為一個(gè)動(dòng)態(tài)口令時(shí),服務(wù)端將第一動(dòng)態(tài)口令與0TP1進(jìn)行比對(duì),如果相同, 則認(rèn)為第一動(dòng)態(tài)口令正確,如果不相同,則認(rèn)為第一動(dòng)態(tài)口令不正確; 當(dāng)0TP1為一組動(dòng)態(tài)口令時(shí),服務(wù)端將這一組動(dòng)態(tài)口令中的每個(gè)動(dòng)態(tài)口令分別與 第一動(dòng)態(tài)口令進(jìn)行比對(duì),當(dāng)OTP 1中有一個(gè)動(dòng)態(tài)口令與第一動(dòng)態(tài)口令比對(duì)相同時(shí),則認(rèn)為 比對(duì)成功,第一動(dòng)態(tài)口令正確,如果0TP1中任一個(gè)動(dòng)態(tài)口令都與第一動(dòng)態(tài)口令不相同,則 認(rèn)為驗(yàn)證失敗,第一動(dòng)態(tài)口令不正確; 在服務(wù)端驗(yàn)證第一動(dòng)態(tài)口令是否正確前,還可以包括 服務(wù)端判斷第一動(dòng)態(tài)口令是否使用過(guò),如果沒(méi)有使用過(guò),驗(yàn)證第一動(dòng)態(tài)口令是否
正確,如果使用過(guò),向用戶返回錯(cuò)誤報(bào)告; 當(dāng)服務(wù)端驗(yàn)證第一動(dòng)態(tài)口令正確后,還可以包括 對(duì)服務(wù)端保存的動(dòng)態(tài)因子進(jìn)行修正(即更新動(dòng)態(tài)因子)。下面以本實(shí)施例采用計(jì) 次的方式生成動(dòng)態(tài)口令為例,說(shuō)明動(dòng)態(tài)因子的修正過(guò)程 使用計(jì)次的方法生成動(dòng)態(tài)口令,即在生成動(dòng)態(tài)口令時(shí)將設(shè)備(動(dòng)態(tài)口令令牌或服 務(wù)端)生成動(dòng)態(tài)口令的次數(shù)作為動(dòng)態(tài)因子,第一次生成動(dòng)態(tài)口令時(shí)動(dòng)態(tài)因子為計(jì)數(shù)值1、第 二次生成動(dòng)態(tài)口令時(shí)動(dòng)態(tài)因子為計(jì)數(shù)值2,以此類推,每生成一次動(dòng)態(tài)口令計(jì)數(shù)值增加1, 也可以為增加一個(gè)預(yù)設(shè)步長(zhǎng)。由于動(dòng)態(tài)口令令牌和服務(wù)端是單獨(dú)計(jì)次的,很容易產(chǎn)生計(jì)次 不一致的現(xiàn)象,因此需要對(duì)服務(wù)端所存儲(chǔ)的計(jì)次值進(jìn)行修正; 設(shè)定在動(dòng)態(tài)口令令牌生成第一動(dòng)態(tài)口令時(shí)使用的動(dòng)態(tài)因子為計(jì)數(shù)值IOO,此時(shí)在 服務(wù)端中保存的動(dòng)態(tài)因子為計(jì)數(shù)值95,在服務(wù)端計(jì)算0TP1時(shí)設(shè)定計(jì)數(shù)值浮動(dòng)范圍為10, 計(jì)算95作為動(dòng)態(tài)因子對(duì)應(yīng)的動(dòng)態(tài)口令,并將計(jì)數(shù)值逐漸增加到95+10,并同時(shí)進(jìn)行0TP1的 計(jì)算,每計(jì)算出一個(gè)0TP1,即與第一動(dòng)態(tài)口令進(jìn)行比對(duì),如不相同則增加計(jì)算值繼續(xù)進(jìn)行 0TP1的計(jì)算。由上可知,服務(wù)端生成0TP1時(shí),分別以計(jì)數(shù)值95、96...... 104、105作為動(dòng)態(tài)因子,生成一組最多11個(gè)動(dòng)態(tài)口令,服務(wù)端將接收到的第一動(dòng)態(tài)口令與上述11個(gè)動(dòng)態(tài)口
令進(jìn)行比對(duì),當(dāng)服務(wù)端以計(jì)數(shù)值ioo作為動(dòng)態(tài)因子生成的動(dòng)態(tài)口令時(shí)比對(duì)成功,則認(rèn)為第
一動(dòng)態(tài)口令正確,并停止0TP1的計(jì)算,這時(shí)還要對(duì)服務(wù)端存儲(chǔ)的計(jì)數(shù)值進(jìn)行修正,將100作 為正確的計(jì)數(shù)值,使得動(dòng)態(tài)口令令牌與服務(wù)端的計(jì)數(shù)值保持同步,同時(shí)服務(wù)端將計(jì)數(shù)值100 增加l(或預(yù)定的步長(zhǎng))保存,作為下次計(jì)算動(dòng)態(tài)口令的動(dòng)態(tài)因子,如果上述一組11個(gè)0TP1 中沒(méi)有與第一動(dòng)態(tài)口令相同的,則認(rèn)為第一動(dòng)態(tài)口令不正確。 步驟204,服務(wù)端生成第二驗(yàn)證動(dòng)態(tài)口令0TP2,并將0TP2拆分為第一口令和第二 口令; 在本實(shí)施例中,由于步驟203中對(duì)動(dòng)態(tài)因子進(jìn)行了修正,因此本步驟中服務(wù)端生
成的第二驗(yàn)證動(dòng)態(tài)口令0TP2為一個(gè)動(dòng)態(tài)口令,即該口令與0TP1不同。 服務(wù)端將0TP2拆分為第一口令和第二口令具體包括 服務(wù)端將0TP2中約定的部分作為第一口令,剩余的部分作為第二口令; 在本實(shí)施例中,優(yōu)選地,0TP2為八位的數(shù)字,將前三位取出作為第一口令,后五位
作為第二口令; 步驟205,服務(wù)端將第一口令返回給客戶端,客戶端輸出第一口令; 當(dāng)客戶端接收到第一口令后,利用動(dòng)態(tài)口令令牌生成第二動(dòng)態(tài)口令,用戶將該第
二動(dòng)態(tài)口令劃分為第一驗(yàn)證口令和第二驗(yàn)證口令,本實(shí)施例的劃分規(guī)則與步驟204中服務(wù)
端的拆分規(guī)則相同,該規(guī)則為服務(wù)端預(yù)先與用戶協(xié)商確定的,因此,本實(shí)施例的用戶將第二
動(dòng)態(tài)口令中的前三位作為第一驗(yàn)證口令,剩余的后五位作為第二驗(yàn)證口令; 用戶將第一口令與第一驗(yàn)證口令進(jìn)行比對(duì),如果相同,則認(rèn)為比對(duì)成功,將第二驗(yàn)
證口令發(fā)送給服務(wù)端,如果不相同,則認(rèn)為比對(duì)失敗,用戶可以認(rèn)為服務(wù)端不合法,停止登
陸操作; 步驟206,服務(wù)端判斷是否在預(yù)定的時(shí)間內(nèi)接收到第二驗(yàn)證口令,如果是,執(zhí)行步 驟207,否則,執(zhí)行步驟209 ; 在本實(shí)施例中,預(yù)定的時(shí)間為服務(wù)端接收第二驗(yàn)證口令的有效時(shí)間,服務(wù)端對(duì)在 有效時(shí)間內(nèi)接收的第二驗(yàn)證口令進(jìn)行驗(yàn)證,對(duì)沒(méi)有在約定的時(shí)間內(nèi)發(fā)送的第二驗(yàn)證口令丟 棄,不進(jìn)行第二驗(yàn)證口令的驗(yàn)證,對(duì)時(shí)間進(jìn)行限制可以在一定程度上的防止黑客的攻擊。
步驟207,服務(wù)端對(duì)第二驗(yàn)證口令進(jìn)行驗(yàn)證,如果正確,執(zhí)行步驟208,如果不正 確,執(zhí)行步驟209 ; 在本實(shí)施例中,服務(wù)端對(duì)第二驗(yàn)證口令驗(yàn)證的方法為服務(wù)端使用第二口令與第 二驗(yàn)證口令進(jìn)行比對(duì),如果相同,則認(rèn)為比對(duì)成功,執(zhí)行步驟208,如果不相同,則比對(duì)失敗, 執(zhí)行步驟209 ; 在本實(shí)施例中,還可以加入對(duì)靜態(tài)密碼的驗(yàn)證過(guò)程,防止動(dòng)態(tài)口令令牌丟失或被
盜導(dǎo)致的非合法用戶登入,使得登陸過(guò)程更加安全,具體為服務(wù)端在預(yù)先約定的時(shí)間內(nèi)接
收到用戶發(fā)送的第二驗(yàn)證口令和靜態(tài)密碼,服務(wù)端對(duì)靜態(tài)密碼和第二驗(yàn)證口令分別進(jìn)行驗(yàn)
證,如果全部正確,則執(zhí)行步驟208,否則,執(zhí)行步驟209。 步驟208,用戶身份合法,允許其登陸,可以開(kāi)始進(jìn)行網(wǎng)上交易; 步驟209,返回錯(cuò)誤報(bào)告; 在本實(shí)施例中,上述返回錯(cuò)誤報(bào)告包括如下情況
在步驟203中服務(wù)端判斷第一動(dòng)態(tài)口令不正確時(shí),返回第一動(dòng)態(tài)口令錯(cuò)誤報(bào)告, 報(bào)告中指明動(dòng)態(tài)口令令牌不合法或動(dòng)態(tài)因子誤差過(guò)大的信息; 在步驟205中未在預(yù)先約定的時(shí)間內(nèi)接收到第二驗(yàn)證口令時(shí),返回接收第二驗(yàn)證 口令超時(shí)的報(bào)告信息; 在步驟207中服務(wù)端判斷第二驗(yàn)證口令不正確時(shí),返回登陸失敗的報(bào)告信息。
在本實(shí)施例中,生成動(dòng)態(tài)口令可以采用如下算法HMAC-SHA1、MD5、SHA-1或SHA-2 等,其中,服務(wù)端生成0TP1與動(dòng)態(tài)口令令牌生成第一動(dòng)態(tài)口令、服務(wù)端生成0TP2與動(dòng)態(tài)口 令令牌生成第二動(dòng)態(tài)口令的算法相同。 本實(shí)施例的服務(wù)端以計(jì)次的方式生成動(dòng)態(tài)因子,并基于該動(dòng)態(tài)因子生成動(dòng)態(tài)口 令,通過(guò)將生成的動(dòng)態(tài)口令拆分為兩個(gè)口令,將其中一個(gè)口令發(fā)送給用戶,用以用戶驗(yàn)證其 是否合法,使用另一個(gè)口令再次驗(yàn)證用戶是否合法,有效地防止了釣魚(yú)網(wǎng)站等惡意網(wǎng)站利 用截獲的用戶密碼進(jìn)行登陸,進(jìn)而增強(qiáng)了系統(tǒng)的安全性,保證了用戶的信息安全;同時(shí),本 實(shí)施例通過(guò)對(duì)服務(wù)端的改進(jìn),使得普通的動(dòng)態(tài)口令令牌仍適用,用戶通過(guò)該動(dòng)態(tài)口令令牌 可以對(duì)服務(wù)端的合法性進(jìn)行驗(yàn)證,防止用戶誤入釣魚(yú)網(wǎng)站而遭受損失,增加了動(dòng)態(tài)口令的 安全性。 實(shí)施例3 本實(shí)施例提供了一種基于動(dòng)態(tài)口令的認(rèn)證方法,本實(shí)施例以用戶通過(guò)動(dòng)態(tài)口令的 認(rèn)證方式登陸網(wǎng)上銀行為例進(jìn)行說(shuō)明,具體描述在用戶登陸的過(guò)程中動(dòng)態(tài)口令服務(wù)端的認(rèn) 證流程,其中,在本實(shí)施例以生成動(dòng)態(tài)口令時(shí)采用計(jì)時(shí)的方法為例進(jìn)行說(shuō)明,參見(jiàn)圖3,該方 法包括 步驟301,服務(wù)端接收用戶輸入的用戶名、第一動(dòng)態(tài)口令; 在本實(shí)施例中,在登陸認(rèn)證流程開(kāi)始前,用戶所持動(dòng)態(tài)口令令牌已經(jīng)與該用戶的 用戶名進(jìn)行了綁定,上述動(dòng)態(tài)口令令牌具有唯一的編號(hào),并且在服務(wù)端內(nèi)部存儲(chǔ)有唯一的 與編號(hào)對(duì)應(yīng)的種子,動(dòng)態(tài)口令令牌可以根據(jù)內(nèi)置的動(dòng)態(tài)口令算法生成動(dòng)態(tài)口令,該動(dòng)態(tài)口 令算法與服務(wù)端生成動(dòng)態(tài)口令的算法相同; 在本實(shí)施例中,所使用的動(dòng)態(tài)口令令牌帶有按鍵,當(dāng)用戶第一次按下按鍵生成的 動(dòng)態(tài)口令為第一動(dòng)態(tài)口令; 用戶通過(guò)客戶端輸入用戶名和第一動(dòng)態(tài)口令,并由客戶端發(fā)送給服務(wù)端; 在生成動(dòng)態(tài)口令時(shí)對(duì)動(dòng)態(tài)因子的選擇可以采用基于時(shí)間或事件的方式,在本實(shí)施
例中,以采用基于時(shí)間的方式生成動(dòng)態(tài)口令進(jìn)行說(shuō)明。 步驟302,服務(wù)端根據(jù)接收的用戶名查找動(dòng)態(tài)口令令牌的編號(hào)和種子,以及動(dòng)態(tài)因 子,生成第一驗(yàn)證動(dòng)態(tài)口令0TP1 ; 其中,服務(wù)端生成0TP1與動(dòng)態(tài)口令令牌生成第一動(dòng)態(tài)口令算法相同,采用計(jì)時(shí) 的方式,并使用相同的算法生成動(dòng)態(tài)口令,其中,動(dòng)態(tài)口令的生成算法可以是HMAC-SHA1、 MD5、SHA-1或SHA-2等。 步驟303,服務(wù)端驗(yàn)證第一動(dòng)態(tài)口令是否正確,如果正確,執(zhí)行步驟304,如果不正 確,執(zhí)行步驟309 ; 其中,在步驟302中,服務(wù)端生成0TP1時(shí),可以生成一個(gè)或一組動(dòng)態(tài)口令作為 0TP1,即0TP1也可以為一組動(dòng)態(tài)口令;
9
服務(wù)端驗(yàn)證第一動(dòng)態(tài)口令是否正確,具體的包括 當(dāng)0TP1為一個(gè)動(dòng)態(tài)口令時(shí),服務(wù)端將第一動(dòng)態(tài)口令與0TP1進(jìn)行比對(duì),如果相同, 則認(rèn)為第一動(dòng)態(tài)口令正確,如果不相同,則認(rèn)為第一動(dòng)態(tài)口令不正確; 當(dāng)0TP1為一組動(dòng)態(tài)口令時(shí),這組動(dòng)態(tài)口令使用的動(dòng)態(tài)因子(計(jì)時(shí)時(shí)間)為一個(gè)時(shí) 間窗(后面將描述具體實(shí)現(xiàn)辦法),服務(wù)端將該組動(dòng)態(tài)口令分別與第一動(dòng)態(tài)口令進(jìn)行比對(duì), 當(dāng)0TP1中有一個(gè)動(dòng)態(tài)口令與第一動(dòng)態(tài)口令比對(duì)相同時(shí),則認(rèn)為比對(duì)成功,第一動(dòng)態(tài)口令正 確,如果0TP1中任一個(gè)動(dòng)態(tài)口令都與第一動(dòng)態(tài)口令不相同,則認(rèn)為驗(yàn)證失敗,第一動(dòng)態(tài)口 令不正確; 在服務(wù)端驗(yàn)證第一動(dòng)態(tài)口令是否正確前,還可以包括 服務(wù)端判斷第一動(dòng)態(tài)口令是否使用過(guò),如果沒(méi)有使用過(guò),驗(yàn)證第一動(dòng)態(tài)口令是否 正確,如果使用過(guò),向用戶返回錯(cuò)誤報(bào)告; 當(dāng)服務(wù)端驗(yàn)證第一動(dòng)態(tài)口令為正確后,還可以包括 對(duì)服務(wù)端保存的動(dòng)態(tài)因子進(jìn)行修正(即更新動(dòng)態(tài)因子)。下面以本實(shí)施例采用計(jì) 時(shí)的方式生成動(dòng)態(tài)口令為例,說(shuō)明修改動(dòng)態(tài)因子的過(guò)程 使用計(jì)時(shí)的方法生成動(dòng)態(tài)口令,即在生成動(dòng)態(tài)口令時(shí)將設(shè)備(動(dòng)態(tài)口令令牌或服 務(wù)端)生成動(dòng)態(tài)口令的時(shí)間作為動(dòng)態(tài)因子,本例子中以一分鐘為一個(gè)計(jì)時(shí)單位作為動(dòng)態(tài)因 子生成動(dòng)態(tài)口令為例進(jìn)行說(shuō)明,一般情況下,動(dòng)態(tài)口令令牌在初始化時(shí)設(shè)定一個(gè)初始時(shí)間, 例如為2000年1月1日00時(shí)00分,當(dāng)我們?cè)?000年1月1日01時(shí)00分生成動(dòng)態(tài)口令 時(shí),動(dòng)態(tài)口令令牌或服務(wù)端使用2000年1月1日01時(shí)00分與初始時(shí)間2000年1月1日 00時(shí)00分相減得到60分,使用60作為動(dòng)態(tài)因子生成動(dòng)態(tài)口令,但是由于動(dòng)態(tài)口令令牌和 服務(wù)端是單獨(dú)計(jì)時(shí)的,經(jīng)常會(huì)發(fā)生計(jì)時(shí)不同步的情況,因此需要對(duì)時(shí)間因子進(jìn)行修正,上述
修正方法如下 設(shè)定令牌與服務(wù)端設(shè)定的初始時(shí)間為2000年1月1日00時(shí)00分,在動(dòng)態(tài)口令令 牌計(jì)時(shí)時(shí)間為2000年1月1日01時(shí)00分生成動(dòng)態(tài)口令,此時(shí)動(dòng)態(tài)口令令牌使用的動(dòng)態(tài)因 子為60,而服務(wù)端生成0TP1時(shí),由于計(jì)時(shí)和數(shù)據(jù)傳輸?shù)恼`差,此時(shí)服務(wù)端基準(zhǔn)時(shí)間為2000 年l月1日01時(shí)02分,即動(dòng)態(tài)因子應(yīng)為62,在服務(wù)端生成動(dòng)態(tài)口令時(shí)對(duì)其設(shè)定一個(gè)時(shí)間 的浮動(dòng)范圍,例如±2分,這個(gè)浮動(dòng)范圍在本實(shí)施例中稱為時(shí)間窗,使用62±3生成一組最 多7個(gè)0TP1,即服務(wù)端使用的動(dòng)態(tài)因子分別為59、60、61、62、63、64、65,使用這些動(dòng)態(tài)因子 逐一的生成0TP1并與第一動(dòng)態(tài)口令進(jìn)行比對(duì),當(dāng)?shù)谝粋€(gè)動(dòng)態(tài)因子59生成的0TP1比對(duì)不成 功時(shí),使用下一個(gè)動(dòng)態(tài)因子60繼續(xù)生成0TP1并與第一動(dòng)態(tài)口令進(jìn)行比對(duì),本實(shí)施例中,當(dāng) 動(dòng)態(tài)因子為60時(shí),第一動(dòng)態(tài)口令驗(yàn)證正確,這時(shí)得到正確的動(dòng)態(tài)因子,則將動(dòng)態(tài)因子更新 為60,并可以計(jì)算出服務(wù)端與動(dòng)態(tài)口令令牌之間的計(jì)時(shí)偏移為-2分,在下次對(duì)動(dòng)態(tài)口令計(jì) 算時(shí),獲取服務(wù)端的系統(tǒng)時(shí)間后,需要加上這個(gè)偏移值,以得到與動(dòng)態(tài)口令令牌同步的時(shí)間 作為基準(zhǔn)時(shí)間,其中,基準(zhǔn)時(shí)間為服務(wù)端系統(tǒng)時(shí)間與計(jì)時(shí)偏移之和,也可成為與動(dòng)態(tài)口令令 牌同步后的計(jì)時(shí)時(shí)間。 需要說(shuō)明的是,在利用計(jì)時(shí)的方式生成動(dòng)態(tài)口令時(shí),可以以每一分鐘作為一個(gè)動(dòng) 態(tài)因子進(jìn)行動(dòng)態(tài)口令的計(jì)算,也可以為每30秒或每一秒鐘為一個(gè)單位進(jìn)行動(dòng)態(tài)口令的計(jì) 算,上述實(shí)施例以每一分鐘為一個(gè)單位進(jìn)行動(dòng)態(tài)口令的計(jì)算為例進(jìn)行說(shuō)明,具體應(yīng)用中對(duì) 動(dòng)態(tài)因子時(shí)間單位的規(guī)定可以根據(jù)安全性及計(jì)算精度進(jìn)行確定。
10
步驟304,服務(wù)端生成第二驗(yàn)證動(dòng)態(tài)口令0TP2,并將0TP2拆分為第一口令和第二 口令; 在本實(shí)施例中,由于步驟303中對(duì)動(dòng)態(tài)因子進(jìn)行了修正,因此本步驟中服務(wù)端生
成的第二驗(yàn)證動(dòng)態(tài)口令0TP2為一個(gè)動(dòng)態(tài)口令。 服務(wù)端將0TP2拆分為第一口令和第二口令具體的包括 服務(wù)端將0TP2中約定的部分作為第一口令,剩余的部分作為第二口令; 在本實(shí)施例中,優(yōu)選地,OTP為八位的數(shù)字,將前三位取出作為第一口令,后五位作
為第二口令; 在服務(wù)端生成0TP2時(shí),還需要注意的是,0TP2與0TP1不能相同,避免由于與0TP2 生成時(shí)由于時(shí)間過(guò)近而相同而造成的安全漏洞,如發(fā)生上述時(shí)間過(guò)近的情況,則可以將時(shí) 間因子增加一個(gè)步長(zhǎng)生成0TP2,避免發(fā)生與0TP1相同的情況。 其中,為了防止下一步服務(wù)端返回第一口令給客戶端時(shí)因網(wǎng)絡(luò)延遲造成認(rèn)證失 敗,服務(wù)端生成動(dòng)態(tài)口令0TP2還包括一種實(shí)現(xiàn)方法,服務(wù)端生成的動(dòng)態(tài)口令0TP2為一組動(dòng) 態(tài)口令,例如,在步驟303中,校正動(dòng)態(tài)因子后,確定時(shí)間偏移為-2分,則確定生成0TP2的 時(shí)間為同步后的服務(wù)端時(shí)間再加上一個(gè)步長(zhǎng),即為2000年1月1日01時(shí)00加上1分鐘, 計(jì)算動(dòng)態(tài)因子應(yīng)為61,為了能夠生成一組動(dòng)態(tài)口令,增加一個(gè)向后偏移的時(shí)間窗為+5,則 利用61、62、63、64、65、66,生成一組共6個(gè)動(dòng)態(tài)口令0TP2 ; 如上述方法生成一組共6個(gè)0TP2,還需將上述一組6個(gè)動(dòng)態(tài)口令0TP2中的每一 個(gè)0TP2拆分為一個(gè)第一 口令和一個(gè)第二 口令,共可以得到6組第一 口令和第二 口令,拆分 方法與上述拆分方法相同,這里不再贅述; 步驟305 ,服務(wù)端將第一 口令返回給客戶端,客戶端輸出第一 口令; 客戶端接收到0TP2后,利用動(dòng)態(tài)口令令牌生成第二動(dòng)態(tài)口令,用戶將該第二動(dòng)態(tài)
口令劃分為第一驗(yàn)證口令和第二驗(yàn)證口令,本實(shí)施例的劃分規(guī)則與步驟304中服務(wù)端的拆
分規(guī)則相同,該規(guī)則為服務(wù)端預(yù)先與用戶協(xié)商確定的,因此,本實(shí)施例的用戶將第二動(dòng)態(tài)口
令中的前三位作為第一驗(yàn)證口令,剩余的后五位作為第二驗(yàn)證口令; 用戶將第一口令與第一驗(yàn)證口令進(jìn)行比對(duì),如果相同,則認(rèn)為比對(duì)成功,將第二驗(yàn) 證口令發(fā)送給服務(wù)端,如果不相同,則認(rèn)為比對(duì)失敗,用戶可以認(rèn)為服務(wù)端不合法,停止登 陸操作; 其中,還需要說(shuō)明的是,當(dāng)使用計(jì)時(shí)的方法生成動(dòng)態(tài)口令時(shí)(使用時(shí)間因子作為 動(dòng)態(tài)因子),用戶接收到服務(wù)端發(fā)送的第一口令時(shí),需在規(guī)定的時(shí)間內(nèi)利用動(dòng)態(tài)口令令牌生 成第二動(dòng)態(tài)口令,原因如下 動(dòng)態(tài)口令令牌和服務(wù)端都是采用單獨(dú)計(jì)時(shí)的方式,在認(rèn)證的過(guò)程中,服務(wù)端生成 0TP2先于動(dòng)態(tài)口令令牌生成第二動(dòng)態(tài)口令,因此服務(wù)端生成0TP2和動(dòng)態(tài)口令令牌生成第 二動(dòng)態(tài)口令的時(shí)間因子不一樣,致使動(dòng)態(tài)口令不一樣,因此需使用改進(jìn)辦法在第一動(dòng)態(tài)口 令比對(duì)成功后,對(duì)時(shí)間進(jìn)行修正以達(dá)到動(dòng)態(tài)口令令牌和服務(wù)端時(shí)間同步,將此時(shí)間作為基 準(zhǔn)時(shí)間,并設(shè)定一個(gè)時(shí)間段,例如一分鐘,將基準(zhǔn)時(shí)間并延長(zhǎng)一分鐘的時(shí)間內(nèi)作為時(shí)間因子 生成動(dòng)態(tài)口令0TP2,動(dòng)態(tài)口令0TP2為一個(gè)動(dòng)態(tài)口令,即在這一分鐘內(nèi)生成的動(dòng)態(tài)口令是相 同的。服務(wù)端生成0TP2后將其拆分為第一口令和第二口令,并將第一口令返回給用戶,用 戶此時(shí)應(yīng)該在規(guī)定的時(shí)間內(nèi)利用動(dòng)態(tài)口令令牌生成第二動(dòng)態(tài)口令,上述規(guī)定的時(shí)間小于一分鐘,則動(dòng)態(tài)口令令牌生成的第二動(dòng)態(tài)口令與0TP2應(yīng)相同。 另外,本步驟還可以采取如下的方式服務(wù)端每隔固定的時(shí)間生成一個(gè)0TP2,并 將0TP2拆分后的第一口令返回給用戶,本實(shí)施例以固定的時(shí)間為一分鐘為例進(jìn)行說(shuō)明,例 如 在服務(wù)端接收到第一動(dòng)態(tài)口令并驗(yàn)證為正確時(shí),設(shè)定時(shí)間為第O分鐘,此時(shí)生成 0TP2,優(yōu)選地,為了避免服務(wù)端生成的第一個(gè)0TP2由于與用戶使用動(dòng)態(tài)口令令牌生成第一 動(dòng)態(tài)口令時(shí)間過(guò)于接近而相同,服務(wù)端生成第一個(gè)0TP2時(shí),使用當(dāng)時(shí)時(shí)間的下一分鐘作為 動(dòng)態(tài)因子生成第一個(gè)0TP2,并在此后的每一分鐘內(nèi)生成一個(gè)0TP2,將0TP2拆分后得到的第 一口令返回給用戶,防止用戶接收或驗(yàn)證第一口令的延遲,其中,服務(wù)端和動(dòng)態(tài)口令令牌每 一分鐘時(shí)間段內(nèi)生成的動(dòng)態(tài)口令相同,可以采用一分鐘內(nèi)的中間那一秒作為動(dòng)態(tài)因子,或 設(shè)定一分鐘內(nèi)其中某一秒作為動(dòng)態(tài)因子。在返回第一口令時(shí),需要對(duì)服務(wù)端返回第一口令 的次數(shù)進(jìn)行限制,即設(shè)定一個(gè)返回最大次數(shù),例如當(dāng)返回io次用戶未進(jìn)行操作時(shí),通知用 戶超時(shí)未響應(yīng),驗(yàn)證失??; 其中,上述固定的時(shí)間可以為大于O的時(shí)間,并應(yīng)該在安全范圍內(nèi); 當(dāng)步驟304中服務(wù)端生成一組多個(gè)動(dòng)態(tài)口令0TP2時(shí),服務(wù)端將拆分得到的多個(gè)第
一口令發(fā)送給客戶端,此時(shí),用戶將令牌顯示的第一驗(yàn)證口令與上述多個(gè)第一口令進(jìn)行比
對(duì),如果有一個(gè)比對(duì)成功,即通過(guò)客戶端向服務(wù)端返回第二驗(yàn)證口令。 步驟306,服務(wù)端是否在約定的時(shí)間內(nèi)接收到第二驗(yàn)證口令,如果是,執(zhí)行步驟 307,否則,執(zhí)行步驟309 ; 在本實(shí)施例中,約定的時(shí)間為服務(wù)端接收第二驗(yàn)證口令的有效時(shí)間,服務(wù)端對(duì)在 有效時(shí)間內(nèi)接收的第二驗(yàn)證口令進(jìn)行驗(yàn)證,對(duì)沒(méi)有在約定的時(shí)間內(nèi)發(fā)送的第二驗(yàn)證口令丟 棄,不進(jìn)行第二驗(yàn)證口令的驗(yàn)證,對(duì)時(shí)間進(jìn)行限制可以在一定程度上防止黑客的攻擊。
步驟307,服務(wù)端對(duì)第二驗(yàn)證口令進(jìn)行驗(yàn)證,如果正確,執(zhí)行步驟308,如果不正 確,執(zhí)行步驟309 ; 在本實(shí)施例中,服務(wù)端對(duì)第二驗(yàn)證口令驗(yàn)證的方法為服務(wù)端使用第二口令與第 二驗(yàn)證口令進(jìn)行比對(duì),如果相同,則認(rèn)為比對(duì)成功,執(zhí)行步驟308,如果不相同,則比對(duì)失敗, 執(zhí)行步驟309 ; 當(dāng)服務(wù)端生成一組多個(gè)第二驗(yàn)證動(dòng)態(tài)口令并拆分得到多個(gè)第二口令時(shí),服務(wù)端對(duì) 第二驗(yàn)證口令進(jìn)行驗(yàn)證具體的為服務(wù)端使用多個(gè)第二口令與第二驗(yàn)證口令進(jìn)行比對(duì),如 果所述第二 口令中有一個(gè)與第二驗(yàn)證口令相同即認(rèn)為驗(yàn)證成功; 在本實(shí)施例中,還可以加入對(duì)靜態(tài)密碼的驗(yàn)證過(guò)程,防止動(dòng)態(tài)口令令牌丟失或被
盜導(dǎo)致的非合法用戶登入,使得登陸過(guò)程更加安全,具體為服務(wù)端在預(yù)先約定的時(shí)間內(nèi)接
收到用戶發(fā)送的第二驗(yàn)證口令和靜態(tài)密碼,服務(wù)端對(duì)靜態(tài)密碼和第二驗(yàn)證口令分別進(jìn)行驗(yàn)
證,如果全部正確,則執(zhí)行步驟308,否則,執(zhí)行步驟309。 步驟308,用戶身份合法,允許其登陸成功,可以開(kāi)始進(jìn)行網(wǎng)上交易; 步驟309,返回錯(cuò)誤報(bào)告; 在本實(shí)施例中,上述返回錯(cuò)誤報(bào)告的情況與實(shí)施例2相同,這里不再詳述。在本實(shí)施例,生成動(dòng)態(tài)口令可以采用如下算法HMAC-SHA1、 MD5、 SHA-1或SHA-2
等,其中,服務(wù)端生成0TP1與口令令牌生成第一動(dòng)態(tài)口令、服務(wù)端生成0TP2與口令令牌生成第二動(dòng)態(tài)口令的算法相同。 本實(shí)施例的服務(wù)端以計(jì)時(shí)的方式生成動(dòng)態(tài)因子,基于該動(dòng)態(tài)因子生成動(dòng)態(tài)口令, 通過(guò)將生成的動(dòng)態(tài)口令拆分為兩個(gè)口令,將其中一個(gè)口令發(fā)送給用戶,用以用戶驗(yàn)證其是 否合法,使用另一個(gè)口令再次驗(yàn)證用戶是否合法,有效地防止了釣魚(yú)網(wǎng)站等惡意網(wǎng)站利用 截獲的用戶密碼進(jìn)行登陸,進(jìn)而增強(qiáng)了系統(tǒng)的安全性,保證了用戶的信息安全;同時(shí),本實(shí) 施例通過(guò)對(duì)服務(wù)端的改進(jìn),使得普通的動(dòng)態(tài)口令令牌仍適用,用戶通過(guò)該動(dòng)態(tài)口令令牌可 以對(duì)服務(wù)端的合法性進(jìn)行驗(yàn)證,防止用戶誤入釣魚(yú)網(wǎng)站而遭受損失,增加了動(dòng)態(tài)口令的安 全性。 實(shí)施例4 本實(shí)施例提供了一種基于動(dòng)態(tài)口令的認(rèn)證裝置,參見(jiàn)圖4,該裝置包括 第一生成模塊401,用于接收用戶發(fā)送的用戶名和第一動(dòng)態(tài)口令,并根據(jù)用戶名查
找對(duì)應(yīng)的種子和動(dòng)態(tài)因子,根據(jù)上述種子和動(dòng)態(tài)因子生成第一驗(yàn)證動(dòng)態(tài)口令; 第一驗(yàn)證模塊402,用于使用第一生成模塊401生成的第一驗(yàn)證動(dòng)態(tài)口令驗(yàn)證第
一動(dòng)態(tài)口令; 第二生成模塊403,用于第一驗(yàn)證模塊402驗(yàn)證第一動(dòng)態(tài)口令通過(guò)后,生成第二驗(yàn) 證動(dòng)態(tài)口令; 拆分與發(fā)送模塊404,用于按照預(yù)設(shè)規(guī)則將第二生成模塊403生成的第二驗(yàn)證動(dòng) 態(tài)口令拆分為第一口令和第二口令,將第一口令返回給該用戶; 第二驗(yàn)證模塊405,用于在預(yù)定的時(shí)間內(nèi)接收到用戶返回的第二驗(yàn)證口令后,使用 拆分與發(fā)送模塊404拆分的第二 口令對(duì)第二驗(yàn)證口令進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),確認(rèn)該用戶合 法。 優(yōu)選地,該裝置還包括 第三驗(yàn)證模塊,用于接收用戶輸入的靜態(tài)密碼,驗(yàn)證靜態(tài)密碼是否正確,如果正
確,觸發(fā)第二驗(yàn)證模塊405對(duì)第二驗(yàn)證口令進(jìn)行驗(yàn)證;否則,拒絕用戶登陸。 其中,本實(shí)施例中的認(rèn)證裝置通過(guò)客戶端與用戶進(jìn)行交互,該認(rèn)證裝置可以具體
為實(shí)施例1、2或3中的服務(wù)端,該認(rèn)證裝置上預(yù)先存儲(chǔ)有用戶名,以及與該用戶名對(duì)應(yīng)的動(dòng)
態(tài)口令令牌的編號(hào)、種子和動(dòng)態(tài)因子,同時(shí)還存儲(chǔ)有生成動(dòng)態(tài)口令的算法,以及將生成的動(dòng)
態(tài)口令拆分為兩個(gè)口令的拆分規(guī)則等,這些信息均可以參考實(shí)施例2或3中對(duì)應(yīng)的信息實(shí)
現(xiàn),這里不再詳述。 第一生成模塊401生成的第一驗(yàn)證動(dòng)態(tài)口令可以是一個(gè)或一組動(dòng)態(tài)口令;當(dāng)?shù)谝?生成模塊401生成的是一個(gè)動(dòng)態(tài)口令時(shí),第一驗(yàn)證模塊402對(duì)第一動(dòng)態(tài)口令進(jìn)行驗(yàn)證具體 為第一驗(yàn)證模塊402將第一動(dòng)態(tài)口令與上述第一生成模塊401生成的動(dòng)態(tài)口令進(jìn)行比對(duì), 如果相同,則驗(yàn)證成功,如果不相同,則驗(yàn)證第一動(dòng)態(tài)口令不正確; 當(dāng)?shù)谝簧赡K401生成的是一組動(dòng)態(tài)口令時(shí),第一驗(yàn)證模塊402對(duì)第一動(dòng)態(tài)口 令進(jìn)行驗(yàn)證具體的為第一驗(yàn)證模塊402將第一動(dòng)態(tài)口令與上述第一生成模塊401生成的 一組動(dòng)態(tài)口令逐個(gè)進(jìn)行比對(duì),如果其中有一個(gè)動(dòng)態(tài)口令與第一動(dòng)態(tài)口令相同,則認(rèn)為比對(duì) 成功,驗(yàn)證第一動(dòng)態(tài)口令正確,否則,第一動(dòng)態(tài)口令不正確; 第一驗(yàn)證模塊402生成第一驗(yàn)證動(dòng)態(tài)口令前,還可以包括,第一驗(yàn)證模塊402判斷 第一動(dòng)態(tài)口令是否使用過(guò),如果沒(méi)有使用過(guò),驗(yàn)證第一動(dòng)態(tài)口令是否正確,如果使用過(guò),向用戶返回錯(cuò)誤報(bào)告; 第一驗(yàn)證模塊402驗(yàn)證第一動(dòng)態(tài)口令正確后,還可以包括,對(duì)動(dòng)態(tài)因子進(jìn)行修正,具體修改方法與實(shí)施例2或3中的方法相同,這里不再詳述; 第一生成模塊401生成第一驗(yàn)證動(dòng)態(tài)口令和第二生成模塊403生成第二驗(yàn)證動(dòng)態(tài)口令的算法可以是HMAC-SHA1、MD5、 SHA-1或SHA-2等; 第二生成模塊403,還可以包括當(dāng)?shù)谝或?yàn)證模塊402驗(yàn)證第一動(dòng)態(tài)口令通過(guò)后,生成一組多個(gè)第二驗(yàn)證動(dòng)態(tài)口令; 當(dāng)?shù)诙赡K403生成一組多個(gè)第二驗(yàn)證動(dòng)態(tài)口令時(shí),拆分與發(fā)送模塊404將
第二驗(yàn)證動(dòng)態(tài)口令按預(yù)設(shè)的規(guī)則拆分為第一口令和第二口令具體為拆分與發(fā)送模塊404
將一組多個(gè)第二驗(yàn)證動(dòng)態(tài)口令按預(yù)設(shè)的規(guī)則拆分為多個(gè)第一口令和第二口令; 當(dāng)?shù)诙赡K403生成一組多個(gè)第二驗(yàn)證動(dòng)態(tài)口令時(shí),第二驗(yàn)證模塊405對(duì)第
二驗(yàn)證口令進(jìn)行驗(yàn)證時(shí)具體為第二驗(yàn)證模塊405使用多個(gè)第二口令與第二驗(yàn)證口令進(jìn)行
比對(duì),當(dāng)其中有一個(gè)第二口令與第二驗(yàn)證口令相同時(shí),即認(rèn)為驗(yàn)證成功。。 本實(shí)施例的認(rèn)證裝置通過(guò)將生成的動(dòng)態(tài)口令拆分為兩個(gè)口令,將其中 一個(gè)口令發(fā)
送給用戶,用以用戶驗(yàn)證其是否合法,使用另一個(gè)口令再次驗(yàn)證用戶是否合法,有效地防止
了釣魚(yú)網(wǎng)站等惡意網(wǎng)站利用截獲的用戶密碼進(jìn)行登陸,進(jìn)而增強(qiáng)了系統(tǒng)的安全性,保證了
用戶的信息安全。 從以上的描述中,可以看出,本發(fā)明上述的實(shí)施例實(shí)現(xiàn)了如下技術(shù)效果 通過(guò)將動(dòng)態(tài)口令拆分為兩個(gè)口令,服務(wù)端和用戶可以進(jìn)行更有保障的雙向認(rèn)證,
認(rèn)證更可靠性,有效地防止了惡意網(wǎng)站的攻擊,以及防止了非法用戶通過(guò)截獲的用戶信息
登陸服務(wù)端。 顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種基于動(dòng)態(tài)口令的認(rèn)證方法,其特征在于,所述方法包括服務(wù)端接收用戶發(fā)送的用戶名和第一動(dòng)態(tài)口令;所述服務(wù)端根據(jù)所述用戶名查找對(duì)應(yīng)的種子和動(dòng)態(tài)因子,根據(jù)所述種子和動(dòng)態(tài)因子生成第一驗(yàn)證動(dòng)態(tài)口令;所述服務(wù)端使用所述第一驗(yàn)證動(dòng)態(tài)口令驗(yàn)證所述第一動(dòng)態(tài)口令,驗(yàn)證通過(guò)后,生成第二驗(yàn)證動(dòng)態(tài)口令;所述服務(wù)端按照預(yù)設(shè)規(guī)則將所述第二驗(yàn)證動(dòng)態(tài)口令拆分為第一口令和第二口令,將所述第一口令返回給所述用戶;所述服務(wù)端若在預(yù)定的時(shí)間內(nèi)接收到所述用戶返回的第二驗(yàn)證口令,則使用所述第二口令對(duì)所述第二驗(yàn)證口令進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),確認(rèn)所述用戶合法。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括所述服務(wù)端將所述第一口令發(fā)送給客戶端,所述客戶端輸出所述第一口令供用戶進(jìn)行 確認(rèn),所述客戶端在所述用戶對(duì)所述第一口令比對(duì)正確后接收所述用戶發(fā)送的所述第二驗(yàn) 證口令,并轉(zhuǎn)發(fā)給所述服務(wù)端。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述動(dòng)態(tài)因子為基于時(shí)間或事件的動(dòng)態(tài) 因子。
4. 根據(jù)權(quán)利要求l所述的方法,其特征在于, 所述第一驗(yàn)證動(dòng)態(tài)口令為一個(gè)動(dòng)態(tài)口令;相應(yīng)地,所述使用所述第一驗(yàn)證動(dòng)態(tài)口令驗(yàn)證所述第一動(dòng)態(tài)口令的步驟包括 使用所述第一驗(yàn)證動(dòng)態(tài)口令與所述第一動(dòng)態(tài)口令進(jìn)行比對(duì),如果相同,則所述第一動(dòng) 態(tài)口令驗(yàn)證通過(guò);否則,所述第一動(dòng)態(tài)口令驗(yàn)證失敗,拒絕所述用戶登錄。
5. 根據(jù)權(quán)利要求l所述的方法,其特征在于, 所述第一驗(yàn)證動(dòng)態(tài)口令為一組動(dòng)態(tài)口令;相應(yīng)地,所述使用所述第一驗(yàn)證動(dòng)態(tài)口令驗(yàn)證所述第一動(dòng)態(tài)口令的步驟包括 使用所述第一驗(yàn)證動(dòng)態(tài)口令與所述第一動(dòng)態(tài)口令進(jìn)行比對(duì),當(dāng)所述第一驗(yàn)證動(dòng)態(tài)口令 中有一個(gè)動(dòng)態(tài)口令與所述第一動(dòng)態(tài)口令相同時(shí),則所述第一動(dòng)態(tài)口令驗(yàn)證通過(guò);如果所述 第一驗(yàn)證動(dòng)態(tài)口令中的動(dòng)態(tài)口令沒(méi)有與所述第一動(dòng)態(tài)口令相同的,則所述第一動(dòng)態(tài)口令驗(yàn) 證失敗,拒絕所述用戶登錄。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)端接收用戶發(fā)送的用戶名和第 一動(dòng)態(tài)口令的步驟之后還包括所述服務(wù)端判斷所述第一動(dòng)態(tài)口令是否使用過(guò),如果是,向所述用戶返回錯(cuò)誤報(bào)告,如 果不是,執(zhí)行所述根據(jù)所述用戶名查找對(duì)應(yīng)的動(dòng)態(tài)因子的步驟。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成第二驗(yàn)證動(dòng)態(tài)口令的步驟包括 更新所述動(dòng)態(tài)因子,根據(jù)所述種子和更新后的動(dòng)態(tài)因子生成第二驗(yàn)證動(dòng)態(tài)口令。
8. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述按照預(yù)設(shè)規(guī)則將所述第二驗(yàn)證動(dòng)態(tài) 口令拆分為第一口令和第二口令具體為 >從所述第二驗(yàn)證動(dòng)態(tài)口令中提取約定的部分作為第一口令,剩余的部分作為第二口令。
9. 根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)所述動(dòng)態(tài)因子為基于時(shí)間的動(dòng)態(tài)因子時(shí),所述服務(wù)端生成第二驗(yàn)證動(dòng)態(tài)口令具體為所述服務(wù)端生成一個(gè)或一組多個(gè)第二驗(yàn)證動(dòng)態(tài)口令。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述服務(wù)端按照預(yù)設(shè)規(guī)則將所述第二驗(yàn) 證動(dòng)態(tài)口令拆分為第一口令和第二口令,具體為所述服務(wù)端按照預(yù)設(shè)規(guī)則將所述一組多個(gè)第二驗(yàn)證動(dòng)態(tài)口令拆分為多個(gè)第一口令和 第二口令。
11. 根據(jù)權(quán)利要求io所述的方法,其特征在于,所述服務(wù)端使用所述第二口令對(duì)所述第二驗(yàn)證口令進(jìn)行驗(yàn)證,具體為所述服務(wù)端使用所述多個(gè)第二 口令對(duì)所述第二驗(yàn)證口令進(jìn)行驗(yàn)證,如果所述多個(gè)第二 口令中有一個(gè)與所述第二驗(yàn)證口令相同就認(rèn)為驗(yàn)證成功。
12. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)端使用所述第二口令對(duì)所述第 二驗(yàn)證口令進(jìn)行驗(yàn)證前,所述方法還包括所述服務(wù)端接收所述用戶輸入的靜態(tài)密碼;驗(yàn)證所述靜態(tài)密碼是否正確,如果正確,執(zhí)行所述使用所述第二口令對(duì)所述第二驗(yàn)證 口令進(jìn)行驗(yàn)證的步驟;否則,拒絕所述用戶登陸。
13. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)端生成第一驗(yàn)證動(dòng)態(tài)口令或第 二驗(yàn)證動(dòng)態(tài)口令的算法為HMAC-SHA1、MD5、 SHA-1或SHA-2。
14. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括將在所述預(yù)定的時(shí)間 后接收到的第二驗(yàn)證口令丟棄。
15. —種基于動(dòng)態(tài)口令的認(rèn)證裝置,其特征在于,所述裝置包括第一生成模塊,用于接收用戶發(fā)送的用戶名和第一動(dòng)態(tài)口令,并根據(jù)所述用戶名查找 對(duì)應(yīng)的種子和動(dòng)態(tài)因子,根據(jù)所述種子和動(dòng)態(tài)因子生成第一驗(yàn)證動(dòng)態(tài)口令;第一驗(yàn)證模塊,用于使用所述第一生成模塊生成的第一驗(yàn)證動(dòng)態(tài)口令驗(yàn)證所述第一動(dòng) 態(tài)口令;第二生成模塊,用于所述第一驗(yàn)證模塊驗(yàn)證所述第一動(dòng)態(tài)口令通過(guò)后,生成第二驗(yàn)證 動(dòng)態(tài)口令;拆分與發(fā)送模塊,用于按照預(yù)設(shè)規(guī)則將所述第二生成模塊生成的第二驗(yàn)證動(dòng)態(tài)口令拆 分為第一口令和第二口令,將所述第一口令返回給所述用戶;第二驗(yàn)證模塊,用于在預(yù)定的時(shí)間內(nèi)接收到所述用戶返回的第二驗(yàn)證口令后,使用所 述拆分與發(fā)送模塊拆分的第二口令對(duì)所述第二驗(yàn)證口令進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),確認(rèn)所述用 戶合法。
16. 根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括第三驗(yàn)證模塊,用于接收所述用戶輸入的靜態(tài)密碼,驗(yàn)證所述靜態(tài)密碼是否正確,如果 正確,觸發(fā)所述第二驗(yàn)證模塊對(duì)所述第二驗(yàn)證口令進(jìn)行驗(yàn)證;否則,拒絕所述用戶登陸。
全文摘要
本發(fā)明提供了一種基于動(dòng)態(tài)口令的認(rèn)證方法和裝置,屬于信息安全技術(shù)領(lǐng)域。所述認(rèn)證方法包括服務(wù)端接收用戶發(fā)送的用戶名和第一動(dòng)態(tài)口令,生成第一驗(yàn)證動(dòng)態(tài)口令后驗(yàn)證所述第一動(dòng)態(tài)口令,驗(yàn)證通過(guò)后,生成第二驗(yàn)證動(dòng)態(tài)口令;將第二驗(yàn)證動(dòng)態(tài)口令拆分為第一口令和第二口令,將第一口令返回給用戶;使用第二口令對(duì)用戶返回的第二驗(yàn)證口令進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),確認(rèn)用戶合法。本發(fā)明有效地防止了惡意網(wǎng)站的攻擊和非法用戶的操作,進(jìn)而提高了用戶信息和財(cái)產(chǎn)的安全性。
文檔編號(hào)H04L9/32GK101741567SQ200910244640
公開(kāi)日2010年6月16日 申請(qǐng)日期2009年12月31日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者于華章, 陸舟 申請(qǐng)人:北京飛天誠(chéng)信科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
永修县| 临武县| 丰台区| 沈丘县| 平阳县| 富阳市| 滁州市| 南丰县| 兴海县| 京山县| 盐池县| 明星| 青铜峡市| 家居| 合水县| 得荣县| 广昌县| 吴桥县| 徐水县| 贞丰县| 青铜峡市| 普兰店市| 南澳县| 应城市| 淳安县| 古田县| 虹口区| 涟源市| 珲春市| 鄄城县| 塔城市| 金寨县| 邯郸县| 朔州市| 洛阳市| 新蔡县| 云龙县| 霍州市| 栖霞市| 大宁县| 九台市|