一種數(shù)據(jù)共享系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息技術(shù)領(lǐng)域,具體說(shuō)涉及一種數(shù)據(jù)共享方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)技術(shù)的不斷進(jìn)步,云存儲(chǔ)服務(wù)得到了廣泛的應(yīng)用。通過(guò)云存儲(chǔ)服務(wù),用戶 可以很方便地存儲(chǔ)數(shù)據(jù)到遠(yuǎn)程服務(wù)器,并且和其他用戶共享數(shù)據(jù)。云存儲(chǔ)服務(wù)非常強(qiáng)大,但 同時(shí)也帶來(lái)了新的隱私和安全的挑戰(zhàn)。由于用戶上傳數(shù)據(jù)之后,托管到服務(wù)器上,數(shù)據(jù)的控 制權(quán)就不在用戶的掌握中了。因此,數(shù)據(jù)安全性和隱私是云存儲(chǔ)需要解決的關(guān)鍵問(wèn)題。
[0003] 在現(xiàn)有技術(shù)中,實(shí)現(xiàn)云存儲(chǔ)中的數(shù)據(jù)的安全訪問(wèn)控制的手段之一是基于密文策略 的屬性訪問(wèn)控制(Ciphertext policy Attribute-based Access Control)。密文的屬性訪 問(wèn)控制策略包含用戶、數(shù)據(jù)以及密鑰分發(fā)中心三個(gè)部分。其中:
[0004] 用戶:用戶擁有一組屬性值,該屬性由可信第三方授予;
[0005] 數(shù)據(jù):數(shù)據(jù)擁有訪問(wèn)控制策略(指明了具備什么樣的屬性才能解密),該策略由數(shù) 據(jù)提供者決定;
[0006] 密鑰分發(fā)中心:為用戶生成私鑰(對(duì)于不同的用戶和不同的屬性值,公鑰都不相 同),為訪問(wèn)控制策略生成公鑰。
[0007] 在基于密文策略的屬性訪問(wèn)控制中,用戶和屬性集合綁定,用戶的每個(gè)屬性由密 鑰分發(fā)中心分配一個(gè)對(duì)應(yīng)的私鑰。每份密文數(shù)據(jù)被賦予了以樹的形式的訪問(wèn)策略,樹的葉 子節(jié)點(diǎn)是屬性值,樹的中間節(jié)點(diǎn)是門限。
[0008] 設(shè)計(jì)安全訪問(wèn)控制系統(tǒng)的一個(gè)關(guān)鍵問(wèn)題是計(jì)算效率。在一個(gè)大型的存儲(chǔ)系統(tǒng)會(huì)有 海量的用戶和數(shù)據(jù),加密解密操作必須是高效的。對(duì)于解密,用戶會(huì)招致多項(xiàng)式插值和指數(shù) 計(jì)算。然而,乘法和在有限域運(yùn)算耗時(shí)操作。也就是說(shuō),解密的性能整個(gè)系統(tǒng)的瓶頸。由于 該方法的效率低下的解密和不靈活,現(xiàn)有技術(shù)中大部分基于屬性的訪問(wèn)控制方案是不適合 實(shí)現(xiàn)分布式的數(shù)據(jù)共享系統(tǒng)。
[0009] 另外,現(xiàn)有技術(shù)中的屬性加密方法都依賴于一個(gè)可信的密鑰分發(fā)中心,導(dǎo)致整個(gè) 系統(tǒng)的安全性寄托在單個(gè)密鑰分發(fā)中心,如果該密鑰分發(fā)服務(wù)器遭受攻擊,攻擊者掌管了 密鑰分發(fā)過(guò)程,整個(gè)系統(tǒng)的密鑰都會(huì)泄露,數(shù)據(jù)機(jī)密性不能確保。
[0010] 因此,針對(duì)現(xiàn)有技術(shù)中的屬性訪問(wèn)控制方法存在的問(wèn)題,需要一種新的數(shù)據(jù)共享 方法。
【發(fā)明內(nèi)容】
[0011] 針對(duì)現(xiàn)有技術(shù)中的屬性訪問(wèn)控制方法存在的問(wèn)題,本發(fā)明提供了一種數(shù)據(jù)共享方 法,所述方法包括以下步驟:
[0012] 密鑰分發(fā)中心構(gòu)造步驟,采用統(tǒng)一的公共參數(shù)構(gòu)造多個(gè)密鑰分發(fā)中心,每個(gè)所述 密鑰分發(fā)中心對(duì)應(yīng)用戶屬性集合中的一份用戶屬性,不同的所述密鑰分發(fā)中心相互獨(dú)立且 對(duì)應(yīng)的所述用戶屬性不同;
[0013] 屬性公鑰生成步驟,基于所述公共參數(shù)每個(gè)所述密鑰分發(fā)中心生成對(duì)應(yīng)所述用戶 屬性的屬性公鑰;
[0014] 私鑰生成步驟,當(dāng)數(shù)據(jù)訪問(wèn)者加入共享系統(tǒng)時(shí),與所述數(shù)據(jù)訪問(wèn)者的所述用戶屬 性對(duì)應(yīng)的所述密鑰分發(fā)中心基于所述數(shù)據(jù)訪問(wèn)者的所述用戶屬性以及所述公共參數(shù)生成 相應(yīng)的私鑰并將所述私鑰發(fā)送給相應(yīng)的所述數(shù)據(jù)訪問(wèn)者;
[0015] 訪問(wèn)策略構(gòu)造步驟,數(shù)據(jù)共享者根據(jù)被共享數(shù)據(jù)的訪問(wèn)限制需求構(gòu)造訪問(wèn)策略, 從而確定可訪問(wèn)所述被共享數(shù)據(jù)的所述數(shù)據(jù)訪問(wèn)者的所述用戶屬性;
[0016] 加密步驟,利用加密密鑰對(duì)所述被共享數(shù)據(jù)進(jìn)行加密以生成密文;
[0017] 密文公鑰生成步驟,利用可訪問(wèn)所述被共享數(shù)據(jù)的所述數(shù)據(jù)訪問(wèn)者的所述用戶屬 性對(duì)應(yīng)的所述密鑰分發(fā)中心基于所述訪問(wèn)策略以及相應(yīng)的所述屬性公鑰對(duì)所述加密密鑰 加密以生成密文公鑰;
[0018] 解密步驟,基于所述密文公鑰以及符合所述訪問(wèn)策略的所述數(shù)據(jù)訪問(wèn)者的私鑰對(duì) 所述密文進(jìn)行解密。
[0019] 在一實(shí)施例中,在所述密鑰分發(fā)中心構(gòu)造步驟中,利用分布式系統(tǒng)構(gòu)造所述多個(gè) 密鑰分發(fā)中心。
[0020] 在一實(shí)施例中,每個(gè)所述數(shù)據(jù)訪問(wèn)者包含一份或多份不同的所述用戶屬性,在所 述私鑰生成步驟中,基于所述數(shù)據(jù)訪問(wèn)者的所述用戶屬性選取相應(yīng)的一個(gè)或多個(gè)所述密鑰 分發(fā)中心,每個(gè)所述密鑰分發(fā)中心生成相應(yīng)的一個(gè)屬性私鑰,以所有的所述屬性私鑰的集 合作為所述數(shù)據(jù)訪問(wèn)者的私鑰。
[0021] 在一實(shí)施例中,在生成所述屬性私鑰的過(guò)程中,基于所述數(shù)據(jù)訪問(wèn)者的身份生成 相應(yīng)的所述屬性私鑰,不同所述數(shù)據(jù)訪問(wèn)者的同一所述用戶屬性對(duì)應(yīng)的所述屬性私鑰不 同。
[0022] 在一實(shí)施例中,所述方法還包括數(shù)據(jù)訪問(wèn)權(quán)限撤銷步驟,其中:
[0023] 確定需要撤銷的數(shù)據(jù)訪問(wèn)權(quán)限對(duì)應(yīng)的所述用戶屬性并更新所述用戶屬性對(duì)應(yīng)的 所述公共參數(shù);
[0024] 基于更新后的所述公共參數(shù)更新未撤銷數(shù)據(jù)訪問(wèn)權(quán)限的所述數(shù)據(jù)訪問(wèn)者的所述 私鑰中需要撤銷的數(shù)據(jù)訪問(wèn)權(quán)限對(duì)應(yīng)的所述用戶屬性對(duì)應(yīng)的所述屬性私鑰;
[0025] 對(duì)需要撤銷的數(shù)據(jù)訪問(wèn)權(quán)限對(duì)應(yīng)的所述共享數(shù)據(jù)進(jìn)行重新加密以更新所述密文 以及所述密文公鑰。
[0026] 在一實(shí)施例中:
[0027] 在所述密文公鑰生成步驟中,基于編碼矩陣對(duì)所述加密密鑰進(jìn)行加密以生成所述 密文公鑰;
[0028] 在所述解密步驟中,基于解碼方法對(duì)所述密文進(jìn)行解密。
[0029] 本發(fā)明還提出了一種數(shù)據(jù)共享系統(tǒng),所述系統(tǒng)包括多個(gè)密鑰分發(fā)中心、訪問(wèn)策略 構(gòu)造模塊、加密模塊、存儲(chǔ)模塊以及解密模塊,其中:
[0030] 所有的所述密鑰分發(fā)中心采用統(tǒng)一的公共參數(shù),每個(gè)所述密鑰分發(fā)中心對(duì)應(yīng)所述 用戶屬性集合中的一份用戶屬性,不同的所述密鑰分發(fā)中心相互獨(dú)立且對(duì)應(yīng)的所述用戶屬 性不同;
[0031] 所述密鑰分發(fā)中心包含生成所述密鑰分發(fā)中心對(duì)應(yīng)的所述用戶屬性的屬性公鑰 的公鑰生成單元以及生成數(shù)據(jù)訪問(wèn)者的所述用戶屬性對(duì)應(yīng)的私鑰的私鑰生成單元;
[0032] 所述訪問(wèn)策略構(gòu)造模塊用于根據(jù)被共享數(shù)據(jù)的訪問(wèn)限制需求構(gòu)造訪問(wèn)策略,從而 確定可訪問(wèn)所述被共享數(shù)據(jù)的所述數(shù)據(jù)訪問(wèn)者的所述用戶屬性;
[0033] 所述加密模塊用于利用加密密鑰對(duì)所述被共享數(shù)據(jù)進(jìn)行加密以生成密文;
[0034] 所述公鑰生成單元還用于基于所述加密密鑰以及所述訪問(wèn)策略生成并輸出密文 公鑰;
[0035] 所述存儲(chǔ)模塊用于存儲(chǔ)所述密文公鑰、所述訪問(wèn)策略以及所述密文;
[0036] 所述解密模塊用于基于所述密文公鑰、所述訪問(wèn)策略以及符合所述訪問(wèn)策略的所 述數(shù)據(jù)訪問(wèn)者的私鑰對(duì)所述密文進(jìn)行解密。
[0037] 在一實(shí)施例中,所述多個(gè)密鑰分發(fā)中心被構(gòu)造成分布式系統(tǒng)。
[0038] 在一實(shí)施例中,每個(gè)所述數(shù)據(jù)訪問(wèn)者包含一份或多份不同的所述用戶屬性,所述 密鑰分發(fā)中心被構(gòu)造成針對(duì)所述數(shù)據(jù)訪問(wèn)者的一個(gè)相應(yīng)的所述用戶屬性生成相應(yīng)的一個(gè) 屬性私鑰,所述數(shù)據(jù)訪問(wèn)者的所有所述用戶屬性對(duì)應(yīng)的所有所述密鑰分發(fā)中心生成的所有 所述屬性私鑰的集合為所述數(shù)據(jù)訪問(wèn)者的私鑰。
[0039] 在一實(shí)施例中,所述密鑰分發(fā)中心被構(gòu)造成基于所述數(shù)據(jù)訪問(wèn)者的身份生成相應(yīng) 的所述屬性私鑰,不同所述數(shù)據(jù)訪問(wèn)者的同一所述用戶屬性對(duì)應(yīng)的所述屬性私鑰不同。
[0040] 在一實(shí)施例中:
[0041] 所述公鑰生成單元被構(gòu)造成基于編碼矩陣對(duì)所述加密密鑰進(jìn)行加密以生成所述 密文公鑰;
[0042] 所述解密模塊被構(gòu)造成基于解碼方法對(duì)所述密文進(jìn)行解密。
[0043] 與現(xiàn)有技術(shù)相比,根據(jù)本發(fā)明的系統(tǒng)具有更強(qiáng)的抗攻擊能力,根據(jù)本發(fā)明的方法 可以大大提高系統(tǒng)的安全性能;同時(shí),在不降低安全性的基礎(chǔ)上,本發(fā)明的方法的計(jì)算量大 大減小。
[0044] 本發(fā)明的其它特征或優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述。并且,本發(fā)明的部分特征或 優(yōu)點(diǎn)將通過(guò)說(shuō)明書而變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而被了解。本發(fā)明的目的和部分 優(yōu)點(diǎn)可通過(guò)在說(shuō)明書、權(quán)利要求書以及附圖中所特別指出的步驟來(lái)實(shí)現(xiàn)或獲得。
【附圖說(shuō)明】
[0045] 附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本發(fā)明的實(shí) 施例共同用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0046] 圖1是根據(jù)本發(fā)明一實(shí)施例的方法流程圖;
[0047] 圖2是根據(jù)本發(fā)明一實(shí)施例的系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖。
【具體實(shí)施方式】
[0048] 以下將結(jié)合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式,借此本發(fā)明的實(shí)施人員 可以充分理解本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過(guò)程并依 據(jù)上述實(shí)現(xiàn)過(guò)程具體實(shí)施本發(fā)明。需要說(shuō)明的是,只要不構(gòu)成沖突,本發(fā)明中的各個(gè)實(shí)施 例以及各實(shí)施例中的各個(gè)特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之 內(nèi)。
[0049] 針對(duì)現(xiàn)有技術(shù)中的屬性訪問(wèn)控制方法存在的問(wèn)題,本發(fā)明提出了一種數(shù)據(jù)共享方 法。執(zhí)行本發(fā)明的方法首先需要構(gòu)造密鑰分發(fā)中心。通常的屬性加密方法都依賴于一個(gè)可 信的密鑰分發(fā)中心,這導(dǎo)致整個(gè)系統(tǒng)的安全性寄托在單個(gè)密鑰分發(fā)中心,如果該密鑰分發(fā) 服務(wù)器遭受攻擊,攻擊者掌管了密鑰分發(fā)過(guò)程,整個(gè)系統(tǒng)的密鑰都會(huì)泄露,數(shù)據(jù)機(jī)密性不能 確保。為了提高系統(tǒng)的安全性能,在本發(fā)明的一實(shí)施例中,首先構(gòu)造多個(gè)密鑰分發(fā)中心。
[0050] 在基于密文策略的屬性訪問(wèn)控制