專利名稱:一種基于Web表單的身份認(rèn)證方法及認(rèn)證裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)信息安全領(lǐng)域,特別是涉及一種基于Web表單的身份認(rèn)證方法及 認(rèn)證裝置。
背景技術(shù):
根據(jù)現(xiàn)有的Web表單應(yīng)用的工作方式,網(wǎng)站系統(tǒng)無法從提交的表單數(shù)據(jù)中判斷表 單的填寫者是否是真實(shí)的用戶。因此,用戶可以繞過表單的人工填寫步驟,通過使用通用的 Web表單自動(dòng)填寫工具或者專門針對(duì)該網(wǎng)站系統(tǒng)編寫的機(jī)器人程序,例如AI RoboForm、 海量論壇群發(fā)等軟件進(jìn)行自動(dòng)識(shí)別注冊(cè)表單、用戶批量注冊(cè)、自動(dòng)登錄等,某些用戶通過利 用此類工具進(jìn)行惡意灌水、惡意增加數(shù)據(jù)庫(kù)訪問、用特定程序暴力破解密碼、發(fā)布垃圾信息 等操作,由于自動(dòng)填寫程序或機(jī)器人程序提供的數(shù)據(jù)是虛假的,因此會(huì)嚴(yán)重干擾網(wǎng)絡(luò)系統(tǒng) 的正常運(yùn)營(yíng),而且,上述程序能夠在短時(shí)間內(nèi)產(chǎn)生大量的數(shù)據(jù),極大地妨礙了網(wǎng)站系統(tǒng)的健 康、安全運(yùn)行。此外,現(xiàn)在還出現(xiàn)了許多盜取鍵盤輸入、截屏、盜取文件功能的木馬程序,這種木 馬程序多數(shù)有惡意企圖,例如盜取QQ帳號(hào)、游戲帳號(hào)甚至銀行帳號(hào),并且一般潛伏在用戶 的電腦中,在用戶的鍵盤輸入過程中竊取用戶的數(shù)據(jù)信息,給用戶的信息安全造成很大影 響。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于Web表單的身份認(rèn)證方法,以提高信 息安全領(lǐng)域身份識(shí)別的安全性,防止木馬程序惡意竊取用戶身份信息。本發(fā)明的另一個(gè)目的是將上述識(shí)別方法應(yīng)用于實(shí)際中,提供一種基于Web表單的 身份認(rèn)證裝置,以保證上述認(rèn)證方法的實(shí)現(xiàn)和應(yīng)用。為解決上述技術(shù)問題,本發(fā)明提供了一種基于Web表單的身份認(rèn)證方法,包括預(yù)置第一 口令,由位于客戶端的口令控件按照預(yù)置算法生成第二口令;將所述第一口令和第二 口令發(fā)送至服務(wù)器端;服務(wù)器根據(jù)用戶的表單顯示請(qǐng)求,觸發(fā)Web表單生成程序;將Web表單用戶名輸入域和口令輸入域的原始標(biāo)識(shí)轉(zhuǎn)換為動(dòng)態(tài)標(biāo)識(shí),所述動(dòng)態(tài)標(biāo) 識(shí)只在當(dāng)次會(huì)話中有效; 所述Web表單生成程序依據(jù)所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)生成Web表單;客戶端顯示所述Web表單,并接收用戶在用戶名輸入域和口令輸入域輸入的用戶 名和第一口令;依據(jù)用戶的表單提交請(qǐng)求,解析出所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)和值,并將所 述用戶名輸入域和口令輸入域的動(dòng)態(tài)標(biāo)識(shí)還原為其原始標(biāo)識(shí);以及,所述口令控件根據(jù)所 述用戶名輸入域的值調(diào)用所述第二口令;將所述用戶名、第一口令和第二 口令發(fā)送至服務(wù)器進(jìn)行驗(yàn)證;
若數(shù)據(jù)庫(kù)中存在匹配的用戶名、第一口令和第二口令,則通知客戶端驗(yàn)證通過。優(yōu)選的,所述的方法,還包括服務(wù)器對(duì)所述第一 口令和第二口令進(jìn)行加密,將所述加密后的第一 口令和第二口 令在數(shù)據(jù)庫(kù)中進(jìn)行匹配;所述數(shù)據(jù)庫(kù)中存儲(chǔ)的第一口令和第二 口令是經(jīng)過加密后的第一口 令和第二 口令。優(yōu)選的,所述的方法,還包括對(duì)所述第二 口令進(jìn)行加密并保存至所述口令控件中。優(yōu)選的,所述加密是采用所述口令控件的私鑰進(jìn)行加密。優(yōu)選的,所述的方法,還包括采用所述口令控件的公鑰對(duì)所述加密的第二 口令進(jìn)行解密。本發(fā)明實(shí)施例還公開了一種基于Web表單的身份認(rèn)證裝置,包括預(yù)置單元,用于預(yù)置第一口令,由位于客戶端的口令控件按照預(yù)置算法生成第二 口令;發(fā)送單元,用于將所述第一口令和第二 口令發(fā)送至服務(wù)器端;服務(wù)器觸發(fā)單元,用于根據(jù)用戶的表單顯示請(qǐng)求,觸發(fā)Web表單生成程序;動(dòng)態(tài)標(biāo)識(shí)生成單元,用于將Web表單用戶名輸入域和口令輸入域的原始標(biāo)識(shí)轉(zhuǎn)換 為動(dòng)態(tài)標(biāo)識(shí),所述動(dòng)態(tài)標(biāo)識(shí)只在當(dāng)次會(huì)話中有效;Web表單生成程序,用于依據(jù)所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)生成Web表單;客戶端請(qǐng)求接收單元,用于顯示所述Web表單,并接收用戶在用戶名輸入域和口 令輸入域輸入的用戶名和第一口令;動(dòng)態(tài)標(biāo)識(shí)解析單元,用于依據(jù)用戶的表單提交請(qǐng)求,解析出所述Web表單輸入域 的動(dòng)態(tài)標(biāo)識(shí)和值,并將所述用戶名輸入域和口令輸入域的動(dòng)態(tài)標(biāo)識(shí)還原為其原始標(biāo)識(shí);口令控件,用于根據(jù)所述用戶名輸入域的值調(diào)用所述第二口令;驗(yàn)證發(fā)送單元,用于將所述用戶名、第一口令和第二口令發(fā)送至服務(wù)器進(jìn)行驗(yàn) 證;服務(wù)器驗(yàn)證單元,用于在判斷數(shù)據(jù)庫(kù)中存在匹配的用戶名、第一口令和第二口令 時(shí),向客戶端返回驗(yàn)證通過。優(yōu)選的,所述的裝置,還包括服務(wù)器加密單元用于通過服務(wù)器對(duì)所述第一 口令和第二口令進(jìn)行加密,將所述 加密后的第一口令和第二口令在數(shù)據(jù)庫(kù)中進(jìn)行匹配;所述數(shù)據(jù)庫(kù)中存儲(chǔ)的第一口令和第二 口令是經(jīng)過加密后的第一口令和第二口令。優(yōu)選的,所述的裝置,還包括客戶端加密單元用于在客戶端對(duì)所述第二口令進(jìn)行加密并保存至所述口令控件 中。優(yōu)選的,所述加密是采用所述口令控件的私鑰進(jìn)行加密。優(yōu)選的,所述的裝置,還包括客戶端解密單元用于對(duì)所述加密的第二口令采用所述口令控件的公鑰進(jìn)行解
密o與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
首先,本發(fā)明通過將Web表單用戶名輸入域和口令輸入域的原始標(biāo)識(shí),轉(zhuǎn)換為只 在當(dāng)次會(huì)話中有效的動(dòng)態(tài)標(biāo)識(shí),對(duì)于通用表單自動(dòng)填寫工具而言,它是無法通過錄制、回放 機(jī)制來實(shí)現(xiàn)Web表單的自動(dòng)填寫,因此本方法能夠完全有效地防止使用動(dòng)態(tài)表單自動(dòng)填寫 工具填寫表單;對(duì)于機(jī)器人程序的編寫者而言,他無法再使用傳統(tǒng)的通過查看表單HTML源 代碼人工識(shí)別Web表單輸入域名字,并在機(jī)器人程序中固定編碼輸入域名字的方法實(shí)現(xiàn)機(jī) 器人程序,因此,本發(fā)明可以有效防止Web表單地自動(dòng)填寫,從而避免某些用戶通過利用此 類工具進(jìn)行地惡意操作,保證網(wǎng)絡(luò)系統(tǒng)的正常運(yùn)營(yíng),以及網(wǎng)站系統(tǒng)的健康、安全運(yùn)行。再者,由于本發(fā)明的驗(yàn)證方法無需鍵盤輸入,并通過生成第二口令參與認(rèn)證過程, 從而有效提高了用戶密碼的安全性,防止了木馬程序惡意竊取的可能性。
圖1是本發(fā)明一種基于Web表單的身份認(rèn)證方法實(shí)施例的流程圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。本發(fā)明可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如個(gè)人計(jì)算機(jī)、服務(wù) 器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂 盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的 分布式計(jì)算環(huán)境等等。本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序 模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由 通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以 位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。參考圖1,示出了本發(fā)明一種基于Web表單的身份認(rèn)證方法實(shí)施例的流程圖,具體 可以包括以下步驟步驟101、預(yù)置第一口令,由位于客戶端的口令控件按照預(yù)置算法生成第二口令;使用本發(fā)明初次登錄系統(tǒng)時(shí),用戶需要在客戶端輸入用戶名,并預(yù)置第一 口令進(jìn) 行注冊(cè)。此時(shí),客戶端中的口令控件會(huì)按照預(yù)置算法隨機(jī)生成第二口令。其中,所述口令控 件是瀏覽器支持的控件類型,例如,Active X控件,并且,所述口令控件配合網(wǎng)站實(shí)現(xiàn)相關(guān) 網(wǎng)頁(yè)功能。所述第二口令是利用簡(jiǎn)單的隨機(jī)數(shù)和字母產(chǎn)生,例如,可以采用系統(tǒng)/編程語(yǔ)言 提供的隨機(jī)函數(shù)生成隨機(jī)數(shù)字的方法生成,具體為先隨機(jī)生成一個(gè)8位的數(shù)字,比如12345678 ;然后再隨機(jī)生成1-5的隨機(jī)數(shù)字,比如3,表示接下來隨機(jī)產(chǎn)生幾個(gè)字母;然后根據(jù)前一個(gè)隨機(jī)數(shù)字,分別生成3個(gè)1-26之間的隨機(jī)數(shù)字,并按照字母順序 替換為對(duì)應(yīng)的字母,比如a、e、z ;然后再對(duì)每個(gè)字母生成一個(gè)1-8的隨機(jī)數(shù)字,表示該字母插入最開始的8位數(shù)字的哪個(gè)位置后,比如1,5,8 ;最后得到一個(gè)隨機(jī)數(shù)字和字母串,比如Ia2345e678z。當(dāng)然,采用系統(tǒng)/編程語(yǔ)言提供的隨機(jī)函數(shù)生成隨機(jī)數(shù)字的方法僅僅是本發(fā)明采 用的一種方式,本領(lǐng)域技術(shù)人員可以采用其他方式生成所述第二 口令,本發(fā)明對(duì)此不加以 限制。步驟102、將所述第一 口令和第二口令發(fā)送至服務(wù)器端。優(yōu)選的是,服務(wù)器接收到所述第一 口令和第二 口令后,對(duì)所述第一 口令和第二 口 令進(jìn)行合法性判斷。步驟103、服務(wù)器根據(jù)用戶的表單顯示請(qǐng)求,觸發(fā)Web表單生成程序;Web表單是網(wǎng)站系統(tǒng)基于Web頁(yè)面,與用戶交互的主要手段之一,用戶可以通過在 Web表單上輸入憑據(jù),例如,用戶名和密碼,來表明自己的身份。在收到這些憑據(jù)后,Web應(yīng) 用程序?qū)φ諗?shù)據(jù)源檢查用戶的憑據(jù),如上所述用戶名和密碼,以驗(yàn)證用戶的身份。在實(shí)際 中,當(dāng)網(wǎng)站系統(tǒng)需要從用戶處取得輸入時(shí),它會(huì)提供給用戶一個(gè)包含Web表單的頁(yè)面,其中 包含多個(gè)具有名字的輸入域。用戶在輸入域填寫信息,并將填寫完成后的表單提交給網(wǎng)站 系統(tǒng)。網(wǎng)站系統(tǒng)從提交的表單中根據(jù)名字檢查用戶填寫的值,對(duì)這些值進(jìn)行驗(yàn)證并進(jìn)行后 續(xù)的處理。在本發(fā)明中,用戶向網(wǎng)站服務(wù)器請(qǐng)求顯示W(wǎng)eb表單即可觸發(fā)服務(wù)器中的表單生 成程序。步驟104、將Web表單用戶名輸入域和口令輸入域的原始標(biāo)識(shí)轉(zhuǎn)換為動(dòng)態(tài)標(biāo)識(shí),所 述動(dòng)態(tài)標(biāo)識(shí)只在當(dāng)次會(huì)話中有效;本步驟可以將Web表單中每一個(gè)輸入域的原始標(biāo)識(shí),例如,user_name,通過預(yù)置 算法隨機(jī)生成一個(gè)只在本次表單處理中有效的動(dòng)態(tài)名字,即生成所述Web表單輸入域的動(dòng) 態(tài)標(biāo)識(shí)。優(yōu)選的是,所述算法包括以下步驟將所述Web表單輸入域的原始標(biāo)識(shí)與時(shí)間戳值和隨機(jī)字符串構(gòu)成新字符串;根據(jù)所述新字符串生成所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)。例如,首先將所述Web表單輸入域的原始標(biāo)識(shí)(比如userjame)連接一個(gè) 隨機(jī)字符串599aalb2f71447cdfcd469d8ade45b09,再連接當(dāng)前精確到毫秒的時(shí)間戳 值 1160933500109,構(gòu)成一個(gè)新的字符串 user_name | 599aalb2f71447cdfcd469d8ade45 b09|1160933500109 ;然后對(duì)這個(gè)新字符串進(jìn)行加密,加密算法可以是DES、Blowfish等具備唯一性和 還原性的算法,對(duì)于選擇何種法加密算法,本發(fā)明對(duì)此不作限制。對(duì)該新字符串進(jìn)行加密之后可以再進(jìn)行一個(gè)簡(jiǎn)單的替換運(yùn)算,將加密后的字符串 中的字符替換為一個(gè)合法的參數(shù)名字,例如,將/替換為_1,將=替換為_2,則加密后的動(dòng) 態(tài)字符串為 bHdiLTP4JaN86HXX9aAq_lsuNoVscI2zRxiywW0pwEYytl3AypG9MeyCcQTptUXXtLn _lpg4QITVw_2,則這個(gè)動(dòng)態(tài)字符串為所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)。由于所述算法都具有還原性,因此,當(dāng)需要根據(jù)所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí) 還原所述原始標(biāo)識(shí)時(shí),例如,當(dāng)需要采用所述Web表單輸入域的原始標(biāo)識(shí)替換所述動(dòng)態(tài)標(biāo) 識(shí)時(shí),通過逆運(yùn)算還原的方法即可根據(jù)上述動(dòng)態(tài)字符串執(zhí)行所述加密算法與替換算法的逆 運(yùn)算對(duì)所述動(dòng)態(tài)字符串進(jìn)行解密和還原,根據(jù)上例,即可還原得到所述原始標(biāo)識(shí)、隨機(jī)字符 串和時(shí)間戳值。
在實(shí)際中,以上將時(shí)間戳值加入字符串的算法除了可以保證所述動(dòng)態(tài)標(biāo)識(shí)具有很 高地唯一性以外,還有以下好處當(dāng)通過上述算法從所述動(dòng)態(tài)標(biāo)識(shí)中還原獲得時(shí)間戳值后,可以根據(jù)該時(shí)間戳值對(duì) 這個(gè)動(dòng)態(tài)標(biāo)識(shí)進(jìn)行檢驗(yàn)。具體地檢驗(yàn)過程為判斷這個(gè)時(shí)間戳值的時(shí)間相比當(dāng)前時(shí)間戳值 是否超過預(yù)置的表單填寫時(shí)間(例如,30分鐘),這個(gè)表單填寫時(shí)間可以根據(jù)需要設(shè)置任意 值,本發(fā)明對(duì)此不作限制。如果沒有超過這個(gè)預(yù)置時(shí)間,則認(rèn)為這個(gè)動(dòng)態(tài)標(biāo)識(shí)是有效標(biāo)識(shí), 可以應(yīng)用于后續(xù)操作中;然而,如果超過了上述預(yù)置時(shí)間,則認(rèn)為這個(gè)動(dòng)態(tài)標(biāo)識(shí)是無效標(biāo) 識(shí),需要對(duì)應(yīng)原來的原始標(biāo)識(shí)重新生成。需要說明的是,所述動(dòng)態(tài)標(biāo)識(shí)只在當(dāng)次會(huì)話中有效,即當(dāng)用戶第一次打開應(yīng)用程 序中的某一頁(yè)時(shí),用戶會(huì)話就此開始。當(dāng)用戶一段時(shí)間內(nèi)不再打開該應(yīng)用程序中的其它頁(yè) 時(shí),或者用戶明確終止該會(huì)話時(shí),會(huì)話即告結(jié)束。動(dòng)態(tài)標(biāo)識(shí)只在本次會(huì)話中有效,并且隨著 會(huì)話結(jié)束而被自動(dòng)銷毀。步驟105、所述Web表單生成程序依據(jù)所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)生成Web表 單;客戶端顯示所述Web表單,并接收用戶在用戶名輸入域和口令輸入域輸入的用戶 名和第一口令;在這種情況下,一組用戶名和第一 口令對(duì)應(yīng)于一個(gè)第二 口令,由于所述第二口令 是由口令控件生成的,而不是通過用戶鍵盤輸入的,因而不可能被盜取鍵盤輸入的木馬程 序竊,具有較高的安全性。步驟107、依據(jù)用戶的表單提交請(qǐng)求,解析出所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)和 值,并將所述用戶名輸入域和口令輸入域的動(dòng)態(tài)標(biāo)識(shí)還原為其原始標(biāo)識(shí);以及,所述口令控 件根據(jù)所述用戶名輸入域的值調(diào)用所述第二口令;在具體實(shí)現(xiàn)中,用戶填寫所述Web表單的輸入域,客戶端接收用戶輸入的表單數(shù) 據(jù)并將表單提交至網(wǎng)站的服務(wù)器,服務(wù)器接收到這些表單數(shù)據(jù)后,從中解析出表單輸入域 的名字和值,即解析出所述Web表單的輸入域的動(dòng)態(tài)標(biāo)識(shí)和用戶輸入的表單數(shù)據(jù),并將接 受到的每一個(gè)輸入域的動(dòng)態(tài)標(biāo)識(shí)都還原成輸入域的原始標(biāo)識(shí),即其原始名字,用以使所述 Web表單輸入域的原始標(biāo)識(shí)替換所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí),步驟108、將所述用戶名、第一口令和第二 口令發(fā)送至服務(wù)器進(jìn)行驗(yàn)證;步驟109、判斷數(shù)據(jù)庫(kù)中是否存在匹配的用戶名、第一口令和第二口令,如果存在, 則通知客戶端驗(yàn)證通過。特別的是,本發(fā)明將所述第二口令發(fā)送至服務(wù)端后,如果服務(wù)器確認(rèn)所述第二口 令是合法的,則對(duì)所述第二口令進(jìn)行加密,并保存在所述口令控件中。優(yōu)選的是,所述加密 為采用非對(duì)稱加密的公鑰體系來進(jìn)行加密。非對(duì)稱式加密的加密和解密所使用的不是同一 個(gè)密鑰,通常需要兩個(gè)密鑰公鑰(public key)和私鑰(private key)。公鑰與私鑰是一 對(duì),私鑰由加密方保存,公鑰向所有用戶公開,這種公開公鑰的方式解決了密鑰交換過程中 的安全問題。如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開密鑰才能解密。當(dāng)加 密方使用自己的私鑰進(jìn)行數(shù)據(jù)加密,相當(dāng)于在數(shù)據(jù)上做數(shù)字簽名,解密方用公鑰解密數(shù)據(jù), 由于私鑰只有加密方才有,如果解密方能夠正常解密,則表明數(shù)據(jù)一定來自加密方,加密方 不能否認(rèn),并且保證了數(shù)據(jù)并非假冒和沒有在傳輸過程中被修改。這種方式比對(duì)稱加密算法的具有更好安全性。本發(fā)明采用公鑰和私鑰的非對(duì)稱加密體系,生成一系列的公鑰私鑰對(duì),在所述口 令控件中生成一系列的公鑰私鑰對(duì),優(yōu)選的是,所述口令控件用自己的私鑰加密第二口令, 其目的是將所述第二口令保存為本地的一個(gè)文件,當(dāng)下次機(jī)器重啟再訪問這個(gè)口令控件的 時(shí)候,所述口令控件采用自己相應(yīng)的公鑰對(duì)加密的第二口令進(jìn)行解密,如果能正確解密,則 將解密的第二口令發(fā)送至服務(wù)器,即發(fā)送至服務(wù)器的是已經(jīng)解密的第二 口令。然后,服務(wù)器將用戶名、第一口令和所述第二 口令在數(shù)據(jù)庫(kù)中進(jìn)行匹配。如果數(shù)據(jù) 庫(kù)中存在匹配的用戶名、第一 口令和第二口令,則向客戶端返回驗(yàn)證通過,如果不存在,則 向客戶端返回驗(yàn)證失敗。為進(jìn)一步保證用戶數(shù)據(jù)的安全性,優(yōu)選的是,本發(fā)明的服務(wù)器對(duì)所述第一 口令和 第二口令進(jìn)行加密,并將所述加密后的第一口令和第二 口令在數(shù)據(jù)庫(kù)中進(jìn)行匹配;在這種 情況下,所述數(shù)據(jù)庫(kù)中存儲(chǔ)的第一口令和第二口令是經(jīng)過加密后的第一口令和第二口令。 其中,進(jìn)行加密的算法優(yōu)選為采用MD5算法,當(dāng)然,采用現(xiàn)有技術(shù)中的其它加密算法也是可 行的,本領(lǐng)域技術(shù)人員根據(jù)需要選擇即可,本發(fā)明對(duì)此不作限制。需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列 的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)?依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知 悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明 所必須的。本發(fā)明還提供了一種基于Web表單的身份認(rèn)證裝置實(shí)施例,具體可以包括以下單 元預(yù)置單元,用于預(yù)置第一口令,由位于客戶端的口令控件按照預(yù)置算法生成第二 口令;發(fā)送單元,用于將所述第一口令和第二 口令發(fā)送至服務(wù)器端;服務(wù)器觸發(fā)單元,用于根據(jù)用戶的表單顯示請(qǐng)求,觸發(fā)Web表單生成程序;動(dòng)態(tài)標(biāo)識(shí)生成單元,用于將Web表單用戶名輸入域和口令輸入域的原始標(biāo)識(shí)轉(zhuǎn)換 為動(dòng)態(tài)標(biāo)識(shí),所述動(dòng)態(tài)標(biāo)識(shí)只在當(dāng)次會(huì)話中有效;Web表單生成程序,用于依據(jù)所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)生成Web表單;客戶端請(qǐng)求接收單元,用于顯示所述Web表單,并接收用戶在用戶名輸入域和口 令輸入域輸入的用戶名和第一口令;動(dòng)態(tài)標(biāo)識(shí)解析單元,用于依據(jù)用戶的表單提交請(qǐng)求,解析出所述Web表單輸入域 的動(dòng)態(tài)標(biāo)識(shí)和值,并將所述用戶名輸入域和口令輸入域的動(dòng)態(tài)標(biāo)識(shí)還原為其原始標(biāo)識(shí);口令控件,用于根據(jù)所述用戶名輸入域的值調(diào)用所述第二口令;驗(yàn)證發(fā)送單元,用于將所述用戶名、第一口令和第二口令發(fā)送至服務(wù)器進(jìn)行驗(yàn) 證;服務(wù)器驗(yàn)證單元,用于在判斷數(shù)據(jù)庫(kù)中存在匹配的用戶名、第一口令和第二口令 時(shí),向客戶端返回驗(yàn)證通過。優(yōu)選的是,本發(fā)明的裝置還包括服務(wù)器加密單元用于通過服務(wù)器對(duì)所述第一口 令和第二口令進(jìn)行加密,將所述加密后的第一口令和第二口令在數(shù)據(jù)庫(kù)中進(jìn)行匹配;所述數(shù)據(jù)庫(kù)中存儲(chǔ)的第一口令和第二口令是經(jīng)過加密后的第一口令和第二口令。優(yōu)選的是,本發(fā)明的裝置還包括客戶端加密單元用于在客戶端對(duì)所述第二口令 進(jìn)行加密并保存至所述口令控件中。所述加密是采用所述口令控件的私鑰進(jìn)行加密。優(yōu)選的是,本發(fā)明的裝置還包括客戶端解密單元用于對(duì)所述加密的第二 口令采 用所述口令控件的公鑰進(jìn)行解密。由于所述裝置實(shí)施例與方法實(shí)施例相應(yīng),相關(guān)內(nèi)容和詳細(xì)的實(shí)施過程已經(jīng)在前述 部分進(jìn)行了詳細(xì)描述,在此就不再贅述。以上對(duì)本發(fā)明所提供的一種基于Web表單的身份認(rèn)證方法及基于Web表單的身 份認(rèn)證裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡 述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的 一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所 述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
一種基于Web表單的身份認(rèn)證方法,其特征在于,包括預(yù)置第一口令,由位于客戶端的口令控件按照預(yù)置算法生成第二口令;將所述第一口令和第二口令發(fā)送至服務(wù)器端;服務(wù)器根據(jù)用戶的表單顯示請(qǐng)求,觸發(fā)Web表單生成程序;將Web表單用戶名輸入域和口令輸入域的原始標(biāo)識(shí)轉(zhuǎn)換為動(dòng)態(tài)標(biāo)識(shí),所述動(dòng)態(tài)標(biāo)識(shí)只在當(dāng)次會(huì)話中有效;所述Web表單生成程序依據(jù)所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)生成Web表單;客戶端顯示所述Web表單,并接收用戶在用戶名輸入域和口令輸入域輸入的用戶名和第一口令;依據(jù)用戶的表單提交請(qǐng)求,解析出所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)和值,并將所述用戶名輸入域和口令輸入域的動(dòng)態(tài)標(biāo)識(shí)還原為其原始標(biāo)識(shí);以及,所述口令控件根據(jù)所述用戶名輸入域的值調(diào)用所述第二口令;將所述用戶名、第一口令和第二口令發(fā)送至服務(wù)器進(jìn)行驗(yàn)證;若數(shù)據(jù)庫(kù)中存在匹配的用戶名、第一口令和第二口令,則通知客戶端驗(yàn)證通過。
2.如權(quán)利要求1所述的方法,其特征在于,還包括服務(wù)器對(duì)所述第一 口令和第二 口令進(jìn)行加密,將所述加密后的第一口令和第二 口令在 數(shù)據(jù)庫(kù)中進(jìn)行匹配;所述數(shù)據(jù)庫(kù)中存儲(chǔ)的第一口令和第二口令是經(jīng)過加密后的第一口令和 第二口令。
3.如權(quán)利要求1或2所述的方法,其特征在于,還包括 對(duì)所述第二 口令進(jìn)行加密并保存至所述口令控件中。
4.如權(quán)利要求3所述的方法,其特征在于,所述加密是采用所述口令控件的私鑰進(jìn)行 加密。
5.如權(quán)利要求4所述的方法,其特征在于,還包括采用所述口令控件的公鑰對(duì)所述加密的第二口令進(jìn)行解密。
6.一種基于Web表單的身份認(rèn)證裝置,其特征在于,包括預(yù)置單元,用于預(yù)置第一 口令,由位于客戶端的口令控件按照預(yù)置算法生成第二口令;發(fā)送單元,用于將所述第一口令和第二口令發(fā)送至服務(wù)器端; 服務(wù)器觸發(fā)單元,用于根據(jù)用戶的表單顯示請(qǐng)求,觸發(fā)Web表單生成程序; 動(dòng)態(tài)標(biāo)識(shí)生成單元,用于將Web表單用戶名輸入域和口令輸入域的原始標(biāo)識(shí)轉(zhuǎn)換為動(dòng) 態(tài)標(biāo)識(shí),所述動(dòng)態(tài)標(biāo)識(shí)只在當(dāng)次會(huì)話中有效;Web表單生成程序,用于依據(jù)所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)生成Web表單; 客戶端請(qǐng)求接收單元,用于顯示所述Web表單,并接收用戶在用戶名輸入域和口令輸 入域輸入的用戶名和第一口令;動(dòng)態(tài)標(biāo)識(shí)解析單元,用于依據(jù)用戶的表單提交請(qǐng)求,解析出所述Web表單輸入域的動(dòng) 態(tài)標(biāo)識(shí)和值,并將所述用戶名輸入域和口令輸入域的動(dòng)態(tài)標(biāo)識(shí)還原為其原始標(biāo)識(shí); 口令控件,用于根據(jù)所述用戶名輸入域的值調(diào)用所述第二口令; 驗(yàn)證發(fā)送單元,用于將所述用戶名、第一 口令和第二口令發(fā)送至服務(wù)器進(jìn)行驗(yàn)證; 服務(wù)器驗(yàn)證單元,用于在判斷數(shù)據(jù)庫(kù)中存在匹配的用戶名、第一口令和第二口令時(shí),向客戶端返回驗(yàn)證通過。
7.如權(quán)利要求6所述的裝置,其特征在于,還包括服務(wù)器加密單元用于通過服務(wù)器對(duì)所述第一口令和第二 口令進(jìn)行加密,將所述加密 后的第一口令和第二口令在數(shù)據(jù)庫(kù)中進(jìn)行匹配;所述數(shù)據(jù)庫(kù)中存儲(chǔ)的第一口令和第二口令 是經(jīng)過加密后的第一口令和第二口令。
8.如權(quán)利要求6或7所述的裝置,其特征在于,還包括客戶端加密單元用于在客戶端對(duì)所述第二口令進(jìn)行加密并保存至所述口令控件中。
9.如權(quán)利要求8所述的裝置,其特征在于,所述加密是采用所述口令控件的私鑰進(jìn)行 加密。
10.如權(quán)利要求9所述的裝置,其特征在于,還包括客戶端解密單元用于對(duì)所述加密的第二口令采用所述口令控件的公鑰進(jìn)行解密。
全文摘要
本發(fā)明公開了一種基于Web表單的身份認(rèn)證方法,包括將預(yù)置的第一口令和客戶端口令控件生成的第二口令發(fā)送至服務(wù)器端;服務(wù)器觸發(fā)Web表單生成程序;將Web表單用戶名輸入域和口令輸入域的原始標(biāo)識(shí)轉(zhuǎn)換為動(dòng)態(tài)標(biāo)識(shí);所述Web表單生成程序依據(jù)所述Web表單輸入域的動(dòng)態(tài)標(biāo)識(shí)生成Web表單;客戶端顯示所述Web表單,并接收用戶輸入的用戶名和第一口令;依據(jù)用戶的表單提交請(qǐng)求,解析動(dòng)態(tài)標(biāo)識(shí)并還原為其原始標(biāo)識(shí);所述口令控件調(diào)用所述第二口令;然后將所述用戶名、第一口令和第二口令發(fā)送至服務(wù)器進(jìn)行驗(yàn)證。本發(fā)明可以提高信息安全領(lǐng)域身份識(shí)別的安全性,防止木馬程序惡意竊取用戶身份信息。
文檔編號(hào)H04L29/06GK101924734SQ20091008728
公開日2010年12月22日 申請(qǐng)日期2009年6月15日 優(yōu)先權(quán)日2009年6月15日
發(fā)明者李東亞, 郭勇 申請(qǐng)人:北京華智大為科技有限公司