1.一種支持屬性撤銷的密文策略基于屬性加密方法,其特征是,包括以下步驟:
授權機構通過初始化函數對輸入的安全參數和屬性空間描述處理后,輸出公鑰和主密鑰;以及,通過用戶密鑰生成函數對輸入的公鑰、主密鑰、屬性標識、用戶標識、二叉樹、屬性集、撤銷列表和版本信息處理后,輸出由屬性密鑰和時序密鑰組成的用戶私鑰;
數據所有者通過加密函數對輸入的公鑰、明文和訪問策略進行屬性加密、時序加密處理后,輸出密文;
云服務提供商響應數據所有者的存儲請求后對密文進行存儲,以及響應數據使用者的下載請求后將密文傳輸至數據使用者;
數據使用者通過解密函數對輸入的公鑰、用戶私鑰、密文和版本信息解密處理后,輸出明文;
授權機構通過撤銷函數對輸入的版本信息、用戶標識和屬性標識撤銷處理后,輸出撤銷列表;
所述用戶密鑰生成函數包括屬性密鑰生成算法和時序密鑰生成算法,時序密鑰生成算法包括屬性路徑密鑰生成算法和屬性覆蓋密鑰生成算法;
屬性密鑰生成算法:以公鑰PK、主密鑰MSK和用戶屬性集合S作為屬性密鑰生成算法的輸入,隨機選擇r∈Zp,計算為用戶屬性集合S中的每個屬性x隨機選擇rx∈Zp,計算屬性子項得到用戶的屬性密鑰SKuserID,S;
屬性路徑密鑰生成算法:根據MT二叉樹定義,PATH(ui)表示用戶ui對應的葉子節點到根節點的節點集合,對于任何的x∈PATH(ui),若未定義ax1和ax2,則隨機選擇并存儲于節點x中作為密鑰子項的多項式指數的系數,利用屬性標識attrID和用戶標識userID生成多項式指數,再隨機選擇計算:和得到用戶路徑覆蓋集密鑰APKuserID,attrID;
屬性覆蓋密鑰生成算法:根據MT二叉樹定義,KUNodes(Gi)表示屬性組Gi對應的最小覆蓋集,根據撤銷列表RL的變化實時更新,查詢撤銷列表RL中和屬性標識為attrID相關的用戶撤銷信息,重新生成屬性組Gi的最小覆蓋集;定義CSattrID,t表示KUNodes(Gi)的節點集合,針對每個節點x,若未定義ax1和ax2,則隨機選擇并存儲于節點x中作為密鑰子項的多項式指數的系數,利用版本信息t生成多項式指數,再隨機選擇計算:和得到最小覆蓋集密鑰ACKattrID,t;
根據用戶路徑覆蓋集密鑰APKuserID,attrID和最小覆蓋集密鑰ACKattrID,t計算用戶路徑節點集和最小覆蓋節點集的交點,得到時序密鑰SKuserID,t,并結合屬性密鑰SKuserID,S得到最終的用戶密鑰SKuserID。
2.根據權利要求1所述的一種支持屬性撤銷的密文策略基于屬性加密方法,其特征是,所述公鑰和主密鑰的生成過程具體為:
將安全參數λ和屬性空間描述U輸入初始化函數;
選擇生成元為g階、素數為p的雙線性群G0,定義雙線性映射:e:G0×G0→GT和哈希函數H:{0,1}*→G0,隨機選擇α,β∈Zp,輸出系統公鑰和被授權機構秘密保存的系統主密鑰。
3.根據權利要求1所述的一種支持屬性撤銷的密文策略基于屬性加密方法,其特征是,所述加密函數包括屬性加密算法和時序加密算法;
數據所有者通過定義訪問樹結構并運行屬性加密算法完成明文的屬性密文加密工作;
根據屬性標識和版本信息運行時序加密算法完成時序密文加密工作。