專利名稱:能共同操作的憑證收集和訪問模塊度的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及機(jī)器訪問,尤其涉及使用憑證標(biāo)識并驗(yàn)證實(shí)體、用戶或主體,以登錄到具有操作系統(tǒng)的本地和/遠(yuǎn)程機(jī)器。
背景技術(shù):
在圖1中可看見一個示例性常規(guī)過程100,允許用戶登錄到用于本地機(jī)器的操作系統(tǒng)的驗(yàn)證基礎(chǔ)結(jié)構(gòu)。如這里所使用的,本地機(jī)器是具有操作系統(tǒng)的計算裝置,如個人計算機(jī)、手持式計算機(jī)、厚(thick)客戶機(jī)裝置、薄(thin)客戶機(jī)裝置、個人數(shù)字助理、專家系統(tǒng)等等。驗(yàn)證基礎(chǔ)結(jié)構(gòu)使用憑證驗(yàn)證用戶,以獲取通過其操作系統(tǒng),如由美國華盛頓州雷蒙德市的微軟公司提供的WINDOWS操作系統(tǒng),對計算裝置的訪問。這里,憑證的驗(yàn)證試圖等效于具有對應(yīng)的憑證的用戶、實(shí)體或主體的驗(yàn)證,兩者的詞組和概念可交換地在此處使用。
在過程100的塊102,操作系統(tǒng)執(zhí)行登錄程序。登錄程序能夠?qū)⒖刂妻D(zhuǎn)移到三個(3)不同的驗(yàn)證模塊的僅其中之一。換言之,本地機(jī)器僅能夠具有一個可用以執(zhí)行驗(yàn)證的驗(yàn)證模塊。在WINDOWS操作系統(tǒng)(OS)的情況下,默認(rèn)的驗(yàn)證模塊是圖形標(biāo)識和驗(yàn)證模塊,這里被稱為“GINA”。在WINDOWSOS中,GINA是動態(tài)鏈接庫(*.dll)中的模塊,它實(shí)現(xiàn)用于包括用戶向其輸入用戶名和密碼的登錄對話框的屏幕顯示的登錄用戶界面。存在GINA,借助使用由用戶呈現(xiàn)的憑證通過計算裝置的操作系統(tǒng)驗(yàn)證用戶。用戶的憑證由一組信息表示,它包括標(biāo)識及標(biāo)識的證明,用于獲取對本地和網(wǎng)絡(luò)資源的訪問的標(biāo)識的證明來表示。
憑證的示例是用戶名和密碼、智能卡、生物測定憑證、X.509數(shù)字證書和其它種類的證書。圖1中所看到的GINA104是標(biāo)準(zhǔn)WINDOWSOS模塊,并需要常規(guī)的交互式登錄過程,如通過在用戶界面103提示用戶輸入用戶名和密碼。在執(zhí)行GINA104之后,將控制轉(zhuǎn)到本地安全授權(quán)機(jī)構(gòu)(LSA)模塊106。LSA模塊106訪問本地安全賬號管理器(SAM)數(shù)據(jù)庫108a,其每一個都是用于計算裝置和/或用于相關(guān)環(huán)境的登錄和安全信息的本地存儲。憑證數(shù)據(jù)庫108b可以是本地或遠(yuǎn)程的,能儲存可用于結(jié)合自定義GINA驗(yàn)證用戶的憑證,如指紋、密碼、視網(wǎng)膜信息、臉部識別信息和其它生物測定信息。LSA模塊106也可建立連接來訪問遠(yuǎn)程憑證數(shù)據(jù)庫、令牌協(xié)議憑證服務(wù)、詢問和響應(yīng)協(xié)議憑證服務(wù)和/或活動目錄(AD)和Kerberos分發(fā)中心(KDC)110。Kerberos是一種網(wǎng)絡(luò)驗(yàn)證協(xié)議,它標(biāo)識試圖登錄到網(wǎng)絡(luò)并通過私鑰密碼加密其通信的用戶。AD模塊使用使應(yīng)用能夠在分布式計算環(huán)境中找到、使用并管理目錄資源(如用戶名和許可)的技術(shù)。從這些訪問,對帶有用戶憑證的用戶執(zhí)行標(biāo)識和驗(yàn)證,以確定該用戶通過其操作系統(tǒng)登錄到計算裝置的訪問特權(quán)。成功的標(biāo)識和驗(yàn)證將登錄用戶并向OS登錄模塊102返回控制。用戶然后登錄并能夠繼續(xù)使用計算裝置。
圖1中見到的第一類穿通(pass-through)GINA模塊112是定制的標(biāo)識和驗(yàn)證模塊,如可由不開發(fā)操作系統(tǒng)的獨(dú)立的軟件銷售商書寫的模塊。第一類穿通GINA模塊112與智能卡讀卡機(jī)105接口,并也與默認(rèn)的原始操作系統(tǒng)GINA114模塊接口。第一類穿通GINA模塊112接收由智能卡讀卡機(jī)105從插入其中的智能卡讀取的憑證。從插入到智能卡讀卡機(jī)105的智能卡讀取的憑證以及從用戶獲取的任何其它憑證可用于對照憑證數(shù)據(jù)庫108b標(biāo)識并驗(yàn)證該用戶。在這一情況下,第一類穿通GINA模塊112允許對用戶的標(biāo)識和驗(yàn)證過程作出有限的修改,而維持由與原始操作系統(tǒng)GINA114模塊接口所引起的標(biāo)識和驗(yàn)證的默認(rèn)行為。
第二類穿通GINA模塊116是對操作系統(tǒng)的標(biāo)準(zhǔn)GINA104的完整替換。第二類穿通GINA模塊116與指紋讀取器107接口。第二類穿通GINA模塊116接收由指紋讀取器107從光學(xué)掃描的指紋印讀取的憑證。來自插入到指紋讀取器107的手指的光學(xué)掃描的指紋印以及從用戶獲取的任何其它憑證可用于對照憑證數(shù)據(jù)庫108b標(biāo)識并驗(yàn)證該用戶。第二類穿通GINA模塊116是一定制的標(biāo)識和驗(yàn)證模塊,它不與OS的標(biāo)準(zhǔn)GINA接口,而直接與LSA106接口。與第一類穿通GINA模塊112不同,第二類穿通GINA模塊116允許對當(dāng)?shù)卿洉r用戶所看到的用戶界面的全控制。如上所述的一個典型問題是GINA104、第一類穿通GINA模塊112和第二類穿通GINA模塊116的僅其中之一可以用于操作系統(tǒng)。換言之,沒有自定義或默認(rèn)GINA可與OS用以將用戶登錄到計算裝置或計算環(huán)境的任一自定義GINA共存。
除上述之外,會出現(xiàn)自定義GINA的其它限制,如在實(shí)現(xiàn)任一新憑證收集機(jī)制或?qū)ζ涞母淖?如,用于生物測定、智能卡、令牌等等)以訪問計算裝置的操作系統(tǒng)中。由此,自定義GINA為開發(fā)者施加了重大的寫代碼的負(fù)擔(dān)。為實(shí)現(xiàn)新的或改變憑證收集機(jī)制,開發(fā)者必須書寫新的驗(yàn)證模塊,用于驗(yàn)證想要獲取對計算裝置的訪問的用戶。在WINDOWSOS的情況下,開發(fā)者必須對自定義GINA書寫較大的修改,它包括復(fù)雜的接口和狀態(tài)管理代碼,使得自定義GINA能夠直接與OS的系統(tǒng)組件接口。自定義GINA中的較差的代碼會破壞OS的健壯性。
自定義或默認(rèn)GINA的替換尤其敏感,因?yàn)樗荗S的最至關(guān)重要的安全組件。較差替換的GINA可很大程度地減弱OS的健壯性,并會減少現(xiàn)有的功能。開發(fā)替換或自定義GINA的復(fù)雜性也需要開發(fā)者獲得用于OS的標(biāo)準(zhǔn)GINA的基本源代碼。此外,開發(fā)自定義GINA意味著替換默認(rèn)的GINA,因?yàn)閮煞N憑證收集方法(如,GINA)無法在同一計算裝置上共存。這使獨(dú)立軟件銷售商無法構(gòu)建在任何地方可配置的解決方案,以使用戶能夠使用一個以上驗(yàn)證基礎(chǔ)結(jié)構(gòu)來登錄。提供一種允許用戶如通過可選擇網(wǎng)絡(luò)會話登錄到不同的、共存的驗(yàn)證基礎(chǔ)結(jié)構(gòu)的登錄解決方案在本領(lǐng)域中將是有益的,其中,該登錄解決方案克服了上述問題。
發(fā)明內(nèi)容
在各種實(shí)現(xiàn)中,使用多個不同且共存的憑證提供器模塊中的對應(yīng)的一個來翻譯憑證。每一模塊將對應(yīng)的不同類型的憑證翻譯成一公用憑證協(xié)議。翻譯的憑證通過憑證提供器應(yīng)用程序接口(API)被傳遞到本地機(jī)器的本機(jī)操作系統(tǒng)(OS)的登錄用戶界面(UI)模塊。調(diào)用OS的登錄例程來使用翻譯的憑證通過對照憑證數(shù)據(jù)庫驗(yàn)證用戶。當(dāng)驗(yàn)證成功時,由翻譯的憑證標(biāo)識的用戶被登錄來訪問本地機(jī)器。
在其它實(shí)現(xiàn)中,使用OS的登錄UI模塊通過預(yù)登錄訪問提供器(PLAP)管理器API向登錄UI作出請求。作出的請求用于來自對應(yīng)的多個共存不同PLAP模塊的訪問服務(wù)的平面列表。訪問服務(wù)的平面列表在由登錄UI模塊呈現(xiàn)的顯示屏上顯示。從顯示屏上的平面列表中接收憑證的輸入和一個訪問服務(wù)的選擇。當(dāng)使用選擇的訪問服務(wù)建立到網(wǎng)絡(luò)的連接時,該憑證被傳遞到訪問服務(wù)上的憑證數(shù)據(jù)庫,用于第一驗(yàn)證。當(dāng)?shù)谝或?yàn)證成功時,該憑證被從PLAP API傳遞到登錄UI模塊。從登錄UI模塊作出RPC調(diào)用,以將該憑證傳遞到OS登錄模塊。然后使用LSA登錄用戶調(diào)用將該憑證從OS登錄模塊傳遞到LSA。然后使用LSA對照憑證數(shù)據(jù)庫執(zhí)行第二驗(yàn)證。當(dāng)?shù)诙?yàn)證成功時,由該憑證標(biāo)識的用戶被登錄,以使用執(zhí)行OS的本地機(jī)器。
當(dāng)結(jié)合附圖參考以下詳細(xì)描述,可以更完整地理解本發(fā)明的實(shí)現(xiàn),附圖中圖1示出了描述常規(guī)過程的流程圖,其中,用戶通過提供用于標(biāo)識和驗(yàn)證的憑證登錄到本地機(jī)器。
圖2a-2b是相應(yīng)的流程圖,它們描述對多個默認(rèn)或自定義可選憑證提供器使用由用戶提供的憑證來分別標(biāo)識并驗(yàn)證該用戶,以使用戶登錄到本地機(jī)器的過程的相應(yīng)的實(shí)現(xiàn),其中,用戶可任選地選擇若干憑證提供器模塊之一,并且每一憑證提供器模塊能與操作系統(tǒng)共同操作,以提供與操作系統(tǒng)兼容的用于驗(yàn)證的憑證。
圖3是一流程圖,它描述對子驗(yàn)證憑證提供器使用由用戶在子驗(yàn)證授權(quán)機(jī)構(gòu)的域中提供的憑證來標(biāo)識并驗(yàn)證用戶,以使用戶登錄到本地機(jī)器的過程的一個實(shí)現(xiàn),其中,子驗(yàn)證授權(quán)機(jī)構(gòu)向子驗(yàn)證憑證提供器返回登錄憑證,并且子驗(yàn)證憑證提供器提供與操作系統(tǒng)兼容的用于驗(yàn)證的憑證。
圖4是一流程圖,它描述在其中當(dāng)在本地機(jī)器上有應(yīng)用的請求時,多個不同且共存的憑證提供器的每一個能夠收集來自用戶的憑證的過程的示例性實(shí)現(xiàn),其中,憑證可以發(fā)送到域,如因特網(wǎng)web站點(diǎn),在該域上將使用該憑證來驗(yàn)證用戶,以使用戶能夠使用本地機(jī)器來訪問該域。
圖5a示出了用戶向其輸入用戶名和密碼憑證的屏幕,由憑證提供器對照輸入內(nèi)容執(zhí)行標(biāo)識和驗(yàn)證。
圖5b示出了顯示與同一別名或用戶名前綴關(guān)聯(lián)的多個用戶名的屏幕,其中,在查詢用戶名的相關(guān)數(shù)據(jù)庫時自動顯示該用戶名。
圖5c示出了允許用戶選擇選項(xiàng)的登錄屏幕,當(dāng)該選項(xiàng)被選擇時,促使屏幕顯示賬號類型的選擇以及登錄連接類型的選擇。
圖6a示出了允許用戶從相應(yīng)的下拉菜單中的列表選擇賬號類型和登錄連接類型的登錄屏幕。
圖6b示出了在用戶選擇Novell賬號類型之后顯示的登錄屏幕,其中,該屏幕提示將憑證輸入到Novell用戶界面。
圖7a是示出當(dāng)前登錄到本地機(jī)器的兩個(2)賬號的登錄屏幕。
圖7b是示出一個用戶賬號的登錄屏幕,向該用戶賬號作出提示,以便輸入個人身份識別號(PIN)作為憑證,用于驗(yàn)證以登錄本地機(jī)器。
圖8a是一登錄屏幕,它示出當(dāng)前登錄到本地機(jī)器的兩個(2)賬號以及對應(yīng)于由呈現(xiàn)該登錄屏幕的本地機(jī)器讀取的智能卡的證書的第三賬號。
圖8b是示出兩個(2)賬號的登錄屏幕,提示第一個賬號輸入PIN,作為憑證與由呈現(xiàn)該登錄屏幕的本地機(jī)器讀取的智能卡的證書相對應(yīng)。
圖9a是示出本地機(jī)器上的四個(4)賬號的登錄屏幕,該本地機(jī)器可以使用由生物測定讀取器讀取的憑證驗(yàn)證用戶。
圖9b是示出在本地機(jī)器上確認(rèn)的四個(4)賬號的登錄屏幕,其中,為讀取指紋印作為憑證目的,該登錄屏幕是觸敏的,,對照該憑證,本地機(jī)器將使用該憑證結(jié)合自定義憑證提供器來驗(yàn)證用戶,其中,包括指紋的憑證由憑證提供器翻譯成與本地機(jī)器的操作系統(tǒng)兼容用于驗(yàn)證的憑證。
圖9c是示出一個(1)賬號的登錄屏幕,對于該賬號,通過使用包括用戶的指紋的憑證已驗(yàn)證了對應(yīng)的用戶來使用本地機(jī)器。
圖10是用戶從其中可以選擇多個登錄連接類型和對應(yīng)的訪問服務(wù)之一的登錄屏幕,登錄連接類型和訪問服務(wù)將用于通過使用向登錄屏幕的輸入提供的憑證來建立網(wǎng)絡(luò)連接會話。
圖11是使用登錄屏幕的過程的一個示例性實(shí)現(xiàn)的流程圖,用戶可以從該登錄屏幕選擇多個登錄連接類型和對應(yīng)的訪問服務(wù)之一,登錄連接類型和訪問服務(wù)將用于通過使用向登錄屏幕的輸入提供的憑證來建立網(wǎng)絡(luò)連接會話。
圖12是一登錄屏幕,它用于從用戶接收憑證,并且用戶可以從該屏幕選擇多個登錄連接類型和對應(yīng)的訪問服務(wù)之一,并且也能夠選擇多個憑證提供器之一,其中,用戶的選擇的每一個可以用于用該憑證標(biāo)識和驗(yàn)證該用戶,使得該用戶可以被登錄并使用呈現(xiàn)該登錄屏幕的本地機(jī)器。
圖13是使用登錄屏幕的過程的一個示例性實(shí)現(xiàn)的流程圖,該登錄屏幕用于從用戶接收憑證,并且用戶可以從該屏幕選擇多個預(yù)登錄訪問類型之一并可以選擇多個憑證提供器之一,其中,用戶選擇的每一個可以用于使用該憑證來標(biāo)識并驗(yàn)證該用戶,使得該用戶可以通過所選擇的訪問服務(wù)被登錄以使用呈現(xiàn)該登錄屏幕的本地機(jī)器。
圖14示出了可在其中完全或部分實(shí)現(xiàn)本發(fā)明描述的軟件應(yīng)用、方法和系統(tǒng)的計算環(huán)境的一個示例。
貫穿整個說明和附圖,使用相同的標(biāo)號參考相同的組件和特征。系列100標(biāo)號參考最初在圖1中找到的特征,系列200標(biāo)號參考最初在圖2中找到的特征,系列300標(biāo)號參考最初在圖3中找到的特征,依此類推。
具體實(shí)施例方式
各種實(shí)現(xiàn)提供了與計算裝置的操作系統(tǒng)接口并且可與其共同操作的共存模塊,其中,每一模塊能夠使用包括標(biāo)識和標(biāo)識的證明的一組信息(如憑證)來接收并驗(yàn)證主體、實(shí)體或用戶,標(biāo)識和標(biāo)識的證明用于獲取通過該操作系統(tǒng)對本地和網(wǎng)絡(luò)資源的訪問。此外,通過維護(hù)模塊和操作系統(tǒng)之間的接口的穩(wěn)定性,可以在不影響由其它模塊執(zhí)行的標(biāo)識和驗(yàn)證過程的情況下對模塊的任一個以及操作系統(tǒng)作出改變。
圖2a描述了示出示例性過程200a的流程圖,過程200a用于標(biāo)識并驗(yàn)證將要登錄并由此獲取通過本地機(jī)器的操作系統(tǒng)對本地和網(wǎng)絡(luò)資源的訪問的用戶。各種獨(dú)立軟件銷售商提供了多個憑證提供器模塊202,它們中的任一個可由本地機(jī)器使用來標(biāo)識并驗(yàn)證用戶。由此,憑證提供器模塊202是對操作系統(tǒng)的共存接口,通過該模塊,用戶可通過其操作系統(tǒng)登錄到本地機(jī)器。
每一憑證提供器模塊202使用不同的標(biāo)識和驗(yàn)證過程。一個憑證提供器模塊202使用接收用戶名和密碼作為憑證的用戶界面(UI)107。另一憑證提供器模塊202使用令牌208。作為示例,令牌208可以是一物理器件。該物理器件儲存一號碼,當(dāng)用戶試圖登錄到計算裝置時由閱讀機(jī)讀取該號碼。在每一這樣的登錄之后,或通過基于事件的算法在周期性的間隔,儲存在令牌208中的號碼改變。新號碼可以儲存在計算裝置中用于將來的驗(yàn)證。除令讀卡機(jī)讀取令牌208之外,也可向用戶提示輸入個人身份識別號(PIN)。再一相應(yīng)的憑證提供器模塊202可使用指紋讀取器103和/或智能卡讀卡機(jī)105,來分別讀取指紋作為印在指紋讀取器103上的用戶手指的憑證,以及從插入到智能卡讀卡機(jī)105中的智能卡讀取憑證。當(dāng)然,可以使用其它憑證讀取器來向其它不同的憑證提供器模塊202提供憑證,如視網(wǎng)膜掃描儀模塊、臉部識別照相機(jī)模塊、門或通道識別照相機(jī)模塊、筆跡識別模塊、語音識別模塊、氣味識別模塊、遺傳密碼識別模塊以及其它這類生物測定模塊。
各種替換方案可用于使用共存憑證提供器模塊202。例如,本地機(jī)器可需要所有或一些用戶使用多個驗(yàn)證方法來驗(yàn)證。作為這一多方法驗(yàn)證需求的示例,可需要用戶使用兩個不同的智能卡驗(yàn)證,以登錄到本地機(jī)器。在另一示例中,可向用戶給予選擇,選擇用戶將使用的多種方法的哪一種來登錄到本地機(jī)器。例如,用戶可選擇密碼類型或?qū)⑹种覆迦氲街讣y傳感器以登錄到本地機(jī)器。
每一憑證提供器模塊202可接收憑證并將其翻譯成一公用憑證協(xié)議。翻譯的憑證的憑證協(xié)議令其兼容,用于由本地機(jī)器的本機(jī)操作系統(tǒng)的驗(yàn)證組件進(jìn)行驗(yàn)證。對照憑證數(shù)據(jù)庫作出翻譯的憑證的驗(yàn)證。當(dāng)驗(yàn)證成功,由該憑證標(biāo)識的用戶可登錄到本地操作系統(tǒng)以訪問本地機(jī)器。
每一憑證提供器模塊202與憑證提供器應(yīng)用程序接口(API)204接口以處理與驗(yàn)證器的通信。憑證提供器API 204與可以是登錄用戶界面(UI)206的調(diào)用器接口。登錄UI206可以是用于接收并管理來自用戶的憑證的憑證管理器。登錄UI206使用到操作系統(tǒng)(OS)登錄模塊102的遠(yuǎn)程過程調(diào)用(RPC)。OS登錄102是到計算裝置的OS的接口。OS登錄102執(zhí)行到本地安全授權(quán)機(jī)構(gòu)(LSA)模塊106的本地安全授權(quán)機(jī)構(gòu)(LSA)登錄用戶的調(diào)用。如上文參考圖1所描述的,LSA模塊106訪問本地安全賬號管理器(SAM)數(shù)據(jù)庫108a用于通常的用戶名和密碼的標(biāo)識和驗(yàn)證。LSA模塊106也可訪問本地地儲存的憑證數(shù)據(jù)庫108b,以使用由諸如憑證讀取裝置103-107和208之一的讀取裝置收集的憑證標(biāo)識并驗(yàn)證主體、實(shí)體或用戶。
翻譯的憑證通過憑證提供器API204傳遞到登錄UI206用于與OS登錄102的通信,以通過LSA模塊106進(jìn)行本地驗(yàn)證來將用戶登錄到本地機(jī)器??蛇x地,LSA模塊106可通過建立的到域的連接執(zhí)行本地機(jī)器之外的遠(yuǎn)程訪問?;顒幽夸?AD)和Kerberos分發(fā)中心(KDC)110儲存在該域中并可以被訪問。從這些訪問,對用戶使用翻譯的憑證執(zhí)行標(biāo)識和驗(yàn)證,以確定用戶通過OS登錄到本地機(jī)器的訪問特權(quán)。成功的標(biāo)識和驗(yàn)證將登錄該用戶。然后,通過OS登錄的用戶可繼續(xù)使用本地機(jī)器。
在圖2b中將看到一個示例性一般登錄過程200b,并參考圖2a來對其進(jìn)行描述。登錄過程200b在塊212開始,其中,本地機(jī)器的OS(OS)加載登錄用戶界面(UI)206。在塊214,登錄UI 206使用憑證提供器API204加載并初始化所有注冊的憑證提供器202。
在塊216,OS登錄102通知登錄UI206在UI上顯示一歡迎屏幕,讓用戶能夠看見并與其交互。在塊218,用戶輸入control-alt-delete(CAD)按鍵序列。當(dāng)用戶輸入CAD按鍵序列,或同樣為安全注意序列(SAS)的另一按鍵序列時,生成一最好僅OS能截取的硬件事件。在塊220,用戶的動作促使OS登錄102通知登錄UI,它已準(zhǔn)備好接收登錄憑證。在塊222,登錄UI206顯示默認(rèn)憑證提供器模塊202專用的用于登錄的UI。登錄UI206請求憑證提供器模塊202提供所有憑證提供器的平面列表用于顯示。在塊224,登錄UI206接收表示用戶對多個顯示的憑證提供器之一的選擇的輸入,每一憑證提供器對應(yīng)于憑證提供器模塊202之一。這一輸入起動用戶輸入和一個或多個外部系統(tǒng)之間通過憑證提供器API204的交互。特定的憑證提供器模塊202可依賴于用戶起動來向OS提供憑證(如,通過用戶使用憑證讀取裝置103-107和208之一)的事件的類型。在塊226,登錄UI206通過RPC向OS登錄102返回協(xié)商的憑證。在塊228,OS登錄102執(zhí)行到LSA106的LSA登錄用戶調(diào)用,以登錄該用戶。在塊230,OS登錄102執(zhí)行到登錄UI206的RPC,以報告登錄過程200b的結(jié)果。在塊232,登錄UI206通過憑證提供器API204調(diào)用特定的憑證提供器模塊202來報告登錄過程200b的結(jié)果??刂迫缓蠓祷氐絆S登錄102。在塊234,OS登錄102完成用戶會話設(shè)置,使用戶登錄到計算裝置。
圖3中看到并作為流程圖描述的過程300示出了本地機(jī)器300a可以使用域300b上的子驗(yàn)證過程來使用用戶的憑證驗(yàn)證用戶的步驟。本地機(jī)器300a上的子驗(yàn)證憑證提供器302與域300b上的子驗(yàn)證授權(quán)機(jī)構(gòu)304接口。例如,域300b可以是第三方服務(wù)器。子驗(yàn)證憑證提供器302如上文參考圖2所描述的與憑證提供器API204接口。由此,對于塊206、102和106,過程300類似于過程200a。在過程300中,AD/KDC110與LSA106接口。域300b上的子驗(yàn)證授權(quán)機(jī)構(gòu)304使用子驗(yàn)證協(xié)議以將登錄憑證返回到子驗(yàn)證憑證提供器302。
過程300使用預(yù)驗(yàn)證過程,其中,使用用戶的憑證對照第三方驗(yàn)證方法代替本地機(jī)器的驗(yàn)證方法來驗(yàn)證用戶。在驗(yàn)證之后,第三方方法返回與OS兼容的憑證,以通過其OS將用戶登錄到本地機(jī)器300a。在實(shí)踐中,子驗(yàn)證憑證提供器302通過憑證提供器API204與圖3所見的登錄UI206接口。當(dāng)用戶輸入憑證,該憑證從本地機(jī)器300a發(fā)送到域300b上的AD/KDC110,域300b可以是通過網(wǎng)絡(luò)域本地機(jī)器300a通信的服務(wù)器。AD/KDC110連同域300b上的子驗(yàn)證授權(quán)機(jī)構(gòu)304一起使用用戶的憑證驗(yàn)證該用戶。子驗(yàn)證授權(quán)機(jī)構(gòu)304向子驗(yàn)證提供器302返回登錄憑證。子驗(yàn)證提供器302通過憑證提供器API204向登錄UI206返回憑證。登錄UI206然后可以通過RPC將該憑證傳遞到OS登錄102。因此,本地機(jī)器300a上的OS對域300b上的第三方子驗(yàn)證授權(quán)機(jī)構(gòu)304屏蔽。
圖4示出了描述示例性過程400的流程圖,通過過程400,主體、實(shí)體或用尸可由補(bǔ)充憑證驗(yàn)證,以訪問一個域,如在其中具有web站點(diǎn)憑證請求器和驗(yàn)證器406的web站點(diǎn)。由此,在主體、實(shí)體或用戶登錄到本地機(jī)器上之后,主體、實(shí)體或用戶由web站點(diǎn)憑證請求器和驗(yàn)證器406通過處理補(bǔ)充憑證來遠(yuǎn)程地驗(yàn)證。憑證用戶界面(UI)402使用在本地機(jī)器上執(zhí)行的應(yīng)用404請求補(bǔ)充憑證。本地機(jī)器具有用戶所登錄的OS。本地機(jī)器與用以接收補(bǔ)充憑證的輸入設(shè)備(如,103、105、107和208)進(jìn)行通信。多個不同且共存的憑證提供器模塊202之一用于在輸入設(shè)備(如,103、105、107和208)上從用戶收集補(bǔ)充憑證。一旦收集了補(bǔ)充憑證,將它給予應(yīng)用程序404用于驗(yàn)證。應(yīng)用程序404是在本地機(jī)器上執(zhí)行的本地應(yīng)用程序,它可請求并接收補(bǔ)充憑證。每一憑證提供器模塊202可從輸入設(shè)備(103、105、1-7、208)之一收集相應(yīng)不同類型的憑證,如補(bǔ)充憑證,并且每一憑證提供器模塊202通過憑證提供器API204與本地機(jī)器的OS接口。憑證提供器API204接收由憑證提供器模塊202的任一個收集的憑證,其中,每一憑證提供器模塊202可提供它所收集的憑證給憑證提供器API204,用于驗(yàn)證諸如用戶那樣的主體,以使該主體使用OS登錄來訪問本地機(jī)器。
圖5a到10和12中可以看到示出提供不同的用戶登錄過程的各種實(shí)現(xiàn)的示例性顯示幕。一個實(shí)現(xiàn)使用用戶名和密碼作為對憑證提供器模塊的輸入,這可以是用戶將憑證輸入到登錄屏幕的默認(rèn)方式。另一實(shí)現(xiàn)使用公鑰基礎(chǔ)結(jié)構(gòu)(PKI)智能卡結(jié)合智能卡憑證提供器模塊獲取憑證。再一實(shí)現(xiàn)使用具有指紋憑證的憑證提供器模塊,其中,該憑證提供器使用用戶的指紋通過指紋掃描標(biāo)識并驗(yàn)證該用戶。
下文討論的實(shí)現(xiàn)包括由用戶選擇或由事件驅(qū)動的憑證提供器,取決于用戶如何選擇要使用的憑證提供器模塊。用戶選擇的憑證提供器由用戶從在用戶界面(UI)上提供給用戶的兩個或多個憑證提供器中選擇。圖5a示出了默認(rèn)屏幕顯示的一個示例,對于該屏幕顯示,OS可配置成顯示為該UI只有一個用戶選擇的憑證提供器,其中,該UI僅提示用戶名和密碼輸入。在圖5a的情況中,沒有另外的用戶選擇憑證提供器安裝在執(zhí)行該OS的計算裝置上。
圖5b所見到的,別名或用戶名可對一個以上電子郵件(e-mail)地址或用戶名公用。由此,對于如圖所示地使用通用主體名(UPN),憑證提供器應(yīng)當(dāng)是靈活的。UPN是基于因特網(wǎng)標(biāo)準(zhǔn)RFC822用于用戶的因特網(wǎng)風(fēng)格登錄名。常規(guī)地,這應(yīng)當(dāng)映射到用戶的電子郵件名。UPN有利地結(jié)合了電子郵件和登錄名字空間,使用戶僅需要記住單個名字。由此,圖5b中的UI支持UPN風(fēng)格的名字,其中,自動完成特征提供了UPN中的許多特性,使用戶不需要鍵入它們。為完成這一過程,可查詢目錄中心(DC)并向圖5b中的UI返回UPN的列表用于顯示。因此,登錄UI將使用UPN作為憑證的用戶名部分用于憑證提供器模塊。另外,登錄UI也可以用于當(dāng)用戶加入集團(tuán)或工作組時顯示用戶的枚舉列表,或在登錄屏幕上顯示所有本地機(jī)器賬號。登錄UI也可以用于當(dāng)用戶加入域時顯示用戶的枚舉列表,使得該UI僅對當(dāng)前登錄的用戶顯示每一用戶的圖標(biāo)或貼圖。UI可對尚未登錄到該域的一個用戶顯示一個(1)圖標(biāo)或貼圖。
當(dāng)在本地機(jī)器上安裝了新用戶的憑證提供器時,本地機(jī)器可配置成顯示出現(xiàn)在如圖5c所見的密碼控制之下的選項(xiàng)鏈接504。用戶可選擇該選項(xiàng)鏈接504來顯示用戶可從中進(jìn)行選擇的憑證提供器的列表。可選地,管理員或其它信息專業(yè)人員可配置本地機(jī)器來設(shè)置默認(rèn)地選擇特定的憑證提供器的策略,使本地機(jī)器的用戶不需要選擇正確的憑證提供器。如圖6a中所見到的,顯示了賬號類型的列表602,它們分別對應(yīng)于屏幕600a的UI上的不同憑證提供器。列表602允許用戶選擇用戶想要用來登錄到OS的賬號類型,而登錄連接類型字段604允許用戶選擇要使用標(biāo)準(zhǔn)類型或自定義類型的遠(yuǎn)程訪問服務(wù)(RAS),如自定義虛擬專用網(wǎng)絡(luò)(VPN)連接或用于撥號連接的自定義撥號程序。通過從圖5c的選項(xiàng)鏈接504構(gòu)建擴(kuò)充的選項(xiàng)區(qū),可以在用戶登錄過程中加入高級的可共同操作的功能,而不會不適當(dāng)?shù)貙?dǎo)致笨拙的或復(fù)雜的用戶登錄過程。
憑證提供器可將另外的功能提供到登錄過程,如屏幕600a中的UI所示。為獲取圖6b的示出的屏幕600b,用戶選擇圖6a的列表602中的“Novell”選項(xiàng),它轉(zhuǎn)換該UI來顯示Advanced Novell Options(高級Novell選項(xiàng))按鈕606。當(dāng)用戶點(diǎn)擊該Advanced Novel Options按鈕606時,可如圖6b所示顯示Novell Client(Novell客戶)登錄UI608。這一功能允許用戶在登錄到網(wǎng)絡(luò)之前瀏覽網(wǎng)絡(luò)上與用戶的本地機(jī)器進(jìn)行通信的Novell服務(wù)器的列表。在這一情況下,Novell憑證提供器也可以提供支持來添加登錄腳本。
可以定制圖4中所見到的子驗(yàn)證憑證提供器模塊402,使用戶界面僅反映第三方的,而不是另外方的品牌、徽標(biāo)、商標(biāo)或服務(wù)標(biāo)記。在一個實(shí)現(xiàn)中,用戶可以從列表602中選擇一個賬號類型,它激活子驗(yàn)證憑證提供器模塊402。子驗(yàn)證憑證提供器模塊402然后可以控制UI來向用戶提供品牌特定的用戶登錄過程,它仍與OS的登錄過程完全兼容。此外,本地機(jī)器可以具有多個子驗(yàn)證憑證提供器模塊402,每一個都能夠向用戶提供不同且相異的品牌特定用戶登錄體驗(yàn),而完全與本地機(jī)器的OS的登錄過程兼容。作為示例,個人計算機(jī)可以用作在線購物商城的購物站。該購物站可以與因特網(wǎng)進(jìn)行通信,并也可顯示多個圖標(biāo),每一圖標(biāo)可對應(yīng)于不同的子驗(yàn)證憑證提供器模塊402。當(dāng)用戶選擇代表一個品牌的所顯示的圖標(biāo)之一時,相應(yīng)的子驗(yàn)證憑證提供器模塊402提供對該品牌各不相同的用戶登錄過程,同時用戶通過OS登錄到本地機(jī)器并登錄到對應(yīng)于該品牌的因特網(wǎng)web站點(diǎn)。
圖6a到6b中分別見到的屏幕600a-600b中的UI提供了與用戶驅(qū)動憑證提供器相關(guān)的示例。分別在圖7a到9c中見到的屏幕中的UI提供了與事件驅(qū)動憑證提供器相關(guān)的示例?;谀骋挥脩粜袆舆x擇事件驅(qū)動憑證提供器。一個這樣的用戶行動在用戶將智能卡插入到讀卡機(jī)中時出現(xiàn)。對于生物測定,當(dāng)用戶將某一身體部位接觸到生物測定傳感器或受其測量(如,由指紋傳感器讀取指紋印,由照相機(jī)讀取臉部用于在臉識別軟件算法中分析等等)時出現(xiàn)用戶行動。
當(dāng)用戶輸入CAD按鍵序列(Ctrl+Alt+Del)時顯示圖7a的屏幕700a中的UI。登錄屏幕700a示出兩個(2)用戶已登錄到本地機(jī)器。圖7a中的圖標(biāo)702示出可使用智能卡來登錄到本地機(jī)器的用戶。用戶然后將智能卡插入到讀卡機(jī),如與本地機(jī)器進(jìn)行通信的裝置105。
當(dāng)讀取了來自智能卡的用戶憑證時,圖7a的已登錄用戶的列表消失,圖7b的登錄屏幕700b僅顯示在用戶的智能卡上的憑證枚舉。這一顯示由使用智能卡讀卡機(jī)105及其對應(yīng)的憑證提供器模塊202、憑證提供器204和登錄UI206的合作處理作出。由于在該智能卡上只有一個證書,OS自動選擇這一個證書,并顯示PIN字段704作為對用戶的數(shù)據(jù)輸入的提示?,F(xiàn)在參考圖2,當(dāng)用戶在PIN字段704中鍵入PIN時,登錄UI206將該P(yáng)IN連同從該智能卡讀取的證書一起傳遞到OS登錄102。然后,由智能卡讀卡機(jī)105讀取的證書以及用戶輸入的PIN可用于結(jié)合事件驅(qū)動提供器模塊202標(biāo)識并驗(yàn)證帶有LSA106的用戶,事件驅(qū)動憑證提供器模塊202在憑證提供器API204上與本地機(jī)器的OS接口。如果插入智能卡的用戶將智能卡留在讀卡機(jī)105上并敲擊圖7b的屏幕700b上的cancel(取消)按鈕706,則登錄屏幕返回到其前一狀態(tài),并枚舉所有的三個用戶,如圖8a中的屏幕800a所示。然而,如果智能卡包括一個以上證書,則OS將呈現(xiàn)枚舉所有的證書的顯示。如圖8b中的屏幕800b所示,在標(biāo)號804,一旦用戶將焦點(diǎn)定在證書之一802,OS呈現(xiàn)包括PIN字段806的顯示。用戶然后可以在PIN字段806中輸入PIN。
對應(yīng)于智能卡讀卡機(jī)105的事件驅(qū)動憑證提供器模塊202類似于用于指紋讀卡機(jī)103的生物測定事件驅(qū)動憑證提供器模塊202。在指紋憑證的情況下的示例性用戶登錄過程在圖9a-9c中可以見到。如圖9a中所見到的,獨(dú)立的本地機(jī)器呈現(xiàn)顯示四個(4)賬號(如,具有特權(quán)來訪問本地機(jī)器的四個用戶)的屏幕。圖9a的屏幕上的圖標(biāo)900a指示在本地機(jī)器上安裝了指紋傳感器。用戶將其手指放置在指紋傳感器/掃描儀上,如圖2中所見到的外圍指紋傳感器/掃描儀103??蛇x地,如圖9b所示的觸敏屏幕可具有指紋傳感器圖標(biāo)900b,它是光學(xué)掃描反饋機(jī)制。在任一情況下,指紋傳感器/掃描儀傳感器激活并然后讀取用戶手指的指紋。用戶獲取反饋,指示讀取過程已成功地通過該用戶的指紋使用圖2中的事件驅(qū)動憑證提供器模塊202標(biāo)識,并驗(yàn)證了帶著指紋作為憑證來登錄到本地機(jī)器的用戶。憑證提供器模塊202將用戶指紋的讀入與其憑證數(shù)據(jù)庫108b中的儲存的指紋的高速緩存相比較,并找出與該用戶的指紋的匹配,其中,該用戶是圖9c所示的“Richard”。憑證提供器模塊202將Richard的憑證通過憑證提供器API204傳遞到登錄UI206。登錄UI206然后將Richard的憑證轉(zhuǎn)遞到將Richard登錄到本地機(jī)器的OS登錄102,其結(jié)果可由圖9c的顯示中標(biāo)號900c處的Richard的用戶貼圖看出。
描述了以上圖2-9c用于憑證提供者模塊的登錄過程的體系結(jié)構(gòu)中的安全插件模型。參考圖10-11,登錄過程可包括可與本地機(jī)器的OS共同操作的一個或多個自定義預(yù)登錄訪問提供器(PLAP)模塊1102。每一PLAP模塊1102使用戶能夠選擇一個登錄連接類型,如通過使用撥號調(diào)制解調(diào)器到最喜歡的因特網(wǎng)服務(wù)供應(yīng)商(ISP)、通過使用有線調(diào)制解調(diào)器來建立網(wǎng)絡(luò)連接、通過使用VPN用于網(wǎng)絡(luò)連接、通過局域網(wǎng)連接等等。
在一些情況下,本地機(jī)器可配置成當(dāng)啟動遠(yuǎn)程訪問服務(wù)(RAS)會話時登錄來建立網(wǎng)絡(luò)連接用于登錄,以對照該網(wǎng)絡(luò)驗(yàn)證本地機(jī)器的用戶。例如,網(wǎng)絡(luò)管理員可要求用戶登錄到本地機(jī)器來進(jìn)行RAS會話,因?yàn)檫@一需求允許網(wǎng)絡(luò)管理員在本地機(jī)器有機(jī)會建立與該網(wǎng)絡(luò)管理員管理的企業(yè)網(wǎng)絡(luò)的連接之前具有對安裝在本地機(jī)器上的內(nèi)容的嚴(yán)密控制。這一本地機(jī)器的嚴(yán)密控制可包括使用防病毒或其它要安裝的應(yīng)用程序來更新本地機(jī)器,并可包括強(qiáng)迫周期性地改變密碼等等。在一些情況下,可要求企業(yè)網(wǎng)絡(luò)中的所有本地機(jī)器在登錄到企業(yè)網(wǎng)絡(luò)之前建立與特定RAS會話的登錄連接。
如圖10所示,在激活下拉菜單圖標(biāo)1006時,向用戶提供登錄連接類型的列表。列表中的每一項(xiàng)表示單獨(dú)的登錄提供器或連接類型,可通過該連接類型使用對應(yīng)的訪問服務(wù)建立到網(wǎng)絡(luò)的連接。如圖10中所見到的,用戶需要從列表中選擇連接類型和對應(yīng)的訪問服務(wù),并在字段1002中輸入用戶名和密碼,在字段1004中輸入賬號類型。由圖標(biāo)1006的激活喚起登錄連接類型和對應(yīng)的訪問服務(wù)的列表,以顯示所有的機(jī)器范圍的連接,并允許用戶從列表中選擇一個。每一連接表示不必由OS的提供商提供而仍與該OS兼容的遠(yuǎn)程訪問服務(wù)(RAS)。例如,RAS可以是由與OS的提供商無關(guān)的獨(dú)立的軟件銷售商提供的自定義撥號程序模塊。由此,自定義RAS消除了使用與OS一起提供的默認(rèn)RAS撥號程序的需要。RAS會話在試圖建立到由用戶從標(biāo)號1006處的列表指定的到網(wǎng)絡(luò)的連接時,將使用的已輸入到字段1002-1004的憑證。如果用戶輸入的憑證無法建立用戶所選擇的連接,將顯示提示,要求用戶提供另外的憑證。使用這些另外的憑證將作出再一次的嘗試,通過來自標(biāo)號1006處的列表的用戶指定登錄連接類型作出連接。如果下一嘗試成功地建立了到網(wǎng)絡(luò)的連接,則返回新憑證,以在上文參考圖2-9c描述的登錄過程中使用。
圖10的屏幕1000中見到的用戶界面可進(jìn)一步參考圖11來解釋,圖11示出了用于建立到用戶指定的訪問服務(wù)的一種類型的連接的示例性過程1100。登錄UI206通過預(yù)登錄訪問提供器(PLAP)管理器API1112請求PLAP模塊1102提供連接類型和訪問服務(wù)的對應(yīng)組的平面列表。例如,平面列表中的訪問服務(wù)對應(yīng)于自定義撥號訪問服務(wù)1106、自定義VPN訪問服務(wù)1108以及任一其它類型的自定義或默認(rèn)訪問服務(wù)1104。每一訪問服務(wù)1104-1108的表示由登錄UI206向用戶顯示。用戶作出到字段1002-1006的輸入,包括用戶名、密碼、賬號類型和來自標(biāo)號1006處的平面列表的用戶指定的連接類型和對應(yīng)的訪問服務(wù)。PLAP管理器API1112試圖使用用戶選擇的訪問服務(wù)建立到域的連接。如果未成功地作出連接,則PLAP管理器API1112可促使登錄UI206在再次嘗試建立到用戶選擇的訪問服務(wù)的連接之前提示用戶輸入進(jìn)一步的信息,如另外的證書。
一旦由PLAP管理器API1112通過使用用戶選擇的訪問服務(wù)建立了到域的連接,用戶輸入的用戶名和密碼作為憑證傳遞,用于驗(yàn)證該域中對應(yīng)的用戶、實(shí)體或主體。使用該憑證對用戶、實(shí)體或主體的成功標(biāo)識和驗(yàn)證被從PLAP管理器API1112傳遞到登錄UI206。登錄UI206將執(zhí)行到OS登錄102的RPC,其中,RPC也傳遞證書。OS登錄102將該憑證作為LSA登錄用戶調(diào)用傳遞到LSA106用于對照SAM108a或本地或遠(yuǎn)程憑證數(shù)據(jù)庫108b上的憑證的數(shù)據(jù)庫進(jìn)行本地標(biāo)識和驗(yàn)證??蛇x地,LSA106可通過域連接將憑證傳遞到AD/KDC110,用于在該域上進(jìn)行標(biāo)識和驗(yàn)證。一旦使用了該憑證來使用SAM108a、憑證數(shù)據(jù)庫108b或AD/KDC110標(biāo)識并驗(yàn)證用戶,成功的結(jié)果被傳遞到OS登錄102來完成將用戶登錄到本地機(jī)器的過程。在一些實(shí)現(xiàn)中,SAM108a、憑證數(shù)據(jù)庫108b和AD/KDC110可以在同一個域中,并也可以是同一個數(shù)據(jù)庫。在其它實(shí)現(xiàn)中,可以使用對應(yīng)的憑證對照令牌協(xié)議憑證服務(wù)和/或詢問和響應(yīng)協(xié)議憑證服務(wù)來驗(yàn)證主體、實(shí)體或用戶。
在各種實(shí)現(xiàn)中,上文討論的用于憑證提供器的登錄插件模型可以與預(yù)登錄訪問提供器相組合,其示例將參考圖12-13來說明。圖12示出了屏幕1200的一個示例,它允許用戶輸入用戶名和密碼并選擇登錄選項(xiàng)(Options)按鈕1202。用戶對登錄選項(xiàng)按鈕1202的選擇顯示賬號的平面列表,用戶可從其中選擇賬號類型1208a。賬號類型1208a的選擇表示用戶對具體的憑證提供器選擇登錄插件模型。如屏幕1200中所見的,用戶已選擇了賬號類型“Novell”。選擇“Novell”賬號類型允許用戶進(jìn)一步選擇“Advanced Novell Options(高級Novell選項(xiàng))”按鈕1208b。選擇“Advanced Novell Options”按鈕1208將呈現(xiàn)Novell UI1208c,提示用戶輸入進(jìn)一步的憑證。這些進(jìn)一步的憑證將用于對照Novell服務(wù)器上的訪問數(shù)據(jù)庫標(biāo)識并驗(yàn)證該用戶。通過在下拉菜單圖標(biāo)1210上點(diǎn)擊,用戶也可以看見訪問服務(wù)的平面列表,并從中作出PLAP的選擇。
過程1300示出了包括PLAP模塊和憑證提供器模塊的多個模塊1302,每一個都具有到登錄UI206的各自的API1312。每一PLAP模塊1302可對應(yīng)于若干默認(rèn)或自定義預(yù)登錄訪問提供器的任一個。每一PLAP模塊1302可由用戶從訪問服務(wù)的平面列表中選擇,該列表在用戶激活下拉菜單圖標(biāo)1210之后由登錄UI206顯示。每一PLAP模塊1302可通過不同類型的連接和對應(yīng)的訪問服務(wù)建立到相應(yīng)網(wǎng)絡(luò)的連接,以使用憑證對照本地和/或遠(yuǎn)程憑證數(shù)據(jù)庫驗(yàn)證用戶。訪問服務(wù)的平面列表由登錄UI206向PLAP模塊1302請求。
登錄UI206提示用戶在圖12中見到的諸如用戶名和密碼字段等字段中輸入憑證,該憑證由用戶選擇的默認(rèn)或自定義憑證提供者模塊1302支配。如上所述,每一憑證提供者模塊1302可對應(yīng)于閱讀機(jī)103-107和208。輸入憑證由對應(yīng)的憑證提供器模塊1302在本地機(jī)器上本地處理。憑證提供器模塊1302可配置成在輸入憑證上完成翻譯,如通過翻譯由指紋讀取器103接收的生物測定憑證或由智能卡讀卡機(jī)105讀取的證書憑證。來自憑證提供器模塊1302的翻譯的憑證是按憑證協(xié)議的,它兼容于由本地機(jī)器的OS進(jìn)行進(jìn)一步的標(biāo)識和驗(yàn)證。由此,將原始憑證翻譯成經(jīng)翻譯的憑證可以在本地機(jī)器上本地完成。一旦完成了原始憑證到經(jīng)翻譯憑證的翻譯,則由憑證提供器模塊1302通過API1312將經(jīng)翻譯的憑證提供給登錄UI206。到登錄UI206的API1312使用用戶選擇的PLAP模塊1302以使用對應(yīng)的連接類型建立到訪問服務(wù)的連接。換言之,PLAP模塊1302標(biāo)識由用戶從在屏幕1200上的圖標(biāo)1210的下拉菜單中顯示的訪問服務(wù)平面列表中選擇的訪問服務(wù)。
PLAP模塊1302接收與OS兼容的憑證,它可以如從憑證提供器模塊1302獲取的憑證。登錄UI206然后調(diào)用PLAP模塊1302來使用來自憑證提供器模塊1302的經(jīng)翻譯憑證,以使用對應(yīng)的用戶選擇的訪問服務(wù)建立安全的網(wǎng)絡(luò)連接會話。PLAP模塊1302然后試圖使用用戶選擇的訪問服務(wù)建立到憑證數(shù)據(jù)庫所在的域的網(wǎng)絡(luò)會話。如果PLAP模塊1302無法使用用戶選擇的訪問服務(wù)建立網(wǎng)絡(luò)會話,則PLAP模塊1302可請求登錄UI206顯示自定義UI,提示用戶輸入對自定義UI特定的更多憑證。例如,PLAP模塊1302可請求對Novell服務(wù)器上的驗(yàn)證特定的憑證。這些另外的憑證可需要訪問因特網(wǎng)上的具體web站點(diǎn)(如,Novell.com、AOL.com、MSN.com等等)所需的具體用戶名和具體密碼的進(jìn)一步輸入,以使用用戶選擇的訪問服務(wù)建立網(wǎng)絡(luò)會話的連接。在這一情況下,PLAP模塊1302的自定義UI以對話框顯示,提示用戶需要更多的憑證(如,Novell UI1208c)。
一旦輸入,PLAP模塊1302交換或切換出從Novell UI1208c新輸入的憑證來代替先前所獲取的第一憑證(用戶名和密碼)。移除這些先前的憑證并使用新輸入的憑證。新輸入的憑證被返回到登錄UI206。然后登錄UI206通過RPC調(diào)用將新輸入的憑證給予OS登錄102。OS登錄102隨后將新輸入的憑證傳遞到LSA106。在LSA106中測試新輸入的憑證用于標(biāo)識和驗(yàn)證。LSA106對照使用SAM108a和/或本地或遠(yuǎn)程憑證數(shù)據(jù)庫108b的本地數(shù)據(jù)庫進(jìn)行確認(rèn)。在活動目錄域的情況下,通過將新輸入的憑證經(jīng)網(wǎng)絡(luò)會話傳遞到AD/KDC110上的域來作出對新輸入的憑證的確認(rèn),其中,網(wǎng)絡(luò)會話連接由PLAP模塊1302建立。因此,使用憑證提供器和PLAP模塊1302的標(biāo)識和驗(yàn)證過程可以是一回環(huán)例程。
作為進(jìn)一步的示例,用戶最初可輸入用戶名“Bill”和密碼“101”作為在本地機(jī)器上本地處理的第一組憑證。對應(yīng)于用戶選擇的訪問服務(wù)的PLAP模塊1302然后通過API1312調(diào)用登錄UI206,來提示用戶輸入另一密碼。用戶然后輸入密碼“102”。使用網(wǎng)絡(luò)會話連接中用戶選擇的訪問服務(wù)通過到憑證數(shù)據(jù)庫(如,SAM108a、憑證數(shù)據(jù)庫108b、AD/KDC110等)的連接來發(fā)送新密碼“102”。在對照憑證數(shù)據(jù)庫成功地驗(yàn)證之后,然后通過OS登錄102將密碼“102”從登錄UI206傳遞到LSA106。LSA106將密碼“102”傳遞到域,以對照AD/KDC110或另一憑證數(shù)據(jù)庫進(jìn)行標(biāo)識和驗(yàn)證。因此,第一次執(zhí)行是PLAP模塊1302的執(zhí)行,第二次執(zhí)行是憑證提供器模塊1302的執(zhí)行。
每一PLAP模塊1302在安全標(biāo)識和驗(yàn)證例程中以及到域的網(wǎng)絡(luò)連接會話的建立中涉及其本身。除此之外,由相應(yīng)的默認(rèn)或自定義PLAP模塊1302建立的用戶選擇的訪問服務(wù)也可以是由憑證提供器模塊1302用于進(jìn)一步標(biāo)識并驗(yàn)證憑證的網(wǎng)絡(luò)連接會話。
憑證的本地驗(yàn)證可以與域上的憑證驗(yàn)證風(fēng)格不同。該風(fēng)格可由保存在AD/KDC110的域上的活動目錄中的用戶賬號中的數(shù)據(jù)來限定。用戶賬號的活動目錄可以具有不同的屬性,如一個屬性指定如果用戶賬號能建立RAS會話,另一屬性指定用戶賬號是否被準(zhǔn)許交互地登錄。作為示例,這些屬性可被儲存為域上活動目錄的用戶賬號中兩個(2)不同的位,并可如此查詢。
其它實(shí)現(xiàn)可組合憑證提供器和PLAP的使用,如只要用戶登錄本地機(jī)器就訪問因特網(wǎng)。在這一情況下,在本地機(jī)器啟動時,設(shè)置成啟動例程自動執(zhí)行。這一啟動例程自動使用用戶的登錄憑證來登錄到本地機(jī)器,并登錄到因特網(wǎng)服務(wù)供應(yīng)商(ISP),以自動訪問默認(rèn)web站點(diǎn)并從其檢索信息??蛇x地,可提示用戶輸入兩組(2)憑證—一組用戶本地機(jī)器,另一組用于將通過用戶指定的PLAP訪問的ISP。
在再一實(shí)現(xiàn)中,本地機(jī)器可配置成需要特定域上的Novell(或其它類型)服務(wù)器上的所有用戶的標(biāo)識和驗(yàn)證。在這一情況下,提示本地機(jī)器的用戶輸入對服務(wù)器特定的憑證(如,Novell服務(wù)器類型憑證)。用戶然后選擇圖12中見到的高級Novell選項(xiàng)1208b。圖13中見到的登錄UI206收集用戶輸入的憑證來滿足模塊1302,用于訪問服務(wù)并用于對應(yīng)于Novell服務(wù)器的憑證提供器。在這一收集憑證的過程中,尚未作出經(jīng)網(wǎng)絡(luò)到Novell服務(wù)器的域的連接。用戶也可從與圖標(biāo)1210關(guān)聯(lián)的訪問服務(wù)列表中選擇自定義PLAP撥號程序。用戶然后可以指示所有的輸入都已作出(如,用戶按下“enter(回車)”鍵)。在這一點(diǎn)上,例如,可以開始從本地機(jī)器到域上的遠(yuǎn)程憑證數(shù)據(jù)庫以及到AD/KDC110的域上的網(wǎng)絡(luò)話務(wù)。網(wǎng)絡(luò)話務(wù)使用由PLAP模塊1302建立到對應(yīng)訪問服務(wù)的網(wǎng)絡(luò)連接會話。網(wǎng)絡(luò)話務(wù)可包括以元數(shù)據(jù)形式的憑證,它們可同時收集然后順序地傳遞—首先用于使用采用PLAP模塊1302建立的訪問服務(wù)對主體進(jìn)行驗(yàn)證,其次用于使用憑證提供器模塊1302的憑證提供器驗(yàn)證。由此,訪問服務(wù)允許本地機(jī)器安全地與可以為第三方因特網(wǎng)服務(wù)器的其域上的活動目錄進(jìn)行通信。
示例性計算系統(tǒng)和環(huán)境圖14示出了可用于實(shí)現(xiàn)本發(fā)明描述的過程的示例性計算機(jī)系統(tǒng)和環(huán)境。計算機(jī)1442可以是參考圖2a-13所描述的本地機(jī)器,包括一個或多個處理器或處理單元1444、系統(tǒng)存儲器1446以及將包括系統(tǒng)存儲器1466的各類系統(tǒng)組件耦合至處理器1444的系統(tǒng)總線1448。系統(tǒng)總線1448可表示一個或多個若干種總線結(jié)構(gòu)類型的任一種,包括存儲器總線或存儲器控制器、外圍總線、加速圖形端口以及使用各類總線結(jié)構(gòu)的處理器或本地總線。系統(tǒng)存儲器1446包括只讀存儲器(ROM)1450和隨機(jī)存取存儲器(RAM)1452?;据斎?輸出系統(tǒng)(BIOS)1454,包含如在啟動時協(xié)助在計算機(jī)1442內(nèi)的元件之間傳輸信息的基本例程,可儲存在ROM1450中。
計算機(jī)1442也包括用于對硬盤(未示出)進(jìn)行讀寫的硬盤驅(qū)動器1456、用于對可移動磁盤1460進(jìn)行讀寫的磁盤驅(qū)動器1458以及用于對可移動光盤1464如CD-ROM或其它光媒質(zhì)進(jìn)行讀寫的光盤驅(qū)動器1462。硬盤驅(qū)動器1456、磁盤驅(qū)動器1458以及光盤驅(qū)動器1462通過SCSI接口1466或某一其它合適的接口連接至系統(tǒng)總線1448。驅(qū)動器及其相關(guān)的計算機(jī)可讀媒質(zhì)為計算機(jī)1442提供了計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失存儲。盡管這里描述的示例環(huán)境采用了硬盤、可移動磁盤1460以及可移動光盤1464,本領(lǐng)域的技術(shù)人員可以理解,示例性操作環(huán)境中也可以使用能夠儲存可由計算機(jī)訪問的數(shù)據(jù)的其它類型的計算機(jī)可讀媒質(zhì),如盒式磁帶、閃存卡、數(shù)字視頻盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)等等。
若干程序模塊可儲存在硬盤1456、磁盤1460、光盤1464、ROM1450或RAM1452中,包括操作系統(tǒng)1470、一個或多個模塊或應(yīng)用程序1472。作為示例而非局限,一個或多個模塊或應(yīng)用程序1472可以是憑證提供器模塊202、子驗(yàn)證憑證提供器302、PLAP模塊1102和其它模塊1302。其它項(xiàng)目可儲存在硬盤1456、磁盤1460、光盤1464、ROM1450或RAM1452中,包括其它程序模塊1474和程序數(shù)據(jù)1476。用戶可以通過鍵盤1478和指向設(shè)備1480等輸入設(shè)備向計算機(jī)1442輸入命令和信息。其它輸入設(shè)備(未在圖14中示出)可包括指紋讀取器103、令牌讀取器208、智能卡讀卡機(jī)105、麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、照相機(jī)或光掃描儀、氣味檢測和分析設(shè)備等等。這些和其它輸入設(shè)備通過耦合至系統(tǒng)總線1448的接口1482連接到處理單元1444。監(jiān)視器1484或其它類型的顯示設(shè)備也通過接口,如視頻適配器1486連接到總線1448。除監(jiān)視器之外,個人計算機(jī)通常包括其它外圍輸出設(shè)備(未示出),如揚(yáng)聲器和打印機(jī)。
計算機(jī)1442通常在使用到一個或多個遠(yuǎn)程計算機(jī),如遠(yuǎn)程計算機(jī)1488的邏輯連接的網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計算機(jī)1488可以是另一個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括許多或所有上述與計算機(jī)1442相關(guān)的元件,圖14描述的邏輯連接包括局域網(wǎng)(LAN)1490和廣域網(wǎng)(WAN)1492。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)1442通過網(wǎng)絡(luò)接口或適配器1494連接至局域網(wǎng)。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)1442通常包括調(diào)制解調(diào)器1496或其它裝置,用于通過廣域網(wǎng)1492,如因特網(wǎng)建立通信。調(diào)制解調(diào)器1496可以是內(nèi)置或外置的,通過串行端口接口1468連接至總線1448。在網(wǎng)絡(luò)化環(huán)境中,描述的與計算機(jī)1442相關(guān)的程序模塊或其部分可儲存在遠(yuǎn)程存儲器存儲設(shè)備中??梢岳斫猓境龅木W(wǎng)絡(luò)連接是示例性的,也可以使用在計算機(jī)之間建立通信鏈路的其它裝置。
一般而言,計算機(jī)1442的數(shù)據(jù)處理器通過在不同時刻儲存在計算機(jī)的各種計算機(jī)存儲媒質(zhì)中的指令來編程。例如,程序和操作系統(tǒng)通常分布在軟盤或CD-ROM上。它們從那里被安裝或加載到計算機(jī)的次級存儲器中。在執(zhí)行時,它們被至少部分地加載到計算機(jī)的初級電子存儲器中。這里描述的本發(fā)明包括這些和其它不同類型的計算機(jī)可讀存儲媒質(zhì),這類媒質(zhì)包含用于實(shí)現(xiàn)下文結(jié)合微處理器或其它數(shù)據(jù)處理器描述的塊的指令或程序。當(dāng)依照這里所描述的方法和技術(shù)來編程時,本發(fā)明也包括計算機(jī)本身。
為說明目的,這里示出諸如OS的程序和其它可執(zhí)行程序組件為離散的塊,盡管可以認(rèn)識到,這類程序和組件在不同時刻駐留在計算機(jī)的不同存儲組件中,并且由計算機(jī)的數(shù)據(jù)處理器執(zhí)行。
總結(jié)實(shí)現(xiàn)方法允許使用完全與本地機(jī)器的OS兼容的多個共存且能共同操作的模塊。這些共存且能共同操作的模塊可以是登錄插件模型,使憑證提供器能夠通過其OS登錄到本地機(jī)器,其中,該模型包括但不限于,數(shù)字證書、生物測定、用戶名和密碼憑證等等。這些共存且能共同操作的模塊也可以是預(yù)登錄訪問提供器,包括但不限于,因特網(wǎng)隧道應(yīng)用、無線通信應(yīng)用、以太網(wǎng)VPN應(yīng)用、使用撥號56K調(diào)制解調(diào)器硬件的雙絞線電路交換網(wǎng)絡(luò)應(yīng)用等等。
本發(fā)明可以在不脫離其精神或本質(zhì)特征的情況下以其它的具體形式來實(shí)施。描述的實(shí)施例在各方面被認(rèn)為是說明性的而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非上述描述來指示。處于權(quán)利要求書的等效技術(shù)方案的意義和范圍之內(nèi)的所有變化都包含在其范圍之內(nèi)。
權(quán)利要求
1.一種方法,其特征在于,它包括用多個不同的憑證提供器模塊中相對應(yīng)的一個來翻譯憑證,每一憑證提供器模塊將相對應(yīng)的不同類型的所述憑證翻譯成一公用憑證協(xié)議;通過憑證提供器應(yīng)用程序接口(API)將具有所述公用憑證協(xié)議的經(jīng)翻譯的憑證傳遞到本地機(jī)器的本地操作系統(tǒng)(OS)的登錄用戶界面(UI)模塊;調(diào)用一登錄例程以使所述OS對照憑證數(shù)據(jù)庫驗(yàn)證經(jīng)翻譯的憑證;以及當(dāng)所述驗(yàn)證成功時,登錄由經(jīng)翻譯的憑證所標(biāo)識的用戶以訪問所述本地機(jī)器。
2.如權(quán)利要求1所述的方法,其特征在于,在多個所述憑證由各自的所述不同的憑證提供器模塊成功地翻譯、傳遞并驗(yàn)證之前,所述用戶不被登錄到所述本地機(jī)器。
3.如權(quán)利要求1所述的方法,其特征在于,當(dāng)翻譯所述憑證時,所述用戶不被登錄到所述本地機(jī)器。
4.如權(quán)利要求1所述的方法,其特征在于,所述對憑證的翻譯還包括所述登錄UI模塊請求所述憑證提供器模塊的平面列表;在由所述登錄UI模塊呈現(xiàn)的顯示屏上顯示所述平面列表;以及從顯示的平面列表中選擇一個所述憑證提供器模塊。
5.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)用登錄例程以使OS對照憑證數(shù)據(jù)庫驗(yàn)證經(jīng)翻譯的憑證還包括將經(jīng)翻譯的憑證傳遞到一本地安全授權(quán)機(jī)構(gòu)(LSA);以及使用所述LSA對照從一組中選擇的憑證數(shù)據(jù)庫確定所述驗(yàn)證,所述組包括一本地安全賬號管理器(SAM)數(shù)據(jù)庫;一不同于所述SAM數(shù)據(jù)庫的本地數(shù)據(jù)庫;一遠(yuǎn)程憑證數(shù)據(jù)庫;一令牌協(xié)議憑證服務(wù);一詢問和響應(yīng)協(xié)議服務(wù);以及一遠(yuǎn)離所述本地機(jī)器的域上的活動目錄(AD)和Kerberos分發(fā)中心(KDC)。
6.如權(quán)利要求1所述的方法,其特征在于,每一所述憑證提供器模塊通過憑證提供器API可與所述OS共同操作。
7.如權(quán)利要求1所述的方法,其特征在于,每一不同類型的憑證從一組中選擇,所述組包括用戶名和密碼、硬件令牌憑證、數(shù)字證書憑證、智能卡憑證、詢問和響應(yīng)協(xié)議憑證、視網(wǎng)膜、人臉、門或通道、筆跡樣本、語音、氣味、指紋和另一生物測定樣本。
8.一種包括計算機(jī)指令的計算機(jī)可讀媒質(zhì),其特征在于,當(dāng)由計算機(jī)執(zhí)行所述指令時,執(zhí)行權(quán)利要求1所述的方法。
9.一種方法,其特征在于,它包括在與具有OS的本地機(jī)器進(jìn)行通信的輸入設(shè)備上從用戶處接收一憑證;使用各不相同的共存憑證提供器模塊之一翻譯所述憑證,所述憑證提供器模塊用于分別將不同類型的憑證翻譯成一公用憑證協(xié)議;以及使用所述OS的組件對照憑證數(shù)據(jù)庫驗(yàn)證具有所述公用憑證協(xié)議的經(jīng)翻譯的憑證;以及當(dāng)驗(yàn)證成功時,將所述用戶登錄到所述OS以訪問所述本地機(jī)器。
10.如權(quán)利要求9所述的方法,其特征在于,登錄所述用戶還包括在所述多個憑證被成功接收、由相應(yīng)的所述不同的共存憑證提供器模塊翻譯、以及驗(yàn)證之后,將所述用戶登錄到所述本地機(jī)器。
11.如權(quán)利要求9所述的方法,其特征在于,當(dāng)驗(yàn)證所翻譯的憑證時,所述用戶不登錄到所述本地機(jī)器。
12.如權(quán)利要求9所述的方法,其特征在于,使用所述OS的組件來對照所述憑證數(shù)據(jù)庫驗(yàn)證具有所述公用憑證協(xié)議的經(jīng)翻譯的憑證還包括將經(jīng)翻譯的憑證傳遞到一LSA;以及對照憑證數(shù)據(jù)庫用所述LSA確定所述驗(yàn)證,所述憑證數(shù)據(jù)庫選自一SAM數(shù)據(jù)庫;一不同于所述SAM數(shù)據(jù)庫的本地數(shù)據(jù)庫;一遠(yuǎn)程憑證數(shù)據(jù)庫;一令牌協(xié)議憑證服務(wù);一詢問和響應(yīng)協(xié)議服務(wù);或一遠(yuǎn)離所述本地機(jī)器的域上的AD和KDC。
13.如權(quán)利要求9所述的方法,其特征在于,每一所述憑證提供器模塊通過一憑證提供器API可與所述OS的組件共同操作。
14.一種包括指令的計算機(jī)可讀媒質(zhì),其特征在于,當(dāng)由計算機(jī)執(zhí)行所述指令時,執(zhí)行權(quán)利要求9所述的方法。
15.一種方法,其特征在于,它包括用在本地機(jī)器上執(zhí)行的應(yīng)用程序來請求憑證,所述本地機(jī)器具有用戶向其登錄的OS,所述本地機(jī)器與一輸入設(shè)備進(jìn)行通信;使用各不相同的共存憑證提供器模塊之一在所述輸入設(shè)備上從所述用戶收集所述憑證;以及將所收集的憑證交給所述應(yīng)用程序用于驗(yàn)證,其中每一所述憑證提供器模塊可收集相應(yīng)不相同類型的憑證;每一所述憑證提供器模塊通過一憑證提供器API與所述OS接口;所述憑證提供器API接收由任一所述憑證提供器模塊收集的憑證;以及每一所述憑證提供器模塊可將它所收集的一相應(yīng)的所述類型的憑證提供到所述憑證提供器API用于驗(yàn)證主體,以登錄所述OS來訪問所述本地機(jī)器。
16.一種包括指令的計算機(jī)可讀媒質(zhì),其特征在于,當(dāng)由計算機(jī)執(zhí)行所述指令時,執(zhí)行權(quán)利要求15所述的方法,
17.一種方法,其特征在于,它包括在與具有OS的本地機(jī)器通信的輸入設(shè)備上從用戶處接收一憑證;用對應(yīng)于所述輸入設(shè)備的憑證提供器模塊翻譯所述憑證;其中所述憑證提供器模塊是多個共存的各不相同的所述憑證提供器模塊之一;以及每一所述憑證提供器模塊可執(zhí)行對在與所述本地機(jī)器通信的不同的所述輸入設(shè)備上接收的相應(yīng)的不同類型的所述憑證的翻譯;以及對每一所述憑證的每一所述翻譯是以一公用憑證協(xié)議的形式;通過一憑證提供器接口將具有所述通用憑證協(xié)議的經(jīng)翻譯的憑證傳遞到所述OS的一登錄UI例程;將具有所述公用憑證協(xié)議的經(jīng)翻譯的憑證從所述登錄UI例程傳送到所述OS的一登錄例程;對照一憑證數(shù)據(jù)庫用所述OS的登錄例程驗(yàn)證經(jīng)翻譯的憑證;以及當(dāng)所述驗(yàn)證成功時,登錄所述用戶以用所述OS訪問所述本地機(jī)器。
18.如權(quán)利要求17所述的方法,其特征在于,登錄所述用戶以用所述OS訪問所述本地機(jī)器還包括延遲登錄所述用戶以訪問所述本地機(jī)器,直到對多個所述憑證的每一個成功地重復(fù)了所述接收、所述翻譯、所述傳遞、所述傳送以及所述驗(yàn)證。
19.如權(quán)利要求17所述的方法,其特征在于,當(dāng)對照所述憑證數(shù)據(jù)庫用所述OS的登錄例程驗(yàn)證經(jīng)翻譯的憑證時,所述用戶不登錄來訪問所述本地機(jī)器。
20.如權(quán)利要求17所述的方法,其特征在于,對照所述憑證數(shù)據(jù)庫用所述OS的登錄例程驗(yàn)證經(jīng)翻譯的憑證還包括將經(jīng)翻譯的憑證從所述OS的登錄例程傳遞到一LSA;以及對照憑證數(shù)據(jù)庫用所述LSA確定所述驗(yàn)證,所述憑證數(shù)據(jù)庫選自一SAM數(shù)據(jù)庫;一不同于所述SAM數(shù)據(jù)庫的本地數(shù)據(jù)庫;一遠(yuǎn)程憑證數(shù)據(jù)庫;一令牌協(xié)議憑證服務(wù);一詢問和響應(yīng)協(xié)議服務(wù);或一遠(yuǎn)離所述本地機(jī)器的域上的AD和KDC。
21.一種包括指令的計算機(jī)可讀媒質(zhì),其特征在于,當(dāng)由計算機(jī)執(zhí)行所述指令時,執(zhí)行權(quán)利要求17所述的方法。
22.一種包括憑證提供器模塊的計算機(jī)可讀媒質(zhì),它包括指令,當(dāng)由具有OS的本地機(jī)器執(zhí)行所述指令時,接收憑證并將其翻譯成一憑證協(xié)議,以兼容用于由所述OS的驗(yàn)證組件對照一憑證數(shù)據(jù)庫進(jìn)行驗(yàn)證,以當(dāng)所述驗(yàn)證成功時,將由所述憑證標(biāo)識的用戶登錄到所述OS來訪問所述本地機(jī)器,其特征在于可通過一與所述OS的驗(yàn)證組件的接口來接收經(jīng)翻譯的憑證;與所述OS的驗(yàn)證組件的所述接口是可兼容的,用于從多個對應(yīng)的不同共存憑證提供器模塊接收多個所述憑證的每一個;以及每一所述不同共存憑證提供器模塊能夠從各自的輸入設(shè)備接收相應(yīng)的不同類型的所述憑證;以及將每一所述不同類型的所述憑證翻譯成所述憑證協(xié)議,以兼容用于由所述OS的驗(yàn)證組件對照所述憑證數(shù)據(jù)庫進(jìn)行驗(yàn)證。
23.如權(quán)利要求22所述的計算機(jī)可讀媒質(zhì),其特征在于,所述OS的驗(yàn)證組件包括一登錄UI模塊;一OS登錄模塊,用于從所述登錄UI模塊接收遠(yuǎn)程過程調(diào)用(RPC);以及一LSA,用于確定所述驗(yàn)證,并與選自以下組中的憑證數(shù)據(jù)庫進(jìn)行通信,所述組包括一SAM數(shù)據(jù)庫;一不同于所述SAM數(shù)據(jù)庫的本地數(shù)據(jù)庫;一遠(yuǎn)程憑證數(shù)據(jù)庫;一令牌協(xié)議憑證服務(wù);一詢問和響應(yīng)協(xié)議服務(wù);以及一遠(yuǎn)離所述本地機(jī)器的域上的AD和KDC。
24.一種本機(jī)OS,它包括驗(yàn)證模塊,其用從多個不同且共存的憑證提供器模塊之一接收的憑證來驗(yàn)證用戶,每一憑證提供器模塊將對應(yīng)的不同類型的用戶輸入翻譯成公用憑證協(xié)議中的憑證;以及當(dāng)所述驗(yàn)證成功時,登錄由經(jīng)翻譯的憑證標(biāo)識的用戶以訪問所述本地機(jī)器。
25.一種包括預(yù)登錄訪問提供器(PLAP)模塊的計算機(jī)可讀媒質(zhì),它包括指令,當(dāng)由具有OS的本地機(jī)器執(zhí)行所述指令時,接收對應(yīng)于所述PLAP模塊的憑證和訪問服務(wù);用所述訪問服務(wù)建立與域的通信,用于由所述OS的驗(yàn)證組件對照憑證數(shù)據(jù)庫進(jìn)行驗(yàn)證,以當(dāng)所述驗(yàn)證成功時,將由所述憑證標(biāo)識的用戶登錄到所述OS以訪問所述本地機(jī)器;其中所述憑證可通過與所述OS的驗(yàn)證組件的接口來接收;與所述OS的驗(yàn)證組件的接口是可兼容的,用于從對應(yīng)的多個不同且共存的所述PLAP模塊接收多個所述憑證和所述訪問服務(wù)的每一個;以及每一所述不同且共存的PLAP模塊可建立相應(yīng)的不同類型的連接以兼容用于在由所述OS的驗(yàn)證組件對照所述憑證數(shù)據(jù)庫進(jìn)行驗(yàn)證中進(jìn)行通信。
26.如權(quán)利要求25所述的計算機(jī)可讀媒質(zhì),其特征在于,所述OS的驗(yàn)證組件包括一登錄UI模塊;一OS登錄模塊,用于從所述登錄UI模塊接收RPC調(diào)用;以及一LSA,用于確定所述驗(yàn)證,并與選自以下組中的憑證數(shù)據(jù)庫進(jìn)行通信,所述組包括一SAM數(shù)據(jù)庫;一不同于所述SAM數(shù)據(jù)庫的本地數(shù)據(jù)庫;一遠(yuǎn)程憑證數(shù)據(jù)庫;一令牌協(xié)議憑證服務(wù);一詢問和響應(yīng)協(xié)議服務(wù);以及一遠(yuǎn)離所述本地機(jī)器的域上的AD和KDC。
27.一種包括與一驗(yàn)證模塊的PLAP管理器API的本機(jī)OS,其特征在于多個不同且共存的PLAP模塊的每一個可在所述PLAP管理器API和對應(yīng)于所述PLAP模塊的訪問服務(wù)之間建立連接;每一所述PLAP模塊指定一憑證以及一到所述對應(yīng)的訪問服務(wù)的對應(yīng)的不同類型的連接;所述驗(yàn)證模塊使用由一個所述PLAP模塊指定的所述憑證驗(yàn)證主體以通過所述本機(jī)OS訪問本地機(jī)器;以及當(dāng)對所述主體的驗(yàn)證成功時,所述主體可使用所述本地機(jī)器以在所述PLAP管理器API和對應(yīng)于一個所述PLAP模塊的所述訪問服務(wù)之間進(jìn)行通信。
28.一種方法,其特征在于,它包括用OS的登錄UI模塊通過與其接口之PLAP管理器API向?qū)?yīng)的多個共存且不同的PLAP模塊請求一訪問服務(wù)的平面列表;在由所述登錄UI模塊呈現(xiàn)的顯示屏上顯示所述訪問服務(wù)的平面列表;接收憑證的輸入以及從所述顯示的所述訪問服務(wù)列表的一個所述訪問服務(wù)的選擇;當(dāng)使用一個所述訪問服務(wù)建立到域的連接時向所述域上的一驗(yàn)證提供器傳送所述憑證;對照所述域上的所述驗(yàn)證提供器執(zhí)行所述憑證的第一驗(yàn)證;以及當(dāng)所述第一驗(yàn)證成功時將所述憑證從所述PLAP API傳遞到所述登錄UI模塊;執(zhí)行從傳送所述憑證的所述登錄UI模塊到一OS登錄模塊的RPC調(diào)用;使用一LSA登錄用戶調(diào)用將所述憑證從所述OS登錄模塊傳送到所述LSA;使用所述LSA對照選自以下組中的一憑證數(shù)據(jù)庫執(zhí)行第二驗(yàn)證,所述組包括一SAM數(shù)據(jù)庫;一不同于所述SAM數(shù)據(jù)庫的遠(yuǎn)程數(shù)據(jù)庫;一遠(yuǎn)程憑證數(shù)據(jù)庫;一令牌協(xié)議憑證服務(wù);一詢問和響應(yīng)協(xié)議服務(wù);以及一遠(yuǎn)離所述本地機(jī)器的域上的AD和KDC;當(dāng)所述第二驗(yàn)證成功時,登錄由所述憑證標(biāo)識的用戶以使用執(zhí)行所述OS的本地機(jī)器。
29.如權(quán)利要求28所述的方法,其特征在于,它還包括,當(dāng)使用該一個所述訪問服務(wù)未建立到所述域的連接時在由所述登錄UI模塊呈現(xiàn)的顯示器屏上重顯示所述訪問服務(wù)的平面列表;提示輸入其它憑證以及一個所述訪問服務(wù)的另一選擇;接收所述其它憑證的輸入以及一個所述訪問服務(wù)的另一選擇;以及試圖使用該一個所述訪問服務(wù)的另一選擇建立到域的連接。
30.在具有用于執(zhí)行包括驗(yàn)證組件的OS的處理器的計算裝置中,所述驗(yàn)證組件具有一登錄UI模塊、一用于從所述登錄UI模塊接收RPC調(diào)用的OS登錄模塊、一用于從所述OS登錄模塊接收LSA登錄用戶調(diào)用的LSA,其中,所述LSA與一個或多個憑證數(shù)據(jù)庫進(jìn)行通信,其中,所述計算裝置執(zhí)行在計算機(jī)可讀媒質(zhì)中的指令,并且其中,所述指令包括多個不同、共存且相應(yīng)的PLAP和憑證提供器模塊,其中每一所述模塊與一到所述登錄UI模塊的API進(jìn)行通信;所述登錄UI模塊是可兼容的,用于接收憑證;以及由對應(yīng)的所述PLAP模塊指定的訪問服務(wù)的選擇;當(dāng)所接收的憑證由所述API對照所述域上的一個或多個憑證數(shù)據(jù)庫驗(yàn)證時,所述API能夠使用所選擇的訪問服務(wù)建立并維護(hù)通過連接到域的網(wǎng)絡(luò)會話;由所述登錄UI模塊接收的所述憑證使用所述憑證提供器模塊的對應(yīng)的一個來翻譯,每一所述憑證提供器模塊將對應(yīng)的不同類型的所述憑證翻譯成一公用憑證協(xié)議;每一所述憑證提供器模塊將具有所述公用憑證協(xié)議的經(jīng)翻譯的憑證通過所述API傳遞到所述OS的驗(yàn)證組件,以對照所述一個或多個憑證數(shù)據(jù)庫驗(yàn)證經(jīng)翻譯的憑證;以及當(dāng)所述驗(yàn)證成功時,所述OS的驗(yàn)證組件登錄由經(jīng)翻譯的憑證標(biāo)識的用戶以訪問所述本地機(jī)器。
31.如權(quán)利要求30所述的計算機(jī)可讀媒質(zhì),其特征在于,所述登錄UI模塊還包括指令,用于請求以下的平面列表來自并對應(yīng)于所述憑證提供器模塊的憑證的表示;以及來自并對應(yīng)于所述PLAP模塊的訪問服務(wù);呈現(xiàn)每一所述平面列表的顯示;以及接收來自所述顯示上的每一所述平面列表的一個或多個選擇。
32.如權(quán)利要求30所述的計算機(jī)可讀媒質(zhì),其特征在于,每一不同類型的憑證選自用戶名和密碼、硬件令牌憑證、數(shù)字證書憑證、智能卡憑證、詢問和響應(yīng)協(xié)議憑證、視網(wǎng)膜、人臉、門或通道、筆跡樣本、語音、氣味、指紋或另一生物測定樣本。
全文摘要
使用不同的憑證提供器模塊之一翻譯憑證,每一憑證提供器模塊將對應(yīng)的不同類型的憑證翻譯成一公用協(xié)議。經(jīng)翻譯的憑證通過到登錄UI模塊的API傳遞到本地機(jī)器的操作系統(tǒng)(OS)。由登錄UI模塊調(diào)用OS登錄模塊以對照憑證數(shù)據(jù)庫驗(yàn)證經(jīng)翻譯的憑證。當(dāng)驗(yàn)證成功時,登錄由經(jīng)翻譯的憑證標(biāo)識的用戶以訪問本地機(jī)器。憑證也可用于從登錄UI模塊通過不同的預(yù)登錄訪問提供器(PLAP)模塊的對應(yīng)的一個接收的選擇,每一PLAP模塊與API進(jìn)行通信。當(dāng)使用憑證數(shù)據(jù)庫驗(yàn)證憑證后,API使用由所選擇的PLAP模塊指定的訪問服務(wù)建立網(wǎng)絡(luò)會話。
文檔編號G06F21/20GK1610292SQ20041007691
公開日2005年4月27日 申請日期2004年9月2日 優(yōu)先權(quán)日2003年10月24日
發(fā)明者B·A·赫茨, C·伊拉克, E·C·珀林, E·R·弗羅, J·斯蒂芬斯, K·U·舒爾茨, S·里查德斯, S·M·里瑟 申請人:微軟公司