非可信環境下的云端數據加密與授權方案
隨著物聯網、5G 網絡、元宇宙等概念的提出與廣泛應用,網絡用戶產生的數據量也越來越多。如圖 1 所示為云存儲基本框架,用戶在面對與日俱增的數據、自身資源限制、數據使用與共享等情況時,通常會選擇將部分數據存儲于云端,如谷歌云、AWS、小米云空間等,在需要的時候進行讀取、共享等操作。云儲存給用戶帶來了極大的便利,用戶只需按需購買并使用云空間與網絡服務即可,同時又有效地降低了成本、提高了效率。然而,近年來數據泄露的問題頻發。2017 年百度網盤發生數據泄露事件,大量私人信息遭到泄露,包括身份證、車牌號等信息;2021 年 Facebook 5.33 億用戶、領英 7億用戶數據遭到泄露,并在暗網售賣。用戶數據一旦發送至云端進行存儲,用戶將失去對數據的控制權,同時面對非可信的網絡環境,用戶將時時刻刻面臨數據與隱私安全問題。
因此,如何有效地保護用戶數據安全、構建安全的網絡空間環境得到了國家、機構、廣大研究者和企業的重視。在 2012 年,新加坡頒布了《個人數據保護法》。2018 年,歐盟頒布了號稱史上最嚴苛的數據安全法案《通用數據保護條例》(General Data Protection Regulation)。我國也在 2016 年頒 布了《中華人民共和國網絡安全法》,2018 年頒布了《中華人民共和國密碼法》,2021 年頒布了《中華人民共和國數據安全法》和《中華人民共和國個人信息保護法》等相關法律法規,從法律層面為組織、企業、個人等的數據與隱私安全保駕護航。

