操 作508可包括在網(wǎng)關(guān)服務(wù)器和密鑰服務(wù)器模塊之間建立安全信道。在操作510中,可以通 過安全信道上傳由RKM服務(wù)器所提供的密碼密鑰。在操作512中,可以在一個(gè)或多個(gè)TEE 中啟動(dòng)數(shù)據(jù)處理模塊。在操作514中,可以驗(yàn)證數(shù)據(jù)處理模塊。例如,數(shù)據(jù)處理模塊可以被 配置成使用由RKM服務(wù)器111通過網(wǎng)關(guān)服務(wù)器110所提供的公鑰,證實(shí)密鑰服務(wù)器模塊,該 公鑰對(duì)應(yīng)于用于對(duì)數(shù)據(jù)處理模塊進(jìn)行數(shù)字簽名的私鑰。在某些實(shí)施例中,數(shù)據(jù)處理模塊可 以被配置成證實(shí)網(wǎng)關(guān)服務(wù)器110和/或RKM服務(wù)器111。在操作516中,可以在密鑰服務(wù)器 TEE和數(shù)據(jù)處理TEE之間建立安全信道。密鑰服務(wù)器模塊可以被配置成在建立安全信道之 前驗(yàn)證數(shù)據(jù)處理模塊。操作518可包括由密鑰服務(wù)器TEE通過安全信道向數(shù)據(jù)處理TEE提 供密碼密鑰。在操作520中,程序流可以返回。
[0047] 如此,在安全信道被建立之前以及在提供密碼密鑰之前,使用受信任的執(zhí)行環(huán)境, 可以證實(shí)(即,驗(yàn)證)密鑰服務(wù)器模塊和數(shù)據(jù)處理模塊。公鑰(可以被認(rèn)證)可以用于被 配置成確認(rèn)在云中執(zhí)行的密鑰服務(wù)器模塊和數(shù)據(jù)處理模塊是由網(wǎng)關(guān)服務(wù)器從RKM服務(wù)器 上傳的模塊的測(cè)量中。
[0048]圖6示出了根據(jù)本發(fā)明的實(shí)施例的示例性操作的流程圖600。操作可以例如由數(shù) 據(jù)處理模塊330a,...,330m來執(zhí)行。具體而言,流程圖600描繪了數(shù)據(jù)處理模塊的示例性 操作,數(shù)據(jù)處理模塊被配置成從例如云存儲(chǔ)設(shè)備檢索經(jīng)加密的數(shù)據(jù),解密并處理數(shù)據(jù)并安 全地在受信任的執(zhí)行環(huán)境中對(duì)結(jié)果進(jìn)行加密,并將經(jīng)加密的結(jié)果返回到存儲(chǔ)器和/或網(wǎng)關(guān) 服務(wù)器,用于提供到發(fā)出請(qǐng)求的計(jì)算設(shè)備。
[0049] 流程圖600的操作可以從開始602開始。操作604可包括將經(jīng)加密的數(shù)據(jù)從存儲(chǔ) 器加載到受信任的執(zhí)行環(huán)境中。在操作606中,可以通過為該目的建立的安全信道從密鑰 服務(wù)器模塊接收密碼密鑰。圖6的操作606與圖5的操作518互補(bǔ)。操作608可包括使用 密碼密鑰來解密檢索到的數(shù)據(jù)。在操作610中,可以處理經(jīng)解密的數(shù)據(jù),以產(chǎn)生結(jié)果。在操 作612中,可以使用密碼密鑰來對(duì)結(jié)果進(jìn)行加密。在操作614中,經(jīng)加密的結(jié)果可以存儲(chǔ)在 云存儲(chǔ)設(shè)備中和/或傳輸?shù)嚼缇W(wǎng)關(guān)服務(wù)器,用于提供到發(fā)出請(qǐng)求的計(jì)算設(shè)備。在某些實(shí) 施例中,如果結(jié)果密鑰被修改,操作616可包括將結(jié)果密鑰提供到密鑰服務(wù)器模塊。在操作 618中,程序流可以返回。
[0050] 如此,當(dāng)數(shù)據(jù)在傳播和/或存儲(chǔ)在不安全的存儲(chǔ)器中時(shí),可以通過加密來保護(hù)數(shù) 據(jù)??梢栽谑苄湃蔚膱?zhí)行環(huán)境中對(duì)數(shù)據(jù)進(jìn)行解密并處理,在存儲(chǔ)或傳輸之前,可以對(duì)結(jié)果進(jìn) 行加密。
[0051] 圖7描繪了根據(jù)本發(fā)明的一個(gè)實(shí)施例的ApacheHadoop數(shù)據(jù)處理示例。具體而言, 圖7描繪了與Hadoop中的映射-縮小應(yīng)用相關(guān)聯(lián)的流。ApacheHadoop是支持?jǐn)?shù)據(jù)密集的 分布式應(yīng)用的開源軟件框架。它支持使用諸如云服務(wù)102之類的云服務(wù)來執(zhí)行數(shù)據(jù)處理應(yīng) 用。Hadoop實(shí)現(xiàn)名為Map-Reduce的計(jì)算范例,其中,數(shù)據(jù)處理被分成許多小數(shù)據(jù)塊,每一個(gè) 數(shù)據(jù)塊都可以在服務(wù)器存儲(chǔ)系統(tǒng)中的任何云服務(wù)器中執(zhí)行或反復(fù)執(zhí)行。另外,它還提供可 以將數(shù)據(jù)存儲(chǔ)在云存儲(chǔ)設(shè)備中的分布式文件系統(tǒng)("HDFS")。ApacheHadoop允許應(yīng)用與 成千上萬的計(jì)算獨(dú)立的計(jì)算機(jī)以及拍字節(jié)(petabyte)數(shù)據(jù)一起工作。如此,使用Hadoop 框架(例如,Map-Reduce)的數(shù)據(jù)處理,可以使用根據(jù)本發(fā)明的系統(tǒng)以及方法來執(zhí)行。下面 包括了對(duì)使用Hadoop框架的數(shù)據(jù)處理的一般描述,后面跟著對(duì)圖7的具體描述。
[0052] 最初,客戶機(jī),例如,計(jì)算設(shè)備112a,通過網(wǎng)關(guān)服務(wù)器110,可以向Hadoop JobTracker隊(duì)列提交映射-縮小處理作業(yè)。然后,可以計(jì)算HDFS數(shù)據(jù)的輸入拆分。換言 之,數(shù)據(jù)可以拆分成對(duì)應(yīng)于拆分的塊("輸入拆分")。RKM服務(wù)器111可以被配置成對(duì)數(shù)據(jù) 塊進(jìn)行加密,網(wǎng)關(guān)服務(wù)器110可以被配置成向例如云服務(wù)102上傳經(jīng)加密的塊,在那里,它 們可以被存儲(chǔ)在共享存儲(chǔ)器中。網(wǎng)關(guān)服務(wù)器還可以向云服務(wù)102上傳密鑰服務(wù)器模塊705、 映射器模塊722a以及縮小器模塊722b。
[0053] 作業(yè)跟蹤器被配置成協(xié)調(diào)數(shù)據(jù)處理作業(yè)。作業(yè)跟蹤器被配置成將處理作業(yè)放置到 內(nèi)部隊(duì)列中。作業(yè)調(diào)度器被配置成檢索處理作業(yè),并初始化它。然后,作業(yè)調(diào)度器可以從共 享存儲(chǔ)器中檢索經(jīng)加密的數(shù)據(jù)塊,并為每一個(gè)拆分(塊)創(chuàng)建一個(gè)映射。然后,任務(wù)跟蹤器 可以調(diào)度作業(yè)被拆分成的任務(wù)。作業(yè)調(diào)度器嘗試在數(shù)據(jù)塊駐留的相同節(jié)點(diǎn)上運(yùn)行任務(wù)。換 言之,作業(yè)調(diào)度器嘗試使用存儲(chǔ)數(shù)據(jù)拆分的云存儲(chǔ)設(shè)備本地的云服務(wù)器來運(yùn)行任務(wù)。
[0054] 在數(shù)據(jù)拆分節(jié)點(diǎn)上,例如,云服務(wù)器120a,任務(wù)跟蹤器創(chuàng)建運(yùn)行映射或縮小任務(wù)的 任務(wù)運(yùn)行器的實(shí)例。任務(wù)運(yùn)行器在受信任執(zhí)行環(huán)境中啟動(dòng)任務(wù)。在第一次啟動(dòng)時(shí),映射或縮 小任務(wù)證實(shí)密鑰服務(wù)器,檢索用于數(shù)據(jù)拆分,用于寫入中間結(jié)果以及用于對(duì)其節(jié)點(diǎn)或HDFS 審核的密碼密鑰。映射或縮小應(yīng)用從HDFS讀取與拆分相關(guān)聯(lián)的經(jīng)加密的數(shù)據(jù)。然后,受信 任的執(zhí)行環(huán)境中的映射或縮小任務(wù)利用從密鑰服務(wù)器模塊檢索到的塊密鑰,來解密數(shù)據(jù), 對(duì)明碼(即,經(jīng)解密的)數(shù)據(jù)執(zhí)行數(shù)據(jù)處理應(yīng)用。然后,映射或縮小任務(wù)對(duì)中間結(jié)果進(jìn)行加 密,并將經(jīng)加密的中間結(jié)果寫入到本地云存儲(chǔ)設(shè)備,例如,硬盤驅(qū)動(dòng)器。
[0055] 然后,遠(yuǎn)程結(jié)果讀取器可以使用Hadoop客戶機(jī)應(yīng)用,從HDFS中讀取經(jīng)加密的結(jié) 果。然后,結(jié)果讀取器可以證實(shí)密鑰服務(wù)器模塊,并檢索用于解密和/或?qū)徍藬?shù)據(jù)的密鑰。
[0056] 參考圖7,示出了映射-縮小處理的映射階段704和縮小階段706。密鑰服務(wù)器模 塊705、映射器722a、縮小器722b和編解碼器與io格式化器724a,724b可以由例如RKM服 務(wù)器111簽名,并由網(wǎng)關(guān)服務(wù)器110上傳到云服務(wù)器120a,如此處所描述的。然后,受信任 的執(zhí)行模塊TEE702可以包括密鑰服務(wù)器模塊705。密鑰服務(wù)器模塊705被配置成管理映 射器722a和縮小器722b的密碼密鑰,如此處所描述的。TEE702可以被配置成在啟動(dòng)密 鑰服務(wù)器模塊705之前驗(yàn)證密鑰服務(wù)器模塊705,如此處所描述的。任務(wù)跟蹤器720a、720b 可以被配置成啟動(dòng)TEE710a、710b并開始它們的相應(yīng)的任務(wù)。例如,TEE710a可以被配 置成驗(yàn)證映射器722a,編解碼器與io格式化器724a,TEE710b可以被配置成驗(yàn)證縮小器 722b,編解碼器與io格式化器724b,如此處所描述的。映射器722a,編解碼器與io格式化 器724a,縮小器722b和/或編解碼器&io格式化器724b可以被配置成證實(shí)密鑰服務(wù)器模 塊705,如此處所描述的。然后,密鑰服務(wù)器模塊705可以被配置成在密鑰服務(wù)器模塊705 和映射器722a和縮小器722b之間建立安全通信信道。
[0057] 然后,映射器722a和縮小器722b可以被配置成使用這些安全信道從密鑰服務(wù)器 模塊705檢索密碼密鑰,如此處所描述的。數(shù)據(jù)節(jié)點(diǎn)守護(hù)進(jìn)程(daemon) 726a被配置成從 經(jīng)加密的HDFS文件塊730讀取經(jīng)加密的數(shù)據(jù),并將經(jīng)加密的塊提供到TEE710a和映射器 722a,其中可以使用來自密鑰服務(wù)器模塊705的密鑰來解密這些塊,處理它們,還使用來自 密鑰服務(wù)器模塊705的密鑰,對(duì)中間結(jié)果進(jìn)行加密。然后,可以將經(jīng)加密的中間結(jié)果寫入到 本地文件系統(tǒng)732。然后,可以由攪亂進(jìn)程734進(jìn)一步處理經(jīng)加密的中間結(jié)果,攪亂進(jìn)程734 被配置成處理經(jīng)加密的數(shù)據(jù)。然后,可以將攪亂的經(jīng)加密的數(shù)據(jù)提供到縮小階段706,具體 而言,TEE710b和縮小器722b,其中可以使用來自密鑰服務(wù)器模塊705的密鑰來解密那些 塊,處理它們,還使用來自密鑰服務(wù)器模塊705的密鑰,對(duì)結(jié)果進(jìn)行加密。然后,可以由數(shù)據(jù) 節(jié)點(diǎn)守護(hù)進(jìn)程726b將經(jīng)加密的結(jié)果寫入到HDSF736。
[0058] 如此,使用Hadoop示例來說明,對(duì)通過非安全和/或不受信任的的信道移動(dòng)的數(shù) 據(jù)進(jìn)行加密??梢詫?duì)密鑰服務(wù)器模塊和數(shù)據(jù)處理模塊(例如,映射器和縮小器)進(jìn)行簽名, 上傳,并可以在受信任的執(zhí)行環(huán)境中驗(yàn)證??梢詮姆前踩鎯?chǔ)器中檢索數(shù)據(jù),并在受信任 的執(zhí)行環(huán)境中對(duì)其進(jìn)行解密并處理。然后,可以對(duì)結(jié)果進(jìn)行加密,供存儲(chǔ),或返回到非安全 存儲(chǔ)器??蛻魴C(jī),例如,RKM服務(wù)器111,可以保持對(duì)密鑰的控制,可以在密鑰服務(wù)器模塊被 允許執(zhí)行和/或給任何數(shù)據(jù)處理模塊提供密碼密鑰之前給其提供證實(shí)。如此,通過加密,來 保護(hù)客戶機(jī)數(shù)據(jù),因此,其更安全,不太容易受到云服務(wù)的其他用戶和/或云服務(wù)本身的破 壞。
[0059] 盡管圖4到6示出了根據(jù)一實(shí)施例的各種操作,但是,可以理解,并非圖4至6中 所描繪的所有操作都是其他實(shí)施例所必需的。實(shí)際上,此處完全設(shè)想,在本發(fā)明的其他實(shí)施 例中,圖2至6中所描繪的操作和/或此處所描述的其他操作可以以在附圖中的任何一個(gè) 中沒有專門示出的,但是仍完全符合本發(fā)明的方式組合。如此,涉及未正好在一個(gè)附圖中示 出的特征和/或操作的權(quán)利要求被視為在本發(fā)明的范圍和內(nèi)容內(nèi)。
[0060] 此處所描述的任何操作都可在包括一個(gè)或多個(gè)存儲(chǔ)介質(zhì)的系統(tǒng)中實(shí)現(xiàn),一個(gè)或多 個(gè)存儲(chǔ)介質(zhì)上單獨(dú)或組合地存儲(chǔ)有指令,該指令在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)執(zhí)行這些方 法。這里,處理器可以包括,例如,服務(wù)器CPU和/或其他可編程電路。此外,此處所描述的操 作還可以跨多個(gè)物理設(shè)備(諸如一個(gè)以上的不同的物理位置處的處理結(jié)構(gòu))分發(fā)。該存儲(chǔ) 介質(zhì)可包括任何類型的有形介質(zhì),例如包括硬盤、軟盤、光盤、緊致盤只讀存儲(chǔ)器(CD-ROM)、 可重寫緊致盤(⑶-RW)以及磁光盤的任何類型的盤;諸如只讀存儲(chǔ)器(ROM)、諸如動(dòng)態(tài)和靜 態(tài)RAM之類的隨機(jī)存取存儲(chǔ)器(RAM)、可擦可編程只讀存儲(chǔ)器(EPROM)、電可擦可編程只讀 存儲(chǔ)器(EEPROM)、閃存、固體盤(SSD)之類的半導(dǎo)體器件;磁卡或光卡;或適合于存儲(chǔ)電子 指令的任何類型的介質(zhì)。其他實(shí)施例可以實(shí)現(xiàn)為由可編程控制設(shè)備執(zhí)行的軟件模塊。存儲(chǔ) 介質(zhì)可以是非瞬時(shí)的。
[0061] 使用各種通信協(xié)議,網(wǎng)關(guān)服務(wù)器110可以被配置成與網(wǎng)絡(luò)106a以及106n,RKM 服務(wù)器111,計(jì)算設(shè)備112a,..,112n,客戶機(jī)數(shù)據(jù)存儲(chǔ)器113,客戶機(jī)系統(tǒng)104b,..., 104m和/或云服務(wù)102進(jìn)行通信,云服務(wù)器120a,...,120m可以被配置成與網(wǎng)絡(luò)106b 以及106c,云存儲(chǔ)設(shè)備122a,. . .,122n和/或服務(wù)器存儲(chǔ)系統(tǒng)108b,. . .,108n進(jìn) 行通信。通信協(xié)議可以包括,但不僅限于,無線通信協(xié)議,諸如Wi-Fi、3G、4G和/或 其他通信協(xié)議。Wi-Fi協(xié)議可以符合由電氣電子工程師學(xué)會(huì)(IEEE)于2007年3月 8 日發(fā)布的標(biāo)題為"IEEE802.ll_2007Standard,IEEEStandardforInformation Technology-TelecommunicationsandInformationExchangeBetweenSystems-Local andMetropolitanAreaNetworks-SpecificRequirements-Part11:WirelessLAN MediumAccessControl(MAC)andPhysicalLayer(PHY)Specifications"的802. 11 標(biāo)準(zhǔn), 和/或此標(biāo)準(zhǔn)的更高版本,或與它們兼容。
[0062] 3G協(xié)議可以符合由國際電信聯(lián)盟(ITU)于2000年發(fā)布的標(biāo)題為"頂T-2000"的國 際移動(dòng)電信(MT)標(biāo)準(zhǔn),和/或此標(biāo)準(zhǔn)的更高版本或與它們兼容。4G協(xié)議可以符合由ITU 于2008發(fā)布的標(biāo)題為"頂T-Advanced"的頂T標(biāo)準(zhǔn),和/或此標(biāo)準(zhǔn)的更高版本,或與它們兼 容。
[0063] 例如,網(wǎng)絡(luò)106a,...,106n可以包括分組交換網(wǎng)絡(luò)。使用選擇的分組交換網(wǎng)絡(luò) 通信協(xié)議,網(wǎng)關(guān)服務(wù)器110可以被配置成與網(wǎng)絡(luò)l〇6a以及106n,RKM服務(wù)器111,計(jì)算設(shè) 備112a,. .,112n,客戶機(jī)數(shù)據(jù)存儲(chǔ)器113,客戶機(jī)系統(tǒng)104b,. . .,104m和/或云服務(wù)102 進(jìn)行通信,云服務(wù)器120a,...,120m可以被配置成與網(wǎng)絡(luò)106b以及106c,云存儲(chǔ)設(shè)備 122a,. . .,122n和/或服務(wù)器存儲(chǔ)系統(tǒng)108b,. . .,108n進(jìn)行通信。一個(gè)示例性通信協(xié)議可 以包括可以能夠允許使用傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)進(jìn)行通信的以太網(wǎng)通信協(xié)議。 以太網(wǎng)協(xié)議可以符合由電氣電子工程師學(xué)會(huì)(IEEE)于2002年3月發(fā)布的標(biāo)題為"IEEE 802. 3標(biāo)準(zhǔn)"和/或此標(biāo)準(zhǔn)的更高版本或與它們兼容。另選地或另外地,使用X. 25通信協(xié)議, 網(wǎng)關(guān)服務(wù)器110可以被配置成與網(wǎng)絡(luò)l〇6a以及106n,RKM服務(wù)器111,計(jì)算設(shè)備112a,.., 112n,客戶機(jī)數(shù)據(jù)存儲(chǔ)器113,客戶機(jī)系統(tǒng)104b,...,104m和/或云服務(wù)102進(jìn)行通信,云 服務(wù)器120a,...,120m可以被配置成與網(wǎng)絡(luò)106b以及106c,云存儲(chǔ)設(shè)備122a,...,122n 和/或服務(wù)器存儲(chǔ)系統(tǒng)l〇8b,. . .,108n進(jìn)行通信。X. 25通信協(xié)議可以符合由國際電信聯(lián) 盟-電信標(biāo)準(zhǔn)化部門(ITU-T)發(fā)布的標(biāo)準(zhǔn)或與