本發(fā)明涉及云環(huán)境下的外包服務領域及網(wǎng)絡安全的數(shù)據(jù)加密和隱私保護領域,特別是,在云環(huán)境下實現(xiàn)了一種高效可驗證外包的隱藏密文策略的屬性基系統(tǒng)及方法,該方法不僅能夠實現(xiàn)云數(shù)據(jù)的安全共享,還能夠高效的提供密文策略的隱藏,保護用戶的隱私。
背景技術:
近年來隨著云計算快速發(fā)展,被廣泛應用于云計算中的基于屬性基的加密技術成為當前目前的研究熱點之一,這是因為它允許使用豐富且靈活的訪問控制來訪問以密文存儲在云服務器上的數(shù)據(jù)。然而,加解密計算的代價隨著訪問結構復雜性線性增長,這對于使用移動設備的用戶來說,長時間等待是不可接受的。云環(huán)境下的用戶主要是通過外包加密、外包解密技術來實現(xiàn)降低用戶的計算開銷,外包加密技術主要是利用兩個不同云加密服務器(Google/Amazon云服務提供商)生成的中間密文來加密明文以及相關冗余密文,由于不同的云服務提供商不可能將自己的云數(shù)據(jù)共享給別的競爭云服務提供商,所以可以認為云服務提供商之間不存在合謀關系。外包解密技術主要是利用外包云解密服務器,將密文轉換成為更為簡單形式的密文,使得用戶能夠以更少的計算開銷來解密簡單形式的密文。然而轉換密文操作的正確性并不能夠得到保證,這對于云數(shù)據(jù)的消費者來說,數(shù)據(jù)的完整性、正確性并未得到有效的解決,對此,賴俊祚等人提出了基于可驗證外包解密方案來幫助用戶檢查外包解密操作的正確性,然而在他的方案中加密的計算開銷增加了一倍、密文長度也相應的膨脹了一倍,這樣的通信開銷代價使得系統(tǒng)的整體性能并沒有提高,最近,馬輝等人提出了一種支持可驗證、具有封裝性的外包屬性基加密方案,在該方案中不僅解決了私鑰盲化、高效的可驗證外包問題,還解決了長期存在的封裝問題,即用戶檢查外包解密結果正確后,不能夠抵賴外包服務器解密的正確性,然而在該方案中,并沒有實現(xiàn)用戶的策略隱藏。
在實際的云共享系統(tǒng)中,數(shù)據(jù)擁有者希望將資料通過云服務器發(fā)送給其他使用者,他希望除了指定的數(shù)據(jù)使用者外,任何人都無法得知任何與資料相關的信息,這樣的要求可以用一個可隱藏屬性的屬性基加密系統(tǒng)來實現(xiàn)。試想在一個電子醫(yī)療的云系統(tǒng)中,當病人通過云端將自己的病歷傳遞給指定的某部門醫(yī)生時,病人當然不想讓沒有權限的其他醫(yī)生知道病歷的內(nèi)容,甚至也不想讓沒有權限的醫(yī)生知道發(fā)送該病歷的人是誰,如果該系統(tǒng)不具有匿名功能,當其他部門的醫(yī)生看到共享給某部門的病歷信息時,就有可能能夠推測該病人可能患了某種疾病,甚至,相同部門的醫(yī)生可能都知道該病人所有病歷信息,這樣病人的隱私并沒有得到充分的保證。
文獻《基于訪問樹的策略隱藏屬性基加密方案》發(fā)表于《通信學報》2015年9月第9期36卷,在該文獻中,作者采用將具有權限的屬性取值隱藏在系統(tǒng)的所有屬性取值當中,從而實現(xiàn)基于訪問樹的策略隱藏,然而該方案加解密計算開銷過大;專利《一種隱藏屬性的密鑰策略屬性基加密方法》,其專利公布號為CN 104780179 A(申請?zhí)?01510229719.7),在該發(fā)明中,通過將隱藏屬性的密 鑰策略屬性加密系統(tǒng)中屬性視為密文對應的關鍵字,密鑰的策略即為使用者查詢關鍵字組成的邏輯條件,來實現(xiàn)策略隱藏。
在現(xiàn)有的屬性基加密系統(tǒng)中,尚沒有發(fā)明出一種隱藏密文策略的高效可驗證外包屬性基加密方法,本發(fā)明采用AND門的訪問結構,在考慮高效率的前提下,實現(xiàn)了一種基于隱藏密文策略的屬性基加密系統(tǒng)及方法,本發(fā)明不僅能夠有效的降低云共享系統(tǒng)中用戶的加解密計算開銷,而且更好的保證用戶的數(shù)據(jù)隱私。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是解決云計算下加解密計算開銷高的問題及設計出一個基于隱藏密文策略的屬性基系統(tǒng)和方法,本發(fā)明采用AND門的訪問結構,將外包機密機制、可驗證外包解密體制同密文策略隱藏相結合,減少用戶端的加解密計算開銷,將最復雜的計算部分外包給加密服務器、解密服務器去處理,同時保證了解密服務器幫助用戶解密的部分密文信息的正確性。
本發(fā)明為解決上述需求采取的技術方案:
根據(jù)本發(fā)明設計出一種隱藏密文策略的高效可驗證外包屬性基加密方法,包括如下步驟:
A、設定系統(tǒng)的公開參數(shù)PK和系統(tǒng)的主密鑰MSK;
B、根據(jù)系統(tǒng)的公開參數(shù)PK、系統(tǒng)的主密鑰MSK和屬性集S,為用戶生成私鑰SK;
C、根據(jù)系統(tǒng)的公開參數(shù)PK,外包加密生成兩個中間密文IT1和IT2;
D、根據(jù)系統(tǒng)的公開參數(shù)PK、中間密文IT1和IT2以及訪問結構W,對消息M進行加密操作,產(chǎn)生密文CT;
E、根據(jù)系統(tǒng)的公開參數(shù)PK,用戶的私鑰SK,生成用戶的轉換密鑰TK以及恢復密鑰RK;
F、根據(jù)系統(tǒng)的公開參數(shù)PK、用戶的轉換密鑰TK,將密文CT轉換成部分解密的密文CT′;
G、根據(jù)系統(tǒng)的公開參數(shù)PK,使用恢復密鑰RK對部分解密的密文CT′進行外包解密操作,并驗證是否是用戶所加密的初始明文消息M,若是,則輸出消息M,否則,輸出錯誤信息;
一種隱藏密文策略的高效可驗證外包屬性基加密方法,其涉及到的實體,包括公開參數(shù)設置服務器、用戶私鑰運算服務器、外包加密服務器、加密服務器、密鑰轉換服務器、密文轉換服務器、外包解密服務器、解密服務器;其中,
公開參數(shù)設置服務器,用于生成系統(tǒng)的主密鑰和公開參數(shù),將系統(tǒng)的主密鑰發(fā)送給用戶私鑰運算服務器,將公開參數(shù)發(fā)送給系統(tǒng)參與的所有實體服務器;
用戶私鑰運算服務器,根據(jù)系統(tǒng)的公開參數(shù)、系統(tǒng)的主密鑰為系統(tǒng)中的用戶生成私鑰,根據(jù)用戶解密的需要,將私鑰發(fā)送給密鑰轉換服務器、解密服務器;
外包加密服務器,根據(jù)系統(tǒng)的公開參數(shù)、訪問結構,為用戶生成中間密文,并將生成的中間密文發(fā)送給加密服務器;
加密服務器,根據(jù)系統(tǒng)的公開參數(shù)、外包加密服務器發(fā)送的中間密文、訪問結構,對明文消息進行加密,生成原始密文,并將原始密文發(fā)送給外包解密服務器、解密服務器;
密鑰轉換服務器,根據(jù)系統(tǒng)的公開參數(shù)、用戶的屬性,生成轉換密鑰和 恢復密鑰,并將轉換密鑰發(fā)送給密文轉換服務器,將恢復密鑰發(fā)送給解密服務器;
外包解密服務器,根據(jù)系統(tǒng)的公開參數(shù)、轉換密鑰對密文進行外包計算,并將計算得到的部分解密密文發(fā)送給密文轉換服務器;
密文轉換服務器,根據(jù)系統(tǒng)的公開參數(shù)、外包解密服務器發(fā)送的部分解密密文轉換新的密文,將轉換后的密文發(fā)送給解密服務器進行解密;
解密服務器,根據(jù)系統(tǒng)的公開參數(shù)、恢復密鑰對密文轉換服務器發(fā)送的部分密文進行解密,并利用加密服務器發(fā)送原始的封裝密鑰做校驗,檢驗轉換是否正確,解密原始密文得到明文。
本發(fā)明采用以上的技術方案與現(xiàn)有的技術相比,本發(fā)明將外包加密和外包解密技術相結合,在保證云服務器得不到關于明文任何消息的前提下,提供給用戶新的可驗證外包解密正確性的方法,同時可有效地防止用戶誣陷外包解密服務器提供錯誤的解密服務;本發(fā)明還實現(xiàn)了密文策略的隱藏,可以為用戶提供更高的隱私保護需求;通信代價開銷較低,便于帶寬、資源受限的移動設備的使用。
附圖說明
圖1是本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法的系統(tǒng)功能模塊示意圖。
圖2是本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法的系統(tǒng)流程圖。
具體實施步驟
下面結合附圖說明圖1和圖2及具體實施方式對本發(fā)明做進一步詳細說明。
作為本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法,其所述步驟A包括:
A1.選取階為P的群和以及雙線性映射選擇長度為密鑰獲取函數(shù)KDF1、抗碰撞的哈希函數(shù)以及隨機數(shù)
A2.N1表示訪問結構中通配符”*”最多允許的個數(shù),N2訪問結構中”+”屬性最多允許的個數(shù),N3表示訪問結構中”-”屬性最多允許的個數(shù);令n=N1+3,隨機選取的兩個生成元g,g2、的五個隨機數(shù)γ1,γ2,θ1,θ2,Δ以及六組含有n個從選取的隨機數(shù)其中,在滿足條件Δ=γ1u2,i-γ2u1,i和Δ=θ1w2,i-θ2w1,i,容易得到 計算
A3.計算Y=e(g,g2)以及g1=gΔ,其中,e(g,g2)為雙線性對運算;生成系統(tǒng)的公共參數(shù)以及主密鑰
作為本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法,其所述步驟B包括:
B1、對于擁有屬性集合S的用戶,其中,n′2≤N2表示最多有N2個”+”屬性數(shù),表示”+”出現(xiàn)的位置,n′3≤N3表示最多有N3個”-”屬性,表示”+”出現(xiàn)的位置。根據(jù)韋達公式v′k=-∑i∈V′ik,k=0,...,N1及z′k=+∑i∈Z′ik,k=0,...,N1,可以得到相對應向量及從隨機選取n個r1,i和n個r2,i,以及f1,f2;
B2、計算
B3、生成用戶的私鑰
作為本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法,其所述步驟C包括:
C1、隨機選取兩組秘密值和計算
C2、生成兩個中間密文和
作為本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法,其所述步驟D包括:
D1、計算:
s1=s1+s′1,s2=s2+s′2,α=α+α′,β=β+β′,
D2、計算封裝密鑰使用密鑰獲取函數(shù)KDF1生成會話密鑰SSK和隨機數(shù)d;
D3、計算
CM=M·key,
D4、生成密文
作為本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法,其所述步驟E包括:
E1、隨機選取一個秘密值計算:
其中,r′1,t=r1,t/t,r′2,t=r2,t/t,f′1=f1/t,f′2=f2/t,
t′1,t=t1,t/t,t′2,t=t2,t/t,z′1,i=z1,i/t,z′2,i=z2,i/t;
E2、生成轉換密鑰和恢復密鑰RK=(t,TK);
作為本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法,其所述步驟F包括:
F1、計算
同理,可以計算:
F2、計算
F3、計算
F4、得到解密密文
作為本發(fā)明所述的一種隱藏密文策略的高效可驗證外包屬性基加密方法,其所述步驟G包括:
G1、對于滿足訪問結構W的用戶,可以得到和
G2、計算
G3、計算若則輸出key;
G4、解密消息M=CM·key-1。