專利名稱:認(rèn)證系統(tǒng)和方法
技術(shù)領(lǐng)域:
總體而言,本發(fā)明涉及通信系統(tǒng)中的身份或口令認(rèn)證。特別地,本發(fā)明涉及具有通 信系統(tǒng)及一個(gè)或多個(gè)用戶設(shè)備的系統(tǒng)。所述通信系統(tǒng)可包括提供服務(wù)的服務(wù)器。在這樣的 系統(tǒng)中,客戶端設(shè)備通過使用口令或其他安全措施來執(zhí)行與所述通信系統(tǒng)的認(rèn)證。本發(fā)明 還可用于認(rèn)證其他服務(wù)(個(gè)人之間的交易)中的用戶。企業(yè)對企業(yè)的應(yīng)用也是可預(yù)計(jì)的。
背景技術(shù):
出于多種目的(包括通信網(wǎng)絡(luò)上的交易和其他通信),對于可預(yù)見的未來而言,口 令將提供最為廣泛接受的認(rèn)證方法?;诳诹畹恼J(rèn)證可獨(dú)立于網(wǎng)絡(luò)和設(shè)備技術(shù)而容易地應(yīng)用??诹钤诒粋鬏斨琳J(rèn)證機(jī)器或個(gè)人時(shí),很容易被偵聽(也稱之為“探聽”)。如果口令 作為電信號而在用戶接入點(diǎn)與控制口令數(shù)據(jù)庫的中央系統(tǒng)之間的不安全物理線路上傳遞, 則該口令可能會通過線路竊聽方法而被探聽。如果口令在因特網(wǎng)上傳遞,則任何能夠監(jiān)聽 包含登錄信息的數(shù)據(jù)包的人均可進(jìn)行探聽,且被發(fā)現(xiàn)的可能性很小。相比于DSL和撥號連 接而言,電纜調(diào)制解調(diào)器可能更易被探聽,而以太網(wǎng)則特別取決于對網(wǎng)絡(luò)硬件和線路的選 擇而可能被探聽或可能不被探聽。一些組織現(xiàn)已注意到,在用戶開始使用電纜互聯(lián)網(wǎng)連接 之后,口令被盜顯著增加。通過置入大量因特網(wǎng)瀏覽器內(nèi)的傳輸層安全(TLS,以前被稱之為SSL)組件,可減 少通過因特網(wǎng)發(fā)送的口令被偵聽的風(fēng)險(xiǎn)。在使用TLS時(shí),大多數(shù)瀏覽器均顯示閉鎖圖標(biāo)。遺憾的是,所存儲的哈?;诹钆c基于哈希的挑戰(zhàn)_響應(yīng)認(rèn)證之間存在沖突,后 者要求客戶端向服務(wù)器證明其知道所共享的秘密(口令)是什么,且為此,服務(wù)器端需要能 夠根據(jù)所述秘密的存儲形式獲取所共享的秘密。在執(zhí)行遠(yuǎn)程認(rèn)證的Unix型系統(tǒng)上,所共享 的秘密變?yōu)楣;问?,且在口令被暴露給離線猜測攻擊方面具有嚴(yán)重的局限性。口令認(rèn)證密鑰協(xié)議系統(tǒng)不需要傳輸口令,而是能夠執(zhí)行零信息口令證明,其可證 明知曉所述口令而不需要泄露該口令。采取更進(jìn)一步的措施,用于口令認(rèn)證密鑰協(xié)議(例 如,AMP、B-SPEKE、PAK-Z、SRP-6)的增廣系統(tǒng)(augmented system)避免了基于哈希的方法 的沖突和局限性。增廣系統(tǒng)允許客戶端向服務(wù)器證明其知曉口令,其中服務(wù)器僅知道(不 是很確切地)哈?;诹睿⑿枰垂;目诹顏慝@得訪問權(quán)限。雙因素認(rèn)證(TFA)是一種需要兩個(gè)獨(dú)立方式來建立身份和特權(quán)的認(rèn)證技術(shù)。這與 傳統(tǒng)的口令認(rèn)證截然不同,傳統(tǒng)的口令認(rèn)證僅需要一個(gè)“因素”(例如,知曉靜態(tài)口令)便可 獲取對系統(tǒng)的訪問。所述雙“因素” 一般為 “你知道什么”,例如口令或PIN。
“你擁有什么”,例如信用卡或硬件憑證。傳統(tǒng)上,雙因素認(rèn)證需要硬件憑證,分發(fā)該硬件憑證是非常昂貴的。US-A-2003/0204726公開了一種用于安全傳輸信息的方法和系統(tǒng)??蛻舳讼蚍?wù)器發(fā)送請求、至少一唯一標(biāo)識符以及加密密鑰。服務(wù)器生成針對所述請求的應(yīng)答,并識別 (基于所述至少一唯一標(biāo)識符)將該應(yīng)答發(fā)送至的移動(dòng)設(shè)備。所述應(yīng)答用所述加密密鑰加 密。加密后的應(yīng)答被從所述服務(wù)器發(fā)送至所識別出的客戶端設(shè)備。所述請求可為對OTP的 請求。US-A-2006/0059344公開了一種認(rèn)證服務(wù),并致力于在通信系統(tǒng)中提供有效的口 令傳遞。所公開的技術(shù)包括經(jīng)由安全信道接收來自通信網(wǎng)絡(luò)系統(tǒng)的用于由用戶裝置計(jì)算 至少一口令的密鑰信息;基于所述用戶裝置中的密鑰信息,生成至少一口令;以及使用所 述至少一口令,執(zhí)行用戶裝置與通信網(wǎng)絡(luò)系統(tǒng)之間的認(rèn)證。該申請的目的在于在認(rèn)證沒有 成為推出移動(dòng)網(wǎng)絡(luò)中新業(yè)務(wù)的瓶頸的情況下,改進(jìn)安全與管理以爭取最大可能的用戶群。 近來,無論是使用IMSdP多媒體子系統(tǒng))還是PoC(按鍵通話業(yè)務(wù))業(yè)務(wù),移動(dòng)運(yùn)營商的 WLAN(無線局域網(wǎng)絡(luò))和xDSL(數(shù)字用戶線路)認(rèn)證與訪問均受到了認(rèn)證與接入網(wǎng)和終端 技術(shù)之間的強(qiáng)耦合的影響。為了最小化傳統(tǒng)http摘要口令傳遞所導(dǎo)致的SMS(短消息服 務(wù))負(fù)擔(dān),使用了種子和哈希方法。通信網(wǎng)絡(luò)系統(tǒng)中的實(shí)體(例如,運(yùn)營商自身的、具有終 端管理服務(wù)器的服務(wù)管理系統(tǒng))生成種子和可選地(新的)秘密密鑰,并將它/它們通過 SMS發(fā)送至用戶設(shè)備或終端。在所生成的口令的數(shù)量達(dá)到配置閾值或超時(shí)到期之后,所述服 務(wù)管理系統(tǒng)生成并發(fā)送新的種子(及秘密密鑰)至所述終端。在應(yīng)用哈希函數(shù)之前請求用 戶輸入PIN碼,加強(qiáng)了該機(jī)制的安全性。應(yīng)用不同的種子、秘密密鑰和/或哈希函數(shù)可創(chuàng)建 口令域。US-A-2005/0245257公開了一種系統(tǒng)和方法,該系統(tǒng)和方法通過使用PSTN來提供 在線交易的認(rèn)證或核準(zhǔn)。通過在兩個(gè)不同網(wǎng)絡(luò)上進(jìn)行基本同時(shí)的傳輸,以核實(shí)用戶的身份。 US-A-2006/0036857公開了基于隨機(jī)生成認(rèn)證秘密與個(gè)人化秘密之間的關(guān)系的用戶認(rèn)證。US-A-Ol 14675公開了一種用戶認(rèn)證,該認(rèn)證通過以下步驟來進(jìn)行創(chuàng)建用戶公式 (user formula)形式的密鑰,向用戶展現(xiàn)一排變量、每個(gè)變量均被賦值,應(yīng)用所賦予的值來 匹配所述用戶公式中的變量以及計(jì)算第一結(jié)果;如果該第一結(jié)果與單獨(dú)且獨(dú)立地計(jì)算所述 用戶公式而得到的第二結(jié)果匹配,則該用戶被認(rèn)證。US-A-2005/0069137公開了一種從移動(dòng)站將非對稱密鑰對(具有私鑰和公鑰)中 的公鑰分發(fā)至密鑰管理計(jì)算機(jī)的方法,該方法包括通過安全信道,將OTP從所述密鑰管理 計(jì)算機(jī)傳輸至移動(dòng)站,以提供共享秘密;分別在移動(dòng)站和密鑰管理計(jì)算機(jī)計(jì)算第一和第二 代碼;將所述第一代碼和公鑰發(fā)送至密鑰管理計(jì)算機(jī);通過將第一和第二代碼進(jìn)行比較, 以檢查用戶的真實(shí)性。US-A-2003/0172272公開了用戶身份認(rèn)證,該認(rèn)證使用兩個(gè)單獨(dú)的通信信道,包括 通信網(wǎng)絡(luò)和移動(dòng)通信信道。US-A-2005/0268107公開了經(jīng)由以下各項(xiàng)中的兩者或三者中的 一者來進(jìn)行用戶認(rèn)證1)用戶知道什么;2)用戶擁有什么;以及3)用戶的物理特征。US-A-2006/0094401公開了無線通信網(wǎng)絡(luò)中的認(rèn)證。秘密共享于移動(dòng)設(shè)備與本地 設(shè)備之間。遠(yuǎn)程設(shè)備通過同時(shí)發(fā)送挑戰(zhàn)至移動(dòng)設(shè)備和本地設(shè)備并比較結(jié)果來確定所述移動(dòng) 設(shè)備是否能夠連接至該遠(yuǎn)程設(shè)備。一些網(wǎng)上銀行服務(wù)使用交易認(rèn)證號或TAN作為一次性口令的形式來認(rèn)證金融交 易。TAN為優(yōu)于傳統(tǒng)單口令認(rèn)證的第二安全層。 TAN的工作概要
1、銀行為用戶生成一組唯一的TAN。一般而言,清單上印有50個(gè)TAN,每個(gè)TAN具 有8個(gè)字符的長度,這足夠普通用戶使用半年。2、用戶從最近的銀行分行獲取所述清單。一般而言,用戶必須出示護(hù)照、ID卡或 類似的文件來證明其身份。3、幾天之后,用戶可收到寄至其家庭住址的5位數(shù)字口令。用戶需要熟記所述口 令,銷毀通知,并將所述TAN清單保存在PC附近的安全位置。4、為登錄用戶賬戶,用戶必須輸入用戶名和口令。這可給予用戶訪問賬戶信息的 能力,但不具備處理交易的能力。5、為執(zhí)行交易,用戶輸入請求并通過輸入未使用的TAN來“簽發(fā)”交易。銀行將所 提交的TAN與其發(fā)給用戶的TAN清單進(jìn)行核對。如果匹配,則處理交易。如果不匹配,則拒 絕交易。6、所述TAN現(xiàn)已被消耗,且在任何未來的交易中將無法被識別。7、如果所述TAN清單被損壞,用戶可通過通知銀行來取消它。TAN被認(rèn)為提供了額外的安全性,因?yàn)門AN和口令起到了雙因素認(rèn)證形式的作用。 如果含有TAN的物理文件被盜,則在沒有口令的情況下,該文件并無多大用處。另一方面, 如果黑客破解了用戶的口令,則黑客在沒有TAN的情況下并不能處理交易。
發(fā)明內(nèi)容
本發(fā)明提供一種用于向具有用戶設(shè)備的用戶授予許可以執(zhí)行交易的認(rèn)證系統(tǒng),該 系統(tǒng)包括用于存儲與所述用戶相關(guān)聯(lián)的用戶標(biāo)識碼的裝置;用于生成多個(gè)函數(shù)的裝置, 所述多個(gè)函數(shù)用于基于用戶的至少一個(gè)輸入產(chǎn)生通過碼,所述至少一個(gè)輸入包括用戶標(biāo) 識碼;用于存儲至少一個(gè)函數(shù)并將所述函數(shù)與用戶相關(guān)聯(lián)的裝置;用于生成應(yīng)用程序的裝 置,所述應(yīng)用程序適用于在所述用戶設(shè)備上實(shí)施所述至少一個(gè)函數(shù);用于將所述應(yīng)用程序 提供給所述用戶設(shè)備的裝置;用于生成與所述交易相關(guān)聯(lián)的交易碼并用于將該交易碼 提供 給所述應(yīng)用程序的裝置;以及用于從所述用戶設(shè)備接收用于所述交易的通過碼并用于基于 所接收的通過碼、與所述用戶相關(guān)聯(lián)的函數(shù)、所述用戶標(biāo)識碼以及與所述交易相關(guān)聯(lián)的交 易碼來認(rèn)證所述交易的裝置。在一種實(shí)施方式中,每一用戶使用一唯一的OTP函數(shù),這使得 認(rèn)證協(xié)議極其安全。如果黑客能夠偵聽并解密某個(gè)OTP函數(shù),則將僅會影響到一個(gè)用戶。即 使發(fā)生了該情況,用戶的賬戶依舊是安全的,因?yàn)樵跊]有用戶的標(biāo)識碼的情況下,所述函數(shù) 是沒有用的。在一種實(shí)施方式中,所述多個(gè)函數(shù)為對稱的或可逆的函數(shù),這樣可根據(jù)其他輸入、 所述函數(shù)以及輸出的信息來得出至少一個(gè)輸入。所述多個(gè)函數(shù)中的至少兩者可在功能上是 唯一的。該至少兩個(gè)函數(shù)可與不同的用戶相關(guān)聯(lián)。所述應(yīng)用程序可適用于實(shí)施所述多個(gè)函數(shù)中的不止一者。所述系統(tǒng)可適用于發(fā)送 控制碼至所述應(yīng)用程序,以選擇所述多個(gè)函數(shù)中的一者。所述用戶標(biāo)識碼和交易碼可用作 所述函數(shù)的輸入。所述交易碼可被用于為所述交易選擇所述多個(gè)函數(shù)中的一者來實(shí)施。所述用于生成多個(gè)函數(shù)的裝置可包括函數(shù)組件庫以及用于在所述函數(shù)組件中隨 機(jī)選擇以提供所述復(fù)合函數(shù)的裝置。所述函數(shù)組件可包括選自由以下各項(xiàng)所構(gòu)成的組中的組件數(shù)學(xué)函數(shù)、數(shù)學(xué)運(yùn)算、串處理、日期計(jì)算、比特處理、計(jì)算機(jī)邏輯命令、計(jì)算機(jī)邏輯流、 計(jì)算機(jī)邏輯條件、所嵌入的硬編碼值以及數(shù)據(jù)結(jié)構(gòu)處理。所述用于生成多個(gè)函數(shù)的裝置包括用于校驗(yàn)所述多個(gè)函數(shù)的裝置。該用于校驗(yàn)所 述多個(gè)函數(shù)的裝置可執(zhí)行與之前所生成的函數(shù)的預(yù)定選集的比較,并且如果超出了預(yù)定重 復(fù)水平,則舍棄所生成的函數(shù)。在一種實(shí)施方式中,一批函數(shù)中的每個(gè)函數(shù)均是唯一的。適用于實(shí)施所述至少一個(gè)函數(shù)的應(yīng)用程序可提供用戶接口。所述用于將所述應(yīng)用程序提供給所述用戶設(shè)備的裝置可包括用于發(fā)送電子消息 至所述用戶設(shè)備的裝置,所述消息包括一地址,所述應(yīng)用程序能夠根據(jù)該地址而被下載。本發(fā)明還提供一種認(rèn)證方法,該方法包括存儲與所述用戶相關(guān)聯(lián)的用戶標(biāo)識碼; 生成多個(gè)函數(shù),所述多個(gè)函數(shù)用于基于用戶的至少一個(gè)輸入來產(chǎn)生通過碼,所述至少一個(gè) 輸入包括所述用戶標(biāo)識碼;存儲至少一個(gè)函數(shù)并將該函數(shù)與用戶相關(guān)聯(lián);生成適用于在用 戶設(shè)備上實(shí)施所述至少一個(gè)函數(shù)的應(yīng)用程序;將所述應(yīng)用程序提供至所述用戶設(shè)備;生成 與所述交易相關(guān)聯(lián)的交易碼,并將該交易碼提供給所述應(yīng)用程序;以及從所述用戶設(shè)備接 收用于所述交易的通過碼,并基于所接收的通過碼、與所述用戶相關(guān)聯(lián)的函數(shù)、用戶標(biāo)識碼 以及與所述交易相關(guān)聯(lián)的交易碼來認(rèn)證所述交易。傳統(tǒng)上,雙因素認(rèn)證需要硬件憑證,分發(fā)該硬件憑證是很昂貴的。在本發(fā)明中,雙 因素認(rèn)證過程中的第二因素,即因素“你擁有什么”,為生成一次性口令(OTP)的軟件方案。 從名稱可以得出,OTP為針對一個(gè)交易或構(gòu)成單個(gè)集合的交易的組合而有效的口令,下一交 易將要求不同的OTP。本發(fā)明可以任何便利的形式實(shí)施,例如使用專用硬件、或?qū)S糜布c軟件的結(jié)合。 本發(fā)明特別適于實(shí)施為由服務(wù)器、工作站或便攜式計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)軟件。本發(fā)明可進(jìn) 一步包括網(wǎng)絡(luò),該網(wǎng)絡(luò)可包括任何局域網(wǎng)絡(luò)或者甚至廣域網(wǎng)、傳統(tǒng)的陸地或無線通信網(wǎng)絡(luò)。 所述系統(tǒng)可包括任何合適的可編程設(shè)備,例如通用計(jì)算機(jī)、個(gè)人數(shù)字助理、移動(dòng)電話(例 如,兼容WAP或3G的電話)等等。本發(fā)明的各方面涵蓋了可于可編程設(shè)備上執(zhí)行的計(jì)算機(jī) 軟件??赏ㄟ^使用任何傳統(tǒng)載體介質(zhì)而將該計(jì)算機(jī)軟件提供給可編程設(shè)備。所述載體介質(zhì) 可包括瞬時(shí)載體介質(zhì),例如,攜帶計(jì)算機(jī)代碼的電、光、微波、聲音或射頻信號。此類瞬時(shí)介 質(zhì)的一種示例可為IP網(wǎng)絡(luò)(例如,因特網(wǎng))上的攜帶計(jì)算機(jī)代碼的TCP/IP信號。所述載 體介質(zhì)還可包括用于存儲處理器可讀代碼的存儲介質(zhì),例如軟盤、硬盤、⑶ROM、磁帶設(shè)備 或固態(tài)存儲設(shè)備。下面將參考附圖,對本發(fā)明進(jìn)行更為詳細(xì)且僅為示例性的描述。
圖1是表示OTP的生成的流程圖;圖2是表示注冊過程期間所執(zhí)行的PIN確認(rèn)步驟的流程圖;圖3是表示根據(jù)本發(fā)明一種實(shí)施方式的注冊過程的流程圖;圖4是表示根據(jù)本發(fā)明的交易過程的流程圖;圖5是根據(jù)本發(fā)明一種實(shí)施方式而工作的系統(tǒng)的框圖;圖6是示出了根據(jù)本發(fā)明一種實(shí)施方式的OTP應(yīng)用程序生成器的元件的框圖;圖7是示出了根據(jù)本發(fā)明的認(rèn)證過程的框圖。
具體實(shí)施例方式
圖1至圖4表示根據(jù)本發(fā)明一種實(shí)施方式的認(rèn)證方法的過程。如圖1所示,由OTP函數(shù)根據(jù)PIN(該P(yáng)IN為秘密密鑰的示例)和交易號(該交易 號為交易特定代碼的示例)來生成一次性口令(OTP)。所述交易號識別將使用該OTP來認(rèn) 證用戶的交易。一般而言,當(dāng)用戶請求訪問例如特定服務(wù)或因特網(wǎng)站點(diǎn)時(shí),所述交易號被提 供給用戶或用戶設(shè)備。在一種實(shí)施方式中,所述用戶設(shè)備為具有至少SMS功能的移動(dòng)電話類型。所述用 戶設(shè)備能夠運(yùn)行如下所述的認(rèn)證系統(tǒng)所提供的計(jì)算機(jī)程序??梢砸匀魏芜m當(dāng)?shù)姆绞綄⑺?計(jì)算機(jī)程序(本文稱之為OTP應(yīng)用程序)提供至所述用戶設(shè)備。所述OTP應(yīng)用程序可在購 買所述設(shè)備之前預(yù)裝在所述用戶設(shè)備上,或可選地,可基于請求而提供給所述用戶設(shè)備。一 種便利的方法可為從由認(rèn)證服務(wù)器所控制的通信系統(tǒng)上的安全位置下載所述OTP應(yīng)用程 序。在所述OTP應(yīng)用程序預(yù)裝在用戶設(shè)備上的情況下,所述OTP應(yīng)用程序可能需要在 認(rèn)證服務(wù)器上進(jìn)行注冊。可通過使用購買時(shí)向用戶設(shè)備提供的注冊安全碼來便利地執(zhí)行注 冊??蓪⑺霭踩a與用戶標(biāo)識詳細(xì)信息一起提供給認(rèn)證服務(wù)器,以將所述OTP應(yīng)用程序 (即,一個(gè)OTP函數(shù)或多個(gè)函數(shù))與該新用戶相關(guān)聯(lián)。所述用戶設(shè)備可為任何通信設(shè)備,該設(shè)備可具有單個(gè)通信信道,而現(xiàn)代設(shè)備趨向 于具有兩個(gè)或多個(gè)通信信道。允許同一設(shè)備上具有多個(gè)通信信道。也可通過使用用于發(fā)送 認(rèn)證過程的一些信息的不同設(shè)備來提供多個(gè)通信信道。本發(fā)明的實(shí)施方式將使用能夠在移 動(dòng)電話手持機(jī)上運(yùn)行的Java應(yīng)用程序來實(shí)施是可能的。然而,實(shí)際上,本發(fā)明的實(shí)施方式 還可用于任何基于計(jì)算機(jī)的平臺上,即,PDA、機(jī)頂盒等。本發(fā)明的實(shí)施方式使用絕大多數(shù)因 特網(wǎng)用戶已擁有的硬件設(shè)備——移動(dòng)電話。這不僅極大地降低了實(shí)施成本,而且還通過允 許用戶使用他們所熟悉的設(shè)備,改善了用戶體驗(yàn)。然而,所述用戶設(shè)備可包括能夠運(yùn)行合適 OTP應(yīng)用程序并從認(rèn)證系統(tǒng)接收必要交易碼的任何通信設(shè)備。在本實(shí)施方式中,用戶被賦予用戶標(biāo)識碼或可選擇用戶標(biāo)識碼,所述用戶標(biāo)識碼 為秘密密鑰的示例。一般而言,所述用戶標(biāo)識碼為個(gè)人標(biāo)識號(PIN),例如一四位數(shù)。為提 高安全性,所述PIN可由用戶在注冊期間定義,且可為任意長度。此外,盡管出于簡易的目 的,所述PIN為實(shí)數(shù),但如本領(lǐng)域所公知的,任何包含字母序列的通過碼(pass code)均可 被使用。認(rèn)證過程可使用不止一個(gè)秘密密鑰,所述不止一個(gè)秘密密鑰可用作獨(dú)立的附加認(rèn) 證步驟的一部分,或可進(jìn)一步用作OTP函數(shù)的輸入。這些秘密密鑰在注冊期間被傳輸給認(rèn) 證服務(wù)器。如果存在不止一個(gè)秘密密鑰,則可將這些秘密密鑰在不同的時(shí)間通過不同的信 道傳輸至所述認(rèn)證服務(wù)器。例如,在OTP應(yīng)用程序安裝于新的用戶設(shè)備(例如,移動(dòng)電話) 的情況下,可將用戶信息從例如購買該電話的商店處的終端傳輸至認(rèn)證服務(wù)器。之后,可由 用戶在后續(xù)的注冊過程期間,選擇PIN或其他用戶標(biāo)識碼。 在本發(fā)明的注冊過程的一種實(shí)施方式中,所述認(rèn)證服務(wù)器接收來自用戶設(shè)備的 OTP,并執(zhí)行所述OTP函數(shù)的逆函數(shù),以確定用戶所選的PIN(圖2)。之后,該P(yáng)IN可與任何 其他用戶信息一起被存儲,并特別地與那個(gè)用戶相關(guān)聯(lián)。期望所述用戶信息被安全地存儲 在例如安全服務(wù)器上,該安全服務(wù)器可為所述認(rèn)證服務(wù)器。
在本實(shí)施方式中,針對每一交易,生成交易碼或交易號。本實(shí)施方式中的交易號為 服務(wù)器上生成的隨機(jī)數(shù)或偽隨機(jī)數(shù)。已知的隨機(jī)數(shù)生成器能夠生成足夠隨機(jī)的數(shù),以致于 實(shí)際上不可能預(yù)測將被產(chǎn)生的下一數(shù)。因此,在密碼學(xué)上來說,所述交易號是安全的。所述 隨機(jī)數(shù)生成器可被實(shí)施為硬件。硬件隨機(jī)數(shù)生成器為通過物理過程生成隨機(jī)數(shù)的裝置。一 般而言,此類設(shè)備基于微觀現(xiàn)象,例如熱噪聲、光電效應(yīng)或其他量子現(xiàn)象。一般而言,基于量 子的硬件隨機(jī)數(shù)生成器包含放大器和變換器,所述放大器用于使所述物理過程的輸出進(jìn)入 宏觀域,所述變換器用于將所述輸出轉(zhuǎn)換為數(shù)字信號。所述PIN和交易號為OTP函數(shù)的輸入(參見圖1)。所述OTP函數(shù)為隨機(jī)生成的復(fù) 合函數(shù),在一種實(shí)施方式中,該函數(shù)包括大量部分函數(shù)(partialfimction),例如數(shù)學(xué)函數(shù)。 對于每個(gè)使用PIN和交易號作為OTP應(yīng)用程序的兩個(gè)輸入的交易而言,所述OTP函數(shù)的輸 出是唯一的OTP,這將在以下進(jìn)行描述。兩個(gè)輸入為對所述OTP應(yīng)用程序的最少輸入。在所述OTP應(yīng)用程序的一些使用中,可將一個(gè)或多個(gè)輸入嵌入函數(shù)或算法中。還 可存在其他輸入,該其他輸入包括其他用戶信息,例如日期、員工號或賬號、或用戶標(biāo)識信 息中的其他項(xiàng)。此外,在可選實(shí)施方式中,可由認(rèn)證系統(tǒng)將其他代碼提供給所述OTP函數(shù)。 盡管僅單個(gè)交易碼是必需的,但是如下所述,也可提供其他代碼以改變所述OTP函數(shù)的行 為。在注冊(圖3)期間,基于交易號和0ΤΡ,使用與用戶相關(guān)聯(lián)的反向OTP函數(shù)來確定 用戶所選的PIN。盡管在現(xiàn)有技術(shù)中,口令生成的安全性是由加密和單向哈希函數(shù)所提供 的,但是相反地,本實(shí)施方式使用可逆的或?qū)ΨQ的函數(shù),這極大地減少了認(rèn)證的計(jì)算。通過 為每一用戶規(guī)定唯一的OTP函數(shù)來提供安全性。本發(fā)明的實(shí)施方式允許針對每一交易使用 新的OTP函數(shù)。當(dāng)然,如本領(lǐng)域所公知的,可使用加密來提高安全性。一般來說,每一用戶被賦予唯一的OTP函數(shù),從而即使黑客偵聽并解密了某個(gè)OTP 函數(shù),也只能影響到一個(gè)用戶。可通過針對每一個(gè)交易或一組交易生成唯一的OTP函數(shù)來 進(jìn)一步加強(qiáng)安全性。當(dāng)安全性與處理能力之間的平衡存在需求時(shí),可將OTP函數(shù)分配給不 止一個(gè)用戶或用戶設(shè)備。本發(fā)明的一特征在于,獲取唯一的函數(shù),以將該函數(shù)傳遞給用戶設(shè) 備。本發(fā)明的系統(tǒng)可計(jì)算大量唯一的對稱函數(shù),這些函數(shù)的效力和唯一性均被測試。理論 上,系統(tǒng)中所使用的每一函數(shù)均是不同的。當(dāng)然,取決于所要求的安全級別,可存在可接受 數(shù)量的函數(shù)重用。例如,如果用戶的數(shù)量非常大,則重用函數(shù)的風(fēng)險(xiǎn)并不會將安全級別影響 到不可接受的程度。此外,如果一函數(shù)已長時(shí)間未被使用,特別是如果該函數(shù)目前并未在系 統(tǒng)中使用(即,未被分配給用戶),則該函數(shù)不需為系統(tǒng)所舍棄,且可被嵌入OTP應(yīng)用程序, 以提供給用戶。 所述唯一的OTP函數(shù)可由認(rèn)證服務(wù)器所提供的“函數(shù)生成器”模塊通過批處理來 創(chuàng)建。在本實(shí)施方式中,所述函數(shù)生成器生成OTP函數(shù)、反向OTP函數(shù)以及計(jì)算機(jī)程序(OTP 應(yīng)用程序),該程序?yàn)樗龊瘮?shù)提供用于輸入PIN并顯示OTP的用戶接口。之后,所顯示的 OTP可用于注冊或交易過程,該過程可能使用不同的設(shè)備、或出現(xiàn)在例如銀行里個(gè)人之間的 交易中。可選地,所述OTP可被直接從用戶或客戶端設(shè)備提供至通信系統(tǒng),以由認(rèn)證服務(wù)器 進(jìn)行認(rèn)證。每一批處理所創(chuàng)建的OTP函數(shù)的數(shù)量可被調(diào)整,以滿足客戶端的需求(其中所 述認(rèn)證系統(tǒng)作為服務(wù)而被提供給第三方),或可基于最近的交易水平而被自動(dòng)調(diào)節(jié)。如果系 統(tǒng)一日內(nèi)用完了可用的OTP函數(shù),該系統(tǒng)能夠基于對等模式(ad-hoc)生成OTP函數(shù)。
所述OTP應(yīng)用程序的屬性取決于方案所實(shí)施的平臺。對于基于移動(dòng)電話的實(shí)施形 式而言,例如,計(jì)算機(jī)程序可為適用于任何現(xiàn)代移動(dòng)手持機(jī)的Java應(yīng)用程序形式。對于不 兼容Java的用戶設(shè)備而言,可使用其他合適的編程語言。注冊過程該注冊過程的目的在于給用戶提供他們唯一的OTP應(yīng)用程序,并從用戶獲得他們 所選擇的PIN。在一種實(shí)施方式中,所述注冊過程包括以下步驟·用戶聯(lián)系通信網(wǎng)絡(luò)或客戶端服務(wù)器,以發(fā)起交易?!ふ埱笥脩魹檎J(rèn)證過程進(jìn)行注冊,以繼續(xù)所述交易?!は蛴脩籼峁┌琌TP函數(shù)的OTP應(yīng)用程序。·由認(rèn)證系統(tǒng)將交易號提供給OTP應(yīng)用程序?!び脩暨x擇PIN,并將其輸入至OTP應(yīng)用程序?!?OTP應(yīng)用程序使用PIN和交易號作為OTP函數(shù)的輸入以生成0ΤΡ,該OTP可被提 供給用戶、或可直接被提供給認(rèn)證系統(tǒng)。· OTP被提供給認(rèn)證系統(tǒng)。 通過使用交易號和用戶所提供的0ΤΡ,認(rèn)證系統(tǒng)使用與用戶相關(guān)聯(lián)的反向OTP函 數(shù)來建立用戶的PIN。 服務(wù)器安全地存儲用戶的PIN。注意,這是存儲PIN的唯一位置——一旦OTP函 數(shù)已被運(yùn)行以創(chuàng)建所述OTP函數(shù),所述PIN就不被OTP應(yīng)用程序所存儲且不駐留于用戶設(shè) 備存儲器中??山?jīng)由與用于發(fā)送所述OTP應(yīng)用程序和交易號的信道不同的通信信道將所述OTP 提供給所述認(rèn)證系統(tǒng)。例如,在基于移動(dòng)電話的實(shí)施形式中,所述OTP應(yīng)用程序可通過因特 網(wǎng)網(wǎng)站或WAP站點(diǎn)而獲得,且所述交易號可經(jīng)由SMS而發(fā)送至用戶。在一種實(shí)施方式中,用 戶可經(jīng)由因特網(wǎng)提交所述0ΤΡ(可能使用不同的設(shè)備,例如PC)。使用單獨(dú)的通信信道是非 常安全的,因?yàn)閷?shí)際上,OTP應(yīng)用程序和交易號被同時(shí)損壞是不太可能的。使用多個(gè)通信信道可進(jìn)一步加強(qiáng)安全性,因?yàn)閷?shí)際上,黑客不可能同時(shí)損壞不止 一個(gè)信道。即使過程中的一要素(element)被黑客偵聽或解密或以其他方式所獲得,在沒 有所有要素的情況下,系統(tǒng)依舊不能被損壞。例如,獲得一次性口令應(yīng)用程序訪問權(quán)限的黑 客(例如,通過獲得存儲有所述應(yīng)用程序的移動(dòng)設(shè)備)在沒有用戶標(biāo)識碼的情況下,無法使 用應(yīng)用程序。交易過程該交易過程的目的在于,通過確保用戶知道與他們賬戶相關(guān)聯(lián)的PIN來確定用戶 的真實(shí)性,從而對所述交易的用戶進(jìn)行認(rèn)證。在一種實(shí)施方式中,基本的交易過程可包括以 下步驟(參見圖4)·響應(yīng)于交易發(fā)起步驟(例如用戶嘗試從客戶網(wǎng)站上在線購買商品或服務(wù)),向 OTP應(yīng)用程序提供交易碼。· OTP應(yīng)用程序請求用戶輸入秘密密鑰,例如PIN。·用戶將PIN輸入OTP應(yīng)用程序。 -OTP應(yīng)用程序使用PIN和交易碼生成0ΤΡ,該OTP可被提供給用戶、或被直接提供 給通信網(wǎng)絡(luò)的元件,例如認(rèn)證服務(wù)器或客戶網(wǎng)站。
·OTP被提供給認(rèn)證服務(wù)器。對于每一次實(shí)施而言,是否使用與發(fā)送所述交易號至用戶的信道相同的通信信道來發(fā)送所述OTP是可配置的,這取決于所要求的安全級別。例 如,在基于移動(dòng)電話的實(shí)施形式中,所述交易號和OTP均可經(jīng)由SMS來傳輸??蛇x地,可請 求用戶經(jīng)由因特網(wǎng)(可能在單獨(dú)的設(shè)備上)提交所述OTP。·通過使用注冊時(shí)所存儲的PIN和發(fā)送至用戶設(shè)備的與所述交易相關(guān)的交易號,認(rèn)證服務(wù)器使用與所述用戶相關(guān)聯(lián)的OTP函數(shù)來生成OTP。可選地,服務(wù)器使用反向OTP函 數(shù)、所接收的OTP和交易號,并比較PIN ;或者可選地,通過在反向OTP函數(shù)中使用所存儲的 PIN和所接收的OTP、并將所產(chǎn)生的交易號與所述交易所關(guān)聯(lián)的交易號進(jìn)行比較,以實(shí)現(xiàn)所 述認(rèn)證?!し?wù)器將所述OTP與用戶所提供的OTP進(jìn)行比較,如果他們匹配,則允許完成交
易ο在所述認(rèn)證服務(wù)器不能認(rèn)證所述用戶的情況下,因?yàn)镺TP不正確,所以服務(wù)器可 提示一錯(cuò)誤消息,且新的交易碼被發(fā)送至所述應(yīng)用程序,從而可作出再次認(rèn)證嘗試。然而, 對認(rèn)證失敗進(jìn)行處理的其他機(jī)制是公知的,且可根據(jù)環(huán)境(包括交易類型、實(shí)施平臺和其 他因素)來選擇特定的過程。還可針對用戶忘記其PIN、或丟失其存儲有OTP應(yīng)用程序的用 戶設(shè)備的情況進(jìn)行設(shè)置。所述OTP應(yīng)用程序可包括用于執(zhí)行其他任務(wù)的例行程序,特別地,一旦OTP應(yīng)用程 序腳本已經(jīng)被實(shí)施,則OTP應(yīng)用程序可清理存儲器中所有交易碼或多個(gè)代碼、用戶標(biāo)識碼 和任何其他秘密密鑰的痕跡。認(rèn)證系統(tǒng)圖5為示出了根據(jù)本發(fā)明一種實(shí)施方式的認(rèn)證系統(tǒng)的功能元件的框圖。該圖僅示 意性地示出了理解本發(fā)明所需要的那些元件,且并非用于限制?,F(xiàn)參考圖5,用戶設(shè)備1(在此情況下為具備WAP功能的移動(dòng)通信設(shè)備,例如移動(dòng) 電話)通過網(wǎng)絡(luò)連接而連接至客戶端站點(diǎn)2。一般而言,該客戶端站點(diǎn)為要求安全訪問的 網(wǎng)站,因?yàn)槔缙鋬?nèi)容支持訂閱、或者該站點(diǎn)用于商品或服務(wù)的支付交易。所述客戶端站點(diǎn) 還可屬于安全性和用戶認(rèn)證尤為重要的銀行或其他金融機(jī)構(gòu)。所述客戶端站點(diǎn)可為單個(gè)網(wǎng) 頁,更為常見的是一系列相互鏈接的網(wǎng)頁,該一系列網(wǎng)頁可位于單個(gè)服務(wù)器或多個(gè)通過因 特網(wǎng)連接的互不相關(guān)的服務(wù)器上。虛線3表示網(wǎng)絡(luò)連接。在本實(shí)施方式中,所述連接是通 過因特網(wǎng)提供的,但是所述連接可為任何類似的網(wǎng)絡(luò)或甚至為點(diǎn)對點(diǎn)連接。例如,銀行網(wǎng)站可在交易額高于£500時(shí)要求使用OTP。所述客戶端站點(diǎn)2使用認(rèn)證服務(wù)器4,以在允許訪問該站點(diǎn)或允許某些交易發(fā)生 之前,對該客戶端站點(diǎn)2的用戶進(jìn)行認(rèn)證。作為安全過程的一部分,所述客戶端站點(diǎn)2向用 戶請求0ΤΡ,該OTP為所述交易的唯一口令或通過碼。術(shù)語“交易”并非欲于限定為金融交 易,而是可為雙方之間出于任何目的的任何許可,其中第二方希望在授權(quán)許可之前認(rèn)證第 一方的身份。需要注意的是,OTP可僅為安全過程的一部分,所述安全過程可包括多個(gè)步驟,并 可包括對用戶的多種挑戰(zhàn)。特別地,對于商業(yè)網(wǎng)站的用戶而言,輸入用戶名和口令(永久靜 態(tài)口令)以登錄網(wǎng)站是很平常的。請求用于特定交易的OTP可僅是用戶與客戶端站點(diǎn)2之 間進(jìn)行單獨(dú)交易的附加安全步驟。
在圖5中,認(rèn)證服務(wù)器4被示為一單個(gè)實(shí)體,但這并非意味著所述認(rèn)證系統(tǒng)的所有 元件都需要位于同一位置、或位于同一計(jì)算機(jī)中,分布式方案也是可預(yù)見的。在圖5中,出于簡化的目的,認(rèn)證系統(tǒng)被示意性地示為位于單個(gè)認(rèn)證服務(wù)器4上。大多數(shù)情況下,在進(jìn)行認(rèn)證過程之前,用戶必須向認(rèn)證服務(wù)器4注冊用戶設(shè)備1。 對于注冊過的用戶而言,認(rèn)證服務(wù)器4將具有存儲于存儲器5內(nèi)的用戶標(biāo)識信息。該用戶 標(biāo)識信息可包括常用細(xì)節(jié),例如名字和地址,且可包括用于登錄客戶端站點(diǎn)的靜態(tài)口令。更 為具體的是,所述認(rèn)證系統(tǒng)可訪問用戶設(shè)備1的用戶所知曉的一個(gè)或多個(gè)私鑰。如上所述, 所述私鑰可用于在客戶端設(shè)備1上產(chǎn)生OTP。所述認(rèn)證系統(tǒng)包括交易碼生成器6和交易碼分發(fā)器7。當(dāng)發(fā)起需要交易碼的類型 的交易時(shí),控制器或CPU 8在接收到來自客戶端站點(diǎn)2的請求之后,指示所述交易碼生成器 提供交易碼至所述分發(fā)器,以將該交易碼提供給用戶設(shè)備。所述交易碼可通過SMS消息或 任何便利的通信信道而被提供給所述用戶設(shè)備。一般來說,所述交易碼將被直接提供給所 述OTP應(yīng)用程序且不被展現(xiàn)給用戶。至少在注冊過程中(以及新的應(yīng)用程序被頒布給用 戶的其他交易中),可在所述應(yīng)用程序被提供給用戶之前,將所述交易碼提供給所述應(yīng)用程序。然而,在要求更高安全性的情況下,所述交易碼和OTP應(yīng)用程序通過不同的通信信道來 提供。在本實(shí)施方式中,所述交易碼通過SMS消息提供,而所述OTP應(yīng)用程序通過如下所述 的WAP推送(WAP push)提供。
在本實(shí)施方式中,所述OTP應(yīng)用程序通過WAP推送提供給用戶設(shè)備,所述WAP推送 實(shí)際上是簡單的SMS,該SMS的報(bào)頭包含有一到WAP地址的鏈接。一旦接收到WAP推送,用 戶設(shè)備1將自動(dòng)給予用戶訪問OTP站點(diǎn)9的選項(xiàng)。這樣,所述WAP推送將終端用戶導(dǎo)向至 WAP地址,在該WAP地址處存儲有用于所述用戶的OTP應(yīng)用程序,以便下載至手持機(jī)。SMS 消息傳遞的使用并非意欲限制為GSM網(wǎng)絡(luò)上的消息傳遞,而是可包括包含3G網(wǎng)絡(luò)及諸如 SkyMail (RTM)和NTT Docomo簡短郵件這樣的可選對象在內(nèi)的所有類似通信信道上的消息 傳遞。通過移動(dòng)電話(例如,NTT Docomo的i-mode和RIM黑莓(RTM))進(jìn)行E-mail消息 傳遞還可使用典型的標(biāo)準(zhǔn)郵件協(xié)議,例如TCP/IP上的SMTP??赏ㄟ^選定系統(tǒng)中的任何可用 的通信信道來實(shí)施本發(fā)明。所述OTP應(yīng)用程序包含一個(gè)或多個(gè)OTP腳本。該OTP腳本為根據(jù)OTP函數(shù)得出的 編譯代碼,該代碼用于在所述用戶設(shè)備1上實(shí)施OTP函數(shù)。所述OTP函數(shù)通過OTP函數(shù)生 成器10生成,這將在以下進(jìn)行詳細(xì)描述。特定OTP應(yīng)用程序的一個(gè)函數(shù)或多個(gè)函數(shù)存儲于 存儲器5中,且與用戶設(shè)備1的用戶相關(guān)聯(lián)。因此,對于任何特定交易,交易碼、秘密密鑰和 OTP函數(shù)均可由控制器8從存儲器5訪問。可通過將由用戶設(shè)備1提供至客戶端站點(diǎn)2的 OTP與控制器8基于與交易相關(guān)聯(lián)的信息生成的OTP進(jìn)行比較來對該交易進(jìn)行認(rèn)證。之后, 認(rèn)證結(jié)果可被傳輸至所述客戶端站點(diǎn)2。所述OTP應(yīng)用程序生成器11嵌有用于實(shí)施OTP應(yīng)用程序(如上所述,該OTP應(yīng)用 程序由OTP應(yīng)用程序分發(fā)器12提供至所述用戶設(shè)備)中的OTP函數(shù)的OTP腳本。所述OTP 函數(shù)和應(yīng)用程序均在以下進(jìn)行更為詳細(xì)的討論。OTP 函數(shù)現(xiàn)參考圖6,圖6示出了 OTP應(yīng)用程序引擎的功能元件,包括函數(shù)生成器10和應(yīng)用 程序生成器11。
所述函數(shù)生成器包括預(yù)定義模塊13、函數(shù)復(fù)合模塊14和評估/校驗(yàn)?zāi)K15。在本實(shí)施方式中,所述OTP函數(shù)為復(fù)合函數(shù)。所述OTP函數(shù)為由隨機(jī)選擇的預(yù)定義函數(shù)(例如數(shù)學(xué)函數(shù))組成的算法,這些預(yù)定義函數(shù)用隨機(jī)選擇的數(shù)學(xué)運(yùn)算符聯(lián)合。例如,OTP函數(shù)可包括函數(shù)/(χ) = — .和g(x) = x2"5xo運(yùn)算符可包括加號、減 號、乘號、除號以及他們的域。為使唯一函數(shù)的幾率足夠高,優(yōu)選地,存在可選的大量可能的 函數(shù)。然而,唯一OTP函數(shù)的數(shù)量并不受限制,因?yàn)樽宰兞?即,函數(shù)串的長度)的數(shù)量并 不固定。所述OTP函數(shù)之間的不同之處不僅可在于自變量的數(shù)量,而且還可在于結(jié)果的數(shù) 量、不同的函數(shù)系列以及輸入和輸出的范圍。OTP函數(shù)可包括以下各項(xiàng)中的一些或全部a)數(shù)學(xué)函數(shù)和運(yùn)算;b)串處理;c)日期計(jì)算;d)比特處理(移位、交替(rotation)等);e)計(jì)算機(jī)邏輯命令、流和條件(循環(huán)、IF語句等);f)所嵌入的硬編碼值;以及g)數(shù)據(jù)結(jié)構(gòu)處理。對于本領(lǐng)域技術(shù)人員而言,其他可能也是可想到的。因此,函數(shù)預(yù)定義過程可生成包括所有上述可能的函數(shù)組件庫。所述函數(shù)復(fù)合模 塊14從所述函數(shù)組件庫中隨機(jī)選擇,以生成一系列復(fù)合函數(shù)。之后,由評估/校驗(yàn)?zāi)K15 對每個(gè)復(fù)合函數(shù)進(jìn)行測試,以確保該函數(shù)滿足各種要求。例如,所述評估/校驗(yàn)?zāi)K15可 確定復(fù)合函數(shù)具有某些參數(shù)、唯一性、具有足夠的復(fù)雜度以提供期望的安全級別,以及確定 兩個(gè)不同的函數(shù)在給定相同輸入的情況下是否會產(chǎn)生相同的OTP。此外,所述函數(shù)所產(chǎn)生的 一個(gè)值或多個(gè)值必須是有效的。所述校驗(yàn)?zāi)K確保每個(gè)函數(shù)均是可逆的,即均是對稱函數(shù)。在本發(fā)明的一種實(shí)施方式中,所述校驗(yàn)?zāi)K確保每個(gè)函數(shù)均是唯一的,且目前并 未被用于任何OTP應(yīng)用程序中。也就是說,所述校驗(yàn)?zāi)K可訪問目前與所有用戶相關(guān)聯(lián)的 所有函數(shù),并將隨機(jī)生成的復(fù)合函數(shù)與所有函數(shù)的數(shù)據(jù)庫進(jìn)行比較??蛇x地,所述校驗(yàn)?zāi)?塊15可通過將函數(shù)與應(yīng)用程序生成器11之前發(fā)布的所有函數(shù)進(jìn)行比較,確保該函數(shù)是真 正唯一的。當(dāng)并不苛刻的要求便可滿足安全要求時(shí),所述校驗(yàn)?zāi)K可被設(shè)置為允許預(yù)定水 平的OTP函數(shù)重用。在其他實(shí)施方式中,所述校驗(yàn)?zāi)K可僅確保每一批復(fù)合函數(shù)是唯一的 即可,其中所述應(yīng)用程序生成器11生成用于不同客戶端(其并非專用系統(tǒng))的OTP應(yīng)用程 序,且該OTP應(yīng)用程序可僅確保每一批OTP函數(shù)包含唯一的函數(shù)即可。隨機(jī)生成函數(shù)確保 了已知一組函數(shù)并不能有助于確定另一批函數(shù)。之后,由校驗(yàn)后的函數(shù)構(gòu)成的庫被存儲于數(shù)據(jù)庫16中。當(dāng)應(yīng)用程序生成器11將生 成新的OTP應(yīng)用程序時(shí),函數(shù)選擇模塊17從存儲于數(shù)據(jù)庫16中的函數(shù)庫中選擇(例如,隨 機(jī)地)函數(shù)。OTP應(yīng)用程序產(chǎn)生器18接收復(fù)合函數(shù),該復(fù)合函數(shù)為將被嵌入OTP應(yīng)用程序 的OTP函數(shù),且與該OTP應(yīng)用程序?qū)⒈惶峁┲恋挠脩粝嚓P(guān)聯(lián)。之后,所述應(yīng)用程序產(chǎn)生器18 將解析所述復(fù)合函數(shù),并產(chǎn)生程序腳本,該腳本用于由應(yīng)用程序編譯器進(jìn)行編譯。所述應(yīng)用 程序編譯器采用基本應(yīng)用程序,并將所述OTP應(yīng)用程序腳本嵌入該基本程序中,以生成OTP應(yīng)用程序。編譯后的OTP應(yīng)用程序被存儲于存儲器19中,以在后續(xù)提供給所述應(yīng)用程序分 發(fā)器12。在上述實(shí)施方式中,單個(gè)OTP函數(shù)被嵌入OTP應(yīng)用程序中,且被提供給用戶設(shè)備。在可選實(shí)施方式中,提供給用戶設(shè)備的OTP應(yīng)用程序具有多個(gè)不同的OTP函數(shù),OTP應(yīng)用程 序中可嵌入的函數(shù)的數(shù)量并不存在限制,除非用戶設(shè)備的存儲器和處理能力對OTP函數(shù)的 數(shù)量進(jìn)行實(shí)際限制或商業(yè)限制。在此情況下,發(fā)送至用戶設(shè)備的交易碼可為由OTP應(yīng)用程 序所使用以從所嵌入的多個(gè)OTP函數(shù)中選擇一函數(shù)作為所述交易的OTP函數(shù)的代碼。在此 情況下,OTP函數(shù)可僅存在一輸入,即用戶標(biāo)識碼。當(dāng)然,所述OTP函數(shù)還可從用戶接收秘密 密鑰。此外,盡管可使用交易碼來選擇OTP函數(shù),然而這并非僅有的可能。在存在單個(gè)OTP 函數(shù)、以及可由認(rèn)證服務(wù)器提供單獨(dú)的代碼以選擇多個(gè)OTP函數(shù)中的一者的實(shí)施方式的情 況下,還可將所述交易碼用作所述OTP函數(shù)的輸入。因此,在本發(fā)明中,不僅可使唯一的OTP函數(shù)對應(yīng)每一用戶設(shè)備或每一用戶,而且 還可以在不安裝新的OTP應(yīng)用程序的情況下,周期性地改變OTP函數(shù),這包括為每一交易選 擇新的OTP函數(shù)。即使在OTP應(yīng)用程序內(nèi)嵌入單個(gè)OTP函數(shù)的情況下,仍可通過將由服務(wù) 器發(fā)送的控制碼作為所述OTP函數(shù)的輸入來改變所述OTP函數(shù)的行為(例如,針對每一交 易)°雙向認(rèn)證該雙向認(rèn)證也稱之為相互認(rèn)證,指雙方相互進(jìn)行認(rèn)證。換句話說,客戶端或用戶向 服務(wù)器認(rèn)證其自身,且服務(wù)器向所述客戶端或用戶認(rèn)證其自身,以此方式,雙方均可確信另 一方的身份。雙向認(rèn)證在對付活躍的(直接的)“網(wǎng)址嫁接(pharming) ”或“網(wǎng)絡(luò)釣魚 (fishing)”方面特別有用。雙向認(rèn)證是一種用戶可確證來自服務(wù)器的響應(yīng)是真實(shí)的的機(jī) 制。下述本實(shí)施方式的雙向認(rèn)證協(xié)議可與本文所述的其他技術(shù)結(jié)合使用。在本實(shí)施方 式中,使用上述OTP協(xié)議來實(shí)施雙向認(rèn)證。在雙向認(rèn)證期間,用戶注冊和認(rèn)證(交易過程) 均如例如上述結(jié)合圖3和圖4所述那樣執(zhí)行。圖7是用于解釋雙向認(rèn)證過程中對服務(wù)器進(jìn)行認(rèn)證的框圖,該圖并未示出完整的 雙向認(rèn)證過程,完整的雙向認(rèn)證過程必須考慮圖3和圖4以及與用戶注冊和認(rèn)證相關(guān)的上 述解釋。圖7假設(shè)用戶已經(jīng)被注冊;服務(wù)器已經(jīng)具有用戶的秘密密鑰(在此被標(biāo)記為 PIN)。服務(wù)器生成交易碼,并基于用戶的PIN和新的交易號,通過使用與用戶相關(guān)聯(lián)的OTP 函數(shù)來計(jì)算OTP。所述交易號被提供給用戶。所述OTP也被提供給用戶或用戶設(shè)備,且在一 種實(shí)施方式中,所述OTP和交易號通過不同的信道而被提供。所述OTP應(yīng)用程序向用戶請求PIN,并基于所述交易碼和用戶的PIN,通過使用OTP 函數(shù)來生成OTP。所述OTP應(yīng)用程序或其他應(yīng)用程序運(yùn)行用戶設(shè)備所生成的OTP與服務(wù)器 所提供的OTP之間的比較,以向用戶認(rèn)證服務(wù)器。在一種實(shí)施方式中,在用戶設(shè)備上認(rèn)證服務(wù)器包括·服務(wù)器產(chǎn)生一個(gè)或多個(gè)交易號,并基于用戶的OTP函數(shù)及一個(gè)秘密密鑰或多個(gè) 秘密密鑰,計(jì)算OTP。
·服務(wù)器將OTP和交易號發(fā)送給用戶或用戶設(shè)備。·在用戶設(shè)備上再次計(jì)算OTP?!び脩粼O(shè)備比較得出已計(jì)算出相同的OTP,并在OTP相匹配的情況下,認(rèn)證所述服務(wù)器。在上述實(shí)施方式中,所述交易號生成于服務(wù)器端,但在另一實(shí)施方式中,可編程所 述客戶端設(shè)備,以產(chǎn)生所述交易號以及將該交易號提供給服務(wù)器以進(jìn)行OTP計(jì)算。此外,月艮 務(wù)器與用戶之間可存在多個(gè)OTP比較校驗(yàn)。對于每一校驗(yàn)而言,將存在一新的交易碼。所述 認(rèn)證過程為對稱過程,這意味著客戶端側(cè)可以以與服務(wù)器側(cè)相同的方式進(jìn)行認(rèn)證過程。因 此,不僅一方向(用戶至服務(wù)器、或服務(wù)器至用戶)上多個(gè)校驗(yàn)是可能的,雙向上進(jìn)行一次 或多次認(rèn)證也是可以的。所述OTP可分為不止一個(gè)部分經(jīng)由不同的信道而被返回至用戶(反之亦然),例如 所述OTP可顯示于網(wǎng)站上以及通過文本消息進(jìn)行發(fā)送。在上述實(shí)施方式中,可配置所述用戶設(shè)備自動(dòng)比較0ΤΡ,以認(rèn)證服務(wù)器,但該認(rèn)證 亦可通過將OTP顯示給用戶而人工實(shí)現(xiàn)。服務(wù)器生成的OTP可顯示(全部或部分地)在例 如網(wǎng)站上,或可以以文本形式發(fā)送給用戶。在不背離本發(fā)明的范圍的情況下,對于本領(lǐng)域技 術(shù)人員而言,各種比較技術(shù)均是可想到的。在本發(fā)明的技術(shù)的實(shí)施形式中,系統(tǒng)的安全級別是可變的。例如,用戶針對將要進(jìn) 行的認(rèn)證所要求的挑戰(zhàn)的數(shù)量是可變的、或者對用戶作出的挑戰(zhàn)是可周期性變化的。例如, 在首次登錄時(shí),可向用戶請求其PIN和郵政編碼(郵遞區(qū)號),而在第二次登錄時(shí),可向用戶 請求其PIN和生日。因此,挑戰(zhàn)的數(shù)量以及所提問的問題可隨時(shí)間隨機(jī)地變化。這可通過 使用元數(shù)據(jù)表來實(shí)現(xiàn),該元數(shù)據(jù)表定義了在授權(quán)許可之前,用戶所需輸入的挑戰(zhàn)的數(shù)量。在圖5所示的實(shí)施方式中,用戶經(jīng)由具有OTP應(yīng)用程序的同一設(shè)備來與客戶端站 點(diǎn)進(jìn)行交互。利用現(xiàn)代電信設(shè)備,同一設(shè)備可提供兩個(gè)或多個(gè)通信信道。然而,可預(yù)見到, 可使用本發(fā)明來分隔通信信道,從而例如移動(dòng)電話為具有OTP函數(shù)的用戶設(shè)備,而交易是 親自執(zhí)行的(例如,在銀行)、或在分立的機(jī)器(例如,PC或商店終端)上執(zhí)行的。嘗試進(jìn) 行交易的個(gè)人必須擁有電話,以便能夠獲得所需要的OTP。盡管未授權(quán)個(gè)人可能掌控移動(dòng)電 話、或可選地可能獲取訪問用戶PC的權(quán)限,但是他們同時(shí)獲取訪問PC、移動(dòng)電話以及用戶 PIN是不太可能的。因此,所述OTP應(yīng)用程序?yàn)檐浖{證,該憑證等價(jià)于安全雙因素認(rèn)證所通常需要 的硬件憑證。然而,同一 OTP應(yīng)用程序可用于支持不同的安全密鑰,例如兩個(gè)人可共享一移 動(dòng)電話,并通過使用不同的PIN號來認(rèn)證他們自身。在一種實(shí)施方式中,可存在一可預(yù)見的聯(lián)名賬戶系統(tǒng),其中多個(gè)用戶均具有OTP 應(yīng)用程序。為了對交易進(jìn)行授權(quán)或認(rèn)證,連接到此賬戶的所有用戶均需要提供他們的正確 OTP。該過程可由個(gè)人以及機(jī)器使用,例如兩個(gè)服務(wù)器可使用該方案來對B2B交易進(jìn)行 認(rèn)證。對于更為寬松的安全級別政策,我們可例如決定設(shè)置一“冷卻周期(cooloff period)”,用戶必須在該冷卻周期之內(nèi)經(jīng)由不同的信道將OTP號送回服務(wù)器。例如,經(jīng)由單 獨(dú)的設(shè)備發(fā)送至支持OTP應(yīng)用程序的一方??苫跁r(shí)間限制或交易的量來計(jì)算所述冷卻周期。所述方案是非常靈活的,足以支持不同類型的安全級別,例如,銀行可決定允許僅 經(jīng)由電子銀行網(wǎng)站而將OTP應(yīng)用程序所生成的OTP送回認(rèn)證服務(wù)器,也就是說,OTP應(yīng)用程 序例如位于移動(dòng)電話上,且交易碼經(jīng)由SMS來接收。OTP經(jīng)由不同的通信信道(S卩,因特網(wǎng)) 而被返回。如前所述,本發(fā)明可僅為安全系統(tǒng)的一部分,且可僅構(gòu)成任何特定交易的認(rèn)證過 程的一部分。本發(fā)明可與其他安全特征一起使用,而不存在任何限制。例如,用戶設(shè)備可為 GPRS系統(tǒng)或提供用戶設(shè)備位置指示的其他系統(tǒng)的一部分。因此,所述認(rèn)證過程可包括對用 戶設(shè)備的位置的檢查??梢岳斫獾氖?,出于清楚的目的,在多個(gè)單獨(dú)的實(shí)施方式中描述的本發(fā)明的各種 特征還可組合到單個(gè)實(shí)施方式中。相反地,出于簡潔的目的,在單個(gè)實(shí)施方式中描述的本發(fā) 明的各種特征還可單獨(dú)提供、或可以以任何合適的次組合的形式提供。以上實(shí)施方式中的算法引擎在其他應(yīng)用中也是很有用的。所述算法引擎的基礎(chǔ)在 于,使用了以各種方式組合的大量庫存函數(shù)和運(yùn)算符,以產(chǎn)生大量新的OTP函數(shù)。圖6示出 了 OTP應(yīng)用程序引擎的一種實(shí)施方式。所述OTP函數(shù)和應(yīng)用程序可用于以下特定應(yīng)用中目前,一般而言,軟件包被簽發(fā)給用戶,且本質(zhì)上,一般存在單個(gè)用于生成每個(gè)軟 件復(fù)本的安全碼或安全號的算法。一旦該算法被破解(可能通過暴力攻擊來破解),就可使 得偽造的產(chǎn)品復(fù)本具有可被校驗(yàn)服務(wù)器所接受的“有效”安全碼。無法在不使合法軟件副 本無效的情況下改變所述算法。一種可選方案是設(shè)立具有不同算法的不同域,這意味著可對某種算法進(jìn)行無效, 且將僅影響同一域中的合法復(fù)本。可使用本發(fā)明,通過為每一軟件包提供根據(jù)本發(fā)明的OTP應(yīng)用程序,來為每一軟 件包提供唯一的算法。所述OTP應(yīng)用程序(包含OTP函數(shù)的實(shí)例)與交易碼相關(guān)聯(lián)。所述 OTP函數(shù)對于每一軟件包而言、或?qū)τ谝粋€(gè)域中的每個(gè)軟件包而言都是唯一的,從而使得破 譯算法變得無利可圖,因?yàn)槠谱gOTP應(yīng)用程序?qū)H會影響該OTP應(yīng)用程序的單個(gè)實(shí)例。在本發(fā)明的當(dāng)前應(yīng)用中,所述OTP應(yīng)用程序不要求單獨(dú)的PIN——秘密密鑰或標(biāo) 識碼可被視為是固定的或多余的。盡管已從軟件包方面討論了本申請,但被認(rèn)證的產(chǎn)品的身份與所簽發(fā)的OTP應(yīng)用 程序無關(guān),且本技術(shù)可應(yīng)用于任何產(chǎn)品或認(rèn)證/校驗(yàn)情形,例如投票(在線投票或非在線投 票)、用戶訪問等。特別地,所述OTP應(yīng)用程序可附有一媒體文件,所述OTP應(yīng)用程序可保護(hù) 此類由電子裝置(例如通過計(jì)算機(jī)網(wǎng)絡(luò))所分發(fā)的文件。本發(fā)明并不限于軟件方案。OTP算法引擎所生成的OTP函數(shù)可嵌入卡中,例如存儲 卡或IC卡、憑證、票據(jù)等等。此類的物理標(biāo)識裝置可能不具有輸入,且通過認(rèn)證系統(tǒng),唯一 或近似唯一的算法將與用戶相關(guān)聯(lián)。此類系統(tǒng)可用于例如銀行或投票情形中,以對個(gè)人進(jìn) 行識別。本發(fā)明的OTP應(yīng)用程序允許使用生物識別設(shè)備來在網(wǎng)絡(luò)(例如,因特網(wǎng))上進(jìn)行認(rèn)證。每個(gè)生物識別設(shè)備被給定一單獨(dú)的OTP應(yīng)用程序,且該OTP應(yīng)用程序的標(biāo)識碼為所 輸入的生物數(shù)據(jù)。這是輸入OTP函數(shù)所需要的秘密密鑰或標(biāo)識碼的可選方法的一種示例。在現(xiàn)有技術(shù)中,生物識別設(shè)備的輸出是一相對固定的值,該值為生物識別設(shè)備在用戶端所確證的值。本發(fā)明的使用允許在非用戶端進(jìn)行用戶認(rèn)證,例如通過認(rèn)證服務(wù)器進(jìn)行認(rèn)證。認(rèn)證服務(wù)器可通過與生物識別設(shè)備相關(guān)聯(lián)的OTP應(yīng)用程序的信息以及基于生物信 息(傳統(tǒng)上,該生物信息被預(yù)先注冊于所述認(rèn)證服務(wù)器,)來對用戶進(jìn)行認(rèn)證。在該實(shí)施方 式中,不需要單獨(dú)為該實(shí)施方式提供交易碼,但該交易碼可以例如由生物識別系統(tǒng)自身生 成。然而,所述生物識別設(shè)備可與根據(jù)本發(fā)明認(rèn)證技術(shù)的更為普通的實(shí)施方式的OTP應(yīng)用 程序相結(jié)合來使用。在此情況下,也可將用于提供交易碼的各種選項(xiàng)應(yīng)用至本實(shí)施方式。
此外,所述OTP應(yīng)用程序可接收一個(gè)或多個(gè)進(jìn)一步的輸入,例如用戶的PIN。
盡管本發(fā)明的多種實(shí)施方式已通過示例性方式進(jìn)行描述,但本領(lǐng)域技術(shù)人員在不 脫離所附權(quán)利要求書所限定的本發(fā)明的范圍的情況下,還可想到各種修改和替代。
權(quán)利要求
一種用于向具有用戶設(shè)備的用戶授予許可以執(zhí)行交易的認(rèn)證系統(tǒng),該系統(tǒng)包括用于存儲與所述用戶相關(guān)聯(lián)的用戶標(biāo)識碼的裝置;用于生成多個(gè)函數(shù)的裝置,所述多個(gè)函數(shù)用于基于用戶的至少一個(gè)輸入來產(chǎn)生通過碼,所述至少一個(gè)輸入包括所述用戶標(biāo)識碼;用于存儲至少一個(gè)函數(shù)并將該函數(shù)與用戶相關(guān)聯(lián)的裝置;用于生成應(yīng)用程序的裝置,所述應(yīng)用程序適用于在所述用戶設(shè)備上實(shí)施所述至少一個(gè)函數(shù);用于將所述應(yīng)用程序提供給所述用戶設(shè)備的裝置;用于生成與所述交易相關(guān)聯(lián)的交易碼并用于將該交易碼提供給所述應(yīng)用程序的裝置;以及用于從所述用戶設(shè)備接收用于所述交易的通過碼并用于基于所接收的通過碼、與所述用戶相關(guān)聯(lián)的函數(shù)、所述用戶標(biāo)識碼以及與所述交易相關(guān)聯(lián)的交易碼來認(rèn)證所述交易的裝置。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述多個(gè)函數(shù)為對稱函數(shù),以使得能夠根據(jù)其他 輸入、所述函數(shù)以及輸出的信息來得出至少一個(gè)輸入。
3.根據(jù)權(quán)利要求1或2所述的系統(tǒng),其中所述多個(gè)函數(shù)中的至少兩者在功能上是唯一的。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述至少兩個(gè)函數(shù)與不同的用戶相關(guān)聯(lián)。
5.根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的系統(tǒng),其中所述應(yīng)用程序適用于實(shí)施所 述多個(gè)函數(shù)中的不止一者。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中該系統(tǒng)適用于發(fā)送控制碼至所述應(yīng)用程序以選擇 所述多個(gè)函數(shù)中的一者。
7.根據(jù)權(quán)利要求5所述的系統(tǒng),其中所述交易碼被用于為所述交易選擇所述多個(gè)函數(shù) 中的一者來實(shí)施。
8.根據(jù)權(quán)利要求1-6中任一項(xiàng)權(quán)利要求所述的系統(tǒng),其中所述用戶標(biāo)識碼和所述交易 碼被用作所述函數(shù)的輸入。
9.根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的系統(tǒng),其中所述用于生成多個(gè)函數(shù)的裝 置包括函數(shù)組件庫以及用于在所述函數(shù)組件中隨機(jī)選擇以提供所述復(fù)合函數(shù)的裝置。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述函數(shù)組件包括選自由以下各項(xiàng)所構(gòu)成的組 中的組件數(shù)學(xué)函數(shù)、數(shù)學(xué)運(yùn)算、串處理、日期計(jì)算、比特處理、計(jì)算機(jī)邏輯命令、計(jì)算機(jī)邏輯 流、計(jì)算機(jī)邏輯條件、所嵌入的硬編碼值以及數(shù)據(jù)結(jié)構(gòu)處理。
11.根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的系統(tǒng),其中所述用于生成多個(gè)函數(shù)的 裝置包括用于校驗(yàn)所述多個(gè)函數(shù)的裝置。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述用于校驗(yàn)所述多個(gè)函數(shù)的裝置執(zhí)行與之前 所生成的函數(shù)的預(yù)定選集的比較,并且如果超出了預(yù)定重復(fù)水平,則舍棄 所生成的函數(shù)。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中一批函數(shù)中的每個(gè)函數(shù)均是唯一的。
14.根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的系統(tǒng),其中適用于實(shí)施所述至少一個(gè) 函數(shù)的應(yīng)用程序提供用戶接口。
15.根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的系統(tǒng),其中所述用于將所述應(yīng)用程序提供給所述用戶設(shè)備的裝置包括用于發(fā)送電子消息至所述用戶設(shè)備的裝置,所述消息包括 一地址,所述應(yīng)用程序能夠根據(jù)該地址而被下載。
16.根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的系統(tǒng),其中所述標(biāo)識碼是根據(jù)生物特 征數(shù)據(jù)得出的。
17.一種認(rèn)證方法,該方法包括存儲與用戶相關(guān)聯(lián)的用戶標(biāo)識碼;生成多個(gè)函數(shù),所述多個(gè)函數(shù)用于基于用戶的至少一個(gè)輸入來產(chǎn)生通過碼,所述至少 一個(gè)輸入包括所述用戶標(biāo)識碼;存儲至少一個(gè)函數(shù)并將該函數(shù)與用戶相關(guān)聯(lián);生成適用于在用戶設(shè)備上實(shí)施所述至少一個(gè)函數(shù)的應(yīng)用程序;將所述應(yīng)用程序提供至所述用戶設(shè)備;生成與交易相關(guān)聯(lián)的交易碼,并將該交易碼提供給所述應(yīng)用程序;以及從所述用戶設(shè)備接收用于所述交易的通過碼,并基于所接收的通過碼、與所述用戶相 關(guān)聯(lián)的函數(shù)、所述用戶標(biāo)識碼以及與所述交易相關(guān)聯(lián)的交易碼來認(rèn)證所述交易。
18.根據(jù)權(quán)利要求17所述的方法,其中所述多個(gè)函數(shù)為對稱函數(shù),以使得能夠根據(jù)其 他輸入、所述函數(shù)以及輸出的信息來得出至少一個(gè)輸入。
19.根據(jù)權(quán)利要求17或18所述的方法,其中所述多個(gè)函數(shù)中的至少兩者在功能上是唯 一的。
20.根據(jù)權(quán)利要求19所述的方法,其中所述至少兩個(gè)函數(shù)與不同的用戶相關(guān)聯(lián)。
21.根據(jù)權(quán)利要求17-20中任一項(xiàng)權(quán)利要求所述的方法,其中所述應(yīng)用程序適用于實(shí) 施所述多個(gè)函數(shù)中的不止一者。
22.根據(jù)權(quán)利要求21所述的方法,該方法包括發(fā)送控制碼至所述應(yīng)用程序,以選擇所 述多個(gè)函數(shù)中的一者。
23.根據(jù)權(quán)利要求21所述的方法,其中所述交易碼被用于為所述交易選擇所述多個(gè)函 數(shù)中的一者來實(shí)施。
24.根據(jù)權(quán)利要求17-22中任一項(xiàng)權(quán)利要求所述的方法,其中所述用戶標(biāo)識碼和所述 交易碼被用作所述函數(shù)的輸入。
25.根據(jù)權(quán)利要求17-24中任一項(xiàng)權(quán)利要求所述的方法,其中所述用于生成多個(gè)函數(shù) 的裝置包括函數(shù)組件庫以及用于在所述函數(shù)組件中隨機(jī)選擇以提供所述復(fù)合函數(shù)的裝置。
26.根據(jù)權(quán)利要求25所述的方法,其中所述函數(shù)組件包括選自由以下各項(xiàng)所構(gòu)成的組 中的組件數(shù)學(xué)函數(shù)、數(shù)學(xué)運(yùn)算、串處理、日期計(jì)算、比特處理、計(jì)算機(jī)邏輯命令、計(jì)算機(jī)邏輯 流、計(jì)算機(jī)邏輯條件、所嵌入的硬編碼值以及數(shù)據(jù)結(jié)構(gòu)處理。
27.根據(jù)權(quán)利要求17-26中任一項(xiàng)權(quán)利要求所述的方法,該方法包括校驗(yàn)所述多個(gè)函數(shù)。
28.根據(jù)權(quán)利要求27所述的方法,其中所述用于校驗(yàn)所述多個(gè)函數(shù)的裝置執(zhí)行與之前 所生成的函數(shù)的預(yù)定選集的比較,并且如果超出了預(yù)定重復(fù)水平,則舍棄所生成的函數(shù)。
29.根據(jù)權(quán)利要求28所述的方法,其中一批函數(shù)中的每個(gè)函數(shù)均是唯一的。
30.根據(jù)權(quán)利要求17-29中任一項(xiàng)權(quán)利要求所述的方法,其中適用于實(shí)施所述至少一 個(gè)函數(shù)的應(yīng)用程序提供用戶接口。
31.根據(jù)權(quán)利要求17-30中任一項(xiàng)權(quán)利要求所述的方法,其中將所述應(yīng)用程序提供給 所述用戶設(shè)備包括發(fā)送電子消息至所述用戶設(shè)備,所述消息包括一地址,所述應(yīng)用程序能 夠根據(jù)該地址而被下載。
32.根據(jù)權(quán)利要求17-31中任一項(xiàng)權(quán)利要求所述的方法,其中所述標(biāo)識碼是根據(jù)生物 特征數(shù)據(jù)得出的。
33.一種認(rèn)證服務(wù)器,該認(rèn)證服務(wù)器包括 用于存儲與用戶相關(guān)聯(lián)的用戶標(biāo)識碼的存儲器;用于生成多個(gè)函數(shù)的函數(shù)生成器,所述函數(shù)適用于基于用戶的至少一個(gè)輸入來產(chǎn)生通 過碼,所述至少一個(gè)輸入包括所述用戶標(biāo)識碼;用于存儲至少一個(gè)函數(shù)并將該函數(shù)與用戶相關(guān)聯(lián)的存儲器;用于生成應(yīng)用程序的應(yīng)用程序生成器,所述應(yīng)用程序適用于在所述用戶設(shè)備上實(shí)施所 述至少一個(gè)函數(shù);用于將所述應(yīng)用程序分發(fā)至所述用戶設(shè)備的應(yīng)用程序分發(fā)器; 用于生成與交易相關(guān)聯(lián)的交易碼的交易碼生成器; 用于將所述交易碼提供至所述應(yīng)用程序的交易碼分發(fā)器;以及 用于從用戶設(shè)備接收用于所述交易的通過碼,并用于基于所接收的通過碼、與所述用 戶相關(guān)聯(lián)的函數(shù)、所述用戶標(biāo)識碼以及與所述交易相關(guān)聯(lián)的交易碼來認(rèn)證所述交易的控制器。
34.一種攜帶有計(jì)算機(jī)可讀代碼的載體介質(zhì),所述計(jì)算機(jī)可讀代碼用于控制計(jì)算機(jī)執(zhí) 行權(quán)利要求17-32中任一項(xiàng)權(quán)利要求所述的方法。
35.一種認(rèn)證系統(tǒng),該認(rèn)證系統(tǒng)包括用于生成多個(gè)通過碼函數(shù)的函數(shù)生成器,該函數(shù)生 成器包括復(fù)合模塊,用于選擇多個(gè)預(yù)定義的部分函數(shù),并通過使用一個(gè)或多個(gè)預(yù)定義運(yùn)算符來 組合所選的部分函數(shù)以產(chǎn)生復(fù)合函數(shù);以及校驗(yàn)?zāi)K,用于確定每個(gè)函數(shù)均是可逆的,且一批復(fù)合函數(shù)中的復(fù)合函數(shù)是唯一的。
36.根據(jù)權(quán)利要求35所述的認(rèn)證系統(tǒng),其中所述校驗(yàn)?zāi)K執(zhí)行與之前所生成的函數(shù)的 預(yù)定選集的比較,并且如果超出了預(yù)定重復(fù)水平,則舍棄所生成的函數(shù)。
37.根據(jù)權(quán)利要求35或36所述的認(rèn)證系統(tǒng),其中所述校驗(yàn)?zāi)K還確定以下各項(xiàng)中的一 者或多者(i)每一復(fù)合函數(shù)具有預(yù)定復(fù)雜度;(ii)一批函數(shù)中的每一復(fù)合函數(shù)在給定相同輸入的情況下給出不同的輸出。
38.根據(jù)權(quán)利要求35、36或37所述的認(rèn)證系統(tǒng),該認(rèn)證系統(tǒng)包括用于生成所述多個(gè)預(yù) 定義的部分函數(shù)的預(yù)定義模塊。
39.根據(jù)權(quán)利要求35-38中任一項(xiàng)權(quán)利要求所述的認(rèn)證系統(tǒng),其中所述部分函數(shù)選自 以下各項(xiàng)中的一者或多者數(shù)學(xué)函數(shù)和運(yùn)算、串處理、日期計(jì)算、比特處理、包含邏輯流或條 件的計(jì)算機(jī)邏輯命令、所嵌入的硬編碼值以及數(shù)據(jù)結(jié)構(gòu)處理。
40.根據(jù)權(quán)利要求35-39中任一項(xiàng)權(quán)利要求所述的認(rèn)證系統(tǒng),該認(rèn)證系統(tǒng)包括由校驗(yàn) 后的復(fù)合函數(shù)構(gòu)成的數(shù)據(jù)庫。
41.根據(jù)權(quán)利要求35-40中任一項(xiàng)權(quán)利要求所述的認(rèn)證系統(tǒng),該認(rèn)證系統(tǒng)包括函數(shù)選擇模塊和應(yīng)用程序產(chǎn)生器,所述函數(shù)選擇模塊用于從所述數(shù)據(jù)庫選擇至少一個(gè)復(fù)合函數(shù), 所述應(yīng)用程序產(chǎn)生器用于根據(jù)所述復(fù)合函數(shù)來生成程序腳本。
42.根據(jù)權(quán)利要求41所述的認(rèn)證系統(tǒng),其中所述應(yīng)用程序產(chǎn)生器包括編譯器,該編譯 器用于將所述程序腳本編譯進(jìn)應(yīng)用程序,以將所述至少一個(gè)復(fù)合函數(shù)嵌入該應(yīng)用程序內(nèi)。
43.一種包括認(rèn)證應(yīng)用程序的通信設(shè)備,所述認(rèn)證應(yīng)用程序包括嵌于該認(rèn)證應(yīng)用程序 內(nèi)的至少一個(gè)通過碼算法,所述應(yīng)用程序適用于基于針對特定交易生成的交易碼以及識別 待認(rèn)證的個(gè)人或產(chǎn)品的標(biāo)識碼來生成通過碼。
44.根據(jù)權(quán)利要求43所述的通信設(shè)備,其中包括至少一個(gè)被嵌入的通過碼函數(shù)的所述 應(yīng)用程序提供用于用戶輸入數(shù)據(jù)至所述通過碼函數(shù)的接口。
45.根據(jù)權(quán)利要求43或44所述的通信設(shè)備,該通信設(shè)備包括認(rèn)證應(yīng)用程序,該認(rèn)證應(yīng) 用程序用于接收由與交易有關(guān)的第三方生成的通過碼,并用于將所接收的通過碼與該通信 設(shè)備上的應(yīng)用程序所生成的通過碼進(jìn)行比較,以認(rèn)證所述第三方。
46.一種生成通過碼應(yīng)用程序的方法,所述通過碼應(yīng)用程序包括嵌于所述通過碼應(yīng)用 程序內(nèi)的通過碼函數(shù),所述方法包括選擇多個(gè)預(yù)定義的部分函數(shù),并通過使用一個(gè)或多個(gè)預(yù)定義運(yùn)算符來組合所選的部分 函數(shù)以產(chǎn)生復(fù)合函數(shù);以及通過確定每個(gè)函數(shù)均是可逆的且一批復(fù)合函數(shù)中的復(fù)合函數(shù)是唯一的來對所述函數(shù) 進(jìn)行校驗(yàn)。
47.根據(jù)權(quán)利要求46所述的方法,其中所述校驗(yàn)步驟包括執(zhí)行與之前所生成的函數(shù)的 預(yù)定選集的比較,并且如果超出了預(yù)定重復(fù)水平,則舍棄所生成的函數(shù)。
48.根據(jù)權(quán)利要求46或47所述的方法,該方法包括生成所述多個(gè)預(yù)定義的部分函數(shù)。
49.根據(jù)權(quán)利要求46-48中任一項(xiàng)權(quán)利要求所述的方法,其中所述部分函數(shù)選自以下 各項(xiàng)中的一者或多者數(shù)學(xué)函數(shù)和運(yùn)算、串處理、日期計(jì)算、比特處理、包含邏輯流或條件的 計(jì)算機(jī)邏輯命令、所嵌入的硬編碼值以及數(shù)據(jù)結(jié)構(gòu)處理。
50.根據(jù)權(quán)利要求46-49中任一項(xiàng)權(quán)利要求所述的方法,該方法包括存儲校驗(yàn)后的復(fù) 合函數(shù),以提供由校驗(yàn)后的復(fù)合函數(shù)構(gòu)成的數(shù)據(jù)庫。
51.根據(jù)權(quán)利要求45-49中任一項(xiàng)權(quán)利要求所述的方法,該方法包括從所述數(shù)據(jù)庫選 擇至少一個(gè)復(fù)合函數(shù),并根據(jù)該復(fù)合函數(shù)來生成程序腳本。
52.根據(jù)權(quán)利要求51所述的方法,該方法包括將所述程序腳本編譯進(jìn)應(yīng)用程序,以將 所述至少一個(gè)復(fù)合函數(shù)嵌入所述應(yīng)用程序內(nèi)。
53.一種系統(tǒng),該系統(tǒng)包括生物識別設(shè)備以及與該生物識別設(shè)備相關(guān)聯(lián)的認(rèn)證應(yīng)用程 序,該認(rèn)證應(yīng)用程序包括嵌于該認(rèn)證應(yīng)用程序內(nèi)的至少一個(gè)通過碼算法,所述應(yīng)用程序適 用于基于針對特定交易所生成的交易碼以及與所述生物識別設(shè)備所生成的生物特征數(shù)據(jù) 相對應(yīng)的標(biāo)識碼來生成通過碼。
54.根據(jù)權(quán)利要求53所述的系統(tǒng),其中所述應(yīng)用程序適用于基于除所述生物特征數(shù)據(jù) 和交易碼之外的至少又一個(gè)輸入來生成通過碼。
55.根據(jù)權(quán)利要求53或54所述的系統(tǒng),其中所述交易碼由根據(jù)權(quán)利要求16所述的系 統(tǒng)來生成。
全文摘要
提供了一種認(rèn)證系統(tǒng)和方法,該方法包括存儲與所述用戶相關(guān)聯(lián)的用戶標(biāo)識碼;生成多個(gè)函數(shù),所述多個(gè)函數(shù)用于基于用戶的至少一個(gè)輸入來產(chǎn)生通過碼,所述至少一個(gè)輸入包括所述用戶標(biāo)識碼;存儲至少一個(gè)函數(shù)并將該函數(shù)與用戶相關(guān)聯(lián);生成適用于在用戶設(shè)備上實(shí)施所述至少一個(gè)函數(shù)的應(yīng)用程序;將所述應(yīng)用程序提供至所述用戶設(shè)備;生成與所述交易相關(guān)聯(lián)的交易碼,并將該交易碼提供給所述應(yīng)用程序;以及從所述用戶設(shè)備接收用于所述交易的通過碼,并基于所接收的通過碼、與所述用戶相關(guān)聯(lián)的函數(shù)、用戶標(biāo)識碼以及與所述交易相關(guān)聯(lián)的交易碼來認(rèn)證所述交易。
文檔編號G06F21/34GK101803272SQ200780100008
公開日2010年8月11日 申請日期2007年6月26日 優(yōu)先權(quán)日2007年6月26日
發(fā)明者G·莫阿斯, R·加貝 申請人:G3視覺有限公司