背景技術(shù):
本發(fā)明整體涉及數(shù)據(jù)處理系統(tǒng)的領(lǐng)域。更具體地講,本發(fā)明涉及用于在網(wǎng)絡(luò)架構(gòu)內(nèi)集成驗(yàn)證服務(wù)的系統(tǒng)和方法。
相關(guān)領(lǐng)域說明
還已經(jīng)設(shè)計(jì)了使用生物計(jì)量傳感器經(jīng)由網(wǎng)絡(luò)提供安全用戶驗(yàn)證的系統(tǒng)。在此類系統(tǒng)中,可經(jīng)由網(wǎng)絡(luò)發(fā)送由驗(yàn)證器生成的得分和/或其他驗(yàn)證數(shù)據(jù),以向遠(yuǎn)程服務(wù)器驗(yàn)證用戶。例如,專利申請(qǐng)no.2011/0082801(“‘801申請(qǐng)”)描述了一種在網(wǎng)絡(luò)上進(jìn)行用戶注冊(cè)和驗(yàn)證的框架,這種框架提供強(qiáng)驗(yàn)證(例如,防御身份竊取和網(wǎng)絡(luò)釣魚)、安全交易(例如,防御交易中的“瀏覽器中的惡意軟件”和“中間人”攻擊)和客戶端驗(yàn)證令牌的登記/管理(例如,指紋讀取器、面部識(shí)別裝置、智能卡、可信平臺(tái)模塊等等)。
本申請(qǐng)的受讓人已經(jīng)開發(fā)出對(duì)‘801申請(qǐng)中所描述的驗(yàn)證框架的多種改進(jìn)。這些改進(jìn)中的一些在以下一組美國(guó)專利申請(qǐng)中描述,這些美國(guó)專利申請(qǐng)都被轉(zhuǎn)讓給本受讓人:序列號(hào)13/730,761,名稱為“querysystemandmethodtodetermineauthenticationcapabilities”(用于確定驗(yàn)證功能的查詢系統(tǒng)和方法);序列號(hào)13/730,776,名稱為“systemandmethodforefficientlyenrolling,registering,andauthenticatingwithmultipleauthenticationdevices”(使用多個(gè)驗(yàn)證裝置有效地進(jìn)行登記、注冊(cè)和驗(yàn)證的系統(tǒng)和方法);序列號(hào)13/730,780,名稱為“systemandmethodforprocessingrandomchallengeswithinanauthenticationframework”(用于在驗(yàn)證框架內(nèi)處理隨機(jī)質(zhì)詢的系統(tǒng)和方法);序列號(hào)13/730,791,名稱為“systemandmethodforimplementingprivacyclasseswithinanauthenticationframework”(用于在驗(yàn)證框架內(nèi)實(shí)施隱私類別的系統(tǒng)和方法);序列號(hào)13/730,795,名稱為“systemandmethodforimplementingtransactionsignalingwithinanauthenticationframework”(用于在驗(yàn)證框架內(nèi)實(shí)施交易信令的系統(tǒng)和方法);以及序列號(hào)14/218,504,名稱為“advancedauthenticationtechniquesandapplications”(高級(jí)驗(yàn)證技術(shù)和應(yīng)用)(下文中稱為“‘504申請(qǐng)”)。在本文中有時(shí)將這些申請(qǐng)稱為(“共同未決的申請(qǐng)”)。
簡(jiǎn)單地講,在這些共同未決的申請(qǐng)描述的驗(yàn)證技術(shù)中,用戶向客戶端裝置上的驗(yàn)證裝置(或驗(yàn)證器)諸如生物計(jì)量裝置(例如,指紋傳感器)登記。當(dāng)用戶向生物計(jì)量裝置登記時(shí),(例如,通過輕掃手指、拍攝照片、記錄語(yǔ)音等)捕捉生物計(jì)量參考數(shù)據(jù)。用戶可隨后經(jīng)由網(wǎng)絡(luò)向一個(gè)或多個(gè)服務(wù)器(例如,配備有安全交易/驗(yàn)證服務(wù)的網(wǎng)站或其他依賴方,如共同未決的申請(qǐng)中所述)注冊(cè)/預(yù)置驗(yàn)證裝置;并且隨后使用在注冊(cè)過程中交換的數(shù)據(jù)(例如,預(yù)置到驗(yàn)證裝置中的密鑰)向那些服務(wù)器驗(yàn)證。一旦通過驗(yàn)證,用戶便獲許與網(wǎng)站或其他依賴方執(zhí)行一個(gè)或多個(gè)在線交易。在共同未決的申請(qǐng)所描述的框架中,敏感信息(諸如指紋數(shù)據(jù)和可用于唯一地標(biāo)識(shí)用戶的其他數(shù)據(jù))可本地保持在用戶的驗(yàn)證裝置上,以保護(hù)用戶的隱私。
‘504申請(qǐng)描述了多種額外的技術(shù),包括以下技術(shù):設(shè)計(jì)復(fù)合驗(yàn)證器、智能地生成驗(yàn)證保證等級(jí)、使用非侵入式用戶核驗(yàn)、將驗(yàn)證數(shù)據(jù)傳送到新的驗(yàn)證裝置、用客戶端風(fēng)險(xiǎn)數(shù)據(jù)擴(kuò)充驗(yàn)證數(shù)據(jù)、自適應(yīng)地應(yīng)用驗(yàn)證策略,以及創(chuàng)建信任圈等等。
增強(qiáng)依賴方的基于網(wǎng)絡(luò)或其他網(wǎng)絡(luò)使能的應(yīng)用對(duì)在共同未決的申請(qǐng)中所述的遠(yuǎn)程驗(yàn)證技術(shù)的利用通常需要所述應(yīng)用直接與驗(yàn)證服務(wù)器集成。這對(duì)此類驗(yàn)證的采用構(gòu)成障礙,因?yàn)橐蕾嚪綄⑿枰冻雠砀缕鋺?yīng)用以與驗(yàn)證服務(wù)器集成,以便獲得由共同未決的申請(qǐng)中所述的技術(shù)提供的驗(yàn)證靈活性。
在某些情況下,依賴方可能已經(jīng)與聯(lián)合解決方案集成,因此簡(jiǎn)單的集成路徑是簡(jiǎn)單地將在線驗(yàn)證支持集成到聯(lián)合解決方案中。不幸的是,這種方法沒有解決其他傳統(tǒng)系統(tǒng)(諸如vpn、windowskerberos部署)的問題,這些系統(tǒng)缺乏對(duì)聯(lián)合協(xié)議的認(rèn)識(shí)(因此可能被增加了在線驗(yàn)證功能的聯(lián)合服務(wù)器置于前端),或者缺乏足夠的使得能夠直接集成在線驗(yàn)證功能的可擴(kuò)展性。因此,對(duì)于某些依賴方應(yīng)用程序而言,必須解決的關(guān)鍵問題是找到一種使它們能夠集成在線驗(yàn)證系統(tǒng)而不需要修改應(yīng)用程序自身的代碼的方式。
附圖說明
可結(jié)合下列附圖從以下具體實(shí)施方式更好地理解本發(fā)明,其中:
圖1a至圖1b示出了安全驗(yàn)證系統(tǒng)架構(gòu)的兩個(gè)不同實(shí)施例;
圖2是示出了可如何將密鑰注冊(cè)到驗(yàn)證裝置中的交易圖;
圖3示出了顯示遠(yuǎn)程驗(yàn)證的交易圖;
圖4示出了用于通過安全套接字層(ssl)虛擬專用網(wǎng)絡(luò)(vpn)網(wǎng)關(guān)將用戶連接到內(nèi)部網(wǎng)絡(luò)的系統(tǒng);
圖5示出了用于在網(wǎng)絡(luò)基礎(chǔ)設(shè)施內(nèi)集成驗(yàn)證服務(wù)器的系統(tǒng)的一個(gè)實(shí)施例;
圖6示出了使用集成在網(wǎng)絡(luò)基礎(chǔ)設(shè)施內(nèi)的驗(yàn)證服務(wù)器執(zhí)行驗(yàn)證的方法的一個(gè)實(shí)施例;
圖7示出了用于在kerberos基礎(chǔ)設(shè)施內(nèi)集成驗(yàn)證服務(wù)器的系統(tǒng)的一個(gè)實(shí)施例;
圖8示出了使用集成在kerberos基礎(chǔ)設(shè)施內(nèi)的驗(yàn)證服務(wù)器執(zhí)行認(rèn)證的方法的一個(gè)實(shí)施例;
圖9示出了用于服務(wù)器和/或客戶端的計(jì)算機(jī)架構(gòu)的一個(gè)實(shí)施例;以及
圖10示出了用于服務(wù)器和/或客戶端的計(jì)算機(jī)架構(gòu)的一個(gè)實(shí)施例。
具體實(shí)施方式
下文描述用于實(shí)施高級(jí)驗(yàn)證技術(shù)及相關(guān)聯(lián)應(yīng)用的設(shè)備、方法和機(jī)器可讀介質(zhì)的實(shí)施例。在整個(gè)描述中,出于解釋的目的,本文陳述了許多特定細(xì)節(jié)以便透徹理解本發(fā)明。然而,本領(lǐng)域的技術(shù)人員將容易明白,可在沒有這些特定細(xì)節(jié)中的一些的情況下實(shí)踐本發(fā)明。在其他情況下,為免模糊本發(fā)明的基本原理,已熟知的結(jié)構(gòu)和裝置未示出或以框圖形式示出。
下文論述的本發(fā)明的實(shí)施例涉及具有用戶核實(shí)功能(諸如生物計(jì)量形式或pin輸入)的驗(yàn)證裝置。這些裝置在本文中有時(shí)稱為“令牌”、“驗(yàn)證裝置”或“驗(yàn)證器”。盡管某些實(shí)施例注重于面部識(shí)別硬件/軟件(例如,用于識(shí)別用戶面部并且跟蹤用戶的眼球運(yùn)動(dòng)的相機(jī)和相關(guān)聯(lián)軟件),但有些實(shí)施例可利用額外的生物計(jì)量裝置,包括(例如)指紋傳感器、聲音識(shí)別硬件/軟件(例如,用于識(shí)別用戶聲音的麥克風(fēng)和相關(guān)聯(lián)軟件)以及光學(xué)識(shí)別能力(例如,用于掃描用戶視網(wǎng)膜的光學(xué)掃描器和相關(guān)聯(lián)軟件)。用戶驗(yàn)證功能還可包括非生物計(jì)量形式,如pin輸入。驗(yàn)證器可使用裝置,如可信平臺(tái)模塊(tpm)、智能卡和安全元件,來進(jìn)行密碼操作與密鑰存儲(chǔ)。
在移動(dòng)式生物計(jì)量的具體實(shí)施中,生物計(jì)量裝置可遠(yuǎn)程于依賴方。如本文所用,術(shù)語(yǔ)“遠(yuǎn)程”意味著生物計(jì)量傳感器不是其以通信方式耦接到的計(jì)算機(jī)的安全邊界的一部分(例如,生物計(jì)量傳感器未嵌入到與依賴方計(jì)算機(jī)相同的物理外殼中)。舉例來說,生物計(jì)量裝置可經(jīng)由網(wǎng)絡(luò)(例如,因特網(wǎng)、無線網(wǎng)絡(luò)鏈路等)或經(jīng)由外圍輸入(諸如usb端口)耦接到依賴方。在這些條件下,依賴方可能無法知道裝置是否為得到依賴方授權(quán)的裝置(例如,提供可接受等級(jí)的驗(yàn)證強(qiáng)度和完整性保護(hù)的裝置)以及/或者黑客是否已經(jīng)危及或甚至已經(jīng)替換了生物計(jì)量裝置。生物計(jì)量裝置的置信度取決于裝置的特定實(shí)施。
本文中使用的術(shù)語(yǔ)“本地”指的是用戶正親自在特定位置處(諸如在自動(dòng)取款機(jī)(atm)或銷售點(diǎn)(pos)零售結(jié)賬處)進(jìn)行交易的事實(shí)。然而,如下文所論述,用于驗(yàn)證用戶的驗(yàn)證技術(shù)可能涉及非位置組件,諸如經(jīng)由網(wǎng)絡(luò)與遠(yuǎn)程服務(wù)器和/或其他數(shù)據(jù)處理裝置的通信。此外,盡管本文中描述了特定實(shí)施例(諸如atm和零售點(diǎn)),但應(yīng)該指出的是,可在由最終用戶在其內(nèi)本地發(fā)起交易的任何系統(tǒng)的環(huán)境中實(shí)施本發(fā)明的基本原理。
本文中有時(shí)使用術(shù)語(yǔ)“依賴方”來不僅指嘗試與之進(jìn)行用戶交易的實(shí)體(例如,執(zhí)行用戶交易的網(wǎng)站或在線服務(wù)),也指安全交易服務(wù)器(有時(shí)稱為代表那個(gè)實(shí)體實(shí)施的,該實(shí)體可執(zhí)行本文所述的基礎(chǔ)驗(yàn)證技術(shù))。安全交易服務(wù)器可由依賴方擁有并且/或者在依賴方的控制下,或者可在作為商業(yè)安排的一部分向依賴方提供安全交易服務(wù)的第三方的控制下。
本文中使用的術(shù)語(yǔ)“服務(wù)器”指的是在一個(gè)硬件平臺(tái)上(或跨多個(gè)硬件平臺(tái))執(zhí)行的軟件,其經(jīng)由網(wǎng)絡(luò)從客戶端接收請(qǐng)求,然后作為響應(yīng)來執(zhí)行一個(gè)或多個(gè)操作,并且將響應(yīng)傳輸?shù)娇蛻舳?,該響?yīng)通常包括操作的結(jié)果。服務(wù)器對(duì)客戶端請(qǐng)求做出響應(yīng),從而向客戶端提供或幫助向客戶端提供網(wǎng)絡(luò)“服務(wù)”。值得注意的是,服務(wù)器不限于單個(gè)計(jì)算機(jī)(例如,用于執(zhí)行服務(wù)器軟件的單個(gè)硬件裝置),而是實(shí)際上可散布在多個(gè)硬件平臺(tái)上,有可能位于多個(gè)地理位置處。
示例性在線驗(yàn)證架構(gòu)和交易
圖1a至圖1b示出了包括用于注冊(cè)驗(yàn)證裝置(有時(shí)也稱為“預(yù)置”)和驗(yàn)證用戶的客戶端組件和服務(wù)器端組件的系統(tǒng)架構(gòu)的兩個(gè)實(shí)施例。圖1a所示的實(shí)施例使用基于web瀏覽器插件的架構(gòu)來與網(wǎng)站通信,而圖1b所示的實(shí)施例不需要web瀏覽器。本文所述的各種技術(shù)諸如向驗(yàn)證裝置登記用戶、向安全服務(wù)器注冊(cè)驗(yàn)證裝置和核驗(yàn)用戶可在這些系統(tǒng)構(gòu)架中的任一者上實(shí)施。因此,雖然圖1a所示的架構(gòu)用于展示下述若干實(shí)施例的操作,但相同的基本原理可在圖1b所示的系統(tǒng)上容易地實(shí)施(例如,通過刪除瀏覽器插件105,該瀏覽器插件充當(dāng)用于在服務(wù)器130與客戶端上的安全交易服務(wù)101之間通信的中介)。
首先轉(zhuǎn)到圖1a,所示實(shí)施例包括配備有一個(gè)或多個(gè)用于登記和核驗(yàn)最終用戶的驗(yàn)證裝置110至112(這些驗(yàn)證裝置在本領(lǐng)域中有時(shí)稱為驗(yàn)證“令牌”或“驗(yàn)證器”)的客戶端100。如上所述,驗(yàn)證裝置110至112可包括生物計(jì)量裝置,諸如指紋傳感器、聲音識(shí)別硬件/軟件(例如,用于識(shí)別用戶聲音的麥克風(fēng)和相關(guān)聯(lián)軟件)、面部識(shí)別硬件/軟件(例如,用于識(shí)別用戶面部的相機(jī)和相關(guān)聯(lián)軟件)和光學(xué)識(shí)別功能(例如,用于掃描用戶視網(wǎng)膜的光學(xué)掃描器和相關(guān)聯(lián)軟件),并且支持非生物計(jì)量形式(諸如pin核驗(yàn))。驗(yàn)證裝置可使用可信平臺(tái)模塊(tpm)、智能卡或安全元件用于加密操作以及密鑰存儲(chǔ)。
驗(yàn)證裝置110至112通過由安全交易服務(wù)101暴露的接口102(例如,應(yīng)用程序編程接口或api)以通信方式耦接到客戶端。安全交易服務(wù)101是用于經(jīng)由網(wǎng)絡(luò)與一個(gè)或多個(gè)安全交易服務(wù)器132至133通信以及用于與在web瀏覽器104的環(huán)境內(nèi)執(zhí)行的安全交易插件105介接的安全應(yīng)用程序。如圖所示,接口102還可提供對(duì)客戶端100上的安全存儲(chǔ)裝置120的安全訪問,該安全存儲(chǔ)裝置存儲(chǔ)與每個(gè)驗(yàn)證裝置110至112相關(guān)的信息,諸如裝置識(shí)別代碼、用戶識(shí)別代碼、受驗(yàn)證裝置保護(hù)的用戶登記數(shù)據(jù)(例如,所掃描的指紋或其他生物計(jì)量數(shù)據(jù)),以及用于執(zhí)行本文所述安全驗(yàn)證技術(shù)的由驗(yàn)證裝置包封的密鑰。例如,如下文詳細(xì)論述,唯一密鑰可被存儲(chǔ)到每個(gè)驗(yàn)證裝置中并且在經(jīng)由網(wǎng)絡(luò)(諸如因特網(wǎng))與服務(wù)器130通信時(shí)使用。
如下文論述,安全交易插件105支持某些類型的網(wǎng)絡(luò)交易,諸如與網(wǎng)站131或其他服務(wù)器的http或https交易。在一個(gè)實(shí)施例中,響應(yīng)于由安全企業(yè)或web目的地130內(nèi)的網(wǎng)絡(luò)服務(wù)器131(下文中有時(shí)簡(jiǎn)稱為“服務(wù)器130”)插入到網(wǎng)頁(yè)html代碼中的特定html標(biāo)簽來啟動(dòng)安全交易插件。響應(yīng)于檢測(cè)到此類標(biāo)簽,安全交易插件105可將交易轉(zhuǎn)發(fā)到安全交易服務(wù)101以進(jìn)行處理。另外,對(duì)于某些類型的事務(wù)(例如,諸如安全密鑰交換),安全交易服務(wù)101可開啟與當(dāng)?shù)亟灰追?wù)器132(即,與網(wǎng)站位于同一地點(diǎn))或異地交易服務(wù)器133的直接通信信道。
安全交易服務(wù)器132至133耦接到安全交易數(shù)據(jù)庫(kù)120,安全交易數(shù)據(jù)庫(kù)120用于存儲(chǔ)用戶數(shù)據(jù)、驗(yàn)證裝置數(shù)據(jù)、密鑰以及支持下文所述的安全驗(yàn)證交易所需要的其他安全信息。然而,應(yīng)當(dāng)指出的是,本發(fā)明的基本原理不需要分離圖1a所示的安全企業(yè)或web目的地130內(nèi)的邏輯組件。例如,網(wǎng)站131和安全交易服務(wù)器132至133可在單個(gè)物理服務(wù)器或分開的多個(gè)物理服務(wù)器內(nèi)實(shí)施。此外,網(wǎng)站131和交易服務(wù)器132至133可在用于執(zhí)行下文所述的功能的一個(gè)或多個(gè)服務(wù)器上所執(zhí)行的集成軟件模塊內(nèi)實(shí)施。
如上所述,本發(fā)明的基本原理不限于圖1a所示的基于瀏覽器的架構(gòu)。圖1b示出了另選的具體實(shí)施,其中獨(dú)立應(yīng)用程序154利用由安全交易服務(wù)101提供的功能來經(jīng)由網(wǎng)絡(luò)驗(yàn)證用戶。在一個(gè)實(shí)施例中,應(yīng)用程序154被設(shè)計(jì)為建立與一個(gè)或多個(gè)網(wǎng)絡(luò)服務(wù)151的通信會(huì)話,這些網(wǎng)絡(luò)服務(wù)依賴于安全交易服務(wù)器132至133來執(zhí)行下文詳細(xì)描述的用戶/客戶端驗(yàn)證技術(shù)。
在圖1a和圖1b所示的任一個(gè)實(shí)施例中,安全交易服務(wù)器132至133可生成密鑰,這些密鑰接著被安全地傳輸?shù)桨踩灰追?wù)101并存儲(chǔ)到安全存儲(chǔ)裝置120內(nèi)的驗(yàn)證裝置中。另外,安全交易服務(wù)器132至133管理服務(wù)器端上的安全交易數(shù)據(jù)庫(kù)120。
與遠(yuǎn)程注冊(cè)驗(yàn)證裝置并向依賴方進(jìn)行驗(yàn)證相關(guān)的某些基本原理將結(jié)合圖2-圖3進(jìn)行描述,然后詳細(xì)介紹使用安全通信協(xié)議建立信任的本發(fā)明實(shí)施例。
圖2示出了用于在客戶端上注冊(cè)驗(yàn)證裝置(諸如圖1a至圖1b中客戶端100上的裝置110至112)(有時(shí)稱為“預(yù)置”驗(yàn)證裝置)的一系列交易。為了簡(jiǎn)單起見,安全交易服務(wù)101和接口102被組合在一起作為驗(yàn)證客戶端201,包括安全交易服務(wù)器132至133的安全企業(yè)或web目的地130被表示為依賴方202。
在注冊(cè)驗(yàn)證器(例如,指紋驗(yàn)證器、語(yǔ)音驗(yàn)證器等)期間,在驗(yàn)證客戶端201和依賴方202之間共享與驗(yàn)證器相關(guān)聯(lián)的密鑰?;仡檲D1a至圖1b,密鑰存儲(chǔ)在客戶端100的安全存儲(chǔ)裝置120和由安全交易服務(wù)器132至133使用的安全交易數(shù)據(jù)庫(kù)120內(nèi)。在一個(gè)實(shí)施例中,密鑰是由安全交易服務(wù)器132至133中的一個(gè)生成的對(duì)稱密鑰。然而,在下文論述的另一個(gè)實(shí)施例中,使用了不對(duì)稱密鑰。在該實(shí)施例中,可以由安全交易服務(wù)器132至133生成公共/私有密鑰對(duì)。公共密鑰然后可由安全交易服務(wù)器132至133存儲(chǔ),并且相關(guān)私有密鑰可存儲(chǔ)在客戶端上的安全存儲(chǔ)裝置120中。在一個(gè)另選的實(shí)施例中,密鑰可在客戶端100上生成(例如,由驗(yàn)證裝置或驗(yàn)證裝置接口而不是安全交易服務(wù)器132至133生成)。本發(fā)明的基本原理不限于任何特定類型的密鑰或生成密鑰的方式。
在一個(gè)實(shí)施例中采用一種安全密鑰預(yù)置協(xié)議以通過安全通信信道與客戶端共享密鑰。密鑰預(yù)置協(xié)議的一個(gè)示例是動(dòng)態(tài)對(duì)稱密鑰預(yù)置協(xié)議(dskpp)(例如,參見請(qǐng)求注釋(rfc)6063)。然而,本發(fā)明的基本原理不限于任何特定密鑰預(yù)置協(xié)議。在一個(gè)特定實(shí)施例中,客戶端生成公共/私有密鑰對(duì)并向服務(wù)器發(fā)送公共密鑰,可以利用證明密鑰證明它們。
轉(zhuǎn)到圖2所示的具體細(xì)節(jié),要啟動(dòng)注冊(cè)流程,依賴方202生成隨機(jī)生成的質(zhì)詢(例如,密碼隨機(jī)數(shù)),驗(yàn)證客戶端201必須在裝置注冊(cè)期間呈現(xiàn)此質(zhì)詢。該隨機(jī)質(zhì)詢可在有限時(shí)間段內(nèi)有效。作為響應(yīng),驗(yàn)證客戶端201發(fā)起與依賴方202的帶外安全連接(例如,帶外交易),并使用密鑰預(yù)置協(xié)議(例如,上文提到的dskpp協(xié)議)與依賴方202通信。為了發(fā)起安全連接,驗(yàn)證客戶端201可以向依賴方202返回隨機(jī)質(zhì)詢(可能帶有在隨機(jī)質(zhì)詢上生成的簽名)。此外,驗(yàn)證客戶端201可以傳輸用戶的身份(例如,用戶id或其他代碼)和要預(yù)置注冊(cè)的驗(yàn)證裝置的身份(例如,利用唯一地標(biāo)識(shí)被預(yù)置驗(yàn)證裝置類型的驗(yàn)證證明id(aaid))。
該依賴方利用用戶名或id代碼(例如,在用戶賬戶數(shù)據(jù)庫(kù)中)定位用戶,(例如,使用簽名或簡(jiǎn)單地比較隨機(jī)質(zhì)詢與發(fā)送過的質(zhì)詢)證實(shí)隨機(jī)質(zhì)詢,證實(shí)驗(yàn)證裝置的驗(yàn)證代碼(如果發(fā)送了驗(yàn)證代碼(例如,aaid)),并在安全交易數(shù)據(jù)庫(kù)(例如,圖1a至圖1b中的數(shù)據(jù)庫(kù)120)中為用戶和驗(yàn)證裝置創(chuàng)建新條目。在一個(gè)實(shí)施例中,依賴方維護(hù)其接受驗(yàn)證的驗(yàn)證裝置的數(shù)據(jù)庫(kù)。它可以利用aaid(或其他驗(yàn)證裝置代碼)查詢此數(shù)據(jù)庫(kù)以確定正在預(yù)置的驗(yàn)證裝置是否可接受進(jìn)行驗(yàn)證。如果是,那么它將繼續(xù)進(jìn)行注冊(cè)過程。
在一個(gè)實(shí)施例中,依賴方202為被預(yù)置的每個(gè)驗(yàn)證裝置生成驗(yàn)證密鑰。它向安全數(shù)據(jù)庫(kù)寫入密鑰,并利用密鑰預(yù)置協(xié)議向驗(yàn)證客戶端201發(fā)回密鑰。一旦完成,驗(yàn)證裝置與依賴方202便在使用對(duì)稱密鑰的情況下共享相同密鑰,或者在使用不對(duì)稱密鑰的情況下共享不同密鑰。例如,如果使用不對(duì)稱密鑰,那么依賴方202可以存儲(chǔ)公共密鑰并向驗(yàn)證客戶端201提供私有密鑰。在從依賴方202接收私有密鑰時(shí),驗(yàn)證客戶端201向驗(yàn)證裝置中預(yù)置密鑰(在與驗(yàn)證裝置相關(guān)聯(lián)的安全存儲(chǔ)裝置之內(nèi)存儲(chǔ)密鑰)。然后它可以在驗(yàn)證用戶期間使用該密鑰(如下所述)。在一個(gè)另選的實(shí)施例中,密鑰由驗(yàn)證客戶端201生成并使用密鑰預(yù)置協(xié)議向依賴方202提供密鑰。在任一種情況下,一旦完成預(yù)置,驗(yàn)證客戶端201和依賴方202均具有密鑰,且驗(yàn)證客戶端201通知依賴方已完成。
圖3示出了用于向預(yù)置的驗(yàn)證裝置驗(yàn)證用戶的一系列交易。一旦完成裝置注冊(cè)(如圖2中所述),依賴方202將接受由客戶端上的本地驗(yàn)證裝置生成的驗(yàn)證響應(yīng)(有時(shí)稱為“令牌”)作為有效的驗(yàn)證響應(yīng)。
轉(zhuǎn)向圖3中所示的具體細(xì)節(jié),響應(yīng)于用戶發(fā)起與依賴方202的需要驗(yàn)證的交易(例如,發(fā)起從依賴方網(wǎng)站進(jìn)行支付,訪問私有用戶賬戶數(shù)據(jù)等),依賴方202生成包括隨機(jī)質(zhì)詢(例如,密碼隨機(jī)數(shù))的驗(yàn)證請(qǐng)求。在一個(gè)實(shí)施例中,隨機(jī)質(zhì)詢具有與其關(guān)聯(lián)的時(shí)間限制(例如,它在指定的一段時(shí)間內(nèi)是有效的)。依賴方還可以標(biāo)識(shí)要由驗(yàn)證客戶端201用于驗(yàn)證的驗(yàn)證器。如上所述,依賴方可以預(yù)置客戶端上可用的每個(gè)驗(yàn)證裝置并為每個(gè)預(yù)置的驗(yàn)證器存儲(chǔ)公共密鑰。因此,它可以使用驗(yàn)證器的公共密鑰或可以使用驗(yàn)證器id(例如,aaid)來標(biāo)識(shí)要使用的驗(yàn)證器?;蛘?,它可以為客戶端提供驗(yàn)證選項(xiàng)的列表,用戶可以從該列表進(jìn)行選擇。
響應(yīng)于接收到驗(yàn)證請(qǐng)求,可以為用戶呈現(xiàn)請(qǐng)求驗(yàn)證的圖形用戶界面(gui)(例如,形式為驗(yàn)證應(yīng)用/應(yīng)用的網(wǎng)頁(yè)或gui)。用戶然后進(jìn)行驗(yàn)證(例如,在指紋讀取器上輕掃手指等)。作為響應(yīng),驗(yàn)證客戶端201生成驗(yàn)證響應(yīng),該驗(yàn)證響應(yīng)包含隨機(jī)質(zhì)詢上的簽名,帶有與驗(yàn)證器相關(guān)聯(lián)的私有密鑰。它還可以包括其他相關(guān)數(shù)據(jù),例如,驗(yàn)證響應(yīng)中的用戶id代碼。
在接收驗(yàn)證響應(yīng)時(shí),依賴方可以證實(shí)隨機(jī)質(zhì)詢上的簽名(例如,使用與驗(yàn)證器相關(guān)聯(lián)的公共密鑰)并確認(rèn)用戶的身份。一旦完成驗(yàn)證,用戶便獲許進(jìn)入與依賴方的安全交易,如圖所示。
可以使用安全通信協(xié)議,例如傳輸層安全(tls)或安全套接字層(ssl)在依賴方201和驗(yàn)證客戶端202之間建立用于圖2至圖3所示的任何或所有交易的安全連接。
用于集成驗(yàn)證服務(wù)與網(wǎng)絡(luò)架構(gòu)的系統(tǒng)和方法
許多傳統(tǒng)系統(tǒng)可以支持除用戶名和密碼之外的驗(yàn)證方法。例如,安全套接字層(ssl)虛擬專用網(wǎng)絡(luò)(vpn)系統(tǒng)支持使用一次性密碼(otp)。諸如kerberos的系統(tǒng)允許用戶使用數(shù)字證書對(duì)網(wǎng)絡(luò)或服務(wù)進(jìn)行驗(yàn)證。
本文所述的本發(fā)明實(shí)施例利用這些特征對(duì)在線驗(yàn)證服務(wù)和此類傳統(tǒng)系統(tǒng)進(jìn)行集成,而不需要對(duì)傳統(tǒng)系統(tǒng)本身進(jìn)行任何改變(除了配置改變之外)。
為了增強(qiáng)安全套接字層(ssl)虛擬專用網(wǎng)絡(luò)(vpn)的安全性,企業(yè)部署基于otp方法的第二因素驗(yàn)證解決方案。諸如rsasecurid或oath之類的解決方案要求用戶攜帶otp生成器,并且結(jié)合用戶名和密碼輸入由該生成器生成的otp以向vpn進(jìn)行驗(yàn)證。
圖4示出了被配置為與sslvpn網(wǎng)關(guān)415組合操作的otp查驗(yàn)服務(wù)器425。在操作中,用戶打開web瀏覽器410并導(dǎo)航到sslvpn網(wǎng)關(guān)415,sslvpn網(wǎng)關(guān)415呈現(xiàn)包含用戶id字段412和密碼字段413的基于html的登錄表單411。用戶可以在uid字段412中輸入用戶id,并且在密碼字段413中輸入otp(單獨(dú)或者附加到用戶的靜態(tài)密碼)。在通過html表單411輸入用戶名和密碼之后,用戶將結(jié)果提交到sslvpn網(wǎng)關(guān)415。
sslvpn網(wǎng)關(guān)415針對(duì)用戶存儲(chǔ)420查驗(yàn)用戶名和密碼(例如,驗(yàn)證用戶名存在并且輸入正確的密碼),并且通過將用戶輸入的otp提供給otp查驗(yàn)服務(wù)器425來查驗(yàn)otp。如果otp查驗(yàn)服務(wù)器425提供肯定的應(yīng)答,查驗(yàn)otp,sslvpn網(wǎng)關(guān)415授予用戶對(duì)受保護(hù)的內(nèi)部網(wǎng)絡(luò)430的訪問。
如上所述,在上述例子中,sslvpn網(wǎng)關(guān)415可以呈現(xiàn)單獨(dú)的表單元素以啟用otp的輸入,而在其他情況下,sslvpn網(wǎng)關(guān)415可以僅依賴于用戶將其otp附加到表單的密碼字段中的密碼。此外,如果用戶存儲(chǔ)420查驗(yàn)不接受主用戶名和密碼,則sslvpn網(wǎng)關(guān)415可以立即拒絕訪問。sslvpn網(wǎng)關(guān)415和otp查驗(yàn)服務(wù)器425之間的通信可以由sslvpn網(wǎng)關(guān)供應(yīng)商或otp查驗(yàn)服務(wù)器供應(yīng)商提供的插件來促進(jìn)。然而,大多數(shù)sslvpn網(wǎng)關(guān)支持遠(yuǎn)程驗(yàn)證撥入用戶服務(wù)(radius;參見rfc2865)集成。因此,otp解決方案提供的radius支持避免了otp服務(wù)器提供商開發(fā)sslvpn網(wǎng)關(guān)指定連接器的需要。
如圖5所示,本發(fā)明的一個(gè)實(shí)施例依賴于sslvpn網(wǎng)關(guān)515的現(xiàn)有特征,以在不改變網(wǎng)絡(luò)基礎(chǔ)設(shè)施的情況下集成在線驗(yàn)證技術(shù)(例如,諸如上文關(guān)于圖1a-圖1b和圖3所述的那些技術(shù))。如圖所示,該實(shí)施例包括可能以與上述otp查驗(yàn)服務(wù)器425相同(或相似)的方式通信地耦接到sslvpn網(wǎng)關(guān)515的驗(yàn)證服務(wù)器202。驗(yàn)證服務(wù)器202還通過驗(yàn)證客戶端201通信地耦接到客戶端裝置510,以使用一個(gè)或多個(gè)驗(yàn)證裝置110-112(例如,指紋驗(yàn)證器、語(yǔ)音驗(yàn)證器、視網(wǎng)膜掃描驗(yàn)證器等)驗(yàn)證用戶。雖然驗(yàn)證服務(wù)器202經(jīng)由圖5中的瀏覽器耦接到驗(yàn)證客戶端201(例如,以與圖1a中所示的實(shí)施例類似的方式),但是本發(fā)明的基本原理不限于基于瀏覽器的實(shí)施。
在一個(gè)實(shí)施例中,sslvpn網(wǎng)關(guān)515、瀏覽器510和驗(yàn)證服務(wù)器202之間的交互如下。用戶打開web瀏覽器510并導(dǎo)航到sslvpn網(wǎng)關(guān)515,sslvpn網(wǎng)關(guān)515呈現(xiàn)包含諸如javascript的瀏覽器可執(zhí)行代碼512的網(wǎng)頁(yè)511。在一個(gè)實(shí)施例中,瀏覽器可執(zhí)行代碼512通過與驗(yàn)證服務(wù)器202建立通信信道并觸發(fā)驗(yàn)證客戶端201驗(yàn)證用戶來觸發(fā)驗(yàn)證。在一個(gè)實(shí)施例中,驗(yàn)證服務(wù)器202和客戶端201進(jìn)入一系列驗(yàn)證交易,諸如上文參照?qǐng)D3所述的那些。例如,驗(yàn)證服務(wù)器202可以生成包括隨機(jī)質(zhì)詢(例如,密碼隨機(jī)數(shù))的驗(yàn)證請(qǐng)求,并且可以(或可以不)識(shí)別要由驗(yàn)證客戶端201用于驗(yàn)證的驗(yàn)證器110-112。響應(yīng)于接收到驗(yàn)證請(qǐng)求,可以為用戶呈現(xiàn)請(qǐng)求驗(yàn)證的圖形用戶界面(gui)(例如,形式為驗(yàn)證應(yīng)用/應(yīng)用的網(wǎng)頁(yè)或gui)。用戶然后進(jìn)行驗(yàn)證(例如,在指紋讀取器上輕掃手指等)。作為響應(yīng),驗(yàn)證客戶端201生成驗(yàn)證響應(yīng),該驗(yàn)證響應(yīng)包含隨機(jī)質(zhì)詢上的簽名,帶有與驗(yàn)證器相關(guān)聯(lián)的私有密鑰。它還可以包括其他相關(guān)數(shù)據(jù),例如,驗(yàn)證響應(yīng)中的用戶id代碼。在接收驗(yàn)證響應(yīng)時(shí),驗(yàn)證服務(wù)器202查驗(yàn)隨機(jī)質(zhì)詢上的簽名(例如,使用與驗(yàn)證器相關(guān)聯(lián)的公共密鑰)并確認(rèn)用戶的身份。在一個(gè)實(shí)施例中,javascript或其他瀏覽器可執(zhí)行代碼512在驗(yàn)證服務(wù)器202和驗(yàn)證客戶端201之間傳遞上述驗(yàn)證消息。
在一個(gè)實(shí)施例中,響應(yīng)于成功驗(yàn)證,驗(yàn)證服務(wù)器202生成密碼數(shù)據(jù)結(jié)構(gòu)并將其傳遞到瀏覽器510,該密碼數(shù)據(jù)結(jié)構(gòu)在本文中被稱為“票據(jù)”。在一個(gè)實(shí)施例中,票據(jù)包括能夠經(jīng)由html表單511的字段提交到sslvpn網(wǎng)關(guān)515的隨機(jī)的數(shù)字串或其他形式的一次性密碼(otp)。例如,如上所述,可以在用于票據(jù)的html表單511中定義單獨(dú)的字段,或者可以將票據(jù)附加到用戶的靜態(tài)密碼的末端。不管如何輸入票據(jù),在一個(gè)實(shí)施例中,javascript或其他瀏覽器可執(zhí)行代碼512將票據(jù)提交到sslvpn網(wǎng)關(guān)515。一旦接收到,sslvpn網(wǎng)關(guān)515通過與驗(yàn)證服務(wù)器202的通信查驗(yàn)票據(jù)(例如,向驗(yàn)證服務(wù)器提供票據(jù)并接收指示票據(jù)有效的通信)。例如,在從sslvpn網(wǎng)關(guān)515接收到票據(jù)和其他用戶數(shù)據(jù)(例如,用戶id或其他形式的標(biāo)識(shí)符)時(shí),驗(yàn)證服務(wù)器202可以將票據(jù)與提供給瀏覽器510的票據(jù)進(jìn)行比較。如果票據(jù)匹配,則驗(yàn)證服務(wù)器202向sslvpn網(wǎng)關(guān)515發(fā)送“驗(yàn)證成功”消息。如果票據(jù)不匹配,則驗(yàn)證服務(wù)器向sslvpn網(wǎng)關(guān)515發(fā)送“驗(yàn)證失敗”消息。在一個(gè)實(shí)施例中,sslvpn網(wǎng)關(guān)515使用radius(盡管本發(fā)明的基本原理不限于任何特定協(xié)議)對(duì)照驗(yàn)證服務(wù)器202查驗(yàn)票據(jù)。一旦驗(yàn)證,sslvpn網(wǎng)關(guān)515授予用戶對(duì)受保護(hù)的內(nèi)部網(wǎng)絡(luò)530的訪問。
重要的是,sslvpn網(wǎng)關(guān)515和驗(yàn)證服務(wù)器202之間的交易可以以與由otp查驗(yàn)服務(wù)器425提供的成功/失敗消息相同的方式(例如,使用相同的協(xié)議和數(shù)據(jù)字段)來實(shí)施。因此,sslvpn網(wǎng)關(guān)515無需被重新配置就可以實(shí)施本文所述的本發(fā)明實(shí)施例,從而簡(jiǎn)化了實(shí)施并減少了與之相關(guān)聯(lián)的時(shí)間和費(fèi)用。
在上述方法中,sslvpn登錄頁(yè)面511可以被定制為包括自定義javascript或其他瀏覽器可執(zhí)行代碼512,以觸發(fā)驗(yàn)證。當(dāng)然,可以在用戶沒有安裝驗(yàn)證客戶端201的情況下實(shí)施替代實(shí)施例。
另外,通過javascript或其他瀏覽器可執(zhí)行代碼512與sslvpn網(wǎng)關(guān)515的通信可以通過用戶通常用于向sslvpn網(wǎng)關(guān)515驗(yàn)證的相同html表單511來促進(jìn)。目標(biāo)將是使用默認(rèn)sslvpn的html表單511中的現(xiàn)有密碼或otp字段來傳遞由javascript或其他可執(zhí)行代碼獲得的票據(jù)(再一次,簡(jiǎn)化和減少與實(shí)施上述技術(shù)相關(guān)聯(lián)的時(shí)間和費(fèi)用)。
因?yàn)檫@些技術(shù)解決了針對(duì)大量vpn解決方案的良好限定的問題而無需開發(fā)vpn專用集成,所以實(shí)現(xiàn)這種集成將需要相對(duì)少的努力,并且允許驗(yàn)證服務(wù)提供商(即,管理驗(yàn)證服務(wù)器202和客戶端201的實(shí)體)提供用于遞送安全遠(yuǎn)程訪問的打包解決方案。
圖6中示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法。該方法可在圖5中所示架構(gòu)的環(huán)境內(nèi)實(shí)施,但不限于任何特定系統(tǒng)架構(gòu)。
在601處,用戶打開瀏覽器并導(dǎo)航到sslvpn網(wǎng)關(guān)。在602處,sslvpn網(wǎng)關(guān)呈現(xiàn)包含瀏覽器可執(zhí)行代碼的頁(yè)面,以在客戶端上觸發(fā)驗(yàn)證。在603處,瀏覽器可執(zhí)行代碼建立與驗(yàn)證服務(wù)器的連接,以觸發(fā)用戶的驗(yàn)證。在604處,瀏覽器可執(zhí)行代碼在驗(yàn)證客戶端與驗(yàn)證服務(wù)器之間交換消息以驗(yàn)證用戶(參見例如上文關(guān)于圖1a-圖1b、圖3和圖5的描述)。一旦驗(yàn)證,驗(yàn)證服務(wù)器返回票據(jù)。
在605處,瀏覽器可執(zhí)行代碼向sslvpn網(wǎng)關(guān)提交票據(jù),并且在606處,sslvpn網(wǎng)關(guān)針對(duì)驗(yàn)證服務(wù)器查驗(yàn)票據(jù)。如上所述,這可以涉及驗(yàn)證服務(wù)器將票據(jù)與在操作604中返回的票據(jù)進(jìn)行比較,以確認(rèn)票據(jù)的有效性(例如,經(jīng)由radius)。在607處,一旦票據(jù)有效,sslvpn網(wǎng)關(guān)授予用戶對(duì)受保護(hù)的內(nèi)部網(wǎng)絡(luò)的訪問。
在傳統(tǒng)系統(tǒng)接受使用數(shù)字證書進(jìn)行驗(yàn)證的情況下,可以采用與傳統(tǒng)系統(tǒng)集成的替代方法。這些解決方案(諸如vpn或使用kerberos的windowsactivedirectory)通常涉及用客戶端組件來執(zhí)行證書驗(yàn)證。
不同于上文概述的集成方法,其中客戶端上的集成主要是基于瀏覽器的(例如,使用javascript),在該實(shí)施例中,驗(yàn)證客戶端201的元件被集成到傳統(tǒng)解決方案的客戶端軟件中以實(shí)現(xiàn)集成;然而,如前所述,不需要服務(wù)器端集成。
在圖7所示的具體實(shí)施例中,驗(yàn)證客戶端201配備有用于管理簽署的證書的憑據(jù)提供程序組件711,其用于經(jīng)由kerberos基礎(chǔ)設(shè)施730獲得對(duì)網(wǎng)絡(luò)資源的訪問。例如,在一個(gè)實(shí)施例中,可以使用憑據(jù)提供程序組件730經(jīng)由憑據(jù)提供程序框架將驗(yàn)證客戶端201集成到
該實(shí)施例還依賴于驗(yàn)證服務(wù)器725與驗(yàn)證客戶端201之間的通信,驗(yàn)證客戶端201進(jìn)入一系列驗(yàn)證交易以驗(yàn)證最終用戶(例如,如上文關(guān)于圖1b和圖3所述)。在一個(gè)實(shí)施例中,activedirectory735和kerberos基礎(chǔ)設(shè)施730被配置為信任由驗(yàn)證服務(wù)器725保持的根證書。一旦用戶被驗(yàn)證,驗(yàn)證服務(wù)器725發(fā)出包括密碼公共/私有密鑰對(duì)的短期證書,其使用由驗(yàn)證服務(wù)器725保持的根證書來簽署(例如,用根證書的私有密鑰簽署短期證書)。具體地講,在一個(gè)實(shí)施例中,短期證書的公共密鑰用根證書的私有密鑰簽署。除了密鑰對(duì)之外,短期證書還可以包括指示短期證書有效時(shí)間長(zhǎng)度(例如,5分鐘、1小時(shí)等)的時(shí)間戳/超時(shí)數(shù)據(jù)。
在一個(gè)實(shí)施例中,一旦憑據(jù)提供程序711從驗(yàn)證服務(wù)器接收到簽名的短期證書,它就與涉及短期證書的kerberos基礎(chǔ)設(shè)施730進(jìn)入質(zhì)詢響應(yīng)交易。具體地講,kerberos基礎(chǔ)設(shè)施向憑據(jù)提供程序711發(fā)送質(zhì)詢(例如,諸如隨機(jī)數(shù)的隨機(jī)數(shù)據(jù)),然后憑據(jù)提供程序711使用短期證書的私有密鑰來簽署質(zhì)詢。然后它將短期證書發(fā)送到kerberos基礎(chǔ)設(shè)施,其(1)使用由驗(yàn)證服務(wù)器725(其已被配置為信任)提供的根證書的公共密鑰來查驗(yàn)短期證書上的簽名;并(2)使用來自短期證書的公共密鑰來查驗(yàn)質(zhì)詢上的簽名。如果兩個(gè)簽名均有效,則kerberos基礎(chǔ)設(shè)施向憑據(jù)提供程序711發(fā)出kerberos票據(jù),然后它可以用來獲得對(duì)由kerberos基礎(chǔ)設(shè)施管理的網(wǎng)絡(luò)資源(諸如文件服務(wù)器、電子郵件帳戶等)的訪問。
使用這些技術(shù),可以在不對(duì)現(xiàn)有activedirectory735和kerberos基礎(chǔ)設(shè)施730進(jìn)行顯著修改的情況下集成驗(yàn)證服務(wù)器725和客戶端201。相反,所有需要的是activedirectory735/kerberos基礎(chǔ)設(shè)施被配置為信任由驗(yàn)證服務(wù)器725保持的根證書。
圖8示出了用于將在線驗(yàn)證基礎(chǔ)設(shè)施與傳統(tǒng)系統(tǒng)集成的方法的一個(gè)實(shí)施例。該方法可在圖7中所示架構(gòu)的環(huán)境內(nèi)實(shí)施,但不限于任何特定系統(tǒng)架構(gòu)。
在801處,用戶打開諸如windows裝置的裝置并嘗試登錄。在802處,觸發(fā)驗(yàn)證客戶端,以驗(yàn)證用戶。作為響應(yīng),驗(yàn)證客戶端使用驗(yàn)證服務(wù)器執(zhí)行在線驗(yàn)證。例如,如上所述,驗(yàn)證客戶端可能利用服務(wù)器已經(jīng)預(yù)先注冊(cè)了一個(gè)或多個(gè)驗(yàn)證裝置(例如,指紋驗(yàn)證裝置、語(yǔ)音驗(yàn)證裝置等)。然后,它可以使用一系列交易(諸如上文關(guān)于圖1a-圖1b和圖3所述的那些)來利用服務(wù)器進(jìn)行驗(yàn)證。例如,驗(yàn)證服務(wù)器可以向驗(yàn)證客戶端發(fā)送具有隨機(jī)質(zhì)詢的驗(yàn)證請(qǐng)求,驗(yàn)證客戶端使用與所使用的驗(yàn)證裝置相關(guān)聯(lián)的私有密鑰來進(jìn)行簽名。然后驗(yàn)證服務(wù)器可以使用公共密鑰來查驗(yàn)簽名。
不管用于驗(yàn)證的具體協(xié)議如何,如果驗(yàn)證成功,則在803處,驗(yàn)證服務(wù)器將短期數(shù)字證書返回至驗(yàn)證客戶端,其使用由驗(yàn)證服務(wù)器維護(hù)的根證書的私有密鑰進(jìn)行簽署。如上所述,根證書受activedirectory/kerberos基礎(chǔ)設(shè)施信任。
在804處,然后驗(yàn)證客戶端使用短期數(shù)字證書向kerberos基礎(chǔ)設(shè)施進(jìn)行驗(yàn)證。例如,kerberos基礎(chǔ)設(shè)施可以向驗(yàn)證客戶端發(fā)送質(zhì)詢(例如,諸如隨機(jī)數(shù)的隨機(jī)數(shù)據(jù)),然后驗(yàn)證客戶端使用短期證書的私有密鑰簽署所述質(zhì)詢。然后它將短期證書發(fā)送到kerberos基礎(chǔ)設(shè)施,其在805處使用由驗(yàn)證服務(wù)器(其已被配置為信任)提供的根證書的公共密鑰來查驗(yàn)短期證書上的簽名;并使用來自短期證書的公共密鑰來查驗(yàn)質(zhì)詢上的簽名。如果兩個(gè)簽名均有效,則kerberos基礎(chǔ)設(shè)施向驗(yàn)證客戶端發(fā)出kerberos票據(jù),然后在806處它可以用來獲得對(duì)由kerberos基礎(chǔ)設(shè)施管理的網(wǎng)絡(luò)資源(諸如文件服務(wù)器、電子郵件帳戶等)的訪問。
最終結(jié)果是使用驗(yàn)證服務(wù)器和驗(yàn)證客戶端的在線驗(yàn)證可以用于傳統(tǒng)系統(tǒng)的前端驗(yàn)證,從而獲得有效在線驗(yàn)證的所有靈活性,而不需要改變后端傳統(tǒng)應(yīng)用基礎(chǔ)設(shè)施。
通過本文所述的本發(fā)明的實(shí)施例實(shí)現(xiàn)了許多有益效果,包括但不限于:
減少初始集成工作:允許依賴方部署在線驗(yàn)證,而無需重新編寫其應(yīng)用程序以并入在線驗(yàn)證功能,或啟用與第三方聯(lián)合服務(wù)器的集成。
簡(jiǎn)化策略管理:這種方法在代碼外部表達(dá)驗(yàn)證策略,這使得組織可輕松地在不需要改變代碼的情況下更新其驗(yàn)證策略。為反映法規(guī)要求的新詮釋或響應(yīng)于對(duì)現(xiàn)有驗(yàn)證機(jī)制的攻擊而做出的變化,變成了策略的簡(jiǎn)單變化并且可快速生效。
能夠在未來進(jìn)行細(xì)化:在有新的驗(yàn)證裝置和機(jī)制可用時(shí),組織可以在解決新的或新出現(xiàn)的風(fēng)險(xiǎn)時(shí)評(píng)估裝置/機(jī)制的適宜性。集成新的可用驗(yàn)證裝置僅需要將裝置添加到策略;無需編寫新代碼就可以立即部署新功能,甚至是傳統(tǒng)應(yīng)用程序。
降低直接令牌成本:傳統(tǒng)otp方法依賴于以每個(gè)用戶為基礎(chǔ)趨向于相對(duì)昂貴的物理硬件令牌(盡管它們變得越來越便宜),并且具有丟失/損壞替換成本的問題。本文所述的在線驗(yàn)證方法可以通過利用在終端用戶裝置上已經(jīng)可用的能力來顯著地降低部署成本,消除為每個(gè)終端用戶獲取專用驗(yàn)證硬件的成本。
間接部署成本:otp方法通常需要it管理員向otp驗(yàn)證服務(wù)器提供最終用戶的令牌;基于軟件的桌面otp生成器在初始部署期間仍然需要幫助臺(tái)干預(yù)。在線驗(yàn)證方法可以通過利用在最終用戶的裝置上已經(jīng)可用的能力以及提供用于部署的自助服務(wù)注冊(cè)模型來顯著地降低部署成本。
改善最終用戶體驗(yàn):otp方法不僅需要用戶攜帶他們的otp發(fā)生器(其中許多人忘記,這導(dǎo)致需要額外的幫助臺(tái)成本才能進(jìn)行臨時(shí)訪問),而且還要手動(dòng)地將otp輸入到應(yīng)用程序中。fido方法可以通過用更簡(jiǎn)單的東西替換用戶名/密碼和otp條目來顯著減少驗(yàn)證對(duì)最終用戶的影響,例如在指紋傳感器上滑動(dòng)手指。
示例性數(shù)據(jù)處理裝置
圖9是示出可在本發(fā)明的一些實(shí)施例中使用的示例性客戶端和服務(wù)器的框圖。應(yīng)當(dāng)理解,盡管圖9示出計(jì)算機(jī)系統(tǒng)的各種組件,但其并非意圖表示互連組件的任何特定架構(gòu)或方式,因?yàn)榇祟惣?xì)節(jié)與本發(fā)明并不密切相關(guān)。應(yīng)當(dāng)理解,具有更少組件或更多組件的其他計(jì)算機(jī)系統(tǒng)也可與本發(fā)明一起使用。
如圖9所示,計(jì)算機(jī)系統(tǒng)900,其為一種形式的數(shù)據(jù)處理系統(tǒng),包括總線950,該總線與處理系統(tǒng)920、電源925、存儲(chǔ)器930和非易失性存儲(chǔ)器940(例如,硬盤驅(qū)動(dòng)器、快閃存儲(chǔ)器、相變存儲(chǔ)器(pcm)等)耦接??偩€950可通過如本領(lǐng)域中熟知的各種橋接器、控制器和/或適配器來彼此連接。處理系統(tǒng)920可從存儲(chǔ)器930和/或非易失性存儲(chǔ)器940檢索指令,并執(zhí)行這些指令以執(zhí)行如上所述的操作??偩€950將以上組件互連在一起,并且還將那些組件互連到可選底座960、顯示控制器與顯示裝置990、輸入/輸出裝置980(例如,nic(網(wǎng)絡(luò)接口卡)、光標(biāo)控件(例如,鼠標(biāo)、觸摸屏、觸摸板等)、鍵盤等)和可選無線收發(fā)器990(例如,藍(lán)牙、wifi、紅外等)。
圖10是示出可在本發(fā)明的一些實(shí)施例中使用的示例性數(shù)據(jù)處理系統(tǒng)的框圖。例如,數(shù)據(jù)處理系統(tǒng)1000可為手持式計(jì)算機(jī)、個(gè)人數(shù)字助理(pda)、移動(dòng)電話、便攜式游戲系統(tǒng)、便攜式媒體播放器、平板計(jì)算機(jī)或手持式計(jì)算裝置(其可包括移動(dòng)電話、媒體播放器和/或游戲系統(tǒng))。又如,數(shù)據(jù)處理系統(tǒng)1000可為網(wǎng)絡(luò)計(jì)算機(jī)或在另一個(gè)裝置內(nèi)的嵌入式處理裝置。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,數(shù)據(jù)處理系統(tǒng)1000的示例性架構(gòu)可用于上文所述的移動(dòng)裝置。數(shù)據(jù)處理系統(tǒng)1000包括處理系統(tǒng)1020,其可包括一個(gè)或多個(gè)微處理器和/或集成電路上的系統(tǒng)。處理系統(tǒng)1020與存儲(chǔ)器1010、電源1025(其包括一個(gè)或多個(gè)電池)、音頻輸入/輸出1040、顯示控制器與顯示裝置1060、可選輸入/輸出1050、輸入裝置1070和無線收發(fā)器1030耦接。應(yīng)當(dāng)理解,在本發(fā)明的某些實(shí)施例中,圖10中未示出的其他組件也可為數(shù)據(jù)處理系統(tǒng)1000的一部分,并且在本發(fā)明的某些實(shí)施例中,可使用比圖10所示更少的組件。另外,應(yīng)當(dāng)理解,圖10中未示出的一個(gè)或多個(gè)總線可用于使如本領(lǐng)域中熟知的各種組件互連。
存儲(chǔ)器1010可存儲(chǔ)數(shù)據(jù)和/或程序以供數(shù)據(jù)處理系統(tǒng)1000執(zhí)行。音頻輸入/輸出1040可包括麥克風(fēng)和/或揚(yáng)聲器以(例如)播放音樂,以及/或者通過揚(yáng)聲器和麥克風(fēng)提供電話功能。顯示控制器與顯示裝置1060可包括圖形用戶界面(gui)。無線(例如,rf)收發(fā)器1030(例如,wifi收發(fā)器、紅外收發(fā)器、藍(lán)牙收發(fā)器、無線蜂窩電話收發(fā)器等)可用于與其他數(shù)據(jù)處理系統(tǒng)通信。所述一個(gè)或多個(gè)輸入裝置1070允許用戶向系統(tǒng)提供輸入。這些輸入裝置可為小鍵盤、鍵盤、觸控面板、多點(diǎn)觸控面板等??蛇x的其他輸入/輸出1050可為底座的連接器。
本發(fā)明的實(shí)施例可包括如上文陳述的各種步驟。這些步驟可體現(xiàn)為致使通用處理器或?qū)S锰幚砥鲌?zhí)行某些步驟的機(jī)器可執(zhí)行指令?;蛘撸@些步驟可由包含用于執(zhí)行這些步驟的硬連線邏輯的特定硬件組件執(zhí)行,或由編程的計(jì)算機(jī)組件和定制硬件組件的任何組合執(zhí)行。
本發(fā)明的元件還可被提供為用于存儲(chǔ)機(jī)器可執(zhí)行程序代碼的機(jī)器可讀介質(zhì)。機(jī)器可讀介質(zhì)可包括但不限于軟盤、光盤、cd-rom和磁光盤、rom、ram、eprom、eeprom、磁卡或光卡、或者適合于存儲(chǔ)電子程序代碼的其他類型的介質(zhì)/機(jī)器可讀介質(zhì)。
在整個(gè)前述描述中,出于解釋的目的,陳述了許多特定細(xì)節(jié)以便透徹理解本發(fā)明。然而,本領(lǐng)域的技術(shù)人員將容易明白,可在沒有這些特定細(xì)節(jié)中的一些的情況下實(shí)踐本發(fā)明。例如,本領(lǐng)域的技術(shù)人員將容易明白,本文所述的功能模塊和方法可被實(shí)施為軟件、硬件或其任何組合。此外,雖然本文在移動(dòng)計(jì)算環(huán)境的情形內(nèi)描述本發(fā)明的一些實(shí)施例,但本發(fā)明的基本原理不限于移動(dòng)計(jì)算具體實(shí)施。在一些實(shí)施例中,可使用幾乎任何類型的客戶端或?qū)Φ葦?shù)據(jù)處理裝置,包括(例如)臺(tái)式計(jì)算機(jī)或工作站計(jì)算機(jī)。因此,應(yīng)依據(jù)所附權(quán)利要求書確定本發(fā)明的范圍和精神。
本發(fā)明的實(shí)施例可包括如上文陳述的各種步驟。這些步驟可體現(xiàn)為致使通用處理器或?qū)S锰幚砥鲌?zhí)行某些步驟的機(jī)器可執(zhí)行指令?;蛘?,這些步驟可由包含用于執(zhí)行這些步驟的硬連線邏輯的特定硬件組件執(zhí)行,或由編程的計(jì)算機(jī)組件和定制硬件組件的任何組合執(zhí)行。