專利名稱:受信云計算和服務框架的制作方法
技術領域:
本主題公開涉及提供受信云計算和參與者的數(shù)據(jù)服務的框架、以及基于該框架的相應場景。
背景技術:
以關于一些常規(guī)系統(tǒng)的背景技術為例,計算設備在傳統(tǒng)上是在設備本地執(zhí)行應用和數(shù)據(jù)的。在這種情況下,當數(shù)據(jù)被訪問、處理、存儲、高速緩存等等時,這些數(shù)據(jù)可以通過本地總線、接口和其他數(shù)據(jù)路徑在設備上行進,然而,設備的用戶不必擔心用戶數(shù)據(jù)的干擾或暴露,除非設備本身丟失或失竊。但是,隨著在線和云服務的演進,應用和服務正越來越多地移動到網(wǎng)絡提供者,由網(wǎng)絡提供者代表用戶的設備來執(zhí)行給定服務的一些或全部。在這種情況下,當用戶的數(shù)據(jù)被上傳到服務時、當該數(shù)據(jù)被服務存儲時或者當該數(shù)據(jù)被從服務檢索時,用戶關心的可能是誰可以訪問該數(shù)據(jù),或者誰可能損壞、干擾該數(shù)據(jù)。簡言之,當用戶設備的數(shù)據(jù)離開物理占有的范圍并且進入遠離用戶的網(wǎng)絡環(huán)境時,自然而然地造成一旦數(shù)據(jù)離開用戶的物理占有時就關心對該數(shù)據(jù)的處理。因此,所期望的是增加對云服務和與云服務相聯(lián)系的數(shù)據(jù)處理的信任。當今設備和運服務的上述缺點僅僅旨在提供對常規(guī)系統(tǒng)的一些問題的總覽,并且不旨在是窮盡性的。在仔細閱讀了以下具體實施方式
后,當今領域的其他問題和各非限制性實施例的對應好處可變得顯而易見。
發(fā)明內容
此處提供了簡化概述以幫助能夠對以下更詳細的描述和附圖中的示例性、非限制性實施例的各方面有基本或大體的理解。然而,本發(fā)明內容并不旨在作為詳盡的或窮盡的概覽。相反,本發(fā)明內容的唯一目的是以簡化的形式來提出與一些示例性非限制性實施例相關的一些概念,作為以下各實施例的更為詳細的描述的序言。為網(wǎng)絡數(shù)據(jù)服務提供了數(shù)字托管模式,包括用于存儲在云中的數(shù)據(jù)的可搜索加密技術、跨多個實體分布信用以避免單個數(shù)據(jù)點損害。在一個實施例中,密鑰生成器、密碼技術提供者和云服務提供者每個都被配備為單獨的實體,從而使得數(shù)據(jù)的發(fā)布者能夠機密地 (經(jīng)加密的)將數(shù)據(jù)發(fā)布給服務提供者,并且然后選擇性地將經(jīng)加密的數(shù)據(jù)暴露于請求該數(shù)據(jù)的訂戶,該選擇性地暴露基于被編碼到響應于訂戶請求所生成的密鑰信息中的訂戶身份fe息。出現(xiàn)關于受信云服務生態(tài)系統(tǒng)的場景集合,并且下面更詳細地描述這些場景和各個其他實施例。
各非限制性實施例參考附圖來進一步描述,附圖中
圖1是根據(jù)一實施例的受信云服務框架或生態(tài)系統(tǒng)的示例性、非限制性框圖;圖2是示出了根據(jù)受信云服務生態(tài)系統(tǒng)的用于發(fā)布數(shù)據(jù)的示例性、非限制性過程的流程圖;圖3是示出了根據(jù)受信云服務生態(tài)系統(tǒng)的用于訂閱數(shù)據(jù)的示例性、非限制性過程的流程圖;圖4示出了一個示例性生態(tài)系統(tǒng),該生態(tài)系統(tǒng)示出了密鑰生成中心、密碼技術提供者和云服務提供者420的在受信生態(tài)系統(tǒng)中的分離;圖5是示出了用于為企業(yè)執(zhí)行云服務的受信生態(tài)系統(tǒng)的其他益處的另一架構圖;圖6是示出了根據(jù)受信云服務生態(tài)系統(tǒng)的通過存儲抽象層610來適應于不同存儲提供者的另一框圖;圖7示出了與存儲抽象服務相聯(lián)系的存儲的其他方面,該存儲抽象服務抽象各個存儲提供者的存儲細節(jié);圖8是示出了受信云服務生態(tài)系統(tǒng)中的各個不同參與者的另一框圖;圖9是受信云計算系統(tǒng)的示例性非限制性實施方式的一些層的代表性視圖,在該計算系統(tǒng)中,不同構件可以由不同或相同實體來提供;圖10-11是流程圖和框圖,其分別示出了用于以利用后期綁定向發(fā)布者提供對數(shù)據(jù)的受控選擇性訪問的方式來向數(shù)字安全應用發(fā)布文檔的示例性非限制性的過程和/或方法;圖12-13分別是根據(jù)數(shù)字安全場景的用于訂閱數(shù)據(jù)的示例性、非限制性過程和/ 或系統(tǒng)的流程圖和框圖;圖14示出了使用數(shù)字托管模式來通過一個或多個數(shù)據(jù)中心為企業(yè)實現(xiàn)安全外聯(lián)網(wǎng)的受信云服務生態(tài)系統(tǒng)的示例性、非限制性的實施方式;圖15是示出了基于受信云服務生態(tài)系統(tǒng)的另一示例性非限制性場景的流程圖, 在該生態(tài)系統(tǒng)中,給訂戶提供對由云服務提供者存儲的經(jīng)加密數(shù)據(jù)的選擇性訪問;圖16是示出了應用響應可以基于用戶憑證來適應于訂戶的另一流程圖;圖17是示出了安全記錄上傳場景的另一流程圖,該場景可以針對單方或多方來實現(xiàn);圖18是示出了對可搜索地經(jīng)加密數(shù)據(jù)存儲進行基于角色查詢的示例性、非限制性的另一流程圖,該數(shù)據(jù)存儲由受信云服務生態(tài)系統(tǒng)來實現(xiàn),例如以供由單方進行自動搜索;圖19是根據(jù)一個或多個場景的受信云服務生態(tài)系統(tǒng)在企業(yè)、密鑰生成中心和云服務提供者間的實施方式的框圖;圖20是示出了多方協(xié)作場景的流程圖,在該場景中,企業(yè)向外部企業(yè)提供對其經(jīng)加密數(shù)據(jù)中的一些的訪問;圖21是示出了多個企業(yè)間的多方自動搜索場景的流程圖;圖22是根據(jù)一個或多個場景的受信云服務生態(tài)系統(tǒng)在企業(yè)、密鑰生成中心和云服務提供者間的實施方式的框圖;圖23示出了可以針對受信云服務實現(xiàn)的示例性、非限制性的邊緣計算網(wǎng)絡(ECN) 技術;
圖M是示出了根據(jù)受信云服務生態(tài)系統(tǒng)的密鑰生成中心的一個或多個任選方面的框圖;圖2546示出了一實施例中的確認(例如數(shù)據(jù)占有證明)到受信數(shù)據(jù)服務的提供中的合并;圖27示出了根據(jù)受信服務生態(tài)系統(tǒng)的示例性的數(shù)據(jù)服務的數(shù)據(jù)確認的框圖;圖觀-四示出了一實施例中的驗證(例如檢索能力證明)到受信數(shù)據(jù)服務的提供中的合并。圖30示出了根據(jù)受信服務生態(tài)系統(tǒng)的示例性的數(shù)據(jù)服務的數(shù)據(jù)確認的框圖;圖31是示出了基于適于使用服務的不同條件集的獨立于服務提供本身的供發(fā)布者和訂戶使用的多個不同覆蓋或數(shù)字托管垂直面的提供的框圖。圖32是表示其中可實現(xiàn)此處所描述的各實施例的示例性、非限制性聯(lián)網(wǎng)環(huán)境的框圖;以及圖33是表示其中可實現(xiàn)此處所描述的各實施例的一個或多個方面的示例性、非限制性計算系統(tǒng)或操作環(huán)境的框圖。
具體實施例方式概覽如在背景技術中所討論的那樣,發(fā)送給網(wǎng)絡服務的數(shù)據(jù)可能造成隱私方面的不適、篡改的可能性等等,即當數(shù)據(jù)被從用戶的設備傳輸給網(wǎng)絡應用、服務或數(shù)據(jù)存儲時,用戶需要對沒有惡意第三方能造成損害的充分保證。按照定義,用戶失去對數(shù)據(jù)的控制。因此,所期望的是增加信任,使得數(shù)據(jù)的發(fā)布者和/或所有者愿意交出對其數(shù)據(jù)的物理控制, 同時相信在網(wǎng)絡中,除了該發(fā)布者或該所有者基于訂戶的身份給訂戶賦予特權以外,其數(shù)據(jù)都將保持隱私性和不受損。對于這一點,為了消除圍繞網(wǎng)絡服務的常規(guī)供應的信任障礙,提供實現(xiàn)上面標識出的目標以及在下面描述的各個實施例中強調的其他優(yōu)點的受信云計算和數(shù)據(jù)服務生態(tài)系統(tǒng)或框架。術語“云”服務一般所指的概念是,服務不是本地地從用戶的設備執(zhí)行,而是從可通過一個或多個網(wǎng)絡被訪問的遠程設備來遞送。由于用戶的設備不需要理解在一個或多個遠程設備處所發(fā)生的事情的細節(jié),因此服務從用戶的設備的角度看上去是從“云”遞送的。在一個實施例中,系統(tǒng)包括密鑰生成器,該密鑰生成器生成用于發(fā)布或訂閱數(shù)據(jù)的密鑰信息。與密鑰生成器獨立地實現(xiàn)的密碼技術提供者基于由密鑰生成器所生成的密鑰信息實現(xiàn)可搜索的加密/解密算法。另外,與密鑰生成器和密碼技術提供者獨立地實現(xiàn)的網(wǎng)絡服務提供者提供與由密碼技術提供者加密的數(shù)據(jù)有關的網(wǎng)絡服務。相對于可搜索的加密/解密算法而言,由一個或多個密碼技術提供者實現(xiàn)的可搜索的公鑰加密(PEKS)方案為任何給定的消息W生成陷門TW,使得TW允許檢查給定密文是否是對W的加密,其中TW不揭示關于明文的任何附加信息。根據(jù)下面所述的各個實施例, PEKS方案可以用于基于包含在諸如經(jīng)加密的消息之類的經(jīng)加密的數(shù)據(jù)(例如消息文本)中的關鍵詞對所述經(jīng)加密的數(shù)據(jù)確定優(yōu)先級或進行過濾。因此,可以通過釋放相應關鍵詞的能力(有時被密碼員稱為“陷門”)來給數(shù)據(jù)接收者提供對經(jīng)加密數(shù)據(jù)的與關鍵詞有關的部分的所選訪問。通過這種方式,可以在經(jīng)加密的數(shù)據(jù)中檢查這些關鍵詞,但是保證不會從訂戶獲悉比該訂戶的能力所允許的更多東西。為了避免質疑,盡管在此處的一個或多個實施例中將PEKS公開為用于實現(xiàn)可搜索加密的算法,但是能夠理解,存在多種可替代的算法以用于實現(xiàn)可搜索加密。PEKS的一些示例性的非限制性的替代方案例如包括不在意(Oblivious)RAM。因此,在此所使用的術語 “可搜索加密”應當不限于任何一種技術,并且因此是指寬范圍的如下加密機制或加密機制的組合所述加密機制允許基于對經(jīng)加密數(shù)據(jù)的搜索或查詢功能來選擇性地訪問經(jīng)加密數(shù)據(jù)的子集。任選地,可以作為附加好處向生態(tài)系統(tǒng)中的數(shù)據(jù)的訂戶和發(fā)布者提供對結果的確認和/或驗證。確認提供一種方式來確認由于針對數(shù)據(jù)的子集的訂閱請求而接收的數(shù)據(jù)項目是正確的項目集合,即數(shù)據(jù)的本應該接收的正確子集實際已經(jīng)被接收。密碼領域的一種技術是數(shù)據(jù)占有證明(PDP),然而,為了避免質疑,PDP僅僅是可以被實現(xiàn)的一種示例性算法,并且可以使用實現(xiàn)相同或類似目標的其他算法。可證明數(shù)據(jù)占有或數(shù)據(jù)占有證明(PDP) 是關于如何頻繁、有效和安全地驗證存儲服務器忠實地存儲了其客戶端的可能大的外包 (outsourced)數(shù)據(jù)。存儲服務器被假定為在安全性和可靠性方面都不受信任。對結果的驗證提供用于檢查項目本身的內容的附加機制,即以保證結合訂閱請求所接收的項目未曾被任何未授權實體篡改過。密碼領域的驗證的一個例子是數(shù)據(jù)占有證明 (PDP),然而,為了避免質疑,PDP僅僅是可以被實現(xiàn)的一種示例性算法,并且可以使用實現(xiàn)相同或類似目標的其他算法。在密碼領域中已知的另一技術是檢索能力(retrievability) 證明(POR),然而,為了避免質疑,POR僅僅是可以被實現(xiàn)的一種示例性算法,并且可以使用實現(xiàn)相同或類似目標的其他算法。POR是一種由服務提供者或數(shù)據(jù)主控者(證明者)對客戶端(驗證者)進行的緊湊證明,其表示目標文件F在客戶端可以完全恢復文件F并且未發(fā)生篡改的意義上而言是完整的。作為附加的選項,生態(tài)系統(tǒng)可以實現(xiàn)匿名憑證的概念,由此發(fā)布者可以以匿名方式上傳關于其自己的信息而不暴露關鍵細節(jié),并且訂戶可以受其能力的限制,使得其不能被暴露或被提供對由發(fā)布者上傳的關鍵細節(jié)的訪問。通過這種方式,發(fā)布者或訂戶可以于系統(tǒng)交互,同時僅僅暴露其希望向第三方暴露的那樣多的信息。常規(guī)的web服務已經(jīng)限于靜態(tài)客戶端服務器布置和用于訪問web服務的靜態(tài)地定義的用戶策略。然而,當根據(jù)經(jīng)常改變和演進的復雜商務和其他關系來構思許多發(fā)布者和訂戶時,這樣的常規(guī)web服務模型不能是靈活的或者足夠安全的。因此,在各個實施例中, 啟用后期綁定,使得數(shù)據(jù)和內容的發(fā)布者和/或所有者可以基于訂戶是誰、基于訂戶的能力以及基于他們在尋找什么(例如基于針對數(shù)據(jù)的請求中所使用的關鍵詞)來改變對經(jīng)加密內容的訪問特權。因此,訂戶能夠選擇性地訪問的東西與發(fā)布者和/或所有者對訪問特權的改變一致地動態(tài)改變,因為訂戶能力被編碼在由運行中的密鑰生成器所提供的密鑰信息中。因此,為給定請求在為該請求生成密鑰的時刻定義訂戶特權,并且因此該訂戶特權總是反映關于來自訂戶的請求的當前策略。在一個實施例中,提供數(shù)據(jù)存儲,其暴露可選擇性地訪問的(例如可搜索的)經(jīng)加密數(shù)據(jù),其中至少一個發(fā)布者向該數(shù)據(jù)存儲發(fā)布表示資源的數(shù)據(jù)。在提供對濫用信任的可能性的劃分(division)的情況下,第一獨立實體執(zhí)行密鑰信息的生成。第二獨立實體進而在存儲所發(fā)布的數(shù)據(jù)之前基于由第一獨立實體生成的密鑰信息來對所發(fā)布的數(shù)據(jù)進行加密。然后,一組網(wǎng)絡或云服務針對向該網(wǎng)絡服務的請求基于由資源的發(fā)布者或所有者所賦予的后期綁定的所選特權來選擇性地訪問經(jīng)加密數(shù)據(jù)。在其他實施例中,數(shù)據(jù)存儲存儲可選擇性訪問的經(jīng)加密數(shù)據(jù),其中訂戶訂閱經(jīng)加密數(shù)據(jù)的指定子集。第一獨立實體基于與訂戶相關聯(lián)的身份信息來生成密鑰信息,并且第二獨立實體基于由第一獨立實體生成的密鑰信息來執(zhí)行該指定子集的解密。網(wǎng)絡服務響應于訂戶的請求,并且基于由所指定子集的發(fā)布者或所有者所賦予的后期綁定的所選特權來提供對經(jīng)加密數(shù)據(jù)的選擇性訪問。就此而言,術語“發(fā)布者”和“訂戶,,一般分別指發(fā)布或訂閱受信云服務的數(shù)據(jù)的任何人。然而在實際中,根據(jù)行業(yè)、領域或受信云服務生態(tài)系統(tǒng)的應用和數(shù)字托管模式,發(fā)布者和訂戶將擔任更具體的角色。例如,經(jīng)加密的數(shù)據(jù)存儲的審計員可能基于審計員的角色而具有某些能力,比如標識出電子郵件存儲中的某些攻擊性關鍵詞的能力,但是被阻止閱讀不含攻擊性關鍵詞的電子郵件。類似地,受信云服務的服務器的管理員可以被許可觀察由該服務器處理的行為和數(shù)據(jù)事物的日志,但是也可以被限制為不能看見任何客戶姓名或信用卡信息。因此,訂戶的身份可以是限制訂戶可以訪問的數(shù)據(jù)類型的基礎。在此,在構建對云服務的信任的上下文中提出受信生態(tài)系統(tǒng)的各種非限制性實施例,然而,在此提供的對生態(tài)系統(tǒng)的信任構建是更一般的,并且不限于應用于云服務。更確切而言,在此所述的實施例類似地適用于企業(yè)數(shù)據(jù)中心內的不同服務器或參與者。因此,盡管數(shù)據(jù)可能從未離開給定實體,但是在此所述的用于構建信任的技術同樣適用于企業(yè)內的不同過程在單獨控制區(qū)內操作的情況。在沒有跨所有企業(yè)過程的可見性的情況下,可能造成類似的不信任,就好像參與者置身于企業(yè)之外。例如,服務器云即使在處于管理員的控制之下時或者管理員可能不注意或者為惡意時可能在企業(yè)內遭到破壞。除了適用于云中的經(jīng)加密數(shù)據(jù),本發(fā)明的各種技術還可以適用于存儲在膝上型計算機或其他便攜式設備上的數(shù)據(jù),因為膝上型計算機可能丟失或失竊。在這種情況下,該設備可能最終為過于好奇或者惡意實體所占有,然而,在此所述的適于保護云中數(shù)據(jù)的相同技術還可以用于保護服務器或膝上型計算機上的數(shù)據(jù)。如果本地數(shù)據(jù)是經(jīng)加密的,則在沒有適當訂戶憑證的情況下,竊賊將不能理解經(jīng)加密的本地數(shù)據(jù),從而不能出示適當角色或能力來訪問該數(shù)據(jù)。下面提供這些和其他各示例性、非限制性實施例和場景的進一步細節(jié)。受信云服務生態(tài)系統(tǒng)如所提到的那樣,為網(wǎng)絡數(shù)據(jù)服務提供數(shù)字托管模式,包括用于存儲在云中的數(shù)據(jù)的可搜索加密技術、跨多個實體的分布信任以避免單個實體造成的損害。在一個實施例中,密鑰生成器、密碼技術提供者和云服務提供者每個都被配備為單獨的實體,從而使得數(shù)據(jù)的發(fā)布者能夠機密地(經(jīng)加密的)將數(shù)據(jù)發(fā)布給服務提供者,并且然后選擇性地將經(jīng)加密的數(shù)據(jù)暴露于請求該數(shù)據(jù)的訂戶,該選擇性地暴露基于被編碼到響應于訂戶請求所生成的密鑰信息中的訂戶身份信息。圖1是根據(jù)一實施例的受信云服務框架或生態(tài)系統(tǒng)的框圖。該系統(tǒng)包括受信數(shù)據(jù)存儲100,該受信數(shù)據(jù)存儲100用于存儲可搜索的經(jīng)加密數(shù)據(jù)110以及訂戶請求經(jīng)歷確認和/或驗證的結果。就此而言,網(wǎng)絡服務120可以構建在安全數(shù)據(jù)110之上,使得數(shù)據(jù)的發(fā)布者保留對賦予給例如通過網(wǎng)絡服務120請求該數(shù)據(jù)的訂戶140的能力的控制。發(fā)布者130 還可以是訂戶140,并且反之亦然,并且數(shù)據(jù)的所有者150也可以是發(fā)布者130和/或訂戶 140。作為一些常見角色和可以定義的相應能力集合的例子,特殊類型的發(fā)布者130和訂戶 140是管理員160和審計員170。例如,管理員160可以是對數(shù)據(jù)110的特殊許可集合,以幫助維護對受信數(shù)據(jù)存儲 100的操作,并且審計員實體170可以在審計的范圍內幫助維護某些數(shù)據(jù)的完整性。例如, 審計員170可能訂閱含有攻擊性關鍵詞的數(shù)據(jù)110的消息,在這種情況下,審計員170在根據(jù)所賦予能力受到許可的情況下可以在數(shù)據(jù)110的消息包含這樣的攻擊行關鍵詞時受到提醒,但是不能閱讀其他消息。就此而言,可以基于如下能力構建無數(shù)場景將發(fā)布者數(shù)據(jù)置于數(shù)字托管之下,使得可以分發(fā)實現(xiàn)對該數(shù)據(jù)的選擇性訪問的密鑰。例如,發(fā)布者向生態(tài)系統(tǒng)認證并且指示要上傳到該生態(tài)系統(tǒng)的文檔集合。該文檔基于從生成密鑰信息的單獨的密鑰生成器所接收的密鑰信息根據(jù)可搜索加密算法被加密。 然后,經(jīng)加密數(shù)據(jù)被傳輸給網(wǎng)絡服務提供者以供存儲該經(jīng)加密數(shù)據(jù),使得經(jīng)加密數(shù)據(jù)可以根據(jù)基于請求設備的身份信息賦予給該請求設備的所選特權的后期綁定被選擇性地訪問。 將密碼技術提供者同經(jīng)加密數(shù)據(jù)的存儲相分離將附加地隔離經(jīng)加密的數(shù)據(jù)免受進一步損害。就此而言,圖2是示出了根據(jù)受信云服務生態(tài)系統(tǒng)的用于發(fā)布數(shù)據(jù)的示例性非限制性方法的流程圖。在200,發(fā)布者向該系統(tǒng)認證(例如發(fā)布者用用戶名和口令、LiVE ID 憑證等等登陸)。在210,密鑰信息由諸如密鑰生成中心之類的密鑰生成器生成,這將在下面的一個或多個實施例中予以描述。在220,單獨的密碼技術提供者基于密鑰信息對發(fā)布者文檔集進行加密。在230,經(jīng)加密文檔與能力一起被上傳到例如存儲服務提供者之類的網(wǎng)絡服務提供者,使得經(jīng)加密文檔可以利用基于請求設備(訂戶)的身份信息所賦予的所選特權的后期綁定被選擇性地訪問。例如在訂戶側,訂戶向生態(tài)系統(tǒng)認證,并且指示對數(shù)據(jù)子集的請求(例如對包含給定關鍵詞或關鍵詞集合的文檔的子集的查詢)。響應于從至少一個訂戶設備對可搜索地經(jīng)加密數(shù)據(jù)的請求,密鑰生成組件基于與訂戶設備相關聯(lián)的身份信息生成密鑰信息。然后, 根據(jù)在密鑰信息中所定義的賦予給該訂戶設備的特權,經(jīng)加密數(shù)據(jù)的子集被解密。圖3是示出了根據(jù)受信云服務生態(tài)系統(tǒng)的用于訂閱數(shù)據(jù)的示例性非限制性方法的流程圖。在300,用于訂閱數(shù)據(jù)的方法包括認證訂戶(例如訂戶用用戶名和口令、LiVE ID憑證等等登陸)。在310,訂戶作出對數(shù)據(jù)的請求。在320,密鑰信息由獨立密鑰生成實體基于訂戶請求而生成,其中訂戶的能力可以在密鑰信息中定義。在330,發(fā)布者數(shù)據(jù)的子集基于在密鑰信息中所定義的能力被解密。例如,CSP可以對該數(shù)據(jù)進行解密。在340,使發(fā)布者數(shù)據(jù)的子集可被訂戶訪問,例如訂戶可以基于由所有者/發(fā)布者所賦予的可動態(tài)定義的能力來對該數(shù)據(jù)進行下載、查看、處理、改變等等。任選地,用于加密、解密和密鑰生成的技術可以由單獨的密碼技術提供者來提供,但是由任何參與者來主控。在一個實施例中,訂戶設備的身份信息包括該訂戶的角色。例如,審計員角色、管理員角色或其他預先指定的角色可以被發(fā)布者/所有者用作限制或賦予對可搜索地經(jīng)加密的數(shù)據(jù)存儲的各部分的訪問的基礎。
圖4示出了示例性的生態(tài)系統(tǒng),該生態(tài)系統(tǒng)示出了密鑰生成中心(CKG)400、密碼技術提供者(CTP)410和云服務提供者(CSP)420的分離,由此消除單個實體在受信生態(tài)系統(tǒng)中造成損害的可能性。就此而言,客戶430包括數(shù)據(jù)的發(fā)布者和/或訂戶??蛇x地,CKG 400可以基于例如由CTP 410提供的參考軟件、開源軟件和/或軟件開發(fā)工具包(SDK)來構建,從而使得多方的構建塊能夠自己創(chuàng)建這樣的組件或者對第三方實現(xiàn)這樣的生態(tài)系統(tǒng)組件感到滿意。在一個實施例中,SDK由CTP 410來提供,并且可以被一個或多個參與者用戶用于主控或實現(xiàn)CKG 400、下面將更詳細描述的計算和存儲抽象(CSA)和/或密碼客戶端庫。任選地,SDK可以從CTP分發(fā)給主控CKG 400的實體。一般而言,CKG 400、CTP 410或CSP 420中的每個都可以根據(jù)給定實施方式被細分為子組件,然而總體分離被保留以維持信任。例如,諸如主公鑰(MPK)遞送402、客戶端庫下載器404、密鑰提取器406、信任驗證器408或者其他子組件之類的CKG實體401可以以子集的形式分開地提供、或者作為集成組件一起提供。諸如用于編碼和解碼的戶端應用 412、可替代的加密技術414、用于與CKG對接的應用416、其他密碼構建塊418等等之類的 CTP實體411也可以以子集形式分開地提供或者一起提供。此外,可以分別認為CSP 420是諸如CSP 422、426、主控存儲服務似4和服務主控4 之類的許多單獨的服務提供者,或者這樣的服務可以一起提供。能夠理解,由受信生態(tài)系統(tǒng)中的一個或多個參與者主控的CKG或CKG實例不需要是單個單片實體。更確切而言,CKG可以被分成多個(冗余)實體,這些實體協(xié)作以生成密鑰,使得操作即使在參與者的小子集離線的情況下仍然可以繼續(xù)。在一個實施例中,任選地,參與者的集合即使在這些參與者的小子集已經(jīng)被對手損害或者以其他方式變?yōu)椴豢捎没虿皇苄湃螘r仍然可以整體上受到信任。圖5是示出了用于為企業(yè)500執(zhí)行云服務的受信生態(tài)系統(tǒng)的其他好處的另一架構圖。例如,企業(yè)500可以包括不同組織502、504、506、508。該圖中的不同組織502、504、506、 508示出了 組織可以采取相對于實現(xiàn)用于使用系統(tǒng)或密鑰生成的策略而言那樣多或那樣少的所有權。例如,組織502實現(xiàn)其自己的策略512,但是使用集中式密鑰生成器522,而組織504選擇實現(xiàn)其自己的密鑰生成器5M并且實現(xiàn)其自己的策略514。組織506還實現(xiàn)其自己的策略,但是依靠第三方CKG 526,而組織508選擇依靠第三方策略提供者518和獨立 CKG 528ο就此而言,為了發(fā)布數(shù)據(jù),發(fā)布者540基于來自CKG 522的輸出獲得用于對數(shù)據(jù)進行加密的公用參數(shù)535。基于公用參數(shù),數(shù)據(jù)在545由發(fā)布者設備540使用獨立密碼技術提供者來加密。經(jīng)加密數(shù)據(jù)被上傳到存儲抽象服務550,該存儲抽象服務550隱藏與由諸如 CSP 572、574、576或578之類的一個或多個CSP存儲經(jīng)加密數(shù)據(jù)相聯(lián)系的存儲語義。在訂戶設備560上,對數(shù)據(jù)的請求導致從CKG 522生成私用密鑰565。私用密鑰565包括如下信息該信息使得訂戶設備560能夠通過在555對數(shù)據(jù)進行解密來選擇性地訪問可搜索地經(jīng)加密的數(shù)據(jù)。再次,從CSP 570檢索數(shù)據(jù)的語義被存儲抽象服務550隱藏。而且,被賦予給訂戶設備560的特權是由于由發(fā)布者/所有者所賦予的能力的后期綁定而產(chǎn)生的特權的當前集合。從圖5中能夠理解,要么為企業(yè)、要么為消費者的多個數(shù)據(jù)所有者可以如在此所述的那樣參與受信生態(tài)系統(tǒng)以建立受信關系。在這種情況下,每個所有者都可以主控或控制其自己的CKG (例如組織504的CKG 524),使得對數(shù)據(jù)的請求或查詢被轉發(fā)給相應CKG以從所請求數(shù)據(jù)的所有共有者收集所需的密鑰。圖6是示出了通過存儲抽象層610來適應于不同存儲提供者的另一框圖。利用受信生態(tài)系統(tǒng),分別具有客戶端應用640、642的桌面630、632可以如上所述的那樣發(fā)布或訂閱數(shù)據(jù),從而向密鑰生成中心620發(fā)起對用于對數(shù)據(jù)進行加密和解密的密鑰信息的請求。 類似地,服務644、646、648也可以是生態(tài)系統(tǒng)中的發(fā)布者和/或訂戶。就此而言,為了由私用云存儲600、SQL數(shù)據(jù)服務存儲602、或簡單存儲web服務604等等中的任一進行存儲或提取,存儲抽象服務610 (如名稱所隱含的那樣)抽象出關于遠離客戶端的一個或多個特定存儲庫的特性。就此而言,為了避免質疑,圖6針對多種情況。在一種情況下,圖6通過存儲抽象服務(有時亦稱計算和存儲抽象(CSA))涵蓋了存儲提供者(將其抽象為個體)的非居間化。另外,圖6涵蓋了如下場景數(shù)據(jù)被分割和/或扇出(例如為了冗余)為可以為相同或不同類型的多個后端存儲提供者的場景,使得原始數(shù)據(jù)即使在后端存儲提供者之一(或少數(shù))意外地或無意地刪除或改變其數(shù)據(jù)副本時仍然可以被重構。圖7示出了與包括服務器操作系統(tǒng)(OS) 714和存儲服務712的存儲抽象服務710 相聯(lián)系的存儲的其他方面,該存儲抽象服務710抽象私用云存儲700、SQL數(shù)據(jù)存儲702、簡單存儲web服務存儲704等等的存儲細節(jié)??蛻舳丝梢允欠謩e具有客戶端應用740和742 的桌面750或752。密鑰生成中心720可以包括在服務器OS 7M上執(zhí)行的密鑰生成器應用 722。就此而言,具有活動目錄736、服務器OS 734和安全令牌服務(STS) 732的組織730可以是生態(tài)系統(tǒng)中的發(fā)布者或訂戶。就此而言,存儲傳輸格式(STF)是標準交換格式,其可以用于在多個庫的范圍內交換經(jīng)加密數(shù)據(jù)和元數(shù)據(jù)。例如,組織730可能希望在存儲服務提供者700、702或704間傳輸電子郵件數(shù)據(jù),在這種情況下可以使用STF。圖8是示出了受信生態(tài)系統(tǒng)820中的各個不同參與者的另一框圖。如上面所提到的那樣,有利地,企業(yè)800可以將數(shù)據(jù)量的存儲和維護從現(xiàn)場推卸給云存儲服務提供者,其中云存儲服務提供者更適于處理這樣的數(shù)據(jù)量,同時維持數(shù)據(jù)將不會對錯誤的訂戶解密的舒適性,因為企業(yè)維持對針對經(jīng)加密數(shù)據(jù)所定義的能力的控制。例如,組織802可以操作諸如SiarePoint之類的協(xié)作應用812。就此而言,組織802可以為SiarePoint數(shù)據(jù)建立數(shù)字托管或者受信域。策略832和CKG 834可以由第一數(shù)據(jù)中心830來實現(xiàn),該第一數(shù)據(jù)中心 830用于通過為受信域定義密鑰信息845來建立安全空間。然后,例如發(fā)布者814之類的另一組織804可以基于從CKG 834獲得的密鑰信息對數(shù)據(jù)進行加密,此時,第二數(shù)據(jù)中心840的計算和存儲抽象組件842處理在第三數(shù)據(jù)中心 850處(例如在CSP 852中)存儲可搜索地經(jīng)加密的數(shù)據(jù)的細節(jié)。反過來,當組織804的訂戶816請求數(shù)據(jù)時,私鑰或密鑰信息作為提取865的一部分被遞送給訂戶816。接著,基于包括為訂戶定義的能力的私鑰信息,由該訂戶所請求的數(shù)據(jù)在875被解密,其中假定該訂戶具有特權,并且抽象層842再次處理底層存儲852的細節(jié)。圖9是受信云計算系統(tǒng)的示例性非限制性實施方式的一些層的代表性視圖,在該計算系統(tǒng)中,不同構件可以由不同或相同實體來提供。在層棧的底部是數(shù)學和密碼庫986, 其用于實現(xiàn)加密/解密算法??梢蕴峁└鞣N密碼方案的定義的抽象作為細節(jié)庫986與可搜索密碼方案982的實際實施之間的中間層984。層982、984和986 —起形成較大的密碼服務層980,該密碼服務層980在與軟件的抽象層960組成服務(SaM)應用生態(tài)系統(tǒng)時形成實現(xiàn)受信數(shù)字托管970及其存儲的基礎。抽象層960包含用于實現(xiàn)數(shù)字托管模式的基本語言,即諸如 SetUp 0 (建立 0)、Encrypt ()(加密())、Extract 0 (提取 0)、Decrypt ()(解密0)之類的命令。處于抽象層960之上的是層950,該層950捆綁到各種更具體的平臺技術(例如 505、^11儀、備份/歸檔、冊5、515等等)中。處于捆綁到各種具體平臺技術中的層950之上的是使用受信數(shù)字托管900的各種^aS應用。示例性的非限制性圖示示出了 數(shù)字托管應用900可以由單個公司910或由伙伴930或者由二者來實現(xiàn)。例如,公司910可以實現(xiàn)諸如下列服務高性能計算(HPC)、eDiscovery和合法發(fā)現(xiàn)914、Live服務916 (例如DBox)、 備份/歸檔即服務918、審計日志——商業(yè)過程和監(jiān)控920、或者其他云服務922。伙伴930 云進而實現(xiàn)諸如下列服務eLetterOfCredit 932、HPc即垂直面(Verticals)服務934、 eHealth服務、安全外聯(lián)網(wǎng)938、順應性940、訴訟支持942等等?;谑苄旁品丈鷳B(tài)系統(tǒng)的場景在圖9的上半部沒有深入討論由于在密鑰生成器、密碼提供者和云服務提供者的劃分中固有的經(jīng)提高的信任而可以在云服務中實現(xiàn)的應用類型。就此而言,在已經(jīng)實現(xiàn)了這樣受信云服務生態(tài)系統(tǒng)的情況下,可以實現(xiàn)豐富的服務和場景的集合,這些服務和場景利用在此所述的受信生態(tài)系統(tǒng)的一個或多個好處。例如,圖10是一個示例性非限制性過程的流程圖,該過程用于以利用上述后期綁定向發(fā)布者提供對數(shù)據(jù)的受控選擇性訪問的方式來向數(shù)字安全應用發(fā)布文檔。在1000,對設備進行認證(例如設備用用戶名和口令、口令憑證、生物憑證、Live ID憑證等等登陸)。 在1010,文檔被上傳并且標簽被輸入。在1020,所述標簽被發(fā)送給托管代理,并且作為響應,從托管代理接收經(jīng)散列的標簽。就此而言,所述標簽可以如所提到的那樣來提供,或者可替代地可以通過全文索引來自動地從有效載荷(記錄、文檔)中提取。在1030,客戶端利用發(fā)布者的密鑰信息對文檔進行加密,并且所述文檔與訂戶相對于這些文檔的能力一起被發(fā)送給安全數(shù)字云存儲提供者。在1040,安全數(shù)字云存儲提供者例如將經(jīng)加密的團塊 (blob)發(fā)送給存儲服務(例如相對于存儲抽象層)。圖11示出了在受信生態(tài)系統(tǒng)中的不同參與者的上下文中的圖10,其中在該圖中標出了圖10的動作。就此而言,以客戶端1110的憑證1100開始,進行1000。接著,在客戶端1110處進行1010。接著,在1020表示將標簽發(fā)送給托管代理1120以及接收經(jīng)散列的標簽的步驟。接著,客戶端1110對文檔進行加密,并且將其發(fā)送給數(shù)字安全服務1130,這如 1030所示。最后,經(jīng)加密的團塊被發(fā)送給存儲服務1140,這由1040來表示。然后,如果能力與文檔一起被發(fā)送或者之后被更新,可以給訂戶賦予對用戶的子集的訪問,因此允許。圖12是用于訂閱置于數(shù)字安全中材料的示例性、非限制性過程的流程圖。在 1200,訂戶被認證,并且客戶端設備將標簽發(fā)送給托管代理,該托管代理在1210作為響應發(fā)回經(jīng)散列的標簽。然后,客戶端在1220將經(jīng)散列的標簽發(fā)送給數(shù)字安全服務,并且經(jīng)散列的標簽被解釋以了解在1230,該客戶端是否有權讓其搜索請求全部或部分地由存儲服務來執(zhí)行。圖13表示與圖11類似的覆蓋在參與者上的圖12的動作動作1200針對客戶端 1310及其憑證;動作1210針對客戶端1310和托管代理1320 ;動作1220針對客戶端1310和數(shù)字安全服務1330 ;以及動作1230針對數(shù)字安全服務1330和存儲服務1340。在圖11和13中,托管代理1120、1320可以是CKG、或者CKG的組件。可替代地,托管代理1120、1320可以是由單獨的參與者主控的CKG實例,由此托管代理1120、1320是代表客戶端進行加密/解密的受信實體。就此而言,參與者間的設計折衷和關系可以規(guī)定托管代理1120、1320的功能和范圍。例如,對于低端客戶端而言,可能需要將客戶端功能推卸給受信代理服務以執(zhí)行繁重的處理。圖14示出了使用數(shù)字托管模式來通過一個或多個數(shù)據(jù)中心為企業(yè)實現(xiàn)安全外聯(lián)網(wǎng)的受信云服務的示例性、非限制性的實施方式。如所提到的那樣,受信計算生態(tài)系統(tǒng)可以包括密鑰生成中心1400,該密鑰生成中心1400與密碼技術提供者(CTP) 1410分開地實現(xiàn), 該密碼技術提供者1410提供參考實施方式以供用于實現(xiàn)與生態(tài)系統(tǒng)一致的同一個或多個云服務提供者(CSP) 1420分開實現(xiàn)的密碼技術。在安全外聯(lián)網(wǎng)的示例性非限制性的實施方式中,1480示出了 企業(yè)維護共享庫1470(例如SiarePoint)和設計或分析應用的庫1460 以供與共享庫1470中的文檔結合使用。商業(yè)軟件1440(例如前哨(Sentinel))可以監(jiān)控具有桌面1450的計算機的應用或服務器性能等等。就此而言,在受信云服務生態(tài)系統(tǒng)中,當使用桌面1450的訂戶從存儲中尋求可以選擇性地訪問并且被加密的信息時,安全令牌服務1430可以遞送某些信息以標識出訂戶 1482,并且CKG 1400可以通過第一數(shù)據(jù)中心的CKG層1402的接口被咨詢,這由1484示出。 CKG 1400返回密鑰信息,然后,該密鑰信息如1486所示的那樣可以用于通過存儲抽象服務 1422選擇性地訪問由數(shù)據(jù)服務14M所持有的數(shù)據(jù)。因此,任何類型的數(shù)據(jù)都可以在企業(yè)的范圍內根據(jù)企業(yè)中的訂戶的角色來選擇性地共享。圖15是示出了基于受信云服務生態(tài)系統(tǒng)的另一示例性非限制性場景的流程圖, 在該生態(tài)系統(tǒng)中,給訂戶提供對由例如企業(yè)內的CSP存儲的經(jīng)加密數(shù)據(jù)的選擇性訪問。最初,訂戶設備還未獲取訪問經(jīng)加密數(shù)據(jù)的特權。然而,通過在1500例如通過與應用交互來作出對一些或全部經(jīng)加密數(shù)據(jù)的請求,應用自動地與相應STS通信以用于在1510獲得聲明 (Claim)(密碼學中的用語)。在1520,應用與CKG通信以獲得密鑰信息,該密鑰信息編碼有關于訂戶的能力的信息(能力有時在密碼學的用語中被稱為陷門,但是術語“能力”不限于通常出現(xiàn)術語“陷門”的上下文)。最后,應用在1530將密鑰信息提供給CSP,CSP允許以訂戶能力所允許的程度來對經(jīng)加密的數(shù)據(jù)進行搜索或查詢。圖16是示出了應用響應可以基于登陸信息適應于訂戶的另一流程圖。例如,在 1600,用戶ID信息被應用接收。在1610,應用從STS獲得相關聲明。在1620,基于用戶充當?shù)呐c用戶ID信息相關聯(lián)的一個或多個角色,體驗可以被調整為與那些角色的特權/限制相稱。例如,作為公司的經(jīng)加密數(shù)據(jù)的視圖來呈現(xiàn)公司的主要財務部門的用戶體驗可以并且應當是與提供給郵件室雇員的公司經(jīng)加密數(shù)據(jù)的視圖不同的用戶體驗。圖16可以適用于單方或多方登陸場景。圖17是示出了安全記錄上傳場景的另一流程圖,該場景可以針對單方或多方來實現(xiàn)。在1700,記錄和關鍵詞被應用接收,其例如是由具有該應用的設備的用戶提供或指定的。在1710,應用獲得主公鑰(MPK)并且應用公鑰加密關鍵詞可搜索(PEKS)算法。MH(可以任選地被應用高速緩存。在1720,應用例如通過存儲抽象層將經(jīng)加密的記錄輸入到CSP 庫中。
圖18是示出了對可搜索地經(jīng)加密數(shù)據(jù)存儲進行基于角色查詢的示例性、非限制性的另一流程圖,該數(shù)據(jù)存儲由受信云服務生態(tài)系統(tǒng)來實現(xiàn),例如以供由單方進行自動搜索。在1800,聯(lián)合查詢被應用接收或發(fā)起。在1810,應用從STS獲得相關聲明。例如,STS 將用戶的角色映射到合適的查詢組,并且返回給定角色的合法查詢集合。在1820,應用提交經(jīng)過濾的聲明和查詢,使得可以有效地提交對應于該查詢的聲明、而不是所有的聲明。任選地,CKG將陷門聲明返回給應用(或者拒絕該聲明)。在1830,應用對遠程索引執(zhí)行陷門聲明?;趯h程索引的處理,結果可以被應用接收,并且通過該應用例如基于用戶角色使用定制呈現(xiàn)來將結果呈現(xiàn)給用戶。圖19是受信云服務生態(tài)系統(tǒng)在企業(yè)1920、CKG 1910和CSP 1900間的實施方式的框圖,其中圖15-18的上述動作通過相同的附圖標記來突出。這些場景始于用戶1擬4向應用1922標識他自己或她自己。STS 1擬6用于結合去往和來自CKG 1910的信息的交換來建立信任1930,從而將密鑰信息返回給應用1922以供用于根據(jù)場景的目標對來自CSP 1900 的數(shù)據(jù)進行加密或解密。圖20是示出了多方協(xié)作場景的流程圖,在該場景中,企業(yè)向外部企業(yè)提供對其經(jīng)加密數(shù)據(jù)中的一些的訪問。例如,制造商可以給供應商賦予對其存儲在受信云中的數(shù)據(jù)的訪問,并且反之亦然。就此而言,在2000,給企業(yè)2的STS指定資源提供者,并且企業(yè)1的應用繼續(xù)進行以獲得對云中的資源提供者所提供的資源的訪問的聲明。在2010,企業(yè)1的 STS被指定作為身份提供者。就此而言,應用為由企業(yè)1處的訂戶所定義的角色或角色集合獲得聲明,這由身份提供者來促進。在2020,應用基于由企業(yè)2控制的可許可資源以及基于由訂閱實體所定義的許可/能力來檢索聲明。在圖20,盡管僅僅描繪了一個STS,但是應當注意,在數(shù)字托管或聯(lián)合信任覆蓋中可以存在多個身份提供者STS和/或多個資源提供者 STS。圖21是示出了例如諸如企業(yè)1和企業(yè)2之類的多個企業(yè)間的多方自動搜索場景的流程圖。在2000,聯(lián)合查詢被企業(yè)1的應用接收或發(fā)起以供執(zhí)行。在2110,應用從資源提供者(企業(yè)幻的STS獲得相關聲明。任選地,該資源提供者可以在組織標簽中指定。STS 可以任選地執(zhí)行用戶角色到查詢組的映射,使得返回針對該用戶角色的合法查詢集合。在 2120,應用基于該用戶角色提交經(jīng)過濾的聲明和查詢,使得可以有效地提交對應于該查詢的聲明、而不是所有的聲明。任選地,CKG將能力返回給應用(例如陷門聲明),或者CKG拒絕該聲明。在2130,應用對遠程索引執(zhí)行陷門聲明?;趯h程索引的處理,結果可以被應用接收,并且通過該應用例如基于用戶角色使用定制呈現(xiàn)來將結果呈現(xiàn)給用戶。在圖18和21中,該方法包括接收聯(lián)合查詢或者以其他方式發(fā)起聯(lián)合查詢的步驟。 就此而言,任選地,聯(lián)合查詢也可以被密碼保護,使得沒有陷門(或能力)的接收者(要么為客戶端、要么為服務提供者)可以分解聯(lián)合查詢并且確定其組成部分。圖22是受信云服務生態(tài)系統(tǒng)在企業(yè)2220、2230、CKG 2210和CSP 2200間的實施方式的框圖,其中圖20-21的上述動作通過相同的附圖標記來突出。例如,用戶22M可以向應用2222標識他自己或她自己。企業(yè)2220的STS 2226和企業(yè)2230的STS 2232協(xié)作以結合去往和來自CKG 2210的信息的交換來建立信任2230,從而將密鑰信息返回給應用 2222以供用于根據(jù)場景的目標對來自CSP 2200的數(shù)據(jù)進行加密或解密。圖23示出了可以針對受信云服務實現(xiàn)的示例性、非限制性的邊緣計算網(wǎng)絡(ECN)技術。就此而言,結合彼此獨立操作的受信云組件給多個動態(tài)計算節(jié)點2370、2372、2374、 2376動態(tài)地分配計算帶寬。例如,密鑰生成中心2320、存儲抽象服務2310、組織2330和組織2340可以如所示那樣被實現(xiàn)為涵蓋多組織業(yè)務或諸如上述場景之類的其他場景。密鑰生成中心2320包括密鑰生成器2322和服務器OS 2324。存儲抽象服務2310包括存儲服務組件2312和服務器OS 2314。組織2330包括STS 2332、AD 2336和服務器OS 2334。組織 2340 包括 STS 2334,AD 2346 和服務器 OS 23440 服務器 OS 2314、23M、2334、2344 協(xié)作以在服務器的范圍內實現(xiàn)ECN。任何存儲提供者或抽象2302都可以用于存儲數(shù)據(jù),例如可以使用SQL數(shù)據(jù)服務。通過這種方式,一個或多個桌面2350、2352可以分別通過客戶端應用 2360,2362發(fā)布或訂閱數(shù)據(jù)。圖M是示出了根據(jù)受信云服務生態(tài)系統(tǒng)的密鑰生成中心MlO的一個或多個任選方面的框圖。最初,諸如桌面對60、2462之類的計算設備的集合和相應的客戶端應用2470、 2472或者服務或服務器M74、2476、M78等等是云內容遞送網(wǎng)絡M50的潛在發(fā)布者和/或訂戶。然而,在滿足來自該計算設備集合中的任何計算設備的請求以前,密鑰生成中心最初為了獲得發(fā)布者的信任而充當管理人,該密鑰生成中心基于公鑰對數(shù)據(jù)進行加密并且基于數(shù)據(jù)訂戶的能力向其發(fā)放私鑰。在示例性的非限制性的交互中,來自計算設備的請求最初被提供M00,并且CKG 2410的主控者在M80向CKG工廠M02請求CKG 2410的實例。接著,在M82進行用戶認證M04。接著,任何基于使用的計費M84可以由計費系統(tǒng)M06應用以供CKG工廠M02使用。接著,租賃CKG在M86被CKG工廠M02物化,其可以包括MPK遞送組件M12、客戶端庫下載器M14、密鑰提取器M16和信任確認器/驗證器M18。MPK遞送組件對12在對88將MPK遞送給CDN 2450。客戶端庫下載器M14將密碼庫下載到請求客戶端,這些密碼庫可以與要發(fā)布的數(shù)據(jù)的加密或者該設備訂閱的數(shù)據(jù)的解密結合使用。接著,客戶端基于從與信任驗證器M18協(xié)作的密鑰提取器M16所接收的密鑰信息來作出提取給定文檔集合的請求,該信任驗證器M18可以基于在M94驗證訂戶的STS拇指紋、例如基于與該請求所涉及的組織的不同STS 2420,2422,2424,2426進行通信來確認訂戶具有某些能力。如在其他實施例中,可以提供存儲抽象服務對40來抽象數(shù)據(jù)庫服務M30 (例如SQL)的存儲細節(jié)。圖25是與網(wǎng)絡服務2520的遞送相聯(lián)系的受信存儲2500的示例性非限制性的框圖,該受信存儲2500包括具有確認和/或驗證的可搜索地經(jīng)加密的數(shù)據(jù)2510。在該實施例中,訂戶2540或訂戶2540所使用的應用可以作為訪問經(jīng)加密存儲2500的某些部分的請求的一部分來請求對通過請求確認實際接收的項目也是本應當接收的項目而返回的項目進行確認證明。就此而言,圖25示出了可搜索加密技術與確認技術的組合。任選地,該系統(tǒng)還可以與基于聲明的身份和訪問管理相集成,這在此處的其他實施例中予以描述。就此而言, 如在此處的各個實施例中所描述的那樣,亦稱聯(lián)合信任覆蓋的數(shù)字托管模式可以無縫地與更傳統(tǒng)的基于聲明的認證系統(tǒng)相集成。在圖25中,受信數(shù)據(jù)存儲2500或服務提供者或數(shù)據(jù)存儲的主控者執(zhí)行證明步驟, 而數(shù)據(jù)的所有者(例如訂戶設備)執(zhí)行確認。數(shù)據(jù)存儲2500是受信的,因為用戶可以相信其提供強力的保證,但是能夠理解,物理實體實際上主控該數(shù)據(jù),并且一些參與者不是完全受信的。
圖沈是用于訂閱的包括確認步驟的示例性、非限制性過程的流程圖。在沈00,可搜索地經(jīng)加密的數(shù)據(jù)的子集被從訂戶設備接收。在沈10,密鑰信息被從密鑰生成實例中生成,該密鑰生成實例基于訂戶設備的身份信息生成該密鑰信息。在沈20,根據(jù)在密鑰信息中所定義的賦予給該訂戶設備的能力,經(jīng)加密數(shù)據(jù)的子集被解密。在2630,該子集中表示的項目可以被確認(例如數(shù)據(jù)占有的證明),并且數(shù)據(jù)在沈40被訪問。在許多情況下,所期望的是能夠在不需要對經(jīng)加密數(shù)據(jù)進行解密的情況下對經(jīng)加密數(shù)據(jù)執(zhí)行PDP/P0R。任選地,PDP所需的密鑰信息可以被編碼在曾用可搜索加密被保護的元數(shù)據(jù)之內。盡管這是管理用于PDP/P0R的密鑰的有效方式,但是應當注意,存在許多高價值的場景,在這些場景中,可以在不需要訪問明文內容的情況下對經(jīng)加密數(shù)據(jù)執(zhí)行PDP/ POR。圖27示出了示例性、非限制性的確認挑戰(zhàn)/響應協(xié)議,其中驗證器2700(例如數(shù)據(jù)所有者)向證明器2710(例如數(shù)據(jù)服務提供者)發(fā)出密碼挑戰(zhàn)2720。在接收到挑戰(zhàn)2720 以后,證明器2710根據(jù)數(shù)據(jù)和挑戰(zhàn)來計算響應2712。然后,挑戰(zhàn)響應2730被返回給驗證器 2700,該驗證器2700然后執(zhí)行計算以驗證或證明該數(shù)據(jù)未曾被修改過2702。在圖27中總體上示出的確認被稱為私用PDP,但是應當注意,還存在“公用”版本, 其中給第三方提供密鑰(“公”鑰)使得第三方充當根據(jù)類似協(xié)議的驗證器,而不必去了解實際數(shù)據(jù)。P0R,即驗證的一個示例,與PDP不同,其中PDP提供數(shù)據(jù)是可檢索的證明(無論任何破壞/修改與否),但是如下面30所示,基本協(xié)議是相同的,但是文檔的結構和實際算法是不同的。此處的受信生態(tài)系統(tǒng)的各個實施方式組合可搜索加密和P0R/PDR以使系統(tǒng)收益并且鞏固信任。就此而言,在將數(shù)據(jù)提交給服務提供者以前,數(shù)據(jù)被可搜索地加密,并且對數(shù)據(jù)的后處理可以包括POR和/或PDP。另外,如果需要提供更力的保證,則“數(shù)據(jù)分散(dispersion) ”技術可以任選地覆蓋到上述任何一個或多個實施例中。利用數(shù)據(jù)分散,數(shù)據(jù)被分發(fā)給若干服務提供者以獲得對抗任何單個服務提供者中的“大規(guī)模不良行為”或者災難性損失的回復力。使用在此所示的信任機制,該分散以使得獨立服務提供者難以串通和破壞數(shù)據(jù)的方式來執(zhí)行。這類似于上述分布式CKG實施例的概念。圖觀是與網(wǎng)絡服務2520的遞送相聯(lián)系的受信存儲2500的另一示例性非限制性的框圖,該受信存儲2500包括具有確認和/或驗證的可搜索地經(jīng)加密的數(shù)據(jù)2510。具體而言,圖觀示出了驗證組件觀50,其用于驗證返回給訂戶2540的項目未被篡改或者以其他方式被不經(jīng)意地改變。上述PDP是驗證的非限制性示例。圖四是用于訂閱的包括確認步驟的示例性、非限制性過程的流程圖。在四00,可搜索地經(jīng)加密的數(shù)據(jù)的子集被從訂戶設備接收。在四10,密鑰信息被從密鑰生成實例中生成,該密鑰生成實例基于訂戶設備的身份信息生成該密鑰信息。在四20,根據(jù)在密鑰信息中所定義的賦予給該訂戶設備的能力,經(jīng)加密數(shù)據(jù)的子集被解密。在四30,該子集中表示的項目的內容可以被驗證(例如檢索能力的證明),并且數(shù)據(jù)在四40被訪問。圖30示出了示例性、非限制性的驗證挑戰(zhàn)/響應協(xié)議,其中驗證器3000(例如數(shù)據(jù)所有者)向證明器3010(例如數(shù)據(jù)服務提供者)發(fā)出密碼挑戰(zhàn)3020。在接收到挑戰(zhàn)3020 以后,證明器3010根據(jù)數(shù)據(jù)和挑戰(zhàn)來計算響應3012。然后,挑戰(zhàn)響應3030被返回給驗證器 3000,該驗證器3000然后執(zhí)行計算以驗證或證明該數(shù)據(jù)是可檢索的3002。
圖31是示出了非限制性場景的框圖,在該場景中,多個獨立的聯(lián)合信任覆蓋或者數(shù)字托管可以并排存在,或者針對分層方式彼此相疊地存在。在該場景中,存在具有可搜索地經(jīng)加密的數(shù)據(jù)3110的受信數(shù)據(jù)存儲3100,各種網(wǎng)絡服務3120可以基于該數(shù)據(jù)3110。例如,網(wǎng)絡服務3120可以包括作為云服務遞送文字處理軟件。作為地理分布等的一部分,任選地,可以提供多個覆蓋/托管3132、3134、3136,這些覆蓋/托管每個都適應于不同的應用/垂直面/順應性需要/統(tǒng)治實體要求,使得發(fā)布者2530或訂戶3150基于要求的集合或管轄權/住所區(qū)域來隱式或顯示地選擇正確的覆蓋/托管。因此,該覆蓋可以改變,但是來自云的后端服務可以保持不變,而不必使核心服務本身的遞送復雜化。在此描述了多種示例性、非限制性的實施例,這些實施例示出了受信數(shù)據(jù)服務的遞送。這些實施例不是獨立的,而是可以在合適時彼此組合。另外,任何上述實施例都可以被擴展為多個可替代方式。例如,在一個實施例中,受信數(shù)據(jù)服務提供陷門或能力的到期和撤銷,以獲得數(shù)據(jù)訪問的更大程度的安全性。在另一任選實施例中,權限管理層被構建到受信數(shù)據(jù)服務的提供中,例如以保護作為加密/解密的一部分附加于內容的權限或者阻止在數(shù)據(jù)托管中對受版權保護數(shù)據(jù)的操作,這些操作在明文中是可容易地識別或檢測的。因此, 在本發(fā)明的范圍內可以構思在此所述的實施例的任何組合或置換。示例性、非限定性的實施方式數(shù)字托管模式的任何示例性實施方式被稱為聯(lián)合信任覆蓋(FTO)。在附錄A中附有一些關于FTP實施方式的附加的非限制性細節(jié)。就此而言,數(shù)字托管模式僅僅是許多可能的模式和變型方案的一個示例。此外, 該模式(其包括發(fā)布者、訂戶、管理員和審計員——以及可能地其他專用角色,這如上述那樣)在另一底層FTO模式上分層,該底層FTO模式對CTP、CSP、CKG等等執(zhí)行“教會和州 (church & state)”分離以維持信任。也可以存在多個獨立FTO和DEP,其可以在彼此不干涉并且甚至不知道彼此的存在的情況下共存。而且,可以在云存儲服務提供者不協(xié)作或者甚至不了解這些模式/覆蓋的存在的情況下在云存儲上覆蓋DEP和FT0。更詳細而言,F(xiàn)TO是獨立于云中數(shù)據(jù)服務的服務集合。這些服務由數(shù)據(jù)服務的運營商以外的多方來運行,并且能夠提供關于針對由云服務主控的數(shù)據(jù)的機密性、篡改檢測和不可抵賴性的強力保證。任何伙伴都可以構造和主控這些覆蓋服務,例如居間程序服務、確認服務、存儲抽象服務等等。這些伙伴可以選擇主控參考實施方式或者基于公開可用的格式和協(xié)議來構造其自己的實施方式。由于格式、協(xié)議和參考實施方式的公開性質,可用直接維持諸如FTO的運營商和數(shù)據(jù)所有者之類的多方間的控制的分離。盡管加密是該解決方案的一個元素,但是在不同方的范圍內聯(lián)合的服務的組織也是該解決方案的一部分。盡管常規(guī)的加密技術對于許多場景而言是強制性的,但是它們排除了實現(xiàn)這些場景中的許多場景,比如篡改檢測、不可抵賴性、通過組織多個(不受信任) 的服務構建信任、搜索數(shù)據(jù)庫等等。補充上下文如上所述,對于某些附加的非限制性上下文而言,受信的云供應集合為構件于信任之上的云實現(xiàn)了應用生態(tài)系統(tǒng)。在此所使用的各種技術包括CKG——密鑰生成中心,一種實體,其主控多承租人密鑰生成中心,例如Microsoft、VeriSign、Fidelity中的任一都可以主控CKG。就此而言,多承租人是任選的(例如期望但不是強制性的)。其他術語包括CTP——密碼技術提供者,一種實體,其提供加密技術以供與受信生態(tài)系統(tǒng)一起使用,例如 Symantec、Certicom、Voltage、PGP 公司、BitArmor、Enterprise、Guardian、Sovereign Entity等等中的任一是可以為CTP的示例性公司。另外,術語“CSP”——云服務提供者是提供包括存儲在內的云服務的實體。各種公司可以提供這樣的數(shù)據(jù)服務。CIV—云索引確認器是用于確認所返回的索引的第二庫。 CSA——計算和存儲抽象對存儲后端進行抽象。STF——存儲傳輸格式是用于跨多個庫傳輸數(shù)據(jù)/元數(shù)據(jù)的通用格式。就此而言,如上所述,一些企業(yè)場景包括使用數(shù)據(jù)服務技術或應用的工程外聯(lián)網(wǎng);設計和工程分析;定義制造商和供應商間的數(shù)據(jù)關系等等。因此,通過將信任分布在多個實體的范圍內使得不存在“過分”受信任的實體或單點損害來為全部多個場景實現(xiàn)了唯一的生態(tài)系統(tǒng)。對于關于可搜索加密的某些補充上下文而言,用戶通常具有或獲得針對關鍵詞的 “能力,,或“陷門”,并且然后發(fā)送請求,其中使用該“能力,,將其呈現(xiàn)給服務器。服務器“組合”能力和索引以找出相關的文檔或數(shù)據(jù)。然后,僅僅給用戶提供對由該搜索產(chǎn)生的文檔的訪問(雖然用戶可以訪問不止這些文檔)。如所提到的那樣,不應當認為單個算法限制了在此所述的可搜索地經(jīng)加密的數(shù)據(jù)存儲的提供,然而,下面總體上概述了示例性非限制性算法后面的一些理論,并且提供了可搜索對稱加密(SSE)模式的初步知識·消息m 關鍵詞 W1, . . .,Wn· PRF :H·生成托管密鑰 針對H選擇隨機S·加密 選擇隨機密鑰K 選擇隨機固定長度r·對于1彡i彡ηif # Bi = Hs (Wi)計算I3i = HaiOO計算 Ci = h flag輸出 K(m),r,C1, · · ·,cn) 針對w生成陷門或能力· d = Hsj (W) 針對w進行測試 計算 p = Hd (r)·計算 ζ = ρ Ci 如果ζ = flag,則輸出“真”
·對& (m)進行解密以獲得m盡管再次不應當認為限制了在此所述的任何實施例,但是下面是關于公鑰加密W/ 關鍵詞搜索(PEKS)模式的初步知識。公鑰加密a. PKE = (Gen, Enc, Dec)基于身份的加密b. IBE = (Gen, Enc, Extract, Dec)c.生成主密鑰i. (msk,mpk) = IBE. Gen ()
d.針對ID對m進行加密i. c = IBE. Enc (mpk, ID, m)e.針對ID生成密鑰i. sk = IBE. Extract (msk, ID)f.解密i. m = IBE. Dec(sk, c)g.消息:mh.關鍵詞w1; . . .,wni.生成托管密鑰i. (msk, mpk) = IBE. Gen ()ii. (pk, sk) = PKE. GenOj.加密L 對于 1 ^ i ^ ηi. Ci = IBE. Enc (mpk, Wi, flag)1.返回(PKE. Enc (pk, m), C1,,cn)m.為w生成能力或陷門i. d = IBE. Extract (msk, w)η.針對w進行測試ο.對于 1 ^ i ^ ηi. ζ = IBE. Dec(d, Ci)ii.如果ζ = flag,則輸出“真”對& (m)進行解密以獲得m示例性聯(lián)網(wǎng)和分布式環(huán)境本領域普通技術人員可以理解,此處所描述的用于受信云服務框架的方法和設備的各實施例和有關的各實施例可以結合任何計算機或其它客戶端或服務器設備來實現(xiàn),該任何計算機或其它客戶端或服務器設備可作為計算機網(wǎng)絡的一部分來部署或者被部署在分布式計算環(huán)境中,并且可以連接到任何種類的數(shù)據(jù)存儲。就此,此處所描述的各實施例可以在具有任意數(shù)量的存儲器或存儲單元以及出現(xiàn)在任意數(shù)量的存儲單元上的任意數(shù)量的應用程序和進程的任何計算機系統(tǒng)和環(huán)境中實現(xiàn)。這包括但不限于具有部署在具有遠程或本地存儲的網(wǎng)絡環(huán)境或分布式計算環(huán)境中的服務器計算機和客戶計算機的環(huán)境。
附圖32提供了示例性聯(lián)網(wǎng)或分布式計算環(huán)境的非限制性示意圖。該分布式計算環(huán)境包括計算對象3210、3212等以及計算對象或設備3220、3222、32對、3226、32觀等,這些計算對象或設備可包括如由應用程序3230、3232、3234、3236、3238表示的程序、方法、數(shù)據(jù)存儲、可編程邏輯等。能夠理解,對象3210、3212等以及計算對象或設備3220、3222、32對、 3226,3228等可包括不同的設備,比如PDA、音頻/視頻設備、移動電話、MP3播放器、膝上型計算機等。每一個對象3210、3212等以及計算對象或設備3220、3222、32對、3226、32沘等可通過通信網(wǎng)絡3240直接或間接與一個或多個其他對象3210、3212等以及計算對象或設備 3220,3222,3224,3226,3228等進行通信。即使在附圖32中被示為單個元件,但網(wǎng)絡3240 可包括向附圖32的系統(tǒng)提供服務的其他計算對象或解釋設備,和/或可表示未示出的多個互連網(wǎng)絡。每個對象3210、3212等或3220、3222、32對、3226、32沘等還可包含諸如應用程序3230、3232、3234、3236、3238之類的應用程序,該應用程序可利用API或適用于與根據(jù)本發(fā)明的各實施例來提供的受信云計算服務進行通信或適用于實現(xiàn)受信云計算服務的其他對象、軟件、固件和/或硬件。存在支持分布式計算環(huán)境的各種系統(tǒng)、組件和網(wǎng)絡配置。例如,計算系統(tǒng)可以由有線或無線系統(tǒng)、本地網(wǎng)絡或廣泛分布的網(wǎng)絡連接在一起。當前,許多網(wǎng)絡被耦合至因特網(wǎng), 后者為廣泛分布的計算提供了基礎結構并包含許多不同的網(wǎng)絡,但任何網(wǎng)絡基礎結構可用于變得與如各實施例中所描述的技術相關聯(lián)的示例性通信。因此,可以利用諸如客戶端/服務器、對等、或混合架構等網(wǎng)絡拓撲結構和網(wǎng)絡基礎結構的主機。在客戶端/服務器架構中,尤其在聯(lián)網(wǎng)系統(tǒng)中,客戶端通常是訪問由例如服務器等另一計算機提供的共享的網(wǎng)絡資源的計算機。在圖32的圖示中,作為非限制性示例,計算機3220、3222、32對、3226、32觀等可被認為是客戶端而計算機3210、3212等,可被認為是服務器,其中服務器3210、3212等提供數(shù)據(jù)服務,諸如從客戶端計算機3220、3222、 3224,3226、3228等接收數(shù)據(jù)、存儲數(shù)據(jù)、處理數(shù)據(jù)、向客戶端計算機3220、3222、3224, 3226,3228發(fā)送數(shù)據(jù)等,但任何計算機都可取決于環(huán)境而被認為是客戶端、服務器或兩者。 這些計算設備中的任一個都可以處理數(shù)據(jù),或請求可指示此處所描述的技術的經(jīng)改善的用戶簡檔和相關技術的服務或任務。服務器通常是可通過諸如因特網(wǎng)或無線網(wǎng)絡基礎架構等遠程網(wǎng)絡或本地網(wǎng)絡訪問的遠程計算機系統(tǒng)??蛻舳诉M程可以在第一計算機系統(tǒng)中活動,而服務器進程可以在第二計算機系統(tǒng)中活動,它們通過通信介質彼此通信,從而提供分布式功能并允許多個客戶端利用服務器的信息收集能力。按照用戶簡檔來利用的任何軟件對象可以單獨提供或跨多個計算設備或對象分布。在其中通信網(wǎng)絡/總線3240是因特網(wǎng)的網(wǎng)絡環(huán)境中,服務器3210、3212等可以是客戶端3220、3222、32對、3226、32觀等通過諸如超文本傳輸協(xié)議(HTTP)等多種已知協(xié)議中的任一種與其通信的web服務器。服務器3210、3212等也可擔當客戶端3220、3222、32對、 3226,3228等,這是分布式計算環(huán)境的特性。示例性計算設備如所提到的那樣,此處描述的各實施例適用于其中可能期望實現(xiàn)受信云服務框架的一個或多個部分的任何設備。因此,應當理解,構思了結合此處描述的各實施例使用的手持式、便攜式和其它計算設備和計算對象,即在設備可以結合受信云服務框架來提供某些功能的任何地方。因此,在下面的圖33中描述的以下通用遠程計算機僅是一個示例,且所公開的主題的各實施例可用具有網(wǎng)絡/總線互操作性和交互的任何客戶端來實現(xiàn)。盡管并不是必需的,但各實施例的任意一個可以部分地經(jīng)由操作系統(tǒng)來實現(xiàn),以供設備或對象的服務開發(fā)者使用,和/或被包括在結合可操作組件來操作的應用軟件中。 軟件可以在由諸如客戶端工作站、服務器或其他設備等一個或多個計算機執(zhí)行的諸如程序模塊等計算機可執(zhí)行指令的通用上下文中描述。本領域的技術人員可以理解,網(wǎng)絡交互可以用各種計算機系統(tǒng)配置和協(xié)議來實施。因此,圖33示出了其中可實現(xiàn)一個或多個實施例的合適的計算系統(tǒng)環(huán)境3300的一個示例,但是上面已經(jīng)弄清楚,計算系統(tǒng)環(huán)境3300僅為合適的計算環(huán)境的一個示例,并且不旨在對各實施例中的任意一個的使用范圍或功能提出任何限制。也不應該將計算環(huán)境 3300解釋為對示例性操作環(huán)境3300中示出的任一組件或其組合有任何依賴性或要求。參考圖33,用于實現(xiàn)此處的一個或多個實施例的示例性遠程設備可以包括手持式計算機3310形式的通用計算設備。手持式計算機3310的組件可以包括但不限于處理單元3320、系統(tǒng)存儲器3330和將包括系統(tǒng)存儲器在內的各種系統(tǒng)組件耦合至處理單元3320 的系統(tǒng)總線3321。計算機3310通常包括各種計算機可讀介質,并可以是可由計算機3310訪問的任何可用介質。系統(tǒng)存儲器3330可以包括諸如只讀存儲器(ROM)和/或隨機存取存儲器 (RAM)等易失性和/或非易失性存儲器形式的計算機存儲介質。作為示例而非限制,存儲器 3330還可以包括操作系統(tǒng)、應用程序、其他程序模塊、和程序數(shù)據(jù)。用戶可以通過輸入設備3340向計算機3310輸入命令和信息。監(jiān)視器或其他類型的顯示設備也經(jīng)由接口,諸如輸出接口 3350連接至系統(tǒng)總線3321。除監(jiān)視器之外,計算機還可以包括其他外圍輸出設備,如揚聲器和打印機,它們可以通過輸出接口 3350連接。計算機3310可使用至一個或多個遠程計算機,諸如遠程計算機3370的邏輯連接在網(wǎng)絡化或分布式環(huán)境中操作。遠程計算機3370可以是個人計算機、服務器、路由器、網(wǎng)絡PC、對等設備或其他常見網(wǎng)絡節(jié)點、或任何其他遠程媒體消費或傳輸設備,并且可以包括上面關于計算機3310所描述的任何或全部元件。附圖33所示的邏輯連接包括諸如局域網(wǎng) (LAN)或廣域網(wǎng)(WAN)等的網(wǎng)絡3371,但也可以包括其他網(wǎng)絡/總線。這樣的聯(lián)網(wǎng)環(huán)境在家庭、辦公室、企業(yè)范圍計算機網(wǎng)絡、內聯(lián)網(wǎng)和因特網(wǎng)中是常見的。如上所述,盡管結合各計算設備、網(wǎng)絡和廣告架構描述了示例性實施例,但還可將底層概念應用于其中期望結合與云服務的交互來提供信任的任何網(wǎng)絡系統(tǒng)和任何計算設備或系統(tǒng)。有多種實現(xiàn)此處描述的一個或多個實施例的方式,例如,使應用和服務能使用受信云服務框架的適當API、工具包、驅動程序代碼、操作系統(tǒng)、控件、獨立或可下載的軟件對象等等。可以從API (或其他軟件對象)的觀點以及從提供根據(jù)所描述的實施例中的一個或多個的定點平臺的軟件或硬件對象來構想各實施例。此處描述的各種實現(xiàn)和實施例可以具有完全采用硬件、部分采用硬件并且部分采用軟件、以及采用軟件的方面。在本文中使用的詞語“示例性”意味著用作示例、實例或說明。為避免疑惑,本文公開的主題不受限于這樣的示例。此外,本文描述為“示例性”的任何方面或設計不必解釋成優(yōu)于其他方面或設計或比其他方面或設計有利,它也不旨在排除本領域的普通技術人員所知的等效示例性結構和技術。而且,就術語“包括”、“具有”、“包含”和其他類似的詞語在詳細描述或權利要求書中的使用而言,為避免疑惑,這樣的術語旨在以類似于術語“包括”作為開放的過渡詞的方式解釋而不排除任何附加或其他元素。如上所述,此處所述的各種技術可結合硬件或軟件,或在適當時以兩者的組合來實現(xiàn)。如在此所使用的,術語“組件”、“系統(tǒng)”等同樣指的是計算機相關實體,或者是硬件、 硬件和軟件的組合、軟件或執(zhí)行中的軟件。例如,組件可以是,但不限于是,在處理器上運行的進程、處理器、對象、可執(zhí)行碼、執(zhí)行的線程、程序和/或計算機。作為說明,運行在計算機上的應用程序和計算機本身都可以是計算機組件。一個或多個組件可以駐留在進程和/或執(zhí)行線程中,并且組件可以位于一個計算機內和/或分布在兩個或更多的計算機之間。已經(jīng)關于若干組件之間的交互描述了前述系統(tǒng)。應該理解,這樣的系統(tǒng)和組件可以包括根據(jù)前述的各種置換和組合的那些組件或指定的子組件、指定的組件或子組件中的某一些、和/或另外的組件。子組件也可以被實現(xiàn)為通信耦合至其他組件而非被包括在父組件(分層)內的組件。另外,應注意到一個或多個組件可被組合成提供聚集功能的單個組件,或被分成若干單獨的子組件,且諸如管理層等任何一個或多個中間層可被設置成通信耦合到這樣的子組件以便提供集成功能。此處描述的任何組件也可以與在此未具體描述但本領域的技術人員公知的一個或多個其他組件交互。鑒于以上描述的示例性系統(tǒng),參考各附圖的流程圖將可以更好地理解依照所公開的主題實現(xiàn)的方法。盡管為了說明簡潔起見,作為一系列框示出和描述了方法,但是,應該理解,所要求保護的主題不僅限于所描述框的順序,一些框可以按與此處所描繪和描述的不同的順序進行和/或與其他框并發(fā)地進行。盡管經(jīng)由流程圖示出了非順序或分支的流程,但可以理解,可實現(xiàn)達成相同或類似結果的各種其他分支、流程路徑和框次序。此外,并非全部所示出的方框都是實現(xiàn)下面所描述的方法所必需的。雖然在某些實施例中,說明了客戶端側觀點,但要出于避免存在相對應的服務器觀點的疑問來理解,反之亦然。類似地,在實施方法的地方,可以提供具有存儲和被配置成經(jīng)由一個或多個組件實施該方法的至少一個處理器的相對應的設備。盡管結合各附圖的優(yōu)選實施例描述了各實施例,但可以理解,可以使用其他類似的實施例,或可以對所描述的實施例進行修改和添加來執(zhí)行相同的功能而不背離本發(fā)明。 而且,此處描述的各實施例的一個或多個方面可以在多個處理芯片或設備中實現(xiàn)或跨多個處理芯片或設備實現(xiàn),且存儲可以類似地跨多個設備來實現(xiàn)。因此,本發(fā)明不應限于任何單個實施例,而是應該根據(jù)所附權利要求書的廣度和范圍來解釋。
權利要求
1.一種系統(tǒng),包括至少一個至少部分地由密碼技術提供者分發(fā)的密碼組件410,該密碼技術提供者與密鑰生成器400獨立地實現(xiàn),該密鑰生成器400針對發(fā)布數(shù)據(jù)或訂閱數(shù)據(jù)至少之一生成密鑰信息,所述至少一個密碼組件410包括至少一個處理器,所述處理器被配置為基于由密鑰生成器400所生成的密鑰信息執(zhí)行至少一種可搜索加密算法或者可搜索解密算法;以及網(wǎng)絡服務提供者420,該網(wǎng)絡服務提供者420與密鑰生成器400和所述至少一個密碼組件410獨立地實現(xiàn),該網(wǎng)絡服務提供者420包括至少一個處理器,所述處理器被配置為實現(xiàn)與由所述至少一個密碼組件410加密的數(shù)據(jù)有關的網(wǎng)絡服務。
2.如權利要求1所述的系統(tǒng),其特征在于,該密鑰信息包括能力信息,該能力信息定義相對于由所述至少一個密鑰組件410加密的數(shù)據(jù)的訪問特權。
3.如權利要求2所述的系統(tǒng),其特征在于,該能力信息被后期綁定,使得向給定訂戶賦予最新的訪問特權。
4.如權利要求1所述的系統(tǒng),其特征在于,由訂戶從網(wǎng)絡服務提供者420檢索的數(shù)據(jù)項被確認以向該訂戶證明從該網(wǎng)絡服務檢索到了正確的項目。
5.如權利要求1所述的系統(tǒng),其特征在于,由訂戶從網(wǎng)絡服務提供者420檢索的數(shù)據(jù)項的內容是可被認證的以向該訂戶證明所述數(shù)據(jù)項目的內容未受干擾。
6.如權利要求1所述的系統(tǒng),其特征在于,其中數(shù)據(jù)的訂戶或數(shù)據(jù)的發(fā)布者分別基于匿名憑證訂閱或發(fā)布內容,其中在不暴露私用信息的情況下根據(jù)賦予了哪些特權來確定訂戶或發(fā)布者的角色。
7.如權利要求1所述的系統(tǒng),其特征在于,網(wǎng)絡服務提供者進一步包括至少一個數(shù)據(jù)存儲100,所述數(shù)據(jù)存儲100存儲可選擇性訪問的經(jīng)加密數(shù)據(jù)110,其中至少一個訂戶140 訂閱經(jīng)加密數(shù)據(jù)Iio的指定子集,第一獨立實體401基于與所述至少一個訂戶相關聯(lián)的身份信息生成密碼信息并且第二獨立實體411基于由第一獨立實體401所生成的密碼信息執(zhí)行該指定子集的解密。
8.如權利要求7所述的系統(tǒng),其特征在于,所述至少一個訂戶140是用于審計經(jīng)加密數(shù)據(jù)的子集的至少一個審計員。
9.如權利要求7所述的系統(tǒng),其特征在于,所述至少一個訂戶140是用于管理或監(jiān)控影響經(jīng)加密數(shù)據(jù)的過程的至少一個管理員。
10.一種用于訂閱數(shù)據(jù)的方法,包括響應于從至少一個訂戶設備對可搜索地經(jīng)加密數(shù)據(jù)的子集的請求,從密鑰生成組件接收密鑰信息310,該密鑰生成組件基于與所述至少一個訂戶設備相關聯(lián)的身份信息生成該密鑰信息;以及根據(jù)在該密鑰信息中所定義的賦予給所述至少一個訂戶設備的特權對經(jīng)加密數(shù)據(jù)的子集進行解密320。
11.如權利要求10所述的方法,其特征在于,接收310包括從在單獨的控制區(qū)中執(zhí)行的密鑰生成組件接收密鑰信息,該密鑰生成組件基于所述至少一個訂戶設備的角色來生成該S朗^[曰息ο
12.如權利要求11所述的方法,其特征在于,接收310包括根據(jù)所述至少一個訂戶設備的審計角色來接收密鑰信息。
13.如權利要求11所述的方法,其特征在于,接收310包括根據(jù)所述至少一個訂戶設備的管理員角色來接收密鑰信息。
14.如權利要求10所述的方法,其特征在于,進一步包括從所述至少一個訂戶設備接收對經(jīng)加密數(shù)據(jù)的子集的數(shù)據(jù)項目的檢索能力3020的證明的請求;以及生成信息3012以向該訂戶設備證明由所述至少一個訂戶設備所請求的經(jīng)加密數(shù)據(jù)的子集中的數(shù)據(jù)項目是正確的。
15.如權利要求10所述的方法,其特征在于,進一步包括接收證明經(jīng)加密數(shù)據(jù)的子集在被所述至少一個訂戶設備請求以前還未受干擾的請求 2720 ;以及生成信息2712以向該訂戶設備證明經(jīng)加密數(shù)據(jù)的子集在被所述至少一個訂戶設備請求以前還未受干擾。
全文摘要
為網(wǎng)絡數(shù)據(jù)服務提供了數(shù)字托管模式,包括用于存儲在云中的數(shù)據(jù)的可搜索加密技術、跨多個實體分布信用以避免單個數(shù)據(jù)點損害。在一個實施例中,密鑰生成器、密碼技術提供者和云服務提供者每個都被配備為單獨的實體,從而使得數(shù)據(jù)的發(fā)布者能夠機密地(經(jīng)加密的)將數(shù)據(jù)發(fā)布給云服務提供者,并且然后選擇性地將經(jīng)加密的數(shù)據(jù)暴露于請求該數(shù)據(jù)的訂戶,該選擇性地暴露基于被編碼到響應于訂戶請求所生成的密鑰信息中的訂戶身份信息(例如,訂戶的角色)。
文檔編號G06F21/00GK102318262SQ201080008655
公開日2012年1月11日 申請日期2010年2月4日 優(yōu)先權日2009年2月16日
發(fā)明者R·P·德索扎, R·V·奧拉德卡 申請人:微軟公司