圖 1 網絡云存儲
廣大學者也在相關領域進行了廣泛的研究。由于云服務提供商并非不可信的,因此將存在數據被泄露、篡改等風險,但將數據加密后上傳,數據的授權、分享將成為新的挑戰。蘇铓等人針對傳統訪問控制無法應對云計算、天地一體化網絡對云服務的需求,提出使用代理重加密技術和多要素訪問控制技術結合的方案。基于屬性的加密(AttributeBased Encryption,ABE)方案也是廣泛研究與使用的方式,最早是 2004 年由 Sahai 等人提出的。隨后研究人員在理論算法、應用等方面進行了廣泛研究。Li 等人為提升多媒體社交網絡的服務質量,針對云存儲數據的安全和授權策略靈活性方面,結合 ABE 方案進行了系統設計,但該方案的計算在復雜度等方面存在一定缺陷,難以適應大規模的屬性加密系統。Wang 等人針對智能電網與云端輔助存儲的安全與實用、智能電網等環境下設備資源受限等問題,利用橢圓曲線決策的 Diffie-Hellman問題設計了基于屬性的加密方案,同時通過實驗評估的方法證明了方案的實用性。Sun 等人 由于之前基于容錯學習(Learning with errors,LWE)假設的研究多數都是在單一權威機構下構建的 ABE,在效率方面受到約束,所以該文獻在基于環容錯學習(Ring-Learning with errors,R-LWE)假設的基礎上構建了多權威的門限訪問結構的 ABE 方案,使得系統更加高效。曹來成等人 [12] 則通過引入可信第三方來解決數據加密過程中的計算開銷問題,該方案可以降低用戶端計算開銷,很好地適用于資源受限設備。Sandor 等人設計了一種高效的 ABE移動云數據存儲方案,其權威機構是分散的,省去了全局用戶身份,取消了中央授權機構,但引入了新 的 云 用 戶 助 理(Cloud User Assistant,CUA)。Li 等人則使用多權威的屬性基加密解決云存儲在數據加密、共享時的高效與靈活性問題(這兩個是同一篇文獻)。Yang 等人 針對移動終端的存儲和計算能力有限,難以應對設備與公有云之間的文件共享數據傳輸等問題,利用私有云輔助用戶進行數據的完整性校驗等操作。Li 等人針對密文數據的存儲、計算過程存在的安全風險,提出了一種可驗證外包計算結果的方案,但該方案在面臨規模較大的計算任務時,用戶的計算成本依然較高。Truong 等人考慮到數據所有者無法感知服務器的數據操作是否合規,提出了使用去中心化的機制處理用戶數據,即利用區塊鏈技術對數據的操作進行記錄。
但以往的研究工作中對抗量子攻擊的考慮較少。未來量子計算機的應用將對基于雙線性映射等困難問題為基礎的密碼算法帶來一定挑戰。同時,數據加密雖然能夠有效阻止不可信的云服務提供商窺探用戶數據隱私,但難以應對云服務提供商(非可信的云服務提供商)篡改、偽造用戶數據以及網絡傳輸過程中導致的數據丟失等問題。因此本文提出了一種基于屬性的云中數據加密授權方案。該方案將格理論構建密鑰策略的屬性基加密(Ciphertext-Policy Attribute-Based Encryption,CPABE)算法用于保證數據安全與靈活授權,同時采用區塊鏈技術對用戶發布的數據信息進行存儲,保證了在非可信環境下數據的完整性檢驗。
本文的貢獻點如下:(1)構造了抗量子攻擊的 CP-ABE 方案,同時考慮到單一授權機構帶來的時延、系統穩定性問題,采用多授權方案,有效提升了方案的實用性;(2)考慮到數據在發布、存儲、共享過程中,面臨數據篡改、使用過程不明確等問題,使用區塊鏈技術對數據的完整性以及操作過程進行記錄;(3)通過安全證明和理論分析證明了方案的安全性與執行效率。
本文將在第 2 節中對方案所涉及的理論知識進行簡要的概述;第 3 節將對方案框架進行描述,包括方案各參與方及其功能、安全威脅等;在第 4 節中將對所設計的算法進行詳細介紹;在第 5 節中對方案的安全性以及效率進行分析;最后,將對本文的工作進行總結、分析,并對未來研究進行展望。
1預備知識
本節中將對非可信環境下的云端數據加密與授權方案中使用到的基礎理論如格理論、基于屬性的加密方案以及區塊鏈技術等進行簡要介紹,以便后文更好地闡述系統模型。
1.1 格的定義
在這里定義
為 n 維歐幾里得空間,
中的一個格定義為
。格L 由一組線性無關的向量組成,假設
的基為
,因此可得:

式中:
為 n 維歐幾里得空間的維度,取值范圍為整數。關于格中相關的困難問題可以參考文獻 [18]。
1.2 基于屬性的加密算法
ABE 方案最早是由 Sahai 等人提出的。之后經過學者的研究,基于屬性的加密大致分為兩種:一 種 是 密 鑰 策 略 的 屬 性 基 加 密 方 案(Key-Policy Attribute-Based Encryption,KP-ABE),其訪問策略包含于密鑰中,只有用戶密鑰策略滿足訪問屬性設置才可正確解密;另一種是密文策略的屬性基加密方案(CP-ABE),其訪問策略包含于密文中,只有用戶的屬性滿足授權集合才能正確解密密文。同時,隨著研究的深入,也有很多 ABE 方案在不同困難問題下進行構建,例如雙線性映射、橢圓曲線、格理論 [26-29] 等,但加解密的過程基本是相同的。由于本文采用的是 CP-ABE 方案,因此這里僅簡單介紹 CP-ABE 的加解密過程。CP-ABE 方案主要包括 Setup、KeyGen、Encrypt、Decrypt 這 4 個算法,下面將對這 4 個算法進行形式化描述。(1)
:由 系 統 給 出 初 始 化 參 數
作為輸入,系統將輸出相應的公開參數
和主密鑰 MK。(2)
:接下來,系統將主密鑰 MK 和用戶的屬性集 S 作為輸入,系統將輸出對應的用戶屬性私鑰 SK。(3)
:用戶將公開參數
、要加密的消息 msg 和訪問控制策略 A 作為輸入,輸出密文 C。(4)
:當解密用戶欲解密密文 C 時,用戶將輸入自己的屬性私鑰 SK、密文 C,輸出結果 msg′。當用戶的屬性私鑰不滿足密文C 所包含的訪問控制策略時,系統輸出結果為⊥;當用戶的屬性私鑰滿足密文 C 所包含的訪問控制策略時,系統輸出結果 msg′=msg。
1.3 區塊鏈
區塊鏈是一種共享型數據庫,能夠存儲數據或信息。由于其“誠實”和“透明”等特點使其具有良好的“信任”,常用來作仲裁中介等 。
如圖 2 所示,一個區塊由區塊頭和區塊體構成。區塊頭包含前一區塊的哈希值、時間戳、隨機數、區塊體的 Merkle 樹根等信息。區塊體是一棵 Merkle樹,葉子節點為數據(散列值),非葉子節點則存儲葉子節點哈希值。

