改善聚合數(shù)據(jù)的抗篡改性的制作方法
【技術(shù)領(lǐng)域】
[0001]本文中所描述的各實(shí)施例一般涉及系統(tǒng)管理,具體而言,涉及用于改善企業(yè)管理解決方案中的聚合數(shù)據(jù)(aggregated data)的抗篡改性的技術(shù)。
【背景技術(shù)】
[0002]系統(tǒng)管理行業(yè)正在包括新的能力,其中,對等(peer-to-peer)聯(lián)網(wǎng)允許對企業(yè)環(huán)境進(jìn)行接近于實(shí)時的分析。該能力是可縮放的,因?yàn)橄啾让恳粋€端點(diǎn)都與共同的服務(wù)器建立點(diǎn)到點(diǎn)連接,能以對等方式來聚合數(shù)據(jù)。例如,如果信息技術(shù)(IT)希望理解存在應(yīng)用的每個版本的多少實(shí)例,則可以在一組對等設(shè)備(peer)之間傳遞數(shù)據(jù)有效載荷,并且當(dāng)客戶端評估所述客戶端具有的版本時,所述客戶端可以簡單地遞增計(jì)數(shù)器,并將經(jīng)更新的有效載荷傳遞到下一客戶端。
[0003]然而,如果鏈中的任何客戶端經(jīng)破解,則那個客戶端可篡改結(jié)果,并且使收集到的數(shù)據(jù)的值無效。鏈中的每一個客戶端代理都具有啟封、更新以及重新密封聚合數(shù)據(jù)有效載荷的能力。
[0004]減輕任何單個的客戶端對總的結(jié)果造成的損壞并同時維持對等數(shù)據(jù)聚合能力所允許的效率的方式將是有利的。
【附圖說明】
[0005]圖1是示出現(xiàn)有技術(shù)對等系統(tǒng)的框圖。
[0006]圖2是示出根據(jù)一個實(shí)施例的、用于改善聚合數(shù)據(jù)的抗篡改性的系統(tǒng)的框圖。
[0007]圖3是示出可編程設(shè)備的框圖,在所述可編程設(shè)備上實(shí)現(xiàn)了根據(jù)一個實(shí)施例的、用于改善抗篡改性的技術(shù)。
[0008]圖4是示出根據(jù)一個實(shí)施例的、用于改善聚合數(shù)據(jù)的抗篡改性的技術(shù)的流程圖。
[0009]圖5是示出根據(jù)一個實(shí)施例的、用于在受信任的環(huán)境中聚合數(shù)據(jù)的技術(shù)的流程圖。
【具體實(shí)施方式】
[0010]在下面的描述中,為了進(jìn)行解釋,闡述了許多特定的細(xì)節(jié)以提供對本發(fā)明的透徹理解。然而,對本領(lǐng)域技術(shù)人員將顯而易見的是,在沒有這些特定細(xì)節(jié)的情況下也可實(shí)施本發(fā)明。在其他實(shí)例中,以框圖形式示出結(jié)構(gòu)和設(shè)備,以避免使本發(fā)明變得模糊。對不具有下標(biāo)或后綴的編號的引用理解為引用對應(yīng)于所引用編號的下標(biāo)和后綴的全部實(shí)例。此外,已出于可讀性和指導(dǎo)性目的大致上選擇了本公開中所使用的語言,并且可能未選擇這些語言來描繪或限定發(fā)明主題,借助于確定此類發(fā)明主題所必需的權(quán)利要求書。說明書中對〃一個實(shí)施例"或"實(shí)施例"等的引用意味著結(jié)合該實(shí)施例所描述的特定的特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個實(shí)施例中,并且對〃一個實(shí)施例〃或〃實(shí)施例〃的多個引用不應(yīng)該被理解為一定都引用同一個實(shí)施例。
[0011]如本文中所使用的,術(shù)語“可編程設(shè)備”可以是指單個的可編程設(shè)備或一起工作以執(zhí)行描述為在可編程設(shè)備上執(zhí)行或由可編程設(shè)備執(zhí)行的功能的多個可編程設(shè)備。可編程設(shè)備可以是任何類型的可編程設(shè)備,包括臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器以及移動設(shè)備,包括包含嵌入式計(jì)算能力的設(shè)備。
[0012]如本文中所使用的,“受信任的環(huán)境”是平臺上能夠僅執(zhí)行受信任的代碼的被隔離的執(zhí)行環(huán)境。受信任的環(huán)境常??梢栽趯⒚荑€提供到環(huán)境中之前證實(shí)(或證明)它是受信任的環(huán)境的實(shí)例。受信任的環(huán)境的示例可以在協(xié)處理器或次級核上實(shí)現(xiàn),或?qū)崿F(xiàn)為平臺架構(gòu)的部分,諸如,利用經(jīng)證實(shí)的虛擬機(jī)管理器或類似于信任區(qū)域的能力?!安皇苄湃蔚沫h(huán)境”為不是受信任的環(huán)境的任何環(huán)境。
[0013]用于在可編程設(shè)備之間進(jìn)行通信的技術(shù)和裝置的細(xì)節(jié)與本公開不相關(guān),并且可以使用任何所需的通信技術(shù),但是設(shè)備最常使用TCP/IP協(xié)議來進(jìn)行通信。雖然下列描述在對等通信方面來撰寫,但是,實(shí)現(xiàn)不限于傳統(tǒng)的對等聯(lián)網(wǎng)技術(shù),而是可以使用用于在可編程設(shè)備之間進(jìn)行通信的任何聯(lián)網(wǎng)或通信技術(shù)來實(shí)現(xiàn)。雖然在附圖中示出為并且在本文中描述為可編程設(shè)備的鏈(每一個可編程設(shè)備都將聚合數(shù)據(jù)繼續(xù)傳遞到單個的后繼可編程設(shè)備)但是,實(shí)現(xiàn)可以使用一對多、多對一以及多對多技術(shù),以便使用有線或無線技術(shù),利用在可編程設(shè)備之間的任何所需的連接性來將聚合數(shù)據(jù)從一個可編程設(shè)備傳遞到一個或多個后繼可編程設(shè)備。
[0014]對等數(shù)據(jù)聚合的常規(guī)實(shí)現(xiàn)是完全基于軟件的,并且無法限制由聚合數(shù)據(jù)的路徑中的甚至單個經(jīng)破解的客戶端對聚合數(shù)據(jù)的影響。常規(guī)的系統(tǒng)可以使用數(shù)字簽名技術(shù)來檢測被傳輸?shù)臄?shù)據(jù)的直接損壞,它們不能檢測由具有啟封經(jīng)簽名的數(shù)據(jù),損壞底層的數(shù)據(jù)有效載荷,并對被損壞的數(shù)據(jù)重新簽名的能力的設(shè)備對數(shù)據(jù)造成的損壞。雖然非聚合數(shù)據(jù)可以單獨(dú)地由源供應(yīng)設(shè)備簽名,但是比使用聚合方法更低效,并且增加了圍繞網(wǎng)絡(luò)傳遞的數(shù)據(jù)量。另外,常規(guī)的技術(shù)不能檢測或防止一個設(shè)備被多次使用。
[0015]圖1是示出根據(jù)現(xiàn)有技術(shù)的、在聚合過程中由一個設(shè)備創(chuàng)建的被損壞的數(shù)據(jù)聚合的示例的框圖。在此示例中被聚合數(shù)據(jù)是對查詢的響應(yīng),所述查詢關(guān)于特定的應(yīng)用(在此示例中,ΑΡΡ.ΕΧΕ)的什么版本在網(wǎng)絡(luò)100中的設(shè)備上是可用的。在此示例中,服務(wù)器110收集由客戶端120-150創(chuàng)建的聚合數(shù)據(jù),可編程設(shè)備120-150中的每一個都從它們的相應(yīng)的前驅(qū)設(shè)備(predecessor)接收對查詢的聚合響應(yīng),利用本地響應(yīng)來更新聚合數(shù)據(jù),隨后將聚合數(shù)據(jù)繼續(xù)傳遞到它們相應(yīng)的后繼設(shè)備(successor)(另一客戶端130-150或服務(wù)器110)。如由圖1所指示,可編程設(shè)備可以是不同類型的可編程設(shè)備。
[0016]為了使本示例清楚,任意地選擇查詢和響應(yīng)數(shù)據(jù)的格式,并且可以根據(jù)需要來使用任何查詢和響應(yīng)格式,包括經(jīng)二進(jìn)制編碼的數(shù)據(jù)。在此示例中,可編程設(shè)備120更新聚合數(shù)據(jù)以示出:具有234個版本3.25的實(shí)例,199個版本3.00的實(shí)例;以及5個版本1.00的實(shí)例。此類軟件版本的多樣性在大型企業(yè)中是常見的。在將其本地?cái)?shù)據(jù)聚合到查詢響應(yīng)中之后,可編程設(shè)備120將聚合數(shù)據(jù)傳遞或轉(zhuǎn)發(fā)到可編程設(shè)備130。
[0017]可編程設(shè)備130已經(jīng)被惡意軟件破解。與將從可編程設(shè)備120接收到的數(shù)據(jù)與對查詢的本地響應(yīng)聚合相反,可編程設(shè)備120破壞數(shù)據(jù),將版本3.25的值從234減小到9;將版本3.00的值從199減小到1 ;并且將版本1.00的值增加到898。隨后,經(jīng)破解的可編程設(shè)備130將損壞的聚合數(shù)據(jù)繼續(xù)傳遞到可編程設(shè)備140,該可編程設(shè)備140不能檢測損壞??删幊淘O(shè)備140以本地?cái)?shù)據(jù)來遞增所存儲的值,從而指示了對于版本3.25的聚合計(jì)數(shù)10;對于版本3.00的聚合計(jì)數(shù)1;以及對于版本1.00的聚合計(jì)數(shù)898。隨后,可編程設(shè)備130將聚合數(shù)據(jù)傳遞到可編程設(shè)備150,該可編程設(shè)備150在將聚合數(shù)據(jù)轉(zhuǎn)發(fā)到服務(wù)器110以進(jìn)行分析和可能的動作之前,聚合對應(yīng)于查詢的、其自身的本地?cái)?shù)據(jù)。
[0018]此示例中的聚合數(shù)據(jù)是簡單的查詢響應(yīng),但是能以任何所需的格式來使用任何數(shù)據(jù)。通常,聚合數(shù)據(jù)受保護(hù)以避免聚合數(shù)據(jù)的意外的或蓄意的損壞??梢允褂糜糜诒Wo(hù)數(shù)據(jù)的任何技術(shù),包括加密、數(shù)字簽名,等等。在一個實(shí)施例中,數(shù)據(jù)有效載荷不受保護(hù)。下列描述針對使用數(shù)字簽名來密封數(shù)據(jù)有效載荷的實(shí)現(xiàn)來撰寫。
[0019]在一個實(shí)施例中,可編程設(shè)備120-150中的每一個都從其前驅(qū)設(shè)備接收數(shù)據(jù),認(rèn)證數(shù)據(jù)中所包含的數(shù)字簽名,更新數(shù)據(jù),并隨后使用數(shù)字簽名來對聚合數(shù)據(jù)重新簽名。簽名的性質(zhì)在本公開的范圍之外,并且可以使用允許認(rèn)證經(jīng)數(shù)字簽名的聚合數(shù)據(jù)的任何類型的數(shù)字簽名。在數(shù)據(jù)經(jīng)加密的情況下,可編程設(shè)備解密數(shù)據(jù),聚合本地?cái)?shù)據(jù),并且加密聚合數(shù)據(jù)供進(jìn)一步的傳輸。
[0020]由于可編程設(shè)備130的不可檢測的損壞,即便稍后的或后繼的可編程設(shè)備以它們正確的本地?cái)?shù)據(jù)正確地聚合了聚合數(shù)據(jù),聚合數(shù)據(jù)也變得無意義。即使服務(wù)器110能夠通過內(nèi)容分析來檢測到聚合數(shù)據(jù)可能被損壞,服務(wù)器110也將無從確定圖1中所示的鏈中的可編程設(shè)備中的哪一個損壞了數(shù)據(jù)。
[0021]通過將對數(shù)據(jù)的聚合從不受信任的環(huán)境移動到受信任的環(huán)境中,可以使聚合數(shù)據(jù)更具抗篡改性。圖2示出設(shè)備的受信任的環(huán)境從前驅(qū)設(shè)備接收聚合數(shù)據(jù)并在本地生成將與接收到的聚合數(shù)據(jù)相聚合的數(shù)據(jù)的實(shí)施例。受信任的環(huán)境對數(shù)據(jù)聚合,并且傳遞聚合數(shù)據(jù)以遞送到后繼設(shè)備。
[0022]在此示例中,由設(shè)備210從前驅(qū)設(shè)備接收聚合數(shù)據(jù)有效載荷200。在一個實(shí)施例中,具有與本公開相關(guān)的聚合數(shù)據(jù)有效載荷200的三個部分:數(shù)字簽名202、查詢和結(jié)果部分204以及任選的多聚合重放列表206,下面將描述其中的每一個。在另一實(shí)施例中,前驅(qū)設(shè)備的聚合數(shù)據(jù)經(jīng)加密且沒有數(shù)字簽名,并且有效載荷經(jīng)解密,聚合,并且隨后再次經(jīng)加密。各實(shí)施例可以既對聚合數(shù)據(jù)進(jìn)行數(shù)字簽名,又加密聚合數(shù)據(jù)。在下文中,啟封前驅(qū)設(shè)備的聚合數(shù)據(jù)被定義為:認(rèn)證數(shù)字簽名;解密經(jīng)加密的數(shù)據(jù);或者以上兩者;類似地,重新密封后繼設(shè)備的聚合數(shù)據(jù)被定義為:對數(shù)據(jù)進(jìn)行數(shù)字簽名;加密數(shù)據(jù);或者以上兩者。
[0023]設(shè)備210包括受信任的環(huán)境220和不受信任的環(huán)境230兩者。通常,不受信任的環(huán)境是運(yùn)行不受信任的應(yīng)用軟件的操作系統(tǒng)環(huán)境,而受信任的環(huán)境是僅被允許執(zhí)行預(yù)先批準(zhǔn)的功能的安全的環(huán)境。不受信任的環(huán)境可包括操作系統(tǒng)以及能夠產(chǎn)生與對聚合數(shù)據(jù)有效載荷200的查詢相關(guān)的本地?cái)?shù)據(jù)的本地代理軟件。
[0024]設(shè)備210的不受信任的環(huán)境230從前驅(qū)可編程設(shè)備接收經(jīng)簽名的聚合數(shù)據(jù)有效載荷200,并且將有效載荷傳遞到受信任的環(huán)境220。在一個實(shí)施例中,不受信任的環(huán)境230能夠啟封聚合數(shù)據(jù)有效載荷200的至少部分以確定應(yīng)當(dāng)被添加到聚合數(shù)據(jù)的本地?cái)?shù)據(jù)240。在其他實(shí)施例中,不受信任的環(huán)境230不能啟封聚合數(shù)據(jù)有效載荷200,但是可以識別有效載荷200并將它傳遞到受信任的環(huán)境220。在此類實(shí)施例中,受信任的環(huán)境220可以請求不受信任的環(huán)境230中的本地代理生成本地?cái)?shù)據(jù)并將本地?cái)?shù)據(jù)提供給受信任的環(huán)境220。
[0025]一旦受信任的環(huán)境220具有聚合數(shù)據(jù)有效載荷200以及將與有效載荷200聚合的本地?cái)?shù)據(jù)240,受信任的環(huán)境220就啟封聚合數(shù)據(jù)有效載荷200,將本地?cái)?shù)據(jù)與前驅(qū)設(shè)備的聚合數(shù)據(jù)聚合以產(chǎn)生輸出聚合數(shù)據(jù)有效載荷250,并且隨后重新密封輸出聚合數(shù)據(jù)有效載荷250并將它傳遞到不受信任的環(huán)境230以遞送到后繼設(shè)備,該后繼設(shè)備可以是將本地?cái)?shù)據(jù)添加至聚合的另一設(shè)備或者能夠啟封聚合數(shù)據(jù)有效載荷并提取聚合數(shù)據(jù)用于其所期望用途的收集器(諸如,服務(wù)器110)。
[0026]在一些實(shí)施例中,受信任的環(huán)境220可以在沒有不受信任的環(huán)境230干預(yù)的情況下直接獲取前驅(qū)設(shè)備的聚合數(shù)據(jù)有效載荷200,或直接傳輸輸出聚合數(shù)據(jù)有效載荷250