欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對訪問web服務資源的請求專用認證的制作方法

文檔序號:6476905閱讀:108來源:國知局
專利名稱:對訪問web服務資源的請求專用認證的制作方法
對訪問web服務資源的請求專用認證祖且 冃尿當用戶試圖通過諸如因特網等網絡來訪問受保護的遠程資源時,該用戶通 常遵照由控制該資源的服務器發(fā)出的策略陳述。該策略陳述提供發(fā)起與資源的 通信所需的認證和授權規(guī)則集。例如,策略陳述可能要求用戶在訪問資源之前 提供口令。如果該用戶提供正確的口令,則認證該用戶的身份并允許訪問該資 源。雖然策略陳述認證方法在其中單一的認證形式足以發(fā)起與受保護資源的 通信的情形中起到很好的作用,但策略陳述在動態(tài)環(huán)境中無法起到很好的作 用。在動態(tài)環(huán)境中,在客戶機和受保護資源之間的通信開始時的單個認證實例 可能不夠。例如,當用戶試圖訪問具有受保護資源的網站時,對于該用戶而言 通過輸入口令來提供認證在最初可能是足夠的。然而, 一旦用戶可訪問該網站, 該用戶就可嘗試改變他或她的口令,更新目錄、訪問高度受保護資源或請求諸 如系統(tǒng)管理員組等提升的訪問組的特權。在這種情況下,該用戶正在請求執(zhí)行 不止簡單地查看信息的動作。這些動作具有對受保護資源造成大量破壞的可能 性。某些認證方法在使得能夠與資源進行通信之前需要認證。然而,在動態(tài)環(huán) 境中,在接收到請求訪問受保護資源的實際請求之前難以確定要應用什么認證 和認證規(guī)則。概述本發(fā)明的各實施例涉及用于消息專用認證的系統(tǒng)、方法和數(shù)據(jù)結構。 一方 面是用于控制對受保護web服務資源的訪問的計算系統(tǒng)。該計算系統(tǒng)包括通信 設備、處理器和存儲器。該通信設備跨通信網絡進行通信。該處理器通信地連 接到該通信設備。該存儲器存儲程序指令,該指令在由該處理器執(zhí)行時使該計 算系統(tǒng)執(zhí)行一種控制對受保護web服務資源的訪問的方法。該方法包括從客戶 機接收從通信網絡訪問受保護web服務資源的第一請求;確定該客戶機已根據(jù)第一因素來認證;基于根據(jù)該第一因素的認證來授權該訪問受保護web服務資 源的第一請求;從客戶機接收從通信網絡訪問受保護web服務資源的第二請 求;基于根據(jù)不足以授權該第二請求的第一因素的認證來拒絕該訪問受保護 web服務資源的第二請求;確定客戶機已根據(jù)第二因素來認證;以及基于根據(jù) 該第二因素的認證來授權該訪問受保護web服務資源的第二請求。
另一方面是一種認證客戶機以便訪問web服務資源的方法。該方法包括 (i)從要認證的客戶機接收請求;(ii)向該客戶機發(fā)送質詢消息;(iii)從該客戶 機接收對該質詢消息的確認響應;(iv)確定該確認響應滿足預定準則;(v)確 定要認證的請求需要進一步認證;(iv)以第二質詢消息、第二確認響應和第二 預定準則來重復(ii)到(iv);以及(v)向該客戶機發(fā)送認證消息。
又一方面涉及一種包含計算機可執(zhí)行指令的計算機可讀存儲介質,所述指 令在由計算機執(zhí)行時執(zhí)行一種控制對受保護資源的訪問的方法,所述方法包 括從客戶機接收標識web服務的受保護資源的請求;向客戶機發(fā)送向認證服 務請求認證的響應;在向該認證服務認證后從該客戶機接收認證令牌;確定該 認證令牌是否足以授權該請求;如果該認證令牌足以授權該請求,則授權該請 求;以及如果該認證令牌不足以授權該請求,則拒絕該請求。
各實施例可被實現(xiàn)為計算機進程、計算系統(tǒng)、或者諸如計算機程序產品或 計算機可讀介質等制品。計算機程序產品可以是計算機系統(tǒng)可讀并編碼用于執(zhí) 行計算機進程的指令的計算機程序的計算機存儲介質。計算機程序產品也可以 是計算系統(tǒng)可讀并編碼用于執(zhí)行計算機進程的指令的計算機程序的載波上的 傳播信號。
提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的 一些概念。本概述并不旨在標識所要求保護的主題的關鍵特征或必要特征,也 決不旨在用于限制所要求保護的主題的范圍。
附圖簡述


