
本發(fā)明涉及身份認(rèn)證領(lǐng)域,特別是涉及一種動(dòng)態(tài)交互式身份認(rèn)證方法及系統(tǒng)。
背景技術(shù):“不要讓安全木桶漏了底兒”,是信息安全領(lǐng)域的著名木桶理論。防火墻、入侵檢測(cè)、VPN、安全網(wǎng)關(guān)等安全設(shè)備就是木桶的壁板,而身份認(rèn)證就相當(dāng)于木桶底。近年來(lái),身份認(rèn)證技術(shù)與理論日新月異,先后出現(xiàn)了視網(wǎng)膜識(shí)別、虹膜識(shí)別和指紋識(shí)別等高級(jí)生物識(shí)別技術(shù),總結(jié)起來(lái)身份認(rèn)證系統(tǒng)通過(guò)以下手段完成認(rèn)證過(guò)程。(1)根據(jù)你所知道的信息來(lái)證明你的身份(whatyouknow,你知道什么);(2)根據(jù)你所擁有的東西來(lái)證明你的身份(whatyouhave,你有什么);(3)直接根據(jù)獨(dú)一無(wú)二的身體特征來(lái)證明你的身份(whoyouare,你是誰(shuí));(4)雙因素認(rèn)證,即結(jié)合使用上述三種方法中的兩種方法來(lái)構(gòu)成雙因素。但是這些身份認(rèn)證方法和系統(tǒng)面臨巨大危險(xiǎn)與挑戰(zhàn),比如以下例子中,這些方法被一一破解。例子一:某銀行卡用戶A,持卡到ATM機(jī)取錢(qián),被其身后的偷窺者B(人、攝像頭)偷窺到銀行卡用戶A輸入的密碼,而銀行卡用戶A使用的磁條卡信息被偽裝在ATM外的讀卡設(shè)備復(fù)制,至此用戶的密碼與磁條卡被完全竊取。例子二:某網(wǎng)絡(luò)銀行用戶C,在某電子商務(wù)網(wǎng)站網(wǎng)購(gòu),使用網(wǎng)上銀行USBKey及網(wǎng)絡(luò)銀行密碼進(jìn)行交易,而整個(gè)過(guò)程被某攻擊者D(木馬、中間人、釣魚(yú)者]完全記錄,至此網(wǎng)絡(luò)銀行用戶C網(wǎng)上交易信息與密碼被完全竊取。例子三:某游戲玩家E,在登錄時(shí)使用口令卡或者密??óa(chǎn)生隨機(jī)密碼,但是由于口令卡、密保卡是靜態(tài)的,并且與用戶密碼具有不相關(guān)性,攻擊者綜合木馬與釣魚(yú)等多種非法程序仍然可以獲得用戶的準(zhǔn)確密碼,至此游戲玩家E密碼失竊。例子四:某銀行用戶F的芯片卡(如SmartMXCPU卡)丟失或者被竊,偷竊者G可以通過(guò)man-in-the-middle的破解方法,在輸入密碼的終端機(jī)與芯片卡之間植入一個(gè)不管怎么問(wèn)都會(huì)回答“您對(duì)”的中間人,至此銀行用戶F的芯片卡被偷盜成功。例子五:某電腦用戶H的電腦系統(tǒng)采用生物識(shí)別技術(shù)“聲音識(shí)別、人像識(shí)別、指紋識(shí)別、基因識(shí)別”進(jìn)行身份識(shí)別,由于生物識(shí)別技術(shù)本身易 受社會(huì)工程類攻擊(比如指紋被復(fù)制等),加之驗(yàn)證算法還不是很精確容易出現(xiàn)錯(cuò)誤識(shí)別,此類身份識(shí)別技術(shù)隨著攻擊方法與技術(shù)的進(jìn)步,被完全盜用也是可能的。上面列舉了一系列身份認(rèn)證方法和系統(tǒng)的攻擊實(shí)例,說(shuō)明現(xiàn)有技術(shù)存在共同缺點(diǎn):身份識(shí)別信息的靜態(tài)性和全知識(shí)性。靜態(tài)性,是指這些認(rèn)證信息和設(shè)備不隨時(shí)間改變。全知識(shí)性,是指獲得了密碼或者認(rèn)證信息與設(shè)備,就獲得了認(rèn)證所需的所有信息。由于這些身份識(shí)別系統(tǒng)本身基于身份識(shí)別信息的靜態(tài)性導(dǎo)致其系統(tǒng)本身被突破的必然性,因?yàn)閷?duì)攻擊者來(lái)說(shuō),靜態(tài)性意味著目標(biāo)的唯一性,從而造成攻擊的準(zhǔn)確性。鑒于現(xiàn)有技術(shù)所存在的缺陷,本發(fā)明人經(jīng)多年實(shí)踐,成功開(kāi)發(fā)出一種動(dòng)態(tài)交互式身份認(rèn)證方法及系統(tǒng)。本發(fā)明動(dòng)態(tài)交互式密碼驗(yàn)證方法及系統(tǒng)突破了傳統(tǒng)身份認(rèn)證方法及系統(tǒng)中身份識(shí)別信息的靜態(tài)性的致命缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:有鑒于上述現(xiàn)有技術(shù)所存在的缺陷,本發(fā)明的目的在于,提供一種動(dòng)態(tài)交互式身份認(rèn)證方法及系統(tǒng),所要解決的技術(shù)問(wèn)題是提高身份認(rèn)證的安全性。為了實(shí)現(xiàn)上述目的,依據(jù)本發(fā)明提出的一種動(dòng)態(tài)交互式身份認(rèn)證方法,是針對(duì)預(yù)先從母字符集中選擇若干個(gè)字符而設(shè)置的用戶密碼的驗(yàn)證,其包括以下步驟:步驟S1:請(qǐng)求身份認(rèn)證時(shí),生成L個(gè)顯示字符集,每一個(gè)顯示字符集至少包含兩個(gè)字符,所述L個(gè)顯示字符集是由M個(gè)有效字符集和L-M個(gè)干擾字符集構(gòu)成,所述每一個(gè)有效字符集分別包含一個(gè)有效密碼字符,每一個(gè)干擾字符集不包含有效密碼字符;其中L、M為大于0的整數(shù),L>M;步驟S2:從步驟S1生成的每一個(gè)顯示字符集中選擇一個(gè)字符輸入,形成L位的動(dòng)態(tài)輸入碼,該動(dòng)態(tài)輸入碼包括選自有效字符集的有效輸入碼和選自干擾字符集的干擾輸入碼;以及步驟S3:比對(duì)動(dòng)態(tài)輸入碼與用戶密碼。本發(fā)明還可采用以下技術(shù)措施進(jìn)一步實(shí)現(xiàn)。前述的動(dòng)態(tài)交互式身份認(rèn)證方法,其中,在生成L個(gè)顯示字符集之前,基于該用戶密碼隨機(jī)生成一個(gè)長(zhǎng)度為L(zhǎng)位的二進(jìn)制序列,所述二進(jìn)制序列包括M個(gè)有效位和L-M個(gè)干擾位;所述的L個(gè)顯示字符集是基于所述的二進(jìn)制序列生成。前述的動(dòng)態(tài)交互式身份認(rèn)證方法,其中所述的用戶密碼是明文形式形式存在;所述用戶密碼的長(zhǎng)度為大于0的整數(shù)S;所述的L大于S;所述的比對(duì)動(dòng)態(tài)輸入碼與用戶密碼是將動(dòng)態(tài)輸入碼的干擾輸入碼去除后與用戶密碼比對(duì),比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。前述的動(dòng)態(tài)交互式身份認(rèn)證方法,其中所述的用戶密碼是明文形式存 在;所述用戶密碼的長(zhǎng)度為大于0的整數(shù)S;所述的L等于S;所述的比對(duì)動(dòng)態(tài)輸入碼與用戶密碼,是將動(dòng)態(tài)輸入碼、用戶密碼的與干擾字符集對(duì)應(yīng)的字符去除后比對(duì),比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。前述的動(dòng)態(tài)交互式身份認(rèn)證方法,其中所述的用戶密碼是明文形式存在;所述用戶密碼的長(zhǎng)度為大于0的整數(shù)S;所述的L小于S;所述的比對(duì)動(dòng)態(tài)輸入碼與用戶密碼是,首先將動(dòng)態(tài)輸入碼的干擾輸入碼去除,同時(shí)將用戶密碼的S-L個(gè)最后字符及干擾字符集對(duì)應(yīng)的字符去除,然后比較,比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。前述的動(dòng)態(tài)交互式身份認(rèn)證方法,其中所述的用戶密碼是加密密文形式存在,且用戶密碼的長(zhǎng)度為定值S,S為大于0的整數(shù);所述L個(gè)顯示字符集構(gòu)成S組顯示字符集,每一組顯示字符集的并集為母字符集;其中,L大于S;所述的比對(duì)動(dòng)態(tài)輸入碼與用戶密碼是,首先選擇動(dòng)態(tài)輸入碼中S個(gè)字符構(gòu)成猜測(cè)碼,將所述猜測(cè)碼以用戶密碼加密的方式加密得到猜測(cè)碼的加密密文,然后比對(duì)用戶密碼的加密密文和猜測(cè)碼的加密密文,比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。前述的動(dòng)態(tài)交互式身份認(rèn)證方法,其中所述的用戶密碼是加密密文形式存在,且用戶密碼的長(zhǎng)度為未知的不定值R,R為大于0的整數(shù),所述用戶密碼具有最大允許長(zhǎng)度Q,Q為已知的大于1的整數(shù),所述L個(gè)顯示字符集構(gòu)成Q組顯示字符集,每一組顯示字符集的并集為母字符集;所述的L大于Q;比對(duì)動(dòng)態(tài)輸入碼與用戶密碼時(shí),首先對(duì)用戶密碼的長(zhǎng)度R在1至Q的范圍內(nèi)猜測(cè);然后,選擇動(dòng)態(tài)輸入碼中R個(gè)字符構(gòu)成猜測(cè)碼,將所述猜測(cè)碼以用戶密碼加密的方式加密得到猜測(cè)碼的加密密文;之后比對(duì)用戶密碼的加密密文和猜測(cè)碼的加密密文,比對(duì)結(jié)果相同則身份認(rèn)證通過(guò);遍歷所有猜測(cè)可能,比對(duì)結(jié)果不同,則不能通過(guò)驗(yàn)證。前述的動(dòng)態(tài)交互式身份認(rèn)證方法,其中所述的母字符集包括數(shù)字、字母、符號(hào)或其組合。本發(fā)明還提出一種動(dòng)態(tài)交互式身份認(rèn)證方法,是針對(duì)預(yù)先從母字符集中選擇若干個(gè)字符而設(shè)置的用戶密碼的驗(yàn)證,包括輸入步驟、驗(yàn)證步驟;在輸入步驟前還包括顯示字符集生成步驟;所述顯示字符集生成步驟是基于長(zhǎng)度為S的用戶密碼,生成L個(gè)顯示字符集,每一個(gè)顯示字符集至少包含兩個(gè)字符,所述L個(gè)顯示字符集是由M個(gè)有效字符集和L-M個(gè)干擾字符集構(gòu)成,所述每一個(gè)有效字符集分別包含一個(gè)有效密碼字符,每一個(gè)干擾字符集不包含有效密碼字符;其中L、M為大于0的整數(shù),L>M。前述的動(dòng)態(tài)交互式身份認(rèn)證方法,其中所述的用戶密碼是不能反向解密的加密密文形式存在,且用戶密碼的長(zhǎng)度為未知的不定值R,R為大于0的整數(shù),所述用戶密碼具有最大允許長(zhǎng)度Q,Q為已知的大于1的整數(shù),所 述L個(gè)顯示字符集構(gòu)成Q組顯示字符集,每一組顯示字符集的并集為母字符集;所述的L大于Q;比對(duì)動(dòng)態(tài)輸入碼與用戶密碼時(shí),首先對(duì)密碼長(zhǎng)度R在1至Q的范圍內(nèi)猜測(cè);然后,去除動(dòng)態(tài)輸入碼的L-R個(gè)字符選擇其中R個(gè)字符構(gòu)成猜測(cè)碼,將所述猜測(cè)碼以用戶密碼加密的方式加密得到猜測(cè)碼的加密密文;之后比對(duì)用戶密碼的加密密文和猜測(cè)碼的加密密文,比對(duì)結(jié)果相同則身份認(rèn)證通過(guò),遍歷所有猜測(cè)可能,比對(duì)結(jié)果不同,則不能通過(guò)驗(yàn)證。本發(fā)明還提出一種動(dòng)態(tài)交互式身份認(rèn)證方法,包括顯示字符集生成步驟,輸入步驟及身份認(rèn)證步驟;輸入步驟是根據(jù)顯示字符集生成步驟生成的顯示字符集內(nèi)容決定輸入,當(dāng)顯示的顯示字符集中有所設(shè)置的密碼當(dāng)前位,就輸入其對(duì)應(yīng)密碼字符,否則任意輸入。為了實(shí)現(xiàn)上述目的,依據(jù)本發(fā)明還提出的一種動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其包括:存儲(chǔ)單元,用于存儲(chǔ)用戶密碼,所述用戶密碼是從母字符集中選擇若干個(gè)字符設(shè)置而成;顯示字符集生成單元,接到身份認(rèn)證請(qǐng)求時(shí),生成L個(gè)顯示字符集,每一個(gè)顯示字符集至少包含兩個(gè)字符,所述L個(gè)顯示字符集是由M個(gè)有效字符集和L-M個(gè)干擾字符集構(gòu)成,所述每一個(gè)有效字符集分別包含一個(gè)有效密碼字符,每一個(gè)干擾字符集不包含有效密碼字符,其中L、M為大于0的整數(shù),L>M;顯示單元,顯示所述L個(gè)顯示字符集;輸入單元,從所述L個(gè)顯示字符集的每一個(gè)顯示字符集中選擇一個(gè)字符輸入,形成動(dòng)態(tài)輸入碼;以及密碼驗(yàn)證單元,接收輸入單元輸入的動(dòng)態(tài)輸入碼與用戶密碼比對(duì)。本發(fā)明還可采用以下技術(shù)措施進(jìn)一步實(shí)現(xiàn)。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其中所述的顯示字符集生成單元,在生成L個(gè)顯示字符集之前,基于該用戶密碼隨機(jī)生成一個(gè)長(zhǎng)度為L(zhǎng)位的二進(jìn)制序列,所述二進(jìn)制序列包括M個(gè)有效位和L-M個(gè)干擾位;所述的L個(gè)顯示字符集是基于所述的二進(jìn)制序列生成。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其中所述的用戶密碼是明文形式存在;所述用戶密碼的長(zhǎng)度為大于0的整數(shù)S;所述的L大于S;所述的比對(duì)動(dòng)態(tài)輸入碼與用戶密碼是將動(dòng)態(tài)輸入碼的干擾輸入碼去除后與用戶密碼比對(duì),比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其中所述的用戶密碼是明文形式存在;所述用戶密碼的長(zhǎng)度為大于0的整數(shù)S;所述的L等于S,所述的比對(duì)動(dòng)態(tài)輸入碼與用戶密碼是將動(dòng)態(tài)輸入碼、用戶密碼與干擾字符集對(duì)應(yīng)的字符去除后比對(duì),比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其中所述的用戶密碼是明文形式存在;所述用戶密碼的長(zhǎng)度為大于0的整數(shù)S;所述的L小于S;所述的比對(duì) 動(dòng)態(tài)輸入碼與用戶密碼是,首先將動(dòng)態(tài)輸入碼的干擾輸入碼去除,同時(shí)將用戶密碼的S-L個(gè)最后字符及干擾字符集對(duì)應(yīng)的字符去除,然后比較,比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其還包括鎖體控制單元及鎖體,鎖體控制單元接收身份認(rèn)證單元的身份認(rèn)證信息,控制鎖體的開(kāi)啟和閉合。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其中所述的用戶密碼是加密密文形式存在,且用戶密碼的長(zhǎng)度為定值S,S為大于0的整數(shù);所述L個(gè)顯示字符集構(gòu)成S組顯示字符集,每一組顯示字符集的并集為母字符集;其中,L大于S;所述的比對(duì)動(dòng)態(tài)輸入碼與用戶密碼是,首先選擇動(dòng)態(tài)輸入碼中S個(gè)字符構(gòu)成猜測(cè)碼,將所述猜測(cè)碼以用戶密碼加密的方式加密得到猜測(cè)碼的加密密文,然后比對(duì)用戶密碼的加密密文和猜測(cè)碼的加密密文,比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其中所述的用戶密碼是不能反向解密的加密密文形式存在,且用戶密碼的長(zhǎng)度為未知的不定值R,R為大于0的整數(shù),所述用戶密碼具有最大允許長(zhǎng)度Q,Q為已知的大于1的整數(shù);所述L個(gè)顯示字符集構(gòu)成Q組顯示字符集,每一組顯示字符集的并集為母字符集;所述的L大于Q;比對(duì)動(dòng)態(tài)輸入碼與用戶密碼時(shí),首先對(duì)用戶密碼的長(zhǎng)度R在1至Q的范圍內(nèi)猜測(cè);然后,選擇動(dòng)態(tài)輸入碼中R的猜測(cè)值個(gè)字符構(gòu)成猜測(cè)碼,將所述猜測(cè)碼以用戶密碼加密的方式加密得到猜測(cè)碼的加密密文;之后比對(duì)用戶密碼的加密密文和猜測(cè)碼的加密密文,比對(duì)結(jié)果相同則身份認(rèn)證通過(guò)。遍歷所有猜測(cè)可能,比對(duì)結(jié)果不同,則不能通過(guò)驗(yàn)證。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其還包括功能模塊,功能模塊接收身份認(rèn)證單元的身份認(rèn)證信息,執(zhí)行指定功能單元。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其中所述的指定功能單元包括存款單元、取款單元、轉(zhuǎn)賬單元或密碼修改單元。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其還包括服務(wù)器端及與服務(wù)器端通信連接的客戶端,所述的顯示單元、輸入單元設(shè)置于客戶端,所述的存儲(chǔ)單元設(shè)置于服務(wù)器端,所述的顯示字符集生成單元、身份認(rèn)證單元設(shè)置于客戶端或服務(wù)器端。前述的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng),其中所述的客戶端為銀行自動(dòng)取款機(jī)、POS機(jī)、計(jì)算機(jī)或手機(jī)。綜上所述,本發(fā)明的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng)包括:存儲(chǔ)單元、顯示字符集生成單元、顯示單元以及密碼驗(yàn)證單元。動(dòng)態(tài)交互式身份認(rèn)證方法包括:生成動(dòng)態(tài)顯示字符集的步驟;輸入動(dòng)態(tài)輸入碼的步驟;比對(duì)動(dòng)態(tài)輸入碼與用戶密碼的步驟。本發(fā)明與現(xiàn)有技術(shù)相比具有明顯的優(yōu)點(diǎn)和有益效果。借由上述技術(shù)方 案,本發(fā)明的動(dòng)態(tài)交互式身份認(rèn)證方法及驗(yàn)證系統(tǒng),能夠提高身份認(rèn)證的安全性,并且使用方便。本發(fā)明動(dòng)態(tài)交互式身份認(rèn)證方法及系統(tǒng)突破了傳統(tǒng)身份認(rèn)證方法及系統(tǒng)中身份識(shí)別信息的靜態(tài)性的致命缺點(diǎn),首次提出了身份識(shí)別信息的動(dòng)態(tài)交互理論與技術(shù),達(dá)到部分知識(shí)認(rèn)證的目的,極大地提高了身份識(shí)別系統(tǒng)的安全性,能夠有效阻止各種身份識(shí)別信息被泄露或者被盜用,讓社會(huì)工程類攻擊無(wú)效,讓木馬與病毒也無(wú)用武之地。附圖說(shuō)明圖1是本發(fā)明動(dòng)態(tài)交互式身份認(rèn)證方法較佳實(shí)施例的流程示意圖。圖2是本發(fā)明動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng)較佳實(shí)施例的方框示意圖。圖3是本發(fā)明應(yīng)用實(shí)施例-密碼鎖的方框示意圖。圖4是應(yīng)用實(shí)施例密碼鎖的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間第一種對(duì)應(yīng)關(guān)系的示意圖。圖5是應(yīng)用實(shí)施例密碼鎖的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間第二種對(duì)應(yīng)關(guān)系的示意圖。圖6是應(yīng)用實(shí)施例密碼鎖的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間第三種對(duì)應(yīng)關(guān)系的示意圖。圖7是本發(fā)明另一應(yīng)用實(shí)施例-銀行ATM身份認(rèn)證系統(tǒng)的方框示意圖。圖8是應(yīng)用實(shí)施例銀行ATM身份認(rèn)證系統(tǒng)的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間對(duì)應(yīng)關(guān)系的示意圖。具體實(shí)施方式為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例、應(yīng)用實(shí)施例,對(duì)依據(jù)本發(fā)明提出的動(dòng)態(tài)交互式身份認(rèn)證方法及系統(tǒng)其具體實(shí)施方式、步驟、結(jié)構(gòu)、特征及其功效詳細(xì)說(shuō)明。請(qǐng)參閱圖1所示,是本發(fā)明動(dòng)態(tài)交互式身份認(rèn)證方法較佳實(shí)施例的流程示意圖。本發(fā)明較佳實(shí)施例的動(dòng)態(tài)交互式身份認(rèn)證方法,是針對(duì)預(yù)先從母字符集中選擇若干個(gè)字符而設(shè)置的用戶密碼的驗(yàn)證,包括以下步驟:步驟S1:請(qǐng)求身份認(rèn)證時(shí),生成L個(gè)顯示字符集,每一個(gè)顯示字符集至少包含兩個(gè)字符,所述L個(gè)顯示字符集是由M個(gè)有效字符集和L-M個(gè)干擾字符集構(gòu)成,所述每一個(gè)有效字符集分別包含一個(gè)有效密碼字符,每一個(gè)干擾字符集不包含有效密碼字符,其中L、M為大于0的整數(shù),L>M;步驟S2:從步驟S1生成的每一個(gè)顯示字符集中選擇一個(gè)字符輸入,形成L位的動(dòng)態(tài)輸入碼;步驟S3:比對(duì)動(dòng)態(tài)輸入碼與用戶密碼,輸入碼包含用戶密碼的部分字符 或全部字符時(shí)驗(yàn)證通過(guò)。請(qǐng)參閱圖2所示,是本發(fā)明動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng)較佳實(shí)施例的示意圖。本發(fā)明較佳實(shí)施例的動(dòng)態(tài)交互式身份認(rèn)證系統(tǒng)包括,存儲(chǔ)單元15,用于存儲(chǔ)用戶密碼,所述用戶密碼是從母字符集中選擇若干個(gè)字符設(shè)置而成;;顯示字符集生成單元17,接到身份認(rèn)證請(qǐng)求時(shí),生成L個(gè)顯示字符集,每一個(gè)顯示字符集至少包含兩個(gè)字符,所述L個(gè)顯示字符集是由M個(gè)有效字符集和L-M個(gè)干擾字符集構(gòu)成,所述每一個(gè)有效字符集分別包含一個(gè)有效密碼字符,每一個(gè)干擾字符集不包含有效密碼字符,其中L、M為大于0的整數(shù),L>M;顯示單元13,接收顯示字符集生成單元17信號(hào),顯示所述L個(gè)顯示字符集;輸入單元11,用戶從所述L個(gè)顯示字符集的每一個(gè)顯示字符集中選擇一個(gè)字符輸入,形成動(dòng)態(tài)輸入碼;密碼驗(yàn)證單元19,接收輸入單元11輸入的動(dòng)態(tài)輸入碼與用戶密碼比對(duì),動(dòng)態(tài)輸入碼包含用戶密碼的部分字符或全部字符時(shí)驗(yàn)證通過(guò)。請(qǐng)參閱圖3所示,是本發(fā)明應(yīng)用實(shí)施例-密碼鎖的示意圖。本發(fā)明應(yīng)用實(shí)施例的密碼鎖包括,密碼裝置10及鎖體20。密碼裝置10包括密碼設(shè)置模式和密碼驗(yàn)證模式,可由輸入單元11控制兩種模式間的轉(zhuǎn)換;密碼裝置10控制鎖體20的開(kāi)啟和閉合。密碼裝置10包括,存儲(chǔ)單元15、顯示字符集生成單元17、密碼驗(yàn)證單元19、鎖體控制單元18、顯示單元13及輸入單元11。密碼鎖使用時(shí)首先在密碼設(shè)置模式下,經(jīng)由輸入單元11從母字符集中選擇若干個(gè)字符設(shè)置一個(gè)長(zhǎng)度為S位的用戶密碼,本例中用戶密碼為“IPTH”,用戶密碼儲(chǔ)存于存儲(chǔ)單元15中,用戶密碼可以是明文形式存在。設(shè)置好用戶密碼后,密碼鎖轉(zhuǎn)換到身份認(rèn)證模式。所述顯示字符集生成單元17在接到身份認(rèn)證請(qǐng)求時(shí)生成顯示字符集。請(qǐng)同時(shí)參閱4所示,是密碼鎖的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間第一種對(duì)應(yīng)關(guān)系的示意圖。所述顯示字符集生成單元17在接到身份認(rèn)證請(qǐng)求時(shí),首先讀取存儲(chǔ)單元15儲(chǔ)存的用戶密碼“THIP”,根據(jù)該用戶密碼“THIP”隨機(jī)生成一個(gè)與用戶密碼位數(shù)相同的二進(jìn)制序列,例如“1101”,該二進(jìn)制序列包括用“1”表征的有效位和用“0”表征的干擾位。接著,依據(jù)該二進(jìn)制序列“1101”,生成四個(gè)顯示字符集,對(duì)應(yīng)二進(jìn)制序列的有效位和干擾位,該四個(gè)顯示字符集包括有效字符集(第一、二、四個(gè)顯示字符集)和干擾字符集(第三個(gè)顯示字符集)。每一個(gè)有效字符集包含對(duì)應(yīng)的密碼字符以及隨機(jī)的母字符集中其他字符,每一個(gè)干擾字符集不包含對(duì)應(yīng)的密碼字符?!皩?duì)應(yīng)的密碼字符”是指與顯示字符集的序號(hào)對(duì)應(yīng)的密碼字符,或者說(shuō)第N個(gè)顯示字符集對(duì)應(yīng)的密碼字符是第N位密碼字符,在本例中,第一個(gè)顯示字符集對(duì)應(yīng)的密碼字符為“T”,第二個(gè)顯示字符集對(duì)應(yīng)的密碼字符為“H”,第三個(gè)顯示字符集對(duì)應(yīng)的密碼字符為“I”,第四個(gè)顯示字符集對(duì)應(yīng)的密碼 字符為“P”。本例中,第一個(gè)顯示字符集包括“M、T、A、P”,第二個(gè)顯示字符集包括“2、I、C、H”,第三個(gè)顯示字符集包括“3、7、E、T”,第四個(gè)顯示字符集包括“D、P、X、M”。其中,每一個(gè)顯示字符集包含至少兩個(gè)字符,每次身份認(rèn)證時(shí)顯示字符集中的字符是隨機(jī)變換的。所述顯示單元13依次或同時(shí)顯示上述四個(gè)顯示字符集。用戶從上述每一個(gè)顯示字符集中選擇一個(gè)字符經(jīng)由輸入單元11輸入,以形成動(dòng)態(tài)輸入碼。用戶輸入密碼時(shí),不需要區(qū)分有效字符集和無(wú)效字符集,當(dāng)顯示字符集中含有對(duì)應(yīng)的密碼字符時(shí)選擇該密碼字符,如果沒(méi)有對(duì)應(yīng)的密碼字符則任意選著一個(gè)字符輸入。本例中動(dòng)態(tài)輸入碼為“TH#P”,其中“#”是指第三個(gè)顯示字符集“3、7、E、T”中的任意一個(gè)字符,即正確的輸入碼可以是TH3P、TH7P、THEP或THTP。所述的身份認(rèn)證單元19接收動(dòng)態(tài)輸入碼以與用戶密碼比對(duì),比對(duì)時(shí)根據(jù)二進(jìn)制序列中干擾位的位子,對(duì)應(yīng)除去用戶密碼和動(dòng)態(tài)輸入碼對(duì)應(yīng)位置的字符后比較,如果相同則身份認(rèn)證通過(guò),如果不同則身份認(rèn)證不通過(guò)。本例中,對(duì)應(yīng)二進(jìn)制序列“1101”,用戶密碼“THIP”除去干擾位后為“THP”,輸入碼“TH#P”除去干擾位后為“THP”,此時(shí)身份認(rèn)證通過(guò)。所述的鎖體控制單元18接收身份認(rèn)證單元19的身份認(rèn)證信息,當(dāng)身份認(rèn)證通過(guò)時(shí)控制鎖體20開(kāi)啟(或閉合)。實(shí)際運(yùn)用中,每次身份認(rèn)證時(shí)二進(jìn)制序列、顯示字符集、動(dòng)態(tài)輸入碼是隨機(jī)變換的。例如,隨機(jī)產(chǎn)生的二進(jìn)制序列可以是“1101”、“0011”、“1000”或“1110”,那么正確的輸入碼分別是“TH#P”、“##IP”、“T###”或“THI#”。上述的密碼鎖第一種顯示字符集生成方式(如圖4)可以概括描述為替換式,即干擾字符替換密碼字符。請(qǐng)參閱圖5所示,是密碼鎖的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間第二種對(duì)應(yīng)關(guān)系的示意圖。第二種顯示字符集生成方式可以概括描述為替換省略式,即干擾字符替換密碼字符并省略若干個(gè)密碼字符。第二種顯示字符集生成方式與第一種顯示字符集生成方式相比整個(gè)流程基本相似,不同之處在于,顯示字符集生成單元17生成的二進(jìn)制序列的位數(shù)、顯示字符集個(gè)數(shù)、動(dòng)態(tài)輸入碼個(gè)數(shù)均比用戶密碼位數(shù)少。如圖5中二進(jìn)制序列為“110”,相應(yīng)的顯示字符集為三個(gè),動(dòng)態(tài)輸入碼為三位。如圖5中,第一個(gè)顯示字符集包括“M、T、A、P”,第二個(gè)顯示字符集包括“2、I、C、H”,第三個(gè)顯示字符集包括“3、7、E、T”;動(dòng)態(tài)輸入碼為“TH#”。密碼驗(yàn)證單元19接收動(dòng)態(tài)輸入碼以與用戶密碼比對(duì),比對(duì)時(shí)根據(jù)二進(jìn)制序列的長(zhǎng)度先除去用戶密碼的最后幾位字符,接著根據(jù)二進(jìn)制序列的干擾位的位子對(duì)應(yīng)除去用戶密碼和輸入碼對(duì)應(yīng)位置的字符,然后比較,如果相同則身份認(rèn)證通過(guò),如果不同則身份認(rèn)證不通過(guò)。本例中,對(duì)應(yīng)二進(jìn)制序列“110”,用 戶密碼“THIP”去掉最后一位字符和干擾位字符后為“TH”,動(dòng)態(tài)輸入碼“TH#”除去干擾位后為“TH”,相比較字符相同,身份認(rèn)證通過(guò)。每次身份認(rèn)證時(shí)二進(jìn)制序列是隨機(jī)變換的,例如,二進(jìn)制序列可以是“10”、“001”、“100”或“101”,那么對(duì)應(yīng)的正確輸入碼是“T#”、“##I”、“T##”或“T#I”。請(qǐng)參閱圖6所示,是密碼鎖的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間第三種對(duì)應(yīng)關(guān)系的示意圖。第三種對(duì)應(yīng)關(guān)系可以描述為插入式,即干擾字符插入在密碼字符中,并保留用戶密碼的全部密碼字符。第三種顯示字符集生成方式與第一種顯示字符集生成方式相比整個(gè)流程基本相似,不同之處在于,二進(jìn)制序列不同、顯示字符集不同,輸入碼不同以及驗(yàn)證方式不同,詳細(xì)描述如下。請(qǐng)參閱圖3、圖6所示,所述顯示字符集生成單元17在接到身份認(rèn)證請(qǐng)求時(shí),首先讀取存儲(chǔ)單元15儲(chǔ)存的用戶密碼“THIP”,根據(jù)該用戶密碼“THIP”隨機(jī)生成一個(gè)二進(jìn)制序列,二進(jìn)制序列的位數(shù)比用戶密碼位數(shù)多,例如“110101”,二進(jìn)制序列包括用“1”表征的有效位和用“0”表征的干擾位;本例中第一、二、四、六位為有效位,第三、五位為干擾位。所述二進(jìn)制序列至少包含一個(gè)干擾位。接著,依據(jù)上述二進(jìn)制序列“110101”,生成六個(gè)顯示字符集,其中第一、二、四、六個(gè)是有效字符集,第三、五個(gè)是干擾字符集。每一個(gè)有效字符集包含對(duì)應(yīng)的密碼字符,每一個(gè)干擾字符集不包含對(duì)應(yīng)的密碼字符。本實(shí)施例中“對(duì)應(yīng)的密碼字符”是指與有效字符集的序號(hào)對(duì)應(yīng)的密碼字符,或者說(shuō)第N個(gè)有效字符集對(duì)應(yīng)的密碼字符是第N位密碼字符,而第P個(gè)干擾字符集對(duì)應(yīng)的密碼字符是該第P個(gè)干擾字符集之前的有效字符集序號(hào)加一位的密碼字符,具體在本實(shí)施例中,第一個(gè)到第六個(gè)顯示字符集對(duì)應(yīng)的密碼字符分別為“T”、“H”、“I”、“I”、“P”、“P”。本例中,第一個(gè)顯示字符集包括“β、T、δ、!”,第二個(gè)顯示字符集包括“2、I、C、H”,第三個(gè)顯示字符集包括“ぁ、%、E”,第四個(gè)顯示字符集包括“(、@、I、B”,第五個(gè)顯示字符集包括“a、7、”,第六個(gè)顯示字符集包括“Γ、+、P、H”。所述顯示單元13依次(或同時(shí))顯示上述六個(gè)顯示字符集。用戶從上述每一個(gè)顯示字符集中選擇一個(gè)字符經(jīng)由輸入單元11輸入,以形成輸入碼。用戶輸入密碼時(shí),當(dāng)顯示字符集中含有對(duì)應(yīng)的密碼字符時(shí)選擇該密碼字符,如果沒(méi)有對(duì)應(yīng)的密碼字符則任意選著一個(gè)字符輸入。本例中正確的輸入碼為“TH#I#P”,其中“#”是指干擾字符集中的任意一個(gè)字符,即正確的輸入碼可以是“THぁI7P”、或等等。所述的密碼驗(yàn)證單元19接收輸入碼以與用戶密碼比對(duì),比對(duì)時(shí)根據(jù)二進(jìn)制序列中的干擾位對(duì)應(yīng)除去輸入碼對(duì)應(yīng)位置的字符后與用戶密碼比較, 如果相同身份認(rèn)證通過(guò),如果不同身份認(rèn)證不通過(guò)。本例中,二進(jìn)制序列為“110101”,輸入碼“TH#I#P”除去干擾位后為“THIP”,與用戶密碼“THIP”相比字符(包括字符位置)相同,此時(shí)身份認(rèn)證通過(guò)。所述的鎖體控制單元18接收密碼驗(yàn)證單元19的身份認(rèn)證信息,當(dāng)身份認(rèn)證通過(guò)時(shí)控制鎖體20開(kāi)啟(或閉合)。實(shí)際運(yùn)用中,每次身份認(rèn)證時(shí)二進(jìn)制序列是隨機(jī)變換的。例如,前次身份認(rèn)證時(shí),隨機(jī)產(chǎn)生的二進(jìn)制序列是“110101”,對(duì)應(yīng)的正確輸入碼是“TH#I#P”;本次身份認(rèn)證時(shí),隨機(jī)產(chǎn)生的二進(jìn)制序列可以是“11101”,對(duì)應(yīng)的正確輸入碼是“THI#P”;而下次身份認(rèn)證時(shí),二進(jìn)制序列可以是“01111”,對(duì)應(yīng)的正確輸入碼是“#THIP”。根據(jù)上述的密碼鎖及三種顯示字符集生成方式(圖3至圖6)內(nèi)容可知,用戶輸入密碼時(shí),根據(jù)顯示單元13顯示內(nèi)容決定輸入,當(dāng)顯示的顯示字符集中有所設(shè)置的密碼當(dāng)前位,就輸入其對(duì)應(yīng)密碼字符,否則任意輸入。由于某個(gè)輸入位的有效性只有合法用戶可以準(zhǔn)確判斷,而非法用戶或監(jiān)控程序無(wú)法準(zhǔn)確判斷。密碼偷窺者(如人、攝像頭、木馬程序等)即使完全獲得顯示字符集與合法用戶的輸入碼,也仍然無(wú)法判斷哪些為有效位,哪些為干擾位。每次顯示字符集生成單元17動(dòng)態(tài)隨機(jī)產(chǎn)生的顯示字符集,則使得一次或者多次觀測(cè)到用戶的輸入,仍然無(wú)法獲得關(guān)于用戶密碼的全部知識(shí)。另外,合法用戶只要記住設(shè)置的用戶密碼,就能正確輸入。本發(fā)明夠提高身份認(rèn)證的安全性并且易于使用。請(qǐng)參閱圖7、圖8所示,圖7是本發(fā)明另一應(yīng)用實(shí)施例-銀行ATM身份認(rèn)證系統(tǒng)的方框示意圖,圖8是銀行ATM身份認(rèn)證系統(tǒng)的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間對(duì)應(yīng)關(guān)系的示意圖。銀行ATM身份認(rèn)證系統(tǒng),包括服務(wù)器端100以及與服務(wù)器端100通信連接的客戶端200,該客戶端200例如是自動(dòng)存取款機(jī)(簡(jiǎn)稱ATM)。所述的服務(wù)器端100包括存儲(chǔ)單元15以及密碼驗(yàn)證單元19。在其他實(shí)施例中,所述的密碼驗(yàn)證單元19可以設(shè)置在客戶端200。所述的存儲(chǔ)單元15,用于存儲(chǔ)用戶注冊(cè)時(shí)設(shè)置的用戶密碼或修改的用戶密碼,該用戶密碼的長(zhǎng)度為固定長(zhǎng)度S位,S為大于零的自然數(shù)。所述的用戶密碼是以加密的密文形式存在。本例中,用戶密碼是從由數(shù)字0、1、2、3、4、5、6、7、8、9組成的母字符集中選擇三個(gè)數(shù)字“6”、“4”、“0”設(shè)置的“640”。母字符集并不以此為限,其他實(shí)施例中,該母字符集可以包括可打印字符,例如數(shù)字、字母及符號(hào);所述字母可以是英文字母、法文字母、日文字母、韓文字母、俄文字母、希臘字母或其組合,所述符號(hào)包括電腦鍵盤(pán)常用的功能符號(hào),例如“@、*、(、&¥、$、《、》、<、+、-、”等等。所述的客戶端200,包括顯示單元13、輸入單元15、顯示字符集生成單 元17、密碼驗(yàn)證單元19及功能模塊16。在其他實(shí)施例中,顯示字符集生成單元17、密碼驗(yàn)證單元19可以在服務(wù)器端100。用戶請(qǐng)求身份認(rèn)證時(shí)(例如插入銀行卡、輸入賬號(hào)),所述顯示字符集生成單元17接收身份認(rèn)證請(qǐng)求。顯示字符集生成單元17,首先讀取服務(wù)器端200的存儲(chǔ)單元15儲(chǔ)存的用戶信息和用戶密碼信息,所述的用戶密碼信息包括用戶密碼的位數(shù)及用戶密碼的加密密文;然后根據(jù)該用戶密碼的位數(shù)生成L個(gè)顯示字符集,該L個(gè)顯示字符集可分成S組顯示字符集。所述S組顯示字符集中至少一組顯示字符集包含至少兩個(gè)顯示字符集,其中一個(gè)是有效字符集,另外的是干擾字符集。所述S組顯示字符集中每一組顯示字符集的并集包含母字符集的所有字符。在圖8中,用戶密碼的位數(shù)為“3”,依此生成了六個(gè)顯示字符集,其中第一、第二個(gè)顯示字符集為第一組,第三、第四個(gè)顯示字符集為第二組,第五、第六個(gè)顯示字符集為第三組;第一個(gè)顯示字符集包含“1、3、5、9、7”、第二個(gè)顯示字符集包含“2、4、6、8、0”,并集為母字符集;第三個(gè)顯示字符集包含“0、6、5、9、4”,第四個(gè)顯示字符集包含“2、3、1、8、7”,第三、第四個(gè)顯示字符集并集為母字符集;第五個(gè)顯示字符集包含“7、2、4、5、9”、、第六個(gè)顯示字符集包含“1、3、6、8、0”,第五、第六個(gè)顯示字符集并集也為母字符集。所述的顯示單元13依次或同時(shí)顯示上述的L個(gè)顯示字符集。用戶從上述每一個(gè)顯示字符集中選擇一個(gè)字符經(jīng)由輸入單元11輸入,以形成動(dòng)態(tài)輸入碼。用戶輸入密碼時(shí),當(dāng)顯示字符集中含有對(duì)應(yīng)的密碼字符時(shí)選擇該密碼字符,如果沒(méi)有對(duì)應(yīng)的密碼字符則任意選著一個(gè)字符輸入。本例中動(dòng)態(tài)輸入碼為“#64##0”,其中“#”是對(duì)應(yīng)顯示字符集中的任意一個(gè)字符,即本例中正確的動(dòng)態(tài)輸入碼可以有多種,例如164270、364320、564140、964850、764790等等。所述的密碼驗(yàn)證單元19接收動(dòng)態(tài)輸入碼并與用戶密碼比對(duì)。比對(duì)時(shí),首先,選擇動(dòng)態(tài)輸入碼中的S個(gè)字符構(gòu)成猜測(cè)碼,然后將猜測(cè)碼以加密用戶密碼的加密方式加密,得到猜測(cè)碼的加密密文,之后將猜測(cè)碼的加密密文與用戶密碼的加密密文比對(duì),如果一致,輸入正確,身份認(rèn)證通過(guò)。構(gòu)成猜測(cè)碼有多種組合方式,將所有組合方式的猜測(cè)碼加密后與用戶密碼的加密密文比對(duì),如果沒(méi)有加密密文相同的情況,則輸入錯(cuò)誤,身份認(rèn)證不通過(guò),身份認(rèn)證結(jié)束。假設(shè)輸入碼為“164270”,則猜測(cè)碼有“270”、“470”、“420”、“620”、“640”、“642”、“120”、“140”、“142”、“160”、“162”、“164”等20種組合,其中只要有一個(gè)猜測(cè)碼的加密密文與用戶密碼的加密密文相同則身份認(rèn)證通過(guò),而遍歷了所有猜測(cè)碼的加密密文比對(duì)而沒(méi)有相同的則身份認(rèn)證失敗。對(duì)密碼進(jìn)行猜測(cè)過(guò)程中,還可以采取強(qiáng)認(rèn)證策略,即當(dāng)猜測(cè)碼加密后與存儲(chǔ)密碼密文一致,還需對(duì)應(yīng)戶的輸入過(guò)程進(jìn)行檢查。由于 此時(shí)已經(jīng)可以知道用戶密碼是什么,對(duì)于輸入碼中的某一位,如果用戶可以在前幾次輸入中選擇到該位輸入碼,而用戶沒(méi)有輸入,則不能通過(guò)驗(yàn)證。例如,6是用戶密碼的第一位,假如第二個(gè)顯示字符集、第三個(gè)顯示字符集中均存在字符6,但是用戶輸入時(shí)沒(méi)有選擇第二個(gè)顯示字符集的6,而是輸入了第三個(gè)顯示字符集的6,則認(rèn)為用戶輸入錯(cuò)誤,不能通過(guò)驗(yàn)證。所述的功能模塊16接收密碼驗(yàn)證單元19的身份認(rèn)證信息,當(dāng)身份認(rèn)證通過(guò)時(shí)執(zhí)行用戶指定功能單元,例如存款單元、取款單元、轉(zhuǎn)賬單元或密碼更換單元。上述的銀行ATM身份認(rèn)證系統(tǒng),用戶輸入密碼時(shí),根據(jù)顯示單元13顯示內(nèi)容決定輸入,當(dāng)顯示的顯示字符集中有所設(shè)置的密碼當(dāng)前位,就輸入其對(duì)應(yīng)密碼字符,否則任意輸入。由于某個(gè)輸入位的有效性只有合法用戶可以準(zhǔn)確判斷,而非法用戶或監(jiān)控程序無(wú)法準(zhǔn)確判斷。密碼偷窺者(如人、攝像頭、木馬程序等)即使完全獲得顯示字符集與用戶對(duì)應(yīng)的輸入,也仍然無(wú)法判斷哪些為有效位,哪些為干擾位。每次顯示字符集生成單元17動(dòng)態(tài)隨機(jī)產(chǎn)生的顯示字符集,則使得一次或者多次觀測(cè)到用戶的輸入,仍然無(wú)法獲得關(guān)于用戶密碼的全部知識(shí)。另外,合法用戶只要記住設(shè)置的用戶密碼,就能正確輸入。本發(fā)明夠提高身份認(rèn)證的安全性并且易于使用。請(qǐng)參閱圖9、圖10所示,圖9是本發(fā)明另一應(yīng)用實(shí)施例-Web應(yīng)用驗(yàn)證系統(tǒng)的方框示意圖,圖10是Web應(yīng)用身份認(rèn)證系統(tǒng)的用戶密碼、顯示字符集及動(dòng)態(tài)輸入碼之間對(duì)應(yīng)關(guān)系的示意圖。Web應(yīng)用身份認(rèn)證系統(tǒng),包括服務(wù)器端100以及與服務(wù)器端100通信連接的客戶端200,該客戶端200例如是計(jì)算機(jī)、移動(dòng)電話。所述的服務(wù)器端100包括存儲(chǔ)單元15以及密碼驗(yàn)證單元19。在其他實(shí)施例中,所述的密碼驗(yàn)證單元19可以設(shè)置在客戶端200。所述的存儲(chǔ)單元15存儲(chǔ)有多個(gè)用戶以及與多個(gè)用戶對(duì)應(yīng)的多個(gè)用戶密碼,用戶密碼的長(zhǎng)度為未知的不定值R,R為大于0的整數(shù);該用戶密碼的最大允許長(zhǎng)度為Q,Q是大于等于1的自然數(shù),即不同的用戶密碼其長(zhǎng)度可以不同,例如3位、5位、6位、8位、15位等。在本例中假定Q為3,即用戶密碼長(zhǎng)度可以為1位,2位和3位。所述的用戶密碼是以加密的密文形式存在用戶密碼的實(shí)際長(zhǎng)度R僅有合法用戶知道,存儲(chǔ)單元15以及他人是無(wú)從得知的。本例中的用戶密碼是從由數(shù)字0、1、2、3、4、5、6、7、8、9組成的母字符集中選擇兩個(gè)數(shù)字“6”、“4”設(shè)置的。母字符集并不以此為限,該母字符集可以包括可打印字符,例如數(shù)字、字母及符號(hào);所述字母可以是英文字母、法文字母、日文字母、韓文字母、俄文字母、希臘字母或其組合,所述符號(hào)包括電腦鍵盤(pán)常用的功能符號(hào),例如“@、*、(、&¥、$、《、》、<、+、-、”等等。所述的客戶端200,包括顯示單元13、輸入單元15、顯示字符集生成單元17及功能模塊16。在其他實(shí)施例中,顯示字符集生成單元17可以設(shè)置在服務(wù)器端100。用戶請(qǐng)求身份認(rèn)證時(shí)(例如點(diǎn)擊登錄驗(yàn)證請(qǐng)求),所述顯示字符集生成單元17接收身份認(rèn)證請(qǐng)求。顯示字符集生成單元17,首先讀取服務(wù)器端200的存儲(chǔ)單元15儲(chǔ)存的用戶信息和用戶密碼信息,所述的用戶密碼信息包括用戶密碼的最大允許長(zhǎng)度Q及用戶密碼的加密密文;然后根據(jù)該用戶密碼的最大允許長(zhǎng)度Q生成L個(gè)顯示字符集,該L個(gè)顯示字符集可分成Q組顯示字符集。所述Q組顯示字符集中至少一組顯示字符集包含兩個(gè)顯示字符集,其中一個(gè)是有效字符集,另一個(gè)是干擾字符集。所述Q組顯示字符集中每一組顯示字符集的并集為母字符集。參閱圖10,本例中用戶密碼的最大允許長(zhǎng)度Q為“3”,依此生成五個(gè)顯示字符集,其中第一、第二個(gè)顯示字符集構(gòu)成第一組顯示字符集,第三、第四個(gè)顯示字符集構(gòu)成第二組顯示字符集,第五個(gè)顯示字符集構(gòu)成第三組顯示字符集;第一個(gè)顯示字符集包含“1、3、5、9、7”、第二個(gè)顯示字符集包含“2、4、6、8、0”,并集包含了母字符集的所有字符;第三個(gè)顯示字符集包含“0、6、5、9、4”,第四個(gè)顯示字符集包含“2、3、1、8、7”,并集包含了母字符集的所有字符;第五個(gè)顯示字符集包含母字字符集的所有字符“0、1、2、3、4、5、6、7、8、9”。所述的顯示單元13依次或同時(shí)顯示上述的L個(gè)顯示字符集。用戶從上述每一個(gè)顯示字符集中選擇一個(gè)字符經(jīng)由輸入單元11輸入,以形成動(dòng)態(tài)輸入碼。用戶輸入密碼時(shí),不需要區(qū)分有效字符集和無(wú)效字符集,當(dāng)顯示字符集中含有對(duì)應(yīng)的密碼字符時(shí)選擇該密碼字符,如果沒(méi)有對(duì)應(yīng)的密碼字符則任意選著一個(gè)字符輸入。本例中動(dòng)態(tài)輸入碼為“#64##”,其中“#”是對(duì)應(yīng)顯示字符集中的任意一個(gè)字符,即本例中正確的動(dòng)態(tài)輸入碼可以有多種,例如16421、36430、56417、96483、76472等等。所述的密碼驗(yàn)證單元19接收動(dòng)態(tài)輸入碼并與用戶密碼比對(duì)。比對(duì)時(shí),由于用戶密碼只有加密密文,用戶密碼的長(zhǎng)度是未知的,因此首先假設(shè)用戶密碼的長(zhǎng)度R依次為1,2……Q;然后,選擇動(dòng)態(tài)輸入碼中的R個(gè)字符構(gòu)成猜測(cè)碼,再將猜測(cè)碼以加密用戶密碼的加密方式加密,得到猜測(cè)碼的加密密文,之后將猜測(cè)碼的加密密文與用戶密碼的加密密文比對(duì),如果一致,輸入正確,身份認(rèn)證通過(guò)。猜測(cè)碼有多種可能,包括不同長(zhǎng)度,不同輸入碼組合,將所有可能的猜測(cè)碼加密后與用戶密碼的加密密文比對(duì),如果沒(méi)有加密密文相同的情況,則輸入錯(cuò)誤,身份認(rèn)證不通過(guò)。對(duì)密碼進(jìn)行猜測(cè)過(guò)程中,還可以采取強(qiáng)認(rèn)證策略,即當(dāng)猜測(cè)碼加密后與存儲(chǔ)密碼密文一致,還需對(duì)應(yīng)戶的輸入過(guò)程進(jìn)行檢查。由于此時(shí)已經(jīng)可以知道用戶密碼是什么,對(duì)于輸入碼的某一位,如果用戶可以在前幾次輸入中選擇到該位輸入碼, 而用戶沒(méi)有輸入,則不能通過(guò)驗(yàn)證。例如,6是用戶密碼的第一位,假如第二個(gè)顯示字符集、第三個(gè)顯示字符集中均存在字符6,但是用戶輸入時(shí)沒(méi)有選擇第二個(gè)顯示字符集的6,而是輸入了第三個(gè)顯示字符集的6,則認(rèn)為用戶輸入錯(cuò)誤,不能通過(guò)驗(yàn)證。所述的功能模塊16接收密碼驗(yàn)證單元19的身份認(rèn)證信息,當(dāng)身份認(rèn)證通過(guò)時(shí)執(zhí)行用戶指定功能單元,例如網(wǎng)頁(yè)瀏覽單元、郵箱登錄單元、網(wǎng)絡(luò)購(gòu)物單元、網(wǎng)絡(luò)銀行轉(zhuǎn)賬單元和密碼更換單元等等。根據(jù)上述的Web應(yīng)用身份認(rèn)證系統(tǒng)內(nèi)容可知,用戶輸入密碼時(shí),根據(jù)顯示單元13顯示內(nèi)容決定輸入,當(dāng)顯示的顯示字符集中有所設(shè)置的密碼當(dāng)前位,就輸入其對(duì)應(yīng)密碼字符,否則任意輸入。由于某個(gè)輸入位的有效性只有合法用戶可以準(zhǔn)確判斷,而非法用戶或監(jiān)控程序無(wú)法準(zhǔn)確判斷。密碼偷窺者(如人、病毒、木馬程序等)即使完全獲得顯示字符集與用戶對(duì)應(yīng)的輸入,也仍然無(wú)法判斷哪些為有效位,哪些為干擾位。每次顯示字符集生成單元17動(dòng)態(tài)隨機(jī)產(chǎn)生的顯示字符集,則使得一次或者多次觀測(cè)到用戶的輸入,仍然無(wú)法獲得關(guān)于用戶密碼的全部知識(shí)。另外,合法用戶只要記住設(shè)置的用戶密碼,就能正確輸入。本發(fā)明夠提高身份認(rèn)證的安全性并且易于使用。上述的實(shí)施例中,顯示字符集是以圖像方式顯示,但不以此為限,顯示字符集也可以是聲音方式顯示;而輸入方式也不局限于鍵盤(pán)輸入、觸摸屏輸入,也可以是語(yǔ)言方式輸入。雖然本發(fā)明已以較佳實(shí)施例揭露如上,然并非用以限定本發(fā)明實(shí)施的范圍,依據(jù)本發(fā)明的權(quán)利要求書(shū)及說(shuō)明內(nèi)容所作的簡(jiǎn)單的等效變化與修飾,仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。