一種基于動態(tài)口令的雙向身份認(rèn)證方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種基于動態(tài)口令的雙向身份認(rèn)證方法及系統(tǒng),該方法包括:應(yīng)用單元接收外部輸入的用戶標(biāo)識和第一動態(tài)口令,將用戶標(biāo)識、第一動態(tài)口令和預(yù)先存儲的用于驗證應(yīng)用單元的驗證信息發(fā)送給認(rèn)證單元;認(rèn)證單元接收用戶標(biāo)識、第一動態(tài)口令和驗證信息,根據(jù)用戶標(biāo)識對第一動態(tài)口令進(jìn)行驗證,驗證通過后,根據(jù)驗證信息對應(yīng)用單元進(jìn)行身份驗證,如果驗證通過,則根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,將第二動態(tài)口令發(fā)送給應(yīng)用單元,否則,不生成第二動態(tài)口令;應(yīng)用單元接收第二動態(tài)口令,輸出所述第二動態(tài)口令。通過該方法及系統(tǒng)能夠提高了應(yīng)用系統(tǒng)的安全性。
【專利說明】—種基于動態(tài)口令的雙向身份認(rèn)證方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,尤其涉及一種基于動態(tài)口令的雙向身份認(rèn)證方法及系統(tǒng)。
【背景技術(shù)】
[0002]動態(tài)口令是根據(jù)專門的算法生成一個不可預(yù)測的隨機(jī)數(shù)字組合,每個密碼只能使用一次。動態(tài)口令作為最安全的身份認(rèn)證技術(shù)之一,目前已經(jīng)被越來越多的行業(yè)所應(yīng)用。由于它使用便捷,且與平臺無關(guān),隨著移動互聯(lián)網(wǎng)的發(fā)展,動態(tài)口令技術(shù)已成為身份認(rèn)證技術(shù)的主流,被廣泛應(yīng)用于企業(yè)、網(wǎng)游、金融等領(lǐng)域。目前主流用于生成動態(tài)口令終端有硬件令牌、短信密碼、手機(jī)令牌、軟件令牌四種。
[0003]現(xiàn)有的基于動態(tài)口令的身份認(rèn)證的方法是單向認(rèn)證的。用戶將用戶標(biāo)識和動態(tài)口令終端顯示的動態(tài)口令輸入到應(yīng)用單元,應(yīng)用單元將用戶標(biāo)識和動態(tài)口令發(fā)送給認(rèn)證單元,認(rèn)證單元根據(jù)用戶標(biāo)識和動態(tài)口令對用戶身份進(jìn)行認(rèn)證,將認(rèn)證結(jié)果反饋給用戶。
[0004]通過上述描述可見,現(xiàn)有技術(shù)中只能對用戶的身份進(jìn)行認(rèn)證,不能對應(yīng)用單元進(jìn)行認(rèn)證,應(yīng)用系統(tǒng)的安全性較低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種基于動態(tài)口令的雙向身份認(rèn)證方法及系統(tǒng),能夠?qū)?yīng)用單元進(jìn)行身份認(rèn)證,提高了應(yīng)用系統(tǒng)的安全性。
[0006]一方面,本發(fā)明提供了一種基于動態(tài)口令的雙向身份認(rèn)證方法,包括:
[0007]S1:應(yīng)用單元接收外部輸入的用戶標(biāo)識和第一動態(tài)口令;
[0008]S2:所述應(yīng)用單元將所述用戶標(biāo)識、所述第一動態(tài)口令和預(yù)先存儲的用于驗證應(yīng)用單元的驗證信息發(fā)送給認(rèn)證單元;
[0009]S3:所述認(rèn)證單元接收所述用戶標(biāo)識、所述第一動態(tài)口令和所述驗證信息;
[0010]S4:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識對所述第一動態(tài)口令進(jìn)行驗證;
[0011]S5:所述第一動態(tài)口令驗證通過后,所述認(rèn)證單元根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,如果驗證通過,則所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,將所述第二動態(tài)口令發(fā)送給所述應(yīng)用單元,依次執(zhí)行S6、S7,否則,所述認(rèn)證單元不生成第二動態(tài)口令;
[0012]S6:所述應(yīng)用單元接收所述第二動態(tài)口令;
[0013]S7:所述應(yīng)用單元輸出所述第二動態(tài)口令。
[0014]進(jìn)一步地,所述S4包括:
[0015]S41:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第一驗證動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第一驗證動態(tài)口令的種子;
[0016]S42:所述認(rèn)證單元根據(jù)所述第一驗證動態(tài)口令的種子、時間,通過哈希算法生成第一驗證動態(tài)口令;
[0017]S43:所述認(rèn)證單元判斷所述第一驗證動態(tài)口令與所述第一動態(tài)口令是否相同,如果是,則驗證通過,執(zhí)行步驟S5,否則,驗證失敗,所述認(rèn)證單元發(fā)送驗證失敗信息給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證失敗消息。
[0018]進(jìn)一步地,所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,包括:
[0019]S51:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第二動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第二動態(tài)口令的第二種子;
[0020]S52:所述認(rèn)證單元根據(jù)所述第二種子、時間,通過哈希算法生成所述第二動態(tài)口令。
[0021]進(jìn)一步地,所述S7包括:
[0022]所述應(yīng)用單元輸出所述第二動態(tài)口令,以使外部根據(jù)動態(tài)口令終端中的第二驗證動態(tài)口令對所述第二動態(tài)口令進(jìn)行驗證,其中,所述第一動態(tài)口令和第二驗證動態(tài)口令均在所述動態(tài)口令終端中。
[0023]進(jìn)一步地,所述S5還包括:如果驗證通過,則所述認(rèn)證單元將驗證附加信息發(fā)送給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證附加信息,其中,所述驗證附加信息,包括:所述應(yīng)用單元的身份標(biāo)識信息。
[0024]另一方面,本發(fā)明提供了一種基于動態(tài)口令的雙向身份認(rèn)證系統(tǒng),包括:應(yīng)用單元、認(rèn)證單元;
[0025]所述應(yīng)用單元,用于接收外部輸入的用戶標(biāo)識和第一動態(tài)口令,將所述用戶標(biāo)識、所述第一動態(tài)口令和預(yù)先存儲的用于驗證應(yīng)用單元的驗證信息發(fā)送給所述認(rèn)證單元,接收所述認(rèn)證單元發(fā)來的第二動態(tài)口令,輸出所述第二動態(tài)口令;
[0026]所述認(rèn)證單元,用于接收所述用戶標(biāo)識、所述第一動態(tài)口令和所述驗證信息,根據(jù)所述用戶標(biāo)識對所述第一動態(tài)口令進(jìn)行驗證,所述第一動態(tài)口令驗證通過后,根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,如果對所述應(yīng)用單元的身份驗證通過,則所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,將所述第二動態(tài)口令發(fā)送給所述應(yīng)用單元,否則,所述認(rèn)證單元不生成第二動態(tài)口令。
[0027]進(jìn)一步地,所述認(rèn)證單元包括:
[0028]第一確定子單元,用于根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第一驗證動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第一驗證動態(tài)口令的種子;
[0029]第一生成子單元,用于根據(jù)所述第一驗證動態(tài)口令的種子、時間,通過哈希算法生成第一驗證動態(tài)口令;
[0030]判斷子單元,用于判斷所述第一驗證動態(tài)口令與所述第一動態(tài)口令是否相同,如果是,則判定驗證通過,根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,否則,判定驗證失敗,發(fā)送驗證失敗信息給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證失敗消息。
[0031]進(jìn)一步地,所述認(rèn)證單元,包括:
[0032]第二確定子單元,用于根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第二動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第二動態(tài)口令的第二種子;
[0033]第二生成子單元,用于根據(jù)所述第二種子、時間,通過哈希算法生成所述第二動態(tài)口令。
[0034]進(jìn)一步地,所述應(yīng)用單元具體用于輸出所述第二動態(tài)口令,以使外部根據(jù)動態(tài)口令終端中的第二驗證動態(tài)口令對所述第二動態(tài)口令進(jìn)行驗證,其中,所述第一動態(tài)口令和第二驗證動態(tài)口令均在所述動態(tài)口令終端中。
[0035]進(jìn)一步地,所述認(rèn)證單元,還用于如果對所述應(yīng)用單元的身份驗證通過,則將驗證附加信息發(fā)送給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證附加信息,其中,所述驗證附加信息,包括:所述應(yīng)用單元的身份標(biāo)識信息。
[0036]通過本發(fā)明提供的一種基于動態(tài)口令的雙向身份認(rèn)證方法及系統(tǒng),在認(rèn)證單元對應(yīng)用單元的身份驗證通過后,可以生成第二動態(tài)口令,并將生成的第二動態(tài)口令輸出給用戶,使用戶能夠?qū)?yīng)用單元進(jìn)行驗證,提高了應(yīng)用系統(tǒng)的安全性。
【專利附圖】
【附圖說明】
[0037]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1是本發(fā)明實施例提供的一種基于動態(tài)口令的雙向身份認(rèn)證方法流程圖;
[0039]圖2是本發(fā)明實施例提供的一種基于動態(tài)口令的雙向身份認(rèn)證系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0040]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0041]本發(fā)明實施例提供了一種基于動態(tài)口令的雙向身份認(rèn)證方法,參見圖1,該方法包括:
[0042]步驟101:應(yīng)用單元接收外部輸入的用戶標(biāo)識和第一動態(tài)口令;
[0043]步驟102:所述應(yīng)用單元將所述用戶標(biāo)識、所述第一動態(tài)口令和預(yù)先存儲的用于驗證應(yīng)用單元的驗證信息發(fā)送給認(rèn)證單元;
[0044]步驟103:所述認(rèn)證單元接收所述用戶標(biāo)識、所述第一動態(tài)口令和所述驗證信息;
[0045]步驟104:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識對所述第一動態(tài)口令進(jìn)行驗證;
[0046]步驟105:所述第一動態(tài)口令驗證通過后,所述認(rèn)證單元根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,如果驗證通過,則依次執(zhí)行步驟106、107、108、109,如果驗證未通過,則執(zhí)行步驟110;
[0047]步驟106:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令;
[0048]步驟107:所述認(rèn)證單元將所述第二動態(tài)口令發(fā)送給所述應(yīng)用單元;
[0049]步驟108:所述應(yīng)用單元接收所述第二動態(tài)口令;
[0050]步驟109:所述應(yīng)用單元輸出所述第二動態(tài)口令;
[0051]步驟110:所述認(rèn)證單元不生成第二動態(tài)口令。
[0052]通過上述實施例提供的方法,在認(rèn)證單元對應(yīng)用單元的身份驗證通過后,可以生成第二動態(tài)口令,并將生成的第二動態(tài)口令輸出給用戶,使用戶能夠?qū)?yīng)用單元進(jìn)行驗證,提高了應(yīng)用系統(tǒng)的安全性。
[0053]本實施例中的應(yīng)用單元可以是網(wǎng)站、應(yīng)用軟件、應(yīng)用服務(wù)器等,本實施例中的認(rèn)證單元可以是認(rèn)證服務(wù)器、認(rèn)證軟件、認(rèn)證模塊等。
[0054]在步驟109中,應(yīng)用單元可以將第二動態(tài)口令顯示出來,也可以通過聲音信號輸出。用戶獲知該第二動態(tài)口令后,與自己的動態(tài)口令終端上的用于驗證第二動態(tài)口令的驗證動態(tài)口令進(jìn)行比較,如果相同,則證明應(yīng)用單元通過了認(rèn)證單元的驗證,應(yīng)用單元是安全的,避免了的釣魚網(wǎng)站等網(wǎng)絡(luò)危險。其中,所述第一動態(tài)口令和用于驗證第二動態(tài)口令的驗證動態(tài)口令均在同一個動態(tài)口令終端中。用戶的動態(tài)口令終端可以是硬件形態(tài)、APP(Applicat1n,應(yīng)用軟件)形態(tài)等。
[0055]上述實施方式中,認(rèn)證單元將對應(yīng)用單元的驗證通過的消息通過動態(tài)口令告知用戶,避免了未通過驗證的應(yīng)用單元向用戶輸出假的驗證消息。舉例來說,如果認(rèn)證單元通過一條文本消息來告知用戶驗證通過,則未通過驗證的應(yīng)用單元可以很容易的偽造一條文本消息來告知用戶驗證通過;如果采用動態(tài)口令來告知用戶,則未通過驗證的應(yīng)用單元難以偽造,提高了應(yīng)用系統(tǒng)的安全性。
[0056]在一種可能的實現(xiàn)方式中,所述步驟104包括圖中未示出的步驟1041、步驟1042、步驟1043:
[0057]步驟1041:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第一驗證動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第一驗證動態(tài)口令的種子;
[0058]步驟1042:所述認(rèn)證單元根據(jù)所述第一驗證動態(tài)口令的種子、時間,通過哈希算法生成第一驗證動態(tài)口令;
[0059]步驟1043:所述認(rèn)證單元判斷所述第一驗證動態(tài)口令與所述第一動態(tài)口令是否相同,如果是,則驗證通過,執(zhí)行步驟105,否則,驗證失敗,所述認(rèn)證單元發(fā)送驗證失敗信息給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證失敗消息。
[0060]在步驟106中,所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,包括圖中未示出的步驟1061、步驟1062:
[0061]步驟1061:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第二動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第二動態(tài)口令的第二種子;
[0062]步驟1062:所述認(rèn)證單元根據(jù)所述第二種子、時間,通過哈希算法生成所述第二動態(tài)口令。
[0063]所述S7包括:
[0064]所述應(yīng)用單元輸出所述第二動態(tài)口令,以使外部根據(jù)動態(tài)口令終端中的第二驗證動態(tài)口令對所述第二動態(tài)口令進(jìn)行驗證,其中,所述第一動態(tài)口令和第二驗證動態(tài)口令均在所述動態(tài)口令終端中。
[0065]舉例來說,外部根據(jù)動態(tài)口令終端中的第二驗證動態(tài)口令對所述第二動態(tài)口令進(jìn)行驗證,具體包括:獲取應(yīng)用終端輸出的第二動態(tài)口令和動態(tài)口令終端中的第二驗證動態(tài)口令;對比所述第二動態(tài)口令和所述第二驗證動態(tài)口令,如果相同則通過驗證,否則驗證失敗。
[0066]另外,所述步驟105還包括:如果驗證通過,則所述認(rèn)證單元將驗證附加信息發(fā)送給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證附加信息,其中,所述驗證附加信息,包括:所述應(yīng)用單元的身份標(biāo)識信息。
[0067]其中,應(yīng)用單元的身份標(biāo)識信息包括:應(yīng)用單元的DNS (Domain Name System,域名系統(tǒng))地址、IP (Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址、MAC (Media Access Control,介質(zhì)訪問控制)地址等。第二動態(tài)口令可以是數(shù)字、字母、符號、或者數(shù)字字母符號的組合,返回的第二動態(tài)口令和驗證附加信息可以是文本、圖像、二維碼等表示形式。
[0068]所述驗證附加信息,還可以包括一個驗證URL (統(tǒng)一資源定位符,UniformResource Locator),該驗證URL指向認(rèn)證單元,用戶點擊該驗證URL,用戶可以在認(rèn)證單元查看應(yīng)用單元的身份標(biāo)識信息,以及可以查看該驗證點擊的次數(shù)等。
[0069]圖2示出了一種基于動態(tài)口令的雙向身份認(rèn)證系統(tǒng),該系統(tǒng)包括:應(yīng)用單元201、認(rèn)證單元202 ;
[0070]所述應(yīng)用單元201,用于接收外部輸入的用戶標(biāo)識和第一動態(tài)口令,將所述用戶標(biāo)識、所述第一動態(tài)口令和預(yù)先存儲的用于驗證應(yīng)用單元的驗證信息發(fā)送給所述認(rèn)證單元,接收所述認(rèn)證單元發(fā)來的第二動態(tài)口令,輸出所述第二動態(tài)口令;
[0071]所述認(rèn)證單元202,用于接收所述用戶標(biāo)識、所述第一動態(tài)口令和所述驗證信息,根據(jù)所述用戶標(biāo)識對所述第一動態(tài)口令進(jìn)行驗證,所述第一動態(tài)口令驗證通過后,根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,如果對所述應(yīng)用單元的身份驗證通過,則所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,將所述第二動態(tài)口令發(fā)送給所述應(yīng)用單元,否則,所述認(rèn)證單元不生成第二動態(tài)口令。
[0072]在一種可能的實現(xiàn)方式中,所述認(rèn)證單元包括圖中未示出的:
[0073]第一確定子單元,用于根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第一驗證動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第一驗證動態(tài)口令的種子;
[0074]第一生成子單元,用于根據(jù)所述第一驗證動態(tài)口令的種子、時間,通過哈希算法生成第一驗證動態(tài)口令;
[0075]判斷子單元,用于判斷所述第一驗證動態(tài)口令與所述第一動態(tài)口令是否相同,如果是,則判定驗證通過,根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,否則,判定驗證失敗,發(fā)送驗證失敗信息給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證失敗消息。
[0076]在另一種可能的實現(xiàn)方式中,所述認(rèn)證單元,包括圖中未示出的:
[0077]第二確定子單元,用于根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第二動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第二動態(tài)口令的第二種子;
[0078]第二生成子單元,用于根據(jù)所述第二種子、時間,通過哈希算法生成所述第二動態(tài)口令。
[0079]其中,所述第二生成子單元具體用于根據(jù)所述第二種子,通過哈希算法生成所述第二動態(tài)口令。
[0080]所述應(yīng)用單元具體用于輸出所述第二動態(tài)口令,以使外部根據(jù)動態(tài)口令終端中的第二驗證動態(tài)口令對所述第二動態(tài)口令進(jìn)行驗證,其中,所述第一動態(tài)口令和第二驗證動態(tài)口令均在所述動態(tài)口令終端中。
[0081]另外,所述認(rèn)證單元,還用于如果對所述應(yīng)用單元的身份驗證通過,則將驗證附加信息發(fā)送給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證附加信息,其中,所述驗證附加信息,包括:所述應(yīng)用單元的身份標(biāo)識信息。
[0082]上述設(shè)備內(nèi)的各單元、子單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0083]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0084]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機(jī)可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
[0085]最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種基于動態(tài)口令的雙向身份認(rèn)證方法,其特征在于,包括: S1:應(yīng)用單元接收外部輸入的用戶標(biāo)識和第一動態(tài)口令; 52:所述應(yīng)用單元將所述用戶標(biāo)識、所述第一動態(tài)口令和預(yù)先存儲的用于驗證應(yīng)用單元的驗證信息發(fā)送給認(rèn)證單元; 53:所述認(rèn)證單元接收所述用戶標(biāo)識、所述第一動態(tài)口令和所述驗證信息; 54:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識對所述第一動態(tài)口令進(jìn)行驗證; 55:所述第一動態(tài)口令驗證通過后,所述認(rèn)證單元根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,如果驗證通過,則所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,將所述第二動態(tài)口令發(fā)送給所述應(yīng)用單元,依次執(zhí)行S6、S7,否則,所述認(rèn)證單元不生成第二動態(tài)口令; 56:所述應(yīng)用單元接收所述第二動態(tài)口令; 57:所述應(yīng)用單元輸出所述第二動態(tài)口令。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述S4包括: 541:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第一驗證動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第一驗證動態(tài)口令的種子; 542:所述認(rèn)證單元根據(jù)所述第一驗證動態(tài)口令的種子、時間,通過哈希算法生成第一驗證動態(tài)口令; S43:所述認(rèn)證單元判斷所述第一驗證動態(tài)口令與所述第一動態(tài)口令是否相同,如果是,則驗證通過,執(zhí)行步驟S5,否則,驗證失敗,所述認(rèn)證單元發(fā)送驗證失敗信息給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證失敗消息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,包括: 551:所述認(rèn)證單元根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第二動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第二動態(tài)口令的第二種子; 552:所述認(rèn)證單元根據(jù)所述第二種子、時間,通過哈希算法生成所述第二動態(tài)口令。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述S7包括: 所述應(yīng)用單元輸出所述第二動態(tài)口令,以使外部根據(jù)動態(tài)口令終端中的第二驗證動態(tài)口令對所述第二動態(tài)口令進(jìn)行驗證,其中,所述第一動態(tài)口令和第二驗證動態(tài)口令均在所述動態(tài)口令終端中。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述S5還包括:如果驗證通過,則所述認(rèn)證單元將驗證附加信息發(fā)送給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證附加信息,其中,所述驗證附加信息,包括:所述應(yīng)用單元的身份標(biāo)識信息。
6.一種基于動態(tài)口令的雙向身份認(rèn)證系統(tǒng),其特征在于,包括:應(yīng)用單元、認(rèn)證單元; 所述應(yīng)用單元,用于接收外部輸入的用戶標(biāo)識和第一動態(tài)口令,將所述用戶標(biāo)識、所述第一動態(tài)口令和預(yù)先存儲的用于驗證應(yīng)用單元的驗證信息發(fā)送給所述認(rèn)證單元,接收所述認(rèn)證單元發(fā)來的第二動態(tài)口令,輸出所述第二動態(tài)口令; 所述認(rèn)證單元,用于接收所述用戶標(biāo)識、所述第一動態(tài)口令和所述驗證信息,根據(jù)所述用戶標(biāo)識對所述第一動態(tài)口令進(jìn)行驗證,所述第一動態(tài)口令驗證通過后,根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,如果對所述應(yīng)用單元的身份驗證通過,則所述認(rèn)證單元根據(jù)所述用戶標(biāo)識生成第二動態(tài)口令,將所述第二動態(tài)口令發(fā)送給所述應(yīng)用單元,否則,所述認(rèn)證單元不生成第二動態(tài)口令。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述認(rèn)證單元包括: 第一確定子單元,用于根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第一驗證動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第一驗證動態(tài)口令的種子; 第一生成子單元,用于根據(jù)所述第一驗證動態(tài)口令的種子、時間,通過哈希算法生成第一驗證動態(tài)口令; 判斷子單元,用于判斷所述第一驗證動態(tài)口令與所述第一動態(tài)口令是否相同,如果是,則判定驗證通過,根據(jù)所述驗證信息對所述應(yīng)用單元進(jìn)行身份驗證,否則,判定驗證失敗,發(fā)送驗證失敗信息給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證失敗消息。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述認(rèn)證單元,包括: 第二確定子單元,用于根據(jù)所述用戶標(biāo)識和預(yù)先設(shè)置的用戶標(biāo)識與第二動態(tài)口令的種子的對應(yīng)關(guān)系確定所述第二動態(tài)口令的第二種子; 第二生成子單元,用于根據(jù)所述第二種子、時間,通過哈希算法生成所述第二動態(tài)口令。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述應(yīng)用單元具體用于輸出所述第二動態(tài)口令,以使外部根據(jù)動態(tài)口令終端中的第二驗證動態(tài)口令對所述第二動態(tài)口令進(jìn)行驗證,其中,所述第一動態(tài)口令和第二驗證動態(tài)口令均在所述動態(tài)口令終端中。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述認(rèn)證單元,還用于如果對所述應(yīng)用單元的身份驗證通過,則將驗證附加信息發(fā)送給所述應(yīng)用單元,以使所述應(yīng)用單元輸出所述驗證附加信息,其中,所述驗證附加信息,包括:所述應(yīng)用單元的身份標(biāo)識信息。
【文檔編號】H04L29/06GK104283691SQ201410609697
【公開日】2015年1月14日 申請日期:2014年11月3日 優(yōu)先權(quán)日:2014年11月3日
【發(fā)明者】李勇奇 申請人:北京云安世紀(jì)科技有限公司