在云中隱私地處理數(shù)據(jù)的制作方法
【專利說明】在云中隱私地處理數(shù)據(jù)
[0001]背景
[0002]本發(fā)明總體上涉及在云中處理數(shù)據(jù)。
[0003]云基本上是為客戶端(諸如移動電話、膝上計算機、個人計算機以及實際上可通過有線或無線網(wǎng)絡與服務器通信的任何基于處理器的設備)提供存儲或處理服務的任何服務器。云計算是用于使得能夠對可以用最小的管理努力或服務提供商交互快速供應并釋放的可配置計算資源共享池(例如,網(wǎng)絡、服務器、存儲、應用以及服務)進行無處不在的、方便的、按需的網(wǎng)絡訪問的模型。
[0004]通常,從客戶端到服務器提供各種任務。結合蘋果iPhone的常見任務是使用Siri語音識別服務。用戶可說出問題并且該信息可由服務器處理,然后該服務器提供答案。
[0005]某些人更喜歡云服務提供商不訪問正在被處理的數(shù)據(jù)。該數(shù)據(jù)可包括用戶的語音、任何其他用戶隱私數(shù)據(jù)以及用戶正在提供的實際內(nèi)容。然而,用戶在許多情況下具有很少的選擇,因為電話提供商也是提供云服務的提供商。
[0006]附圖簡要說明
[0007]參照以下附圖描述一些實施例:
[0008]圖1是根據(jù)一個實施例的客戶端服務器的架構圖;
[0009]圖2是根據(jù)一個實施例的通信流;
[0010]圖3是在一個實施例中有用的分組格式的圖;
[0011]圖4是根據(jù)一個實施例的受信執(zhí)行環(huán)境的圖;
[0012]圖5是根據(jù)一個實施例的使用第三方受信服務提供商的架構的圖;
[0013]圖6是來自企業(yè)內(nèi)的受信服務提供商的架構圖;
[0014]圖7是客戶端處的一個實施例的流程圖;
[0015]圖8是服務器處的一個實施例的流程圖;以及
[0016]圖9是一個實施例的系統(tǒng)圖。
[0017]詳細描述
[0018]盡管云服務可提供來自個人設備的處理或來自多個源的合成數(shù)據(jù),但是許多用戶喜歡對他們的數(shù)據(jù)保持隱私。根據(jù)某些實施例,隱私用戶數(shù)據(jù)可在云中處理而不向云服務提供商暴露用戶身份。僅用戶或用戶的授權代理和服務的硬件平臺能訪問某些密鑰并因此訪問未經(jīng)加密的數(shù)據(jù)。服務應用軟件和操作系統(tǒng)僅能訪問加密數(shù)據(jù)。
[0019]根據(jù)一個實施例,云服務中的受信計算庫使得服務能夠隱私地處理用戶數(shù)據(jù)。數(shù)據(jù)可僅以加密格式存儲并傳輸。明文數(shù)據(jù)的處理可僅在云服務中的受信硬件組件中發(fā)生。云服務操作系統(tǒng)應用軟件僅能訪問經(jīng)加密的數(shù)據(jù)。
[0020]參照圖1,客戶端10可通過通信路徑30與服務或服務器12通信。通信路徑30可以是任何有線或無線通信路徑??蛻舳?0可以是任何基于處理器的設備,包括平板計算機、蜂窩電話、膝上計算機或個人計算機。其還可以是電視接收器、打印機游戲設備或可穿戴設備。客戶端10包括隱私上下文14,該隱私上下文可包括用戶更喜歡保持機密的信息和應用。其還可以包括多個客戶端應用20,每個客戶端應用具有其自身所分配的公鑰16和私鑰18。
[0021]在一個實施例中,通信路徑30可例如結合超文本傳輸協(xié)議安全(HTTPS)協(xié)議實現(xiàn)傳輸層安全(TLS)連接??蛻舳丝山⒌椒?2內(nèi)的受信執(zhí)行環(huán)境24的TLS連接。例如,在一個實施例中,通過TLS連接30的通信可依賴于向客戶端保證受信執(zhí)行環(huán)境是特定的受信執(zhí)行環(huán)境的證書交換。客戶端可存儲被受信接受的執(zhí)行環(huán)境列表。例如,Verisign證書可向客戶端提供充分的信息:客戶端可確信受信執(zhí)行環(huán)境的身份。然后,客戶端僅需檢查數(shù)據(jù)庫以便確定受信執(zhí)行環(huán)境是否是客戶端可信任的那個。
[0022]證書可由服務(諸如Verisign)生成,該證書向用戶確保正在與其通信的實體是實體所說的實體。
[0023]服務12可包括不受信服務22,路徑30通過該不受信服務22到達受信執(zhí)行環(huán)境24。然而,不受信服務僅可訪問經(jīng)加密的數(shù)據(jù)。僅受信執(zhí)行環(huán)境24具有將用戶數(shù)據(jù)隱私地從客戶端10傳送到受信執(zhí)行環(huán)境24所需的公鑰26和私鑰28。不受信服務可以例如是互聯(lián)網(wǎng)服務提供商或蜂窩電話服務提供商,作為兩個示例。
[0024]因此,參照圖2,客戶端10可通過不受信服務22與受信執(zhí)行環(huán)境24通信??蛻舳?0包括公鑰和私鑰并且使用TLS通道30驗證受信執(zhí)行環(huán)境的身份。具體地,信任請求32被發(fā)布到受信執(zhí)行環(huán)境。受信執(zhí)行環(huán)境用其公鑰做出響應,如箭頭34所示。然后,客戶端基于預定的受信執(zhí)行環(huán)境列表確定受信執(zhí)行環(huán)境是否是客戶端能夠信任的環(huán)境??纱_信受信執(zhí)行環(huán)境的身份,因為這個身份由TLS通道確認。
[0025]然后,如果客戶端10選擇由受信執(zhí)行環(huán)境24處理隱私數(shù)據(jù),其發(fā)送包括用服務器的公鑰和客戶端的公鑰加密的會話密鑰以及用會話密鑰加密的隱私數(shù)據(jù)和隨機值,如箭頭36所示。然后,受信執(zhí)行環(huán)境24具有客戶端的公鑰并且可處理隱私數(shù)據(jù)。其將如38處所示的結果發(fā)送到客戶端10。使用第二會話密鑰對這些結果和隨機值進行加密。也使用客戶端的公鑰對會話密鑰進行加密。
[0026]服務從客戶端接收隱私數(shù)據(jù)并且在受信執(zhí)行環(huán)境執(zhí)行處理。僅受信執(zhí)行環(huán)境具有解密數(shù)據(jù)的密鑰,該數(shù)據(jù)曾以其他方式在存儲器中并且在盤上加密。一旦處理完成,使用第二會話密鑰對這些結果進行加密。由客戶端公鑰加密的第二會話密鑰、這些結果以及由第二會話密鑰加密的隨機值被返回客戶端。
[0027]圖3示出了一種可能的分組格式。公鑰40與有效載荷加密密鑰44 一起用于加密簽名48。因此,有效載荷46被加密并且然后頭42可被提供。也就是,使用如50處所示的有效載荷加密密鑰44對有效載荷進行加密。然后,如52處所示,可用頭、加密密鑰44和有效載荷46對簽名進行散列。
[0028]圖4中示出的受信執(zhí)行環(huán)境是服務器進行安全處理的關鍵。從客戶端接收的所有數(shù)據(jù)以加密形式存儲在存儲器66中和存儲70上。受信執(zhí)行環(huán)境包含用于解密數(shù)據(jù)的秘密密鑰和用于處理的存儲器66。經(jīng)解密的數(shù)據(jù)僅在處理期間可用,并且在其被處理之后永不在存儲器中或盤上可用。
[0029]因此,中央處理單元(CPU)或其他處理器54包括作為公私鑰對或對稱密鑰的秘密56。可用于在數(shù)據(jù)62中提供指令60的解密單元58中進行解密。讀寫鏈路64將存儲器66和CPU 54鏈接起來。存儲器66可存儲也可從如72中所指示的存儲70加載的經(jīng)加密的信息68 ο
[0030]至此為止,數(shù)據(jù)已經(jīng)用算法或不用算法(例如,個人上下文作為經(jīng)加密的文本文件)從客戶端傳輸以便在駐留在服務器上的數(shù)據(jù)上操作。在另一個實施例中,客戶端傳送數(shù)據(jù)和指令兩者以便在服務器上執(zhí)行。在這種情況下,客戶端能夠控制對數(shù)據(jù)的訪問以及在數(shù)據(jù)上發(fā)生的處理。處理指令與圖2中被標記為“隱私數(shù)據(jù)”和在圖3中被標記為“經(jīng)加密的有效載荷”的塊中的數(shù)據(jù)一起被傳輸??苫蛘咄ㄟ^要求對指令進行簽名或者要求在沙盒(例如,Java虛擬機)中對指令進行解釋來保護服務器,該沙盒在受信執(zhí)行環(huán)境或兩者中運行。
[0031]在至此所描述的示例中,存在其服務器具有受信執(zhí)行環(huán)境的最終用戶和單個服務提供商。以下描述兩個擴展。
[0032]在某些情況下,用戶可與用戶不信任的服務提供商交互,即使該服務提供商具有含受信執(zhí)行環(huán)境的硬件。在這種情況下,如圖5所示,可使用受信第三方。用戶與受信第三方的硬件建立關系而不是與不受信服務提供商。第三方受信硬件中發(fā)生計算并且僅經(jīng)加密的請求和結果數(shù)據(jù)通過不受信服務提供商傳輸。
[0033]因此,在圖5中,客戶端設備74包括公鑰和私鑰78和80、客戶端應用82和隱私上下文76。設備74通過路徑84通信,該路徑可以是有線或無線并且可通常是TLS連接。其與具有不受信服務90的不受信服務提供商88通信。不受信服務提供商和受信服務提供商92兩者都在云86中。受信服務提供商92包括不受信服務94、公鑰和私鑰98和100以及受信執(zhí)行環(huán)境96。
[0034]在另一個示例中,如圖6所示,客戶端可以是企業(yè)環(huán)境中的設備。在本示例中,企業(yè)102可能希望訪問未經(jīng)加密的數(shù)據(jù)。此外,企業(yè)可能希望設置有關可處理什么數(shù)據(jù)以及該數(shù)據(jù)可由什么外部服務提供商訪問的策略。在這種情況下,企業(yè)客戶端設備106通