圖 2 區塊鏈結構
由于每一個區塊都包含前一區塊的哈希值,因此所有區塊有序地構成一個鏈式結構,且鏈上的數據是唯一的,每個節點將存儲一份,所有備份數據與原始數據是相同的,以便在有爭議時驗證鏈上數據的真實性。
2方案模型
2.1 非可信環境下的云端數據加密與授權模型
在非可信環境下的云端數據加密與授權模型下共有5個參與方,分別為數據所有者、云存儲服務器、數據(非)授權用戶、區塊鏈基礎服務設施、密鑰分發機構。非可信環境下的云端數據加密與授權框架如圖 3 所示。

圖 3 非可信環境下的云端數據加密與授權框架
2.1.1 數據所有者
該部分用戶是原始數據的產生或擁有者,其能夠對原始數據的使用權進行控制,主要功能包括將原始數據加密后上傳至云存儲服務器,同時生成原始數據的散列值并存儲于鏈上,以便進行后續的數據校驗。
2.1.2 云存儲服務器
該參與方提供數據的存儲、轉發功能,但該參與方并非可信的,其可能對存儲于自身空間的數據進行修改、偽造等操作。
2.1.3 數據(非)授權用戶
該參與方能夠查看數據所有者存儲在云服務器中的數據,其擁有密鑰分發機構頒布的密鑰,該密鑰中包含數據授權信息,只有符合數據授權策略的用戶才能正確解密數據。
2.1.4 區塊鏈基礎服務設施
該參與方用于存儲原始數據的散列值,當數據的授權用戶對加密數據解密后的值存在疑問時,可以通過與鏈上存儲的數據散列值進行對比,以確定數據的真實性。
2.1.5 密鑰分發機構該機構
用戶為系統中的用戶頒發私鑰以及系統公鑰,由于該機構僅在需要進行密鑰頒發、更新時才會進行相應工作,并非時刻工作在方案系統中,因此未在系統框架中給出。
2.2 系統工作流程
本文將方案共分為密鑰分發、數據加密與數據信息鏈上存儲、數據解密、數據校驗 4 個階段。在方案中存在一個中央授權機構(Central Authority,CA)、 多 個 屬 性 授 權 機 構(Attribute Authority,AA),由中央授權機構為每個用戶分配全局屬性標識(Global IDentifier,GID),由系統用戶共同維護存儲數據信息區塊鏈。方案時序如圖 4 所示。

