本發(fā)明涉及到密碼學,屬于云存儲管理領域,尤其涉及一種密文具有可比較性的屬性加密方案。
背景技術:
基于屬性的加密方案最早于2005年由Sahai and Waters在《Fuzzy identity-based encryption》一文中提出,基于屬性加密是在基于身份加密的基礎上發(fā)展而來的,后來屬性加密被分為基于密文策略的屬性加密體制和基于密鑰的屬性加密體制。基于密文的屬性加密體制的訪問策略結構由加密者控制,密文和該訪問策略結構相關,數(shù)據(jù)用戶的私鑰如果滿足該訪問策略,則可以得到明文。與基于密文策略完全不同的是,基于密鑰的屬性加密體制則訪問策略結構有密鑰生成中心控制,并且用戶的私鑰和該訪問策略結構有關,當數(shù)據(jù)擁有者根據(jù)屬性集合加密該數(shù)據(jù)時,當且僅當該屬性集合滿足與用戶私鑰相關的控制策略時,用戶可以解密得到該數(shù)據(jù)。由于基于屬性加密采用的是一對多的形式(即一個密文可以被多個不同私鑰用戶解密),因次,屬性加密是保證云端數(shù)據(jù)安全的一種非常重要的手段。屬性加密的私鑰管理同身份加密相同,需要私鑰中心管理公鑰和私鑰。
屬性加密主要包括系統(tǒng)建立,私鑰生成,加密和解密四個過程。屬性加密常用來解決云服務中的數(shù)據(jù)安全保障,但屬性加密的數(shù)據(jù)都是密文的形式存儲在云端,所有這為云服務商管理數(shù)據(jù)的存儲結構帶來很大的不便。Guomin Yang結合公鑰加密體制和基于關鍵詞搜索的加密體制,提出了基于密文比較的公鑰加密體制(PKEET),該體制有一個叫Test功能的函數(shù),該函數(shù)可以檢測任何兩個密文是否是同一個數(shù)據(jù)加密的結果,并且構造基于關鍵詞搜索的加密方案。云服務商可以根據(jù)關鍵詞的密文比較來組織和管理數(shù)據(jù)的密文。用戶可以加密關鍵詞并發(fā)送給云服務提供商,云服務商可以根據(jù)關鍵詞的密文比較結果來提取數(shù)據(jù),并且將密文的數(shù)據(jù)發(fā)送給用戶,如果用戶有密文的私鑰,則可以得到相應的答案。由于PKEET的密文可以任何人做比較,Q.Tang提出了基于細粒度的基于授權機制的PKEET,該方案只有授權的用戶才可以用Test功能。由于公鑰加密體制的公私鑰管理的復雜性,Ma S.提出了基于身份的密文可比較方案(IDEET),該方案利用了基于身份加密體制的公私鑰管理的方便性。
由于傳統(tǒng)的公鑰加密體制以及基于身份的加密體制都是屬于一對一的加密體制,屬性加密是數(shù)據(jù)擁有者通過一份訪問策略來加密一份數(shù)據(jù),該被加密的數(shù)據(jù)可以被多個屬性滿足訪問策略的用戶來解密。因此,屬性加密更適合于云存儲的場景。我們結合基于屬性加密體制和以上可比較密文加密體制的基礎上,提出了一種密文可相等比較的屬性加密體制,并在該體制上給出了一個具體的方案?;趯傩缘拿芪木哂邢嗟缺容^性的加密體制是屬于一對多的加密方案,即一份密文可以被多個人解密。并且,云服務提供商可以利用Test功能來存儲和提取密文,Test功能為云服務商管理密文提供了很大的方便性。因此,本方案更適合云服務等場景。
技術實現(xiàn)要素:
本發(fā)明的目的在于:提出基于密文可相等比較的屬性加密概念并且實現(xiàn)一種方案,并且該方案能夠保證密文管理者可以比較任何兩個密文是否是同一數(shù)據(jù)的加密結果,但該密文管理者不能夠解密。
本發(fā)明公開了一種密文可相等比較的屬性加密方案,其主要步驟包括:
系統(tǒng)初始化:輸入系統(tǒng)安全參數(shù)λ和屬性集合U,輸出公共參數(shù)params和主密鑰msk。
提取私鑰:輸入主密鑰和某用戶的屬性結合S,輸出該用戶的私鑰sk。
加密:輸入公共參數(shù)params,消息M和訪問控制結構A,輸出密文CT。
解密:輸入密文CT和私鑰sk,輸出消息M。
比較:輸入兩個密文CT1,CT2。如果CT1和CT2是相同的消息加密的結果,則輸出True,否則輸出False。
由于采用了以上所述技術方案,本發(fā)明的有益效果在于:
(1)密文管理者可以根據(jù)密文的可比較性,來組織管理密文。比較傳統(tǒng)的加密方案,密文可以有組織地存儲在服務器。
(2)靈活性:該方案的是基于密文策略的屬性加密方案,訪問控制結構中的屬性可以進行“與”和“或”運算,以到達用戶擁有者可以靈巧的控制解密者。
(3)密文管理者擁有比較密文的權限,但不能夠恢復出明文。因此,在密文管理者在有效管理數(shù)據(jù)的前提下,又保證了數(shù)據(jù)的安全性。
(4)減少了公鑰管理和驗證開銷:本方案為基于屬性的加密體制,因此不需要證書管理機構CA對公鑰證書進行管理,也不需要用戶對公鑰進行認證。
附圖說明
本發(fā)明將通過具體實例及附圖的方式說明,其中:
圖1為本發(fā)明具體實施的加密操作流程圖;
圖2為本發(fā)明具體實施的解密操作流程圖;
圖3是本發(fā)明的實施實例1的系統(tǒng)結構示意圖。
具體實施方式
為使本發(fā)明的方案技術和應用性更加清楚,下面結合具體實施實例和附圖,對本發(fā)明作更詳細的描述。
實施實例1
參見圖3,具體執(zhí)行步驟包括私鑰生成中心設定系統(tǒng)安全參數(shù)、密鑰空間、消息空間、公開參數(shù),生成屬性集合中的公鑰,具體描述如下:
(1)系統(tǒng)初始化
(1.1)設系統(tǒng)安全參數(shù)為λ,p為大素數(shù),G1表示階為p的循環(huán)加法群,g∈G1表示G1的生成元,G2表示階為p的循環(huán)乘法群。e表示雙線性映射G1×G1→G2。定義一個安全的Hash函數(shù)H,H表示從G2映射到G1的安全哈希函數(shù),代表用戶屬性的U個元素h1,h2,...,hu∈G1。用戶私鑰密鑰空間為K∈G1,加密消息空間為G1。表示有限域Zp={0,1,...,p-1}去掉零元素所得到的集合。
(1.2)私鑰生成中心隨機選取計算并得到公鑰為ppub=(e(g,g)α,ga);主密鑰為:msk=gα。
基于上述設定,得到的公開參數(shù)為:params=(G1,G2,p,g,e,H,ppub,U)。
(1.3)私鑰生成中心將公開參數(shù)params。
(2)提取私鑰
(2.1)私鑰生成中心得到用戶屬性信息集合S。
(2.2)私鑰生成中心隨機選取并且根據(jù)主密鑰msk和用戶屬性集合S計算
(2.3)私鑰生成中心將sk發(fā)送給屬性集合為S的單個用戶(若多個用戶,隨機選取多個t,產(chǎn)生不同的sk分別發(fā)送給不同的用戶)。
(3)加密
數(shù)據(jù)擁有者可以根據(jù)params,生成訪問控制結構(Al×n,ρ),{ρ:ρ(i)∈G1,i∈{1,2...l}}代表矩陣第i行到屬性空間的映射,并隨機選取向量和計算然后隨機選取r1,r2...rl∈Zp和計算密文CT:
Cs=gs,Ct=Ms,C=MH(e(g,g)αs),
然后將(CT,Al×n,ρ)發(fā)送給密文管理者。
(4)解密
(4.1)假設數(shù)據(jù)用戶的屬性集為S,則數(shù)據(jù)擁有者從私鑰生成中心得到私鑰sk,從密文管理者得到(CT,Al×n,ρ),定義且I={i:ρ(i)∈S}。
(4.2)如果S滿足(Al×n,ρ),則根據(jù)可在多項式時間內(nèi)計算出{ωi∈Zp}i∈I。
(4.3)根據(jù)以上可以計算然后可以得到明文M=C/H(e(g,g)αs)。
(5)比較
(5.1)密文管理者輸入給Test算法兩個比較密文CT1、CT2。
(5.2)Test算法計算和如果兩者相等,返回給密文管理者True,密文管理者則判定CT1和CT2是相同明文加密的密文。否則返回False,密文管理者可以判斷CT1和CT2是不同明文加密的密文。
以上所述,僅為本發(fā)明的具體實施方式,本說明書(包括附加權利要求、摘要和附圖)中所公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換,即除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子。本發(fā)明可以擴展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。