專利名稱:用于驗證口令的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及驗證口令的方法,以及用于口令驗證的設(shè)備和軟件,例如用于信用卡事務(wù)處理或用于硬件或網(wǎng)站登錄的驗證。
有人預(yù)測,電子商務(wù)是人們使用因特網(wǎng)的主要理由之一。目前,在線事務(wù)處理的發(fā)展的主要障礙,是由于TCP/IP的開放特性而使信用卡和口令被暴露的安全問題。信用卡問題的主要原因是偷盜和非法拷貝信用卡。這些問題直接與當(dāng)前信用卡所使用的口令系統(tǒng)的問題有關(guān)。
許多公司已經(jīng)試圖找到為信用卡和在線事務(wù)處理提供安全解決方案的方法。經(jīng)常提出的是硬件解決方案,但是這些方案既昂貴,也不盡完善,因為它們可能被拷貝或受黑客攻擊。此外,因特網(wǎng)上流動的任何數(shù)據(jù),無論是否被加密過,都可能被他人截獲或者可能被再使用。加密之所以有用是因為人們不能明白加密的數(shù)據(jù),但是從技術(shù)上講,在因特網(wǎng)上,任何加密的數(shù)據(jù)都能“按現(xiàn)狀”被再使用。
Choonyeol Yu在Nikkei Electronics Asia(2000年4月)中已經(jīng)提出了一種動態(tài)口令算法,作為一種通過簡單地改變口令的算法而在用于信用卡安全的計算機系統(tǒng)中實現(xiàn)的軟件解決方案。以前的系統(tǒng)允許每次用相同的字母數(shù)字輸入作為口令,而所述系統(tǒng)則是動態(tài)的,根據(jù)信用卡何時何地被使用而自動地變更口令。利用按照時間點和/或地點等而變化的變量的特性來設(shè)置口令。時間點包括年、月、日、小時、分、秒,甚至納秒;而地點則包括地區(qū)碼、郵政編碼、主機IP地址、公司名稱等等。
在連接到銀行服務(wù)器的日期和時刻的要送入的實際數(shù)值數(shù)字是這樣計算的“靜態(tài)口令(x+)變量。
圖1表示設(shè)置口令的方法以及口令的使用方法。參看該圖,圖中顯示的主口令10有一個第一部分(或字段)11和一個第二部分(或字段)12。例如,將主口令設(shè)定為1234。將主口令的各部分與可變的因素聯(lián)合起來,以確定要在一個給定時間輸入的實際口令。本例中,第一部分11將與一個以小時計的時間因素聯(lián)合,第二部分12將與一個以月份計的時間因素聯(lián)合。因此,例如,當(dāng)用戶希望在2月5日10點鐘輸入口令時,小時因素是10,月份因素是2(表示二月)。將這些因素與口令的對應(yīng)部分相加,使得在該日的該時刻要輸入的口令為2236。類似地,在10月5日的15:00,要被輸入的口令是2746。
以上技術(shù)能解除用戶的擔(dān)憂,即口令可能在銀行被用戶以外的他人獲知、或者在因特網(wǎng)上被黑客獲知。然而還是有這樣的問題,即如果欺詐者或黑客不但獲知了主口令,而且也獲知了隨后產(chǎn)生口令的方案,則安全性就有風(fēng)險。額外的安全措施是有益的。
本發(fā)明的一個目的是提供防止口令被接收者或偷聽者再使用的額外安全保護。
按照本發(fā)明的第一個方面,提供一種驗證口令的方法,該口令能以一連串的實例的形式提供,并具有第一字段集合和第二字段。第一字段集合包含以下的至少一個(a)靜態(tài)字段,它對每個口令實例都不變;(b)動態(tài)字段,它根據(jù)外來數(shù)據(jù)而隨著每個口令實例而改變。第二字段(在本文中被稱作“滯后字段”或“帶歷史的動態(tài)字段”)被安排成含有該口令的在先實例的一個函數(shù)的數(shù)據(jù)(或口令的在先實例中的數(shù)據(jù)),該方法包含接收一個當(dāng)前提供的口令實例;進行一個比較操作,其中,利用自從口令的一個在先實例的驗證以來所保留的數(shù)據(jù),對當(dāng)前提供的口令實例的第二字段進行比較。
通過這些方法,一個口令的一個實例(或者甚至是該口令和用于構(gòu)造新口令的算法)只能有效使用一次,而不能被再使用??诹钅鼙还蚕硪怨┮淮涡允褂茫瑫r防止接收者再次使用口令。即使知道任何方案和必需的外部數(shù)據(jù)(如地點和時間),也不足使口令的一個新實例被生成。
第一字段集合最好包含一個靜態(tài)字段和一個動態(tài)字段。對于動態(tài)字段來說,比較的步驟可包含接收具有下列形式的外部數(shù)據(jù),即日期和/或時間和/或地點數(shù)據(jù)和/或機器IP地址等。
在成功的比較之后,為了下一個口令實例的比較而保留數(shù)據(jù)。所保留的數(shù)據(jù)可包含口令的當(dāng)前提供的實例的接收實例日期和時間的其中之一,以及/或者可包含當(dāng)前提供的口令實例的至少一部分。此外或者作為替代,從當(dāng)前提供的口令實例的實例的接收的地點中導(dǎo)出的所保留的數(shù)據(jù)(例如,所保留的數(shù)據(jù)可以由地點名中的字符的個數(shù)組成)。
比較的步驟最好包含至少生成被生成的口令實例的第二字段;并比較當(dāng)前提供的口令實例的第二字段與被生成的口令實例的第二字段。
按照本發(fā)明的另一個方面,提供一種設(shè)備,諸如膝上型電腦、個人數(shù)字助理(PDA)、或客戶機-服務(wù)器裝置對,以用于接收和驗證口令,該口令能以一連串的實例的形式提供。該設(shè)備包含輸入裝置,用于輸入當(dāng)前提供的口令實例;比較裝置,用于進行一個比較操作,其中,利用自從口令的一個在先實例的驗證以來所保留的數(shù)據(jù),對當(dāng)前提供的口令實例的滯后字段(帶歷史的動態(tài)字段)進行比較。
在設(shè)備是諸如膝上型電腦或PDA這類獨立裝置的情況下,輸入裝置可以是鍵盤或小鍵盤。在設(shè)備是連網(wǎng)的裝置的情況下,輸入裝置可以是網(wǎng)絡(luò)上的另一個裝置。在后一種情況下,輸入裝置與比較裝置的距離遙遠,可以提供加密裝置,用于對從輸入裝置向比較裝置發(fā)送的口令進行加密。
一個存儲器,最好是在比較裝置中,在成功的比較后保留數(shù)據(jù),以用于口令的下一個實例的比較。
所描述的并要求保護的本發(fā)明,可以用一種上面有存儲的指令和數(shù)據(jù)的數(shù)據(jù)載體的形式提供。如下文詳細說明的那樣,這些指令和數(shù)據(jù),在被裝入適當(dāng)?shù)挠嬎銠C的存儲器中并且在一個當(dāng)前提供的口令的實例被提供時,使計算機執(zhí)行一個比較操作,其中,利用自口令的一個在先實例的驗證以來所保留的數(shù)據(jù),對當(dāng)前提供的口令的實例的滯后字段(帶歷史的動態(tài)字段)進行比較。
僅僅作為例子,現(xiàn)在參考附圖來描述本發(fā)明的優(yōu)選實施例的其它方面和詳情。
圖1表示現(xiàn)有技術(shù)的一種動態(tài)口令的選定方案的方法。
圖2表示按照本發(fā)明第一實施例的具有滯后的動態(tài)口令分配的方法。
圖3表示按照本發(fā)明第二實施例的具有帶有歷史的動態(tài)字段的口令的結(jié)構(gòu)。
圖4表示按照本發(fā)明第二實施例的具有帶有歷史的動態(tài)字段的口令的使用。
圖5表示用于接收按照本發(fā)明的口令的硬件裝置。
圖6是表示在諸如圖5的裝置中的軟件的操作的流程圖。
參看圖2,圖中所示的一種主口令100具有五個字段101至105。字段101是動態(tài)的,是一個日期字段。字段102是動態(tài)的,是一個小時字段。字段103和104是滯后字段,其中前一個(字段103)是一個在先日期字段,第二個(字段104)是一個在先小時字段。字段105是一個靜態(tài)字段。在主口令的下方,表明了一個當(dāng)前口令110,該口令是按以下方式從主口令導(dǎo)出的。在所給的例子中,口令110是在2月21日14:15生成的。在這個實例中,將用日期中的日數(shù)字來修改日期字段101,用時間中的小時數(shù)字來修改小時字段102。在所給的例子中,主口令是1234567890。
在2月21日14:15生成口令110的方法是,把21與字段101中的值相加,得出33,將14與字段102中的值相加,得出48。“在先日期”字段113從主口令100(在本案例中這是上一個有效口令)的日期字段101中取值,“在先小時”字段114從主口令100的小時字段102中取值。靜態(tài)字段115不變,而是取口令100的靜態(tài)字段105中的值90。這樣,新的口令是3348123490。
進一步向下看圖,第三口令120是以類似的方式生成的。日期和小時字段121及122是用當(dāng)前日期和當(dāng)前小時(即輸入該新的口令時的日期和小時)從主口令的日期和小時字段101及102導(dǎo)出的?!霸谙热掌凇弊侄?23和“在先小時”字段124則分別是從在先口令110的日期字段和小時字段導(dǎo)出的。重復(fù)該方法,以生成第四口令130,它同樣具有從主口令100導(dǎo)出的字段和從在先口令120導(dǎo)出的字段。
所示的安排的一個主要優(yōu)點是,其具有“一次性使用”的特點,這使得有可能與他人共享口令,而不用擔(dān)心口令被濫用。例如,如果用戶A把口令110連同使用口令的算法一起給用戶B,用戶B將被告知輸入“日期+12、小時+34、123490”。這樣,如果用戶B在2月21日14:15使用口令,用戶B將生成口令3348123490并能訪問受保護的賬號、設(shè)備或域(domain);然而,用戶B并不知道,字段113、114和115-即數(shù)字123490并不是一個靜態(tài)字段。用戶B將不能再次使用該口令,即使他在相同的日期相同的鐘點試圖使用該口令。
用戶必須記住在先使用的日期和時間才能再使用該口令。用戶在每次使用之后必須對口令作微小的修改。這會對用戶這一方面要求一些額外的智力努力,但是顯著地增強了安全性。
作為對使用日期和時間的替代選擇,可以在字段101和102的其中之一中輸入上次使用的地點。輸入這個信息的一個簡單方法是計算上次使用的地點的地點名稱中字母的個數(shù)。例如,如果上次使用的地點是Banglore,這有9個字母,因此將把這個數(shù)字與主口令中的基數(shù)中相加。
當(dāng)然,可以通過增加額外的字段使該方案更復(fù)雜,或者通過使用更少的字段而簡化該方案。
轉(zhuǎn)至圖3,所示的是按照本發(fā)明的一個替代性實施例的口令的結(jié)構(gòu)。該口令被劃分為動態(tài)和靜態(tài)兩部分。動態(tài)部分包括帶有歷史的動態(tài)部分和不帶歷史的動態(tài)部分。因此,有一個是靜態(tài)的字段201,帶有歷史的動態(tài)字段的一連串的字段202,以及不帶歷史的動態(tài)字段的一連串的字段203。
帶有歷史的動態(tài)字段使用以下關(guān)系被更新的。
Pi的DH0=F0(Pi-1,Ei-1)Pi的DH1=F1(Pi-1,Ei-1),...,Pi的DHn=Fn(Pi-1,Ei-1)。
其中,Pi、Pi-1分別是當(dāng)前的和在先的口令。Ei-1是在先登錄會話(session)的事件記錄,諸如登錄的時間/日期。F0、F1、Fn是簡單函數(shù),就是說,對應(yīng)DH0...DHn有n+1個存儲(歷史)函數(shù),每個與一個在先口令(Pi-1)和一個在先登錄會話的事件記錄(Ei-1)有關(guān)。
不帶歷史的動態(tài)字段用以下關(guān)系來定義。
D1=f1(v1,v2,...)D1=f1(v1,v2,...)Dm=fm(v1,v2,...)其中v1,v2...是變量,它們按照時間點和地點等而改變。
第二實施例的用法將參照圖4而說明。
在圖4中,主口令被表示為具有帶歷史的第一動態(tài)字段(DH0)301(在此案例中是一個時間字段)、靜態(tài)字段302、帶歷史的第二動態(tài)字段(DH1)303、帶歷史的第三動態(tài)字段(DH2)304、不帶歷史的第一動態(tài)字段(D1)305和不帶歷史的第二動態(tài)字段(D2)306。
當(dāng)主口令300被生成時,帶歷史動態(tài)字段(DH0至DH2)被設(shè)定為0,因為沒有歷史。主口令300在3月3日(3March)17:31在Bangalore被生成,用這個數(shù)據(jù)來設(shè)定不帶歷史的動態(tài)字段305和306。在本例中,算法用英文月份名中的字母的個數(shù)和地點中的字母的個數(shù)作為動態(tài)數(shù)據(jù)。因此,字段305被設(shè)定為05,字段306被設(shè)定為09。
在下一次使用時,需要生成口令310。在本例中,口令310要在2月7日(2February)18:23在Mumbai生成。在用于生成字段311的函數(shù)F0時,要求用戶記得上一次輸入口令的準確時間,就是說,要求使用在先登錄的會話的事件記錄。將上一次輸入的時間的時間字段中的分鐘與主口令300中的字段DH0(即字段301)相加。在本例中,上一次主口令是在下午5點31分生成的,因此通過插入31而生成字段311。(注意字段311同樣可以通過把31與主口令300中的字段301的值相加而生成)。字段312是靜態(tài)的,保持不變。字段313是個帶歷史的動態(tài)字段,它接受在先有效口令-本例中為主口令300-的字段304中的值。字段314也是帶歷史的動態(tài)字段,使用在先有效口令300的在先有效字段305中的值。字段315和316如前面一樣,是通過插入月份名中的字母的個數(shù)(本例中月份是February,個數(shù)值為8)和地點名中的字母的個數(shù)(本例中地點是Mumbai,個數(shù)值為6)而生成的。就這樣,口令310是使用在先口令中的字段、在先口令的輸入時間的信息以及當(dāng)前口令的輸入時間和地點的信息生成的。
在以后的時間和不同的地點,通過與所示的類似的算法,可以生成另一個的口令320。同樣,用戶需要記得在先口令被輸入時的準確到分鐘的時間。
當(dāng)然,函數(shù)F0、F1...Fn和f1、f2...fm可以比本例中所用的多少更復(fù)雜一些。例如,對于字段311,不一定要記得上一個口令的輸入的準確分鐘,而是可以使用上一個口令的輸入的日子或月份,或者當(dāng)前登錄的時間。或者,可以與圖2的算法一樣,通過數(shù)值的相加而不是插入數(shù)值,即把一個值與主口令中的對應(yīng)字段的值相加,來生成字段311、315和316。
用來驗證口令的系統(tǒng),使用與用戶所用的算法相對應(yīng)的口令生成算法或者簡化的算法。參看圖2的例子,驗證系統(tǒng)有一個與用戶的日歷和時鐘同步的日歷和時鐘,使得驗證系統(tǒng)知道用戶試圖登錄時的日期和時刻,并且在任何驗證中都能對口令的全部5個字段進行比較。
驗證可以與加密一起使用,為此將一個密鑰傳送給用戶,用戶將口令加密,并將其發(fā)送給系統(tǒng),系統(tǒng)在進行比較前將口令解密。
在圖4中給出的例子中,系統(tǒng)記錄口令300的輸入時間,以便為在下一次輸入口令310時對字段311進行比較做好準備。可以提供(以下更詳細描述的)手段,讓驗證系統(tǒng)能識別口令的輸入地點,由此計算輸入地點的字母的個數(shù),以便對口令310中的字段316進行比較。
最好對所有輸入的字段進行比較或驗證。這避免錯誤數(shù)據(jù)擴散到其它字段,導(dǎo)致后來的登錄失敗。
在另一個實施例中,口令包含一個隨機滯后(RH)字段和一個隨機無所謂(RD)字段。當(dāng)前口令的“隨機滯后”字段含有一個數(shù)據(jù)它是“在先”口令的隨機無所謂字段的函數(shù),而當(dāng)前口令的隨機無所謂字段是一個隨機值。按照這個實施例提供的是一種用于口令驗證的簡單而安全的解決方案。隨機滯后字段可如下地被表達為一個函數(shù)FRH=F(RD’),其中RD’是口令的在先實例中的無所謂字段。
第二個字段(“隨機無所謂字段”)是用戶隨機輸入的數(shù)據(jù)。這個字段被稱作隨機無所謂字段,是因為它可以是用戶針對口令的特定實例而隨機輸入的任何字符集(其長度被限制到一個最大值)。對于口令的當(dāng)前實例來說,這個字段被認為是一個“無所謂的”字段。這個字段將在口令的以后實例中被使用,以用函數(shù)F告知RH字段。
主口令有兩個字段,即隨機滯后字段和隨機無所謂字段。當(dāng)前口令200以下述方式從口令100中導(dǎo)出。
主口令有一個隨機無所謂字段12573。為了構(gòu)造當(dāng)前口令的隨機滯后字段,例如將函數(shù)取成F=abs(RD’-1111)。
利用這個函數(shù),隨機滯后字段由計算為12573-1111=11462。用戶隨機地輸入的隨機無所謂字段是43509。因此,口令變成1146243509。這個隨機無所謂字段是口令的當(dāng)前實例的隨機無所謂字段??诹铗炞C算法對當(dāng)前的實例化來說只要忽略這個字段,并且只是為了生成口令的將來實例化中的隨機滯后字段而存儲這個值。類似地,口令的下一個實例的隨機滯后字段被計算為43509-1111=42398。在這個實例中,用戶輸入的隨機無所謂字段是34524,這是一個隨機選擇的數(shù)字,因此口令變成4239834524??诹畹南乱粋€實例遵循類似的程序而生成。
在這個案例中,用戶需要記得在口令的在先實例中輸入的隨機無所謂字段以及用于生成隨機滯后字段的函數(shù),這二者在本案例中是比較容易記得的。這個口令驗證提供額外的安全性,因為所生成的口令具有高度的隨機性。滯后行為也提供額外的安全性。同時,口令的生成也非常簡單。幾乎與靜態(tài)口令一樣簡單。
現(xiàn)在參看圖5,所示的是一個用于口令輸入和驗證的系統(tǒng),包含用戶裝置500和服務(wù)器501。用戶裝置有一個數(shù)據(jù)輸入裝置510,諸如小鍵盤或鍵盤,并有處理器511、存儲器512、時鐘513、以及與網(wǎng)絡(luò)端口515相連的網(wǎng)絡(luò)接口514。服務(wù)器501有處理器520、存儲器521、時鐘522以及與網(wǎng)絡(luò)端口524相連的網(wǎng)絡(luò)接口523。網(wǎng)絡(luò)端口515和514通過網(wǎng)絡(luò)(未予示出)互相連接。
在操作中,用戶裝置500的用戶與服務(wù)器501建立通信,在建立通信時,服務(wù)器501要求用戶輸入口令。在要求用戶輸入口令時,服務(wù)器501可以向用戶裝置500傳送一個密鑰,以便用戶裝置可以返回一個加密的口令。用戶裝置500的用戶構(gòu)造口令,并通過輸入裝置510輸入口令。用戶可以通過存儲在存儲器512中的數(shù)據(jù)以及由時鐘513提供的時間和日期,在構(gòu)造口令的過程中得到輔助,在構(gòu)造口令時用戶所得到的輔助的程度,與用戶裝置500是否是用戶通過其為這個系統(tǒng)輸入口令的唯一裝置有關(guān)。在輸入口令后,處理器511用服務(wù)器501提供的密鑰加密該口令,并通過接口514將該口令傳遞到服務(wù)器501;該口令在接口523被接收,被處理器520解密,然后被處理器520與在存儲器位置521a中存儲的主口令數(shù)據(jù)和在存儲器位置521b中存儲的在先口令數(shù)據(jù)相比較。在先口令數(shù)據(jù)可能是在先口令,或者可能包括在先口令的輸入的日期或地點。微處理器520用主口令數(shù)據(jù)和在先口令數(shù)據(jù)來構(gòu)造期望的口令,并在解密的被接收口令與本地構(gòu)造的口令之間進行比較。如果具有匹配,則向用戶裝置500發(fā)送回一個驗證消息,通知用戶驗證已經(jīng)成功,并提供對口令保護的服務(wù)(無論是服務(wù)器501提供的還是其它某個系統(tǒng)提供的)的訪問。
在要求了解登錄的地點的驗證系統(tǒng)中,服務(wù)器501能通過端口515的TCP/IP號來確定用戶500的位置。服務(wù)器501能進行對TCP/IP號的查找,確定地點名稱并對地點名中的字母的個數(shù)進行計數(shù),以方便驗證。
轉(zhuǎn)至圖6,所示的是一個在服務(wù)器501上執(zhí)行的過程。該過程在步驟600開始,其中服務(wù)器501準備好接受來自用戶裝置500的用戶的登錄。當(dāng)用戶進行登錄時,該登錄在步驟601被接收,這觸發(fā)兩個同時的操作。第一,登錄的時間和/或地點被記錄在服務(wù)器501的存儲器521中的事件日志中(步驟602)。第二,過程前進到步驟603,主口令和在先口令分別從存儲器位置512a和521b被取回,在先登錄的時間數(shù)據(jù)從事件日志中被取回。然后,在步驟604,用在步驟602中記錄的時間和/或地點數(shù)據(jù)、在步驟603中取回的主口令和在先口令以及事件日志中的時間數(shù)據(jù),構(gòu)造新的口令。在步驟605,將這個新構(gòu)造的口令與新從用戶接收的口令比較。如果有匹配(步驟606),則將新口令記錄(步驟607)在存儲器位置521b中供將來使用,并且在步驟608中準予訪問。如果在步驟606中沒有匹配,則向用戶發(fā)回一個出錯消息(步驟610)。
在構(gòu)造口令的復(fù)雜任務(wù)中,可以利用用戶裝置500的時鐘513和/或存儲器512輔助用戶。如果系統(tǒng)被安排得使得服務(wù)器501總是被從用戶裝置500訪問,這是特別有用的。這樣,用戶就能被用戶裝置500提示以便在適當(dāng)?shù)膸v史的動態(tài)字段、靜態(tài)字段和不帶歷史的動態(tài)字段中輸入適當(dāng)?shù)臄?shù)據(jù)。作為另一個提供方便的特點,可以將在存儲器512中存儲的數(shù)據(jù)自動地移入這些字段的一些或全部。這樣,例如,可以把口令分解成完全要由用戶記憶的部分,用戶必須記住如何構(gòu)造的部分,以及根據(jù)存儲器512和/或時鐘513自動構(gòu)造的部分。
在所有情況中,在網(wǎng)絡(luò)上傳送的加密的口令都是動態(tài)的,這樣,即使被偷聽者截獲,也不危及安全。
設(shè)備500和501可以壓縮成為單一的設(shè)備,例如膝上計算機,同時該系統(tǒng)可以用于對該獨立設(shè)備的帶口令的訪問。
以上描述了一種口令生成和驗證的方法,以及各種用于生成口令的軟件算法、用于驗證口令的軟件程序以及用于提供對設(shè)備和服務(wù)的口令驗證的訪問的設(shè)備和系統(tǒng)。第一個描述的實施例只使用了在先口令中的歷史數(shù)據(jù),而第二個實施例則使用事件日志數(shù)據(jù)(例如上次登錄的時間)和當(dāng)前登錄數(shù)據(jù)(例如當(dāng)前登錄的地點)。上述的發(fā)明可應(yīng)用于國防裝置,其中需要高度的安全性,而在一次行動期間可能需要進行間歇的口令驗證,其中每次口令都不同。本發(fā)明也適用于電子商務(wù),其中,不斷改變的口令的特點具有提供極大增強的安全性的優(yōu)點。上述的發(fā)明具有的優(yōu)點是,口令可以明確地被與另一人分享,并保證接收者只能使用口令一次。
單一的處理器或單元可以完成權(quán)利要求中所要求的若干裝置的功能。所要求的單一的裝置可以由若干個裝置以聯(lián)網(wǎng)的方式實現(xiàn)。當(dāng)某元素被描述為包含一個或多個元素或步驟時,“包含”一詞并不排除其它的元素或步驟。不定冠詞“一個”并不排除多個。所屬領(lǐng)域的普通熟練人員明了本發(fā)明的其它優(yōu)點,并且在本發(fā)明的范圍內(nèi)可以對本發(fā)明作出進一步修改。
權(quán)利要求
1.一種驗證口令的方法,該口令能以一連串的實例的形式提供,并具有第一字段的集合(201,203)和第二字段(113,114,202,311,313,314),其中,第一字段的集合包含以下的至少一個(a)靜態(tài)字段(105,201或302),它對每個口令的實例都不變,(b)動態(tài)字段(101,102,203,305或306),它根據(jù)外來數(shù)據(jù)而隨著每個口令的實例而改變,并且其中第二字段被安排成含有歷史數(shù)據(jù),歷史數(shù)據(jù)是驗證的在先實例的一個函數(shù),該方法包含接收一個當(dāng)前提供的口令實例(110或310);和進行一個比較操作(605),其中,利用自從口令的一個在先實例驗證以來所保留的數(shù)據(jù)對當(dāng)前提供的口令實例的第二字段(113,114,202,311,313或314)進行比較。
2.按照權(quán)利要求1的方法,其中,歷史數(shù)據(jù)是一個在先口令的函數(shù)。
3.按照權(quán)利要求1或2的方法,其中,歷史數(shù)據(jù)是一個在先驗證實例的事件記錄的函數(shù)。
4.按照權(quán)利要求1、2或3的方法,其中,第一字段的集合包含一個靜態(tài)字段(201)和一個動態(tài)字段(203)。
5.按照權(quán)利要求4的方法,其中,對于動態(tài)字段,進行一個比較操作的步驟包含接收具有下列形式的外部數(shù)據(jù)日期和/或時間和/或地點數(shù)據(jù)和/或客戶機的因特網(wǎng)協(xié)議地址。
6.按照前述權(quán)利要求的任何一項的方法,進一步包含,在成功的比較之后,為了下一個口令實例的比較而保留數(shù)據(jù)。
7.按照權(quán)利要求6的方法,其中,所保留的數(shù)據(jù)(602)包含當(dāng)前提供的口令實例的實例的接收的日期和時間的其中之一。
8.按照權(quán)利要求6的方法,其中,所保留的數(shù)據(jù)(602)是從當(dāng)前提供的口令實例的實例的接收的地點中導(dǎo)出的。
9.按照權(quán)利要求6的方法,其中,所保留的數(shù)據(jù)包含當(dāng)前提供的口令實例的至少一部分。
10.按照前述權(quán)利要求的任何一項的方法,其中,比較的步驟包含生成(604)至少是被生成的口令實例的第二字段;和把當(dāng)前提供的口令實例的第二字段與被生成的口令實例的第二字段相比較(605)。
11.按照權(quán)利要求1的方法,其中,口令進一步具有一個包含偽隨機數(shù)據(jù)的第三字段。
12.按照權(quán)利要求11的方法,偽隨機數(shù)據(jù)由用戶輸入。
13.按照權(quán)利要求11或12的方法,其中,所保留的數(shù)據(jù)是第三字段的內(nèi)容。
14.按照權(quán)利要求6和13的方法,其中,包含保留第三字段的內(nèi)容。
15一種用于接收和驗證口令的設(shè)備,該口令能以一連串的實例的形式提供,并有第一字段的集合(201,203)和第二字段(202),其中,第一字段的集合包含以下的至少一個(a)靜態(tài)字段(201),它在每個口令的實例中不變,(b)動態(tài)字段(203),它根據(jù)外來數(shù)據(jù)而隨著每個口令的實例而改變,并且其中第二字段(202)被安排成含有歷史數(shù)據(jù),歷史數(shù)據(jù)是驗證的在先實例的一個函數(shù),該設(shè)備包含輸入裝置(500),用于輸入當(dāng)前提供的口令實例;比較裝置(501),用于進行一個比較操作,其中,利用自從口令的一個在先實例的驗證以來所保留的數(shù)據(jù)對當(dāng)前提供的口令實例的第二字段進行比較。
16.按照權(quán)利要求15的設(shè)備,其中,歷史數(shù)據(jù)是一個在先口令的函數(shù)。
17.一種數(shù)據(jù)載體,其上有存儲的指令和數(shù)據(jù),當(dāng)指令和數(shù)據(jù)被裝入適當(dāng)?shù)挠嬎銠C(501)的存儲器(521)中并且與一個當(dāng)前提供的口令的實例一起被提供時—該口令能以一連串的實例的形式提供,并有第一字段的集合(201,203)和第二字段(202),其中,第一字段的集合包含以下的至少一個(a)靜態(tài)字段(201),它在每個口令的實例中不變,(b)動態(tài)字段(203),它根據(jù)外來數(shù)據(jù)而隨著每個口令的實例而改變,并且其中第二字段(202)被安排成含有數(shù)據(jù),該數(shù)據(jù)是驗證的在先實例的一個函數(shù)—使計算機執(zhí)行一個比較操作(605),其中,利用自口令的一個在先實例的驗證以來保留的數(shù)據(jù)對當(dāng)前提供的口令的實例的第二字段進行比較。
全文摘要
一種由若干字段(101-105)構(gòu)成的口令,能以一連串的實例(100,110,120,130)的形式提供。這些字段包含以下的至少一個(a)靜態(tài)字段(105),它在每個口令實例中不變,(b)動態(tài)字段(101,102),它根據(jù)外來數(shù)據(jù)而隨著每個口令實例而改變。此外,有一個“滯后”字段(或“帶歷史的動態(tài)字段”103、104),它含有是口令的在先實例的一個函數(shù)的數(shù)據(jù)。當(dāng)當(dāng)前提供的口令實例(110)被輸入/接收時,進行一個比較操作,其中,利用自口令的一個在先實例的驗證以來所保留的數(shù)據(jù)(101,102)對當(dāng)前提供的口令實例的滯后字段(113,114)進行比較。
文檔編號G06F21/31GK1806217SQ200480016817
公開日2006年7月19日 申請日期2004年6月15日 優(yōu)先權(quán)日2003年6月19日
發(fā)明者N·艾羅蒂尤杜帕, B·托馬斯 申請人:皇家飛利浦電子股份有限公司