圖 4 方案時序
2.2.1 階段一:密鑰生成與分發
(1)由中央授權機構隨機選取安全參數作為輸入,輸出中央授權機構公鑰 CAmpk 和全局公開參數 GP。(2)由屬性權威機構將全局公開參數 GP 作為輸入,輸出全局屬性私鑰和屬性公鑰。(3)完成上述兩步之后,將為系統用戶頒發用戶私鑰。由屬性權威機構確定用戶的屬性集合,根據用戶屬性為其頒發屬性私鑰(用戶屬性真包含于全局屬性中),如果用戶擁有屬性
,該屬性為積極的,表示為
;如果用戶未擁有屬性
,該屬性為消極的,表示為
。最后輸出用戶私鑰。
2.2.2 階段二:數據的加密與信息鏈上存儲
(1)數據所有者首先確定授權訪問集合,并 將 MSG 進 行 編 碼( 編 碼 后 的 消 息 第 i 位 為
, 然 后 利 用 屬 性 公 鑰 加 密 消 息
,最后輸出密文 C。(2)同時,對消息MSG 計算散列值 hash(MSG), 將 hash(MSG) 上傳到區塊鏈中進行存儲。
2.2.3 階段三:數據解密
授權用戶將密文和自己所擁有的私鑰作為輸入,如果該用戶自身屬性密鑰不滿足數據所有者制定的授權訪問集合,系統將輸出⊥;如果該用戶自身屬性密鑰滿足數據所有者制定的授權訪問集合,將解密消息
,并可以解碼消息 MSG。
2.2.4 階段四:數據校驗
授權用戶在得到消息 MSG′ 后可以計算散列值 hash(MSG′),由于 MSG 散列值 hash(MSG) 是存儲在鏈上 的, 因 此 可 以 進 行 公 開 比 對, 如 果hash(MSG′)=hash(MSG),就可以確定消息 MSG 是正確被解密的。
2.3 威脅模型
本文中的威脅模型來自云存儲服務提供商,在這里假設云存儲服務提供商是惡意的,它可能會不遵守協議或者利用惡意手段對用戶的數據(結果或中間值)進行推測,以及未能有效地保存用戶的數據,進而造成用戶的數據丟失、篡改、泄露等。授權用戶也不是完全可信的,其可能利用不滿足訪問控制策略的密鑰嘗試解密密文。區塊鏈是完全可信的,用于存儲數據所有者的消息(散列值),幫助授權用戶校驗解密數據真實性與完整性。假設區塊鏈中的礦工規模足夠龐大,足以保證區塊鏈系統的穩定與安全。
3算法構建
非可信環境下的云端數據加密與授權方案如圖4 所示。接下來將對方案進行詳細論述。
3.1 階段一:系統初始化與密鑰的分發
(1)
:先由中央權威機構隨機選取安全參數 λ 和一個大素數 q 作為模數,之后由安全參數 λ 和素數 q 生成正整數 n 和 m,之后計算
,最后隨機選取向量
,輸出
以及主密鑰
。(2)AASetup(CAmpk):屬性權威機構將中央權威機構生成的 CAmpk 作為輸入。假設全局屬性集合為
,每個屬性授權機構所管理的屬性
。對于每個屬性
,隨機選擇
和
。因此,輸出屬性公鑰
。(3)KeyGen(msk):假 設 用 戶 屬 性 為
,屬性集合為 S ? R。因 此, 如 果 用戶屬性為
, 則 該 屬 性 為“ 積 極 的 ”,
;否則, 該 屬 性 為“ 消 極 的”,
。對于所有用戶屬性
,隨機選取
,
。然后,
。因 此,
,存在 D·sk=u。得到用戶屬性密鑰
。
3.2 階段二:數據信息的鏈上存儲與加密
(1)Hash(MSG):數據所有者計算欲加密數據 MSG 散列值 H(MSG),并上傳至鏈上進行存儲。在存儲過程中,H(MSG) 并非實時寫入區塊中,因為需要達到足夠數量的交易節點才能完成區塊的構建。首先,將全部 H(MSG) 進行編排,構成 Merkle樹的葉子節點,并構建區塊體。區塊頭由前一區塊的散列值
、時間值 t,隨機數
、Merkle 樹的根節點
以及版本號 V 構成。
(2)
:首 先 用 戶將 MSG 作為輸入進行編碼,得到
。之后,由 CAmpk、AAmpk 和授權策略 W ? R,定義
屬性值為“積極的”,定義
屬性值為“消極的”。因此可得
,
。隨機選取
。接下來計算:

最后,輸出密文為
3.3 階段三:密文數據的解密
Dec(C,sk):授權用戶將密文 C 和自己擁有的屬性私鑰 sk 作為輸入,如果屬性
,則
;否 則
。因此
, 計 算
, b=z-a。可 得, 如 果
,則返回
結果為“1”,否則為“0”。將
序列重新進行解碼得到消息 MSG′。
3.4 階段四:解密后密文數據完整性校驗
Check(H(MSG′)):授權用戶計算解密得到的數據 MSG′ 散列值 H(MSG′),并與上傳至鏈上存儲的H(MSG) 進 行 對 比。如 果 H(MSG′)=H(MSG),則 說明數據是真實可信的;否則說明數據遭到篡改。
4安全性分析與性能評估
4.1 安全性分析
4.1.1 數據完整性
在本方案中,數據需要通過加密后再上傳至云存儲,因此保證了密文數據不會被誠實而好奇的參與方竊取任何信息;但本文假設云服務提供商是惡意的,其可能篡改、偽造數據等,對數據的安全存儲構成威脅,因此采用區塊鏈技術在加密數據之前將數據的信息上傳至鏈上進行存儲,以備后期進行公開驗證。
4.1.2 抗共謀攻擊
由于惡意的云服務提供商可能勾結部分礦工節點進行虛假交易,因此會對公開驗證階段構成威脅。但區塊鏈技術提供了安全可信的執行環境,內部存在大量節點存儲、備份、計算區塊鏈的正確性。如果說存在某個云服務提供商能夠通過與部分節點共謀的方式修改、控制該區塊鏈,也意味其可以修改控制其他區塊鏈系統。
4.1.3 訪問控制管理
在方案中,數據使用基于格的屬性加密算法生成密文,同時將訪問控制策略一同寫入密文中,只有授權用戶的屬性信息滿足訪問控制策略時才可以正確解密密文。因此方案既有效地保證了數據的云存儲安全,又實現了大數據下的數據靈活訪問授權。
4.2 性能評估
目前,基于雙線性映射與橢圓曲線構建的屬性基加密方案居多,因此本文將基于雙線性映射、橢圓曲線以及格上的方案都進行了分析與對比,同時在以往方案中多數假設用戶數據上傳至云端后,數據是被安全存儲的,即云存儲服務提供商是誠實且好奇的,但本文假設云存儲服務提供商是不可信的,其可能是惡意的,也可能由于部分因素將用戶存儲的數據丟失,因此,還需要驗證用戶存儲在云端的數據的完整性。方案安全性對比如表 1 所示。
表 1 方案安全性對比

5結 語
現如今數據量正在呈爆炸式增長,用戶選擇將數據存儲在云端,以減輕本地設備的存儲負擔以及便捷的數據訪問與使用,但網絡存在諸多安全挑戰。為在非可信的網絡環境下構建更加安全的數據云端存儲與授權模式,本文提出了一種基于格的屬性加密方案,同時結合區塊鏈技術保證數據在非可信云存儲服務提供商環境下的數據完整存儲。該方案不僅考慮到量子計算對傳統數據加密所帶來的威脅,還基于區塊鏈技術構建了數據完整性管理機制。最后,對本文提出的方案進行了安全性分析與理論性能對比,結果表明本文的方案具有更高的安全性,可以更好地適應非可信環境下云端的數據存儲與共享。
引用格式:劉慧紅 , 黃普善 , 毛得明 , 等 . 非可信環境下的云端數據加密與授權方案 [J]. 通信技術 ,2022,55(3):367-374.