專利名稱:用于場內(nèi)富客戶端的輕量認(rèn)證的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及支持富客戶端應(yīng)用、同時緩解組件在富客戶端上的復(fù)雜的依賴關(guān)系和安裝的認(rèn)證機制。
背景技術(shù):
隨著計算技術(shù)的發(fā)展以及計算設(shè)備變得越來越普遍,計算機編程技術(shù)可適合用于所使用中的廣泛的各種計算設(shè)備。例如,可根據(jù)各種編程語言來生成程序代碼以控制 大小、容量不同的計算設(shè)備,從相對受限的設(shè)備(諸如簡單的嵌入式系統(tǒng)、移動手持設(shè)備等)到大的、高性能的計算實體(諸如數(shù)據(jù)中心或服務(wù)器群集)。常規(guī)上,當(dāng)應(yīng)用被開發(fā)和/或修改以與計算設(shè)備一起使用時,通常已經(jīng)按照兩種方式之ー開始著手用戶的認(rèn)證。第一種方案是純在線的基于web的方案,其中認(rèn)證通過被稱為“cookie”的機制來發(fā)生。使用這種方案,組件和/或依賴關(guān)系發(fā)生在服務(wù)器側(cè)(例如,web側(cè)),而客戶端側(cè)(例如,客戶端機器、客戶端設(shè)備)簡單地使用瀏覽器來與服務(wù)器側(cè)交互。因此,軟件不被安裝在客戶端機器上。然而,這種方案的問題在于,僅在瀏覽器打開時,所認(rèn)證的會話狀態(tài)才保持打開。此外,此方案僅對web應(yīng)用起作用,而對在桌面上運行的應(yīng)用(例如,富客戶端)則不起作用。第二種用于認(rèn)證的方案是用于富客戶端的。在此方案中,軟件(和復(fù)雜的依賴關(guān)系)被下載并安裝到客戶端機器上。在一些情況下,此方案的問題在于,被下載和安裝的軟件非常大,這可能消耗客戶端機器上的寶貴資源。此方案的另ー個問題在干,由于平臺眾多,故創(chuàng)建不同的軟件組件并使其可用于在不同客戶端機器上安裝(取決于所支持的平臺)。這可能帶來眾多部署挑戰(zhàn),這會減少系統(tǒng)的可用性并會帶來負(fù)面的用戶體驗。此外,還針對不同語言創(chuàng)建軟件組件并使其可用于在客戶端機器上安裝。因此,當(dāng)今不存在適當(dāng)支持緩解軟件的安裝(復(fù)雜的依賴關(guān)系)的認(rèn)證機制的系統(tǒng)。此外,當(dāng)今不存在允許富客戶端側(cè)以無縫且集成的方式與服務(wù)器側(cè)組件交互的系統(tǒng)。當(dāng)今的計算系統(tǒng)和認(rèn)證系統(tǒng)技術(shù)的上述缺點僅g在提供常規(guī)系統(tǒng)的一些問題的概覽,并且不g在是窮盡性的。常規(guī)系統(tǒng)的其他問題以及此處所描述的各非限制性實施例的對應(yīng)的益處可以在審閱以下描述后變得更顯而易見。
發(fā)明內(nèi)容
此處提供了簡化的發(fā)明內(nèi)容以幫助能夠?qū)σ韵赂敿?xì)的描述和附圖中的示例性、非限制性實施例的各方面有基本或大體的理解。然而,本發(fā)明內(nèi)容并不g在作為詳盡的或窮盡的。相反,本節(jié)發(fā)明內(nèi)容的唯一目的在于,以簡化的形式提出與一些示例性、非限制性實施方式相關(guān)的ー些概念,作為以下各實施方式的更詳細(xì)的描述的序言。在一個或多個實施例中,所公開的方面利用自己開發(fā)的注冊門戶,該注冊門戶橋接客戶端側(cè)和服務(wù)器側(cè)之間的通信。注冊門戶提供安全通信信道,該安全通信信道便于并簡化到客戶端側(cè)上的單個登錄服務(wù)的用戶登陸體驗。此外,所公開的方面提供客戶端設(shè)備(客戶端側(cè))和web門戶(服務(wù)器側(cè))之間的敏感數(shù)據(jù)的交換,其中該敏感數(shù)據(jù)被加密并在安全信道內(nèi)傳遞。根據(jù)ー些方面,所公開的實施例通過基于web的次級應(yīng)用在客戶端側(cè)上提供單點登錄標(biāo)識認(rèn)證服務(wù)。根據(jù)一方面,以此方式,使用web瀏覽器文檔對象模型(D0M或DOM對象模型)和公鑰基礎(chǔ)結(jié)構(gòu)(PKI)密鑰交換技術(shù),在客戶端應(yīng)用和web服務(wù)器之間交換敏感數(shù)據(jù)。這些和其他實施例在下文中更詳細(xì)地描述。
參考附圖進ー步描述各非限制性實施例,在附圖中圖I示出,根據(jù)一方面,與客戶端側(cè)應(yīng)用相關(guān)聯(lián)的示例性計算系統(tǒng)的框圖。
圖2示出,根據(jù)一方面,與服務(wù)器側(cè)應(yīng)用相關(guān)聯(lián)的另ー示例性計算系統(tǒng)。圖3是示出,根據(jù)一方面,包含網(wǎng)頁控制組件和憑證組件的控制管理器組件的框圖。圖4是示出,根據(jù)一方面,包含主機組件和訪問管理器組件的驗證處理組件的框圖。圖5示出,根據(jù)一方面,場內(nèi)(on-premise)富客戶端內(nèi)的單點登錄服務(wù)的簡單流程的非限制性示例。圖6示出,根據(jù)一方面,圖5的輕量認(rèn)證機制的簡單流程的非限制性示例的延續(xù)。圖7示出,根據(jù)一方面,使用輕量認(rèn)證機制的敏感數(shù)據(jù)交換的簡單流程的非限制性示例。圖8示出,根據(jù)一方面,使用圖7的輕量認(rèn)證機制的敏感數(shù)據(jù)交換的簡單流程的非限制性示例的延續(xù)。圖9是示出,根據(jù)一方面,從客戶端側(cè)角度的認(rèn)證的示例性非限制性過程的流程圖。圖10是示出,根據(jù)一方面,從服務(wù)器側(cè)角度的認(rèn)證的示例性非限制性過程的流程圖。圖11是表示其中可實現(xiàn)在本文中所述的各實施例的示例性非限制性聯(lián)網(wǎng)環(huán)境的框圖;以及圖12是表示其中可實現(xiàn)在本文中所述的各實施例的ー個或多個方面的示例性非限制性計算系統(tǒng)或操作環(huán)境的框圖。
具體實施例方式概覽通過介紹的方式,提供單點登錄服務(wù)以允許用戶使用一個帳戶登陸許多網(wǎng)站。通過單點登錄服務(wù),用戶登入一次而能夠訪問相關(guān)的但是不同的或獨立的軟件系統(tǒng),而不必在每個軟件系統(tǒng)處被提示再次登入。常規(guī)上,存在兩種實現(xiàn)單點登錄服務(wù)的不同方案。在第一種方案中,使用web瀏覽器來登入單點登錄服務(wù)站點。在此方案中,通過瀏覽器cookie來維持認(rèn)證會話令牌。在第ニ種方案中,富客戶端使用單點登錄服務(wù)助手作為單點登錄服務(wù)的認(rèn)證提供者。在第二種方案中,單點登錄服務(wù)助手運行時被安裝在客戶端機器上。存在與上述方案相關(guān)聯(lián)的ー些挑戰(zhàn)。第一,第一種方案通常僅對web應(yīng)用起作用,而不能被用于富客戶端。第二種方案的挑戰(zhàn)是要將單點登錄服務(wù)助手作為部署包的一部分來部署,這增加了下載和設(shè)置時間。此外,在測試時間段期間,不同單點登錄環(huán)境之間的切換經(jīng)常發(fā)生。這些環(huán)境之間的切換可能導(dǎo)致對某些客戶端機器設(shè)置的調(diào)整,這會在構(gòu)建部署(build deployment)期間引入復(fù)雜性。此外,由于單點登錄服務(wù)助手運行時的潛在限制,不同環(huán)境之間的切換在具有代理服務(wù)器的環(huán)境下不能很好地工作。另ー個不足在于在客戶端機器上安裝另ー組件潛在地増加并復(fù)雜化軟件打補丁、維護、和故障診斷努力。因此,允許用于單點登錄服務(wù)的輕量機制的演進會是有益的。在一實施例中,輕量認(rèn)證機制減少了富客戶端的設(shè)置占用(foot print)。認(rèn)證的一大部分發(fā)生在服務(wù)器側(cè),這可使測試和打補丁更容易在客戶端側(cè)實現(xiàn)。此外,如果存在問題,則與輕量認(rèn)證機制有關(guān)的組件不在客戶端側(cè)打補丁。此外,不同單點登錄服務(wù)環(huán)境之間的切換更簡單,因為改變僅在服務(wù)器側(cè)。因此,單點登錄服務(wù)應(yīng)用可以被自動切換,從而提供豐富的用戶體驗。在一個實施例中,認(rèn)證系統(tǒng)包括被配置為執(zhí)行一個或多個本地應(yīng)用的富客戶端。該認(rèn)證系統(tǒng)還包括被配置為向外部網(wǎng)站執(zhí)行認(rèn)證的控制管理器組件。該控制管理器組件與該ー個或多個本地應(yīng)用中的至少ー個相關(guān)聯(lián)。在一方面,該控制管理器組件被該外部網(wǎng)站托管在該富客戶端上。在一些實現(xiàn)中,該認(rèn)證系統(tǒng)包括被配置為建立與該外部網(wǎng)站的安全會話的會話處理組件。該安全會話根據(jù)該認(rèn)證來建立。在其他實現(xiàn)中,該認(rèn)證系統(tǒng)包括被配置為顯示被重定向到單點登錄服務(wù)標(biāo)識的該外部網(wǎng)站的網(wǎng)頁控制組件。該認(rèn)證系統(tǒng)還可包括被配置為創(chuàng)建被配置為接收憑證的用戶界面的憑證組件。該控制管理器組件將該憑證傳遞到該外部網(wǎng)站。此外,根據(jù)ー些實現(xiàn),該控制管理器組件在該認(rèn)證期間可見,并且在成功認(rèn)證之后被折疊。在一些實現(xiàn)中,該認(rèn)證系統(tǒng)包括被配置為建立與該外部網(wǎng)站的安全通信會話的會話處理組件。在其他實現(xiàn)中,該認(rèn)證系統(tǒng)包括會話處理組件,該會話處理組件被配置為響應(yīng)于網(wǎng)頁控制認(rèn)證過程而抓取(scrape)該外部網(wǎng)站以檢索共享密鑰。在進ー步的實現(xiàn)中,該認(rèn)證系統(tǒng)包括被配置為使用該共享密鑰與該外部網(wǎng)站交換數(shù)據(jù)的通信組件。該控制管理器組件被配置為用與該富客戶端的用戶相關(guān)聯(lián)的生物測定信息(biometrics)來執(zhí)行該認(rèn)證。在一些實現(xiàn)中,該安全會話是通過使用代理方案來建立的。在另ー實施例中是ー認(rèn)證系統(tǒng),該認(rèn)證系統(tǒng)包括被配置為在富客戶端上托管單點登錄服務(wù)的一部分的主機組件。該認(rèn)證系統(tǒng)還包括驗證處理組件,該驗證處理組件被配置為在該單點登錄服務(wù)上驗證該富客戶端。在ー些方面,該主機組件可被配置為將該富客戶端定向到在該富客戶端外部的網(wǎng)站。在一些實現(xiàn)中,該認(rèn)證系統(tǒng)包括訪問管理器組件,該訪問管理器組件從該網(wǎng)站接收該富客戶端的憑證,并選擇性地確定該富客戶端是否能夠使用該單點登錄服務(wù)的至少ー個服務(wù)。在其他實現(xiàn)中,該認(rèn)證系統(tǒng)包括安全管理器組件,該安全管理器組件被配置為在認(rèn)證之后建立并維護與該富客戶端的安全通信信道。在一些實現(xiàn)中,該安全管理器組件與該富客戶端執(zhí)行密鑰對交換以建立該安全通信信道。此外,該驗證處理組件被配置為用該富客戶端的用戶的生物測定信息來認(rèn)證該富客戶端。另ー方面涉及ー種建立安全通信信道的方法。該方法可包括向外部網(wǎng)站執(zhí)行認(rèn)證。該認(rèn)證通過在富客戶端上執(zhí)行的應(yīng)用上所托管的該外部網(wǎng)站的一部分來執(zhí)行。該方法還可包括建立與該外部網(wǎng)站的安全會話。該安全會話根據(jù)該認(rèn)證來建立。在一種實現(xiàn)中,該方法包括在該建立之后在該執(zhí)行和折疊該外部網(wǎng)站的該部分之前顯示該外部網(wǎng)站的該部分。
在一些實現(xiàn)中,該方法包括顯示被重定向到單點登錄服務(wù)標(biāo)識的外部網(wǎng)站并創(chuàng)建被配置為接收憑證的用戶界面。該方法還包括在該執(zhí)行之前將該憑證傳遞到該外部網(wǎng)站。在進ー步的實現(xiàn)中,該方法包括在該建立之前抓取該外部網(wǎng)站以獲得共享密鑰。此處,以上已經(jīng)呈現(xiàn)了認(rèn)證系統(tǒng)的實施例中的某些的概覽。作為接下來的內(nèi)容的路標(biāo),更詳細(xì)地描述認(rèn)證系統(tǒng)的各示例性、非限制性實施例和特征。隨后,為了附加說明,給出一些非限制性實現(xiàn)和示例,之后是其中可實現(xiàn)這些實施方式和/或特征的代表性網(wǎng)絡(luò)和計算環(huán)境。用于場內(nèi)富客戶端的輕量認(rèn)證通過對提供認(rèn)證的一個或多個非限制性方式的進ー步描述,圖I大致地示出了與客戶端側(cè)應(yīng)用相關(guān)聯(lián)的示例性計算系統(tǒng)的框圖。該計算系統(tǒng)包括客戶端環(huán)境100,該客戶端環(huán)境100可以是客戶端機器,其中一個或多個應(yīng)用在該客戶端機器上執(zhí)行。根據(jù)ー些方面,該客戶端機器是富客戶端,該富客戶端具有一些本地安裝的資源但還依賴于通過網(wǎng)絡(luò)分發(fā)的其他資源。然而,根據(jù)ー些方面,該客戶端環(huán)境100是不同類型的客戶端機器(例如,瘦客戶端、胖客戶端、混合客戶端等等)。當(dāng)用戶或客戶端與客戶端環(huán)境100交互時,該客戶端可期望向網(wǎng)站認(rèn)證,例如,以訪問各軟件系統(tǒng)(或網(wǎng)站)。如在此處所用的,用戶、客戶端、實體等等可以是指人類、行動者、計算機、因特網(wǎng)、系統(tǒng)(或另一系統(tǒng))、商業(yè)企業(yè)、機器、機械等等,并且在后文中將取決于上下文而通常被稱為用戶、客戶端或?qū)嶓w。為了訪問這些系統(tǒng)或網(wǎng)站,創(chuàng)建認(rèn)證請求110。例如,認(rèn)證請求Iio可在用戶訪問網(wǎng)站時被創(chuàng)建??刂乒芾砥?20被配置為根據(jù)認(rèn)證請求110來選擇性地便于用戶向外部認(rèn)證服務(wù)器認(rèn)證用戶。例如,控制管理器120被配置為從該用戶請求或收集憑證并選擇性地將那些憑證提供給該外部認(rèn)證服務(wù)器。在ー些方面,控制管理器120提示該用戶輸入該信息。在其他方面中,控制管理器120訪問數(shù)據(jù)庫或其他存儲介質(zhì)并獲得該信息。例如,用戶憑證信息可以在本地保留、基于先前的用戶輸入、并用于當(dāng)前認(rèn)證。然而,所公開的方面不限于此,而可以利用獲得用戶憑證信息的各種其他手段??刂乒芾砥?20與該外部認(rèn)證服務(wù)器交互以提供該用戶憑證信息?;谒峁┑男畔?,該外部認(rèn)證服務(wù)器可以拒絕該認(rèn)證或者可以批準(zhǔn)該認(rèn)證。如果該認(rèn)證被拒絕,則該拒絕的通信被提供給控制管理器120??梢蕴峁┅`個或多個額外的機會來提供正確的憑證信肩、O如果該外部認(rèn)證服務(wù)器批準(zhǔn)該認(rèn)證,則接收認(rèn)證接受130。在此情況下,會話處理組件140被配置為基于認(rèn)證接受130與服務(wù)器(例如,網(wǎng)站)建立受保護會話(或安全信道)。會話處理組件140可以利用各種機制來建立該安全會話。例如,該安全會話可以通過共享密鑰的交換、公鑰基礎(chǔ)結(jié)構(gòu)(PKI)、PKI數(shù)據(jù)的交換、秘密消息的交換、各種敏感數(shù)據(jù)的交換、所接近的代理、RSA安全ID等等來建立。該安全會話可以被該客戶端機器利用以使用所建立的認(rèn)證來訪問實體(服務(wù)器、網(wǎng)站等等)以及與實體通信。該認(rèn)證和安全會話可以被建立,直到用戶登出或指示該安全會話和/或認(rèn)證要被中止的另ー動作發(fā)生。圖2示出,根據(jù)一方面,與服務(wù)器側(cè)應(yīng)用相關(guān)聯(lián)的另ー示例性計算系統(tǒng)。該計算系統(tǒng)包括服務(wù)器環(huán)境200。在一示例中,服務(wù)器環(huán)境200是因特網(wǎng)。
可接收對認(rèn)證210的ー個或多個請求,其中每個請求是從不同用戶接收的。例如,第一請求可以是從第一用戶(例如,從圖I的控制管理器120)接收的,第二請求可以是從第二用戶接收的,等等。驗證處理組件200被配置為確定對認(rèn)證210的這些請求中的每ー個要被允許還是不被允許。例如,基于對認(rèn)證210的請求,驗證處理組件220可以與客戶端設(shè)備(例如,圖I的控制管理器120)交互以獲得用戶憑證信息。驗證處理組件220可以訪問數(shù)據(jù)存儲或其他存儲介質(zhì)來用所存儲的信息交叉引用(例如,從控制管理器120)所接收的憑證信息以確定所提供憑證信息是否準(zhǔn)確。如果不準(zhǔn)確,則對該認(rèn)證的拒絕可被發(fā)送到該客戶端設(shè)備。如果該認(rèn)證信息是準(zhǔn)確的(可被驗證),則批準(zhǔn)的通知被傳遞到該客戶端設(shè)備。根據(jù)ー些方面,驗證處理組件220被配置為用該富客戶端的用戶的生物測定信息來認(rèn)證該富客戶端。在傳遞該批準(zhǔn)的通知之后,安全信道建立請求230可由安全管理器240接收。該請求可從該客戶端設(shè)備(例如,圖I的控制管理器120)和/或從驗證處理組件220接收。安全管理器240被配置為建立并維護與該用戶(例如,客戶端設(shè)備)的安全通信信道,直到登出事件發(fā)生。安全管理器240可以利用各種機制來建立該安全會話。例如,該安全會話可以通過共享密鑰的交換、公鑰基礎(chǔ)結(jié)構(gòu)(PKI)、PKI數(shù)據(jù)的交換、秘密消息的交換、各種敏感數(shù)據(jù)的交換、所接近的代理、RSA安全ID等等來建立。在一實施例中,圖I和圖2所示的認(rèn)證系統(tǒng)在操作中可不同于常規(guī)認(rèn)證系統(tǒng),以提供優(yōu)于采用常規(guī)認(rèn)證系統(tǒng)的計算系統(tǒng)所能獲得的益處的額外益處。例如,此處公開的認(rèn)證系統(tǒng)可以被應(yīng)用到富客戶端,同時減少該富客戶端的設(shè)置占用。說明其它方面,圖3是示出包含網(wǎng)頁控制組件310和憑證組件320的控制管理器組件300的框圖。在一個實施例中,控制管理器組件300被外部網(wǎng)站托管在富客戶端上。該富客戶端被配置為執(zhí)行ー個或多個本地應(yīng)用。控制管理器組件300被配置為向外部網(wǎng)站執(zhí)行認(rèn)證。在一方面,控制管理器組件300與該ー個或多個本地應(yīng)用上的至少ー個相關(guān)聯(lián)。網(wǎng)頁控制組件310被配置為允許該客戶端設(shè)備與基于web的應(yīng)用交互。例如,該網(wǎng)頁控制組件被配置為顯示被重定向到單點登錄服務(wù)標(biāo)識的外部網(wǎng)站。網(wǎng)頁控制組件310提供對該基于web的應(yīng)用的訪問并且還允許該客戶端設(shè)備與該基于web的應(yīng)用無縫地交互。例如,網(wǎng)頁控制組件310被配置為顯示被重定向到單點登錄服務(wù)標(biāo)識的網(wǎng)頁。憑證組件320被配置為創(chuàng)建接收憑證的用戶界面。控制管理器組件300可將該憑證傳遞到該外部網(wǎng)站。根據(jù)ー些方面,憑證組件320允許該用戶輸入憑證,諸如用戶名/密碼對。該輸入可被直接應(yīng)用到該用戶界面并被傳遞到該單點登錄服務(wù)。根據(jù)單點登錄服務(wù)參數(shù),該用戶被認(rèn)證(或不被認(rèn)證)。例如,該單點登錄服務(wù)標(biāo)識可包含令牌,該令牌根據(jù)該web應(yīng)用認(rèn)證以托管認(rèn)證用戶的該web應(yīng)用。這在該網(wǎng)頁應(yīng)用(服務(wù)器側(cè))上發(fā)生但是對用戶來說顯得像是它在該客戶端設(shè)備(客戶端側(cè))上發(fā)生。根據(jù)ー些方面,該輸入被自動檢索(例如,從數(shù)據(jù)存儲)并應(yīng)用。在認(rèn)證后,會話處理模塊330被配置為與該外部網(wǎng)站建立安全連接以與該web應(yīng)用安全地交換數(shù)據(jù)(例如,繼續(xù)該通信)。該安全會話可根據(jù)該認(rèn)證來建立。根據(jù)ー些方面,響應(yīng)于網(wǎng)頁控制認(rèn)證過程,該會話處理組件330可以抓取由認(rèn)證服務(wù)器創(chuàng)建的外部網(wǎng)站。通過抓取該網(wǎng)站,會話處理組件330檢索共享密鑰。該客戶端設(shè)備可以使用該共享密鑰來與該服務(wù)器通信并因此可以按經(jīng)認(rèn)證的且安全的方式來 通信。會話處理組件330可包括被配置為使用該共享密鑰與該外部網(wǎng)站交換數(shù)據(jù)的通信組件340。根據(jù)ー些方面,可利用該富客戶端來利用生物測定信息認(rèn)證用戶。因此,控制管理器組件300被配置為用與該富客戶端的用戶相關(guān)聯(lián)的生物測定信息來執(zhí)行該認(rèn)證。例如,可獲得與拇指紋或面部識別有關(guān)的數(shù)據(jù)。此數(shù)據(jù)可通過安全web應(yīng)用被指回該網(wǎng)頁以執(zhí)行該認(rèn)證?;谠撜J(rèn)證,可以向該富客戶端提供令牌,該令牌可用于建立該安全會話。例如,提供該拇指紋(或其他生物測定信息)可以驅(qū)動該web應(yīng)用,該web應(yīng)用可以用加密令牌響應(yīng),該加密令牌抓取回該富客戶端應(yīng)用以建立安全通信信道。因此,它把該驗證的驗證部分委托給該web應(yīng)用側(cè)而該富客戶端負(fù)責(zé)用于認(rèn)證的數(shù)據(jù)收集。根據(jù)ー些方面,該認(rèn)證可以是RSA安全ID。在此方案中,該用戶鍵入密碼并且存在某個隨機生成的、變化的數(shù)字,該用戶會將該密碼與該數(shù)字相結(jié)合以執(zhí)行該認(rèn)證?;谠撁艽a和數(shù)字對的輸入,該用戶可被認(rèn)證而安全令牌可被生成以保護該連接。根據(jù)ー些方面,在與認(rèn)證完成大約相同的時刻,該web控制被從視圖中折疊或隱藏。因此,控制管理器組件300在該認(rèn)證期間是可見的,而在成功認(rèn)證之后被折疊。盡管該web控制被折疊,然而狀態(tài)被維持。根據(jù)ー些方面,密鑰保留在該頁面上并且在后續(xù)步驟中,該密鑰被從該頁面抓取。例如,在用戶鍵入密碼之后不久,在其中鍵入該密碼的頁面被從視圖中折疊或移除。隨后,該密鑰被從該網(wǎng)站抓取而安全通信路徑被建立。該頁面可被折疊以不使用戶分心。下面將參考圖4提供關(guān)于該認(rèn)證的進ー步的細(xì)節(jié)。說明其他方面,圖4是示出,根據(jù)一方面,包含主機組件410和訪問管理器組件420的驗證處理組件400的框圖。主機組件410被配置為在富客戶端上本地執(zhí)行的應(yīng)用上托管網(wǎng)站的一部分(或單點登錄服務(wù)的一部分)。該網(wǎng)站的該部分允許該網(wǎng)站將該用戶(例如,富客戶端)定向到網(wǎng)站以獲得憑證信息以與單點登錄服務(wù)建立認(rèn)證。訪問管理器組件420被配置為接收該憑證并確定該富客戶端的用戶是否要被認(rèn)證并被允許使用該單點登錄服務(wù)的服務(wù)。例如,訪問管理器組件420可從數(shù)據(jù)存儲檢索與該用戶憑證相關(guān)聯(lián)的數(shù)據(jù),并將所檢索的數(shù)據(jù)與從該富客戶端接收的數(shù)據(jù)相比較。如果該比較掲示該數(shù)據(jù)不與該憑證數(shù)據(jù)相匹配,則訪問被拒絕。如果該數(shù)據(jù)與該憑證信息相匹配,則訪問被允許。根據(jù)ー些方面,在與訪問被允許(例如,用戶被認(rèn)證)大約同時,主機組件410被折疊或從該富客戶端上的視圖被移除。在一示例中,主機組件410可由該富客戶端的用戶查看(例如,對用戶來說表現(xiàn)為圖3的網(wǎng)頁控制組件310)。在認(rèn)證后,安全管理器組件430被配置為建立并維護與該用戶(例如,客戶端設(shè)備、富客戶端)的安全通信信道,直到登出事件發(fā)生。在一示例中,安全管理器組件430與該富客戶端執(zhí)行密鑰對交換以建立該安全通信信道?,F(xiàn)在參考圖3和圖4,當(dāng)認(rèn)證完成時,服務(wù)器側(cè)和客戶端側(cè)之間的經(jīng)加密的共享憑證被創(chuàng)建(類似于共享密鑰)。因此,在與該web應(yīng)用被認(rèn)證大約同時,共享密鑰被創(chuàng)建并被加密并通過該網(wǎng)頁被呈現(xiàn)給該用戶。例如,該會話處理組件可以抓取該網(wǎng)頁并且從該網(wǎng)頁檢索該密鑰。因此,該會話處理組件響應(yīng)于網(wǎng)頁控制認(rèn)證過程而抓取由認(rèn)證服務(wù)器創(chuàng)建的外部網(wǎng)站以檢索該共享密鑰。該客戶端側(cè)可以使用該共享密鑰來與該服務(wù)器通信并因此該通信通過安全信道進行。在該抓取之后,使用該共享密鑰的是該富客戶端(例如,客戶端設(shè)備)。這允許該客戶端設(shè)備繼續(xù)承載在狀態(tài)機制標(biāo)識上,因為它是單點登錄機制。因此,該用戶可利用相同的密碼并利用該機制來純粹通過單點登錄服務(wù)認(rèn)證的機制認(rèn)證該用戶。從那時起,該共享密鑰機制被利用來繼續(xù)該認(rèn)證會話。根據(jù)ー些方面,建立該受保護會話是基于共享密鑰或另一方案的。例如,建立該安全會話可包括PKI、交換PKI數(shù)據(jù)、交換秘密消息、交換任何類型的敏感數(shù)據(jù)等等。根據(jù)ー些方面,代理方案被用于建立該安全會話。例如,中間人可被用于在該富客戶端和該服務(wù)器之間通信而不在客戶端設(shè)備上部署客戶端片段。該中間人可使用信道來在該服務(wù)器和該客戶端之間交換信息。根據(jù)ー些方面,中間人可利用與該客戶端設(shè)備相關(guān)聯(lián)的占用。在一方面,該中間人與該客戶端設(shè)備的操作系統(tǒng)位于一起和/或位于該服務(wù)器側(cè)上。根據(jù)ー些方面,該客戶端設(shè)備可以在進行中(或在運行時)生成密鑰對(私鑰/公鑰)并將該公鑰傳送到該服務(wù)器或傳送到該網(wǎng)頁。該公鑰可以通過該客戶端上的該網(wǎng)頁上的安全信道來傳送。該服務(wù)器可以獲取該密鑰并且加密秘密并將該秘密呈現(xiàn)給該客戶端設(shè)備。然后該客戶端設(shè)備可以從該網(wǎng)頁抓取該秘密。因為該客戶端設(shè)備保持該私鑰,所以僅該客戶端設(shè)備能將該秘密解密,這可使得該過程更加安全。該服務(wù)器和客戶端兩者共享同一秘密并建立安全通信信道。在概念上,存在兩個信道web應(yīng)用信道和富客戶端信道。該安全秘密可以通過該富客戶端信道來建立。為了將其建立,它被承載在該web應(yīng)用信道上從而不在該客戶端設(shè)備上下載組件以執(zhí)行復(fù)雜的密碼交換以建立該安全信道。作為克服常規(guī)認(rèn)證系統(tǒng)的限制的非限制性示例,圖5到圖8示出了,根據(jù)一方面,用于單點登錄服務(wù)的輕量認(rèn)證機制的詳細(xì)流程的非限制性示例。根據(jù)ー些方面,所公開的方面可以利用web瀏覽器文檔對象模型(D0M對象模型或D0M)和公鑰基礎(chǔ)結(jié)構(gòu)(PKI)密鑰交換技術(shù)來提供輕量認(rèn)證中介以及具有用于機密消息交換的擴展功能的平臺兩者。通過利用所公開的方面,用戶可以享受無縫用戶體驗,就像該客戶端設(shè)備正運行在該富客戶端應(yīng)用上一祥。此外,所公開的方面可允許貫穿該經(jīng)單點登錄服務(wù)認(rèn)證的會話、在安全信道上、在web服務(wù)器和場內(nèi)富客戶端之間交換敏感消息。
圖5到圖8中所公開的方面利用“修復(fù)中心”作為說明該詳細(xì)流程的示例。修復(fù)中心方案是ー種為用戶提供診斷并解決用戶在使用各種平臺時可能體驗到的問題的統(tǒng)一而集成的體驗的方案。修復(fù)中心的目標(biāo)是向用戶提供主動式(proactive)及反應(yīng)式(,reactive)支持。根據(jù)ー示例,該修復(fù)中心包括兩種客戶端側(cè)技術(shù)、應(yīng)用(修復(fù)中心客戶端)、基于web的技術(shù)、以及web門戶(修復(fù)中心門戶)。修復(fù)中心客戶端為用戶提供本地分析和故障診斷能力,這可有助于診斷和修復(fù)用戶機器上的問題。該修復(fù)中心門戶可聚集在用戶機器上執(zhí)行的故障診斷結(jié)果,并且可以提供針對與該用戶機器相關(guān)聯(lián)的問題的集成支持體驗。為了在用戶訪問該修復(fù)中心和其他網(wǎng)站時向用戶提供単一的且集中式的登錄體驗,該修復(fù)中心可使用單點登錄服務(wù)作為認(rèn)證信道。傳統(tǒng)上,單點登錄服務(wù)認(rèn)證可以依賴于單點登錄服務(wù)助手,該助手是安裝在每個單個用戶機器上的服務(wù)。對此服務(wù)的依賴意味著該修復(fù)中心將該單點登錄服務(wù)標(biāo)識登入助手作為部署的一部分來部署。這種依賴的缺點在于它不僅可増加部署時間,而且還可使進行中的測試、維護和故障診斷努力復(fù)雜化。代替相對于依靠傳統(tǒng)單點登入助手運行時來用 于客戶端認(rèn)證,該修復(fù)中心使用輕量認(rèn)證機制來執(zhí)行單點登錄標(biāo)識認(rèn)證而不依靠上述運行時。圖5-8的詳細(xì)流程概括了如何能夠?qū)τ趫鰞?nèi)富客戶端應(yīng)用實現(xiàn)根據(jù)所公開的方面的單點登錄服務(wù)認(rèn)證。此外,該詳細(xì)流程示出了如何通過使用PKI密鑰交換技術(shù)貫穿該單點登錄認(rèn)證會話來加密和交換敏感數(shù)據(jù)。下面的消息流在安全套接字層(SSL)協(xié)議上運行,該協(xié)議為客戶端設(shè)備和web服務(wù)器之間的消息交換提供了安全傳輸層。然而,注意,其他類型的認(rèn)證和/或協(xié)議可以與所公開的方面一起使用。首先參考圖5,示出了根據(jù)一方面,用于場內(nèi)(on-premise)富客戶端內(nèi)單點登錄服務(wù)的簡單流程的非限制性示例。用戶502 (被描繪為人類的表示)安裝修復(fù)中心客戶端504并執(zhí)行設(shè)置程序。在設(shè)置期間,用戶可以選擇創(chuàng)建與用戶的單點登錄服務(wù)標(biāo)識鏈接起來的修復(fù)中心在線賬戶。在此點,修復(fù)中心客戶端504在506啟動控制,該控制將該web瀏覽器嵌入在該客戶端應(yīng)用內(nèi)。此控制啟動修復(fù)中心注冊門戶508登入頁面,該頁面將該用戶定向到單點登錄服務(wù)站點512來登錄。根據(jù)ー些方面,將該用戶定向到單點登錄服務(wù)站點512與啟動控制基本上同時進行。在514,在其修復(fù)中心客戶端504上向用戶502呈現(xiàn)單點登錄服務(wù)登入頁面516,就像這只是在該客戶端環(huán)境內(nèi)發(fā)生的一祥。向用戶提供注冊和/或登陸的機會。圖6示出,根據(jù)一方面,圖5的輕量認(rèn)證機制的簡單流程的非限制性示例的延續(xù)。在602,用戶502在修復(fù)中心客戶端504上使用他/她的單點登錄id登錄(例如,提供單點登錄服務(wù)標(biāo)識)。在604,該單點登錄站點認(rèn)證用戶502。單點登入服務(wù)站點512通知修復(fù)中心注冊門戶508登陸成功。然后在606修復(fù)中心注冊門戶508通知用戶502該單點登錄標(biāo)識被成功認(rèn)證。該單點登錄服務(wù)站點會將用戶502重定向到該修復(fù)中心注冊門戶。該修復(fù)中心注冊門戶向用戶502確認(rèn)認(rèn)證完成。圖7示出,根據(jù)一方面,使用輕量認(rèn)證機制的敏感數(shù)據(jù)交換的簡單流程的非限制性示例。用戶502例如通過選擇“0K”按鈕來確認(rèn)修復(fù)中心賬戶要被創(chuàng)建。根據(jù)ー些方面,用戶502注冊修復(fù)中心在線賬戶。該修復(fù)中心注冊門戶生成機器密碼并且此密碼可被存儲在該客戶端機器上。為了幫助確保該敏感數(shù)據(jù)交換是安全的,修復(fù)中心客戶端504例如可以為每個通信會話使用RSA算法來生成密鑰對。在702,公鑰通過該客戶端上的嵌入式web表單上的SSL信道而被投寄到服務(wù)器,在一示例中,修復(fù)中心客戶端504創(chuàng)建密鑰對并且將公鑰投寄到修復(fù)中心注冊門戶508。修復(fù)中心注冊門戶508檢索該公鑰,創(chuàng)建機器密碼,并用該公鑰加密該機器密碼。在704,修復(fù)中心注冊門戶508將經(jīng)加密的機器密碼706投寄回修復(fù)中心客戶端504。圖8示出,根據(jù)一方面,使用圖7的輕量認(rèn)證機制的敏感數(shù)據(jù)交換的簡單流程的非限制性示例的延續(xù)。當(dāng)修復(fù)中心注冊門戶接收到被投寄的公鑰時,修復(fù)中心注冊門戶將為該顧客機器生成設(shè)備密碼。該密碼使用所投寄的公鑰來加密并通過該嵌入式web表單被返回至該修復(fù)中心客戶端。作為回報,修復(fù)中心客戶端從該嵌入式web表單檢索經(jīng)加密的密碼,然后通過使用其自己的私鑰將該密碼解密。然后該密碼被存儲在安全存儲內(nèi)。此機制有助于確保敏感數(shù)據(jù)被加密并通過安全信道傳送。如圖所示,修復(fù)中心客戶端504檢索經(jīng)加密的密碼706并用修復(fù)中心客戶端504的私鑰將經(jīng)加密的密碼706解密。在解密后,修 復(fù)中心客戶端504將該密碼存儲在安全存儲802內(nèi)。圖9是示出,根據(jù)一方面,從客戶端側(cè)角度的認(rèn)證的示例性非限制性過程的流程圖。在900,網(wǎng)頁控制被安裝在客戶端設(shè)備上。根據(jù)ー些方面,該網(wǎng)頁控制是外部網(wǎng)站的一部分。該網(wǎng)頁控制可以被該外部網(wǎng)站托管在該富客戶端上。在910,執(zhí)行向外部網(wǎng)站的認(rèn)證。該認(rèn)證可以通過在該富客戶端上執(zhí)行的應(yīng)用上所托管的該外部網(wǎng)站的一部分來執(zhí)行。根據(jù)ー些方面,該外部網(wǎng)站的該部分在該認(rèn)證期間被顯不O在920處,接收用戶憑證。例如,被重定向到單點登錄服務(wù)標(biāo)識的外部網(wǎng)站可被顯示而用戶界面可被創(chuàng)建。該用戶界面可被配置為接收該憑證,該憑證可以由富客戶端的用戶手動輸入和/或通過其他手段獲得(例如,通過訪問存儲自動獲得)。在930,該憑證被傳遞到外部網(wǎng)站。如果所提供的憑證與該外部網(wǎng)站所保留的信息相匹配,則該認(rèn)證成功,而所顯示的該外部網(wǎng)站的該部分被折疊(例如,從視圖移除)。如果所提供的憑證不與該外部網(wǎng)站所保留的信息相匹配,則該認(rèn)證被拒絕,而在該富客戶端處接收到錯誤消息。如果該認(rèn)證是成功的,則在940,與該外部網(wǎng)站建立安全通信。在一方面,可以通過抓取該外部網(wǎng)站來建立該安全通信以獲得共享密鑰。圖10是示出,根據(jù)一方面,從服務(wù)器側(cè)角度的認(rèn)證的示例性非限制性過程的流程圖。在1000,從富客戶端接收認(rèn)證請求。在1010,發(fā)送將該富客戶端定向到登入頁面的通知。例如,到該登入頁面的定向可以由被托管在富客戶端上運行的至少ー個本地應(yīng)用中的外部網(wǎng)站的一部分來促迸。該登入頁面與單點登入服務(wù)相關(guān)聯(lián)。在1020處,接收用戶憑證。根據(jù)該用戶憑證,作出是否要向該外部網(wǎng)站認(rèn)證該富客戶端的確定。如果該認(rèn)證不被允許(例如,憑證不匹配),則向該富客戶端提供錯誤。如果該認(rèn)證被允許,則在1030,驗證被傳遞到該富客戶端。在1040,與該富客戶端建立安全通信信道?,F(xiàn)在該富客戶端可通過該安全通信信道與該外部網(wǎng)站通信。所公開的方面提供了一種輕量機制,該機制不僅減少了富客戶端的設(shè)置占用,還使得測試和打補丁更加容易,這是因為大部分功能是在服務(wù)器側(cè)上執(zhí)行的。因為該應(yīng)用不對該客戶端機器上的與該單點登錄服務(wù)標(biāo)識認(rèn)證有關(guān)的組件打補丁。此外,使用所公開的方面,使不同環(huán)境之間的切換更簡單,因為改變僅在服務(wù)器上,這允許應(yīng)用被自動地切換。示例性聯(lián)網(wǎng)以及分布式環(huán)境本領(lǐng)域技術(shù)人員能夠理解,此處所述的認(rèn)證系統(tǒng)和方法的各實施例可結(jié)合任何計算機或其他客戶端或服務(wù)器設(shè)備來實現(xiàn),該任何計算機或其他客戶端或服務(wù)器設(shè)備可作為計算機網(wǎng)絡(luò)的一部分來部署或者被部署在分布式計算環(huán)境中,并且可連接到任何種類的數(shù)據(jù)存儲。在這一點上,此處描述的各實施例可在具有任何數(shù)量的存儲器或存儲單元的、并且任何數(shù)量的應(yīng)用和進程跨任何數(shù)量的存儲單元發(fā)生的任何計算機系統(tǒng)或環(huán)境中實現(xiàn)。這包括但不限于具有部署在具有遠(yuǎn)程或本地存儲的網(wǎng)絡(luò)環(huán)境或分布式計算環(huán)境中的服務(wù)器計算機和客戶計算機的環(huán)境。分布式計算通過計算設(shè)備和系統(tǒng)之間的通信交換來提供計算機資源和服務(wù)的共享。這些資源和服務(wù)包括信息的交換、對于諸如文件之類的對象的高速緩存存儲和盤存儲。 這些資源和服務(wù)還包括多個處理単元之間的處理能力共享以便進行負(fù)載平衡、資源擴展、處理專門化等等。分布式計算利用網(wǎng)絡(luò)連接,從而允許客戶端利用其集體力量來使整個企業(yè)受益。就此,各種設(shè)備可具有可如參考本發(fā)明的各實施例所述的參與認(rèn)證和安全通信機制的應(yīng)用、對象或資源。圖11提供了示例性的聯(lián)網(wǎng)或分布式計算環(huán)境的示意圖。該分布式計算環(huán)境包括計算對象1110、1112等以及計算對象或設(shè)備1120、1122、1124、1126、1128等,這些計算對象或設(shè)備可包括如應(yīng)用1130、1132、1134、1136、1138以及數(shù)據(jù)存儲1140所表示的程序、方法、數(shù)據(jù)存儲、可編程邏輯等??梢岳斫?,計算對象1110、1112等以及計算對象或設(shè)備1120、1122、1124、1126、1128等可包括不同的設(shè)備,諸如個人數(shù)字助理(PDA)、音頻/視頻設(shè)備、移動電話、MP3播放器、個人計算機、膝上型計算機等。每個計算對象1110、1112等以及計算對象或設(shè)備1120、1122、1124、1126、1128等可經(jīng)由通信網(wǎng)絡(luò)1142直接或間接地與一個或多個其他計算對象1110、1112等以及計算對象或設(shè)備1120、1122、1124、1126、1128等通信。盡管在圖11中被示為單個元件,但通信網(wǎng)絡(luò)1142可包括向圖11的系統(tǒng)提供服務(wù)的其他計算對象和計算設(shè)備和/或可表示未示出的多個互連網(wǎng)絡(luò)。每個計算對象1110、1112等或計算對象或設(shè)備1120、1122、1124、1126、1128等還可以含有應(yīng)用,諸如可以利用API或其他對象、軟件、固件和/或硬件的、適于實現(xiàn)或與根據(jù)各實施例所提供的認(rèn)證和安全通信技術(shù)進行通信的應(yīng)用1130、1132、1134、1136、1138。存在支持分布式計算環(huán)境的各種系統(tǒng)、組件和網(wǎng)絡(luò)配置。例如,計算系統(tǒng)可由有線或無線系統(tǒng)、本地網(wǎng)絡(luò)或廣泛分布的網(wǎng)絡(luò)連接在一起。當(dāng)前,許多網(wǎng)絡(luò)被耦合至因特網(wǎng),因特網(wǎng)為廣泛分布的計算提供了基礎(chǔ)結(jié)構(gòu)并包含許多不同的網(wǎng)絡(luò),但任何網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)都可用于便于與如各實施例中所描述的認(rèn)證系統(tǒng)的示例性通信。由此,可使用諸如客戶端/服務(wù)器、對等、或混合體系結(jié)構(gòu)之類的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的主機?!翱蛻舳恕笔鞘褂门c其無關(guān)的另ー類或組的服務(wù)的ー類或組中的成員??蛻舳丝梢允沁M程,即大致上是請求另ー程序或進程所提供的服務(wù)的ー組指令或任務(wù)。客戶端進程使用所請求的服務(wù),而無需“知道”關(guān)于其他程序或服務(wù)本身的任何工作細(xì)節(jié)。在客戶端/服務(wù)器體系結(jié)構(gòu)中,尤其在聯(lián)網(wǎng)系統(tǒng)中,客戶端通常是訪問另ー計算機(例如,服務(wù)器)所提供的共享網(wǎng)絡(luò)資源的計算機。在附圖11的圖示中,作為非限制性示例,計算對象或設(shè)備1120、1122、1124、1126、1128等可被認(rèn)為是客戶端而計算對象1110、1112等可被認(rèn)為是服務(wù)器,其中計算對象1110、1112等作為提供數(shù)據(jù)服務(wù)的服務(wù)器,諸如從客戶端計算對象或設(shè)備1120、1122、1124、1126、1128等接收數(shù)據(jù)、存儲數(shù)據(jù)、處理數(shù)據(jù)、向客戶端計算對象或設(shè)備1120、1122、1124、1126、1128等發(fā)送數(shù)據(jù),但任何計算機都可取決于環(huán)境而被認(rèn)為是客戶端、服務(wù)器、或兩者。服務(wù)器通常是可通過諸如因特網(wǎng)或無線網(wǎng)絡(luò)基礎(chǔ)架構(gòu)之類的遠(yuǎn)程網(wǎng)絡(luò)或本地網(wǎng)絡(luò)訪問的遠(yuǎn)程計算機系統(tǒng)??蛻舳诉M程可在第一計算機系統(tǒng)中活動,而服務(wù)器進程可在第ニ計算機系統(tǒng)中活動,它們通過通信介質(zhì)相互通信,由此提供分布式功能并允許多個客戶端利用服務(wù)器的信息收集能力。按照此處所述的技術(shù)來利用的任何軟件對象可単獨提供或分布在多個計算設(shè)備或?qū)ο笊稀?在通信網(wǎng)絡(luò)1142或總線是因特網(wǎng)的網(wǎng)絡(luò)環(huán)境中,例如,計算對象1110、1112等可以是其他計算對象或設(shè)備1120、1122、1124、1126、1128等經(jīng)由諸如超文本傳輸協(xié)議(HTTP)之類的多種已知協(xié)議中的任一種與其通信的Web服務(wù)器。計算對象1110、1112等作為服務(wù)器還可用作例如計算對象或設(shè)備1120、1122、1124、1126、1128等的客戶端,這可以是如分布式計算環(huán)境的特性。示例性計算設(shè)備如上所述,有利的是,此處所描述的技術(shù)可適用于期望在計算系統(tǒng)中執(zhí)行認(rèn)證和安全通信的任何設(shè)備。因此,應(yīng)當(dāng)理解,構(gòu)想了結(jié)合各實施例使用的所有種類的手持式、便攜式和其它計算設(shè)備和計算對象,即,在設(shè)備的資源使用可理想地優(yōu)化的任何地方。因此,以下在圖12中所述的通用遠(yuǎn)程計算機只是計算設(shè)備的ー個示例。盡管并非所需,但各實施例可部分地經(jīng)由操作系統(tǒng)來實現(xiàn),以供設(shè)備或?qū)ο蟮姆?wù)開發(fā)者使用和/或被包括在用于執(zhí)行此處所述的各實施例的一個或多個功能方面的應(yīng)用軟件內(nèi)。軟件可以在由諸如客戶端工作站、服務(wù)器或其它設(shè)備等一個或多個計算機執(zhí)行的諸如程序模塊等計算機可執(zhí)行指令的通用上下文中描述。本領(lǐng)域的技術(shù)人員可以理解,計算機系統(tǒng)具有可用于傳遞數(shù)據(jù)的各種配置和協(xié)議,并且由此沒有特定配置或協(xié)議要被認(rèn)為是限制性的。因此,圖12示出了其中可實現(xiàn)各實施例的ー個或多個方面的合適的計算系統(tǒng)環(huán)境1200的ー個示例,盡管如上所述,計算系統(tǒng)環(huán)境1200僅為合適的計算環(huán)境的ー個示例,并非對使用范圍或功能提出任何限制。也不應(yīng)當(dāng)將計算系統(tǒng)環(huán)境1200解釋為對在示例性計算系統(tǒng)環(huán)境1200中所示的組件中的任何一個或其組合有任何依賴或要求。參考圖12,用于實現(xiàn)一個或多個實施例的示例性遠(yuǎn)程設(shè)備包括計算機1210形式的通用計算設(shè)備。計算機1210的組件可包括,但不限干,處理單元1220、系統(tǒng)存儲器1230、以及將包括系統(tǒng)存儲器的各種系統(tǒng)組件耦合到處理單元1220的系統(tǒng)總線1222。計算機1210通常包括各種計算機可讀介質(zhì),并且可以是可由計算機1210訪問的任何可用介質(zhì)。系統(tǒng)存儲器1230可包括諸如只讀存儲器(ROM)和/或隨機存取存儲器(RAM)之類的易失性和/或非易失性存儲器形式的計算機存儲介質(zhì)。作為示例而非限制,系統(tǒng)存儲器1230還可包括操作系統(tǒng)、應(yīng)用程序、其他程序模塊、以及程序數(shù)據(jù)。根據(jù)進一歩的示例,計算機1210還可以包括各種其它介質(zhì)(未示出),可以包括,但不是限制,RAM,、R0M、EEPR0M、閃存存儲器或其它存儲器技術(shù),CD ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備或其它可用于存儲所需信息的有形的和/或非瞬時介質(zhì)。用戶可通過輸入設(shè)備1240向計算機1210輸入命令和信息。監(jiān)視器或其他類型的顯示設(shè)備也經(jīng)由諸如輸出接ロ 1250之類的接ロ連接到系統(tǒng)總線1222。除監(jiān)視器以外,計算機還可包括諸如揚聲器和打印機之類的其他外圍輸出設(shè)備,它們可通過輸出接ロ 1250連接。計算機1210可使用到ー個或多個其他遠(yuǎn)程計算機(諸如遠(yuǎn)程計算機1270)的諸如網(wǎng)絡(luò)接ロ 1260的邏輯連接在聯(lián)網(wǎng)或分布式環(huán)境中操作。遠(yuǎn)程計算機1270可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他常見網(wǎng)絡(luò)節(jié)點、或者任何其他遠(yuǎn)程媒體消費或傳輸設(shè)備,并且可包括以上關(guān)于計算機1210所述的任何或全部元件。圖12所示的邏輯連接包括諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)之類的網(wǎng)絡(luò)1272,但也可包括其他網(wǎng)絡(luò)/總線。這些聯(lián)網(wǎng)環(huán)境在家庭、辦公室、企業(yè)范圍的計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。 如上所述,盡管結(jié)合各種計算設(shè)備和網(wǎng)絡(luò)體系結(jié)構(gòu)描述了各示例性實施例,但底層概念可被應(yīng)用于任何網(wǎng)絡(luò)系統(tǒng)和任何計算設(shè)備或系統(tǒng)。此外,存在實現(xiàn)相同或相似功能的多種方法,例如適當(dāng)?shù)腁PI、工具箱、驅(qū)動程序代碼、操作系統(tǒng)、控件、獨立或可下載軟件對象等,它們使得應(yīng)用和服務(wù)能夠使用此處提供的技木。由此,此處的各實施例從API (或其他軟件對象)的觀點以及從實現(xiàn)如此處描述的ー個或多個實施例的軟件或硬件對象構(gòu)想。由此,此處所述的各實施例可具有完全采用硬件、部分采用硬件并且部分采用軟件、以及采用軟件的方面。本文中所使用的詞語“示例性”意味著用作示例、實例、或說明。為避免疑惑,本文所公開的主題不限于這些示例。另外,在此所述的被描述為“示例性”的任意方面或設(shè)計并不一定要被解釋為相比其它方面或設(shè)計更優(yōu)選或有利。此外,在使用術(shù)語“包括”、“具有”、“包含”和其他類似詞語的程度上,為避免疑惑,這些術(shù)語g在以類似于術(shù)語“包括”作為開放的過渡詞的方式是包含性的而不排除任何附加或其他元素。如所述的,此處所述的各種技術(shù)可結(jié)合硬件或軟件或,在適當(dāng)時,以兩者的組合來實現(xiàn)。如此處所使用的,術(shù)語“組件”、“系統(tǒng)”等同樣g在指計算機相關(guān)實體,或者是硬件、硬件和軟件的組合、軟件或者是執(zhí)行中的軟件。例如,組件可以是,但不限于是,在處理器上運行的進程、處理器、對象、可執(zhí)行碼、執(zhí)行的線程、程序和/或計算機。作為說明,在計算機上運行的應(yīng)用和計算機都可以是組件。一個或多個組件可以駐留在進程和/或執(zhí)行線程中,并且組件可以位于一個計算機內(nèi)和/或分布在兩個或更多計算機之間。如前所述的系統(tǒng)已經(jīng)參考若干組件之間的交互來描述??梢岳斫?,這些系統(tǒng)和組件可包括組件或指定的子組件、某些指定的組件或子組件和/或附加的組件,并且根據(jù)上述內(nèi)容的各種置換和組合。子組件還可作為通信地耦合到其他組件的組件來實現(xiàn),而不是被包括在父組件內(nèi)(層次性)。另外,應(yīng)注意到一個或多個組件可被組合成提供聚集功能的單個組件,或被分成若干単獨的子組件,且諸如管理層等任何ー個或多個中間層可被設(shè)置成通信耦合到這樣的子組件以便提供集成功能。此處所述的任何組件也可與ー個或多個此處未專門描述的但本領(lǐng)域技術(shù)人員一般已知的其他組件進行交互。鑒于以上所述的示例性系統(tǒng),參考各附圖的流程圖還可理解根據(jù)所述的主題實現(xiàn)的方法。盡管為了說明簡潔起見,作為一系列框示出和描述的方法,但是應(yīng)當(dāng)理解,各實施例不僅僅限于框的次序,因為ー些框可以與此處所描繪和描述的框不同的次序發(fā)生和/或與其他框并發(fā)地發(fā)生。盡管經(jīng)由流程圖示出了非順序或分支的流程,但可以理解,可實現(xiàn)達(dá)到相同或類似結(jié)果的各種其他分支、流程路徑和框的次序。此外,并非全部所示的框都是實現(xiàn)下面所述的方法所必需的。除了此處所描述的各實施例之外,可以理解,可以使用其他相似的實施例或者可 對所述實施例作出修改和添加以便執(zhí)行對應(yīng)的實施例的相同或等效的功能而不背離這些實施例。此外,多個處理芯片或多個設(shè)備可共享此處所述的ー個或多個功能的性能,并且類似地,存儲可跨多個設(shè)備實現(xiàn)。因此,本發(fā)明不應(yīng)限于任何單個實施例,而是應(yīng)當(dāng)根據(jù)所附權(quán)利要求書的廣度、精神和范圍來解釋。
權(quán)利要求
1.一種認(rèn)證系統(tǒng),包括 被配置為執(zhí)行一個或多個本地應(yīng)用的富客戶端(100);以及 被配置為執(zhí)行向外部網(wǎng)站的認(rèn)證的控制管理器組件(120),其中所述控制管理器組件(120)與所述ー個或多個本地應(yīng)用中的至少ー個相關(guān)聯(lián)。
2.如權(quán)利要求I所述的認(rèn)證系統(tǒng),其特征在于,所述控制管理器組件(120)被所述外部網(wǎng)站托管在所述富客戶端上。
3.如權(quán)利要求I所述的認(rèn)證系統(tǒng),其特征在于,還包括 被配置為與所述外部網(wǎng)站建立安全會話的會話處理組件(140),其中所述安全會話是根據(jù)所述認(rèn)證來建立的。
4.如權(quán)利要求I所述的認(rèn)證系統(tǒng),其特征在于,還包括 被配置為顯示被重定向到單點登錄服務(wù)標(biāo)識的所述外部網(wǎng)站的網(wǎng)頁控制組件(310);以及 被配置為創(chuàng)建被配置為接收憑證的用戶界面的憑證組件(320),其中所述控制管理器組件(120)將所述憑證傳遞到所述外部網(wǎng)站。
5.如權(quán)利要求I所述的認(rèn)證系統(tǒng),其特征在于,所述控制管理器組件(120)在所述認(rèn)證期間是可見的,而在成功認(rèn)證之后被折疊。
6.如權(quán)利要求I所述的認(rèn)證系統(tǒng),其特征在于,還包括被配置為與所述外部網(wǎng)站建立安全通信會話的會話處理組件(140)。
7.如權(quán)利要求I所述的認(rèn)證系統(tǒng),其特征在于,還包括被配置為響應(yīng)于網(wǎng)頁控制認(rèn)證過程而抓取所述外部網(wǎng)站以檢索共享密鑰的會話處理組件(140)。
8.如權(quán)利要求7所述的認(rèn)證系統(tǒng),其特征在干,還包括被配置為使用所述共享密鑰與所述外部網(wǎng)站交換數(shù)據(jù)的通信組件(340)。
9.如權(quán)利要求I所述的認(rèn)證系統(tǒng),其特征在于,其中所述控制管理器組件(120)被配置為用與所述富客戶端的用戶相關(guān)聯(lián)的生物測定信息來執(zhí)行所述認(rèn)證。
10.如權(quán)利要求I所述的認(rèn)證系統(tǒng),其特征在于,所述安全會話是通過使用代理方案來建立的。
11.ー種建立安全通信信道的方法,包括 通過在富客戶端上執(zhí)行的應(yīng)用上所托管的外部網(wǎng)站的一部分向所述外部網(wǎng)站認(rèn)證(910);以及 根據(jù)所述認(rèn)證與所述外部網(wǎng)站建立(940)安全會話。
12.如權(quán)利要求11所述的方法,其特征在于,還包括 在所述認(rèn)證之前顯示所述外部網(wǎng)站的所述部分;以及 在所述建立之后折疊所述外部網(wǎng)站的所述部分。
13.如權(quán)利要求11所述的方法,其特征在于,還包括 顯示被重定向到單點登錄服務(wù)標(biāo)識的所述外部網(wǎng)站; 創(chuàng)建被配置為接收憑證的用戶界面;以及 在所述認(rèn)證之前將所述憑證傳遞到所述外部網(wǎng)站。
14.如權(quán)利要求11所述的方法,其特征在于,還包括 在所述建立之前抓取所述外部網(wǎng)站以獲得共享密鑰。
全文摘要
本發(fā)明涉及用于場內(nèi)富客戶端的輕量認(rèn)證。該輕量認(rèn)證減少為認(rèn)證目的而被安裝在客戶端機器上的軟件量。外部網(wǎng)站的一部分被托管在該富客戶端上運行的應(yīng)用上。用戶可以與該外部網(wǎng)站的該部分交互以輸入憑證或其他標(biāo)識信息。憑證或其他標(biāo)識信息的輸入被中繼到該外部網(wǎng)站以進行驗證。如果該驗證成功,則用戶可利用該單一驗證與各外部網(wǎng)站交互。
文檔編號H04L9/32GK102694789SQ20121007530
公開日2012年9月26日 申請日期2012年3月20日 優(yōu)先權(quán)日2011年3月21日
發(fā)明者B·C·雷蒂格, C·K·額, C·P·葉, C·Y·周, C·Y·郭, D·L·富爾切三世, H·普納賽爾, R·素旺納舒克, W·W·王 申請人:微軟公司