專利名稱:一種動(dòng)態(tài)密碼認(rèn)證的方法及服務(wù)端系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及密碼認(rèn)證領(lǐng)域,特別是涉及一種動(dòng)態(tài)密碼認(rèn)證的方法和服務(wù)端 系統(tǒng)。
背景技術(shù):
在現(xiàn)實(shí)生活中,我們個(gè)人的身份主要通過各種證件來確認(rèn),比如身份證、 戶口本等,而計(jì)算機(jī)的各種系統(tǒng)資源(如文件、數(shù)據(jù)和應(yīng)用系統(tǒng)等)也需要 認(rèn)證機(jī)制的保護(hù),從而確保這些資源被適格的人使用。
目前各類計(jì)算資源主要通過密碼認(rèn)證方式進(jìn)行保護(hù), 一般使用靜態(tài)密碼認(rèn) -i正和動(dòng)態(tài)密碼iU正兩種方式。
靜態(tài)密碼認(rèn)證方式采用的是"用戶名+ 口令"的認(rèn)證方式。用戶登錄時(shí), 應(yīng)用服務(wù)器通過靜態(tài)密碼進(jìn)行身份認(rèn)證,確認(rèn)用戶是否為合法的授權(quán)用戶。這 種認(rèn)證的缺點(diǎn)在于由于用戶的帳號(hào)是固定的明文,密碼是靜態(tài)的,用戶在很 長時(shí)間內(nèi)不會(huì)更改密碼,造成這種密碼很容易被竊??;對(duì)這種認(rèn)證方式常用的 有效攻擊方式有網(wǎng)絡(luò)數(shù)據(jù)流竊聽、認(rèn)證信息截取/重放、字典攻擊、窮舉嘗試、 窺探、社交工程等;由于這種認(rèn)證方式存在較多的安全漏洞,對(duì)客戶的身份進(jìn) 行認(rèn)證的安全強(qiáng)度已經(jīng)不能滿足現(xiàn)代各類應(yīng)用系統(tǒng)的要求。
針對(duì)靜態(tài)密碼認(rèn)證的缺點(diǎn),動(dòng)態(tài)密碼認(rèn)證可以提高認(rèn)證的安全強(qiáng)度。動(dòng)態(tài) 密碼也稱一次密碼,其動(dòng)態(tài)來源于產(chǎn)生密碼的運(yùn)算因子隨時(shí)間變化。目前網(wǎng)上 銀行用戶在登錄網(wǎng)上銀行的時(shí)候,網(wǎng)上銀行會(huì)向用戶的手機(jī)上發(fā)送一條短信, 告訴用戶一個(gè)一次性有效的動(dòng)態(tài)密碼,用戶除了輸入客戶號(hào)、靜態(tài)密碼外,還 要輸入這個(gè)動(dòng)態(tài)密碼才能登錄網(wǎng)上銀行。這樣,除了靜態(tài)密碼認(rèn)證外,用戶又 多了一重安全保障,而且,由于這個(gè)動(dòng)態(tài)密碼是每次不同,每個(gè)密碼只能使用 一次,黑客即使竊取了本次的動(dòng)態(tài)密碼,也無法再次使用,而且每個(gè)動(dòng)態(tài)密碼 之間毫無規(guī)律的,黑客不能猜測(cè)出用戶的下一個(gè)動(dòng)態(tài)密碼。這種方式的缺點(diǎn)在 于需要依賴于移動(dòng)通信網(wǎng)絡(luò),當(dāng)移動(dòng)通信網(wǎng)絡(luò)出現(xiàn)故障或者手機(jī)接收短信故障 時(shí),導(dǎo)致用戶無法實(shí)時(shí)接收短信,而動(dòng)態(tài)密碼通常會(huì)在很短的時(shí)間內(nèi)就失效, 影響了用戶的登錄。
動(dòng)態(tài)密碼認(rèn)證的另 一種方式是釆用預(yù)先發(fā)放的密碼口令卡進(jìn)行認(rèn)證,如, 目前中國工商銀行推出網(wǎng)上銀行客戶使用的電子銀行密碼口令卡,網(wǎng)上銀行客 戶可申請(qǐng)領(lǐng)取該卡。每張網(wǎng)上銀行密碼口令卡上都以矩陣形式印有若干字符
串??蛻敉ㄟ^網(wǎng)上銀行進(jìn)行對(duì)外轉(zhuǎn)賬、繳費(fèi)等支付交易時(shí),網(wǎng)上銀行系統(tǒng)會(huì)隨 機(jī)給出 一組口令卡坐標(biāo)??蛻舭醋鴺?biāo)在卡片上找到正確的口令組合并輸入網(wǎng)上
銀行系統(tǒng)后,才能進(jìn)行相關(guān)交易。密碼口令卡的有效使用次數(shù)是1000次,超 過使用次數(shù)時(shí)需要申領(lǐng)新卡。這種方式的缺點(diǎn)在于采用實(shí)物密碼口令卡,不 易保存,容易丟失;使用前,需要客戶申請(qǐng),并去專門場(chǎng)所領(lǐng)取,領(lǐng)用不便; 更換時(shí)也必須重新申領(lǐng)新的密碼口令卡,更換卡不便;有效使用次數(shù)較多,造 成有效時(shí)間長,多數(shù)密碼在有效期內(nèi)會(huì)被重復(fù)使用,容易失密。
總之,現(xiàn)有的密碼認(rèn)證方法都存在一些缺陷,導(dǎo)致密碼不能及時(shí)接收、不 易保存、使用不便和容易失密的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種更方便更安全的動(dòng)態(tài)密碼認(rèn)證的 方法和系統(tǒng),以解決現(xiàn)有技術(shù)中密碼不能及時(shí)接收、不易保存、使用不便和容 易失密的問題。
為了解決上述技術(shù)問題,本發(fā)明公開了一種動(dòng)態(tài)密碼認(rèn)證的方法,包括下 列步驟
預(yù)置用戶帳號(hào)和用戶移動(dòng)終端設(shè)備號(hào)碼的對(duì)應(yīng)關(guān)系; 根據(jù)用戶的請(qǐng)求,隨機(jī)生成字符串,并發(fā)送給用戶移動(dòng)終端設(shè)備; 根據(jù)用戶的認(rèn)證申請(qǐng)隨機(jī)生成密碼提示信息,并把所述密碼提示信息發(fā)送
給客戶端,所述密碼提示信息規(guī)定了所述字符串中特定位的字符組合為本次認(rèn)
證申請(qǐng)的動(dòng)態(tài)密碼;
用戶根據(jù)所述移動(dòng)終端設(shè)備收到的字符串和所述客戶端收到的密碼提示
信息輸入動(dòng)態(tài)密碼;
判斷用戶輸入的動(dòng)態(tài)密碼的有效性,如杲有效,則認(rèn)證通過。 優(yōu)選的,在生成密碼提示信息之前,所述方法還包括 判斷該用戶帳號(hào)對(duì)應(yīng)的所述隨機(jī)生成的字符串是否位于有效期內(nèi); 如果是,則不再生成新的隨機(jī)字符串。
優(yōu)選的,所述字符串是由數(shù)字、字母、符號(hào)或者三者混合組成的。
優(yōu)選的,所述密碼提示信息中所規(guī)定的特定位是所述字符串中連續(xù)的或者 是不連續(xù)的位。
優(yōu)選的,所述認(rèn)證申請(qǐng)還包括靜態(tài)密碼認(rèn)證申請(qǐng),對(duì)所述靜態(tài)密碼進(jìn)行認(rèn) 證,如果認(rèn)證通過,則繼續(xù)進(jìn)行動(dòng)態(tài)密碼的認(rèn)證,否則,認(rèn)證失敗。
本發(fā)明還提供了 一種動(dòng)態(tài)密碼認(rèn)證的服務(wù)端系統(tǒng),通過移動(dòng)通信網(wǎng)絡(luò)和用
戶移動(dòng)終端設(shè)備連接,并通過互聯(lián)網(wǎng)絡(luò)和用戶客戶端相連,包括以下部件 第一存儲(chǔ)單元,用于存儲(chǔ)用戶帳號(hào)和用戶移動(dòng)終端號(hào)碼的對(duì)應(yīng)關(guān)系; 字符串生成單元,用于隨機(jī)生成字符串;
第一動(dòng)態(tài)密碼生成單元,根據(jù)用戶的認(rèn)證申請(qǐng)隨機(jī)生成密碼提示信息,所 述密碼提示信息規(guī)定了所述字符串中特定位的字符組合為本次認(rèn)證申請(qǐng)的動(dòng) 態(tài)密碼;
接口單元,用于將所述字符串發(fā)送給所述移動(dòng)終端設(shè)備,并接收用戶客戶 端發(fā)出的認(rèn)證申請(qǐng),以及將所述密碼提示信息發(fā)送給所述用戶移動(dòng)終端設(shè)備, 接收用戶輸入的動(dòng)態(tài)密碼;
動(dòng)態(tài)密碼-瞼^i正單元,用于判斷用戶輸入的動(dòng)態(tài)密碼的有效性,如果有效, 則認(rèn)證通過。
的字符串是否位于有效期內(nèi),如果是,則不再生成新的隨機(jī)字符串。 優(yōu)選的,所述字符串是由數(shù)字、字母、符號(hào)或者三者混合組成的串。 優(yōu)選的,所述密碼提示信息中所規(guī)定的特定位是所述字符串中連續(xù)的或者
是不連續(xù)的位。
優(yōu)選的,所述系統(tǒng)還包括
第二存儲(chǔ)單元,用于存儲(chǔ)用戶帳號(hào)以及相應(yīng)的靜態(tài)密碼;
靜態(tài)密碼驗(yàn)證單元,與第二存儲(chǔ)單元相連,用于驗(yàn)證用戶輸入的靜態(tài)密碼。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)
1、 使用移動(dòng)終端設(shè)備短信方式傳遞和保存用于生成動(dòng)態(tài)密碼的字符串, 不使用實(shí)物密碼卡,字符串易于保存,不易丟失。
2、 由服務(wù)器端根據(jù)用戶請(qǐng)求隨機(jī)生成字符串,并發(fā)送到客戶的移動(dòng)終端 設(shè)備保存,不需要客戶進(jìn)行申請(qǐng)手續(xù),不需要去專門的場(chǎng)所領(lǐng)用和更換,使用方便。
3、 用于生成動(dòng)態(tài)密碼的字符串具有一定的有效期,在有效期內(nèi),可以重 復(fù)使用,客戶不需要實(shí)時(shí)接收短信,移動(dòng)通信網(wǎng)絡(luò)故障或延遲對(duì)客戶身份認(rèn)證
影響小。
4、 每次使用時(shí),由服務(wù)器端隨機(jī)確定字符串中的某幾位為認(rèn)證密碼,下 次使用時(shí),服務(wù)器端會(huì)再次生成新的認(rèn)證密碼,當(dāng)某次認(rèn)證密碼失密時(shí),不會(huì) 造成字符串失密,不會(huì)影響下次認(rèn)證,攻擊者無法使用失密的認(rèn)證密碼通過認(rèn) 證。
圖1是本發(fā)明的方法流程圖; 圖2是本發(fā)明的方法實(shí)施例流程圖; 圖3是本發(fā)明的系統(tǒng)框圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
參照?qǐng)D1,是本發(fā)明的方法流程圖,具體包括以下步驟 步驟101,預(yù)置用戶帳號(hào)和用戶移動(dòng)終端設(shè)備號(hào)碼的對(duì)應(yīng)關(guān)系。 在服務(wù)器端,預(yù)先存儲(chǔ)用戶的信息,其中包括用戶帳號(hào)、用戶移動(dòng)終端設(shè) 備號(hào)碼等信息,可以要求用戶在注冊(cè)時(shí)提供這些信息,或者由其它系統(tǒng)的用戶 數(shù)據(jù)導(dǎo)入得到,也可以是由專門的錄入員進(jìn)行信息錄入,用戶移動(dòng)終端設(shè)備可 以是用戶的手機(jī)、掌上電腦等設(shè)備,用戶移動(dòng)設(shè)備的編號(hào)可以是SIM卡(用 戶身份識(shí)別卡)的號(hào)碼,為了保證用戶移動(dòng)終端設(shè)備能順利接收下面步驟中發(fā) 給用戶的信息,可以在建立用戶時(shí),向用戶移動(dòng)終端設(shè)備發(fā)送驗(yàn)證短信,由用 戶回填短信中的驗(yàn)證碼來確認(rèn)用戶移動(dòng)終端設(shè)備號(hào)碼正確,這樣可以防止信息 失密或者短信騷擾。簡(jiǎn)而言之,就是在服務(wù)器端建立了用戶帳號(hào)和用戶移動(dòng)終 端設(shè)備號(hào)碼的對(duì)應(yīng)關(guān)系,也可以根據(jù)系統(tǒng)的實(shí)際需要確認(rèn)是否需要一對(duì)多或者 多對(duì)一的關(guān)系。
步驟102,根據(jù)用戶的請(qǐng)求,隨機(jī)生成字符串,并發(fā)送給用戶移動(dòng)終端設(shè)備。
所述的字符串將在后續(xù)步驟中用于產(chǎn)生用戶的認(rèn)證密碼,關(guān)于如何產(chǎn)生的 問題將在后文中介紹。所述字符串采用隨機(jī)生成的方式產(chǎn)生,字符串的位數(shù)可 以根據(jù)需要任意確定,理論上可以是l到無窮大,字符串的位數(shù)越大,可以生 成的動(dòng)態(tài)密碼的位數(shù)就可以越大,密碼認(rèn)證的安全性就可以越高,考慮傳送字 符串和用戶查閱字符串方便性,可以將字符串限制在一個(gè)合理的長度,字符串 的生成可以采用程序設(shè)計(jì)語言中的隨機(jī)函數(shù)生成,也可以自行編寫函數(shù)實(shí)現(xiàn)。 生成字符串后,把字符串綁定到用戶帳號(hào)上,可以用戶帳號(hào)和字符串對(duì)應(yīng)關(guān)系 保存在服務(wù)器端,綁定后,把字符串發(fā)送給用戶移動(dòng)終端設(shè)備,用于用戶產(chǎn)生 動(dòng)態(tài)密碼之用。
服務(wù)器端可以使用短信方式把所述字符串發(fā)送給用戶移動(dòng)終端設(shè)備。移動(dòng) 終端設(shè)備也可以采用其他方式獲取字符串,例如,可以由服務(wù)器端發(fā)送一個(gè)網(wǎng) 址給移動(dòng)終端設(shè)備,移動(dòng)終端設(shè)備按照網(wǎng)址上網(wǎng)找到需要的字符串。
用戶的請(qǐng)求信息可以是注冊(cè)申請(qǐng)、重要操作申請(qǐng)或者是要求更新字符串的 申請(qǐng)等,由這些申請(qǐng)來觸發(fā)服務(wù)器端生成字符串。
優(yōu)選的,所述隨機(jī)生成的字符串具有一定的有效期,由服務(wù)器端判斷所述 字符串是否超期,如果超期,重新生成字符串并發(fā)送給用戶移動(dòng)終端設(shè)備,若 否,不再生成新的字符串,繼續(xù)使用原字符串。也可以判斷是否在以當(dāng)前時(shí)間 倒推一個(gè)有效期的時(shí)間內(nèi)是否給用戶帳號(hào)發(fā)送過字符串的,如果發(fā)送過,則認(rèn)
為所發(fā)送的字符串仍然有效,如果沒有發(fā)送過,則認(rèn)為所述字符串已經(jīng)失效, 需要重新生成。設(shè)置有效期的目的是為了定期更新字符串,從而進(jìn)一步提高動(dòng) 態(tài)密碼的安全性,防止字符串失密。這里也可以設(shè)定字符串的使用次數(shù)代替有
效期,當(dāng)字符串使用超過一定次數(shù),例如50次,則認(rèn)為字符串失效,需要重 新生成字符串。有效期設(shè)置的過長,可能會(huì)增大失密的危險(xiǎn),設(shè)置的過短,字 符串的更新過于頻繁,用戶需要經(jīng)常更新保存的字符串,使用上不方便,在實(shí) 際使用中,可以根據(jù)需要確定一個(gè)合適的有效期來兼顧安全性和使用的方便 性。
優(yōu)選的,所述字符串既可以是由數(shù)字組成,也可以是由字母或者符號(hào)組成, 還可以是由三者混合組成,這樣可以增大由字符串生成的密碼空間,進(jìn)一步增 加安全性。所述字符串的形式可以是一維的,以便于用戶移動(dòng)終端設(shè)備接收、
顯示和查閱。
步驟103,用戶通過客戶端發(fā)送認(rèn)證申請(qǐng)。
當(dāng)用戶需要進(jìn)行身份認(rèn)證時(shí),可以是用戶登錄時(shí)或者進(jìn)行某項(xiàng)安全性要求 較高的操作(如網(wǎng)上銀行的支付操作)時(shí),用戶可以通過客戶端向服務(wù)器端發(fā) 出認(rèn)證申請(qǐng),認(rèn)證申請(qǐng)中可以包含用戶的帳號(hào)等信息。
步驟104,根據(jù)用戶的認(rèn)證申請(qǐng)隨機(jī)生成密碼提示信息,并把所述密碼提 示信息發(fā)送給客戶端,所述密碼提示信息規(guī)定了所述字符串中特定位的字符組 合為本次認(rèn)證申請(qǐng)的第 一動(dòng)態(tài)密碼。
服務(wù)器端為每次用戶的認(rèn)證請(qǐng)求隨機(jī)生成不同的密碼提示信息??梢圆捎?計(jì)算機(jī)中的隨機(jī)算法函數(shù)或者自己編寫的函數(shù)實(shí)現(xiàn)隨機(jī)生成密碼提示信息,這 樣每次生成的密碼提示信息都不相同,密碼提示信息只能在本次認(rèn)證請(qǐng)求中使 用,對(duì)于新的認(rèn)證請(qǐng)求,將生成新的密碼提示信息。為進(jìn)一步增加安全性,還 可以在生成的密碼提示信息上附加時(shí)間戳標(biāo)記,使其在一定時(shí)間后失效。
優(yōu)選的,所述密碼提示信息中所規(guī)定的特定位可以是所述字符串中連續(xù)的 或者是不連續(xù)的位。
例如,服務(wù)器端產(chǎn)生了 "322h4b432y"的字符串,已經(jīng)和用戶帳號(hào)綁定, 并發(fā)送給了用戶,服務(wù)器端通過隨機(jī)算法確定了 "64814"的隨機(jī)數(shù)串,產(chǎn)生 如下的密碼提示信息"順次提取字符串第6、 4、 8、 1、 4位作為認(rèn)證密碼", 則從"322h4b432y"中順次提取第6、4、 8、 1 、4位得到的第一動(dòng)態(tài)密碼是"bh33h", 保存在服務(wù)端,并把密碼提示信息發(fā)送給用戶。發(fā)送的方式可以是通過http 方式,顯示在返回^會(huì)客戶端的iU正頁面上。
密碼提示信息輸入第二動(dòng)態(tài)密碼。
用戶接收到服務(wù)器端發(fā)送的密碼提示信息后,操作移動(dòng)終端設(shè)備顯示出預(yù) 先接收到的字符串,根據(jù)密碼提示信息從字符串中提取出第二動(dòng)態(tài)密碼,作為 認(rèn)證密碼發(fā)送給服務(wù)器端。發(fā)送的方式可以是由用戶在客戶端的認(rèn)證頁面上輸 入,并提交給服務(wù)器端。
例如,用戶預(yù)先收到的字符串是"322h4b432y",得到的密碼提示信息是 "順次提取字符串第6、 4、 8、 1、 4位作為認(rèn)證密碼",則用戶取得的第二動(dòng)
態(tài)秘密是"bh33h",用戶將第二動(dòng)態(tài)密碼輸入到客戶端的認(rèn)證頁面上,提交給 服務(wù)器端。
步驟106,對(duì)比第一動(dòng)態(tài)密碼和第二動(dòng)態(tài)密碼,如果一致,則認(rèn)證通過。 服務(wù)器端接收到用戶提交的第二動(dòng)態(tài)密碼,取出在步驟104中生成的第一 動(dòng)態(tài)密碼,進(jìn)行比對(duì),如果密碼一致,則用戶認(rèn)證通過,允許用戶進(jìn)行登錄或 者其他操作,如果密碼不一致,認(rèn)證失敗,發(fā)送提示信息給用戶,提示用戶認(rèn) 證失敗,不允許用戶登錄或者其他操作。
優(yōu)選的,上述步驟還包括,用戶通過客戶端向服務(wù)器端發(fā)送的認(rèn)證申請(qǐng)中 還包括預(yù)先設(shè)定的靜態(tài)密碼,客戶端把靜態(tài)密碼和用戶信息發(fā)送給服務(wù)器端, 經(jīng)過和預(yù)先保存的用戶的靜態(tài)密碼比對(duì)后,確定用戶靜態(tài)密碼是否認(rèn)證通過, 如果認(rèn)證通過,則繼續(xù)進(jìn)行動(dòng)態(tài)密碼的認(rèn)證,如果認(rèn)證未通過,提示用戶認(rèn)證 失敗。也可以先進(jìn)行動(dòng)態(tài)密碼驗(yàn)證,如果驗(yàn)證通過,再進(jìn)行靜態(tài)密碼驗(yàn)證。也 可以采用動(dòng)態(tài)密碼和靜態(tài)密碼同時(shí)驗(yàn)證的方式,當(dāng)兩者驗(yàn)證都通過時(shí)認(rèn)為用戶 認(rèn)證通過,有一項(xiàng)未通過時(shí),認(rèn)證失敗。對(duì)于非法獲得用戶字符串的用戶,在 缺少用戶帳號(hào)、當(dāng)前動(dòng)態(tài)密碼和靜態(tài)密碼其中之一時(shí),無法登錄系統(tǒng),同時(shí), 還可以結(jié)合多次錯(cuò)誤輸入或者增加校驗(yàn)碼等技術(shù)防止攻擊者的窮舉式非法掃 描。
在上述方法中,所述用戶移動(dòng)終端設(shè)備可以是手機(jī)或掌上電腦等設(shè)備。 下面以用戶在電子商務(wù)網(wǎng)站進(jìn)行支付操作時(shí)的身份認(rèn)證為例進(jìn)一 步進(jìn)行 介紹。
參照?qǐng)D2,是本發(fā)明的方法實(shí)施例流程圖,具體包括以下步驟 步驟201,用戶登錄電子商務(wù)網(wǎng)站。
用戶可以是預(yù)先注冊(cè)過的電子商務(wù)網(wǎng)站用戶,并且通過了電子商務(wù)網(wǎng)站的 資格認(rèn)證(如驗(yàn)證了個(gè)人信息的真實(shí)性、擁有合法的交易資金帳號(hào)等),并且 驗(yàn)證過用戶手機(jī)號(hào)碼的正確性。
步驟202,如果用戶帳號(hào)未綁定在有效期內(nèi)的用于生成動(dòng)態(tài)密碼的字符串, 電子商務(wù)網(wǎng)站向用戶手機(jī)發(fā)送短信,該短信內(nèi)容為一串?dāng)?shù)字或一串字符組成的 字符串。
對(duì)于未綁定在有效期內(nèi)的字符串的用戶帳號(hào),電子商務(wù)網(wǎng)站采用隨機(jī)算法生成一個(gè)字符串,該字符串可以由數(shù)字、字母和符號(hào)組成。并根據(jù)預(yù)先保存的 用戶移動(dòng)終端設(shè)備號(hào)碼通過移動(dòng)通信網(wǎng)絡(luò)發(fā)送短信,短信中包含所述生成的字 付串。
步驟203,用戶提交支付請(qǐng)求,電子商務(wù)網(wǎng)站生成密碼提示信息和第一動(dòng) 態(tài)密碼,并在返回給用戶的支付操作頁面上顯示密碼提示信息和密碼輸入框。
步驟204,用戶按照密碼提示信息從手機(jī)接收到的字符串中取得第二動(dòng)態(tài) 密碼,輸入到電子商務(wù)網(wǎng)站的支付操作頁面上并提交。
步驟205,電子商務(wù)網(wǎng)站對(duì)比第一動(dòng)態(tài)密碼和第二動(dòng)態(tài)密碼,如果一致, 允許用戶進(jìn)行支付操作。
電子商務(wù)網(wǎng)站為用戶手機(jī)接收到的字符串設(shè)定一定的有效期,該有效期時(shí) 間可以較長,而且只要在有效期內(nèi),該字符串并不是一次失效,只要通過電子 商務(wù)網(wǎng)站變更密碼提示信息,更換輸入字符串的位數(shù)就可實(shí)現(xiàn)該字符串的反復(fù) 使用。
參照?qǐng)D3,是本發(fā)明的服務(wù)端系統(tǒng)框圖,具體包括 移動(dòng)終端設(shè)備301,用于接收和保存服務(wù)端系統(tǒng)發(fā)送的字符串; 客戶端302,用于發(fā)送用戶的認(rèn)證申請(qǐng),接收服務(wù)端系統(tǒng)發(fā)送的密碼提示
信息,以及向服務(wù)端系統(tǒng)發(fā)送用戶輸入的第二動(dòng)態(tài)密碼;
服務(wù)端系統(tǒng)303,通過移動(dòng)通信網(wǎng)絡(luò)和移動(dòng)終端設(shè)備301連接,并通過互
聯(lián)網(wǎng)絡(luò)和客戶端302相連,包括以下部件
字符串生成單元3031,用于生成隨機(jī)的字符串;
第一存儲(chǔ)單元3032,用于存儲(chǔ)用戶帳號(hào)和用戶移動(dòng)終端號(hào)碼的對(duì)應(yīng)關(guān)系;
第一動(dòng)態(tài)密碼生成單元3033,用于根據(jù)用戶的認(rèn)證申請(qǐng)隨機(jī)生成密碼提 示信息,并根據(jù)密碼提示信息生成第一動(dòng)態(tài),所述密碼提示信息規(guī)定了所述字 符串中特定位的字符組合為本次認(rèn)證申請(qǐng)的動(dòng)態(tài)密碼;
接口單元3034,用于將所述字符串發(fā)送給所述移動(dòng)終端設(shè)備301,并接收 客戶端302發(fā)出的認(rèn)證申請(qǐng),以及將所述密碼提示信息發(fā)送給所述移動(dòng)終端設(shè) 備301,接收客戶端302發(fā)送的第二動(dòng)態(tài)密碼;
動(dòng)態(tài)密碼驗(yàn)證單元3035,用于比對(duì)第一密碼和第二動(dòng)態(tài)密碼,如果一致, 則iU正通過。
字符串生成單元3031根據(jù)用戶請(qǐng)求為用戶帳號(hào)隨機(jī)生成一個(gè)字符串,字
符串的位數(shù)可以根據(jù)需要任意確定,理論上可以是l到無窮大,考慮傳送字符 串和用戶查閱字符串方便性,可以將字符串限制在一個(gè)合理的長度,字符串的 生成可以采用程序設(shè)計(jì)語言中的隨機(jī)函數(shù)生成,也可以自行編寫函數(shù)實(shí)現(xiàn)。生 成字符串后,把字符串綁定到用戶帳號(hào)上,綁定后,把字符串發(fā)送給用戶移動(dòng)
終端設(shè)備301。當(dāng)用戶需要進(jìn)行身份認(rèn)證時(shí),可以是當(dāng)用戶進(jìn)行某項(xiàng)安全性要 求較高的操作(如網(wǎng)上銀行的支付操作)時(shí),用戶可以通過客戶端302向服務(wù) 端系統(tǒng)303的接口單元3034發(fā)出認(rèn)證申請(qǐng),認(rèn)證申請(qǐng)中可以包含用戶帳號(hào)等 信息。接口單元3034收到用戶提交的認(rèn)證申請(qǐng)后,由第一動(dòng)態(tài)密碼生成單元 3033找到由字符串生成單元3031生成的和用戶帳號(hào)綁定的字符串,第一動(dòng)態(tài) 密碼生成單元3033根據(jù)隨機(jī)算法生成密碼提示信息,密碼提示信息描述了從 字符串中提取若干位作為第一動(dòng)態(tài)密碼,并根據(jù)密碼提示信息生成第 一動(dòng)態(tài)密 碼。接口單元3034把密碼提示信息發(fā)送給客戶端302。用戶接收到密碼提示 信息后,操作移動(dòng)終端設(shè)備301顯示出接收到的字符串,根據(jù)密碼提示信息從 字符串中提取出第二動(dòng)態(tài)密碼,作為認(rèn)證密碼發(fā)送給服務(wù)端系統(tǒng)303的接口單 元3034。發(fā)送的方式可以是由用戶在客戶端303上顯示的i人i正頁面上輸入, 并提交。接口單元3034接收到用戶提交的第二動(dòng)態(tài)密碼,發(fā)送給動(dòng)態(tài)密碼驗(yàn) 證單元3035,和保存的第一動(dòng)態(tài)密碼進(jìn)行比對(duì),如果密碼一致,則用戶認(rèn)證 通過,允許用戶進(jìn)行操作,如果密碼不一致,認(rèn)證失敗,發(fā)送提示信息給用戶, 提示用戶認(rèn)證失敗,不允許用戶進(jìn)行操作或者引導(dǎo)用戶重新進(jìn)行認(rèn)證。
優(yōu)選的,所述隨機(jī)生成的字符串具有一定的有效期,由字符串生成單元 3031判斷所述字符串是否超期,如果超期,重新生成字符串并發(fā)送給用戶移 動(dòng)終端設(shè)備,若否,不再生成新的字符串,繼續(xù)使用原字符串。判斷是否超期 也可以采用下面的方法判斷所述字符串是否在有效期內(nèi)、判斷是否在以當(dāng)前
符串使用次數(shù)是否達(dá)到 一定的數(shù)值。
優(yōu)選的,所述字符串既可以是由數(shù)字組成,也可以是由字母或者符號(hào)組成, 還可以是由三者混合組成。
優(yōu)選的,第一動(dòng)態(tài)密碼生成單元3033為每次用戶的認(rèn)證請(qǐng)求隨機(jī)生成不
同的密碼提示信息。可以采用計(jì)算機(jī)中的隨機(jī)算法函數(shù)或者自己編寫的函數(shù)實(shí) 現(xiàn)隨機(jī)生成密碼提示信息,這樣每次生成的密碼提示信息都不相同,密碼提示 信息只能在本次認(rèn)證請(qǐng)求中使用,對(duì)于另一次的認(rèn)證請(qǐng)求,將生成新的密碼提 示信息。為進(jìn)一步增加安全性,還可以在生成的密碼提示信息上附加時(shí)間戳標(biāo) 記,使其在一定時(shí)間后失效。
優(yōu)選的,所述密碼提示信息中所規(guī)定的特定位可以是所述字符串中連續(xù)的 或者是不連續(xù)的位。
優(yōu)選的,服務(wù)端系統(tǒng)303還可以包括
第二存儲(chǔ)單元3036,用于存儲(chǔ)用戶帳號(hào)以及相應(yīng)的靜態(tài)密碼; 靜態(tài)密碼驗(yàn)證單元3037,與第二存儲(chǔ)單元相連,用于驗(yàn)證用戶輸入的靜 態(tài)密碼。
用戶通過客戶端302向服務(wù)端系統(tǒng)303的接口單元3034發(fā)送的認(rèn)證申請(qǐng) 中還包括預(yù)先設(shè)定的靜態(tài)密碼,客戶端302把靜態(tài)密碼和用戶信息發(fā)送給服務(wù) 端系統(tǒng)303的接口單元3034,經(jīng)過和預(yù)先保存在第二存儲(chǔ)單元3036的用戶的 靜態(tài)密碼比對(duì)后,靜態(tài)密碼-瞼證單元3037確定用戶靜態(tài)密碼是否認(rèn)證通過, 如果認(rèn)證通過,則繼續(xù)進(jìn)行動(dòng)態(tài)密碼的認(rèn)證,如果認(rèn)證未通過,提示用戶認(rèn)證 失敗。也可以先進(jìn)行動(dòng)態(tài)密碼驗(yàn)證,如果驗(yàn)證通過,再進(jìn)行靜態(tài)密碼驗(yàn)證。也 可以采用動(dòng)態(tài)密碼和靜態(tài)密碼同時(shí)驗(yàn)證的方式,當(dāng)兩者-瞼證都通過時(shí)認(rèn)為用戶 認(rèn)證通過,有一項(xiàng)未通過時(shí),認(rèn)證失敗。
本發(fā)明的一種動(dòng)態(tài)密碼認(rèn)證的方法和系統(tǒng)可用于游戲、金融、證券、商業(yè)、 政府、學(xué)術(shù)、企業(yè)計(jì)算機(jī)系統(tǒng)登陸以及企業(yè)虛擬專用網(wǎng)。
以上對(duì)本發(fā)明所提供的一種密碼認(rèn)證的方法和系統(tǒng),進(jìn)行了詳細(xì)介紹,本
明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技 術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處, 綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、一種動(dòng)態(tài)密碼認(rèn)證的方法,其特征在于,包括下列步驟預(yù)置用戶帳號(hào)和用戶移動(dòng)終端設(shè)備號(hào)碼的對(duì)應(yīng)關(guān)系;根據(jù)用戶的請(qǐng)求,隨機(jī)生成字符串,并發(fā)送給用戶移動(dòng)終端設(shè)備;根據(jù)用戶的認(rèn)證申請(qǐng)隨機(jī)生成密碼提示信息,并把所述密碼提示信息發(fā)送給客戶端,所述密碼提示信息規(guī)定了所述字符串中特定位的字符組合為本次認(rèn)證申請(qǐng)的動(dòng)態(tài)密碼;用戶根據(jù)所述移動(dòng)終端設(shè)備收到的字符串和所述客戶端收到的密碼提示信息輸入動(dòng)態(tài)密碼;判斷用戶輸入的動(dòng)態(tài)密碼的有效性,如果有效,則認(rèn)證通過。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,在生成密碼提示信息之前, 還包括判斷該用戶帳號(hào)對(duì)應(yīng)的所述隨機(jī)生成的字符串是否位于有效期內(nèi); 如果是,則不再生成新的隨機(jī)字符串。
3、 根據(jù)權(quán)利要求l、 2所述的方法,其特征在于,所述字符串是由數(shù)字、 字母、符號(hào)或者三者混合組成的。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述密碼提示信息中所規(guī) 定的特定位是所述字符串中連續(xù)的或者是不連續(xù)的位。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述認(rèn)證申請(qǐng)還包括靜態(tài) 密碼認(rèn)證申請(qǐng),對(duì)所述靜態(tài)密碼進(jìn)行認(rèn)證,如果認(rèn)證通過,則繼續(xù)進(jìn)行動(dòng)態(tài)密 碼的認(rèn)i正,否則,iU正失敗。
6、 一種動(dòng)態(tài)密碼認(rèn)證的服務(wù)端系統(tǒng),其特征在于,通過移動(dòng)通信網(wǎng)絡(luò)和 用戶移動(dòng)終端設(shè)備連接,并通過互聯(lián)網(wǎng)絡(luò)和用戶客戶端相連,包括以下部件第一存儲(chǔ)單元,用于存儲(chǔ)用戶帳號(hào)和用戶移動(dòng)終端號(hào)碼的對(duì)應(yīng)關(guān)系; 字符串生成單元,用于隨機(jī)生成字符串;第一動(dòng)態(tài)密碼生成單元,根據(jù)用戶的認(rèn)證申請(qǐng)隨機(jī)生成密碼提示信息,所 述密碼提示信息規(guī)定了所述字符串中特定位的字符組合為本次認(rèn)證申請(qǐng)的動(dòng) 態(tài)密碼;接口單元,用于將所述字符串發(fā)送給所述移動(dòng)終端設(shè)備,并接收用戶客戶 端發(fā)出的認(rèn)證申請(qǐng),以及將所述密碼提示信息發(fā)送給所述用戶移動(dòng)終端設(shè)備,接收用戶輸入的動(dòng)態(tài)密碼;動(dòng)態(tài)密碼驗(yàn)證單元,用于判斷用戶輸入的動(dòng)態(tài)密碼的有效性,如果有效, 則認(rèn)證通過。
7、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述字符串生成單元還用 于判斷該用戶帳號(hào)對(duì)應(yīng)的所述隨機(jī)生成的字符串是否位于有效期內(nèi),如果是, 則不再生成新的隨機(jī)字符串。
8、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述字符串是由數(shù)字、字 母、符號(hào)或者三者混合組成的串。
9、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述密碼提示信息中所規(guī) 定的特定位是所述字符串中連續(xù)的或者是不連續(xù)的位。
10、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,還包括 第二存儲(chǔ)單元,用于存儲(chǔ)用戶帳號(hào)以及相應(yīng)的靜態(tài)密碼;靜態(tài)密碼驗(yàn)證單元,與第二存儲(chǔ)單元相連,用于驗(yàn)證用戶輸入的靜態(tài)密碼。
全文摘要
本發(fā)明公開了一種動(dòng)態(tài)密碼認(rèn)證的方法,包括預(yù)置用戶帳號(hào)和用戶移動(dòng)終端設(shè)備號(hào)碼的對(duì)應(yīng)關(guān)系;根據(jù)用戶的請(qǐng)求,隨機(jī)生成字符串,并發(fā)送給用戶移動(dòng)終端設(shè)備;根據(jù)用戶的認(rèn)證申請(qǐng)隨機(jī)生成密碼提示信息,并把所述密碼提示信息發(fā)送給客戶端,所述密碼提示信息規(guī)定了所述字符串中特定位的字符組合為本次認(rèn)證申請(qǐng)的動(dòng)態(tài)密碼;用戶根據(jù)所述移動(dòng)終端設(shè)備收到的字符串和所述客戶端收到的密碼提示信息輸入動(dòng)態(tài)密碼;判斷用戶輸入的動(dòng)態(tài)密碼的有效性,如果有效,則認(rèn)證通過。本發(fā)明不使用實(shí)物密碼卡,字符串易于保存,不易丟失;不需要客戶進(jìn)行申請(qǐng)手續(xù),不需要去專門的場(chǎng)所領(lǐng)用和更換,使用方便;攻擊者無法使用失密的認(rèn)證密碼通過認(rèn)證。
文檔編號(hào)H04L9/32GK101166091SQ20061014994
公開日2008年4月23日 申請(qǐng)日期2006年10月19日 優(yōu)先權(quán)日2006年10月19日
發(fā)明者陸兆禧 申請(qǐng)人:阿里巴巴公司