專利名稱:驗證用戶的方法
在計算機網(wǎng)絡和電子商務的世界中,驗證用戶和通信加密都是很關鍵的問題。如今一種使用最多的用戶識別和加密的標準系統(tǒng)是公開密鑰。給公開密鑰的用戶指定一個公共密鑰和私有密鑰。公開公共密鑰以便其它的用戶使用。用戶加裝私有密鑰,除了在開始時也許發(fā)送或安裝私有密鑰以外,私有密鑰不通過網(wǎng)絡傳送。在使用電子郵件的情況下,安裝通常與私有密鑰和電子郵件的地址相關。安裝過程多少有點煩瑣。用戶并不能從一臺機器到另一臺機器執(zhí)行私有密鑰。更理想的是研制一種便攜式的密鑰,這種系統(tǒng)安裝容易并且用戶能夠從一臺機器到另一臺機器執(zhí)行,而同時保持其嚴格保密比如私有密鑰從不由用戶傳送的特性。
便攜式的用戶驗證的一系列產(chǎn)品以ACTIVCARD的商標出售。智能卡產(chǎn)品以ACTIVCARD GOLD的商標出售。要求輸入PIN的小鍵盤以ACTVCARD ONE的商標出售。轉讓給ACTIVCARD的可能涉及該公司的技術的專利包括US5,937,068、5,887,065、5,802,176和5,737,421。如在該公司的網(wǎng)站W(wǎng)WW.activcard.com/products/enduser上所描述,帶有讀出器的智能卡可以購買到,并且與任何PC/SC智能卡讀出器兼容。在該站點上描述了執(zhí)行在線用戶數(shù)據(jù)和識別的產(chǎn)品,并且這些產(chǎn)品能夠用于執(zhí)行從開門到網(wǎng)絡用戶驗證的任何事情。該站點所說的法人信用可以在包括動態(tài)口令、法人數(shù)字簽名、靜態(tài)信用憑證以及在將來可能的法人電子式現(xiàn)金的智能卡中執(zhí)行。一旦用戶輸入口令或PIN,該智能卡產(chǎn)生動態(tài)口令、靜態(tài)口令或數(shù)字證明。另外根據(jù)該站點,動態(tài)口令可以根據(jù)ActivCard的機理或X9.9標準產(chǎn)生。每兩年要更換一次電池。在智能卡和服務器之間交換消息的協(xié)議并沒有在該公司的站點上描述。這種系統(tǒng)需要專門的網(wǎng)絡管理員,它是一種相對較昂貴的系統(tǒng)。它不但不便宜而且還不容易實施。
第二種ACTIVCARD產(chǎn)品具有鍵盤和LCD顯示器。在該站點上描述它產(chǎn)生和顯示動態(tài)口令。用戶將該口令從LCD轉錄到注冊屏。與第一種產(chǎn)品類似,它需要專門的網(wǎng)絡管理員來實施并在兩年后要求更換電池。如果該電池用完,該卡將失去與服務器同步并且不能產(chǎn)生適當?shù)幕跁r間的口令。它相對較昂貴并不易于實施,并要求用戶將口令轉錄到計算機系統(tǒng)。因此人們渴望一種不昂貴并安全性好的裝置,這種裝置能夠保持識別用戶的驗證消息不斷地變化的特性。進一步渴望的是使用戶的負擔最小。
本發(fā)明包括一種驗證的裝置和方法。在一個實施例中,提供一種包含邏輯部分和設備資源的密鑰(key)。該設備資源包括接口、處理器以及處理邏輯部分、口令、電子序列號(“ESN”)和識別填充符(identification pad)的存儲器。邏輯部分處理來自接口的口令以實現(xiàn)密鑰功能。邏輯部分通過ESN識別密鑰。它接收對一個或更多所指定的子串執(zhí)行一個或更多驗證操作的請求并產(chǎn)生驗證串。驗證串輸送到接口。ESN和驗證串可以同時傳送或按ESN、請求、驗證串的順序傳送。
可取的是,ESN和識別填充符在生產(chǎn)時固定在密鑰中。邏輯部分和設備資源并不允許該密鑰修改ESN或識別填充符。邏輯部分和設備資源并不允許訪問識別填充符。本發(fā)明的一個方面可以是在制造時將混同(confounding)操作固定在密鑰中,并將其應用到在預定的條件下所指定的子串中。
邏輯部分和設備資源進一步包括一個或更多時序延遲??诹顣r序延遲邏輯部分可以在預定的許多口令輸入中引入第一延遲和在預定的許多口令輸入之后的第二延遲,從而有效地放慢對口令輸入的處理。驗證時序延遲邏輯部分可以在口令處理和請求處理之間引入驗證延遲。
密鑰的另一方面可以包括不能恢復的口令分配。密鑰的邏輯部分和設備資源可以要求用戶設定口令,將這個口令存儲在存儲器中并不能通過接口恢復??扇〉氖牵ㄟ^接口報告在存儲器中的口令的固定以激活密鑰。邏輯部分和設備資源可以不允許口令被改變。
邏輯部分可以限定所允許的操作和子串。它可以要求許多操作。它可以拒絕等同操作比如加零、乘以1或與一串零進行邏輯地“或”。
本發(fā)明的進一步的實施例包括密鑰和終端。該終端可以包括網(wǎng)絡連接。密鑰的接口連接到終端,可取的是通過USB連接到終端。密鑰可以控制終端,或者下載程序碼、調(diào)用終端的本地資源或調(diào)用安裝在終端上的專用資源以支持密鑰。密鑰和終端可以在開始時要求用戶設定口令以啟動密鑰。終端可以通過它的網(wǎng)絡連接比如因特網(wǎng)(Internet)連接通知密鑰的啟動。
密鑰和終端可以通過網(wǎng)絡與初始化服務器連接。密鑰的邏輯部分和設備資源可以要求在終端和初始化服務器之間的有效的連接以設定口令并啟動密鑰。
終端可以包括事務處理服務器。可替換的是終端可以通過網(wǎng)絡與事務處理服務器相連接。事務處理器服務器可以是現(xiàn)金出納機、POS終端、EC服務器、網(wǎng)絡服務器或要求用戶身份的任何其它的設備資源。事務處理服務器可以產(chǎn)生驗證操作和子串標識或可以從另一個資源傳遞到該終端操作和標識。
驗證系統(tǒng)可以包括密鑰、終端、事務處理服務器和驗證服務器。事務處理器服務器可以并入在終端中或通過網(wǎng)絡連接??扇〉厥峭ㄟ^到驗證服務器的可信的連接來連接事務處理服務器。這種可信的連接在物理上是一種堅固的連接,比如局部總線或局域網(wǎng)、加密的連接比如虛擬專用網(wǎng)、帶有數(shù)字簽名的消息的經(jīng)授權的連接或任何其它值得信任的連接。終端可以僅與事務處理服務器進行通信或與事務處理服務器和驗證服務器進行通信。驗證服務器包括ESN和識別填充符的表。
驗證服務器可以實施本發(fā)明。驗證服務器可以包括與用戶系統(tǒng)相互作用并驗證用戶的邏輯部分和設備資源。設備資源可以包括接口、處理器、用于處理邏輯部分和用于處理ESN和識別填充符表的存儲器。邏輯部分處理來自接口的ESN,指定的一個或更多子串,將在一個或更多所指定的子串上的一組操作指定給接口,從該接口接收驗證串以及確定該響應是否可信。在進行驗證之前,邏輯部分可以確定當前的ESN是否有效。它可以基于不成功的驗證請求實施延遲或鎖定。
驗證服務器可以僅通過可信任的連接訪問或者它可以通過不可靠的網(wǎng)絡從未被驗證的設備接收驗證請求。驗證服務器可以通過任何安全協(xié)議產(chǎn)生驗證。
可替換的是本發(fā)明從權利要求中進行概括。實施本發(fā)明的一種設備是一種驗證密鑰,包括處理器、輸入/輸出接口、可訪問處理器的標識字串和電子序列號以及邏輯部分,該邏輯部分應用處理器響應電子序列號本身的識別情況接收字串標識、將子串標識應用到識別串中計算執(zhí)行一個或更多操作的結果以及輸出該結果。本發(fā)明的一個方面為為了安全的緣故處理器、電子序列號和識別串應該嵌入在單芯片中或位于單組半導體基片中。驗證密鑰的形狀因子可以是標準的信用卡的形狀因子或適合于連接到密鑰環(huán)的更小的形狀因子。施加到子串的標識的操作可以是任何操作,比如加、減、乘、除或邏輯操作比如“異或”。這些操作可以嵌入在該設備中或可以從外部源接收或這兩者的組合。應用處理器的邏輯部分可以提供安全的服務,這要求最初設置口令并在每次使用設備時輸入該口令。設定口令限于當設備在與啟動驗證密鑰的初始化服務器進行通信時的情況。設定口令的邏輯部分可以在一旦它被設定之后防止口令被改變、訪問或恢復。應用處理器的邏輯部分應該防止我們對所嵌入的識別串的訪問的恢復。
實施本發(fā)明的附加裝置可以包括連接到網(wǎng)絡的終端、包括處理器、電子序列號和識別串的驗證密鑰和應用該處理器的邏輯部分。邏輯部分可以根據(jù)應用電子序列號本身所識別的情況接收許多子串標識。將子串標識應用到識別串中它可以計算執(zhí)行一個或更多操作的結果,并可以應用通用串行總線協(xié)議與終端進行通信。這種驗證子系統(tǒng)的其它的方面可以并入在驗證密鑰中所并入的特征相同的特征。
一種實施本發(fā)明的方法,應用電子序列號和識別串,可以包括如下的步驟傳送電子序列號、接收許多子串標識、將一個或更多操作應用到所指定的子串以計算結果,以及傳送該結果。本方法的附加方面可以包括接收一個或更多操作標識并應用所接收的操作標識和所嵌入的標識的組合以計算結果。該方法可以包括提供安全服務比如要求在開始時設定口令并在每次請求驗證時輸入它。設定口令可以限于在客戶方面和初始化服務器之間存在有效的通信時的情況。
與客戶和驗證服務器進行通信的事務處理服務器也可以實施本發(fā)明。這種事務處理服務器還可以包括處理器和應用這種處理器的邏輯部分以做如下的處理接收并辨認電子序列號和從客戶轉送電子序列號到授權服務器、從服務器轉送許多子串標識到客戶、從客戶轉送驗證子串到服務器以及基于成功的驗證從服務器接收授權。事務處理服務器除了轉送許多子串標識外還轉送一個或更多操作標識。
實施本發(fā)明的附加的方法可以包括如下的步驟從客戶接收并辨認電子序列號并將該序列號轉送到服務器、從服務器轉送許多子串標識到客戶、從客戶轉送驗證串到服務器以及接收沒有服務器的授權。事務處理服務器除了轉送許多子串標識外還轉送一個或更多操作標識。
驗證服務器也可以實施本發(fā)明。驗證服務器可以包括具有輸入/輸出接口的處理器、記錄電子序列號和記錄識別串的清單以及應用處理器的邏輯部分。邏輯部分適合于接收特定電子序列號、選擇并發(fā)送一個或更多操作標識、接收驗證串以及將該驗證串與通過在記錄識別串的許多指定的子串中應用一個或更多操作所計算的結果進行比較。應用處理器的邏輯部分的方面可以是選擇并發(fā)送對所指定的子串執(zhí)行的操作。這些所指定的操作可以與一個或更多混同操作相結合以計算該結果。
特別適合于驗證服務器使用的方法可以應用記錄電子序列號和記錄標識串的列表。它可以包括如下的步驟接收特定的電子序列號、選擇并發(fā)送許多子串標識、接收驗證串、將一個或更多操作應用到所指定的子串中以及將驗證串與操作的結果進行比較。本發(fā)明的一個方面可以是驗證服務器選擇并發(fā)送隨后用于計算記錄結果的操作標識。已發(fā)送的所指定的操作和沒有作為方法的一部分發(fā)送的所嵌入的混同操作的組合可以應用到所指定的子串中以計算記錄結果。
實施本發(fā)明的總的驗證系統(tǒng)可以包括授權服務器、具有與授權服務器具有可信連接的事務處理服務器以及與事務處理服務器進行通信的驗證密鑰。在本發(fā)明的本實施例中的授權服務器可以包括記錄電子序列號和記錄識別串的列表和邏輯部分,該邏輯部分用于輸入電子序列號、選擇并輸出許多子串標識、輸入驗證串、計算對所指定的子串進行一個多個操作的記錄結果以及將該驗證串與該記錄結果進行比較。在本發(fā)明的事務處理器服務器可以包括邏輯部分以進行如下的工作將電子序列號轉送到授權服務器、從授權服務器轉發(fā)許多子串標識、將授權子串轉送到授權服務器并從驗證服務器接收成功的驗證消息。在本發(fā)明的本實施例中的驗證密鑰可以包括電子序列號、識別串以及邏輯部分以輸出電子序列號、輸入許多子串標識、計算驗證串以及輸出驗證串。這個總的驗證系統(tǒng)的每個部分可以包括處理器。邏輯部分和每個部件可以應用處理器并可以與其它部件的一個或更多處理器進行通信。
實施本發(fā)明的總的方法可以包括如下的步驟將特定的電子序列號從客戶發(fā)送到服務器,從服務器將許多子串標識發(fā)送到客戶,將一個或更多操作施加到所指定的子串以計算驗證串,將驗證串從客戶發(fā)送到服務器,將一個或更多操作應用到記錄識別串的所指定的子串以計算記錄結果,以及將驗證串與記錄結果進行比較。在本實施例中,可以以任何順序或同時在客戶和服務器上進行計算。對于服務器在將操作應用到記錄識別串以計算記錄結果之前為接收驗證串不需要等待。本發(fā)明的一個方面可以是服務器選擇并發(fā)送隨后用于計算在記錄中的結果的操作標識。已發(fā)送的所指定的操作和沒有作為方法的一部分發(fā)送的所嵌入的混同操作的組合可以應用到所指定的子串中以計算結果。
附圖1所示為客戶或驗證密鑰的方塊圖。
附圖2所示為應用客戶比如驗證密鑰來根據(jù)子串標識產(chǎn)生驗證串的方法。
附圖3所示為包括驗證密鑰和與網(wǎng)絡進行通信的終端的驗證子系統(tǒng)的方塊圖。
附圖4所示為鏈接到客戶的事務處理服務器和驗證服務器的方塊圖。
附圖5所示為依據(jù)本發(fā)明通過事務處理服務器實施的消息轉發(fā)協(xié)議。
附圖6所示為驗證服務器的方塊圖。
附圖7所示為選擇并發(fā)送子串標識和校驗從客戶所接收的驗證串的協(xié)議。
附圖8所示為包括客戶、事務處理服務器和驗證服務器的驗證系統(tǒng)。
附圖9所示為包括在客戶和服務器和通過該客戶和服務器所實施的串操作之間交換消息的驗證協(xié)議。
參考附圖進行詳細描述。描述優(yōu)選的實施例以說明本發(fā)明,但并不限制本發(fā)明的范圍,該范圍由權利要求定義。在本領域熟練技術人員會認識到對下文的描述可以作出各種變化。
附圖1所示為實施本發(fā)明的裝置,該裝置有利于用戶識別或驗證和加密。這種裝置能夠產(chǎn)生在用戶之間不相同的驗證串??偟难b置100可以稱為驗證密鑰,它與標準的信用卡的形狀因子相匹配或更小并例如適合于連接到密鑰環(huán)。該裝置具有支持輸入和輸出的一個或更多接口101。該裝置具有處理器和應用該處理器的邏輯部分102。電子序列號和識別串103嵌入在該裝置中并且處理器可以訪問它。在典型的用戶接收驗證密鑰之前可以給該裝置分配電子序列號和識別串。在分配特定的電子序列號和識別串時記錄它們。授權管理者比如驗證密鑰的發(fā)證人、領證人、制造商或分銷商保留一份電子序列號和識別串的記錄清單。電子序列號優(yōu)選是唯一的,如電子序列號和識別串的組合。識別串優(yōu)選較長,以便可以選擇許多子串而不再重新使用。例如,可以使用具有10,000位置的識別串。每個位置可以是二進制、十六進制、ASCII字符或任何其它的符號。應用處理器的邏輯部分允許驗證密鑰輸出電子序列號,輸入可應用到識別串的許多子串標識,應用識別串的所指定的子串計算執(zhí)行一個或更多的操作的結果,以及輸出具有驗證串的結果。計算結果的操作可以是任何常規(guī)的串操作,比如加、減、乘、除或邏輯操作比如XOR。本發(fā)明的進一步方面可以是邏輯部分接收一個或更多的操作符作為輸入以應用到所指定的子串。除了接收應用操作符之外,驗證密鑰可以包含一個或更多的混同操作,可以在與電子序列號和識別串同時指定這些混同操作。保留電子序列號和識別串的記錄清單的授權管理者還保留一份混同操作的記錄清單。在驗證密鑰通過不安全的網(wǎng)絡接收一個或更多個操作的情況下,出現(xiàn)其它的混同操作增強了安全性?;焱僮鞯某霈F(xiàn)還有助于阻止為建立一組類似的等式而破譯工程師和識別串的有計劃的努力。假設子串標識很少重復,驗證密鑰和相關的部件將會挫敗竊取信息包的人的企圖并阻止他們破譯工程師的識別串的努力。
驗證密鑰的一個方面可以是處理器、邏輯部分、電子序列號和識別串都嵌入在單芯片或邏輯部分裝置中或位于在單半導體基片上。單芯片的優(yōu)點有降低了制造成本和降低了對邏輯部分探頭或從驗證密鑰中抽取口令或識別串的其它的裝置的可訪問性。
驗證密鑰的另一方面可以是它包括在每次初始化驗證或加密話路時要求輸入口令的邏輯部分。這種口令可以與電子序列號同時分配并輸送給用戶,或者可取的是通過用戶設定以實現(xiàn)啟動驗證密鑰??梢詢H在存在從驗證密鑰到包括記錄電子序列號的清單的初始化服務器之間通過接口進行通信時使設定口令的邏輯部分有效。初始化服務器可以包括核對在啟動時與特定的電子序列號相對應授權密鑰合法的邏輯部分。它可以驗證由于丟失或被竊或其他原因無效而先前還沒有報告的電子序列號。它還可以確定已經(jīng)正確地將電子序列號分配到個人并且該個人已具有已經(jīng)確認的授權的密鑰的收據(jù)。實施口令保護和要求輸入口令的邏輯部分可以在不成功的口令輸入努力之后包括一個或更多的延遲。在一次或兩次不成功的輸入之后的延遲可以相對較簡短。在幾次不成功的口令輸入之后可以采用更長的延遲。引入延遲的作用是有助于挫敗試圖破壞口令保護所作的系統(tǒng)性的努力。涉及口令保護的邏輯部分可以在一旦它已經(jīng)確定之后進一步防止口令被改變。這種特征可以通過軟件實施如在存儲器中設置非易失性的位,或者通過硬件實現(xiàn)如當輸入口令時在邏輯部分中燒制(burning)密鑰。與口令相關的邏輯部分應該進一步防止從授權密鑰訪問或恢復口令。這是一種理想的特征,因為在授權密鑰中制造成本較低,使得比較合理地更換授權密鑰而不恢復已經(jīng)忘記或丟失的口令。應用處理器的邏輯部分還優(yōu)選防止訪問識別串。
附圖2所示為實施本發(fā)明的應用電子序列號和識別串的用戶驗證的方法。該
了在驗證密鑰或客戶210和服務器比如識別或驗證服務器212之間的通信。在本發(fā)明的本方面中,客戶發(fā)送電子序列號214并等待響應。它刪除下一個字可以接收可應用到嵌入的識別串216中的許多子串標識。對嵌入的標識串的所指定的子串執(zhí)行一種或更多的操作以計算結果。然后將該結果傳送到218。本方法的另一方面為除了接收子串標識以外接收一個或更多的操作以用于計算結果。該方法可以進一步要求用戶在接收子串標識之前輸入口令并要求用戶設定口令以啟動驗證密鑰。可取的是,在后面的下一字線與初始化服務器進行通信的同時要求用戶設置口令。本的方法的另一方面可以是計算涉及應用既沒有發(fā)送也沒有作為本方法的一部分接收的一個或更多的混同操作計算結果??梢詰没焱僮骱退邮盏闹付ǖ牟僮鞯慕M合來計算結果。
附圖3所示為應用授權密鑰和終端比如個人計算機326。在附圖1中一般地示出了授權密鑰100和它的部件102和103。授權密鑰優(yōu)選連接到應用通用串行總線(USB)協(xié)議或等效協(xié)議325的終端。該終端又連接到網(wǎng)絡327,該網(wǎng)絡327可以是局域網(wǎng)、因特網(wǎng)或任何其他的網(wǎng)絡。應用USB協(xié)議的優(yōu)點(與次要的等效協(xié)議相對)可以包括給驗證密鑰輸送功率和在驗證密鑰和延后的下一字元終端之間的通信,同時不需要將特別適合于延后的下兩個字符的專用軟件安裝在該終端上的分離的步驟。
授權的子系統(tǒng)的許多方面與授權的密鑰相重疊。該邏輯部分可以支持輸入要執(zhí)行的一個或更多的操作的標識、要求口令輸入、在不成功口令輸入之后執(zhí)行延遲以及要求用戶設定口令,可取的是在與初始化服務器在進行通信的同時進行。該邏輯部分進一步包括防止一旦口令設定之后改變、恢復或訪問該口令。它應該防止恢復或訪問該識別串。它包括可以分別應用或與所指定的操作組合應用的一個或更多的混同操作。在包括驗證密鑰和終端的驗證子系統(tǒng)上實施本發(fā)明的方法與應用僅一個驗證密鑰的方法更相似。
附圖4所示為位于驗證密鑰或驗證子系統(tǒng)400和識別或驗證服務器440之間的事務處理服務器430。事務處理服務器430與驗證密鑰400進行通信。這種通信通過網(wǎng)絡、通用串行總線或任何其它進行電子通信的通道進行。事務處理服務器430與驗證密鑰400完全分開,正如在電子商務環(huán)境或當用戶注冊時要求驗證的環(huán)球計算機網(wǎng)絡中所預期的一樣??商鎿Q的是,事務處理服務器可以嵌入在銷售點終端比如現(xiàn)金出納機、ATM或可在物理上與驗證密鑰相連接的其它的裝置。事務處理服務器430包括處理器和應用該處理器的邏輯部分432。這種邏輯部分從客戶接收并識別電子序列號并將電子序列號轉發(fā)到驗證服務器。它將用于驗證服務器的許多子串標識轉發(fā)到客戶。它從客戶將驗證串轉發(fā)到驗證服務器。從驗證服務器中它接收客戶是否通過或沒有通過驗證的表示。驗證服務器通過將所轉發(fā)的驗證串與通過將一定的操作應用到記錄識別串的所指定的子串所計算的記錄結果進行比較來確定客戶是否通過驗證。記錄標識串與同所轉發(fā)的電子序列號相匹配的記錄序列號相對應。驗證服務器的一個方面可以是它除了轉發(fā)子串標識以外還轉發(fā)在所指定的子串上要執(zhí)行的一個或更多的操作的標識。
附圖5所示為從驗證服務器方面獲得客戶驗證的一種方法。這個附圖描述了客戶550、事務處理服務器551和驗證服務器552。該過程以事務處理服務器從客戶554接收并識別電子序列號開始。將電子序列號轉發(fā)到驗證服務器。如果需要的話,事務處理服務器確定那些識別服務器應該接收電子序列號。事務處理服務器將可應用到識別串的許多子串標識556接收并轉發(fā)到客戶,對于該客戶和驗證服務器來說該識別串是已知的。從該服務器將子串標識轉發(fā)到客戶。這些標識所應用的識別串對于事務處理服務器是未知的并且沒有被傳輸??蛻敉ㄟ^計算驗證串來響應所轉發(fā)的子串標識。事務處理服務器從客戶將驗證串轉發(fā)到驗證服務器557并等待來自驗證服務器558的客戶是否通過或沒有通過驗證的表示。本方法的進一步方面可以是事務處理服務器除了轉發(fā)子串標識以外還轉發(fā)在所指定的子串上執(zhí)行的一個或更多的操作的標識。
附圖6所示為驗證服務器600的方塊圖。驗證服務器包括接收輸入和發(fā)送輸出601的接口、處理器和應用該處理器602的邏輯部分以及處理器可訪問的記錄電子序列號和識別串603的列表。接口可以應用一個或更多的端口。它可以將服務器連接到局域網(wǎng)、因特網(wǎng)、虛擬專用網(wǎng)、專用網(wǎng)或虛擬的任何通信信道。應用處理器的邏輯部分適合于接收電子序列號、選擇并發(fā)送許多子串標識、接收驗證串以及將驗證串與通過將一個或更多的操作應用到許多所指定的子串來計算的結果進行比較。這些所指定的子串應用到具有對應于所接收的電子序列號的記錄序列號的記錄識別串。這種記錄識別串與對發(fā)送它的電子序列號的裝置已知的記錄識別串相同。當驗證串和基于記錄標識串的計算結果相匹配時,驗證服務器可以宣布成功地驗證了。驗證服務器的進一步方面可以是它選擇并發(fā)送要應用所指定的子串執(zhí)行的一個或更多的操作的標識。除了這些所指定的操作以外,驗證服務器進一步包括應用到所指定的子串的記錄混同操作的清單。這些混同操作對應于對發(fā)送它的電子序列號的裝置是已知的混同操作。計算結果的邏輯部分可以應用混同操作和所指定的操作的組合。
附圖7所示為應用驗證服務器應用記錄電子序列號和記錄識別串清單的用戶識別的方法??蛻艋蝌炞C密鑰710與驗證服務器712一同工作。驗證服務器接收特定的電子序列號714。它選擇并發(fā)送許多子串標識716。它接收驗證串718。它將一個或更多的操作應用到記錄識別串的所指定的子串。記錄識別串對應于所接收的特定的電子序列號。授權服務器計算記錄結果并將該記錄結果與驗證串進行比較。授權服務器指示驗證720成功或失敗。與本發(fā)明的其它方面一樣,本方法可以涉及選擇并發(fā)送授權服務器在應用步驟中后面所使用的一個或更多的操作的標識。這些操作標識還由客戶使用以準備驗證服務器所接收的驗證串。本方法還可以涉及他們本身應用或與所指定的操作結合使用的一個或更多的記錄混同操作。
附圖8所示為總的驗證系統(tǒng),包括識別或驗證服務器600、事務處理服務器430和驗證密鑰100。驗證服務器和事務處理服務器都彼此進行通信,可取的是通過可信任的鏈接進行通信。事務處理服務器和驗證密鑰都彼此進行通信,但不需要信任該鏈接。事務處理服務器和驗證服務器可以是相同的設備或服務器的一部分,在這種情況下可信任的鏈接可以是電子總線??商鎿Q的是驗證服務器和事務處理服務器可以是完全分開的,如在銀行運行驗證服務器和許多電子商務商業(yè)運行事務處理服務器時的情況??尚湃蔚逆溄涌梢允窃谖锢砩习踩摹?shù)字簽名、加密、通過虛擬的公共網(wǎng)絡或任何其它的安全的值得信任的鏈接。當驗證服務器和事務處理服務器都能夠信任他們交換的信息是可信的時安全危險最小。驗證服務器600、事務處理服務器430和驗證密鑰100可以包括如在附圖6、4和1中所示的許多相同的部件并一致地標號。
附圖9所示為用戶驗證的總的方法,包括在客戶和服務器上所實施的步驟??蛻艋蝌炞C密鑰910與服務器進行通信,該服務器在此稱為識別或驗證服務器912??蛻魧⑻囟ǖ碾娮有蛄刑柊l(fā)送到服務器914。服務器給客戶916選擇并發(fā)送許多子串標識。客戶將一個或更多的操作應用到對客戶917公知的特定識別串的所指定的子串。它計算它發(fā)送到服務器918的驗證串。服務器應用與客戶應用到對服務器919公知的記錄識別串的所指定的子串的操作相同的一個或更多的操作。依據(jù)特定的電子序列號記錄識別串對應于特定的識別串。服務器計算記錄結果并將應用串與這個結果進行比較。然后驗證服務器可以報告客戶是否已經(jīng)通過或沒有通過驗證920。這個總的方法的進一步方面可以是從服務器選擇并連同所指定的子串發(fā)送到客戶。所指定的操作可以與對于客戶公知的混同操作相結合并基于該客戶所發(fā)送的特定的電子序列號該服務器可獲取的。
本發(fā)明可以在各種情況下應用。用戶驗證的實質是防止在電子商務事務中信用卡欺詐。一些資料顯示在電子商務中信用卡欺詐可以高達18%。因此確保從在線信用卡事務支付的公司要為商業(yè)負擔很多額外費用。本發(fā)明可以降低這種額外費用。它還可以允許驗證服務器將信用卡信息直接傳送到事務服務器,同時指示用戶已經(jīng)通過了驗證。如果用戶具有多于一個的信用卡,則該用戶允許選擇驗證服務器展示給事務處理服務器的信用卡,可取的是通過可信的通信信道選擇。用戶驗證和來自可信的設備傳送的信用卡信息的組合有利于電子商務。
本發(fā)明還具有會員ID卡的功能。對于在線上的網(wǎng)點,比如書店和在線娛樂,可以對用戶進行驗證。當匿名用戶想要時,與存款帳戶或其他的信用機構相連的驗證服務器可以將用戶的匿名驗證和對商品和服務的確切的支付結合在一起。本發(fā)明還可以用于對用戶進行驗證并實施一種付款提交系統(tǒng)而不暴露用戶的姓名。本發(fā)明的一個實施例還提供一種在應用會員ID卡進入該設備時要求總密鑰的功能。每個驗證密鑰都具有不能復制或偽造的唯一的ID卡。
本發(fā)明的進一步應用是在線銀行業(yè)。實施本發(fā)明的驗證密鑰或方法起等效于司機的駕駛執(zhí)照的Web的作用。它可以比ATM卡更安全,因為它不易于被復制或偽造。與驗證管理者相結合,一個驗證密鑰可以用于銀行業(yè)和電子商務或其它的功能。
實施本發(fā)明的驗證密鑰或方法可以與驗證服務器一起使用以產(chǎn)生預支付的在線標記。在進行驗證過程之后,驗證服務器可訪問的存款帳戶或其他的信用機構都可以進行支付以產(chǎn)生在線標記。
在商貿(mào)界中實施本發(fā)明的驗證密鑰或方法可以在其它的不安全的通信鏈路上形成信用和安全性。
計算機網(wǎng)絡用戶可以從實施本發(fā)明的驗證密鑰或方法中得益。依據(jù)本發(fā)明網(wǎng)絡服務器可以允許用戶具有基于驗證的訪問特權。可以對實施驗證密鑰的用戶授予對在他們所訪問的其它任何終端的網(wǎng)絡存取的相同的特權。
本發(fā)明還可以應用于電子郵件以確保閱讀電子郵件的人是所計劃的接收者。在這種應用中,依據(jù)本發(fā)明可以基于用戶驗證控制電子郵件的傳送或解密。驗證服務器可以控制發(fā)送電子郵件或查看電子郵件。驗證服務器還可以提供一種帶有標記或加密串的電子郵件的應用以使用戶閱讀特定的電子郵件消息或訪問電子郵件帳戶。
這些在安全性領域中熟練的人員還可以實現(xiàn)通過本發(fā)明產(chǎn)生的驗證串還可以用作加密的基礎。不將驗證串在網(wǎng)絡上發(fā)送,而是用戶可以產(chǎn)生驗證串比如128位長的驗證串,并應用該串作為加密的基礎??梢援a(chǎn)生加密目的串并應用在驗證的場合或除了驗證以外的場合??梢詰蒙衔乃枋龅南嗤牟襟E發(fā)送電子序列號、接收許多子串標識和可選擇的操作標識以及將操作應用到所指定的子串中來產(chǎn)生加密目的的驗證串。用于加密目的所產(chǎn)生的驗證串當然并不通過網(wǎng)絡發(fā)送。
這個清單是想表示本發(fā)明具有實際應用的各種情況。這種情況的列表并不構成對本發(fā)明的范圍的限制。
本發(fā)明實現(xiàn)了相對于已有技術具有許多優(yōu)點。本發(fā)明有利于獨立于用戶或他們所使用的終端來驗證用戶的授權密鑰的發(fā)送??梢则炞C用戶并且用戶可以是在他們家里、他們辦公室或他們所訪問的設備中的終端。應用不昂貴的常規(guī)芯片和塑料卡片例如以普通信用卡的形式實施本發(fā)明。這種卡可以每次以小于5美元的驗證權限登記和制造。本發(fā)明產(chǎn)生不會被截取和濫用的不斷變化的驗證串。這種不斷變化的驗證串不容易偽造,因為所提供的安全機構不讓訪問從其中導出驗證串的嵌入的識別串。嵌入的識別串從來不通過有可能泄密的網(wǎng)絡傳送。實施本發(fā)明的驗證密鑰對于用戶非常方便。應用通用的串行總線,驗證密鑰與已有的個人計算機進行通信而不需要在個人計算機上安裝專用的軟件。在許多計算機上即插即用的能力使它很有利。實施本發(fā)明的裝置比其它的一些裝置比如前文所述的基于時間的裝置更易于使用,在前文所述的基于時間的裝置中用戶必須在經(jīng)過一定的時間之后讀取驗證碼然后該裝置產(chǎn)生新的驗證碼。本發(fā)明的其它優(yōu)點對于在本領域熟練的人員來說是顯然的。
雖然參考上文詳細描述的優(yōu)選的實施例已經(jīng)描述了本發(fā)明,但是應該理解的是這些實例只是為了說明本發(fā)明而不是為了限制它。對于本領域的熟練人員來說易于作出各種修改和組合,這些修改和組合將也都落在由下文的權利要求的范圍和本發(fā)明的精神之內(nèi)。
權利要求
1.一種驗證密鑰,包括(a)具有一個或更多輸入/輸出接口的處理器;(b)可訪問該處理器的電子序列號和識別串;(c)邏輯部分,該邏輯部分應用該處理器輸出電子序列號;輸入許多子串標識;應用識別串的所指定的子串計算執(zhí)行一個或更多的操作的結果;以及輸出該結果。
2.如權利要求1所述的驗證密鑰,其中處理器、應用該處理器的邏輯部分、電子序列號和識別串都位于單個半導體基片上。
3.如權利要求1所述的驗證密鑰,其中處理器、應用該處理器的邏輯部分、電子序列號和識別串都嵌入在單個芯片中。
4.如權利要求1所述的驗證密鑰,其中驗證密鑰的形狀因子與標準的信用卡相匹配。
5.如權利要求1所述的驗證密鑰,其中計算結果的邏輯部分與所指定的子串加在一起。
6.如權利要求1所述的驗證密鑰,其中計算結果的邏輯部分與所指定的子串相乘。
7.如權利要求1所述的驗證密鑰,其中計算結果的邏輯部分計算所指定的子串之差。
8.如權利要求1所述的驗證密鑰,其中計算結果的邏輯部分計算所指定的子串的商。
9.如權利要求1所述的驗證密鑰,其中計算結果的邏輯部分計算所指定的子串的邏輯XOR。
10.如權利要求1所述的驗證密鑰,其中輸入許多子串標識的邏輯部分進一步包括輸入要執(zhí)行的一個或更多的操作的標識的邏輯部分。
11.如權利要求1所述的驗證密鑰,其中進一步包括在發(fā)送電子序列號之前要求輸入口令的邏輯部分。
12.如權利要求11所述的驗證密鑰,其中要求輸入口令的邏輯部分包括在輸入口令不成功之后的一個或更多的延遲。
13.如權利要求1所述的驗證密鑰,其中進一步包括設定口令的邏輯部分。
14.如權利要求13所述的驗證密鑰,其中僅在接口與包括電子序列號清單的初始化服務器進行通信時設定口令的邏輯部分才有效。
15.如權利要求13所述的驗證密鑰,其中設定口令的邏輯部分進一步包括防止口令被改變的邏輯部分。
16.如權利要求13所述的驗證密鑰,其中設定口令的邏輯部分進一步包括防止恢復口令的邏輯部分。
17.如權利要求13所述的驗證密鑰,其中設定口令的邏輯部分進一步包括防止訪問口令的邏輯部分。
18.如權利要求1所述的驗證密鑰,還包括防止恢復識別串的邏輯部分。
19.如權利要求1所述的驗證密鑰,還包括防止訪問識別串的邏輯部分。
20.如權利要求1所述的驗證密鑰,進一步包括一個或更多的混同操作和計算結果的邏輯部分,將混同操作應用到一個或更多的所指定的子串中。
21.如權利要求1所述的驗證密鑰,其中進一步包括一個或更多的混同操作和計算結果的邏輯部分,將所指定的操作和混同操作應用到一個或更多的所指定的子串中。
22.一種驗證子系統(tǒng),包括(a)連接到網(wǎng)絡的終端;(b)包括處理器、可訪問處理器的電子序列號和識別串以及邏輯部分的驗證密鑰,該邏輯部分應用該處理器以輸出電子序列號;輸入許多子串標識;應用識別串的所指定的子串計算執(zhí)行一個或更多的操作的結果;以及與終端進行通信;其中驗證密鑰連接到應用通用串行總線協(xié)議的終端。
23.如權利要求22所述的驗證子系統(tǒng),其中輸入許多子串標識的邏輯部分進一步包括輸入要執(zhí)行的一個或更多的操作的標識的邏輯部分。
24.如權利要求22所述的驗證子系統(tǒng),其中進一步包括在發(fā)送電子序列號之前要求輸入口令的邏輯部分。
25.如權利要求24所述的驗證子系統(tǒng),其中要求輸入口令的邏輯部分包括在輸入口令不成功之后的一個或更多的延遲。
26.如權利要求22所述的驗證子系統(tǒng),其中進一步包括設定口令的邏輯部分。
27.如權利要求26所述的驗證子系統(tǒng),其中僅在接口與包括電子序列號清單的初始化服務器進行通信時設定口令的邏輯部分才有效。
28.如權利要求26所述的驗證子系統(tǒng),其中設定口令的邏輯部分進一步包括防止口令被改變的邏輯部分。
29.如權利要求26所述的驗證子系統(tǒng),其中設定口令的邏輯部分進一步包括防止恢復口令的邏輯部分。
30.如權利要求26所述的驗證子系統(tǒng),其中設定口令的邏輯部分進一步包括防止訪問口令的邏輯部分。
31.如權利要求22所述的驗證子系統(tǒng),其中防止恢復識別串的邏輯部分。
32.如權利要求22所述的驗證子系統(tǒng),其中防止訪問識別串的邏輯部分。
33.如權利要求22所述的驗證子系統(tǒng),其中進一步包括訪問處理器的一個或更多的混同操作和計算結果的邏輯部分將混同操作應用到一個或更多的所指定的子串中。
34.如權利要求22所述的驗證子系統(tǒng),其中進一步包括訪問處理器的一個或更多的混同操作和計算結果的邏輯部分將所指定的操作和混同操作應用到一個或更多的所指定的子串中。
35.一種應用電子序列號和識別串的用戶驗證的方法,包括如下的步驟(a)發(fā)送電子序列號;(b)接收可應用到識別串的許多子串標識;(c)將一個或更多的操作應用到所指定的子串以計算結果;以及(d)發(fā)送該結果。
36.如權利要求35所述的方法,其中接收步驟進一步包括接收用于應用步驟的一個或更多的操作的標識。
37.如權利要求35所述的方法,進一步包括要求用戶在接收許多子串標識之前輸入口令的步驟。
38.如權利要求37所述的方法,進一步包括要求設定口令的步驟。
39.如權利要求37所述的方法,進一步包括要求用戶設定不能被恢復的口令的步驟。
40.如權利要求37所述的方法,進一步包括要求用戶在與初始化服務器進行通信的同時設定口令的步驟。
41.如權利要求35所述的方法,應用一個或更多的混同操作,其中該應用步驟將混同操作應用到所指定的子串。
42.如權利要求41所述的方法,其中接收步驟進一步包括接收一個或更多的標識和應用步驟將所指定的操作和混同操作應用到所指定的子串中。
43.一種與客戶和授權服務器進行通信的事務處理服務器,包括(a)處理器;以及(b)邏輯部分,該邏輯部分應用該處理器以從客戶接收并識別電子序列號并將該電子序列號轉發(fā)到授權服務器;從授權服務器將許多子串標識轉發(fā)到客戶;將驗證串從客戶轉發(fā)到授權服務器;從授權服務器接收該客戶通過驗證的表示。
44.如權利要求43所述的事務處理服務器,其中轉發(fā)子串標識的邏輯部分進一步包括轉發(fā)要在所指定的子串上執(zhí)行的一個或更多個的操作的標識的邏輯部分。
45.一種獲得客戶驗證的方法,包括如下的步驟(a)從客戶接收并識別電子序列號并將該電子序列號轉發(fā)到授權服務器;(b)從授權服務器將許多子串標識轉發(fā)到客戶,這些子串標識可應用于對客戶和授權服務器為公知的識別串;(c)將驗證串從客戶轉發(fā)到授權服務器;(d)從授權服務器接收客戶驗證表示。
46.如權利要求45所述的獲得客戶驗證的方法,其中轉發(fā)子串標識的步驟進一步包括轉發(fā)要在所指定的子串上執(zhí)行的一個或更多個的操作。
47.一種驗證服務器,包括(a)具有接收輸入并傳輸輸出的接口的處理器;(b)可訪問處理器的記錄電子序列號和記錄路識別串的清單;(c)邏輯部分,該邏輯部分應用處理器以接收電子序列號;選擇并傳輸許多子串標識;接收驗證串;以及將驗證串與通過將一個或更多的操作應用到許多所指定的子串中所計算的結果進行比較。
48.如權利要求47所述的驗證服務器,其中輸入許多子串標識的邏輯部分進一步包括選擇并傳送要執(zhí)行的一個或更多的操作的邏輯部分。
49.如權利要求47所述的驗證服務器,進一步包括一個或更多的記錄混同操作和計算結果的邏輯部分將混同操作應用到一個或更多的所指定的子串中。
50.如權利要求47所述的驗證服務器,進一步包括一個或更多的記錄混同操作和計算結果的邏輯部分將所指定的操作和混同操作應用到所指定的子串中。
51.一種應用記錄電子序列號和計錄識別串的清單的用戶驗證的方法,包括如下的步驟(a)接收特定的電子序列號;(b)選擇并發(fā)送許多子串標識;(c)接收驗證串;(d)將一個或更多的操作應用到與該特定的電子序列號相對應的記錄識別串的所指定的子串中以計算記錄結果;以及(e)比較驗證串和記錄結果。
52.如權利要求51所述的方法,其中選擇和發(fā)送步驟進一步包括選擇并發(fā)送在應用步驟所使用的的一個或更多的操作標識。
53.如權利要求51所述的方法,應用與特定的電子序列號相對應的一個或更多記錄混同操作,其中應用步驟將混同操作應用到所指定的子串中。
54.如權利要求53所述的方法,選擇和發(fā)送步驟進一步包括選擇和發(fā)送一個或更多操作標識和應用步驟將所指定的操作和混同操作應用到所指定的子串中。
55.一種驗證系統(tǒng),包括(a)包括記錄電子序列號和記錄識別串清單和邏輯部分的授權服務器,該邏輯部分輸入特定的電子序列號;選擇并輸出許多子串標識;輸入證驗串;應用記錄識別串的所指定的子串計算執(zhí)行一個或更多的操作的記錄結果;將驗證串與記錄結果進行比較(b)與授權服務器具有可信的鏈接的事務處理服務器,包括邏輯部分以將特定的電子序列號轉發(fā)到授權服務器;從授權服務器轉發(fā)許多子串標識;將驗證串轉發(fā)到授權服務器;從授權服務器接收驗證串與記錄結果進行比較的結果的表示;(c)與事務處理服務器進行通信的驗證密鑰,包括特定的電子序列號、識別串和邏輯部分以輸出特定的電子序列號;輸入許多子串標識;應用識別串的所指定的子串計算驗證串作為執(zhí)行一個或更多的操作的結果;輸出驗證串。
56.一種用戶驗證的方法,包括如下的步驟(a)將特定的電子序列號從客戶發(fā)送到服務器;(b)將許多子串標識從服務器發(fā)送到客戶;(c)將一個或更多的操作應用到特定的識別串的所指定的子串以計算驗證串;(d)從客戶將驗證串發(fā)送到服務器;(e)將一個或更多的操作應用到記錄識別串的所指定的子串以計算記錄結果;以及(f)比較驗證串和記錄結果。
57.如權利要求56所述的方法,進一步包括將要在所指定的子串上執(zhí)行的一個或更多的操作的標識從服務器發(fā)送到客戶的步驟。
58.如權利要求56所述的方法,應用與特定的電子序列號相對應的一個或更多記錄混同操作,其中應用步驟將混同操作應用到所指定的子串中。
59.如權利要求58所述的方法,選擇和發(fā)送步驟進一步包括選擇和發(fā)送一個或更多操作標識和應用步驟將所指定的操作和混同操作應用到所指定的子串中。
全文摘要
通過包括電子序列號、許多子串標識和所計算的驗證串的交換實現(xiàn)用戶驗證。每次用戶和驗證授權都具有與電子序列號相關的識別串。通過應用一個或更多的操作,這些操作中的一些可以通過網(wǎng)絡交換而其它的則與電子序列號相關,在每次請求驗證時計算不同的驗證串,這樣使實施本發(fā)明的方法和裝置的驗證不會被泄露。
文檔編號G06F21/31GK1333610SQ0111678
公開日2002年1月30日 申請日期2001年4月30日 優(yōu)先權日2000年5月1日
發(fā)明者保羅·林 申請人:奧瑟尼克斯公司