專利名稱:用于互聯(lián)裝置的身份驗證的制作方法
背景技術:
本發(fā)明涉及一種方法,用于驗證通過一條數(shù)據(jù)鏈路被連接到第二裝置的第一裝置的用戶的身份,其中,向該用戶提供一個用戶專用的口令字,本方法包括從第一裝置向第二裝置發(fā)送用戶專用的數(shù)據(jù),并將該數(shù)據(jù)的至少一部分跟參考數(shù)據(jù)進行比較。
這樣的方法被用來,例如,驗證一個付費電視系統(tǒng)的一個用戶的身份,或者限制訪問的網站的訪問者的身份。在這些情況下,有必要去驗證用戶或訪問者的身份。只有那些已經付費去接收一定的廣播信號的用戶才應被允許這樣做。類似地,只有那些具有對網站的訪問權的計算機用戶才應被允許去訪問該網站。
用于識別網絡中的一個裝置的用戶的通用技術就是要求他提供一個口令字。在第二裝置后面的機構將從該用戶接收的口令字跟保存在它的記錄中的一個拷貝進行比較,以便驗證他的身份。
這樣一個系統(tǒng)依賴于該用戶的善意。若該用戶決定使他的口令字可用于未經授權的第三方,則這個第三方可能冒充第一裝置的用戶的身份。
像因特網那樣的網絡提供了一種使數(shù)據(jù)被廣大公眾使用的相對容易的方式。這樣一來,在網絡中的一個惡意的用戶可能使他的口令字變?yōu)閺V大公眾都能使用,使得信賴該口令字的系統(tǒng)不安全。
圍繞這個問題的一種方法就是向用戶提供不斷改變的口令字。每次請求驗證都要求用戶提供一個不同的口令字。然而,由于必須從一個列表中生成或選擇口令字,所以這種方法可能是麻煩的和費時的。
使用非常長的口令字向一個系統(tǒng)提供了額外的安全性。當使用本發(fā)明的方法時,為了避免長的驗證過程,從第一裝置向第二裝置發(fā)送的用戶專用數(shù)據(jù)包括向用戶提供的用戶專用口令字的一個或多個子段。這樣一來,對用戶身份的驗證不需要傳送整個口令字。這使得驗證過程進行得更快并且不麻煩。
第二裝置可以向第一裝置發(fā)送一項關于口令字的某些段的請求。在根據(jù)本發(fā)明的方法的一個較佳實施例中,這些部分是以隨機方式選出的。這就提供了針對竊聽者的安全性。對第一裝置和第二裝置之間通信的竊聽將不會揭示足夠的信息,使竊聽者不能繼續(xù)冒充第一裝置的用戶。
可以在一個數(shù)據(jù)載體,例如一張CD或DVD盤片上向第一裝置的用戶提供整個口令字??梢允褂靡环N標準的方法對該數(shù)據(jù)載體進行拷貝保護。
圖1表示使用根據(jù)本發(fā)明的方法的一個計算機網絡。一個第一裝置1,在本例中為在網絡中的一部計算機,直接地或間接地被連接到一個第二裝置2,使得數(shù)據(jù)可以從其中一個傳送到另一個。在這個特定的實施例中,第二裝置是一個服務器。第一裝置通過一條數(shù)據(jù)鏈路3被連接到第二裝置2。數(shù)據(jù)鏈路3可以是像局域網那樣的一個網絡,一種撥號連接,或者一種因特網連接。
第一裝置1的一個用戶希望登錄,以便例如從第二裝置或從網絡中的其他已連接的裝置檢索文件。已經向該用戶提供了可用的口令字,包括一個很長的比特串。這個口令字對用戶來說是唯一的。此外,還可以使用某種將用戶跟口令字聯(lián)系起來的方法。這可能是在很長的比特串的一部分中的一組代碼,或者一個用戶名,或者計算機1的一個標識。
在圖1的特定的實施例中,已經在采取CD形式的數(shù)據(jù)載體4中向用戶提供可用的口令字。也可以使用任何其他類型的數(shù)據(jù)載體。當?shù)谝谎b置1是一部計算機時,數(shù)據(jù)載體可以是,例如,一個軟磁盤,一張DVD盤片或者一盒磁帶。被連接到第一裝置1,或者作為第一裝置1的一部分的是某種裝置5,用以讀出口令字。在圖1中,這是一個CD播放器,但是它也可能是一個DVD播放器,或者適于讀出數(shù)據(jù)載體4的內容的某種其他裝置。
為了避免用戶直接地拷貝數(shù)據(jù)載體4的內容,它被加上拷貝保護。這種保護技術可能,例如,包括將一些壞扇區(qū)設置于CD4。大多數(shù)CD寫入器都不能處理來自壞扇區(qū)的數(shù)據(jù)。第二裝置2可以保留各壞扇區(qū)的一份記錄。由此就免除了對已包含在一個壞扇區(qū)中的一段口令字的請求。
圖2示意性地表示在本發(fā)明的一個優(yōu)選實施例中口令字的生成。對用戶來說是唯一的一個源碼6被送往口令字發(fā)生器7。口令字發(fā)生器7最好是一個隨機數(shù)發(fā)生器。但是,口令字發(fā)生器7使用某些其他算法也是可以理解的。口令字發(fā)生器7生成用戶專用的口令字8,包括一個很長的比特串。在根據(jù)本發(fā)明的方法的一個步驟中,用戶專用的口令字8的子段9,10可以被選擇用于從第一裝置1發(fā)送到第二裝置2。
口令字的長度及其數(shù)據(jù)大小,在設置該系統(tǒng)之前就已經由其發(fā)布者確定。為了確定口令字8的長度,至少有兩項標準是重要的。
在圖1的系統(tǒng)中,第一項標準就是數(shù)據(jù)鏈路3的容量。在其他系統(tǒng)中,通往在網絡中的一部典型的計算機的最快的數(shù)據(jù)鏈路的容量通常是一項好的標準。若該計算機被連接到因特網,則因特網鏈路的速度將成為決定性的標準。由于口令字在因特網上擴散這種途徑具有導致嚴重破壞的潛在危險,所以本發(fā)明的一個主要方面就是防止口令字通過因特網擴散??诹钭謹?shù)據(jù)大小被這樣選擇,使之超過數(shù)據(jù)鏈路3在一定時間間隔內所能傳送的數(shù)據(jù)量。這個一定的時間間隔被選擇得足夠長,以阻止用戶們共享口令字。在像圖1那樣的一個自包含網絡中,這可能是幾個小時的事情。若該計算機能夠連接到因特網,則可以選擇一個更長的間隔,例如,10-12小時。在任何情況下,這個時間間隔應當足夠長,使得下載整個口令字8是極端地沒有吸引力的。
第二項標準就是在其上向用戶提供可用的口令字8的數(shù)據(jù)載體4的存儲容量。在CD-ROM的情況下,其最大值約為640Mb。使用載體4的全部容量以提供最高的安全水平是有利的。本方法不設定比特串長度的上限。
為什么是這樣,通過察看圖3,這個問題就清楚了,在圖3中,描述了本發(fā)明的方法的一個實施例的一份示意性的流程圖。該圖表示當驗證第一裝置1的一個用戶(例如,在圖1中計算機1的一個用戶)的身份時,在第二裝置2中所發(fā)生的某些重要步驟。
在數(shù)據(jù)載體4已經被插入到CD播放器之后,裝置5讀出口令字,第一裝置1發(fā)出一項登錄請求,它被第二裝置2在第一步驟11接收。此項請求或者由用戶鍵入,可能使用一段幫助程序,或者在將CD或數(shù)據(jù)載體4插入到與第一裝置1連接的一個讀出器時,由幫助程序自動地產生。登錄請求可以向第二裝置2提供關于該用戶或第一裝置1的身份的信息,使得該用戶能與口令字8聯(lián)系起來。
可供選擇地,從第一裝置1發(fā)出的口令字8的被選子段9,10可能包括一種標識用戶的方法。在后一種情況下,口令字的一個或多個子段9,10含有一組標識代碼,用以標識該用戶。第二裝置2能隨即從相關的段中取出這組代碼,用它來將該用戶鏈接到正確的參考數(shù)據(jù)。
由于口令字8如此之長,以至于無法在任何合理的時間間隔內通過數(shù)據(jù)鏈路3將其傳送,所以,由第一裝置1向第二裝置2發(fā)送的口令字8的已選定的子段9,10在大小上將是較小的??梢允孪仍O定已選定的子段9,10的總的數(shù)據(jù)大小。最好是,它被這樣選擇,使得整個驗證過程盡可能地短,同時仍然保持適當水平的安全性,如以上在討論圖1時所列舉的那樣。
在一個優(yōu)選實施例中,當每次必須驗證用戶身份時,在第二步驟12,第二裝置2就選擇不同的子段9,10。由于每一次會晤都使用口令字8的不同的子段9,10,所以捕獲在一次會晤中所發(fā)送的子段9,10是沒有意義的。在數(shù)據(jù)鏈路上的竊聽者1’,1”仍然無法在一次后續(xù)的會晤中冒充該用戶。為了更進一步地提高安全性水平,第二裝置2可以將子段9,10選擇為隨機發(fā)送。
在口令字共享不成為問題的場合中可使用的根據(jù)本發(fā)明的方法的一個單獨的實施例中,這方面允許使用較短的口令字。由于每次需要驗證用戶身份時都選擇不同的子段,所以竊聽者1’,1”仍然需要竊聽第一裝置1與第二裝置2之間的大量的通信,以確定整個的口令字。因此,本發(fā)明的這個方面不管口令字多長,都通過使用一個口令字來進行身份驗證的任何方法,增強了安全性。
本方法的另一種實施例也是可能的,其中,第一裝置1的用戶通過僅發(fā)送口令字8的選定部分,就能請求登錄。這將為用戶提供更大的使用方便,因為他僅需將數(shù)據(jù)載體4插入用以讀出口令字的裝置5,以啟動身份驗證過程。在第一裝置1上的一段幫助程序處理跟第二裝置2的所有進一步的通信。
當用戶沒有主動地生成登錄請求時,在第一步驟11中所接收的請求也將含有他的身份表示。在這種情況下,剛剛描述的步驟12可以被省略,除非需要口令字8的子段9,10的進一步的交換。在本方法的這樣一個實施例中,例如,由于總是相同的子段9,10被發(fā)送,或者由于它們是根據(jù)第一裝置1或它的用戶可用的某種算法而被選擇出來的,所以,待發(fā)送的子段9,10是事先確定好的。
在步驟12中已經選定待請求的子段9,10之后,在下一個步驟13,向第一裝置1發(fā)送關于這些特定的子段9,10的請求。第一裝置1隨即查找口令字8的這些子段9,10,并將它們發(fā)往第二裝置2。在本方法的上述另一種實施例中,其中來自第一裝置1的請求包括口令字的各子段,這個步驟13可以被省略。
后續(xù)的步驟14是所有可想到的實施例所共有的方法的一項特征。在步驟14,第二裝置2從第一裝置1接收口令字8的子段9,10。
現(xiàn)在,已接收的各段必須跟各參考段進行比較。在本發(fā)明的所有實施例都含有的步驟15,15’中,第二裝置2取出或生成各參考段。在本發(fā)明的優(yōu)選實施例中,第二裝置2不保存待取出用于比較的口令字8的一份完整的拷貝。寧可在每一次會晤中生成口令字8或者選定的子段9,10,并且隨后將其刪除,以節(jié)省存儲空間。為了生成口令字8的必要的各子段9,10,要使用標識該用戶的信息。該信息可以,例如,被用來取出一個單獨存儲的用戶專用的源碼6,以供口令字發(fā)生器7之用??晒┻x擇地,該信息可以包括用戶專用的源碼6。
在一個可供選擇的實施例中,其中,用戶的身份被包含在從第一裝置1接收的口令字的各段之中,執(zhí)行取出或生成口令字各段用于比較的步驟15’之前加了一個步驟16。步驟16包括確定第一裝置1的用戶的身份。在將已接收的各段跟恰當?shù)母鲄⒖级芜M行比較時,就要使用該身份。
后續(xù)的各步驟17,18,19對本發(fā)明的所有實施例都是共同的,其中,從第一裝置1接收的口令字8的各段9,10跟各參考段進行比較,并且在步驟18,該用戶的身份被確定為假,或者在另一個步驟19通過認證,這取決于結果。
若每次執(zhí)行本方法時都由第二裝置2重新生成口令字8的各參考段,則本方法包括刪除這些參考段的一個附加的步驟20。這樣就節(jié)省了第二裝置2的存儲空間。也使得有人想在第二裝置2中查找口令字8或者它的各段成為不可能。
專業(yè)人士將認識到,本發(fā)明并不局限于上述的各實施例,在權利要求書的范圍內,可以通過多種方式來改變這些實施例。例如,可以通過借助于數(shù)據(jù)載體以外的某些其他方式,來向用戶提供口令字。同樣,可以通過多種不同技術,對含有口令字的數(shù)據(jù)載體進行拷貝保護。
權利要求
1.用于驗證通過數(shù)據(jù)鏈路(3)被連接到第二裝置(2)的第一裝置(1)的用戶的身份的方法,其中,向該用戶提供用戶專用的口令字(8),本方法包括從第一裝置(1)向第二裝置(2)發(fā)送用戶專用的數(shù)據(jù)(9,10),并將所述數(shù)據(jù)(9,10)的至少一部分與參考數(shù)據(jù)進行比較,其特征在于,口令字數(shù)據(jù)的大小超過在預定的時間間隔內數(shù)據(jù)鏈路(3)所能傳送的數(shù)據(jù)量。
2.根據(jù)權利要求1所述的方法,其特征在于,從第一裝置(1)向第二裝置(2)發(fā)送的用戶專用數(shù)據(jù)包括向用戶提供的用戶專用的口令字(8)的一個或多個子段(9,10)。
3.根據(jù)權利要求1或2所述的方法,其中,第二裝置(2)向第一裝置(1)發(fā)送針對口令字(8)的特定段(9,10)的請求。
4.根據(jù)權利要求3所述的方法,其中,被請求的各段以隨機方式被選定。
5.根據(jù)權利要求3或4所述的方法,其中,第一裝置(1)響應于來自第二裝置(2)的請求而從口令字(8)產生被請求的各段(9,10)。
6.根據(jù)權利要求1-5中任何一項所述的方法,其中,使用一段用戶專用信息(6),口令字(8)或者口令字(8)的各段(9,10)被生成為參考數(shù)據(jù)。
7.根據(jù)權利要求6所述的方法,其中,用戶專用數(shù)據(jù)(9,10)包括一段所述用戶專用信息(6)。
8.根據(jù)前述各項權利要求中任何一項所述的方法,其中,在一個數(shù)據(jù)載體(4),例如一張CD或DVD上,向第一裝置(1)的用戶提供口令字(8)。
9.根據(jù)權利要求7所述的方法,其中,為存儲著口令字(8)的數(shù)據(jù)載體(4)建立拷貝保護。
10.根據(jù)權利要求9所述的方法,其中,對數(shù)據(jù)載體的保護包括令數(shù)據(jù)載體(4)的一些部分成為不可讀的,并且其中,第二裝置(2)保留口令字(8)的不可讀的各段的一個記錄。
11.根據(jù)前述各項權利要求中任何一項所述的方法,其中,從第一裝置(1)向第二裝置(2)發(fā)出一項授權請求,從而生成含有用戶專用的口令字(8)的至少一部分的參考數(shù)據(jù)。
12.含有通過數(shù)據(jù)鏈路(3)被連接到第二裝置(2)的第一裝置(1)的系統(tǒng),其特征在于,該系統(tǒng)使用根據(jù)前述各項權利要求中任何一項所述的方法。
13.根據(jù)權利要求12所述的系統(tǒng),還包括被連接到第一裝置(1)的裝置(5),用以讀出口令字(8),其中,第一裝置(1)含有這樣的裝置,它在讀出口令字(8)之后就自動開始使用所述方法。
14.根據(jù)權利要求12或13所述的系統(tǒng)中的第一裝置。
15.根據(jù)權利要求12或13所述的系統(tǒng)中的第二裝置。
16.能在一部計算機上運行的計算機程序,使得含有該計算機程序以及該計算機的系統(tǒng)能起到根據(jù)權利要求11或12所述的一個系統(tǒng)之中第一裝置(1)或第二裝置(2)的作用。
全文摘要
在用于驗證通過數(shù)據(jù)鏈路(3)被連接到第二裝置(2)的第一裝置(1)的一個用戶的身份的方法中,向該用戶提供用戶專用的口令字(8),本方法包括從第一裝置(1)向第二裝置(2)發(fā)送用戶專用的數(shù)據(jù),并將數(shù)據(jù)的至少一部分與在第二裝置(2)上的數(shù)據(jù)進行比較,口令字數(shù)據(jù)的大小超過在預定的時間間隔內數(shù)據(jù)鏈路(3)所能傳送的數(shù)據(jù)量。從第一裝置(1)向第二裝置(2)發(fā)送的用戶專用數(shù)據(jù)包括向用戶提供的用戶專用的口令字(8)的一個或多個子段(9,10)。含有通過數(shù)據(jù)鏈路(3)被連接到第二裝置(2)的第一裝置(1)的系統(tǒng),使用這樣一種方法。計算機程序允許可編程處理裝置起到第一裝置(1)或第二裝置(2)的作用。
文檔編號G06F21/31GK1407471SQ0212696
公開日2003年4月2日 申請日期2002年7月25日 優(yōu)先權日2001年7月26日
發(fā)明者杰拉德·約漢·德克爾 申請人:耶德托存取公司