專利名稱:口令認(rèn)證系統(tǒng)及口令認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及身份驗(yàn)證、訪問控制的電子認(rèn)證系統(tǒng)及認(rèn)證方法。特別是涉及電子生成動(dòng)態(tài)、隨機(jī)不可預(yù)測(cè)的口令,通過驗(yàn)證這些口令來正確識(shí)別已獲得授權(quán)的個(gè)體或用戶,并由此判定是否允許訪問、進(jìn)出、存取受保護(hù)的系統(tǒng)資源、是否提供有條件的服務(wù),是否實(shí)現(xiàn)特別的業(yè)務(wù)往來等。
背景技術(shù):
口令是最廣泛使用的一種驗(yàn)證身份合法性的方法,授權(quán)的用戶都擁有一個(gè)區(qū)別于系統(tǒng)中其他用戶的標(biāo)識(shí)符ID(用戶名、序列碼或帳號(hào))和只有用戶自己知道的秘密口令。若用戶想要登錄系統(tǒng),就須在請(qǐng)求節(jié)點(diǎn)鍵入自已的用戶標(biāo)示符和口令。系統(tǒng)將所述用戶標(biāo)示符和口令與預(yù)先保護(hù)的用戶標(biāo)示符和口令進(jìn)行比對(duì),如果匹配,則所述用戶身份合格,允許其進(jìn)入系統(tǒng)或提供服務(wù),否則所述用戶身份非法,拒絕其進(jìn)入系統(tǒng)或不提供服務(wù)。
現(xiàn)在隨著通信網(wǎng)絡(luò)化的迅猛發(fā)展,口令在網(wǎng)上來回傳輸?shù)臋C(jī)會(huì)越來越多,傳統(tǒng)的口令認(rèn)證系統(tǒng)沒有提供口令在網(wǎng)上傳輸?shù)谋Wo(hù)機(jī)制的問題目益突出,口令在網(wǎng)上被黑客截取的事件日益增多。為使口令安全傳輸,簡(jiǎn)單地將口令加密后在網(wǎng)上傳送的辦是徒勞的,絲毫也不會(huì)提高安全性。因?yàn)?,黑客同樣可以截獲該些密口令,無需還原密口令成明的形式,直接用截獲的密口令來冒充授權(quán)用戶,同樣可以達(dá)到目的。密口令對(duì)認(rèn)證節(jié)點(diǎn)來說只不過是多了一次脫密的程序,無法由此判定用戶的真?zhèn)?,進(jìn)而造成損失。比如,在網(wǎng)上銀行交易過程中,用戶的標(biāo)示符和對(duì)應(yīng)的口令被不法第三方獲得后,很容易給用戶造成經(jīng)濟(jì)損失。
要徹底解決這個(gè)問題,使用動(dòng)態(tài)的口令是一種較為有效的方法。動(dòng)態(tài)的口令是指每個(gè)口令只有一次有效,并只在很短的時(shí)間內(nèi)有效,使口令隨時(shí)間不可預(yù)測(cè)地變化,致使黑客即使截獲到口令也只是一個(gè)無用的失效口令,由此提高認(rèn)證的安全性。
一次性密碼本是上述思路的產(chǎn)物,按照事先約定使用辦法,認(rèn)證雙方使用相同的密碼本進(jìn)行認(rèn)證,比如建行的刮刮卡方案,一次性密碼本方案在一定程序上解決了口令泄漏的問題,但是,由于無限大的密碼本是不可能的,有限的密碼本必然帶來安全問題,即存在安全性還是非常低的技術(shù)問題,并且,若每個(gè)應(yīng)用、每個(gè)認(rèn)證實(shí)體都必須維護(hù)一個(gè)密碼本,造成難以支持多個(gè)應(yīng)用的技術(shù)缺陷。
目前還存在另一種一次性口令生成器方案,認(rèn)證雙方采用相同的種子和相同的算法每次產(chǎn)生不同的認(rèn)證口令。這種一次性口令生成器認(rèn)證的安全系數(shù)較高,但是口令生成器通常做成便于用戶攜帶、象信用卡大小或外形象普通計(jì)算器一樣的裝置(簡(jiǎn)稱卡或令牌),成本較高且不能支持多應(yīng)用。比如,為了提高客戶進(jìn)行網(wǎng)上交易的安全性,每個(gè)銀行給客戶提供一口令生成器。若一客戶申請(qǐng)若干家銀行的網(wǎng)上交易,則該客戶需要保存若干張口令生成器,對(duì)于銀行來說,口令生成器的制作成本高,對(duì)于客戶來說,攜帶不便。并且,一張口令生成器只支持一認(rèn)證,比如,某家銀行開發(fā)的口令生成器只對(duì)應(yīng)用于網(wǎng)上銀行交易的認(rèn)證,對(duì)POS機(jī)的銀行交易并不支持等,無法做到支持多應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種口令認(rèn)證系統(tǒng)及口令認(rèn)證方法,以解決現(xiàn)有技術(shù)中動(dòng)態(tài)口令認(rèn)證系統(tǒng)的安全系數(shù)低或成本高、不支持多應(yīng)用的技術(shù)問題。
為解決上述問題,本發(fā)明公開了一種口令認(rèn)證系統(tǒng),包括設(shè)置在客戶端的口令保護(hù)器和設(shè)置在服務(wù)器端的驗(yàn)證器,其中口令保護(hù)器用以先對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;驗(yàn)證器用以當(dāng)接收客戶端發(fā)送的當(dāng)前口令時(shí),利用預(yù)先約定的所述不變因子和可變因子采用與口令保護(hù)器相同的算法產(chǎn)生驗(yàn)證口令,當(dāng)所述驗(yàn)證口令與所述接收到的當(dāng)前口令相同時(shí),所述客戶端的用戶身份認(rèn)證通過。
所述口令保護(hù)器進(jìn)一步包括混淆擴(kuò)散單元、偽隨機(jī)序列生成單元和口令產(chǎn)生單元,其中混淆擴(kuò)散單元用于對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子;偽隨機(jī)序列生成單元用以由偽隨機(jī)序列生成算法根據(jù)混淆擴(kuò)散單元產(chǎn)生的種子產(chǎn)生偽隨機(jī)序列;口令產(chǎn)生單元根據(jù)設(shè)定的口令長(zhǎng)度、類型按照預(yù)設(shè)算法產(chǎn)生當(dāng)前口令。
所述驗(yàn)證器進(jìn)一步包括混淆擴(kuò)散單元、偽隨機(jī)序列生成單元、口令產(chǎn)生單元和驗(yàn)證單元,其中混淆擴(kuò)散單元用于對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子;偽隨機(jī)序列生成單元用以由偽隨機(jī)序列生成算法根據(jù)混淆擴(kuò)散單元產(chǎn)生的種子產(chǎn)生偽隨機(jī)序列;口令產(chǎn)生單元根據(jù)設(shè)定的口令長(zhǎng)度、類型按照預(yù)設(shè)算法產(chǎn)生驗(yàn)證口令;驗(yàn)證單元用于將接收到的當(dāng)前口令與所述驗(yàn)證口令進(jìn)行比對(duì),若相同,則驗(yàn)證通過。
所述口令保護(hù)器/驗(yàn)證器還包括非線性變換單元,所述非線性變換單元設(shè)置在偽隨機(jī)序列生成單元和口令產(chǎn)生單元之間,用于按照預(yù)先設(shè)定從產(chǎn)生的偽隨機(jī)序列中截取一段序列作非線性變換。
混淆擴(kuò)散單元和偽隨機(jī)序列生成單元可以采用不同的算法進(jìn)行混淆擴(kuò)散和偽隨機(jī)序列生成或采用一算法完成混淆擴(kuò)散和偽隨機(jī)序列生成。
所述客戶端包括計(jì)算機(jī)終端、手機(jī)、PDA。并且,客戶端從服務(wù)器上下載并安裝口令保護(hù)器。
本發(fā)明還公開了一種口令認(rèn)證方法,包括以下步驟(1)客戶端先對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;(2)服務(wù)器端接收客戶端發(fā)送的當(dāng)前口令時(shí),利用預(yù)先約定的所述不變因子和可變因子采用與口令保護(hù)器相同的算法產(chǎn)生驗(yàn)證口令,當(dāng)所述驗(yàn)證口令與所述接收到的當(dāng)前口令相同時(shí),所述客戶端的用戶身份認(rèn)證通過。
步驟(1)之前還包括客戶端接收用戶修改后的不變因子或/和可變因子;步驟(1)和步驟(2)之間還包括客戶端將修改后的不變因子或/和可變因子加密后發(fā)送至服務(wù)器端。
步驟(1)之前包括在客戶端和服務(wù)器設(shè)置并保存若干種口令產(chǎn)生算法;步驟(1)包括客戶端選擇其中一種口令產(chǎn)生算法產(chǎn)生當(dāng)前口令先將不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;步驟(1)和步驟(2)之間還包括客戶端將選擇口令產(chǎn)生算法的序號(hào)發(fā)送至服務(wù)器端,以便服務(wù)器采用相同的口令產(chǎn)生算法產(chǎn)生驗(yàn)證口令。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明每次使用的口令都不相同,隨著可變因子(如時(shí)間)的變化,口令也隨之變化,明顯降低了口令泄漏帶來的風(fēng)險(xiǎn),并且,本發(fā)明先通過混淆擴(kuò)散來保證可變因子的變化引起種子足夠大的變化,從而保證每次口令的足夠隨機(jī)性,然后利用偽隨機(jī)序列生成單元來保證每次口令的足夠隨機(jī)性,隨后利用非線性變換單元來保證口令的不可前逆和不可后退性,通過上述處理后產(chǎn)生的當(dāng)前口令具有較高的安全性。
最重要的是,本發(fā)明無需增加額外的硬件設(shè)備來進(jìn)行身份認(rèn)證,實(shí)現(xiàn)成本低,并且支持多應(yīng)用、多渠道。
圖1是本發(fā)明的口令認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖;圖2是口令保護(hù)器的一種實(shí)施結(jié)構(gòu)示意圖;
圖3是驗(yàn)證器的一種實(shí)施結(jié)構(gòu)示意圖;圖4是本發(fā)明的口令認(rèn)證方法的流程圖。
具體實(shí)施例方式
以下結(jié)合附圖,具體說明本發(fā)明。
加密技術(shù)是對(duì)信息進(jìn)行編碼和解碼的技術(shù),編碼是把原來可讀信息(又稱明文)譯成代碼形式(又稱密文),其逆過程就是解碼(解密)。加密技術(shù)的要點(diǎn)是加密算法,加密算法可以分為對(duì)稱加密、不對(duì)稱加密和不可逆加密三類算法。不可逆加密算法的特征是加密過程中不需要使用密鑰,輸入明文后由系統(tǒng)直接經(jīng)過加密算法處理成密文,這種加密后的數(shù)據(jù)是無法被解密的,只有重新輸入明文,并再次經(jīng)過同樣不可逆的加密算法處理,得到相同的加密密文并被系統(tǒng)重新識(shí)別后,才能真正解密?,F(xiàn)有的口令認(rèn)證系統(tǒng)廣泛使用不可逆加密算法進(jìn)行身份認(rèn)證。本發(fā)明的動(dòng)態(tài)口令認(rèn)證系統(tǒng)及認(rèn)證方法也是使用不可逆加密算法來進(jìn)行身份認(rèn)證。
請(qǐng)參閱圖1,其為本發(fā)明的口令認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖。它包括設(shè)置在客戶端的口令保護(hù)器12和設(shè)置在服務(wù)器端的驗(yàn)證器11,其中口令保護(hù)器12用以先對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;驗(yàn)證器11用以當(dāng)接收客戶端發(fā)送的當(dāng)前口令時(shí),利用預(yù)先約定的所述不變因子和可變因子采用與口令保護(hù)器相同的算法產(chǎn)生驗(yàn)證口令,當(dāng)所述驗(yàn)證口令與所述接收到的當(dāng)前口令相同時(shí),所述客戶端的用戶身份認(rèn)證通過。
服務(wù)器可以通過網(wǎng)絡(luò)(因特網(wǎng)、無線通信網(wǎng)或其它專用網(wǎng))與各個(gè)客戶端連接,當(dāng)然,服務(wù)器也可以通過專線和各個(gè)客戶端連接。在服務(wù)器上設(shè)置有驗(yàn)證器11,在客戶端設(shè)置口令保護(hù)器12??诹畋Wo(hù)器12可以預(yù)先安裝在客戶端,也可以通過客戶端從服務(wù)器上下載口令保護(hù)器12安裝在客戶端。
請(qǐng)參閱圖2,其為口令保護(hù)器的一種實(shí)施結(jié)構(gòu)示意圖。該口令保護(hù)器包括混淆擴(kuò)散單元21、偽隨機(jī)序列生成單元22和口令產(chǎn)生單元23,其中混淆擴(kuò)散單元21用于對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子;偽隨機(jī)序列生成單元22用以由偽隨機(jī)序列生成算法根據(jù)混淆擴(kuò)散單元產(chǎn)生的種子產(chǎn)生偽隨機(jī)序列;口令產(chǎn)生單元23根據(jù)設(shè)定的口令長(zhǎng)度、類型按照預(yù)設(shè)算法產(chǎn)生當(dāng)前口令。
為了保證序列的不可前逆和不可后退性,口令保護(hù)器還包括非線性變換單元24,所述非線性變換單元24設(shè)置在偽隨機(jī)序列生成單元22和口令產(chǎn)生單元23之間,用于按照預(yù)先設(shè)定從產(chǎn)生的偽隨機(jī)序列中截取一段序列作非線性變換。
在每個(gè)口令保護(hù)器12中預(yù)先保存一個(gè)靜態(tài)常量,該靜態(tài)常量即為不變因子。服務(wù)器給不同客戶端可以設(shè)置相同的靜態(tài)常量,也可以設(shè)置不同的靜態(tài)常量。靜態(tài)常量可以和每個(gè)客戶端對(duì)應(yīng),也可以不和客戶端對(duì)應(yīng)。并且,客戶端的用戶可以能夠修改該靜態(tài)常量,并將修改后的靜態(tài)常量告知服務(wù)器端即可。客戶端也可以設(shè)定用戶不能夠隨意修改靜態(tài)常量。
對(duì)于口令保護(hù)器采用的可變因子的選擇,直接影響應(yīng)用的便利性和算法的安全性。本發(fā)明可以選用時(shí)間作為可變因子,在應(yīng)用便利性允許的范圍內(nèi),時(shí)間精度越高則越安全。比如采用美國(guó)專利US-4720860公開的動(dòng)態(tài)口令認(rèn)證系統(tǒng)中的源于時(shí)間的動(dòng)態(tài)變量,即,口令保護(hù)器12使用當(dāng)前時(shí)間(年/月/日/時(shí)/分)作為可變因子??紤]到當(dāng)前口令在網(wǎng)絡(luò)上傳輸?shù)难訒r(shí),驗(yàn)證器11用比口令保護(hù)器12確定的時(shí)間間隔大一些的持續(xù)時(shí)間長(zhǎng)度來建立一個(gè)有效時(shí)間范圍。當(dāng)用戶請(qǐng)求身份認(rèn)證時(shí),將以客戶端當(dāng)前時(shí)間作為可變因子產(chǎn)生的當(dāng)前口令發(fā)送至服務(wù)器端,服務(wù)器在有效的時(shí)間范圍內(nèi)計(jì)算多個(gè)口令(如5個(gè)口令,10個(gè)口令),如果用戶的當(dāng)前口令與其中之一匹配,則身份認(rèn)證通過??勺円蜃右部梢允敲看紊矸菡J(rèn)證之前用戶預(yù)先設(shè)定,并且,客戶端將可變因子加密后發(fā)送至服務(wù)器端,以便服務(wù)器解密后保存,用于后續(xù)的身份驗(yàn)證。另外,考慮到單項(xiàng)賽列函數(shù)Y=F(X)。其中,給出一個(gè)X,很容易算出Y;但是給出Y,卻很難求出X。即,口令保護(hù)器12上預(yù)先保存初始可變因子和單項(xiàng)散列函數(shù),口令保護(hù)器12利用初始可變因子和單項(xiàng)散列函數(shù)產(chǎn)生第一次可變因子,以后的可變因子都是利用前一次可變因子和單項(xiàng)散列函數(shù)產(chǎn)生。同樣,對(duì)于服務(wù)器端的驗(yàn)證器只需保存每一客戶端的前一次可變因子和單項(xiàng)散列函數(shù)即可獲得該客戶端當(dāng)前的可變因子。
混淆擴(kuò)散單元21對(duì)不變因子和可變因子作混淆和擴(kuò)散變換,以保證可變因子任何一位的變化都將影響到種子的每一位?;煜龜U(kuò)散單元的作用是保證可變因子的變化引起種子足夠大的變化,從而保證每次口令的足夠隨機(jī)性。偽隨機(jī)序列生成單元22由偽隨機(jī)序列生成算法利用產(chǎn)生的種子產(chǎn)生序列,以保證每次口令的足夠隨機(jī)性。非線性變換單元24從序列中截取一段作非線性變換,以保證序列的不可前逆和不可后退性。上述的混淆擴(kuò)散單元21、偽隨機(jī)序列生成單元22和非線性變換單元24可選擇滿足條件的任何算法,DES算法、AES算法、HASH算法、線性反饋移位寄存器等。即混淆擴(kuò)散單元21、偽隨機(jī)序列生成單元22和非線性變換單元24可以采用不同的算法進(jìn)行混淆擴(kuò)散和偽隨機(jī)序列生成或采用一算法完成混淆擴(kuò)散和偽隨機(jī)序列生成。比如整個(gè)混淆擴(kuò)散、偽隨機(jī)序列和非線性變換采用一DES算法用不變因子對(duì)可變因子加密,并將加密后的結(jié)果對(duì)客戶端和服務(wù)器端預(yù)先獲知的固定串作加密,加密后的結(jié)果即為經(jīng)非線性變換后的序列。
由于有很多產(chǎn)生序列的方式,比如采用一種算法利用不變因子和可變因子產(chǎn)生序列,也可以采用幾種算法聯(lián)合利用不變因子和可變因子產(chǎn)生序列??诹畋Wo(hù)器12和驗(yàn)證器11預(yù)先保存若干種產(chǎn)生序列方式及序列方式的每一種算法,口令保護(hù)器12選擇其中一種方式產(chǎn)生序列,進(jìn)行產(chǎn)生當(dāng)前口令,驗(yàn)證器11只需采用對(duì)應(yīng)的方式產(chǎn)生序列,利用該序列產(chǎn)生驗(yàn)證口令即可。通過上述處理方式,提高不法分子獲得口令保護(hù)器12解剖口令保護(hù)器12的難度。
口令產(chǎn)生單元23按照預(yù)設(shè)算法生成當(dāng)前口令。比如,先將經(jīng)非線性變換單元24變換后的序列轉(zhuǎn)換為ASCII碼流,若所述口令類型為字母和數(shù)字類型,則從該ASCII碼流中截取N個(gè)字母和數(shù)字作為當(dāng)前口令,N為設(shè)置的口令長(zhǎng)度。若該ASCII碼流中存在不可見字符,則將該不可見字符的最高位變?yōu)椤?”,轉(zhuǎn)換為可見字符。若所述口令類型為數(shù)字類型,則將該ASCII碼流中不是數(shù)字類型的字符變換為數(shù)字類型后,截取N個(gè)數(shù)字作為當(dāng)前口令。當(dāng)然,口令產(chǎn)生單元23可以采用其它預(yù)設(shè)算法生成當(dāng)前口令。當(dāng)前口令通過網(wǎng)絡(luò)或?qū)>€發(fā)送至服務(wù)器端。
請(qǐng)參閱圖3,其為驗(yàn)證器11的結(jié)構(gòu)示意圖。它包括混淆擴(kuò)散單元31、偽隨機(jī)序列生成單元32、口令產(chǎn)生單元33和驗(yàn)證單元35,其中混淆擴(kuò)散單元31用于對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子;偽隨機(jī)序列生成單元32用以由偽隨機(jī)序列生成算法根據(jù)混淆擴(kuò)散單元產(chǎn)生的種子產(chǎn)生偽隨機(jī)序列;口令產(chǎn)生單元33根據(jù)設(shè)定的口令長(zhǎng)度、類型按照預(yù)設(shè)算法產(chǎn)生驗(yàn)證口令;驗(yàn)證單元35用于將接收到的當(dāng)前口令與所述驗(yàn)證口令進(jìn)行比對(duì),若相同,則驗(yàn)證通過。
為了保證序列的不可前逆和不可后退性,驗(yàn)證器11還包括非線性變換單元34,所述非線性變換單元34設(shè)置在偽隨機(jī)序列生成單元32和口令產(chǎn)生單元33之間,用于按照預(yù)先設(shè)定從產(chǎn)生的偽隨機(jī)序列中截取一段序列作非線性變換。事實(shí)上,驗(yàn)證器11上采用的產(chǎn)生驗(yàn)證口令的方法與產(chǎn)生當(dāng)前口令的方法是完全相同的,即,混淆擴(kuò)散單元31、偽隨機(jī)序列生成單元32、口令產(chǎn)生單元33、非線性變換單元34和口令保護(hù)器12上完全相同,在此就不再贅述。
該口令認(rèn)證系統(tǒng)可以應(yīng)用于銀行系統(tǒng)、郵箱系統(tǒng)等。并且,服務(wù)器和客戶端不僅可以是傳統(tǒng)的局域網(wǎng)/廣域網(wǎng)上的服務(wù)器和客戶端,客戶端還可以是手機(jī)、PDA等網(wǎng)絡(luò)節(jié)點(diǎn)。
以下就以手機(jī)進(jìn)入MSN郵箱系統(tǒng)為例說明口令認(rèn)證系統(tǒng)。手機(jī)上預(yù)先安裝所述MSN郵箱系統(tǒng)對(duì)應(yīng)的口令保護(hù)器,然后,在口令保護(hù)器中添加需要保護(hù)的應(yīng)用初始口令,并選擇口令的類型,當(dāng)需要口令時(shí),啟動(dòng)口令保護(hù)器,口令保護(hù)器將不變因子(初始口令)和可變因子(如時(shí)間)生成當(dāng)前口令,最后,手機(jī)將用戶名和當(dāng)前口令發(fā)送至MSN郵箱系統(tǒng),MSN郵箱系統(tǒng)通過預(yù)先獲得的初始口令和可變因子產(chǎn)生驗(yàn)證口令,若當(dāng)前口令與驗(yàn)證口令相同,則驗(yàn)證通過,允許所述用戶訪問MSN郵箱系統(tǒng)該用戶對(duì)應(yīng)的郵箱。
上述口令認(rèn)證系統(tǒng)還可以應(yīng)用于銀行業(yè),提高網(wǎng)上銀行、POS機(jī)消費(fèi)和ATM機(jī)上取款的安全性,減少客戶由于泄露密碼帶來的經(jīng)濟(jì)損失。
請(qǐng)參閱圖4,其為本發(fā)明的口令認(rèn)證方法的流程圖。它包括以下步驟S110客戶端先對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;S120服務(wù)器端接收客戶端發(fā)送的當(dāng)前口令時(shí),利用預(yù)先約定的所述不變因子和可變因子采用與口令保護(hù)器相同的算法產(chǎn)生驗(yàn)證口令,當(dāng)所述驗(yàn)證口令與所述接收到的當(dāng)前口令相同時(shí),所述客戶端的用戶身份認(rèn)證通過。
步驟S110之前還包括客戶端接收用戶修改后的不變因子或/和可變因子;步驟S110和步驟S120之間還包括客戶端將修改后的不變因子或/和可變因子加密后發(fā)送至服務(wù)器端。服務(wù)器端解密后即可獲得本次口令的不變因子和可變子。當(dāng)然,不變因子和可變因子也可以預(yù)先設(shè)定,而不需要每次都客戶端告知服務(wù)器端。比如,不變因子可采用一固定數(shù),可變因子采用產(chǎn)生動(dòng)態(tài)口令的當(dāng)前時(shí)間。
步驟S110之前包括在客戶端和服務(wù)器設(shè)置并保存若干種口令產(chǎn)生算法;步驟S110還包括客戶端選擇其中一種口令產(chǎn)生算法產(chǎn)生當(dāng)前口令先將不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;步驟S110和步驟S120之間還包括客戶端將選擇口令產(chǎn)生算法的序號(hào)發(fā)送至服務(wù)器端,以便服務(wù)器采用相同的口令產(chǎn)生算法產(chǎn)生驗(yàn)口令。通過上述方式,增加不法分子獲得口令保密器后解密其口令生成過程的難度。
通過上述驗(yàn)證,本發(fā)明具有以下優(yōu)點(diǎn)一、安全每次使用的口令都不相同,隨著可變因子(如時(shí)間)的變化,口令也隨之變化,明顯降低了口令泄漏帶來的風(fēng)險(xiǎn)。
二、簡(jiǎn)單方便面對(duì)多種多樣的應(yīng)用,降低了記憶口令的復(fù)雜度三、成本低不需要專用設(shè)備,支持手機(jī)等多種實(shí)現(xiàn)方式,服務(wù)器端改造較小,改造成本低。
四、同步機(jī)制簡(jiǎn)單服務(wù)器端和客戶端不需要專門的同步機(jī)制,只要使用公認(rèn)的,諸如時(shí)間這樣的可變因子,就可以實(shí)現(xiàn)服務(wù)器端和客戶端的認(rèn)證。
五、支持多應(yīng)用口令保護(hù)器支持多應(yīng)用,例如既可以保護(hù)銀行卡口令,又可以保護(hù)郵箱口令。
六、支持多渠道口令保護(hù)系統(tǒng)支持多渠道的應(yīng)用,例如既可以支持POS機(jī)交易認(rèn)證,又可以支持互聯(lián)網(wǎng)郵箱登錄認(rèn)證。
七、支持多種實(shí)現(xiàn)方式口令保護(hù)器既可以在PC上實(shí)現(xiàn);可以在支持BREW、J2ME的手機(jī)/PDA上實(shí)現(xiàn);可以在USB-Key上實(shí)現(xiàn);也可以在特定服務(wù)器上實(shí)現(xiàn),通過短信發(fā)給用戶。
八、支持多算法選擇口令保護(hù)系統(tǒng)的核心是種子的選擇、初始口令在服務(wù)器端的存儲(chǔ)方式、還有偽隨機(jī)序列的產(chǎn)生方式。種子的選擇包括不變因子的選擇和可變因子的選擇;不變因子可以選用初始口令,可變因子可以選擇當(dāng)前時(shí)間,根據(jù)時(shí)間的精度還可以增加諸如認(rèn)證次數(shù)等可變因子;初始口令在服務(wù)器端可能有三種存儲(chǔ)方式明文、密文和散列值,根據(jù)存儲(chǔ)方式的不同,實(shí)現(xiàn)方式略有不同,都可以支持;偽隨機(jī)序列生成模塊只要滿足一,產(chǎn)生周期足夠大的偽隨機(jī)序列;二,從產(chǎn)生的偽隨機(jī)序列中間任何一段序列不可前逆也不可后退。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但本發(fā)明并非限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種口令認(rèn)證系統(tǒng),其特征在于,包括設(shè)置在客戶端的口令保護(hù)器和設(shè)置在服務(wù)器端的驗(yàn)證器,其中口令保護(hù)器用以先對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;驗(yàn)證器用以當(dāng)接收客戶端發(fā)送的當(dāng)前口令時(shí),利用預(yù)先約定的所述不變因子和可變因子采用與口令保護(hù)器相同的算法產(chǎn)生驗(yàn)證口令,當(dāng)所述驗(yàn)證口令與所述接收到的當(dāng)前口令相同時(shí),所述客戶端的用戶身份認(rèn)證通過。
2.如權(quán)利要求1所述的口令認(rèn)證系統(tǒng),其特征在于,所述口令保護(hù)器進(jìn)一步包括混淆擴(kuò)散單元、偽隨機(jī)序列生成單元和口令產(chǎn)生單元,其中混淆擴(kuò)散單元用于對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子;偽隨機(jī)序列生成單元用以由偽隨機(jī)序列生成算法根據(jù)混淆擴(kuò)散單元產(chǎn)生的種子產(chǎn)生偽隨機(jī)序列;口令產(chǎn)生單元根據(jù)設(shè)定的口令長(zhǎng)度、類型按照預(yù)設(shè)算法產(chǎn)生當(dāng)前口令。
3.如權(quán)利要求2所述的口令認(rèn)證系統(tǒng),其特征在于,所述驗(yàn)證器進(jìn)一步包括混淆擴(kuò)散單元、偽隨機(jī)序列生成單元、口令產(chǎn)生單元和驗(yàn)證單元,其中混淆擴(kuò)散單元用于對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子;偽隨機(jī)序列生成單元用以由偽隨機(jī)序列生成算法根據(jù)混淆擴(kuò)散單元產(chǎn)生的種子產(chǎn)生偽隨機(jī)序列;口令產(chǎn)生單元根據(jù)設(shè)定的口令長(zhǎng)度、類型按照預(yù)設(shè)算法產(chǎn)生驗(yàn)證口令;驗(yàn)證單元用于將接收到的當(dāng)前口令與所述驗(yàn)證口令進(jìn)行比對(duì),若相同,則驗(yàn)證通過。
4.如權(quán)利要求3所述的口令認(rèn)證系統(tǒng),其特征在于,所述口令保護(hù)器/驗(yàn)證器還包括非線性變換單元,所述非線性變換單元設(shè)置在偽隨機(jī)序列生成單元和口令產(chǎn)生單元之間,用于按照預(yù)先設(shè)定從產(chǎn)生的偽隨機(jī)序列中截取一段序列作非線性變換。
5.如權(quán)利要求3或4所述的口令認(rèn)證系統(tǒng),其特征在于,混淆擴(kuò)散單元和偽隨機(jī)序列生成單元可以采用不同的算法進(jìn)行混淆擴(kuò)散和偽隨機(jī)序列生成或采用一算法完成混淆擴(kuò)散和偽隨機(jī)序列生成。
6.如權(quán)利要求1所述的口令認(rèn)證系統(tǒng),其特征在于,所述客戶端包括計(jì)算機(jī)終端、手機(jī)、PDA。
7.如權(quán)利要求1所述的口令認(rèn)證系統(tǒng),其特征在于,客戶端從服務(wù)器上下載并安裝口令保護(hù)器。
8.一種口令認(rèn)證方法,其特征在于,包括以下步驟(1)客戶端先對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;(2)服務(wù)器端接收客戶端發(fā)送的當(dāng)前口令時(shí),利用預(yù)先約定的所述不變因子和可變因子采用與口令保護(hù)器相同的算法產(chǎn)生驗(yàn)證口令,當(dāng)所述驗(yàn)證口令與所述接收到的當(dāng)前口令相同時(shí),所述客戶端的用戶身份認(rèn)證通過。
9.如權(quán)利要求8所述的口令認(rèn)證方法,其特征在于,步驟(1)之前還包括客戶端接收用戶修改后的不變因子或/和可變因子;步驟(1)和步驟(2)之間還包括客戶端將修改后的不變因子或/和可變因子加密后發(fā)送至服務(wù)器端。
10.如權(quán)利要求8所述的口令認(rèn)證方法,其特征在于,步驟(1)之前包括在客戶端和服務(wù)器設(shè)置并保存若干種口令產(chǎn)生算法;步驟(1)包括客戶端選擇其中一種口令產(chǎn)生算法產(chǎn)生當(dāng)前口令先將不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;步驟(1)和步驟(2)之間還包括客戶端將選擇口令產(chǎn)生算法的序號(hào)發(fā)送至服務(wù)器端,以便服務(wù)器采用相同的口令產(chǎn)生算法產(chǎn)生驗(yàn)證口令。
全文摘要
一種口令認(rèn)證系統(tǒng),包括設(shè)置在客戶端的口令保護(hù)器和設(shè)置在服務(wù)器端的驗(yàn)證器,其中口令保護(hù)器用以先對(duì)與服務(wù)器端約定的不變因子和可變因子進(jìn)行混淆擴(kuò)散變換產(chǎn)生種子,再利用所述種子產(chǎn)生偽隨機(jī)序列,最后利用偽隨機(jī)序列直接產(chǎn)生當(dāng)前口令或利用對(duì)所述序列做非線性變換的結(jié)果產(chǎn)生當(dāng)前口令;驗(yàn)證器用以當(dāng)接收客戶端發(fā)送的當(dāng)前口令時(shí),利用預(yù)先約定的所述不變因子和可變因子采用與口令保護(hù)器相同的算法產(chǎn)生驗(yàn)證口令,當(dāng)所述驗(yàn)證口令與所述接收到的當(dāng)前口令相同時(shí),所述客戶端的用戶身份認(rèn)證通過。該系統(tǒng)不僅安全系數(shù)高,成本低且支持多應(yīng)用和多渠道。
文檔編號(hào)G06F21/00GK1980127SQ200510111400
公開日2007年6月13日 申請(qǐng)日期2005年12月8日 優(yōu)先權(quán)日2005年12月8日
發(fā)明者郭銳, 楊家雛, 李登峰 申請(qǐng)人:中國(guó)銀聯(lián)股份有限公司