安全的多方云計(jì)算的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】[0001]
[0002] 本發(fā)明一般涉及多方云計(jì)算。更具體地,本發(fā)明涉及在多方云計(jì)算中保證數(shù)據(jù)安 全的方法和系統(tǒng)。
[0003] 相關(guān)摶術(shù)
[0004] 近幾年,云計(jì)算受到越來(lái)越多企業(yè)用戶和個(gè)人用戶的青睞。在理想的情況下,通 過(guò)將大量的物理計(jì)算資源虛擬化并將其整合,云計(jì)算可提供幾乎無(wú)限的計(jì)算能力和存儲(chǔ)空 間。不斷增長(zhǎng)的存儲(chǔ)能力和低管理成本需求,吸引個(gè)人和企業(yè)將其數(shù)據(jù)存儲(chǔ)外包到云。但 是,出于安全考慮,云計(jì)算外包仍然是一個(gè)挑戰(zhàn)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供了一種進(jìn)行安全的多方云計(jì)算的系統(tǒng)。運(yùn)行時(shí),所述系統(tǒng)從多 個(gè)客戶端中接收多個(gè)加密的數(shù)據(jù)集。與客戶端相關(guān)聯(lián)的加密數(shù)據(jù)集是使用唯一的、客戶端 特定的加密密鑰加密相應(yīng)的明文數(shù)據(jù)集而形成的。所述系統(tǒng)將多個(gè)加密數(shù)據(jù)集重加密成目 標(biāo)格式,基于所述重加密后的多個(gè)數(shù)據(jù)集對(duì)函數(shù)進(jìn)行求值以獲得求值結(jié)果,并將所述求值 結(jié)果發(fā)送給所述多個(gè)客戶端,所述多個(gè)客戶端用于合作解密所述求值結(jié)果,以獲得明文求 值結(jié)果。在此實(shí)施例的另一種形式中,將所述多個(gè)加密數(shù)據(jù)集進(jìn)行重加密涉及同態(tài)加密方 案。
[0006] 在此實(shí)施例的另一種形式中,所述系統(tǒng)接收一組重加密密鑰,并使用與所述客戶 端相對(duì)應(yīng)的特定重加密密鑰重加密與所述客戶端相關(guān)聯(lián)的所述加密數(shù)據(jù)集。
[0007] 在此實(shí)施例的又一種形式中,所述客戶端特定的加密密鑰是從公/私密鑰對(duì)中選 出的公鑰,所述與客戶端相對(duì)應(yīng)的重加密密鑰是使用從所述公/私密鑰對(duì)中選出的私鑰和 可信第三方發(fā)布的目標(biāo)公鑰而生成的。
[0008] 在此實(shí)施例的又一種形式中,所述目標(biāo)公鑰對(duì)應(yīng)于目標(biāo)私鑰,并且每個(gè)客戶端接 收所述目標(biāo)私鑰的一部分。
[0009] 在此實(shí)施例的又一種形式中,所述多個(gè)客戶端用于使用各自的目標(biāo)私鑰部分合作 對(duì)求值結(jié)果進(jìn)行解密。
[0010] 此實(shí)施例的另一種形式中,所述函數(shù)包含乘法和/或加法。
[0011] 本發(fā)明實(shí)施例提供了一種執(zhí)行安全的多方云計(jì)算的系統(tǒng)。運(yùn)行時(shí),云計(jì)算系統(tǒng)的 客戶端使用唯一的加密密鑰從明文數(shù)據(jù)集中獲得加密數(shù)據(jù)集,將所述加密數(shù)據(jù)集存儲(chǔ)到云 計(jì)算系統(tǒng)中,生成重加密密鑰,并把所述重加密密鑰發(fā)送到云計(jì)算系統(tǒng),從而使得云計(jì)算系 統(tǒng)能夠?qū)亩鄠€(gè)客戶端中接收到的多個(gè)加密數(shù)據(jù)集進(jìn)行重加密,并基于所述多個(gè)重加密數(shù) 據(jù)集生成函數(shù)的求值結(jié)果。所述客戶端還從云計(jì)算系統(tǒng)接收所述求值結(jié)果,并與其他客戶 端合作解密所述求值結(jié)果以獲得明文求值結(jié)果。
[0012] 此實(shí)施例的另一種形式中,所述唯一的加密密鑰為從公/私密鑰對(duì)中選出的公 鑰。
[0013] 此實(shí)施例的又一種形式中,所述客戶端從所述可信第三方接收對(duì)應(yīng)所述目標(biāo)公鑰 的目標(biāo)私鑰的一部分。
[0014] 此實(shí)施例的另一種形式中,所述客戶端通過(guò)以下步驟,與其他客戶端合作解密所 述求值結(jié)果:對(duì)一部分解密結(jié)果進(jìn)行計(jì)算,從所述其他客戶端接收解密結(jié)果部分,并基于計(jì) 算出的部分和從所述其他客戶端接收到的部分,計(jì)算所述明文求值結(jié)果。
[0015] 此實(shí)施例的另一種形式中,所述函數(shù)包含乘法和/或加法。
[0016] 此實(shí)施例的另一種形式中,所述重加密密鑰為同態(tài)加密密鑰。
【附圖說(shuō)明】
[0017] 圖1示出了根據(jù)本發(fā)明實(shí)施例的一種執(zhí)行安全的多方云計(jì)算(MCC)的較佳系統(tǒng)。
[0018] 圖2為根據(jù)本發(fā)明實(shí)施例的較佳的安全MCC過(guò)程的時(shí)空?qǐng)D。
[0019] 圖3示出了根據(jù)本發(fā)明實(shí)施例的一種由客戶端執(zhí)行的較佳安全MCC過(guò)程。
[0020] 圖4示出了根據(jù)本發(fā)明實(shí)施例的一種在云端執(zhí)行的較佳安全MCC過(guò)程。
[0021] 圖5示出了根據(jù)本發(fā)明實(shí)施例的一種執(zhí)行安全MCC的較佳計(jì)算機(jī)系統(tǒng)。
【具體實(shí)施方式】
[0022] 為使本領(lǐng)域任何技術(shù)人員能夠?qū)嵤┎⑹褂帽景l(fā)明實(shí)施例,下面針對(duì)特定應(yīng)用和要 求進(jìn)行了說(shuō)明。對(duì)所公開的實(shí)施例的修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)是顯而易見(jiàn)的,本 文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,可適用于其它實(shí)施 例。因此,本發(fā)明不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和 特點(diǎn)相一致的最寬的范圍。
[0023]
[0024] 本發(fā)明的實(shí)施例提供一種在多方云計(jì)算(MCC)中保證數(shù)據(jù)安全的方法和系統(tǒng)。 MCC是一種云計(jì)算,云通過(guò)使用來(lái)自多個(gè)數(shù)據(jù)所有者的數(shù)據(jù)進(jìn)行計(jì)算。數(shù)據(jù)所有權(quán)的不同 使得維護(hù)所有者之間和云上的數(shù)據(jù)隱私面臨挑戰(zhàn)。在安全MCC系統(tǒng)中,多個(gè)客戶端將其自 行加密的數(shù)據(jù)存儲(chǔ)到云端,并基于所存儲(chǔ)的數(shù)據(jù),將計(jì)算外包到云。所述系統(tǒng)保證數(shù)據(jù)所有 者的數(shù)據(jù)隱私,且云不會(huì)獲得數(shù)據(jù)信息和計(jì)算結(jié)果。為此,所述系統(tǒng)在云計(jì)算之前轉(zhuǎn)換或重 加密存儲(chǔ)在云端的私有數(shù)據(jù)。更具體地,對(duì)私有數(shù)據(jù)的轉(zhuǎn)換或重加密涉及從可信第三方獲 得的公/私密鑰對(duì)。所述可信第三方生成所述公/私密鑰對(duì),發(fā)布所述公鑰,并將部分所述 私鑰分配給每個(gè)數(shù)據(jù)所有者。數(shù)據(jù)所有者使用所述公鑰及其自有私鑰生成重加密密鑰,其 中,所述私鑰對(duì)應(yīng)所述公鑰,數(shù)據(jù)所有者在將數(shù)據(jù)傳送到云之前,使用所述公鑰對(duì)數(shù)據(jù)進(jìn)行 加密。多個(gè)數(shù)據(jù)所有者生成的重加密密鑰被發(fā)送到云,然后,云使用對(duì)應(yīng)的重加密密鑰對(duì)所 述數(shù)據(jù)所有者的私有數(shù)據(jù)進(jìn)行重加密。隨后,云對(duì)重加密的數(shù)據(jù)進(jìn)行計(jì)算。由于是對(duì)重加 密數(shù)據(jù)進(jìn)行計(jì)算,因此云不會(huì)獲得計(jì)算結(jié)果與私有數(shù)據(jù)間的對(duì)應(yīng)關(guān)系。然后,計(jì)算結(jié)果返回 給數(shù)據(jù)所有者。由于每個(gè)數(shù)據(jù)所有者得到私鑰的一部分,因此需要所有數(shù)據(jù)所有者合作對(duì) 所述結(jié)果進(jìn)行解密。在本發(fā)明中,術(shù)語(yǔ)"云"通常指任意一組能夠?yàn)榻K端用戶提供計(jì)算服務(wù) (例如,計(jì)算、應(yīng)用、數(shù)據(jù)接入、數(shù)據(jù)管理和存儲(chǔ)資源)的聯(lián)網(wǎng)的計(jì)算機(jī)。本發(fā)明不限制云的 類型(例如,公用或私用),也不限制云使用的基本系統(tǒng)架構(gòu)的類型。
[0025] 多方云計(jì)筧(MCC)
[0026] 隨著云的日漸普及,促使個(gè)人和企業(yè)不僅將數(shù)據(jù)存儲(chǔ)也將數(shù)據(jù)計(jì)算外包到云。因 此,有時(shí)云需要使用來(lái)自多個(gè)數(shù)據(jù)所有者的數(shù)據(jù)進(jìn)行計(jì)算,這就引發(fā)了如何維護(hù)數(shù)據(jù)所有 者之間和云上的數(shù)據(jù)隱私問(wèn)題。這個(gè)問(wèn)題被稱為多方云計(jì)算(MCC)。例如,信用局(包括 Equifax、TransUnion和Experian)將大量的消費(fèi)者信用記錄(以加密形式)保存到云。當(dāng) 銀行想要對(duì)特定顧客的信用進(jìn)行評(píng)估時(shí),則銀行需要得到所有三個(gè)信用局的信用評(píng)分的平 均值。為了計(jì)算平均值,云從各個(gè)信用局存儲(chǔ)的數(shù)據(jù)中獲取所述特定顧客的信用記錄,評(píng)估 對(duì)應(yīng)各個(gè)信用局的信用評(píng)分,并計(jì)算平均值。要注意的是,對(duì)信用評(píng)分的平均值計(jì)算需要銀 行輸入相關(guān)信息(消費(fèi)者的身份信息,例如,社會(huì)保險(xiǎn)號(hào))以及所有三個(gè)信用局輸入相關(guān)信 息(消費(fèi)者的信用歷史及其信用評(píng)分計(jì)算算法)。所述銀行和所述信用局都想保護(hù)他們的 數(shù)據(jù)隱私(例如,一個(gè)信用局不想把自己的信用評(píng)分計(jì)算算法透露給其他信用局或銀行。 另外,雖然銀行和信用局能夠獲得計(jì)算出的平均信用評(píng)分,但這類信息不應(yīng)該存儲(chǔ)到云上。
[0027] 另一個(gè)MCC的例子涉及存儲(chǔ)在云端的醫(yī)療記錄。醫(yī)療服務(wù)提供者(例如醫(yī)生或醫(yī) 院)將病歷(以加密形式)保存到云端。研宄小組希望通過(guò)分析大量病人的癥狀來(lái)判斷某 種疾病的趨勢(shì)。醫(yī)療服務(wù)提供者雖然不情愿把他們的數(shù)據(jù)庫(kù)共享給研宄小組,但會(huì)允許研 宄小組對(duì)他們的數(shù)