圖1是被配置成執(zhí)行動態(tài)認證的示例系統(tǒng)的框圖。
圖2是示出用于動態(tài)確定是否需要認證的示例方法的流程圖。
圖3是示出用于認證客戶機的示例方法的流程圖。圖4是示出用于動態(tài)控制對受保護資源的訪問的示例方法的流程圖。 圖5是示出用于控制對受保護資源的訪問的示例方法的流程圖。 圖6是用于實現(xiàn)本發(fā)明的各方面的示例性計算系統(tǒng)的框圖。
詳細描述
本發(fā)明現(xiàn)將參考其中示出了各具體實施例的附圖來更完整地描述各示例 性實施例。然而,其它方面能以許多不同的形式來實現(xiàn),并且在本發(fā)明中包括 具體實施例不應被解釋為將這些方面限于在此所述的各實施例。相反,包括附 圖中描繪的各實施例是為了提供全面和完整且將預期的范圍完全地傳達給本 領域技術人員的公開。在參考附圖時,使用相同的附圖標記來指示所有附圖所 示的相同的結構和元素。
本發(fā)明的某些實施例涉及用于消息專用認證的系統(tǒng)和方法。一方面是在允 許客戶機訪問受保護資源之前確定是否需要認證的方法。
一般而言,認證是驗證由諸如計算系統(tǒng)、客戶機、系統(tǒng)或人等某物作出的 身份聲明的真實性的過程。認證計算系統(tǒng)通常包括確認其來源或源。對來源或 源的確認通常通過將諸如制造地點和時間、網絡上的位置、物理位置、標識號 等關于聲明特定身份的計算系統(tǒng)的信息與關于該特定身份的已知信息進行比 較來實現(xiàn)。
然而,認證一個人的動作涉及例如,確認這個人的身份。存在可用于認證 的許多不同的標識特性。 一種標識人的方法涉及檢測生物測定標識符。該認證
方法要求聲明一身份的人提供諸如DNA、指紋圖案、視網膜圖案等聲明該身
份的人的唯一特征形式的驗證。能夠驗證一個人的身份的另一種方式是通過這
個人所知道的某樣東西。該認證方法要求聲明一身份的人提供諸如口令、pin 號等個人信息形式的驗證。能夠驗證一個人的身份的另一種方式是通過這個人 所具有的某樣東西。該認證方法要求聲明一身份的人提供諸如鑰匙、安全卡、 安全令牌、信用卡等對象形式的驗證。這些認證方法可在被稱為多因素認證的 過程中單獨或一起使用。
一般而言,在認證客戶機時,該過程包括認證客戶機或認證使用該客戶機 的人的身份。在一個實施例中,該客戶機可以是web瀏覽器。在另一實施例中,
8該客戶機可以是被配置成作出遠程過程調用的程序,或者與受保護資源進行通 信的任何其他應用程序或程序。
在動態(tài)環(huán)境中,各種類型的認證以及用于認證客戶機的規(guī)則取決于所作出 的各種類型的訪問受保護資源的請求而變化。例如,請求査看受保護資源的消 息可能需要比請求修改該受保護資源的消息較不費力的認證。在一個實施例 中,受保護資源是僅特定用戶可訪問的專用網站。在另一實施例中,受保護資 源可以是私人電子郵件組、受保護數(shù)據(jù)、受保護方法、受保護過程、受保護操 作或者應被限于特定用戶或客戶機的任何其他類型的受保護信息或功能。
圖1是被配置成執(zhí)行請求專用動態(tài)認證的示例系統(tǒng)100的框圖。在所示實
施例中,系統(tǒng)100包括客戶機102、 web服務104和認證服務108。 web服務 104包括受保護資源106。在該實施例中,客戶機102期望獲取對受保護資源 106的訪問權。然而,受保護資源106被保護以免被未經認證的客戶機訪問。 客戶機102、 web服務104和認證服務108被配置成跨網絡110進行通信。網 絡110是數(shù)據(jù)通信路徑。在一個實施例中,網絡110是因特網。在其他實施例 中,網絡110是局域網、內聯(lián)網、無線網絡或者被配置成將數(shù)據(jù)從一個計算設 備傳遞到另一個計算設備的任何其他通信路徑。
在一個實施例中,客戶機102是計算系統(tǒng)。在其他實施例中,客戶機102 是被配置成跨網絡IIO傳遞數(shù)據(jù)的任何計算系統(tǒng)??蛻魴C102的一個示例是圖 6所示的計算系統(tǒng)600??蛻魴C102通過網絡110來與web服務104和認證服 務108通信地連接。在某些實施例中,客戶機102可通過向web服務104發(fā)送 消息來訪問受保護資源106。在另一實施例中,客戶機102直接向受保護資源 106發(fā)送消息。
在一個實施例中,web服務104是諸如web服務器等操作web服務的計 算系統(tǒng)(例如,圖6所示的計算系統(tǒng)600)。 一般而言,web服務104提供可 使用數(shù)據(jù)通信協(xié)議來通過網絡110訪問的有用功能。web服務可用于提供無數(shù) 種有用功能。在一個實施例中,web服務104是服務器。在另一實施例中,web 服務104是在通信地連接到網絡110的計算系統(tǒng)上操作的計算系統(tǒng)應用程序。 在某些實施例中,web服務104是web服務消息可被定址到的可引用實體、處 理器或資源。一般而言,web服務104的某些實施例監(jiān)視網絡110以査找發(fā)自客戶機 102的關于受保護資源106的消息。當接收到一消息時,web服務104確定該 消息是否包含需要認證客戶機102的請求。對客戶機102的認證有時在準許客 戶機102訪問受保護資源106之前是必需的,以便控制對受保護資源106的訪 問。如果web服務104確定需要認證,則web服務104將客戶機102定向到 認證服務108。
在所示實施例中,web服務104包括受保護資源106。受保護資源包括例 如,只可由經認證的客戶機來訪問、使用或修改的由web服務104執(zhí)行的功能 以及由web服務104存儲的數(shù)據(jù)。例如,如果web服務104提供維護組分發(fā) 列表的服務,則該組分發(fā)列表是只可由經認證的客戶機訪問、使用或修改的受 保護資源。作為另一示例,受保護資源106是目錄中的條目。在另一實施例中, 受保護資源106是數(shù)據(jù)庫中的記錄。在另一實施例中,受保護資源106是存儲 在存儲器存儲設備上的文件或文件的一部分。其他實施例使用其他形式的受保 護資源106。
在一個實施例中,認證服務108是諸如服務器等通信地連接到網絡110 的計算系統(tǒng)(例如,圖6所示的計算系統(tǒng)600)。在另一實施例中,認證服務 108是運行位于網絡上的軟件應用程序的計算系統(tǒng)。認證服務108被配置成認 證客戶機102。認證服務108的一個示例是安全令牌服務端點。盡管所示實施 例示出認證服務108的一個示例與web服務104分開且不同,但在其他實施例 中,認證服務108和web服務104在同一服務器上操作。
如果客戶機102得到認證以執(zhí)行其消息中對受保護資源106的請求,則 web服務104向客戶機102傳遞所請求的操作的結果。然后,在其他可能的實 施例中,認證服務108跨網絡110直接與web服務104進行通信,諸如以便從 web服務104接收對認證的請求,或者向web服務104發(fā)送認證證明。
除了認證之外,有時期望通過要求不僅認證客戶機而且授權客戶機來控制 對受保護資源的訪問。認證在由Craig V. McMurtry、 Alexander T. Weinert、 Vadim Meleshuk禾卩Mark E. Gabarra在2008年2月1日提交的題為 "AUTHORIZATION FOR ACCESS TO WEB SERVICE RESOURCES (對web 服務資源的訪問的授權)"的美國專利申請第12/024,896號中描述,該申請的全部公開內容通過引用結合于此。
圖2是示出用于動態(tài)確定是否需要認證的示例方法200的流程圖。方法
200包括操作202、 204、 206、 208和210。方法200開始于操作202,在其間作出資源請求。在一個實施例中,操作202涉及將包括訪問受保護資源106的請求的消息從客戶機102傳遞至web服務104。在某些實施例中,該消息是遠程過程調用。在另一實施例中,該請求可采取電子郵件或客戶機和資源之間的任何其他類型的電子通信的形式。在另一實施例中,操作202涉及客戶機102向web服務104發(fā)送諸如在web服務通信中常用的Create (創(chuàng)建)、Get (獲取)、Delete (刪除)、Enumerate (枚舉)請求。
在作出該資源請求后,執(zhí)行操作204以評估該請求并確定認證是否是必需的。在一個實施例中,web服務分析從客戶機發(fā)送到受保護資源的消息以確定該消息是否包含要求該客戶機提供認證的請求。在一個實施例中,如果試圖訪問受保護資源的客戶機先前已經提供了對于請求所必需的認證,則該客戶機將不必提供認證。在另一實施例中,如果資源是對請求該資源的任何人可用的公共資源,則客戶機將不必提供認證。在另一實施例中,即使資源可能是受保護的,但如果消息包含不需要認證的請求,諸如如果該消息是無法破壞該受保護資源的類型,則認證并非必需。如果web服務104在操作204中確定認證并非必需,則執(zhí)行操作206。如果認證是必需的,則執(zhí)行操作208。
在一個示例中,web服務104通過評估多個考慮事項來確定認證是否是必需的。這些考慮事項包括用于傳達請求的介質(諸如是局域網還是遠程訪問)、請求所涉及的對象的類型、請求所涉及的對象的特性、以及已經與請求包括在一起的憑證的質量。例如,對于憑證的質量,如果憑證是對應于來自另一組織的用戶,則取決于該用戶正試圖訪問的資源,可能需要附加憑證。
如果認證并非必需,則執(zhí)行操作206以授權對所請求的資源的訪問。web服務通過例如向客戶機發(fā)送資源的表示、通過對受保護資源執(zhí)行所請求的操作或通過向客戶機發(fā)送所請求的操作的結果來授權對該受保護資源的訪問。
然而,如果認證是必需的,則執(zhí)行操作208以執(zhí)行該認證。認證客戶機將參考圖3進一步討論。要求客戶機提供認證的情形的示例包括其中客戶機試圖訪問或修改專用網站、私人電子郵件組、受保護數(shù)據(jù)、受保護方法、受保護過程、受保護操作或任何其他類型的受保護信息或功能的情況。在某些實施例中,
web服務104質詢客戶機102以使其提供認證。或者,web服務104將該客戶機定向到認證服務(如認證服務108)。認證服務108可位于web服務104處,位于來自該web服務的其他地方,或者在分布式網絡的情況下位于兩者處。認證客戶機的示例方法參考圖3示出并描述。
在認證客戶機后,執(zhí)行操作206以授權該客戶機訪問該web服務的受保護資源。在一個實施例中,在該客戶機將來自認證服務的認證令牌提供給web服務后授權該訪問。該web服務例如通過向客戶機發(fā)送資源、通過對受保護資源執(zhí)行所請求的操作、通過指示受保護資源執(zhí)行所請求的操作或通過向客戶機發(fā)送所請求的操作的結果來授權訪問。
如果確定客戶機不應當?shù)玫秸J證,則執(zhí)行操作210,在其間拒絕對受保護資源的訪問。在一個示例中,由于認證服務108未提供獲取對受保護資源的訪問權所需的認證令牌而拒絕訪問。
圖3是示出用于認證客戶機的示例方法300的流程圖。在一個實施例中,方法300與圖2所示的操作208相對應。方法300開始于操作302,在其間作出對認證的請求。在一個實施例中,操作302涉及將消息從客戶機102發(fā)送到認證服務108以及認證服務108接收對認證的請求。
在所示實施例中,在接收到該對認證的請求后,執(zhí)行操作304以傳遞認證質詢。在一個實施例中,認證服務108向客戶機102傳遞質詢以測試該客戶機或用戶身份的真實性。在某些實施例中,該質詢采取以下形式請求口令;請求對安全問題的回答;請求DNA樣本、指紋圖案、視網膜圖案、其他形式的生物測定標識符、使用客戶機的人的其他唯一標識符;請求諸如鑰匙、安全卡、安全令牌、信用卡或對于使用客戶機的人是唯一的某一其他對象等對象形式的驗證;請求諸如制造地點和時間、網絡上的位置、物理位置、標識號等客戶機專用信息;或者請求可用于認證目的的任何其他類型的信息。
在所示實施例中, 一旦已傳遞質詢,就執(zhí)行操作306以接收對該質詢的確認響應。操作306涉及提供操作304中所請求的信息、樣本、標識符等,并將其傳遞給認證服務108。在一個實施例中,客戶機102的用戶使用輸入設備(例如,圖6所示的輸入設備614)來向客戶機102提供標識信息,該客戶機102然后將該信息傳遞給認證服務108。在某些實施例中,使用傳感器(其也是一種形式的輸入設備)。例如,用戶將手指放在指紋掃描儀上,該掃描儀掃描該指紋。該指紋數(shù)據(jù)然后被傳送到認證服務108。可使用各種類型的輸入設備,包括鍵盤、鼠標、觸摸墊、話筒、筆、生物測定傳感器、掃描儀、讀卡器、化
學檢測器等。在其他實施例中,將數(shù)據(jù)輸入到客戶機102中,該客戶機102然后將該數(shù)據(jù)傳遞給認證服務108。
在所示實施例中, 一旦已傳遞確認,就執(zhí)行操作308以驗證該確認響應。在一個實施例中,認證服務將其從客戶機102接收到的確認響應與關于所聲明的身份的已知信息進行比較。例如,認證服務108取得存儲在數(shù)據(jù)庫中的數(shù)據(jù),并將該數(shù)據(jù)與確認響應數(shù)據(jù)進行比較。認證服務108然后確定該確認響應是否匹配先前存儲的數(shù)據(jù)。如果是,則該確認響應通過驗證,并且執(zhí)行操作312。如果否,則該確認響應未通過驗證,并且執(zhí)行操作310。
如果所接收到的確認響應不匹配已知信息,則執(zhí)行操作310,其中拒絕對所請求的資源的訪問。在另一實施例中,認證服務108改為返回至操作304以再次重試認證。在這一實施例中,可準許多次重試,諸如三次重試。如果重試不成功,則執(zhí)行操作310以拒絕對受保護資源的訪問。
如果所接收到的確認響應匹配已知信息,則然后執(zhí)行操作312以確定進一步的認證是否是必需的。在一個實施例中,認證服務108確定是否需要更強形式的認證,即要求客戶機提供多種形式的認證的多因素認證。如果多因素認證是必需的,則方法300返回到操作304以傳遞第二質詢。然后如所需要地多次重復操作304、 306、 308和310或312。然而,在重復時,認證質詢將采取不
同于先前從認證服務發(fā)出的質詢的形式。例如,如果認證服務最初要求客戶機提供口令,則它可能在第二或后幾輪驗證期間要求該客戶機使用智能卡或生物
測定掃描儀。在某些實施例中,可使用任何形式的認證,只要該認證形式以某種方式不同于先前所使用的形式,以使得認證服務108并非簡單地反復請求相同的信息。在大多數(shù)情形中,重復請求相同信息將不會提供任何附加認證價值。然而,在某些情形中,諸如如果自從前一次質詢以來已過去了大量時間,則可使用重復請求。
如果進一步的認證并非必需,則執(zhí)行操作314以發(fā)放認證令牌。認證服務
13108將安全令牌返回給客戶機,該客戶機將該安全令牌用作該客戶機已通過認
證的證明。將該認證令牌從客戶機102發(fā)送到web服務104,并且web服務104然后授權客戶機102訪問最初請求的受保護資源。
圖4是示出用于動態(tài)控制對受保護資源的訪問的示例方法400的流程圖。在一個實施例中,方法400由web服務104響應于從諸如試圖獲取對受保護資源106的訪問權的客戶機102接收到的消息來執(zhí)行。方法400開始于操作404,在其間接收請求消息。在一個實施例中,web服務104從客戶機102接收對受保護資源106的請求。作為一些示例,該請求是査看受保護資源、獲取對受保護資源的訪問權、修改受保護資源的請求。
在所示實施例中,然后執(zhí)行操作406以確定該請求消息是否包含需要認證的請求。在一個實施例中,web服務104分析該請求以確定該請求中所包含的請求是否需要認證客戶機。在某些實施例中,例如,如果試圖訪問受保護資源的客戶機先前已經提供了對于請求所必需的認證,如果資源是公共的并且對所有人可用,如果請求類型是包含不需要認證的請求的類型,或者如果請求類型及其相關聯(lián)的請求無法對受保護資源造成破壞,則該客戶機將不必提供認證。如果認證并非必需,則然后執(zhí)行操作414以執(zhí)行所請求的操作。
在所示實施例中,如果消息中所包含的請求需要認證,則然后執(zhí)行操作408以傳達需要認證。在一個實施例中,操作408涉及將消息從web服務104發(fā)送到客戶機102以通知客戶機102執(zhí)行所請求的操作需要認證。在一個實施例中,web服務104將客戶機102定向到認證服務108以便進行認證,如參考圖3所描述的。例如,消息包含認證提供者的地址??蛻魴C使用該地址來定位該認證提供者以試圖接收認證。在另一實施例中,方法300由web服務104來執(zhí)行,以使得該消息包含請求客戶機102提供認證信息的對客戶機102的質詢。
在所示實施例中,如果客戶機成功地通過認證,則然后執(zhí)行操作410,其中接收認證令牌。如參考圖3所描述的,成功認證的結果是接收到認證令牌。將該令牌傳遞給web服務104以提供認證證明。web服務104評估該令牌并驗證該令牌是有效的。
在某些實施例中,對令牌的驗證涉及兩個步驟。第一個步驟涉及公鑰密碼。如果web服務104能夠使用認證服務108的公鑰來解密令牌,則web服務104
14確定該令牌肯定是認證服務108發(fā)放的。第二個步驟包括判定認證服務108所
作出的關于客戶機102的聲明是否滿足一個或多個訪問條件。
例如,為了使得能夠訪問特定受保護資源106, web服務104可能要求執(zhí)行三個特定認證過程以便向認證服務108認證客戶機102。結果,web服務104評估從客戶機102接收到的令牌以驗證該令牌包含認證服務108所作出的三個聲明,從而斷言客戶機102已完成所有三個認證過程。在其他實施例中,可能需要任何數(shù)量的認證過程。在某些實施例中,所需認證過程的數(shù)量和類型與所做出的請求的類型相關。例如,涉及更高風險的請求通常將需要更嚴格的認證過程。
在某些實施例中,成功完成的認證過程的數(shù)量被稱為認證級別。在某些實施例中,涉及受保護資源106的低風險操作只需要低認證級別,諸如一級或二級認證。在某些實施例中,高風險操作需要諸如三級認證和五級認證之間的高認證級別。單個受保護資源可取決于所作出的請求而與各個認證級別相關聯(lián)。例如,從受保護資源中取得信息的請求在某些情形中可能只需要低認證級別,而從受保護資源中刪除信息的請求可能需要中或高認證級別。在其他情形中,如果信息是敏感的或機密的,則從受保護資源中取得該信息的請求可能需要高認證級別。
在所示實施例中,如果未提供有效的認證證明或者如果所提供的認證被評估或確定為不足的,則執(zhí)行操作411以拒絕對受保護資源的訪問。在某些實施例中,向客戶機102發(fā)送消息以將該拒絕通知給該客戶機102。在某些實施例中,該消息還包括關于如何獲取適當?shù)恼J證的信息,諸如將客戶機102定向到認證服務108。
在所示實施例中,如果提供認證證明并且該認證證明被驗證為有效,則在操作412中執(zhí)行所請求的操作。換言之,授權對受保護資源的訪問。在某些實施例中,然后執(zhí)行操作414以通知請求者請求已被處理。例如,web服務104發(fā)送消息以通知客戶機102對受保護資源的請求已被處理。在其他示例中,web服務104通過向客戶機102發(fā)送資源106的表示、通過對受保護資源106執(zhí)行所請求的操作或通過向客戶機102發(fā)送所請求的操作的結果來授權對該受保護資源的訪問。在所示實施例中,然后執(zhí)行操作416以監(jiān)視對其他消息的接收。例如,
web服務104監(jiān)視來自客戶機102的關于資源106的其他通信。如果客戶機102發(fā)送對于資源106的其他消息,則方法400返回到操作404以便通過操作404、406和408來評估該新消息是否需要附加認證。盡管客戶機此時可能已經進行了自我認證,但在動態(tài)環(huán)境中該客戶機可能取決于它發(fā)送的消息和請求的類型而必須提供更強形式的認證,即多因素認證。如果再未接收到消息,則方法400結束。
圖5是示出用于控制對受保護資源的訪問的示例方法500的流程圖。方法500涉及客戶機102、 web服務104、認證服務108和受保護資源106。盡管認證服務108被示為與web服務分開且不同的實體,但在某些實施例中,認證服務108和web服務104在同一計算系統(tǒng)上操作。在一個實施例中,受保護資源106位于web服務104上。在又一實施例中,受保護資源106位于另一 web服務、服務器、計算機或其他計算系統(tǒng)上。在通信512,客戶機102提交對受保護資源106的請求。web服務104接收該請求。在通信514, web服務104確定認證是必需的并且用指示為了能夠處理該請求必須完成至少一個認證過程的故障來響應。在可能的實施例中,該故障可采取如簡單對象訪問協(xié)議(SOAP) 1.2規(guī)約中所定義的SOAP故障的形式。在其他實施例中,該故障可采取任何其他類型的數(shù)據(jù)通信協(xié)議的形式。在其他實施例中,來自web服務104的故障將包含諸如安全令牌服務端點等認證服務108的地址。
在通信516,客戶機102向認證服務108發(fā)送對安全令牌的請求以聲明已完成必需的認證過程。在一個實施例中,該請求采取如web服務信任(WS-信任)規(guī)約所定義的WS-信任請求安全令牌響應消息的形式。在其他實施例中,該請求可采取其他協(xié)議的形式。在通信518,認證服務108用對身份確認的質詢來響應客戶機102。在某些實施例中,該質詢采取參考圖3所描述的質詢的形式。在通信520,客戶機102用身份確認來響應。在某些實施例中,該身份確認采取參考圖3所描述的確認的形式。在通信522,認證服務108用對身份確認的又一質詢來響應客戶機102。在一個實施例中,該質詢響應于失敗的身份確認。在又一實施例中,該質詢是執(zhí)行多因素認證所必需的。在通信524,客戶機102用又一身份確認來響應認證服務108。該過程可用通信526中的質詢和質詢確認528來再次重復。盡管該組質詢和確認被示為執(zhí)行三次,但在其
他實施例中,這些質詢和響應通信重復任何次數(shù)。在認證服務108確認客戶機 102的身份后,認證服務108在通信530中向客戶機102發(fā)放所請求的安全令 牌。
在通信532,客戶機102連同該安全令牌一起重新提交對受保護資源的原 始請求。web服務104檢査該請求以確保其與原始請求相同并驗證該安全令牌 以確保其有效。在通信534, web服務104處理客戶機102所做出的請求。在 某些實施例中,該處理涉及讀取和/或更新受保護資源106。在通信536,將對 受保護資源106的讀取和/或更新的結果返回給web服務104。在通信538, web 服務104響應客戶機102所做出的請求。
現(xiàn)在參考表l:提供了認證質詢架構,即用于指示需要消息專用認證過程 來處理請求的數(shù)據(jù)結構。在某些實施例中,參考圖5所描述的通信諸如在諸如 web服務104等web服務確定對于認證發(fā)起請求的用戶需要消息專用過程時以 表1中所定義的數(shù)據(jù)結構的形式來傳遞。在一個實施例中,該服務將返回如 SOAP 1.2規(guī)約中所定義的SOAP故障。在某些實施例中,與傳統(tǒng)SOAP故障 不同,用于指示需要消息專用認證協(xié)議的SOAP故障將包含上下文首部,該上 下文首部包含web服務可用于取得原始請求以及被發(fā)現(xiàn)與該請求相關聯(lián)的任 何認證過程的細節(jié)的標識符。在另一實施例中,所返回的SOAP故障還將包含 Detail (細節(jié))元素,該元素將表示代表其作出請求的用戶的身份。這是將進 一步認證的身份。在又一實施例中,該Detail元素還將或另選地提供諸如認證 服務108等認證服務的地址,該認證服務可向用戶發(fā)放安全令牌以確認該用戶 已成功完成與請求相關聯(lián)的每一個認證過程。在某些實施例中,認證服務的地 址與web服務的地址相同。在其他實施例中,認證服務的地址與web服務的 地址不同。
表l:認證質詢架構
< xml version-'1.0' encoding='utf-8,?> <xs: schema
elementFormDefault='qualified'
targetNamespace='http:〃schemas.microsoft.com/2006/11/IdentityManag ement"xmlns:xs='http :〃www.w3.org/2001/XMLSchema'
xmlns: wsa=http :〃schemas .xmlsoap .org/ws/2004/08/addressing
xmlns: idm=' http :〃schemas .microsoft, com/2006/11 /IdentityManagement
,>
<xs: import
namespace='http:〃schemas.xmlsoap.org/ws/2004/08/addressing7> <xs:complexType name='AuthenticationChallengeType,> <xs:scqucncc> <xs:element name='Challenge' nillable='true' minOccurs='0'> <xs: complexType> <xs:scquence> <xs:any
minOccurs='0' processContents='lax' /> </xs:scqu6ncc> </xs:complexType> </xs:element> </xs:sequencs> </xs:complexType> <xs: element
name='AuthenticationChallenge' nillable-'true'
type='idm:AuthenticationChallengeType' /> </xs:schema>
表1所示的架構包括Challenge (質詢)元素和AuthenticationChallenge (認 證質詢)元素。該Challenge元素用于向客戶機傳送質詢用戶以使其提供所需 認證數(shù)據(jù)所必需的信息。在某些實施例中,該客戶機可以是web瀏覽器,該 web瀏覽器將向用戶顯示質詢數(shù)據(jù),提示用戶響應于該質詢來提供數(shù)據(jù)。例如, Challenge元素可指示客戶機102顯示提示用戶輸入口令的文本框。其他實施 例將提示用戶提供以下形式的認證請求對安全問題的回答;請求DNA樣本、 指紋圖案、視網膜圖案或使用客戶機的人的某一其他唯一標識符;請求諸如鑰 匙、安全卡、安全令牌、信用卡或對于使用客戶機的人是唯一的某一其他對象 等對象形式的驗證,如參考圖3所描述的。在可能的實施例中,該認證質詢架 構將包括用作該架構的包裝器的AuthenticationChallenge元素。
現(xiàn)在參考表2:提供了認證質詢響應架構,即用于響應認證質詢的數(shù)據(jù)結構。諸如認證服務108等認證服務向用戶發(fā)出質詢以認證信息。在某些實施例 中,質詢根據(jù)WS-信任規(guī)約的IO節(jié)中所定義的質詢框架來作出。如果認證服
務需要附加信息來認證用戶的身份,則它將用如ws-信任規(guī)約所定義的響應來
響應對安全令牌的請求。
表2:認證質詢響應架構
< xml version='1.0' encoding='utf-8,?> <xs: schema
elementFormDefault='qualified'
targetNamespace='http:〃schemas.microsoft.com/2006/l 1/IdentityManag ement"
xmlns: xs=' http: 〃www .w3. org/2001/XML S chema ,
xmlns: wsa=http :〃 schemas .xmlsoap .org/ws/2004/0 8/addressing
xmlns:idm='http:〃schemas.microsoft.com/2006/l 1/IdentityManagement
,>
<xs: import
namespace='http:〃schemas.xmlsoap.org/ws/2004/08/addressing,/> <xs:complexType name='AuthenticationChallengeResponseType,> <xs:sequence> <xs: dement name='R_esponse" nillable='true' minOccurs='0'> <xs:complexType> <xs:ssqucncc> <xs:any
minOccurs-'O' processContents='lax' /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType〉 <xs: element
name='AuthenticationChallengeResponse' nillable='true'
type='idm:AuthenticationChallengeResponseType' /> </xs:schema>
該認證質詢響應架構包括 Response (響應)元素和 AuthenticationChallengeResponse (認證質詢響應)元素。該Response元素向認證服務標識來自客戶機的所需認證信息。該信息由認證服務例如用來確定應
向客戶機發(fā)送什么質詢以認證該客戶機。該AuthenticationChallengeResponse
元素用作該架構的包裝器。
圖6是用于實現(xiàn)本發(fā)明的各方面的示例性計算系統(tǒng)600的框圖。在一個實 施例中,計算系統(tǒng)600是客戶機102。在另一個實施例中,計算系統(tǒng)600是web 服務104。在另一個實施例中,計算系統(tǒng)600是認證服務108。在其最基本的 配置中,計算系統(tǒng)600通常包括至少一個處理單元602和存儲器604。取決于 計算系統(tǒng)系統(tǒng)的確切配置和類型,存儲器604可以是易失性的(諸如RAM)、 非易失性的(諸如ROM、閃存等)或是兩者的某種組合。該最基本配置在圖6 中由虛線606來例示。另外,計算系統(tǒng)600還可具有附加特征/功能。例如,計 算機系統(tǒng)600還可包含附加存儲(可移動和/或不可移動),包括但不限于磁盤、 光盤或磁帶。這些其他存儲在圖6中由可移動存儲608和不可移動存儲610示 出。計算機存儲介質包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結構、程序模 塊或其它數(shù)據(jù)等信息的任何方法或技術來實現(xiàn)的易失性和非易失性、可移動和 不可移動介質。存儲器604、可移動存儲608和不可移動存儲610都是計算機 存儲介質的示例。計算機存儲介質包括,但不限于,RAM、 ROM、 EEPROM、 閃存或其它存儲器技術、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、 磁帶盒、磁帶、磁盤存儲或其它磁性存儲設備、或能用于存儲所需信息且可以 由計算系統(tǒng)600訪問的任何其它介質。任何這樣的計算機存儲介質都可以是計 算系統(tǒng)600的一部分。
計算系統(tǒng)600還可包含允許該計算系統(tǒng)與其它設備進行通信的通信連接 612。通信連接612是通信介質的一個示例。通信介質通常以諸如載波或其它 傳輸機制等已調制數(shù)據(jù)信號來體現(xiàn)計算機可讀指令、數(shù)據(jù)結構、程序模塊或其 它數(shù)據(jù),并包括任意信息傳送介質。術語"已調制數(shù)據(jù)信號"指的是其一個或 多個特征以在信號中編碼信息的方式被設定或更改的信號。作為示例而非限 制,通信介質包括有線介質,諸如有線網絡或直接線連接,以及無線介質,諸 如聲學、RF、紅外線和其它無線介質。如此處所使用的術語計算機可讀介質包 括存儲介質和通信介質兩者。
計算系統(tǒng)600還可具有輸入設備614,諸如鍵盤、鼠標、筆、語音輸入設
20備、觸摸輸入設備等。在某些實施例中,輸入設備還(或另選地)包括例如, 生物測定標識符、傳感器、檢測器、讀卡器等。還可包括輸出設備616,如顯 示器、揚聲器、打印機等。所有這些裝置在本領域中都是眾所周知的,因此不 必在此詳細討論。
在某些實施例中,存儲器604包括操作系統(tǒng)620、應用程序622、其他程 序模塊624和程序數(shù)據(jù)626中的一個或多個。在某些實施例中,全局數(shù)據(jù)、客 戶機專用數(shù)據(jù)和變換規(guī)則各自可被存儲在存儲器604、可移動存儲608和不可 移動存儲610或此處所描述的任何其他計算機存儲介質中。
雖然已經用對結構特征、方法動作和包含這些動作的計算機可讀介質專用 的語言描述了各實施例,但是應該理解,如在所附權利要求中定義的可能的實 施例不必限于所描述的具體結構、動作、或介質。本領域技術人員將認識到 本發(fā)明精神和范圍中的其它實施例或改進。因此,這些具體結構、動作、或介 質僅作為說明性實施例而公開。
權利要求
1.一種用于控制對受保護web服務資源(106)的訪問的計算系統(tǒng)(104),所述計算系統(tǒng)(104)包括用于跨通信網絡(110)進行通信的通信設備(612);通信地耦合到所述通信設備(612)的處理器(602);以及存儲程序指令的存儲器(604),所述指令在由所述處理器(602)執(zhí)行時使所述計算系統(tǒng)(604)執(zhí)行一種控制對受保護web服務資源(106)的訪問的方法。所述方法包括(i)從客戶機接收從所述通信網絡(110)訪問所述受保護web服務資源(106)的第一請求;(ii)確定所述客戶機已根據(jù)第一因素來認證;(iii)基于根據(jù)所述第一因素的認證來授權訪問所述受保護web服務資源(106)的第一請求;(iv)從所述客戶機(102)接收從所述通信網絡(110)訪問所述受保護web服務資源(106)的第二請求;(v)基于根據(jù)不足以授權所述第二請求的第一因素的認證來拒絕訪問所述受保護web服務資源(106)的第二請求;(vi)確定所述客戶機(102)已根據(jù)第二因素來認證;以及(vii)基于根據(jù)所述第二因素的認證來授權訪問所述受保護web服務資源(106)的第二請求。
2. 如權利要求1所述的計算系統(tǒng),其特征在于,所述第一因素選自包括以 下各項的組口令、對安全問題的回答、生物測定標識符、對象以及客戶機專用f曰息。
3. 如權利要求1所述的計算系統(tǒng),其特征在于,所述第二因素不同于所述第一因素。
4. 如權利要求1所述的計算系統(tǒng),其特征在于,所述方法還包括在所述客 戶機已根據(jù)所述第一因素來由認證服務認證后從所述客戶機接收第一認證令 牌并且使用該第一認證令牌來確定所述客戶機已根據(jù)所述第一因素來認證。
5. 如權利要求4所述的計算系統(tǒng),其特征在于,確定所述客戶機已被認證包括用所述認證服務的公鑰來解密所述第一認證令牌;以及確定所述第一認證令牌中的由所述認證服務作出的聲明滿足訪問條件。
6. 如權利要求1所述的計算系統(tǒng),其特征在于,拒絕所述第二請求包括向 所述客戶機發(fā)送消息以將所述客戶機定向到認證服務以便根據(jù)第二因素來認 證。
7. 如權利要求6所述的計算系統(tǒng),其特征在于,確定所述客戶機已根據(jù)第 二因素來認證包括在根據(jù)所述第二因素來由所述認證服務認證后從所述客戶 機接收認證令牌。
8. 如權利要求6所述的計算系統(tǒng),其特征在于,授權訪問所述受保護web 服務資源的第二請求基于對認證令牌的評估。
9. 一種授權客戶機(102)訪問web服務資源(106)的方法,所述方法 包括(i) 從所述客戶機(102)接收要認證的請求(516);(ii) 向所述客戶機(102)發(fā)送質詢消息(518);(iii) 從所述客戶機(102)接收對所述質詢消息(518)的確認響應(520);(iv) 確定所述確認響應滿足預定準則;(v) 確定所述要認證的請求需要進一步認證;(iv) 以第二質詢消息(522)、第二確認響應(524)和第二預定準則來 重復(ii)到(iv);以及(v) 向所述客戶機(102)發(fā)送認證消息(530);
10. 如權利要求9所述的方法,其特征在于,確定所述要認證的請求需 要進一步認證包括從所述請求中讀取數(shù)據(jù)并將來自所述請求的數(shù)據(jù)與同所述 質詢消息相關聯(lián)的認證級別進行比較。
11. 如權利要求9所述的方法,其特征在于,向所述客戶機發(fā)送所述認 證消息包括向所述客戶機發(fā)送認證令牌。
12. 如權利要求11所述的方法,其特征在于,所述認證令牌包括來自 認證服務的關于用于認證所述客戶機的因素的聲明。
13. 如權利要求9所述的方法,其特征在于,還包括在向所述客戶機發(fā)送所述認證消息之前以第三質詢消息、第三確認響應和第三預定準則來重復(ii)到(iv)。
14. 一種包含計算機可執(zhí)行指令的計算機可讀存儲介質(608),所述 指令在由計算機(104)執(zhí)行時執(zhí)行一種控制對受保護資源(106)的訪問的方 法,所述方法包括從客戶機(102)接收標識web服務(104)的受保護資源(106)的請求 (512);向所述客戶機(102)發(fā)送向認證服務(108)請求認證的響應(514); 在向所述認證服務(108)認證后從所述客戶機(102)接收認證(532); 確定所述認證是否足以授權所述請求; 如果所述認證足以授權所述請求,則授權所述請求;以及 如果所述認證不足以授權所述請求,則拒絕所述請求。
15. 如權利要求14所述的計算機可讀介質,其特征在于,所述認證是 認證令牌。
16. 如權利要求15所述的計算機可讀介質,其特征在于,所述認證令 牌使用公鑰密碼來加密。
17. 如權利要求14所述的計算機可讀介質,其特征在于,所述方法還 包括如果所述認證足以授權所述請求,則在授權所述請求后授權對所述web服 務的受保護資源的訪問。
18. 如權利要求14所述的計算機可讀介質,其特征在于,拒絕所述請 求包括用消息來將向所述客戶機傳達所述拒絕,所述消息包括關于被配置成認 證所述客戶機的認證服務的信息。
19. 如權利要求14所述的計算機可讀介質,其特征在于,所述方法還包括從所述客戶機接收標識所述web服務的受保護資源的第二請求,所述第 二請求包括所述認證;確定所述認證是否足以授權所述第二請求;如果所述認證足以授權所述第二請求,則授權所述第二請求;以及 如果所述認證不足以授權所述第二請求,則拒絕所述第二請求。
20. 如權利要求14所述的計算機可讀介質,其特征在于,拒絕所述請 求包括發(fā)送根據(jù)簡單對象訪問協(xié)議的故障消息,并且其中接收認證包括接收根據(jù)web服務信任規(guī)約的web服務信任請求安全令牌響應消息。
全文摘要
訪問web服務資源的請求基于接收到的請求的類型來評估。除非提供授權請求的認證的足夠證明,否則不授權該請求。認證服務評估一個或多個因素以確定是否認證客戶機。在得到認證服務的認證后,向web服務提供授權對web服務資源的訪問的認證的證明。
文檔編號G06F21/20GK101663670SQ200880012470
公開日2010年3月3日 申請日期2008年3月18日 優(yōu)先權日2007年4月20日
發(fā)明者A·T·韋納特, C·邁克默特里, M·E·賈巴拉, V·梅列舒克 申請人:微軟公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
开阳县| 平利县| 邵武市| 新营市| 兴宁市| 唐海县| 鹰潭市| 清流县| 西峡县| 盈江县| 迁西县| 松滋市| 白山市| 昂仁县| 塘沽区| 马山县| 三穗县| 青田县| 甘洛县| 双江| 深州市| 长泰县| 司法| 运城市| 宿松县| 伊春市| 勃利县| 阳朔县| 承德县| 什邡市| 奈曼旗| 抚州市| 弥渡县| 富川| 伊川县| 广丰县| 甘洛县| 克东县| 鲁山县| 中山市| 梓潼县|