一種隱私保護(hù)且支持用戶撤銷的基于屬性加密方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全領(lǐng)域,涉及一種基于屬性的加密技術(shù),具體地說是一種支持 用戶撤銷的、保護(hù)用戶隱私的、支持?jǐn)?shù)據(jù)外包并支持驗證轉(zhuǎn)換密文的正確性的基于屬性的 加密方法。
【背景技術(shù)】
[0002] 今天,在計算機被廣泛應(yīng)用的信息時代,由于網(wǎng)絡(luò)技術(shù)的蓬勃發(fā)展,加之云計算的 概念相繼被提出,大量信息以數(shù)字形式存儲在公共云端及計算機系統(tǒng)中已成為一種趨勢。 信息的傳輸通過公共信道,而這些系統(tǒng)和公共信道在不設(shè)防備的情況下是很脆弱的,比較 容易受到攻擊和破壞,若信息的失竊不容易被發(fā)現(xiàn),后果相當(dāng)嚴(yán)重。在云計算技術(shù)的發(fā)展的 今天,人們對云計算數(shù)據(jù)存儲安全性的擔(dān)憂和安全措施的需求會愈加強烈,所以將數(shù)據(jù)以 加密的形式存儲到公共云端是一種必然,沒有解密權(quán)限的游客只能從公共云端截取密文, 而不能得到對應(yīng)的明文。怎么樣保證只有合理權(quán)限的用戶能夠解密密文而不是給出數(shù)據(jù)擁 有者自己的私鑰或者數(shù)據(jù)擁有者一一共享數(shù)據(jù)給那些擁有權(quán)限的解密者呢?
[0003] 2005年基于屬性加密的概念被引入,因其特殊的應(yīng)用意義以及使用場景的廣泛性 正在受到各界越來越多的矚目,該加密系統(tǒng)利用訪問控制結(jié)構(gòu)來控制系統(tǒng)中用戶的解密能 力,并成為了最有效的途徑之一?;趯傩缘募用荏w制(ABE)可以很好地解決上述大數(shù)據(jù) 在云計算中的問題。在這種加密體制中加密者無須知道解密者的詳細(xì)身份信息,而是掌握 了解密者的一系列的描述屬性,這種描述屬性比詳細(xì)身份信息與用戶的聯(lián)系更加緊密。在 基于屬性的密碼體制中,在加密過程中是用屬性定義訪問規(guī)則,當(dāng)用戶的密鑰與密文在這 個訪問規(guī)則下相"匹配"時解密用戶就可以解密密文。為了更好的表示系統(tǒng)的靈活性,基于 屬性的加密被分為兩類,即密鑰策略的基于屬性的加密(KP-ABE)和密文策略的基于屬性 的加密(CP-ABE)。在KP-ABE中,密文被一系列描述性屬性集標(biāo)記,而用戶的密鑰與授權(quán)中 心指定的訪問策略相關(guān)聯(lián)。在CP-ABE中,用戶的密鑰被一系列描述性屬性集標(biāo)記,而密文 與加密者指定的訪問策略相關(guān)聯(lián)。
[0004] CP-ABE機制比較接近于現(xiàn)實中的應(yīng)用場景。假設(shè)每個用戶根據(jù)自身條件或者屬性 從授權(quán)中心處得到密鑰,然后加密者制定對消息的訪問控制,更適合訪問控制類應(yīng)用,如社 交網(wǎng)站的訪問、電子醫(yī)療系統(tǒng)等?;镜腃P-ABE方案包括系統(tǒng)參數(shù)設(shè)置(Setup)、密鑰生成 (Key Generation)、加密(Encryption)和解密(Decryption)四個模塊。
[0005] 1.系統(tǒng)參數(shù)設(shè)置模塊(Setup)
[0006] 輸入安全參數(shù)〇,返回系統(tǒng)公開參數(shù)params和主私鑰MK。
[0007] 2.密鑰生成模塊(KeyGen)
[0008] 授權(quán)中心運行密鑰生成算法為系統(tǒng)內(nèi)用戶生成私鑰。授權(quán)中心輸入主私鑰MK,用 戶的描述性屬性集,計算出用戶屬性集合相關(guān)的私鑰SKp這里L(fēng)表示與用戶相對應(yīng)的屬性 集。
[0009] 3·加密模塊(Encryption)
[0010] 輸入系統(tǒng)公開參數(shù)params,消息M,以及訪問策略W,加密者加密得到一個密文CT。 只有當(dāng)與私鑰相關(guān)聯(lián)的用戶屬性集L滿足訪問策略W的時候,用戶才能解密密文CT。
[0011] 4.解密模塊(Decryption)
[0012] 接收者輸入他的解密密鑰SI以及密文CT,解密得到消息Μ。只有當(dāng)與私鑰相關(guān) 聯(lián)的用戶屬性集L滿足訪問策略W的時候,用戶才能解密密文CT。
[0013] 從上述流程可以看出,雖然密文策略的基于屬性的加密體制可以在云端提供安全 的訪問控制,但是訪問策略是和密文一起發(fā)送給接收者的,接收者無論能不能解密都將從 訪問策略中獲得相關(guān)有效信息,任意中間用戶都能通過訪問策略得到潛在接收者的列表的 信息,從而泄露了用戶的隱私,這對一些從事商業(yè)活動或者希望對訪問策略進(jìn)行保護(hù)的加 密者不是件有利的事情。所以構(gòu)造一個隱藏訪問結(jié)構(gòu)的基于屬性的方案是更具現(xiàn)實意義 的。
[0014] 從上述的CP-ABE方案的流程還可以看出,授權(quán)中心負(fù)責(zé)分發(fā)私鑰和管理屬性。在 現(xiàn)實生活中,尤其在現(xiàn)在的大數(shù)據(jù)時代中,常會存在系統(tǒng)中新老用戶的經(jīng)常性變更,這就要 求系統(tǒng)能靈活的變更授予用戶的權(quán)限來保證系統(tǒng)的安全性和靈活性。所以構(gòu)造一個支持用 戶撤銷的CP-ABE方案可以大大提高系統(tǒng)的靈活性。
[0015] 在當(dāng)今時代,云端的數(shù)據(jù)越來越多地被資源受限的無線端用戶訪問,對于無線用 戶來言,計算代價和通信代價是首先需要考慮的因素,而傳統(tǒng)的基于屬性加密方案在解密 操作中的大量的雙線性對運算帶來的電池的耗費和通信的代價是不經(jīng)濟(jì)的,所以將部分計 算外包給云存儲提供方進(jìn)行操作有很大的經(jīng)濟(jì)性、很好的系統(tǒng)可擴(kuò)展性和訪問性?,F(xiàn)實生 活中可能存在云端的不端行為或?qū)υ贫藧阂夤簦D(zhuǎn)換密文的正確性無法驗證,存在密文 被非法替換從而造成不良后果。
[0016] 基于以上的分析,本發(fā)明人對現(xiàn)有的基于屬性的加密方案進(jìn)行研究改進(jìn),從而提 高系統(tǒng)的靈活性,并保證了用戶的隱私,更具有現(xiàn)實意義。
【發(fā)明內(nèi)容】
[0017] 發(fā)明目的:針對上述基于屬性加密的缺陷,提供一種完全隱藏訪問結(jié)構(gòu)、支持用戶 撤銷、支持?jǐn)?shù)據(jù)外包并支持驗證轉(zhuǎn)換密文的正確性的基于屬性的加密方法,提高系統(tǒng)的靈 活性,保證用戶的隱私,降低無線端的用戶的總通信成本,保證了轉(zhuǎn)換后密文未被非法替換 且避免造成不良后果。
[0018] 技術(shù)方案:一種隱私保護(hù)且支持用戶撤銷的基于屬性加密方法和系統(tǒng),該加密系 統(tǒng)包括八個模塊,具體為:
[0019] 系統(tǒng)參數(shù)設(shè)置模塊:生成系統(tǒng)公開參數(shù),并發(fā)送給其他模塊;密鑰生成模塊:根據(jù) 用戶的屬性集合生成用戶的用于解密消息的私鑰;加密模塊:用于加密消息;解密模塊:用 于解密消息;重加密模塊:生成重加密密鑰,并更新密文和用戶的私鑰;轉(zhuǎn)換密鑰生成模 塊:生成轉(zhuǎn)換密鑰和恢復(fù)私鑰;轉(zhuǎn)換部分密文模塊:在原來密文基礎(chǔ)上生成轉(zhuǎn)換后的部分 密文;轉(zhuǎn)換解密模塊:用于解密轉(zhuǎn)換后的密文;
[0020] 該加密方法具體步驟如下:
[0021] 步驟1,設(shè)定系統(tǒng)公開參數(shù)params和主密鑰MK ;
[0022] 步驟2,根據(jù)所述系統(tǒng)公開參數(shù)params,生成用戶的私鑰SK^
[0023] 步驟3,根據(jù)所述系統(tǒng)公開參數(shù)params和選定的訪問策略對消息M進(jìn)行加密得到 密文CT ;
[0024] 步驟4,根據(jù)所述系統(tǒng)公開參數(shù)params和用戶的私鑰S&對密文CT進(jìn)行解密得到 消息M ;
[0025] 步驟5,根據(jù)所述系統(tǒng)公開參數(shù)params和組私鑰!^生成重加密密鑰ck vn,得到重 加密后的密文CTvn,并更新授權(quán)用戶的部分私鑰D2ivn;
[0026] 步驟6,根據(jù)所述系統(tǒng)公開參數(shù)params和用戶的私鑰S&,生成轉(zhuǎn)換密鑰TK1^和恢 復(fù)私鑰HKu
[0027] 步驟7,根據(jù)所述系統(tǒng)公開參數(shù)params、原始密文CT以及轉(zhuǎn)換密鑰TKy生成轉(zhuǎn)換 后的密文CI w ;
[0028] 步驟8,根據(jù)所述系統(tǒng)公開參數(shù)params、原始密文CT、轉(zhuǎn)換后的密文CIw及恢復(fù)私 鑰H&,對密文解密得到消息M。
[0029] 進(jìn)一步地,所述步驟1還包括:
[0030] 步驟1-1,選取大素數(shù)p,P階乘法循環(huán)群G和Gt,雙線性映射e:GXG - GT;W G中 選擇生成元g, u, V,d ;
[0031] 步驟1-2,授權(quán)中心隨機選擇
[0032] {a,ga,δ},作為其私鑰;計算
;定義一 個哈希函數(shù)Η: GoZ;,:這里g表示集合{1,2,…,ρ-2,ρ-1};
[0033] 步驟1-3,數(shù)據(jù)擁有者選擇隨機值聲eZ〕作為數(shù)據(jù)擁有者的私鑰SKd。,并計算其公
發(fā)送到公共區(qū)域,SKm作為數(shù)據(jù)擁有者的私鑰不泄露;這里Z=表示集合 U,2,…,p-2, p-ι};
[0034] 步驟1-4,授權(quán)中心設(shè)置初始版本號vn = 0,并選擇隨機值eZ〕作為組私鑰 GSK,并將其線下發(fā)送給注冊的用戶,計算= fe*"}作為組公鑰發(fā)送到公共區(qū)域;
[0035] 系統(tǒng)公開參數(shù)