用于實(shí)施多因素認(rèn)證的系統(tǒng)和方法
【專利摘要】本發(fā)明公開了一種用于實(shí)施多因素認(rèn)證的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法可以包括:1)作為二級(jí)認(rèn)證系統(tǒng)的一部分,接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求,2)響應(yīng)于接收到所述認(rèn)證請(qǐng)求,將所述客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證;3)接收來(lái)自所述客戶端系統(tǒng)的證明所述第一認(rèn)證已成功的所述第一認(rèn)證的斷言;以及4)響應(yīng)于接收到所述第一認(rèn)證的所述斷言,用所述客戶端系統(tǒng)執(zhí)行第二認(rèn)證。還公開了各種其他方法、系統(tǒng)和計(jì)算機(jī)可讀介質(zhì)。
【專利說(shuō)明】用于實(shí)施多因素認(rèn)證的系統(tǒng)和方法
【背景技術(shù)】
[0001]在數(shù)字化時(shí)代,組織機(jī)構(gòu)越來(lái)越依賴計(jì)算資源來(lái)管理數(shù)據(jù)以及提供內(nèi)部和外部服務(wù)。出于多種安全、保密、行政和/或管理的目的,這些組織機(jī)構(gòu)可能希望控制對(duì)其企業(yè)環(huán)境內(nèi)的資源的訪問(wèn)。
[0002]傳統(tǒng)的企業(yè)內(nèi)訪問(wèn)控制系統(tǒng)已使用單因素認(rèn)證系統(tǒng)(諸如用戶名和密碼登錄系統(tǒng))來(lái)建立用戶身份。遺憾的是,各種安全威脅的激增可能使單因素認(rèn)證系統(tǒng)易受攻擊而失效。因此,一些組織機(jī)構(gòu)可能希望在其企業(yè)內(nèi)采用多因素認(rèn)證來(lái)建立用戶身份。
[0003]遺憾的是,組織機(jī)構(gòu)在試圖將傳統(tǒng)的二級(jí)因素認(rèn)證服務(wù)整合到它們的企業(yè)中時(shí)可能面臨顯著的困難。例如,一些傳統(tǒng)的二級(jí)因素認(rèn)證服務(wù)可能需要組織機(jī)構(gòu)購(gòu)買用于在企業(yè)內(nèi)實(shí)施二級(jí)因素認(rèn)證的全部基礎(chǔ)結(jié)構(gòu)并將二級(jí)因素認(rèn)證服務(wù)作為企業(yè)應(yīng)用程序安裝和管理。在其他例子中,二級(jí)因素認(rèn)證服務(wù)供應(yīng)商可能需要組織機(jī)構(gòu)通過(guò)將敏感數(shù)據(jù)同步至二級(jí)因素認(rèn)證服務(wù)供應(yīng)商或通過(guò)打開企業(yè)防火墻并允許第三方應(yīng)用程序從企業(yè)外部訪問(wèn)敏感數(shù)據(jù)來(lái)提供針對(duì)企業(yè)的對(duì)敏感身份數(shù)據(jù)的訪問(wèn)。這些各種傳統(tǒng)方法可能將大量的成本和/或安全漏洞強(qiáng)加于組織機(jī)構(gòu)。因此,本公開識(shí)別并解決了對(duì)用于實(shí)施多因素認(rèn)證的另外且改善的系統(tǒng)和方法的需要。
【發(fā)明內(nèi)容】
[0004]如將在下文更詳細(xì)地描述,本公開整體涉及通過(guò)在一個(gè)域中調(diào)用一種認(rèn)證服務(wù)并嘗試在另一個(gè)域中使用另一種認(rèn)證服務(wù)來(lái)實(shí)施多因素認(rèn)證的系統(tǒng)和方法。在一個(gè)例子中,用于實(shí)施多因素認(rèn)證的計(jì)算機(jī)實(shí)現(xiàn)的方法可以包括I)作為二級(jí)認(rèn)證系統(tǒng)的一部分,接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求,2)響應(yīng)于接收到認(rèn)證請(qǐng)求,將客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證,3)接收來(lái)自客戶端系統(tǒng)的證明第一認(rèn)證已成功的第一認(rèn)證的斷言,以及4)響應(yīng)于接收到第一認(rèn)證的斷言,用客戶端系統(tǒng)執(zhí)行第二認(rèn)證。
[0005]在一些例子中,接收認(rèn)證請(qǐng)求可以包括接收由被配置為通過(guò)二級(jí)認(rèn)證系統(tǒng)對(duì)客戶端系統(tǒng)進(jìn)行認(rèn)證的訪問(wèn)管理器發(fā)起的認(rèn)證請(qǐng)求。在這些例子中,訪問(wèn)管理器可以在攔截到來(lái)自客戶端系統(tǒng)的對(duì)受保護(hù)資源的請(qǐng)求時(shí)發(fā)起認(rèn)證請(qǐng)求。另外,在這些例子中,初級(jí)認(rèn)證系統(tǒng)和訪問(wèn)管理器兩者可安裝在單個(gè)企業(yè)網(wǎng)絡(luò)內(nèi)并在其中工作。此外,在這些例子中,二級(jí)認(rèn)證系統(tǒng)可包括被配置為在單個(gè)企業(yè)網(wǎng)絡(luò)外工作的服務(wù)器。
[0006]此外,計(jì)算機(jī)實(shí)現(xiàn)的方法還可以包括在執(zhí)行第二認(rèn)證之后用第二認(rèn)證的斷言將客戶端系統(tǒng)重定向至訪問(wèn)管理器。在這個(gè)例子中,訪問(wèn)管理器可被配置為在接收到第二認(rèn)證的斷言之后授權(quán)客戶端系統(tǒng)訪問(wèn)受保護(hù)資源。
[0007]在一些實(shí)施例中,初級(jí)認(rèn)證系統(tǒng)可以接收來(lái)自客戶端系統(tǒng)的認(rèn)證憑據(jù)并用第一認(rèn)證的斷言將客戶端系統(tǒng)重定向至二級(jí)認(rèn)證系統(tǒng)。
[0008]在一個(gè)例子中,執(zhí)行第二認(rèn)證可以包括I)從第一認(rèn)證的斷言中檢索用戶識(shí)別信息,以及2)通過(guò)使用所述用戶識(shí)別信息而不是從客戶端系統(tǒng)請(qǐng)求用戶識(shí)別信息來(lái)執(zhí)行第二認(rèn)證。
[0009]在一個(gè)實(shí)施例中,用于實(shí)施上述方法的系統(tǒng)可以包括I)接收模塊,其被編程為作為二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求,2)重定向模塊,其被編程為響應(yīng)于接收到認(rèn)證請(qǐng)求而將客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證,3)斷言模塊,其被編程為接收來(lái)自客戶端系統(tǒng)的證明第一認(rèn)證已成功的第一認(rèn)證的斷言,以及4)認(rèn)證模塊,其被編程為響應(yīng)于接收到第一認(rèn)證的斷言而用客戶端系統(tǒng)執(zhí)行第二認(rèn)證。該系統(tǒng)還可以包括至少一個(gè)處理器,該處理器被配置為執(zhí)行接收模塊、重定向模塊、斷言模塊和認(rèn)證模塊。
[0010]在一些例子中,上述方法可被編碼為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)可讀指令。例如,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行指令,所述指令當(dāng)被計(jì)算設(shè)備的至少一個(gè)處理器執(zhí)行時(shí),可以使計(jì)算設(shè)備:1)作為二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求,2)響應(yīng)于接收到認(rèn)證請(qǐng)求而將客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證,3)接收來(lái)自客戶端系統(tǒng)的證明第一認(rèn)證已成功的第一認(rèn)證的斷言,以及4)響應(yīng)于接收到第一認(rèn)證的斷言而用客戶端系統(tǒng)執(zhí)行第二認(rèn)證。
[0011]如下文將更詳細(xì)地闡釋,通過(guò)在一個(gè)域中調(diào)用一種認(rèn)證服務(wù)并嘗試在另一個(gè)域中使用另一種認(rèn)證服務(wù),本文所述的系統(tǒng)和方法可以允許在已實(shí)施單因素認(rèn)證的企業(yè)內(nèi)實(shí)施多因素認(rèn)證,而無(wú)需從企業(yè)清除與原來(lái)的單因素認(rèn)證系統(tǒng)相關(guān)的控制和/或敏感數(shù)據(jù)。另夕卜,這些系統(tǒng)和方法可以允許添加二級(jí)認(rèn)證因素,而無(wú)需昂貴和復(fù)雜的基礎(chǔ)結(jié)構(gòu)變更和維護(hù)。例如,這些系統(tǒng)和方法可以允許簡(jiǎn)單地通過(guò)重新配置企業(yè)內(nèi)的第一因素認(rèn)證系統(tǒng)以接受和信任來(lái)自第二因素認(rèn)證系統(tǒng)的認(rèn)證請(qǐng)求來(lái)添加二級(jí)認(rèn)證因素。另外,這些系統(tǒng)和方法可以在不向外部系統(tǒng)開放對(duì)敏感企業(yè)認(rèn)證數(shù)據(jù)的訪問(wèn)并從而不潛在地造成安全漏洞的情況下允許將二級(jí)認(rèn)證因素添加至企業(yè)的單因素認(rèn)證系統(tǒng)。
[0012]來(lái)自上述實(shí)施例中的任何一者的特征可根據(jù)本文所述的一般原理彼此結(jié)合地使用。通過(guò)結(jié)合附圖和權(quán)利要求閱讀下面的詳細(xì)描述,將會(huì)更充分地理解這些和其他實(shí)施例、特征和優(yōu)點(diǎn)。
【專利附圖】
【附圖說(shuō)明】
[0013]附圖示出了多個(gè)示例性實(shí)施例并且為說(shuō)明書的一部分。這些附圖結(jié)合下面的描述展示并且說(shuō)明本發(fā)明的各種原理。
[0014]圖1為用于實(shí)施多因素認(rèn)證的示例性系統(tǒng)的框圖。
[0015]圖2為用于實(shí)施多因素認(rèn)證的示例性系統(tǒng)的框圖。
[0016]圖3為用于實(shí)施多因素認(rèn)證的示例性方法的流程圖。
[0017]圖4為用于實(shí)施多因素認(rèn)證的示例性系統(tǒng)的框圖。
[0018]圖5為示例性多因素認(rèn)證的圖示。
[0019]圖6為能夠?qū)崿F(xiàn)本文描述和/或示出的實(shí)施例中的一者或多者的示例性計(jì)算系統(tǒng)的框圖。
[0020]圖7為能夠?qū)崿F(xiàn)本文描述和/或示出的實(shí)施例中的一者或多者的示例性計(jì)算網(wǎng)絡(luò)的框圖。
[0021]在全部附圖中,相同引用字符和描述指示類似但未必相同的元件。雖然本文所述的示例性實(shí)施例易受各種修改和替代形式的影響,但在附圖中以舉例的方式示出了特定實(shí)施例并且將在本文詳細(xì)描述。然而,本文所述的示例性實(shí)施例并非旨在限于所公開的特定形式。相反,本發(fā)明涵蓋落在所附權(quán)利要求范圍內(nèi)的所有修改形式、等同形式和替代形式。
【具體實(shí)施方式】
[0022]下面將參照?qǐng)D1-2提供對(duì)用于實(shí)施多因素認(rèn)證的示例性系統(tǒng)的詳細(xì)描述。也將結(jié)合圖3提供相應(yīng)計(jì)算機(jī)實(shí)現(xiàn)的方法的詳細(xì)描述。此外,將分別結(jié)合圖6和圖7提供能夠?qū)崿F(xiàn)本文所述實(shí)施例中的一者或多者的示例性計(jì)算系統(tǒng)和網(wǎng)絡(luò)架構(gòu)的詳細(xì)描述。
[0023]圖1為用于實(shí)施多因素認(rèn)證的示例性系統(tǒng)100的框圖。如該附圖所示,示例性系統(tǒng)100可包括用于執(zhí)行一個(gè)或多個(gè)任務(wù)的一個(gè)或多個(gè)模塊102。例如,并且如將在下文更詳細(xì)地描述,示例性系統(tǒng)100可以包括接收模塊104,其被編程為作為二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求。示例性系統(tǒng)100還可以包括重定向模塊106,其被編程為響應(yīng)于接收到認(rèn)證請(qǐng)求而將客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證。
[0024]此外,并且如將在下文更詳細(xì)地描述,示例性系統(tǒng)100可以包括斷言模塊108,其被編程為接收來(lái)自客戶端系統(tǒng)的證明第一認(rèn)證已成功的第一認(rèn)證的斷言。示例性系統(tǒng)100還可以包括認(rèn)證模塊110,其被編程為響應(yīng)于接收到第一認(rèn)證的斷言而用客戶端系統(tǒng)執(zhí)行第二認(rèn)證。盡管例示為獨(dú)立元件,但圖1中的模塊102中的一者或多者可表示單個(gè)模塊或應(yīng)用程序的部分。
[0025]在某些實(shí)施例中,圖1中的模塊102中的一者或多者可表示一個(gè)或多個(gè)軟件應(yīng)用程序或程序,當(dāng)通過(guò)計(jì)算設(shè)備執(zhí)行時(shí)其可使計(jì)算設(shè)備執(zhí)行一個(gè)或多個(gè)任務(wù)。例如,并且如將在下文更詳細(xì)地描述,模塊102中的一者或多者可表示存儲(chǔ)并且被配置為在一個(gè)或多個(gè)計(jì)算設(shè)備上運(yùn)行的軟件模塊,所述計(jì)算設(shè)備諸如圖2中示出的設(shè)備(例如,計(jì)算設(shè)備202、客戶端系統(tǒng)206和/或認(rèn)證服務(wù)器208)、圖6中的計(jì)算系統(tǒng)610,和/或圖7中的示例性網(wǎng)絡(luò)架構(gòu)700的部分。圖1中的模塊102中的一者或多者也可表示被配置為執(zhí)行一個(gè)或多個(gè)任務(wù)的一臺(tái)或多臺(tái)專用計(jì)算機(jī)的全部或部分。
[0026]圖1中的示例性系統(tǒng)100可以多種方式來(lái)實(shí)現(xiàn)。例如,示例性系統(tǒng)100的全部或一部分可表示圖2中的示例性系統(tǒng)200的部分。如圖2中所示,系統(tǒng)200可以包括通過(guò)網(wǎng)絡(luò)204與客戶端系統(tǒng)206和認(rèn)證服務(wù)器208通信(例如,以使用由計(jì)算設(shè)備202提供的認(rèn)證因素和由認(rèn)證服務(wù)器208提供的認(rèn)證因素來(lái)認(rèn)證客戶端系統(tǒng)206的用戶的身份)的計(jì)算設(shè)備202。
[0027]在一個(gè)實(shí)施例中,來(lái)自圖1的模塊102中的一者或多者在被計(jì)算設(shè)備202的至少一個(gè)處理器執(zhí)行時(shí),可促進(jìn)計(jì)算設(shè)備202實(shí)施多因素認(rèn)證。例如,并且如將在下文更詳細(xì)地描述,模塊102中的一者或多者可使計(jì)算設(shè)備202:1)作為(例如,計(jì)算設(shè)備202上的)二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)206的認(rèn)證請(qǐng)求210,2)響應(yīng)于接收到請(qǐng)求210而將客戶端系統(tǒng)206重定向?yàn)槭紫扔?例如,認(rèn)證服務(wù)器208上的)初級(jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證,3)(例如,用認(rèn)證服務(wù)器208)接收來(lái)自客戶端系統(tǒng)206的證明第一認(rèn)證已成功的第一認(rèn)證的斷言210,以及4)響應(yīng)于接收到第一認(rèn)證的斷言210而用客戶端系統(tǒng)206執(zhí)行第二認(rèn)證。
[0028]計(jì)算設(shè)備202通常代表能夠讀取計(jì)算機(jī)可執(zhí)行指令的任何類型或形式的計(jì)算設(shè)備。計(jì)算設(shè)備202的例子包括但不限于筆記本電腦、平板電腦、臺(tái)式機(jī)、服務(wù)器、移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、多媒體播放器、嵌入式系統(tǒng)、這些設(shè)備中一者或多者的組合、圖6中的示例性計(jì)算系統(tǒng)610,或任何其他合適的計(jì)算設(shè)備。在一些例子中,計(jì)算設(shè)備202可代表認(rèn)證服務(wù)器和/或作為認(rèn)證服務(wù)的一部分操作的計(jì)算設(shè)備。
[0029]客戶端系統(tǒng)206通常代表能夠讀取計(jì)算機(jī)可執(zhí)行指令的任何類型或形式的計(jì)算設(shè)備。計(jì)算設(shè)備202的例子包括但不限于筆記本電腦、平板電腦、臺(tái)式機(jī)、服務(wù)器、移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、多媒體播放器、嵌入式系統(tǒng)、這些設(shè)備中一者或多者的組合、圖6中的示例性計(jì)算系統(tǒng)610,或任何其他合適的計(jì)算設(shè)備。
[0030]認(rèn)證服務(wù)器208通常代表能夠執(zhí)行一種或多種認(rèn)證操作的任何類型或形式的計(jì)算設(shè)備。認(rèn)證服務(wù)器208的例子包括但不限于被配置為提供各種數(shù)據(jù)庫(kù)服務(wù)和/或運(yùn)行某些軟件應(yīng)用程序的應(yīng)用程序服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。
[0031]網(wǎng)絡(luò)204通常代表能夠促進(jìn)通信或數(shù)據(jù)傳輸?shù)娜魏谓橘|(zhì)或架構(gòu)。網(wǎng)絡(luò)204的例子包括但不限于內(nèi)聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、個(gè)人區(qū)域網(wǎng)(PAN)、互聯(lián)網(wǎng)、電力線通信(PLC)、蜂窩網(wǎng)絡(luò)(例如,GSM網(wǎng)絡(luò))、圖7中的示例性網(wǎng)絡(luò)架構(gòu)700,等等。網(wǎng)絡(luò)204可使用無(wú)線或有線連接來(lái)促進(jìn)通信或數(shù)據(jù)傳輸。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)204可促進(jìn)計(jì)算設(shè)備202、客戶端系統(tǒng)206和認(rèn)證服務(wù)器208之間的通信。
[0032]圖3為用于實(shí)施多因素認(rèn)證的示例性計(jì)算機(jī)實(shí)現(xiàn)的方法300的流程圖。圖3中示出的步驟可通過(guò)任何合適的計(jì)算機(jī)可執(zhí)行代碼和/或計(jì)算系統(tǒng)執(zhí)行。在一些實(shí)施例中,圖3中示出的步驟可通過(guò)圖1中的系統(tǒng)100、圖2中的系統(tǒng)200、圖6中的計(jì)算系統(tǒng)610,和/或圖7中的示例性網(wǎng)絡(luò)架構(gòu)700的部分的組件中的一者或多者執(zhí)行。
[0033]如圖3中所示,在步驟302處,本文所述系統(tǒng)中的一者或多者可以作為二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求。例如,在步驟302處,作為圖2中的計(jì)算設(shè)備202的一部分的接收模塊104可以作為(例如,計(jì)算設(shè)備202上的)二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)206的認(rèn)證請(qǐng)求210。
[0034]如本文所用,短語(yǔ)“認(rèn)證系統(tǒng)”可以指驗(yàn)證和/或確認(rèn)用戶和/或客戶端身份的任何方法。認(rèn)證系統(tǒng)可以使用多種憑據(jù)中的任何一種??捎糜谡J(rèn)證系統(tǒng)的憑據(jù)的例子包括但不限于基于知識(shí)的憑據(jù)(例如,用戶所已知的)、基于令牌的憑據(jù)(例如,用戶所具有的)、基于生物特征的憑據(jù)(例如,用戶所是的),和/或它們的任何組合。例如,基于知識(shí)的憑據(jù)可以包括密碼、個(gè)人識(shí)別號(hào)碼(PIN)和/或口令,基于令牌的憑據(jù)可以包括由移動(dòng)計(jì)算設(shè)備和/或臺(tái)式計(jì)算設(shè)備(例如,智能電話)生成或接收到的一次性密碼和/或安全碼,并且基于生物特征的憑據(jù)可以包括指紋、聲紋和/或虹膜掃描。
[0035]因此,如本文所用,短語(yǔ)“二級(jí)認(rèn)證系統(tǒng)”可以指可與一種或多種另外的認(rèn)證系統(tǒng)結(jié)合使用以對(duì)用戶和/或客戶端進(jìn)行認(rèn)證的認(rèn)證系統(tǒng)。在一些例子中,短語(yǔ)“二級(jí)認(rèn)證系統(tǒng)”可以指遠(yuǎn)程和/或異地認(rèn)證系統(tǒng)。在一些例子中,短語(yǔ)“二級(jí)認(rèn)證系統(tǒng)”可以指被引入先前配置具有單因素認(rèn)證系統(tǒng)的企業(yè)以便創(chuàng)建多因素認(rèn)證系統(tǒng)的認(rèn)證系統(tǒng)。
[0036]如本文所用,短語(yǔ)“認(rèn)證請(qǐng)求”可以指向認(rèn)證系統(tǒng)提出的針對(duì)認(rèn)證的任何請(qǐng)求。例如,認(rèn)證請(qǐng)求可以包括安全斷言標(biāo)記語(yǔ)言(“SAML”)請(qǐng)求。如本文所用,短語(yǔ)“客戶端系統(tǒng)”可以指能夠請(qǐng)求認(rèn)證的任何計(jì)算設(shè)備、客戶端軟件和/或用戶代理。
[0037]在一些例子中,接收認(rèn)證請(qǐng)求可以包括接收由被配置為通過(guò)二級(jí)認(rèn)證系統(tǒng)對(duì)客戶端系統(tǒng)進(jìn)行認(rèn)證的訪問(wèn)管理器發(fā)起的認(rèn)證請(qǐng)求。如本文所用,短語(yǔ)“訪問(wèn)管理器”可以指用于裁決訪問(wèn)(例如,企業(yè)內(nèi)部的)資源的請(qǐng)求和/或嘗試的任何系統(tǒng)。在一些例子中,訪問(wèn)管理器可在未能找到與客戶端系統(tǒng)的有效認(rèn)證會(huì)話的基礎(chǔ)上發(fā)起認(rèn)證請(qǐng)求。例如,訪問(wèn)管理器可以在攔截到來(lái)自客戶端系統(tǒng)的對(duì)受保護(hù)資源的請(qǐng)求時(shí)發(fā)起認(rèn)證請(qǐng)求。如本文所用,術(shù)語(yǔ)“資源”可以指任何文件、數(shù)據(jù)、文檔和/或服務(wù)。因此,短語(yǔ)“受保護(hù)資源”可以指基于用戶身份(例如,由訪問(wèn)管理器)控制對(duì)其進(jìn)行訪問(wèn)的任何資源。
[0038]在一些例子中,初級(jí)認(rèn)證系統(tǒng)和訪問(wèn)管理器兩者可安裝在單個(gè)企業(yè)網(wǎng)絡(luò)內(nèi)并在其中工作。例如,初級(jí)認(rèn)證系統(tǒng)和訪問(wèn)管理器可以在連接單個(gè)企業(yè)中的多個(gè)組織機(jī)構(gòu)網(wǎng)站的單個(gè)LAN網(wǎng)絡(luò)上和/或企業(yè)專用網(wǎng)絡(luò)上工作。在這些例子中,二級(jí)認(rèn)證系統(tǒng)可包括被配置為在單個(gè)企業(yè)網(wǎng)絡(luò)外工作的服務(wù)器。例如,企業(yè)專用網(wǎng)絡(luò)和二級(jí)認(rèn)證系統(tǒng)的服務(wù)器可由獨(dú)立的實(shí)體擁有、控制、掌管、維護(hù)和/或管理。除此之外或作為另一種選擇,企業(yè)專用網(wǎng)絡(luò)和二級(jí)認(rèn)證系統(tǒng)的服務(wù)器可在不同的域內(nèi)工作。在一些例子中,二級(jí)認(rèn)證系統(tǒng)可包括被配置為在單個(gè)企業(yè)網(wǎng)絡(luò)外操作的服務(wù)。因此,單個(gè)企業(yè)網(wǎng)絡(luò)的管理員可以使用單個(gè)企業(yè)網(wǎng)絡(luò)訂閱二級(jí)認(rèn)證系統(tǒng),而無(wú)需對(duì)該二級(jí)認(rèn)證系統(tǒng)進(jìn)行維護(hù)。
[0039]圖4示出了用于實(shí)施多因素認(rèn)證的示例性系統(tǒng)400。如圖4中所示,示例性系統(tǒng)400可包括通過(guò)網(wǎng)關(guān)420連接至網(wǎng)絡(luò)430的企業(yè)402和也連接至網(wǎng)絡(luò)430的認(rèn)證服務(wù)器440。企業(yè)402可以包括連接客戶端系統(tǒng)412、企業(yè)訪問(wèn)管理器414、企業(yè)認(rèn)證服務(wù)器415和服務(wù)器416的企業(yè)網(wǎng)絡(luò)410。以圖4為例,在步驟302處,接收模塊104可以作為認(rèn)證服務(wù)器440的一部分接收來(lái)自客戶端系統(tǒng)412的認(rèn)證請(qǐng)求。在一些例子中,認(rèn)證請(qǐng)求可能已由企業(yè)訪問(wèn)管理器414發(fā)起。例如,客戶端系統(tǒng)412可能已嘗試和/或請(qǐng)求訪問(wèn)服務(wù)器416上的受保護(hù)資源418。因此,企業(yè)訪問(wèn)管理器414可能已攔截對(duì)訪問(wèn)資源418的嘗試和/或識(shí)別出對(duì)訪問(wèn)資源418的請(qǐng)求,從而使企業(yè)訪問(wèn)管理器414向認(rèn)證服務(wù)器440發(fā)起認(rèn)證請(qǐng)求(例如,通過(guò)客戶端系統(tǒng)412)。
[0040]圖5示出了示例性多因素認(rèn)證500。如圖5所示,示例性多因素認(rèn)證500可包括用戶代理502、企業(yè)訪問(wèn)管理器504、云認(rèn)證服務(wù)器506和企業(yè)認(rèn)證服務(wù)器508。以圖5為例,在步驟510處,企業(yè)訪問(wèn)管理器504可攔截用戶代理502發(fā)起的訪問(wèn)受保護(hù)資源的嘗試。在步驟512處,企業(yè)訪問(wèn)管理器504可以用認(rèn)證請(qǐng)求(例如,SAML請(qǐng)求)將用戶代理502重定向至云認(rèn)證服務(wù)506。因此,云認(rèn)證服務(wù)506可接收認(rèn)證請(qǐng)求。
[0041]返回圖3,在步驟304處,本文所述系統(tǒng)中的一者或多者可以響應(yīng)于接收到認(rèn)證請(qǐng)求而將客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證。例如,在步驟304處,重定向模塊106可以作為圖2中計(jì)算設(shè)備202的一部分響應(yīng)于接收到請(qǐng)求210而將客戶端系統(tǒng)206重定向?yàn)槭紫扔?例如,認(rèn)證服務(wù)器208上的)初級(jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證。
[0042]重定向模塊106可以任何合適的方式將客戶端系統(tǒng)重定向?yàn)橛贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證。例如,重定向模塊106可以用新的認(rèn)證請(qǐng)求(例如,新的SAML請(qǐng)求)將客戶端系統(tǒng)重定向至初級(jí)認(rèn)證系統(tǒng)。
[0043]在一些例子中,初級(jí)認(rèn)證系統(tǒng)可以然后用客戶端系統(tǒng)執(zhí)行第一認(rèn)證。例如,初級(jí)認(rèn)證系統(tǒng)可以接收來(lái)自客戶端系統(tǒng)的認(rèn)證憑據(jù)并用第一認(rèn)證的斷言將客戶端系統(tǒng)重定向至二級(jí)認(rèn)證。如本文所用,術(shù)語(yǔ)“斷言”可以指能夠斷言認(rèn)證的任何消息。在一些例子中,斷言可包括認(rèn)證的時(shí)間、認(rèn)證的簽發(fā)者、認(rèn)證的主題和/或認(rèn)證的條件。如前文所述,認(rèn)證系統(tǒng)可以使用多種憑據(jù)中的任何一種。例如,第一認(rèn)證的認(rèn)證憑據(jù)可以包括用戶名密碼對(duì)。
[0044]以圖4為例,在步驟304處,重定向模塊106可以作為認(rèn)證服務(wù)器440的一部分將客戶端系統(tǒng)412重定向?yàn)槭紫扔闷髽I(yè)認(rèn)證服務(wù)器415執(zhí)行認(rèn)證。在一些例子中,企業(yè)認(rèn)證服務(wù)器415然后可以用客戶端系統(tǒng)412執(zhí)行認(rèn)證。
[0045]以圖5為例,在步驟514處,云認(rèn)證服務(wù)器506可以用指向企業(yè)認(rèn)證服務(wù)器508的新認(rèn)證請(qǐng)求重定向用戶代理502。在步驟516處,企業(yè)認(rèn)證服務(wù)器508可以使用用戶代理502執(zhí)行第一認(rèn)證。
[0046]返回圖3,在步驟306處,本文所述系統(tǒng)中的一者或多者可以接收來(lái)自客戶端系統(tǒng)的證明第一認(rèn)證已成功的第一認(rèn)證的斷言。例如,在步驟306處,斷言模塊108可以作為圖2中計(jì)算設(shè)備202的一部分接收來(lái)自客戶端系統(tǒng)206的證明第一認(rèn)證已成功的(例如,用認(rèn)證服務(wù)器208進(jìn)行的)第一認(rèn)證的斷言210。
[0047]在一些例子中,斷言模塊108還可以確認(rèn)斷言有效。例如,斷言可以包括SAML斷言,并且斷言模塊108可以使用密匙所有者方法和/或發(fā)送方擔(dān)保方法來(lái)確認(rèn)斷言。
[0048]以圖4為例,在步驟306處,斷言模塊108可以作為認(rèn)證服務(wù)器440的一部分接收和確認(rèn)在客戶端系統(tǒng)412與企業(yè)認(rèn)證服務(wù)器415之間執(zhí)行的第一認(rèn)證的斷言。
[0049]以圖5為例,在步驟518處,企業(yè)認(rèn)證服務(wù)器508可以用在步驟516中執(zhí)行的第一認(rèn)證的斷言重定向用戶代理502。企業(yè)認(rèn)證服務(wù)器508從而可以接收來(lái)自用戶代理502的斷言。
[0050]返回圖3,在步驟308處,本文所述系統(tǒng)中的一者或多者可以響應(yīng)于接收到第一認(rèn)證的斷言而用客戶端系統(tǒng)執(zhí)行第二認(rèn)證。例如,在步驟308處,認(rèn)證模塊110可以作為圖2中計(jì)算設(shè)備202的一部分響應(yīng)于接收到第一認(rèn)證的斷言210而用客戶端系統(tǒng)206執(zhí)行第二認(rèn)證。
[0051]認(rèn)證模塊110可以任何合適的方式執(zhí)行第二認(rèn)證。在一些例子中,認(rèn)證模塊110可以從第一認(rèn)證的斷言中檢索用戶識(shí)別信息,并通過(guò)使用所述用戶識(shí)別信息而不是從客戶端系統(tǒng)請(qǐng)求用戶識(shí)別信息來(lái)執(zhí)行第二認(rèn)證。例如,認(rèn)證模塊110可以從斷言中檢索用戶名和用戶名適用的域、電子郵件地址等。以此方式,認(rèn)證模塊110可以潛在地節(jié)省計(jì)算資源并加快認(rèn)證過(guò)程。
[0052]如前文所述,在一些例子中,(例如,在攔截到來(lái)自客戶端系統(tǒng)的對(duì)受保護(hù)資源的請(qǐng)求之后)訪問(wèn)管理器可能已發(fā)起指向二級(jí)認(rèn)證系統(tǒng)的認(rèn)證請(qǐng)求。在這些例子中,認(rèn)證模塊110還可以在執(zhí)行第二認(rèn)證之后用第二認(rèn)證的斷言將客戶端系統(tǒng)重定向至訪問(wèn)管理器。在這些例子中,訪問(wèn)管理器可被配置為在接收到并確認(rèn)第二認(rèn)證的斷言之后授權(quán)客戶端系統(tǒng)訪問(wèn)受保護(hù)資源。
[0053]以圖4為例,在步驟308處,認(rèn)證模塊110可以作為認(rèn)證服務(wù)器440的一部分響應(yīng)于接收到并確認(rèn)來(lái)自客戶端系統(tǒng)412的(例如,用企業(yè)認(rèn)證服務(wù)器415執(zhí)行的)第一認(rèn)證的斷言,而用客戶端系統(tǒng)412執(zhí)行第二認(rèn)證。認(rèn)證模塊110還可以用第二認(rèn)證的斷言將客戶端系統(tǒng)412重定向至企業(yè)訪問(wèn)管理器414。企業(yè)訪問(wèn)管理器414可被配置為在確認(rèn)第二認(rèn)證時(shí)授權(quán)對(duì)資源418的訪問(wèn)。因此,企業(yè)訪問(wèn)管理器414可允許客戶端系統(tǒng)412訪問(wèn)資源418。雖然企業(yè)訪問(wèn)管理器414可能只需要來(lái)自客戶端系統(tǒng)412的第二認(rèn)證,但因?yàn)檎J(rèn)證服務(wù)器440需要來(lái)自客戶端系統(tǒng)412的第一認(rèn)證,所以本文所述的系統(tǒng)和方法可以在對(duì)企業(yè)402干擾最小的情況下促進(jìn)多因素認(rèn)證。
[0054]以圖5為例,在步驟520處,云認(rèn)證服務(wù)器506可以使用用戶代理502執(zhí)行第二認(rèn)證。在步驟522處,云認(rèn)證服務(wù)506可將來(lái)自第二認(rèn)證的屬性映射至第二認(rèn)證的斷言(例如,SAML斷言)的屬性。例如,云認(rèn)證服務(wù)器506可將在第二認(rèn)證中使用的用戶標(biāo)識(shí)符映射至第二認(rèn)證的斷言內(nèi)的用戶標(biāo)識(shí)符字段。在步驟524處,云認(rèn)證服務(wù)506可以用第二認(rèn)證的斷言將用戶代理502重定向至訪問(wèn)管理器504。企業(yè)訪問(wèn)管理器504然后可以在步驟526處確認(rèn)斷言并將受保護(hù)資源提供給用戶代理502。
[0055]如上所述,通過(guò)在一個(gè)域中調(diào)用一種認(rèn)證服務(wù)并嘗試在另一個(gè)域中使用另一種認(rèn)證服務(wù),本文所述的系統(tǒng)和方法可以允許在已實(shí)施單因素認(rèn)證的企業(yè)內(nèi)實(shí)施多因素認(rèn)證,而無(wú)需從企業(yè)清除與原來(lái)的單因素認(rèn)證系統(tǒng)相關(guān)的控制和/或敏感數(shù)據(jù)。另外,這些系統(tǒng)和方法可以允許添加二級(jí)認(rèn)證因素,而無(wú)需昂貴和復(fù)雜的基礎(chǔ)結(jié)構(gòu)變更和維護(hù)。例如,這些系統(tǒng)和方法可以允許簡(jiǎn)單地通過(guò)重新配置企業(yè)內(nèi)的第一因素認(rèn)證系統(tǒng)以接受和信任來(lái)自第二因素認(rèn)證系統(tǒng)的認(rèn)證請(qǐng)求來(lái)添加二級(jí)認(rèn)證因素。另外,這些系統(tǒng)和方法可以在不向外部系統(tǒng)開放對(duì)敏感企業(yè)認(rèn)證數(shù)據(jù)的訪問(wèn)并從而不潛在地造成安全漏洞的情況下允許將二級(jí)認(rèn)證因素添加至企業(yè)的單因素認(rèn)證系統(tǒng)。
[0056]圖6為能夠?qū)嵤┍疚拿枋龊?或示出的實(shí)施例中的一者或多者的示例性計(jì)算系統(tǒng)610的框圖。例如,計(jì)算系統(tǒng)610的全部或一部分可執(zhí)行和/或作為一種方式用于單獨(dú)地或與其他元件結(jié)合來(lái)執(zhí)行本文所述的接收、發(fā)起、攔截、重定向、執(zhí)行、檢索和授權(quán)步驟中的一者或多者。計(jì)算系統(tǒng)610的全部或一部分也可執(zhí)行和/或作為一種方式來(lái)執(zhí)行本文描述和/或示出的任何其他步驟、方法或過(guò)程。
[0057]計(jì)算系統(tǒng)610在廣義上表示能夠執(zhí)行計(jì)算機(jī)可讀指令的任何單處理器或多處理器計(jì)算設(shè)備或系統(tǒng)。計(jì)算系統(tǒng)610的例子包括但不限于工作站、筆記本電腦、客戶端方終端、服務(wù)器、分布式計(jì)算系統(tǒng)、手持式設(shè)備或任何其他計(jì)算系統(tǒng)或設(shè)備。在其最基本的配置中,計(jì)算系統(tǒng)610可包括至少一個(gè)處理器614和系統(tǒng)存儲(chǔ)器616。
[0058]處理器614通常表示能夠處理數(shù)據(jù)或解譯和執(zhí)行指令的任何類型或形式的處理單元。在某些實(shí)施例中,處理器614可接收來(lái)自軟件應(yīng)用程序或模塊的指令。這些指令可使處理器614執(zhí)行本文描述和/或不出的一個(gè)或多個(gè)不例性實(shí)施例的功能。
[0059]系統(tǒng)存儲(chǔ)器616通常表示能夠存儲(chǔ)數(shù)據(jù)和/或其他計(jì)算機(jī)可讀指令的任何類型或形式的易失性或非易失性存儲(chǔ)設(shè)備或介質(zhì)。系統(tǒng)存儲(chǔ)器616的例子包括但不限于隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存存儲(chǔ)器或任何其他適用的存儲(chǔ)器設(shè)備。盡管不是必需的,但在某些實(shí)施例中,計(jì)算系統(tǒng)610可包括易失性存儲(chǔ)器單元(諸如系統(tǒng)存儲(chǔ)器616)和非易失性存儲(chǔ)設(shè)備(諸如,主要存儲(chǔ)設(shè)備632,如下詳述)。在一個(gè)例子中,圖1的模塊102中的一者或多者可加載到系統(tǒng)存儲(chǔ)器616中。
[0060]在某些實(shí)施例中,除處理器614和系統(tǒng)存儲(chǔ)器616之外,示例性計(jì)算系統(tǒng)610還可包括一個(gè)或多個(gè)組件或元件。例如,如圖6所示,計(jì)算系統(tǒng)610可包括存儲(chǔ)器控制器618、輸入/輸出(I/O)控制器620和通信接口 622,它們中的每一者都可通過(guò)通信基礎(chǔ)結(jié)構(gòu)612互連。通信基礎(chǔ)結(jié)構(gòu)612通常表示能夠在計(jì)算設(shè)備的一個(gè)或多個(gè)組件之間促進(jìn)通信的任何類型或形式的基礎(chǔ)結(jié)構(gòu)。通信基礎(chǔ)結(jié)構(gòu)612的例子包括但不限于通信總線(諸如ISA、PC1、PCIe或類似總線)和網(wǎng)絡(luò)。
[0061 ] 存儲(chǔ)器控制器618通常表示能夠處理存儲(chǔ)器或數(shù)據(jù)或控制計(jì)算系統(tǒng)610的一個(gè)或多個(gè)組件之間的通信的任何類型或形式的設(shè)備。例如,在某些實(shí)施例中,存儲(chǔ)器控制器618可通過(guò)通信基礎(chǔ)結(jié)構(gòu)612來(lái)控制處理器614、系統(tǒng)存儲(chǔ)器616和I/O控制器620之間的通信。
[0062]I/O控制器620通常表示能夠協(xié)調(diào)和/或控制計(jì)算設(shè)備的輸入和輸出功能的任何類型或形式的模塊。例如,在某些實(shí)施例中,I/o控制器620可控制或促進(jìn)計(jì)算系統(tǒng)610的一個(gè)或多個(gè)元件之間的數(shù)據(jù)傳輸,所述元件諸如處理器614、系統(tǒng)存儲(chǔ)器616、通信接口 622、顯示適配器626、輸入接口 630和存儲(chǔ)接口 634。
[0063]通信接口 622在廣義上表示能夠促進(jìn)示例性計(jì)算系統(tǒng)610與一個(gè)或多個(gè)附加設(shè)備之間的通信的任何類型或形式的通信設(shè)備或適配器。例如,在某些實(shí)施例中,通信接口 622可促進(jìn)計(jì)算系統(tǒng)610與包括附加計(jì)算系統(tǒng)的專用或公共網(wǎng)絡(luò)之間的通信。通信接口 622的例子包括但不限于有線網(wǎng)絡(luò)接口(諸如網(wǎng)絡(luò)接口卡)、無(wú)線網(wǎng)絡(luò)接口(諸如無(wú)線網(wǎng)絡(luò)接口卡)、調(diào)制解調(diào)器和任何其他合適的接口。在至少一個(gè)實(shí)施例中,通信接口 622可通過(guò)與網(wǎng)絡(luò)(諸如互聯(lián)網(wǎng))的直接鏈接來(lái)提供與遠(yuǎn)程服務(wù)器的直接連接。通信接口 622還可通過(guò)例如局域網(wǎng)(諸如以太網(wǎng)網(wǎng)絡(luò))、個(gè)人區(qū)域網(wǎng)、電話或電纜網(wǎng)絡(luò)、蜂窩電話連接、衛(wèi)星數(shù)據(jù)連接或任何其他合適的連接來(lái)間接提供此類連接。
[0064]在某些實(shí)施例中,通信接口 622還可表示主機(jī)適配器,該主機(jī)適配器可被配置為通過(guò)外部總線或通信信道來(lái)促進(jìn)計(jì)算系統(tǒng)610與一個(gè)或多個(gè)附加網(wǎng)絡(luò)或存儲(chǔ)設(shè)備之間的通信。主機(jī)適配器的例子包括但不限于SCSI主機(jī)適配器、USB主機(jī)適配器、IEEE 1394主機(jī)適配器、SATA和eSATA主機(jī)適配器、ATA和PATA主機(jī)適配器、光纖信道接口適配器、以太網(wǎng)適配器等等。通信接口 622還可允許計(jì)算系統(tǒng)610參與分布式或遠(yuǎn)程計(jì)算。例如,通信接口 622可接收來(lái)自遠(yuǎn)程設(shè)備的指令或?qū)⒅噶畎l(fā)送到遠(yuǎn)程設(shè)備以供執(zhí)行。
[0065]如圖6所示,計(jì)算系統(tǒng)610還可包括至少一個(gè)顯示設(shè)備624,該顯示設(shè)備624通過(guò)顯示適配器626耦合到通信基礎(chǔ)結(jié)構(gòu)612。顯示設(shè)備624通常表示能夠以可視方式顯示顯示適配器626轉(zhuǎn)發(fā)的信息的任何類型或形式的設(shè)備。類似地,顯示適配器626通常表示被配置為轉(zhuǎn)發(fā)來(lái)自通信基礎(chǔ)結(jié)構(gòu)612(或來(lái)自幀緩沖器,如本領(lǐng)域所已知)的圖形、文本和其他數(shù)據(jù)以在顯示設(shè)備624上顯示的任何類型或形式的設(shè)備。
[0066]如圖6所示,示例性計(jì)算系統(tǒng)610還可包括經(jīng)由輸入接口 630耦合到通信基礎(chǔ)結(jié)構(gòu)612的至少一個(gè)輸入設(shè)備628。輸入設(shè)備628通常表示能夠向示例性計(jì)算系統(tǒng)610提供輸入(由計(jì)算機(jī)或人生成)的任何類型或形式的輸入設(shè)備。輸入設(shè)備628的例子包括但不限于鍵盤、指向設(shè)備、語(yǔ)音識(shí)別設(shè)備或任何其他輸入設(shè)備。
[0067]如圖6所示,示例性計(jì)算系統(tǒng)610還可包括主要存儲(chǔ)設(shè)備632和經(jīng)由存儲(chǔ)接口 634耦合到通信基礎(chǔ)結(jié)構(gòu)612的備份存儲(chǔ)設(shè)備633。存儲(chǔ)設(shè)備632和633通常表示能夠存儲(chǔ)數(shù)據(jù)和/或其他計(jì)算機(jī)可讀指令的任何類型或形式的存儲(chǔ)設(shè)備或介質(zhì)。例如,存儲(chǔ)設(shè)備632和633可為磁盤驅(qū)動(dòng)器(例如,所謂的硬盤驅(qū)動(dòng)器)、固態(tài)驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、閃存驅(qū)動(dòng)器等等。存儲(chǔ)接口 634通常表示用于在計(jì)算系統(tǒng)610的存儲(chǔ)設(shè)備632和633與其他組件之間傳輸數(shù)據(jù)的任何類型或形式的接口或設(shè)備。
[0068]在某些實(shí)施例中,存儲(chǔ)設(shè)備632和633可被配置為對(duì)被配置為存儲(chǔ)計(jì)算機(jī)軟件、數(shù)據(jù)或其他計(jì)算機(jī)可讀信息的可移除存儲(chǔ)單元進(jìn)行讀取和/或?qū)懭?。合適的可移除存儲(chǔ)單元的例子包括但不限于軟盤、磁帶、光盤、閃存存儲(chǔ)器設(shè)備等。存儲(chǔ)設(shè)備632和633還可包括允許將計(jì)算機(jī)軟件、數(shù)據(jù)或其他計(jì)算機(jī)可讀指令加載到計(jì)算系統(tǒng)610內(nèi)的其他類似結(jié)構(gòu)或設(shè)備。例如,存儲(chǔ)設(shè)備632和633可被配置為讀取和寫入軟件、數(shù)據(jù)或其他計(jì)算機(jī)可讀信息。存儲(chǔ)設(shè)備632和633還可為計(jì)算系統(tǒng)610的一部分,或者可為通過(guò)其他接口系統(tǒng)進(jìn)行訪問(wèn)的獨(dú)立設(shè)備。
[0069]可將多個(gè)其他設(shè)備或子系統(tǒng)連接到計(jì)算系統(tǒng)610。相反地,無(wú)需圖6中示出的所有組件和設(shè)備都存在,亦可實(shí)踐本文描述和/或示出的實(shí)施例。上文提及的設(shè)備和子系統(tǒng)也可以不同于圖6所示的方式互連。計(jì)算系統(tǒng)610也可采用任何數(shù)量的軟件、固件和/或硬件配置。例如,本文所公開的一個(gè)或多個(gè)示例性實(shí)施例可被編碼為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序(也稱為計(jì)算機(jī)軟件、軟件應(yīng)用程序、計(jì)算機(jī)可讀指令或計(jì)算機(jī)控制邏輯)。短語(yǔ)“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”通常指能夠存儲(chǔ)或攜帶計(jì)算機(jī)可讀指令的任何形式的設(shè)備、載體或介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的例子包括但不限于傳輸型介質(zhì),諸如載波,和非暫態(tài)型介質(zhì),諸如磁存儲(chǔ)介質(zhì)(例如,硬盤驅(qū)動(dòng)器和軟盤)、光存儲(chǔ)介質(zhì)(例如,CD-或DVD-ROM)、電子存儲(chǔ)介質(zhì)(例如,固態(tài)驅(qū)動(dòng)器和閃存介質(zhì))和其他分配系統(tǒng)。
[0070]可將包含計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)加載到計(jì)算系統(tǒng)610中。然后可將計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)的全部或一部分計(jì)算機(jī)程序存儲(chǔ)在系統(tǒng)存儲(chǔ)器616中和/或存儲(chǔ)設(shè)備632和633的各個(gè)部分中。當(dāng)由處理器614執(zhí)行時(shí),加載到計(jì)算系統(tǒng)610中的計(jì)算機(jī)程序可使處理器614執(zhí)行和/或作為一種方式來(lái)執(zhí)行本文描述和/或示出的示例性實(shí)施例中的一者或多者的功能。除此之外或作為另外一種選擇,可在固件和/或硬件中實(shí)施本文描述和/或示出的示例性實(shí)施例中的一者或多者。例如,計(jì)算系統(tǒng)610可被配置為適用于實(shí)施本文所公開的示例性實(shí)施例中的一者或多者的專用集成電路(ASIC)。
[0071]圖7為示例性網(wǎng)絡(luò)架構(gòu)700的框圖,其中客戶端系統(tǒng)710、720和730以及服務(wù)器740和745可耦合到網(wǎng)絡(luò)750。如上文所詳述,網(wǎng)絡(luò)架構(gòu)700的全部或一部分可執(zhí)行和/或作為一種方式用于單獨(dú)地或與其他元件結(jié)合來(lái)執(zhí)行本文所公開的接收、發(fā)起、攔截、重定向、執(zhí)行、檢索和授權(quán)步驟中的一者或多者。網(wǎng)絡(luò)架構(gòu)700的全部或一部分也可用于執(zhí)行和/或作為一種方式用于執(zhí)行本發(fā)明中闡述的其他步驟和特征。
[0072]客戶端系統(tǒng)710、720和730通常表示任何類型或形式的計(jì)算設(shè)備或系統(tǒng),諸如圖6中的示例性計(jì)算系統(tǒng)610。類似地,服務(wù)器740和745通常表示被配置為提供各種數(shù)據(jù)庫(kù)服務(wù)和/或運(yùn)行特定軟件應(yīng)用程序的計(jì)算設(shè)備或系統(tǒng),諸如應(yīng)用程序服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器。網(wǎng)絡(luò)750通常表示任何電信或計(jì)算機(jī)網(wǎng)絡(luò),包括(例如)內(nèi)聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、個(gè)人區(qū)域網(wǎng)(PAN)或互聯(lián)網(wǎng)。在一個(gè)例子中,客戶端系統(tǒng)710、720和/或730和/或服務(wù)器740和/或745可包括圖1的系統(tǒng)100的全部或一部分。
[0073]如圖7所示,一個(gè)或多個(gè)存儲(chǔ)設(shè)備760(1)-(N)可直接附接到服務(wù)器740。類似地,一個(gè)或多個(gè)存儲(chǔ)設(shè)備770 (I)-(N)可直接附接到服務(wù)器745。存儲(chǔ)設(shè)備760 (I) - (N)和存儲(chǔ)設(shè)備770 (I)-(N)通常表示能夠存儲(chǔ)數(shù)據(jù)和/或其他計(jì)算機(jī)可讀指令的任何類型或形式的存儲(chǔ)設(shè)備或介質(zhì)。在某些實(shí)施例中,存儲(chǔ)設(shè)備760 (I)-(N)和存儲(chǔ)設(shè)備770 (I)-(N)可表示被配置為使用各種協(xié)議(諸如NFS、SMB或CIFS)與服務(wù)器740和745進(jìn)行通信的網(wǎng)絡(luò)附接存儲(chǔ)(NAS)設(shè)備。
[0074]服務(wù)器740和745也可連接到存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)光纖網(wǎng)780。SAN光纖網(wǎng)780通常表示能夠促進(jìn)多個(gè)存儲(chǔ)設(shè)備之間的通信的任何類型或形式的計(jì)算機(jī)網(wǎng)絡(luò)或架構(gòu)。SAN光纖網(wǎng)780可促進(jìn)服務(wù)器740和745與多個(gè)存儲(chǔ)設(shè)備790 (I)-(N)和/或智能存儲(chǔ)陣列795之間的通信。SAN光纖網(wǎng)780還可通過(guò)網(wǎng)絡(luò)750以及服務(wù)器740和745以這樣的方式促進(jìn)客戶端系統(tǒng)710、720和730與存儲(chǔ)設(shè)備790 (I)-(N)和/或智能存儲(chǔ)陣列795之間的通信:設(shè)備790 (I)-(N)和陣列795呈現(xiàn)為客戶端系統(tǒng)710、720和730的本地附接設(shè)備。與存儲(chǔ)設(shè)備760 (I)-(N)和存儲(chǔ)設(shè)備770 (I)-(N)相同,存儲(chǔ)設(shè)備790 (I)-(N)和智能存儲(chǔ)陣列795通常表示能夠存儲(chǔ)數(shù)據(jù)和/或其他計(jì)算機(jī)可讀指令的任何類型或形式的存儲(chǔ)設(shè)備或介質(zhì)。
[0075]在某些實(shí)施例中,并參照?qǐng)D6的示例性計(jì)算系統(tǒng)610,通信接口(諸如圖6中的通信接口 622)可用于在每個(gè)客戶端系統(tǒng)710、720和730與網(wǎng)絡(luò)750之間提供連接??蛻舳讼到y(tǒng)710、720和730可能夠使用(例如)web瀏覽器或其他客戶端軟件來(lái)訪問(wèn)服務(wù)器740或745上的信息。此類軟件可允許客戶端系統(tǒng)710、720和730訪問(wèn)由服務(wù)器740、服務(wù)器745、存儲(chǔ)設(shè)備760 (I) - (N)、存儲(chǔ)設(shè)備770 (I) - (N)、存儲(chǔ)設(shè)備790 (I) - (N)或智能存儲(chǔ)陣列795托管的數(shù)據(jù)。盡管圖7示出了使用網(wǎng)絡(luò)(諸如互聯(lián)網(wǎng))來(lái)交換數(shù)據(jù),但本文所述和/或示出的實(shí)施例并不限于互聯(lián)網(wǎng)或任何特定的基于網(wǎng)絡(luò)的環(huán)境。
[0076]在至少一個(gè)實(shí)施例中,本文所公開的一個(gè)或多個(gè)示例性實(shí)施例中的全部或一部分可被編碼為計(jì)算機(jī)程序并加載到服務(wù)器740、服務(wù)器745、存儲(chǔ)設(shè)備760 (I)-(N)、存儲(chǔ)設(shè)備770(1)-(N)、存儲(chǔ)設(shè)備790(1)-(N)、智能存儲(chǔ)陣列795、或它們的任意組合上并加以執(zhí)行。本文所公開的一個(gè)或多個(gè)示例性實(shí)施例中的全部或一部分也可被編碼為計(jì)算機(jī)程序,存儲(chǔ)在服務(wù)器740中,由服務(wù)器745運(yùn)行,以及通過(guò)網(wǎng)絡(luò)750分配到客戶端系統(tǒng)710、720和730。
[0077]如上所詳述,計(jì)算系統(tǒng)610和/或網(wǎng)絡(luò)架構(gòu)700的一個(gè)或多個(gè)組件可執(zhí)行和/或作為一種方式用于單獨(dú)或與其他元件結(jié)合來(lái)執(zhí)行用于實(shí)施多因素認(rèn)證的示例性方法的一個(gè)或多個(gè)步驟。
[0078]雖然上述發(fā)明使用特定框圖、流程圖和例子闡述了各種實(shí)施例,但每個(gè)框圖組件、流程圖步驟、操作和/或本文描述和/或示出的組件可使用廣泛范圍的硬件、軟件或固件(或其任何組合)配置單獨(dú)和/或共同來(lái)實(shí)現(xiàn)。此外,包含在其他組件內(nèi)的組件的任何公開內(nèi)容應(yīng)當(dāng)被視為在本質(zhì)上是示例性的,因?yàn)榭蓪?shí)施許多其他架構(gòu)來(lái)實(shí)現(xiàn)相同功能。
[0079]在一些例子中,圖1中的示例性系統(tǒng)100的全部或一部分可表示云計(jì)算環(huán)境或基于網(wǎng)絡(luò)的環(huán)境的部分。云計(jì)算環(huán)境可以通過(guò)互聯(lián)網(wǎng)提供各種服務(wù)和應(yīng)用程序。這些基于云的服務(wù)(例如,軟件即服務(wù)(software as a service)、平臺(tái)即服務(wù)(platform as aservice)、基礎(chǔ)結(jié)構(gòu)即服務(wù)(infrastructure as a service)等)可以通過(guò)web瀏覽器或其他遠(yuǎn)程接口進(jìn)行訪問(wèn)。本文所述的各種功能可以通過(guò)遠(yuǎn)程桌面環(huán)境或任何其他基于云的計(jì)算環(huán)境提供。
[0080]本文描述和/或示出的過(guò)程參數(shù)和步驟序列僅通過(guò)舉例的方式給出并且可根據(jù)需要改變。例如,雖然本文示出和/或描述的步驟可以特定順序示出或討論,但這些步驟不必按示出或討論的順序來(lái)執(zhí)行。本文描述和/或示出的各種示例性方法也可省略本文描述或示出的步驟中的一者或多者,或除了所公開的那些步驟之外還包括附加步驟。
[0081]雖然本文已經(jīng)在完全功能計(jì)算系統(tǒng)的上下文中描述和/或示出了各種實(shí)施例,但這些示例性實(shí)施例中的一者或多者可作為各種形式的程序產(chǎn)品來(lái)分配,而不考慮用于實(shí)際進(jìn)行分配的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的特定類型。本文所公開的實(shí)施例也可使用執(zhí)行某些任務(wù)的軟件模塊來(lái)實(shí)現(xiàn)。這些軟件模塊可包括腳本、批處理或可存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上或計(jì)算系統(tǒng)中的其他可執(zhí)行文件。在一些實(shí)施例中,這些軟件模塊可將計(jì)算系統(tǒng)配置為執(zhí)行本文所公開的示例性實(shí)施例中的一者或多者。
[0082]此外,本文所述的模塊中的一者或多者可將數(shù)據(jù)、物理設(shè)備和/或物理設(shè)備的表示從一種形式轉(zhuǎn)換為另一種形式。例如,本文所述模塊中的一者或多者可將計(jì)算設(shè)備轉(zhuǎn)換為用于實(shí)施多因素認(rèn)證的設(shè)備。又如,本文所述模塊中的一者或多者可將企業(yè)轉(zhuǎn)換為具有多因素認(rèn)證的企業(yè)。
[0083]提供前面描述的目的是使本領(lǐng)域的其他技術(shù)人員能夠最好地利用本文所公開的示例性實(shí)施例的各種方面。該示例性描述并非旨在是詳盡的或局限于所公開的任何精確形式。在不脫離本發(fā)明精神和范圍的前提下,可進(jìn)行許多修改和變化。本文所公開的實(shí)施例在所有方面均應(yīng)被視為示例性的而非限制性的。應(yīng)當(dāng)參考所附權(quán)利要求及其等同形式來(lái)確定本發(fā)明的范圍。
[0084]除非另有說(shuō)明,否則在本說(shuō)明書和權(quán)利要求中使用的術(shù)語(yǔ)“一”或“一個(gè)”應(yīng)當(dāng)理解為是表示“......中的至少一者”。此外,為了易于使用,在本說(shuō)明書和權(quán)利要求中使用的詞語(yǔ)“包括”和“具有”與詞語(yǔ)“包含”可互換并且與詞語(yǔ)“包含”具有相同含義。
【權(quán)利要求】
1.一種用于實(shí)施多因素認(rèn)證的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法的至少一部分可由包括至少一個(gè)處理器的計(jì)算設(shè)備來(lái)執(zhí)行,所述方法包括: 作為二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求; 響應(yīng)于接收到所述認(rèn)證請(qǐng)求,將所述客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證; 接收來(lái)自所述客戶端系統(tǒng)的證明所述第一認(rèn)證已成功的所述第一認(rèn)證的斷言; 響應(yīng)于接收到所述第一認(rèn)證的所述斷言,用所述客戶端系統(tǒng)執(zhí)行第二認(rèn)證。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中接收所述認(rèn)證請(qǐng)求包括接收由訪問(wèn)管理器發(fā)起的認(rèn)證請(qǐng)求,所述訪問(wèn)管理器被配置為通過(guò)所述二級(jí)認(rèn)證系統(tǒng)對(duì)所述客戶端系統(tǒng)進(jìn)行認(rèn)證。
3.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述訪問(wèn)管理器在攔截到來(lái)自所述客戶端系統(tǒng)的對(duì)受保護(hù)資源的請(qǐng)求時(shí)發(fā)起所述認(rèn)證請(qǐng)求。
4.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述初級(jí)認(rèn)證系統(tǒng)和所述訪問(wèn)管理器兩者安裝在單個(gè)企業(yè)網(wǎng)絡(luò)內(nèi)并在其中工作。
5.根據(jù)權(quán)利要求4所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述二級(jí)認(rèn)證系統(tǒng)包括被配置為在所述單個(gè)企業(yè)網(wǎng)絡(luò)外操作的服務(wù)。
6.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括在執(zhí)行所述第二認(rèn)證之后用所述第二認(rèn)證的斷言將所述客戶端系統(tǒng)重定向至所述訪問(wèn)管理器。
7.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述訪問(wèn)管理器被配置為在接收到所述第二認(rèn)證的所述斷言之后授權(quán)所述客戶端系統(tǒng)訪問(wèn)受保護(hù)資源。
8.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中執(zhí)行所述第二認(rèn)證包括: 從所述第一認(rèn)證的所述斷言中檢索用戶識(shí)別信息; 通過(guò)使用所述用戶識(shí)別信息而不是從所述客戶端系統(tǒng)請(qǐng)求所述用戶識(shí)別信息來(lái)執(zhí)行所述第二認(rèn)證。
9.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述初級(jí)認(rèn)證系統(tǒng)接收來(lái)自所述客戶端系統(tǒng)的認(rèn)證憑據(jù),并用所述第一認(rèn)證的所述斷言將所述客戶端系統(tǒng)重定向至所述二級(jí)認(rèn)證系統(tǒng)。
10.一種用于實(shí)施多因素認(rèn)證的系統(tǒng),所述系統(tǒng)包括: 接收模塊,所述接收模塊被編程為作為二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求; 重定向模塊,所述重定向模塊被編程為響應(yīng)于接收到所述認(rèn)證請(qǐng)求而將所述客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證; 斷言模塊,所述斷言模塊被編程為接收來(lái)自所述客戶端系統(tǒng)的證明所述第一認(rèn)證已成功的所述第一認(rèn)證的斷言; 認(rèn)證模塊,所述認(rèn)證模塊被編程為響應(yīng)于接收到所述第一認(rèn)證的所述斷言而用所述客戶端系統(tǒng)執(zhí)行第二認(rèn)證; 至少一個(gè)處理器,所述處理器被配置為執(zhí)行所述接收模塊、所述重定向模塊、所述斷言模塊和所述認(rèn)證模塊。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述接收模塊被配置為通過(guò)接收由訪問(wèn)管理器發(fā)起的認(rèn)證請(qǐng)求來(lái)接收所述認(rèn)證請(qǐng)求,所述訪問(wèn)管理器被配置為通過(guò)所述二級(jí)認(rèn)證系統(tǒng)對(duì)所述客戶端系統(tǒng)進(jìn)行認(rèn)證。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述訪問(wèn)管理器在攔截到來(lái)自所述客戶端系統(tǒng)的對(duì)受保護(hù)資源的請(qǐng)求時(shí)發(fā)起所述認(rèn)證請(qǐng)求。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述初級(jí)認(rèn)證系統(tǒng)和所述訪問(wèn)管理器兩者安裝在單個(gè)企業(yè)網(wǎng)絡(luò)內(nèi)并在其中工作。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述二級(jí)認(rèn)證系統(tǒng)包括被配置為在所述單個(gè)企業(yè)網(wǎng)絡(luò)外操作的服務(wù)。
15.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述認(rèn)證模塊還被編程為在執(zhí)行所述第二認(rèn)證之后用所述第二認(rèn)證的斷言將所述客戶端系統(tǒng)重定向至所述訪問(wèn)管理器。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述訪問(wèn)管理器被配置為在接收到所述第二認(rèn)證的所述斷言之后授權(quán)所述客戶端系統(tǒng)訪問(wèn)受保護(hù)資源。
17.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述認(rèn)證模塊還被編程為通過(guò)以下方式執(zhí)行所述第二認(rèn)證: 從所述第一認(rèn)證的所述斷言中檢索用戶識(shí)別信息; 通過(guò)使用所述用戶識(shí)別信息而不是從所述客戶端系統(tǒng)請(qǐng)求所述用戶識(shí)別信息來(lái)執(zhí)行所述第二認(rèn)證。
18.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述初級(jí)認(rèn)證系統(tǒng)接收來(lái)自所述客戶端系統(tǒng)的認(rèn)證憑據(jù),并用所述第一認(rèn)證的所述斷言將所述客戶端系統(tǒng)重定向至所述二級(jí)認(rèn)證系統(tǒng)。
19.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其包括一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行指令,當(dāng)由計(jì)算設(shè)備的至少一個(gè)處理器執(zhí)行時(shí),所述指令可使所述計(jì)算設(shè)備: 作為二級(jí)認(rèn)證系統(tǒng)的一部分接收來(lái)自客戶端系統(tǒng)的認(rèn)證請(qǐng)求; 響應(yīng)于接收到所述認(rèn)證請(qǐng)求,將所述客戶端系統(tǒng)重定向?yàn)槭紫扔贸跫?jí)認(rèn)證系統(tǒng)執(zhí)行第一認(rèn)證; 接收來(lái)自所述客戶端系統(tǒng)的證明所述第一認(rèn)證已成功的所述第一認(rèn)證的斷言; 響應(yīng)于接收到所述第一認(rèn)證的所述斷言,用所述客戶端系統(tǒng)執(zhí)行第二認(rèn)證。
20.根據(jù)權(quán)利要求20所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行指令通過(guò)使所述計(jì)算設(shè)備接收由被配置成通過(guò)所述次級(jí)認(rèn)證系統(tǒng)對(duì)所述客戶端系統(tǒng)進(jìn)行認(rèn)證的訪問(wèn)管理器發(fā)起的認(rèn)證請(qǐng)求來(lái)使所述計(jì)算設(shè)備接收所述認(rèn)證請(qǐng)求。
【文檔編號(hào)】G06F21/30GK104364790SQ201380027419
【公開日】2015年2月18日 申請(qǐng)日期:2013年6月3日 優(yōu)先權(quán)日:2012年6月11日
【發(fā)明者】D·羅伊 申請(qǐng)人:賽門鐵克公司