沈 劍 周天祺 曹珍富
1(南京信息工程大學計算機與軟件學院 南京 210044) 2(上海市高可信計算重點實驗室(華東師范大學) 上海 200062)
云計算作為互聯(lián)網(wǎng)產(chǎn)業(yè)中的重要新型數(shù)字基礎(chǔ)設(shè)施,為大數(shù)據(jù)、5G、人工智能等領(lǐng)域的進一步發(fā)展奠定了重要基礎(chǔ).如今,云計算及其提供的各類應(yīng)用與人們的日常生產(chǎn)生活息息相關(guān),在互聯(lián)網(wǎng)環(huán)境下,人們的日常溝通交流、工作、學習等或多或少都會使用到云計算提供的各類資源.全球著名市場研究公司——國際數(shù)據(jù)公司(International Data Corpora-tion, IDC)預(yù)測:截止2021年底全球公有云收入將達到2 783億元.本質(zhì)上來說,人們進行的各類操作、使用的各種應(yīng)用都可以歸結(jié)為數(shù)據(jù)流通.因此,數(shù)據(jù)的安全直接決定著云計算的安全和其所支持的各類應(yīng)用的合規(guī)合法.然而,隨著云計算的發(fā)展和普及,數(shù)據(jù)安全與隱私保護問題日益嚴峻.騰訊安全云鼎實驗室聯(lián)合GeekPwn發(fā)布的《2019云安全威脅報告》中顯示在所有國內(nèi)攻擊源中云資源作為攻擊源占比已接近一半[1].同時,該報告指出,當前數(shù)據(jù)安全威脅已成為云企業(yè)面必須直面的挑戰(zhàn).
云計算是傳統(tǒng)計算機與網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物,為個人的數(shù)據(jù)存儲和使用、企業(yè)的數(shù)據(jù)開發(fā)和利用、國家的數(shù)據(jù)監(jiān)控和管控提供極大的便利.云計算主要特點是可提供大量數(shù)據(jù)存儲和計算服務(wù).盡管云計算為人們的生產(chǎn)生活提供了極大便利,數(shù)據(jù)安全威脅仍是云計算當前所面臨的巨大挑戰(zhàn).此外,用戶或企業(yè)對外包云數(shù)據(jù)的安全考量將極大影響云計算及其相關(guān)服務(wù)領(lǐng)域的進一步發(fā)展.另一方面,近年來數(shù)據(jù)泄露、數(shù)據(jù)丟失、用戶隱私泄露等各類云數(shù)據(jù)安全攻擊事件激增,各類攻擊手段層出不窮.因此,如何保護云計算的數(shù)據(jù)安全成為近年來國內(nèi)外的研究熱點.值得注意的是,密碼學中的加密、簽名、密鑰協(xié)商等基本密碼原語作為可抵抗上述安全威脅事件的可靠技術(shù)受到了工業(yè)界、學術(shù)界乃至國家的廣泛關(guān)注.
本節(jié)主要介紹云計算網(wǎng)絡(luò)模型、安全模型和安全需求.
云計算是一種集成了傳統(tǒng)計算機網(wǎng)絡(luò),各類硬件資源,并通過虛擬化技術(shù)、資源優(yōu)化技術(shù)、并行計算技術(shù)等先進的技術(shù)進行優(yōu)化的生態(tài)系統(tǒng).云計算的基礎(chǔ)架構(gòu)如圖1所示.具體來說,云計算的架構(gòu)主要可分為3層,即,基礎(chǔ)設(shè)施層(infrastructure as a service, IaaS)、平臺層(platform as a service, PaaS)和軟件服務(wù)層(software as a service, SaaS).IaaS層主要包括云計算基礎(chǔ)架構(gòu)及其硬件設(shè)備;PaaS層可以看作云計算的操作系統(tǒng),是云平臺和應(yīng)用軟件的穩(wěn)定良好運行的基礎(chǔ)平臺;SaaS層提供軟件即服務(wù),是一種基于互聯(lián)網(wǎng)的云平臺應(yīng)用軟件付費使用的新型模式.
Fig. 1 The architecture of cloud computing圖1 云計算架構(gòu)
云計算3層體系涉及到的安全問題主要包括:數(shù)據(jù)安全、終端安全、訪問控制管理、應(yīng)用安全、主機和網(wǎng)絡(luò)安全、物理和基礎(chǔ)設(shè)施安全.本文主要討論云計算中的數(shù)據(jù)安全和訪問控制安全.云上的數(shù)據(jù)生存周期及數(shù)據(jù)安全威脅如圖2所示.其中,數(shù)據(jù)的生存周期指數(shù)據(jù)自產(chǎn)生開始,經(jīng)歷存儲、使用、共享、歸檔直至最終銷毀經(jīng)歷的6個階段.在這過程中,數(shù)據(jù)安全主要面臨數(shù)據(jù)泄露、數(shù)據(jù)丟失、數(shù)據(jù)損壞、密鑰攻擊等威脅.
云計算可以實現(xiàn)計算機和網(wǎng)絡(luò)資源的共享應(yīng)用,提高計算效率和存儲容量,保障存儲可靠.云計算可以為用戶提供大容量數(shù)據(jù)存儲高性能計算服務(wù),云數(shù)據(jù)服務(wù)的系統(tǒng)模型可以概括為圖3所示.其中,云服務(wù)器為單個用戶或者企業(yè)公司等群組用戶提供數(shù)據(jù)存儲和計算服務(wù);可信第三方負責對存儲在云上的外包數(shù)據(jù)進行審計,確保數(shù)據(jù)的完整性和正確性;單個用戶可以存儲或者訪問存儲在云上的外包數(shù)據(jù);群組用戶除了可以存儲和訪問外包數(shù)據(jù),還可通過云進行數(shù)據(jù)共享,組管理員可執(zhí)行身份追蹤、訪問控制、成員注冊、容錯檢測等保證數(shù)據(jù)共享過程中群組用戶數(shù)據(jù)安全的操作.
Fig. 2 Data life cycle and data security threats圖2 數(shù)據(jù)生存周期及數(shù)據(jù)安全威脅
Fig. 3 The system model of cloud data service圖3 云數(shù)據(jù)服務(wù)的系統(tǒng)模型
云數(shù)據(jù)安全保護的安全需求以及為其提供保障的密碼原語可概括如表1所示.
首先,不可偽造[2]和合法訪問[3]指非法用戶無法通過身份認證進而訪問云上數(shù)據(jù),該屬性是云數(shù)據(jù)安全保護的關(guān)鍵環(huán)節(jié).其次,數(shù)據(jù)的完整性和正確性[4]是指外包存儲在云上的數(shù)據(jù)沒有出現(xiàn)錯誤,與用戶上傳的數(shù)據(jù)一致且完整,完整性和正確性是云服務(wù)發(fā)展的基礎(chǔ)同時也是用戶使用云的重要前提.再次,數(shù)據(jù)機密性[5]和隱私保護[6]是指存儲數(shù)據(jù)安全,攻擊者或者好奇的云在沒有密鑰的情況下無法獲知數(shù)據(jù)所包含任何有價值信息,該屬性是云數(shù)據(jù)安全的重要特征.最后,隱私保護是指用戶身份和數(shù)據(jù)隱私安全,目前,隱私保護越來越受到人們關(guān)注,同時大數(shù)據(jù)環(huán)境下驅(qū)動的各領(lǐng)域多方協(xié)作可極大推進科技的發(fā)展,但協(xié)作過程中的隱私保護是各方參與協(xié)作的必要前提,因此隱私保護已成為云進一步發(fā)展的關(guān)鍵瓶頸.
Table 1 Data Security Requirements and Corresponding Cryptographic Primitives表1 數(shù)據(jù)安全需求及相應(yīng)密碼原語
針對上述安全需求,密碼學中的加密、簽名、認證、密鑰協(xié)商等密碼原語作為保證數(shù)據(jù)機密性、身份合法性、數(shù)據(jù)完整性的技術(shù)具有重要作用.當前,云環(huán)境中較為有效的數(shù)據(jù)安全和隱私保護技術(shù)包括:基于屬性的加密、同態(tài)加密技術(shù)、代理重加密、零知識證明技術(shù)、多方密鑰協(xié)商、群簽名技術(shù)等.
本節(jié)介紹云數(shù)據(jù)安全保護涉及到的密碼學相關(guān)背景知識,主要包括:秘密共享、多方密鑰協(xié)商、數(shù)據(jù)審計和代理重加密.
秘密共享是一種將秘密分割的重要密碼學原語.在秘密共享技術(shù)中,秘密持有者根據(jù)需求選取門限值t并基于特定技術(shù)將秘密值S分割為n個子秘密份額{s1,s2,s3,…,sn}.目前,用于生成子秘密份額的技術(shù)主要包括一元N次多項式、中國剩余定理、多維向量空間等.當且僅當合作的用戶數(shù)量大于門限值t時,恢復(fù)出秘密值S.秘密共享包括4個算法:
1) 初始化.輸入安全參數(shù)l、門限值t.輸出子秘密份額生成函數(shù)Gen()和秘密恢復(fù)函數(shù)Rec().
2) 秘密分割.輸入秘密值S、門限值t,參與秘密共享的人數(shù)n,子秘密份額生成函數(shù)Gen().輸出n個子秘密份額{s1,s2,s3,…,sn}.
3) 秘密份額分發(fā).在安全信道下或采用安全加密算法Enc()將秘密份額分發(fā)給n個參與者.
4) 秘密恢復(fù).輸入秘密份額{s1,s2,s3,…,sm},m≥t,秘密恢復(fù)函數(shù)Rec().輸出秘密值S.
秘密共享的基本安全需求包括2方面:正確性和隱私性.正確性要求具有高效的算法能夠根據(jù)滿足門限要求的秘密份額{s1,s2,s3,…,sm},m≥t恢復(fù)出原始秘密值S;隱私性要求任何不滿足門限t要求的秘密份額組合{s1,s2,s3,…,sm},m 多方密鑰協(xié)商是保證公開網(wǎng)絡(luò)下多方安全交互的基礎(chǔ)密碼原語,多方密鑰協(xié)商主要包括3個算法: 1) 初始化.輸出系統(tǒng)安全參數(shù)l,用戶數(shù)量n.輸出子密鑰生成函數(shù)SubGen(),共享密鑰生成函數(shù)SessionGen(). 2) 子密鑰生成.每個用戶選取隨機數(shù)r和用戶私鑰sk,根據(jù)子密鑰生成函數(shù)SubGen()計算子密鑰ki. 3) 共享密鑰生成.輸入n個用戶的子密鑰,共享密鑰生成函數(shù)SessionGen(),輸出n個用戶的共享密鑰K. 多方密鑰協(xié)商的基本安全需求要求參與用戶外的任何人都無法獲知生成的共享密鑰K. 數(shù)據(jù)審計方案是保障云存儲數(shù)據(jù)完整性的重要密碼學原語.數(shù)據(jù)審計方案主要包括4個算法: 1) 初始化.輸出系統(tǒng)安全參數(shù)l.輸出用戶公私鑰對(pk,sk). 2) 驗證標簽生成.輸入公私鑰對(pk,sk)和文件塊f.輸出驗證標簽Tf. 3) 證明生成.輸入挑戰(zhàn)chal,文件公鑰pk,文件塊f及其對應(yīng)的驗證標簽Tf.輸出被挑戰(zhàn)塊的持有性證明P. 4) 證明驗證.輸入公私鑰對(pk,sk),挑戰(zhàn)chal和證明P.輸出成功或失敗. 數(shù)據(jù)審計方案的安全性要求以極大的概率檢測出外包數(shù)據(jù)的損壞或丟失. 代理重加密是云環(huán)境下保證數(shù)據(jù)共享安全的有效密碼原語.本質(zhì)上來說,代理重加密是實現(xiàn)云環(huán)境下密文轉(zhuǎn)換的一種技術(shù),即將用戶A可解密的加密數(shù)據(jù)轉(zhuǎn)換成用戶B可解密的加密數(shù)據(jù).該特性可有效支持云環(huán)境用戶動態(tài)變化情況下的高效密文更新.代理重加密包括5個算法: 1) 初始化.輸出系統(tǒng)安全參數(shù)l.輸出用戶公私鑰對(pk,sk). 2) 初始加密.用戶持有者A采用加密函數(shù)加密消息M,生成初始密文C=Enc(M). 3) 轉(zhuǎn)換密鑰生成.用戶持有者根據(jù)其意愿分享數(shù)據(jù)的接收方生成轉(zhuǎn)換密鑰KA-B.并將初始密文和轉(zhuǎn)換密鑰提交給代理. 4) 重加密.代理根據(jù)初始密文C和轉(zhuǎn)換密鑰KA-B對密文進行轉(zhuǎn)換,生成轉(zhuǎn)換密文CT. 5) 解密.符合用戶A授權(quán)的用戶在收到經(jīng)過代理轉(zhuǎn)換的密文后使用自己的解密密鑰解密出明文M. 代理重加密的安全性要求代理在轉(zhuǎn)換的過程中無法獲知明文的任何信息. 當前,國內(nèi)外的研究學者們已對各類云數(shù)據(jù)安全保護方案展開研究,取得了一系列研究成果.研究成果主要集中在訪問控制、密鑰協(xié)商、安全審計和安全共享4個方面. 為了保障外包數(shù)據(jù)安全,云服務(wù)器提供商應(yīng)只允許合法用戶進行數(shù)據(jù)訪問和操作,因此訪問控制是云數(shù)據(jù)安全的第一道屏障,目前,屬性加密、秘密共享、簽名等密碼技術(shù)已廣泛應(yīng)用于云環(huán)境以實現(xiàn)訪問控制. 2005年,Sahai和Waters[7]在歐密會上對存儲數(shù)據(jù)的生命周期各階段的數(shù)據(jù)安全和隱私保護問題進行了簡要而全面的分析,并改進基于身份的加密(identity based encryption, IBE)方案,提出了基于屬性的加密(attribute based encryption, ABE)方案.該方案可支持一對多安全數(shù)據(jù)共享,在不可靠的存儲環(huán)境中實現(xiàn)細粒度的訪問控制.隨后,ABE的研究主要分為2個分支:密文策略屬性加密(ciphertext policy attribute based encryption, CP-ABE)[8-9]和密鑰策略屬性加密(ciphertext policy attribute based encryption, KP-ABE)[10-11].相對于KP-ABE,CP-ABE可支持密文的隱式授權(quán)且不依賴于密鑰分發(fā)中心,適用于更多應(yīng)用領(lǐng)域.KP-ABE和CP-ABE基本結(jié)構(gòu)如圖4所示.在ABE中屬性代表一系列標識用戶的元素,如身份、出生年月、工作等可以標識用戶的特征,訪問策略則規(guī)定了何種屬性組合符合要求.在KP-ABE中,密文與用戶屬性綁定,密鑰包含訪問策略,當且僅當密文所綁定的用戶屬性滿足密鑰包含的訪問策略時可正確解密.CP-ABE則相反,即密鑰與用戶屬性綁定,密文包含訪問策略,當且僅當密鑰所綁定的用戶屬性符合密文包含的訪問策略時可正確解密.CP-ABE方案可保護不可信云服務(wù)器環(huán)境下的數(shù)據(jù)機密性,有效支持細粒度數(shù)據(jù)訪問控制. Fig. 4 The structure of KP-ABE and CP-ABE圖4 KP-ABE和CP-ABE基本結(jié)構(gòu) 此外,ABE方案的關(guān)鍵部分,即訪問策略的制定,通常與秘密共享技術(shù)[12]密切相關(guān),在圖4的訪問策略中,葉子節(jié)點代表用戶屬性,其余節(jié)點均表示門限值,秘密共享方案可以為門限的設(shè)計提供良好的解決方案.2010年Yu等人[13]基于ABE、代理重加密、延遲重加密技術(shù)提出了云環(huán)境下安全、可擴展和細粒度的數(shù)據(jù)訪問控制方案.該方案還實現(xiàn)了用戶密鑰問責功能和訪問權(quán)限隱私保護.2015年,王皓等人[11]針對ABE方案計算效率低的問題,引入外部資源優(yōu)化計算效率,形式化定義了外包ABE方案和協(xié)議安全模型,在此基礎(chǔ)上,基于合數(shù)階雙線性群構(gòu)造了一個具體的外包CP-ABE方案,并基于雙系統(tǒng)加密技術(shù)證明協(xié)議的自適應(yīng)安全性.2017年,楊騰飛等人[14]將分類分級的屬性層級支配關(guān)系嵌入ABE機制,實現(xiàn)了訪問控制的層次化授權(quán)特性和存儲數(shù)據(jù)隔離,但該系統(tǒng)復(fù)雜度較高,且用戶撤銷帶來的開銷較大.同年,Huang等人[15]提出了一種基于分層屬性加密的安全、細粒度數(shù)據(jù)訪問控制方案,支持輕量密鑰管理,有效降低了本地服務(wù)器的負擔.此外,該方案僅需更新策略而無需更新加密密文,進一步提高了方案的動態(tài)性.此后,Li等人[16]針對信息中心網(wǎng)絡(luò)(information centric network, ICN)中可能存在的內(nèi)置病毒防護缺失問題,提出了一種強制性內(nèi)容訪問控制方案(mandatory content access control, MCAC),使得內(nèi)容提供者根據(jù)需求對網(wǎng)絡(luò)節(jié)點的緩存內(nèi)容進行控制,該文針對不同內(nèi)容定義安全標簽,根據(jù)標簽判斷路由器是否需要緩存,從而保證了訪問控制的緩存內(nèi)容的安全.Xue等人[17]指出現(xiàn)有的CP-ABE方案中,單屬性授權(quán)機構(gòu)由于需執(zhí)行耗時的用戶合法性驗證和密鑰分配操作,可能導(dǎo)致單點失效問題.另一方面,多權(quán)限訪問控制方案也存在權(quán)限管理屬性集不相交的問題,導(dǎo)致訪問控制效率低下.該文針對上述問題提出了一種具備審計機制的訪問控制方案,并引入可信第三方驗證用戶合法性、實現(xiàn)密鑰分配、支持錯誤審核,有效提升訪問控制方案的效率保證密鑰分配的安全.2019年,Xue等人[18]指出現(xiàn)有訪問控制方案不支持用戶協(xié)作獲得訪問許可.針對該問題,Xue等人設(shè)計了支持用戶協(xié)作的訪問控制結(jié)構(gòu),定義了訪問控制中的轉(zhuǎn)換節(jié)點,通過將轉(zhuǎn)換密鑰嵌入BSW方案[10]的密鑰中,為每個轉(zhuǎn)換節(jié)點添加轉(zhuǎn)換值.轉(zhuǎn)換密鑰和轉(zhuǎn)換值的組合使支持用戶可以相互協(xié)作滿足策略樹規(guī)定的策略.2020年,杜瑞忠等人[19]針對霧計算環(huán)境下節(jié)點資源受限的實際情況,基于模加法一致性秘密分享技術(shù)和重加密機制優(yōu)化CP-ABE方案的加解密和屬性更新效率.然而,改方案沒有考慮節(jié)點域的劃分的問題,隨著設(shè)備來源增多,存在虛假節(jié)點和用戶騙取數(shù)據(jù)的狀況.針對該問題,潘瑞杰等人[20]針對云環(huán)境跨域訪問控制易受惡意用戶攻擊的問題,提出了一種基于動態(tài)用戶信任度的訪問控制模型(ABAC based on dynamic user trust in loud computing, CT-ABAC),將主體、客體、權(quán)限、環(huán)境和用戶信任度等屬性納入訪問請求并設(shè)計采用動態(tài)細粒度的授權(quán)機制,支持用戶動態(tài)變化.此外,引入時間、安全域間評價相似度、懲罰機制等元素計算用戶信任度屬性,進一步優(yōu)化了用戶的可信度評估,保證跨域訪問控制的安全性. 然而僅依靠ABE并不能從根本上徹底解決密文訪問控制問題.曹珍富等人[21]在此基礎(chǔ)上構(gòu)建了高效的可追蹤、可撤銷、多機構(gòu)的ABE方案.具體而言,在可追蹤方面,劉振和曹珍富等人[22]給出了第一個同時支持高表達力和抗全合謀黑盒可追蹤性的密文策略屬性基加密系統(tǒng),其密文大小達到了目前所知的最好水平,即與系統(tǒng)的總用戶數(shù)成亞線性關(guān)系.在可撤銷方面,董曉蕾等人[23]提出了無需授權(quán)的可撤銷ABE方案,引起Sahai等人[24]的興趣,在2012年的美密會(CRYPTO 2012)上提出了另一個可撤銷屬性基加密方案,去掉了撤銷列表.在多機構(gòu)屬性基加密方面,劉振和曹珍富等人[25]給出了一個標準模型下適應(yīng)性安全的多機構(gòu)密文策略屬性基加密方案,其中的任何機構(gòu)都不能獨立解開任何密文,克服了Waters等人[26]在歐密會(EUROCRYPT 2011)上的分布式ABE工作中“每個機構(gòu)都能獨立解開部分密文”的弱點,徹底解決了屬性基加密系統(tǒng)中固有的密鑰托管問題.周俊和曹珍富等人[27]還提出了同時具有白盒可追蹤、可撤銷性質(zhì)的多機構(gòu)屬性基加密方案,在電子醫(yī)療云計算系統(tǒng)中實現(xiàn)了多級隱私保護.近年來,曹珍富等人[28]還提出了自治路徑代理重加密算法,實現(xiàn)了對代理路徑的高效的細粒度密文訪問控制方法.代理者可以按優(yōu)先權(quán)由高到低指定一系列期望的被代理者,使得代理者可以完全控制代理過程以及代理路徑的管理. 綜上所述,國內(nèi)外研究學者已對基于屬性加密的訪問控制方案展開了廣泛的研究,但是,已有的研究成果仍然存在用戶隱私易泄露的問題.在云環(huán)境下一方面由于云是半可信的,可能竊取用戶隱私;另一方面,用戶對隱私保護的意識和需求不斷提升.因此,云環(huán)境下支持隱私保護的訪問控制方案仍需進一步研究. 密鑰協(xié)商協(xié)議是保證外包數(shù)據(jù)機密性,支持數(shù)據(jù)共享、訪問控制、數(shù)據(jù)審計等安全操作的基礎(chǔ)密碼組件.1976年,Diffie和Hellman首次提出了密鑰協(xié)商的概念[29],該工作奠定了公鑰密碼學的基礎(chǔ).Diffie-Hellman協(xié)議為在公開信道下創(chuàng)建2個參與者的會話密鑰提供了有效的解決方案,協(xié)議的安全性要求僅通信雙方可獲知會話密鑰,其余任何信道監(jiān)聽者都無法知道最終生成的會話密鑰,該會話密鑰可用于保證通信雙方后續(xù)通信安全.然而,該協(xié)議缺乏認證機制,無法抵抗中間人攻擊,此外,該協(xié)議僅能支持兩方進行密鑰協(xié)商,無法拓展至多用戶場景的密鑰協(xié)議.此后,大量的研究工作圍繞密鑰協(xié)商協(xié)議的安全和性能展開.針對密鑰協(xié)商過程中的安全問題,Matsumoto等人[30]對DH協(xié)議進行了擴展,實現(xiàn)了支持隱式密鑰認證的密鑰協(xié)商協(xié)議,保證通信雙方能確保對方的真實身份.然而,Law等人[31]指出該協(xié)議無法實現(xiàn)密鑰確認的安全需求,并提出了一種可擴展至任意有限群的帶密鑰確認功能的密鑰協(xié)商協(xié)議.在這段時間內(nèi),針對密鑰協(xié)商協(xié)議的安全需求,涌現(xiàn)出相當一部分具有代表性的安全模型.第一個密鑰協(xié)商安全模型[32]由Bellare和Rogaway提出,基于該模型定義了密鑰協(xié)商協(xié)議語義安全性,并設(shè)計了一個兩方帶認證的密鑰協(xié)商協(xié)議.此后,Blake-Wilson等人[33]提出了適用于公鑰密碼體制下密鑰協(xié)商的BJM97模型.Bellare等人[34]提出了BPR00模型,該模型適用于基于口令的密鑰協(xié)商協(xié)議.Canetti和Krawczyk[35]提出了CK01模型,該模型定義了目前公認的會話密鑰協(xié)商安全模型,并且給出了一種證明協(xié)議安全的簡單模塊化證明方法.Lamacchia等人[36]基于CK01模型提出了一種增強的eCK模型,該模型保留了原模型能夠抵抗密鑰偽裝攻擊的功能,并且允許敵手查詢臨時私鑰和長期私鑰等,但是不允許攻擊者查詢會話內(nèi)部狀態(tài).Cremers[37-38]對CK和eCK模型進行了詳細的比較和分析,并得出2個模型間并無強弱好壞之分.針對標準模型下的密鑰協(xié)商安全性證明問題,高志剛等人[39]基于身份加密,提出了標準模型下可證明安全的基于身份加密方案.王圣寶等人[40]提出了一個標準模型下的基于身份的密鑰協(xié)商協(xié)議.然而,郭華等人在文獻[41]中指出該協(xié)議需要基于強困難性假設(shè),且不能抵抗擴充的私鑰泄漏模仿攻擊.近年來,隨著在線群組協(xié)作的需求增加和大規(guī)模共享平臺的構(gòu)建,從兩方/三方向多方擴展已經(jīng)成為密鑰協(xié)商協(xié)議的重要研究方向.一般來說,密鑰協(xié)商協(xié)議主要分為交互式密鑰協(xié)商和非交互密鑰協(xié)商.其中交互式密鑰協(xié)商主要是基于兩方/三方密鑰協(xié)商或者加密方案通過多方交互最終生成會話密鑰的過程.協(xié)議的效率要求交互過程中的通信開銷和交互輪數(shù)盡可能的少.非交互式密鑰協(xié)商的發(fā)展則主要依賴于多線性對、不可區(qū)分混淆等技術(shù)的創(chuàng)新.在非交互式密鑰協(xié)商領(lǐng)域,自1976年Diffie-Hellman協(xié)議[29]提出以來,直到2000年,三方非交互式密鑰協(xié)商協(xié)議才由Joux等人[42]提出,該協(xié)議基于雙線性對實現(xiàn)了三方密鑰協(xié)商,同時這也是雙向性對在密碼學上的首次正面地應(yīng)用.2002年,Boneh等人[43]提出了基于多線性對(multilinear pairing)構(gòu)造多方非交互式協(xié)商協(xié)議的思想,然而多線性對的構(gòu)造在當時依然是一個懸而未決的問題.直到2013年,Garg,Gentry和Halevi團隊[44]以及Coron,Lepoint和Tibouchi團隊[45]才分別構(gòu)造出具體的多線性對.然而,由于多線性對較為抽象且實現(xiàn)困難,至今仍沒有被應(yīng)用于實際環(huán)境下的多方密鑰協(xié)商協(xié)議.2014年,Boneh和Zhandry[46]在美密會上提出了基于不可區(qū)分混淆技術(shù)(indistinguishability obfuscation, iO)構(gòu)造的多方密鑰協(xié)商協(xié)議,相較于多線性對,基于iO技術(shù)的密鑰協(xié)商協(xié)議不需要初始化操作即可運行.然而,由于混淆程序的設(shè)計和運行耗時問題,基于iO技術(shù)的多方密鑰協(xié)商也沒有被投入實際應(yīng)用. 不難看出,非交互式密鑰協(xié)商發(fā)展緩慢,現(xiàn)有安全模型也大都針對交互式密鑰協(xié)商協(xié)議提出,難以直接適配非交互式密鑰協(xié)商的安全性證明.此外,現(xiàn)有基于多線性對或者iO技術(shù)的密鑰協(xié)商協(xié)議仍難以投入實際應(yīng)用.非交互式密鑰協(xié)商具備優(yōu)越的性能,因此如何構(gòu)建適用于非交互式密鑰協(xié)商的安全模型,設(shè)計實用的數(shù)學工具以實現(xiàn)安全高效的非交互式多方密鑰協(xié)商協(xié)議是密鑰協(xié)商發(fā)展中亟待解決的問題.在交互式密鑰協(xié)商領(lǐng)域,根據(jù)協(xié)商交互模型的組織結(jié)構(gòu),可以將其分為環(huán)形模型、分層模型和廣播模型的協(xié)議.Ingemerson等人[47]基于Diffie-Hellman協(xié)議,設(shè)計了密鑰協(xié)商的環(huán)形交互模型,將協(xié)商人數(shù)擴展至多方.然而,該協(xié)議基于較弱的安全模型,導(dǎo)致協(xié)議僅能抵抗具有竊聽功能的敵手.Atenise等人[48]在多方密鑰協(xié)商協(xié)議中引入了認證功能,并對主動攻擊進行了啟發(fā)式的安全分析.Steiner等人[49]考慮了組成員增減變動、更新等不同情況,提出了一個支持用戶動態(tài)變動的多方密鑰協(xié)商協(xié)議.以上方案都采用啟發(fā)式的分析方法對主動攻擊行為進行分析,缺少嚴格的安全性證明,在真實環(huán)境下,不可避免地存在很多潛在的安全威脅. Kim等人[50]基于兩方密鑰協(xié)商,提出了一種基于二叉樹結(jié)構(gòu)的交互模型,并基于此設(shè)計了多方密鑰協(xié)商協(xié)議,基于二叉樹的靈活性,該協(xié)議可以很好地支持用戶的變動.然而,該協(xié)議僅對協(xié)議的安全性進行了啟發(fā)式的證明.Nalla和Reddy[51]基于二叉樹交互模型中引入認證技術(shù),設(shè)計了可認證的多方密鑰協(xié)商協(xié)議.Barua等人[52]結(jié)合Joux三方密鑰協(xié)商協(xié)議[42],設(shè)計了基于三叉樹結(jié)構(gòu)的交互模型,并在此基礎(chǔ)上提出了一種基于三叉樹交互模型的多方密鑰協(xié)商協(xié)議.然而,該協(xié)議不提供認證功能.王志偉等人[53]也提出了一種基于樹結(jié)構(gòu)和門限思想的組密鑰協(xié)商協(xié)議,但是該協(xié)議具有較大的計算開銷.Burmester和Desmedt[54]提出了一個非認證組密鑰協(xié)商協(xié)議該協(xié)議的優(yōu)點是密鑰協(xié)商過程只需2輪通信,并且能夠抵抗外部節(jié)點的假冒攻擊,但是該協(xié)議需要一個認證廣播信道且無法抵抗內(nèi)部惡意節(jié)點的攻擊.Bresson等人[55]提出基于口令的組密鑰協(xié)商協(xié)議,然而,此協(xié)議所需的交互輪數(shù)與參與通信的用戶總數(shù)量成線型關(guān)系.2006年,Damiani等人[56]提出了選擇性加密和分級密鑰分配的概念,以此來實現(xiàn)密鑰的管理.2010年,Blundoa等人[57]提出了一種啟發(fā)式的密鑰管理方案,大大減少了用戶訪問控制所需的認證密鑰數(shù)量.為了降低用戶認證的成本,啟發(fā)式方案利用最小生成樹進行密鑰優(yōu)化.然而,該方案不能實現(xiàn)用戶密鑰的更新.2014年,Odelu等人[58]提出了一種基于對稱密鑰體制和單向散列函數(shù)的動態(tài)密鑰管理方案.該方案可以實現(xiàn)對安全類的添加、刪除和更改操作.在上述方案的基礎(chǔ)上,Hong等人[59]提出了一種基于中國剩余定理的分層密鑰管理方案,該方案可以管理用戶訪問外包數(shù)據(jù)的權(quán)限,同時也可以降低密鑰更新的成本. 近來在交互式密鑰協(xié)商協(xié)議方面的工作大都集中在對協(xié)議性能的改進上和對功能的增加上.毛江棟等人[60]、陳海紅等人[61]、曾繼強等人[62]對基于三叉樹結(jié)構(gòu)的密鑰協(xié)商協(xié)議進行改進,引入橢圓曲線加密技術(shù)并設(shè)計成員管理機制,實現(xiàn)了改進的支持成員動態(tài)變化的群組密鑰協(xié)商.2016年,陳勇等人[63]基于零知識證明技術(shù),設(shè)計了一種可否認群密鑰協(xié)商協(xié)議,實現(xiàn)了密鑰協(xié)商過程中的隱私保護.Teng等人[64]在密鑰協(xié)商協(xié)議中引入矩陣論,有效支持協(xié)商過程中用戶動態(tài)變化問題,然而,該協(xié)議交互信息量較多,計算和通信開銷較大.方亮等人[65]基于秘密共享技術(shù),提出了無需在線可信第三方的密鑰協(xié)商協(xié)議.然而,該協(xié)議需要較大的計算和通信開銷.鄧淑華等人[66]基于ElGamal體制,提出了一種安全組播密鑰管理方案,提升了組密鑰管理的可擴展性,然而,該協(xié)議基于集中式模型,存在單點失效以及成員貢獻失衡問題.為了平衡多方密鑰協(xié)商協(xié)議所需的通信開銷、交互次數(shù)和協(xié)議功能性.2009年,Wu等人[67]在歐密會上提出了一種非對稱群組密鑰協(xié)商協(xié)議(asymmetric group key agreement, ASGKA),平衡了非交互式密鑰協(xié)商難以實現(xiàn)以及交互式密鑰協(xié)商輪數(shù)偏高,安全性不足等問題.該協(xié)議基于可聚合簽名廣播密碼原語實現(xiàn)了多方單輪群組密鑰協(xié)商,該協(xié)議執(zhí)行效率高且在n-BDHE(n-bilinear diffie-hellman exponentiation,n-BDHE)假設(shè)下是可證明安全的.ASGKA密鑰協(xié)商模型和傳統(tǒng)多方密鑰協(xié)商模型如圖5所示,在傳統(tǒng)多方密鑰協(xié)商協(xié)議中,每個群組成員協(xié)商完成后將生成一個群組會話密鑰,該密鑰需要保密以保證后續(xù)通信安全,ASGKA協(xié)議中,協(xié)商完成后每個群組成員將生成各自的用戶私鑰(群組私鑰)和一個群組公鑰,每個成員所持有的不相同的用戶私鑰可以解密群組公鑰加密的信息.ASGKA協(xié)議相較于傳統(tǒng)群組密鑰協(xié)商協(xié)議具備無需管理員參與(dealer-free)、密鑰自認證(key self-confirmation)、惡意參與方識別(identification of disruptive principals)等優(yōu)勢.然而,通過該協(xié)議得到的群組公私鑰需要基于公鑰加密實現(xiàn)安全通信,其運行效率將低于傳統(tǒng)群組密鑰協(xié)商得到的對稱密鑰.此外,該協(xié)議具備密鑰同態(tài)的特性,若存在惡意參與者,則會導(dǎo)致協(xié)議受到共謀攻擊.謝濤等人[68]研究了ASGKA協(xié)議[67]中的共謀攻擊問題,定義了非對稱群組密鑰交換的叛逆追蹤性,并嚴格證明了具備密鑰同態(tài)性質(zhì)的非對稱密鑰協(xié)商協(xié)議中合謀者構(gòu)成的集合滿足非模糊性導(dǎo)致合謀者是不可追蹤的.2019年,Shen等人[69]創(chuàng)新了會話密鑰的協(xié)商方式,定義了基于對稱平衡不完全區(qū)組設(shè)計(symmetric balanced incomplete block design, SBIBD)的負載均衡、通信輕量的多播協(xié)商模型.設(shè)計了(7,3,1)-SBIBD結(jié)構(gòu)多方密鑰協(xié)商協(xié)議并進一步根據(jù)SBIBD的結(jié)構(gòu)特性,構(gòu)造SBIBD的通用數(shù)學表達,設(shè)計SBIBD結(jié)構(gòu)轉(zhuǎn)換算法,使其適用于離散多方密鑰協(xié)商協(xié)議,該結(jié)構(gòu)轉(zhuǎn)換算法如圖6所示. Fig. 5 The model of ASGKA protocol and the traditional key agreement protocol圖5 ASGKA密鑰協(xié)商模型和傳統(tǒng)多方密鑰協(xié)商模型 Fig. 6 The transformation algorithm of the SBIBD structure圖6 SBIBD結(jié)構(gòu)轉(zhuǎn)換算法 不難看出,國內(nèi)外研究學者已在密鑰協(xié)商相關(guān)領(lǐng)域做出了一系列有益的探索,在兩方密鑰協(xié)商領(lǐng)域已提出很多經(jīng)典的方案并投入實際使用.在多方密鑰協(xié)商領(lǐng)域,針對交互式多方密鑰協(xié)商的交互計開銷和協(xié)議安全性已展開了大量研究.然而,面對新環(huán)境如區(qū)塊鏈、大數(shù)據(jù)、云環(huán)境等應(yīng)用領(lǐng)域,支持隱私保護、分層管理、高效更新等需求的新型交互式多方密鑰協(xié)商協(xié)議仍有待研究.在非交互式多方密鑰協(xié)商領(lǐng)域,高效實用的非交互式多方密鑰協(xié)商協(xié)議的設(shè)計依賴于適用的具備如有限域上的離散對數(shù)、橢圓曲線上的離散對數(shù)陷門性質(zhì)的數(shù)學工具的開發(fā). 外包數(shù)據(jù)的完整性是云存儲的基本需求,該屬性是可供數(shù)據(jù)所有者參照的反映外包數(shù)據(jù)安全的直接參數(shù). 當數(shù)據(jù)以密文形式存儲在服務(wù)器中時,數(shù)據(jù)的直接可用性會降低,并且為用戶端對數(shù)據(jù)的存儲完整性驗證帶來了困難.為了解決上述問題,出現(xiàn)了大量針對密文數(shù)據(jù)完整性驗證的研究成果[70-74].2007年,Ateniese等人[75]首次提出了公共審計方案,該方案定義了“公共審計”的概念,并提出了“概率性審計”的思想極大地降低了審計的計算和通信開銷.具體來說,在1%的數(shù)據(jù)被損壞時,該方案僅需取樣數(shù)據(jù)文件4.6%的數(shù)據(jù)塊即能以99%的概率檢測到數(shù)據(jù)的損壞.由于不需對整個數(shù)據(jù)文件進行審計,該方案對大小為768 KB的文件進行審計的開銷較傳統(tǒng)方案提升了185倍. 2007年,Sebé等人[76]基于Diffie-Hellman協(xié)議設(shè)計了一種可支持隨機數(shù)據(jù)塊存儲檢查的數(shù)據(jù)持有性驗證協(xié)議,使得用戶可在無需取回全部數(shù)據(jù)的情況下對數(shù)據(jù)的完整性進行驗證.隨后,為了提高數(shù)據(jù)完整性驗證結(jié)果的可信度和公平性,一些學者通過引入一個可信第三方(third party auditor, TPA)設(shè)計了一種可支持公共審計的數(shù)據(jù)存儲審計協(xié)議.Wang等人[77]提出了一個公共云數(shù)據(jù)審計協(xié)議,該協(xié)議基于密碼學中的同態(tài)消息認證碼和隨機掩碼技術(shù)支持審計過程中的用戶隱私保護.為了在審計中實現(xiàn)數(shù)據(jù)動態(tài)操作,Wang等人[78]通過在審計協(xié)議的設(shè)計中引入Merkle-Hash-Tree技術(shù),使得審計協(xié)議可支持數(shù)據(jù)動態(tài)操作.2013年,Zhu等人[79]設(shè)計了一種基于索引哈希表的審計方案,相較之前的協(xié)議而言,該方案的計算和通信開銷都有所減少.但是,鑒于該協(xié)議中所采用的索引哈希表是一種順序表,按照順序表的屬性,當遇到插入、刪除等會改變索引哈希表結(jié)構(gòu)的動態(tài)操作時,該協(xié)議開銷仍然較大,不適用于數(shù)據(jù)的動態(tài)操作.2015年,Liu等人[80]基于再生碼技術(shù)(regenerating codes)提出了一種支持容錯性和故障修復(fù)功能的數(shù)據(jù)審計方案,該方案解決了審計過程中要求數(shù)據(jù)所有者實時在線的問題,降低了數(shù)據(jù)擁有者的在線負擔.然而,該方案中數(shù)據(jù)所有者委托的代理可以偽造任何數(shù)據(jù)塊的身份驗證器,導(dǎo)致該協(xié)議并不安全.2018年,He等人[81]針對云輔助無線體域網(wǎng)環(huán)境下(wireless body area networks, WBANs)資源受限問題,提出了一種高效的無證書公共審計(certificateless public auditing, CLPA)方案,解決了審計協(xié)議中的密鑰管理和密鑰托管問題,能夠抵御傳統(tǒng)基于身份(identity-based, ID-based)和基于公鑰密鑰體制的審計方案中的Ⅰ型敵手和Ⅱ型敵手,其中Ⅰ型敵手具備替換用戶公鑰的能力,Ⅱ型敵手具備訪問主密鑰的能力. 另一方面,共享數(shù)據(jù)審計是驗證共享數(shù)據(jù)完整性的重要方案.在云存儲服務(wù)中,由于數(shù)據(jù)的所有權(quán)和數(shù)據(jù)的控制權(quán)分離,使得共享數(shù)據(jù)的完整性成為用戶使用云存儲最大的擔憂.共享數(shù)據(jù)審計方案有效實現(xiàn)云數(shù)據(jù)完整性的驗證,保障了共享數(shù)據(jù)的完整性.已有的共享數(shù)據(jù)審計協(xié)議,多采用基于線性同態(tài)認證子技術(shù)進行實現(xiàn),但這些協(xié)議都基于復(fù)雜的密鑰管理,通常采用PKI基礎(chǔ)設(shè)施管理密鑰,證書的生成、存儲、撤銷、更新是很昂貴的操作,復(fù)雜的密鑰管理導(dǎo)致協(xié)議在具體實施時效率不高.針對共享數(shù)據(jù)審計的效率不高問題,Yu等人[82]提出了一系列具備簡化密鑰管理的云數(shù)據(jù)完整性審計模型,包括基于身份的云數(shù)據(jù)完整性審計協(xié)議、基于生物特征的云數(shù)據(jù)完整性審計協(xié)議等.正規(guī)化了這些新型協(xié)議的系統(tǒng)模型、安全需求和安全模型,并提出可證明安全的一系列協(xié)議.方案中提出基于身份的云數(shù)據(jù)完整性審計協(xié)議系統(tǒng)模型,給出其安全性定義,該系統(tǒng)模型能有效抵抗惡意的云服務(wù)器、防止對第三方審計者泄露信息. 結(jié)合基于身份的簽名方案及非對稱群組密鑰協(xié)商技術(shù),給出基于身份的云數(shù)據(jù)完整性審計協(xié)議的具體構(gòu)造,其中挑戰(zhàn)響應(yīng)協(xié)議由第三方審計者與云服務(wù)器進行協(xié)商完成,在生成共享密鑰時必須包含挑戰(zhàn)塊,并在一般群模型下證明基于身份的云數(shù)據(jù)完整性審計協(xié)議的安全性.通過原型系統(tǒng)執(zhí)行云數(shù)據(jù)完整性審計協(xié)議,性能分析表面隨著挑戰(zhàn)塊數(shù)的增加,時間開銷呈遞增趨勢,當挑戰(zhàn)460塊時,驗證者驗證響應(yīng)只需花費3.0 s,服務(wù)器生成響應(yīng)花費0.7 s.這一協(xié)議提升云數(shù)據(jù)審計協(xié)議安全性的同時滿足實用性需求,為共享數(shù)據(jù)審計提供了有效的解決方案. Fig. 7 The system model of fuzzy identity-based data integrity auditing protocol.圖7 基于模糊身份的云數(shù)據(jù)完整性審計協(xié)議系統(tǒng)模型 Fig. 8 Doubly linked info table圖8 雙向鏈式信息表 共享數(shù)據(jù)審計協(xié)議使得驗證者無需下載數(shù)據(jù)能夠有效檢查數(shù)據(jù)的完整性.但現(xiàn)有的數(shù)據(jù)審計協(xié)議的密鑰管理相對復(fù)雜,為解決復(fù)雜的密鑰管理這一挑戰(zhàn),Li等人[83]在共享數(shù)據(jù)完整性審計中引入模糊身份認證機制,結(jié)合現(xiàn)實應(yīng)用,將用戶生物特征(如指紋、虹膜)作為模糊身份進行數(shù)據(jù)完整性審計,提出基于生物特征的云數(shù)據(jù)完整性審計協(xié)議,形式化定義其系統(tǒng)模型和安全模型,如圖7所示,并給出基于生物特征的云數(shù)據(jù)完整性審計協(xié)議架構(gòu).其主要包含3個階段:1)注冊.采用專用設(shè)備(如指紋掃描儀)采集用戶生物特征,提取特征向量,生成用戶私鑰;2)存儲.用戶對元數(shù)據(jù)進行預(yù)處理,生成文件標簽及認證子;3)審計.根據(jù)挑戰(zhàn)-響應(yīng)算法,審計數(shù)據(jù)完整性.結(jié)合模糊身份加密思想與門限秘密共享方案,給出具體的基于生物特征技術(shù)的模糊身份云數(shù)據(jù)完整性審計協(xié)議,其有效保障數(shù)據(jù)完整性,同時提供了有效容錯性,當且僅當2個身份足夠接近時,其中一個用戶身份可以驗證對另一身份響應(yīng)的正確性.借助可證明安全理論,在選擇身份安全模型下證明協(xié)議基于計算Diffie-Hellman假設(shè)和離散對數(shù)假設(shè)的安全性.通過原型系統(tǒng)部署基于生物特征的云數(shù)據(jù)完整性審計協(xié)議,當挑戰(zhàn)300個數(shù)據(jù)塊,第三方審計者需要0.997 3 s進行驗證和服務(wù)器花費9.071 s,而當挑戰(zhàn)460個數(shù)據(jù)塊,第三方審計者花費1.324 s和服務(wù)器12.938 s.協(xié)議實現(xiàn)模糊身份審計功能,同時滿足有效性及實用性.數(shù)據(jù)審計的相關(guān)模型和協(xié)議等成果已被同行推廣至數(shù)據(jù)動態(tài)操作、多副本數(shù)據(jù)持有性證明、數(shù)等場景. 針對當前的研究工作中,防篡改、防泄露的云審計協(xié)議無法解決更新數(shù)據(jù)操作復(fù)雜、定位數(shù)據(jù)位置耗時等問題,導(dǎo)致計算資源占用過度、審計效率低下,難以滿足云數(shù)據(jù)在共享過程中即時驗證的需求.Shen等人[84]定義了一種新型的雙向鏈式信息表(doubly linked info table),如圖8所示,有效地解決了云存儲服務(wù)中數(shù)據(jù)塊物理位置與索引號之間存在的映射問題,在不引入額外開銷的前提下更好地支持了數(shù)據(jù)的動態(tài)更新.同時,提出了面向云數(shù)據(jù)安全共享的雙向鏈式審計協(xié)議,支持低開銷、高效率的云數(shù)據(jù)動態(tài)操作和批量審計,提供公開、無塊驗證,從而有效防止云中的數(shù)據(jù)(特別是涉及隱私的數(shù)據(jù))被驗證者竊取.實驗表明:在審計20 000個數(shù)據(jù)塊時,相較于傳統(tǒng)的基于動態(tài)哈希表結(jié)構(gòu)的審計協(xié)議,數(shù)據(jù)更新效率、數(shù)據(jù)審計效率均提高150%. 不難看出,國內(nèi)外研究學者已在數(shù)據(jù)審計方面展開了較為充分的研究.但是,已有的研究成果動態(tài)操作效率低下,在完整性和正確性的監(jiān)測、檢驗,以及數(shù)據(jù)的可用性的保障等方面仍有所欠缺.此外,目前少有合適的數(shù)據(jù)審計協(xié)議能在精確定位的前提下實現(xiàn)數(shù)據(jù)恢復(fù). 數(shù)據(jù)安全共享作為云計算的重要應(yīng)用受到了國內(nèi)外學者的廣泛關(guān)注,產(chǎn)生了大量的研究成果.目前國內(nèi)外在數(shù)據(jù)安全共享領(lǐng)域的研究成果頗豐.代理重加密(proxy re-encryption, PRE)技術(shù)能讓數(shù)據(jù)擁有者將加密數(shù)據(jù)的解密權(quán)限委托給授權(quán)接收者而無需直接交互[85-90]. 傳統(tǒng)的公鑰密碼學和身份密碼學(identity-based cryptography, IBC)方案分別在證書管理和密鑰托管方面存在問題.2012年,Xu等人[91]在文獻[92]的基礎(chǔ)上,提出一種無證書PRE方案以克服密鑰托管問題.2013年,Liu等人[93]針對數(shù)據(jù)共享過程中的用戶動態(tài)變化問題,基于動態(tài)廣播加密和群簽名技術(shù),提出了一種用戶可撤銷的云數(shù)據(jù)共享方案.該方案中,組管理員維護一張記錄用戶撤銷列表(revocation list, RL)如表2所示,其中,IDgroup為群組標識符,三元組(Ai,xi,ti)表示用戶i在ti時刻被撤銷,Pi為群組管理員使用主私鑰和群G1上的隨機元素計算得到,其余參數(shù)Zr,tRL,sig(RL)為撤銷列表相關(guān)參數(shù).基于撤銷列表可判斷用戶的合法性,實現(xiàn)高效的用戶撤銷操作.然而,隨著撤銷用戶的增多,撤銷列表的管理和查詢將影響組管理員和用戶數(shù)據(jù)共享的效率.此外,該方案易遭受云和撤銷用戶的共謀攻擊,將導(dǎo)致被撤消的用戶獲得共享數(shù)據(jù)并泄露其他合法成員的秘密.2015年,李繼國等人[94]在CP-ABE方案的基礎(chǔ)上提出了保護隱私且支持用戶撤銷的屬性加密方案.2016年,Lu等人[95]構(gòu)建了一個無雙線性對的CB-PRE方案,但該方案的安全性只能在隨機預(yù)言機模型中得到證實.因此,在標準模型中構(gòu)造無雙線性對的CB-PRE方案將是可探究的方向.2017年,Li等人[96]提出了一種移動用戶端基于屬性的數(shù)據(jù)共享方案,該方案通過使用變色龍哈希函數(shù)產(chǎn)生即時密文的方法實現(xiàn)了移動用戶間的安全數(shù)據(jù)共享,然而,其尚未對用戶屬性的直接撤銷展開研究. Table 2 Revocation List表2 撤銷列表 2017年,Shen等人[97]針對現(xiàn)有數(shù)據(jù)共享方案的設(shè)計多專注于一對多的共享模式,限制了數(shù)據(jù)交互的靈活性,且存在難以追蹤數(shù)據(jù)來源,易于遭受共謀攻擊等問題,無法保證安全高效的匿名抗共謀數(shù)據(jù)共享.突破匿名抗共謀數(shù)據(jù)共享的傳統(tǒng)設(shè)計觀念,設(shè)計了特殊結(jié)構(gòu)的組公鑰,生成專屬標簽,用于匿名標記及用戶追蹤;借助群密鑰構(gòu)建組內(nèi)/組間通信框架,減少冗余的授權(quán)操作;合理定義系統(tǒng)參數(shù)更新方式,提高密鑰生成的安全性,如圖9所示.此外,在可追蹤、抗共謀數(shù)據(jù)共享算法的基礎(chǔ)上,設(shè)計了容錯檢測機制,如圖10所示,有效保護了數(shù)據(jù)共享的安全高效執(zhí)行.具體地說,在初始化期間,每個成員需向組管理員提交一個關(guān)于子密鑰的承諾.在密鑰協(xié)商之后,組管理員在所有成員之間廣播消息已驗證會話密鑰的一致性.若有成員發(fā)現(xiàn)不一致,則其將向組管理員提交一份錯誤報告,此后,組管理員先根據(jù)發(fā)送錯誤報告用戶的承諾驗證該用戶的合法性,若用戶合法,則其余所有成員都將進行錯誤檢測以抵御差別密鑰攻擊. Fig. 9 Traceable and collusion-resistant data sharing model圖9 可追蹤、抗共謀數(shù)據(jù)共享模型 Fig. 10 Fault-tolerant detection mechanism圖10 容錯檢測機制 2019年,Shen等人[98]針對共享過程中敏感信息易暴露的問題,提出了一種遠程數(shù)據(jù)完整性審計方案,方案中用戶將與原始文件的個人敏感信息相對應(yīng)的數(shù)據(jù)塊隱藏起來,并生成相應(yīng)的簽名,然后將其發(fā)送給清理程序.清理程序?qū)⑦@些隱藏的數(shù)據(jù)塊清理為統(tǒng)一格式,并且還清理了與組織的敏感信息相對應(yīng)的數(shù)據(jù)塊.它還會將相應(yīng)的簽名轉(zhuǎn)換為已清理文件的有效簽名.該方案實現(xiàn)了遠程數(shù)據(jù)完整性審計,同時支持在云存儲中保護敏感信息的情況下進行數(shù)據(jù)共享.同年,Wei等人[99]針對個人電子病歷共享過程中的隱私保護問題,考慮了外包個人醫(yī)療數(shù)據(jù)強安全性和特定的安全需求,具體來說為了增強系統(tǒng)安全性并滿足特定應(yīng)用的需求,在基礎(chǔ)ABE方案中引入用戶撤銷,秘密密鑰委派和密文更新機制,并提出了基于可撤消存儲分層屬性的加密(revocable-storage hierarchical attribute-based encryption, RS-HABE)方案.所提出的RS-HABE方案同時具有前向安全性(被撤消的用戶不能再訪問以前的加密數(shù)據(jù))和后向安全性(被撤消的用戶也不能訪問后續(xù)的加密數(shù)據(jù)),并且在雙線性困難性問題假設(shè)下能夠達到選擇性安全. 2020年,Pu等人[100]針對邊緣計算數(shù)據(jù)共享過程中的隱私泄露問題,提出了一種隱私保護、可恢復(fù)和可撤銷的邊緣數(shù)據(jù)共享方案.該方案設(shè)計了一種基于區(qū)塊鏈的屬性撤銷鏈,實現(xiàn)了CP-ABE方案中的屬性撤銷.同時,針對單個ES被劫持的情況,引入了秘密共享方案輔助數(shù)據(jù)恢復(fù).此外,該方案提出了相應(yīng)的高效檢測機制和密鑰更新策略,以保證方案的安全穩(wěn)定運行.同年,Huang等人[101]針對現(xiàn)有數(shù)據(jù)共享研究僅考慮同組用戶共享的問題,提出了一種基于區(qū)塊鏈的數(shù)據(jù)共享方案有效支持多組協(xié)作數(shù)據(jù)共享.該方案基于聯(lián)盟區(qū)塊鏈技術(shù),在無需TPA參與的情況下實現(xiàn)了共享數(shù)據(jù)的高效和公共驗證.此外,該方案可以支持用戶的匿名性、可追溯性和不可陷害性. 此外,還有一系列工作針對密文計算結(jié)果的安全數(shù)據(jù)共享開展研究.國內(nèi)外現(xiàn)有做法是利用公鑰全同態(tài)加密技術(shù),在計算結(jié)果接收方的公鑰下對每一個數(shù)據(jù)進行全同態(tài)加密,從而使得授權(quán)的接收方能用其私鑰正確解密明文計算結(jié)果.2009年,Gentry等人[102]首次提出了公鑰FHE,他們先構(gòu)造了SWHE方案,并使它可引導(dǎo).然而,基于Gentry等人[102]的公鑰全同態(tài)加密方案需要對明文消息逐比特加密,計算開銷非常巨大,所以無法直接用于邊緣計算底層資源受限的本地設(shè)備.Halevi等人[103]建立了一個名為HElib的FHE算法庫,以實現(xiàn)全同態(tài)加密系統(tǒng)和自引導(dǎo)方法.Chen等人[104]利用重線性化技術(shù)和密文打包技術(shù),基于門限全同態(tài)加密算法提出了多密鑰全同態(tài)加密算法,并將其應(yīng)用于密文域的神經(jīng)網(wǎng)絡(luò)訓練與預(yù)測.雖然上述國內(nèi)外關(guān)于公鑰全同態(tài)加密(FHE)的工作取得了一定成效,但其高計算、存儲和通信開銷仍然無法滿足邊云數(shù)據(jù)安全計算和安全共享中資源受限的本地設(shè)備的客觀性能需求.近年來,周俊和曹珍富等人[105-106]不依賴公鑰全同態(tài)加密,通過減少公鑰加密使用次數(shù),提出了單用戶多數(shù)據(jù)輕量級隱私保護外包計算新方法,實現(xiàn)了云計算系統(tǒng)中高效的可驗證隱私保護模式匹配協(xié)議;同時將該方案進一步擴展到多用戶多數(shù)據(jù)場景,基于常數(shù)次任意單向陷門置換提出了輕量級的多密鑰全同態(tài)映射數(shù)據(jù)封裝機制,其中的單項陷門置換可用基于身份加密、基于屬性加密及抗量子攻擊的公鑰加密算法進行實例化,從而實現(xiàn)不同場景下為滿足多種安全性及應(yīng)用需要設(shè)計的安全數(shù)據(jù)共享協(xié)議. 綜上所述,研究人員已經(jīng)對安全數(shù)據(jù)共享相關(guān)技術(shù)做出了大量探究,但是已有的基于屬性的數(shù)據(jù)共享方案不能較好地解決用戶屬性撤銷的問題.同時,在數(shù)據(jù)共享方面仍沒有完整的代理重加密方案能夠同時在標準模型中支持密鑰更新、抵御撤銷用戶的共謀攻擊和降低服務(wù)器開銷. 從國內(nèi)外研究動態(tài)的分析可知,云環(huán)境中的數(shù)據(jù)保護已經(jīng)引起了國內(nèi)外學者長期廣泛的關(guān)注,取得了很多研究成果,但現(xiàn)有研究還存在4個主要問題: 1) 現(xiàn)有的訪問控制方案中都需要授權(quán)中心的參與,授權(quán)中心在整個訪問控制中起到至關(guān)重要的作用.然而,對授權(quán)中心的過度依賴也限制了這一類方案的使用,可能導(dǎo)致用戶隱私泄露.同時,基于屬性加密的訪問控制方案無法抵抗共謀攻擊,缺乏對云存儲準入控制的安全性保護.因此,研究隱私保護且具備抗共謀機制的云數(shù)據(jù)訪問控制方案具有重要的理論和實踐意義. Fig. 11 Data security in cloud computing and the related cryptographic technologies圖11 云數(shù)據(jù)安全保護方法及相關(guān)密碼技術(shù) 2) 現(xiàn)有交互式多方密鑰協(xié)商協(xié)議存在結(jié)構(gòu)單一偏大等問題,且安全性證明不完善.另一方面,目前雖然已有將iO技術(shù)和多線性對技術(shù)應(yīng)用于非交互式多方密鑰協(xié)商協(xié)議的設(shè)計中,但協(xié)議的運行開銷較大難以投入使用,且安全性尚不明確.因此,研究新型結(jié)構(gòu)以降低交互式多方密鑰協(xié)商協(xié)議的通信開銷,優(yōu)化協(xié)議性能,開發(fā)實用數(shù)學工具以支持非交互式多方密鑰協(xié)商協(xié)議的高效實現(xiàn)將是多方密鑰協(xié)商領(lǐng)域亟待解決的問題. 3) 現(xiàn)有數(shù)據(jù)審計方案存在隱私易泄露、錯誤定位精度較低、恢復(fù)困難等問題.因此,如何在保證審計正確性和效率的基礎(chǔ)上保護用戶隱私,如何在發(fā)現(xiàn)錯誤后支持高精度錯誤定位以及有效的數(shù)據(jù)恢復(fù)是數(shù)據(jù)審計協(xié)議領(lǐng)域值得研究的方向. 4) 現(xiàn)有的數(shù)據(jù)共享方案無法較好地支持用戶撤銷和新增等動態(tài)操作,且存在成員動態(tài)管理開銷偏大、難以追蹤惡意用戶的問題.同時,現(xiàn)有數(shù)據(jù)共享方案容錯性不足,惡意用戶的參與將導(dǎo)致共享失效.因此,研究支持群組動態(tài)操作,設(shè)計容錯可追蹤機制是云數(shù)據(jù)共享領(lǐng)域值得進一步研究的方向. 本文從云數(shù)據(jù)安全的訪問控制、密鑰協(xié)商、安全審計和安全共享4個方面出發(fā),對國內(nèi)外云數(shù)據(jù)安全保護方案的最新研究成果進行系統(tǒng)分析.從密碼學的角度出發(fā),總結(jié)出現(xiàn)有云數(shù)據(jù)安全保護方案涉及到的相關(guān)密碼原語、技術(shù),如圖11所示,并對其進行深入分析: 1) 在訪問控制方案研究中既要保證只有合法用戶才可訪問數(shù)據(jù),又要保護合法用戶隱私.由此,基于屬性加密是實現(xiàn)隱私保護訪問控制的較好選擇.一般來說,屬性加密機制中的訪問控制結(jié)構(gòu)可基于秘密共享方案構(gòu)造實現(xiàn),常用的有Shamir秘密共享和線性秘密共享方案.在此基礎(chǔ)上,可通過引入代理重加密、分層機制、轉(zhuǎn)換機制、可信機制等支持訪問控制過程中的可擴展性、輕量操作、可協(xié)作性、跨域控制等功能. 2) 在數(shù)據(jù)安全審計方案設(shè)計中,首先需要保證公共審計和概率審計的特性,同時引入可信第三方保證審計結(jié)果的公平可信.在此基礎(chǔ)上,基于同態(tài)消息認證碼、隨機掩碼、默克爾樹、索引哈希樹、再生碼、身份簽名、非對稱密鑰協(xié)商、雙向鏈式信息表等支持審計中的隱私保護、動態(tài)操作、可協(xié)作性、動態(tài)更新等特性,基于無證書密碼體制和模糊身份機制解決審計中的密鑰托管和密鑰管理問題. 3) 在數(shù)據(jù)安全共享方案設(shè)計中主要基于代理重加密技術(shù)和屬性加密技術(shù)實現(xiàn)共享數(shù)據(jù)密鑰的高效轉(zhuǎn)換和保護共享數(shù)據(jù)隱私.在此基礎(chǔ)上利用群簽名、動態(tài)廣播加密、無雙線性對密碼體制、變色龍哈希函數(shù)、多方密鑰協(xié)商、容錯機制、清理機制等支持數(shù)據(jù)共享過程中的動態(tài)管理、移動用戶、容錯共享、隱私保護,并基于無證書密碼體制解決數(shù)據(jù)共享過程中的密鑰托管問題. 4) 在密鑰協(xié)商方案的設(shè)計中主要分為非交互式密鑰協(xié)商和交互式密鑰協(xié)商,其中非交互式多方密鑰協(xié)商目前僅有兩方和三方非交互式密鑰協(xié)商具有實用價值,大于3人的非交互式密鑰協(xié)商方案需要利用多線性對、不可區(qū)分混淆、約束偽隨機函數(shù)等技術(shù).多線性對和不可區(qū)分混淆可以相互轉(zhuǎn)化,同時這兩者可用于構(gòu)造約束偽隨機函數(shù).然而,目前多線性對需要基于理想格或整數(shù)進行構(gòu)造,安全性難以證明且效率較低.交互式密鑰協(xié)商的設(shè)計主要基于多方交互模型和交互過程中使用的加密方法.交互模型主要包括二叉樹、三叉樹、矩陣論、拉丁方、螺旋矩陣、區(qū)組設(shè)計;加密方法主要有基于身份加密、屬性加密、橢圓曲線加密、對稱加密等并可在此基礎(chǔ)上引入容錯機制、秘密共享、成員管理、哈希函數(shù)等實現(xiàn)或支持協(xié)商過程中的容錯協(xié)商、隱私保護、動態(tài)管理.此外,為了平衡多方的功能需求和協(xié)議的運行性能,非對稱多方密鑰協(xié)商協(xié)議基于可聚合性和密鑰同態(tài)的特性實現(xiàn)了高效地多方密鑰協(xié)商并可支持高效錯誤識別、線性加密復(fù)雜度、密鑰自確認等功能. 立足于國家“建設(shè)國家數(shù)據(jù)統(tǒng)一共享開放平臺,保障國家數(shù)據(jù)安全,加強個人信息保護”的戰(zhàn)略需求,云數(shù)據(jù)安全保護方案的未來發(fā)展方向主要包括3個分支. 1) 可信認證模式的統(tǒng)一 實現(xiàn)云數(shù)據(jù)安全訪問的前提條件是對各類不同來源、不同類型數(shù)據(jù)的可信認證.現(xiàn)階段云數(shù)據(jù)訪問控制在隱私保護、可信評估和來源認證等方面已經(jīng)積累了一定的經(jīng)驗和基礎(chǔ),取得了一定的研究成果,然而目前成果缺乏針對數(shù)據(jù)復(fù)雜異構(gòu)場景的特殊化模式設(shè)計.因此,為了云數(shù)據(jù)安全訪問控制,推動云技術(shù)的進一步應(yīng)用,迫切需要實現(xiàn)不同來源、不同類型數(shù)據(jù)認證模式的統(tǒng)一,其具體內(nèi)涵包括: ①推進不同來源、不同類型數(shù)據(jù)結(jié)構(gòu)歸一化,打破跨域訪問控制的壁壘.②推進數(shù)據(jù)可信評估標準統(tǒng)一,完善云數(shù)據(jù)可信評估體系.保障數(shù)據(jù)來源可信是確保數(shù)據(jù)真實合法的前提條件.然而,現(xiàn)有的評估指標體系構(gòu)建不完善,評估標準不一,無法對云數(shù)據(jù)的可信度進行系統(tǒng)科學的評估和決策.因此,迫切需要針對云數(shù)據(jù)復(fù)雜異構(gòu)特點,實現(xiàn)可信評估標準統(tǒng)一,并在此基礎(chǔ)上引入深度學習技術(shù),建立智能化的云數(shù)據(jù)可信評估模型.③推進數(shù)據(jù)擁有者身份去特征化隱藏,確保云數(shù)據(jù)的隱私保護.云數(shù)據(jù)多涉及個人隱私乃至國家機密,對數(shù)據(jù)隱私保護提出更高要求.因此,迫切需要對數(shù)據(jù)擁有者進行身份去特征化隱藏,保證其行為的匿名. 2) 安全傳輸技術(shù)的創(chuàng)新 數(shù)據(jù)安全傳輸技術(shù)是云數(shù)據(jù)安全交互的重要保證.目前,密鑰協(xié)商、數(shù)字簽名、簽密等關(guān)鍵的密碼原語在其發(fā)展和實踐過程中已趨于成熟,能夠保障基本的數(shù)據(jù)傳輸安全,然而,現(xiàn)有關(guān)鍵密碼原語的代表算法和解決方案多為國外組織或團隊設(shè)計發(fā)明,且其具體的設(shè)計結(jié)構(gòu)、對接方法和關(guān)系映射缺少針對云數(shù)據(jù)安全交互場景的具體實踐性創(chuàng)新.因此,目前云數(shù)據(jù)安全交互所用傳輸技術(shù)如何實現(xiàn)交互模型結(jié)構(gòu)、傳輸對接模式及地址映射關(guān)系上的演進創(chuàng)新是值得研究的方向,其具體內(nèi)涵包括: ①創(chuàng)新多方密鑰協(xié)商交互模型結(jié)構(gòu),提高云數(shù)據(jù)交互對象間的協(xié)商交互效率.云數(shù)據(jù)互通涉及大規(guī)模、多方并行的數(shù)據(jù)交互實際需求,現(xiàn)有的研究成果交互模型構(gòu)建復(fù)雜、群組結(jié)構(gòu)單一固化、用戶交互輪數(shù)偏高、通信開銷偏大,傳輸所需密鑰生成效率無法得到保障.因此,迫切需要在數(shù)據(jù)傳輸初始階段,結(jié)合組合數(shù)學等跨學科基本理論方法,優(yōu)化多方交互結(jié)構(gòu),構(gòu)建具有普適性的多方密鑰協(xié)商模型,為云安全互通傳輸提供密鑰保障.②創(chuàng)新輕量數(shù)據(jù)安全傳輸對接模式,實現(xiàn)數(shù)據(jù)傳輸方法的自適應(yīng)切換.云數(shù)據(jù)安全互通囊括多種應(yīng)用場景,現(xiàn)有的數(shù)據(jù)傳輸方式單一,難以滿足用戶多場景下數(shù)據(jù)傳輸?shù)膶嶋H需求,限制了云數(shù)據(jù)傳輸過程中數(shù)據(jù)相關(guān)群體間對接的靈活性.因此,迫切需要在數(shù)據(jù)傳輸中進行自適應(yīng)簽密算法的設(shè)計,為豐富和創(chuàng)新云數(shù)據(jù)交互對接模式創(chuàng)造條件.③創(chuàng)新云數(shù)據(jù)儲存地址映射關(guān)系,保障用戶動態(tài)操作數(shù)據(jù)的痕跡隱藏.現(xiàn)有的數(shù)據(jù)存儲方案能夠在一定程度上保證數(shù)據(jù)的存儲和安全需求,然而,多數(shù)存儲方案存在動態(tài)操作繁雜、算法時間復(fù)雜度偏大、存儲痕跡易泄漏、資源利用率低下、訪問模式單一等問題,數(shù)據(jù)外包存儲服務(wù)提供商缺乏進一步保障數(shù)據(jù)擁有者、使用者隱私安全及數(shù)據(jù)存取效率.因此,迫切需要在云數(shù)據(jù)傳輸至外包服務(wù)器進行存儲的過程中設(shè)計全新的無痕化地址序列映射關(guān)系,為后續(xù)云數(shù)據(jù)安全共享提供數(shù)據(jù)保障. 3) 安全共享組件的創(chuàng)新 實現(xiàn)數(shù)據(jù)安全共享是云數(shù)據(jù)的重要應(yīng)用.當前云數(shù)據(jù)應(yīng)用在目標選取、公共審計、數(shù)據(jù)聚合等重要組件方面已經(jīng)積累了一定的經(jīng)驗和基礎(chǔ),然而這些組件多依附于全球先進的安全算法進行設(shè)計,且缺乏云數(shù)據(jù)安全共享場景下實際急需的隱私匹配、數(shù)據(jù)恢復(fù)、同態(tài)分析以及容錯共享等特性.因此,目前云數(shù)據(jù)現(xiàn)行的共享組件如何實現(xiàn)功能性躍遷是具備應(yīng)用前景的發(fā)展方向,其具體內(nèi)涵包括: ①落實用戶隱私數(shù)據(jù)細粒度匹配,保障隱私保護的共享對象的精準定位.現(xiàn)有的數(shù)據(jù)共享研究工作能夠定位共享對象,但是,少部分實現(xiàn)細粒度的算法不能兼?zhèn)淇沈炞C、防泄漏、抗共謀等安全性質(zhì),共享的對象往往在確認過程中需要犧牲其部分數(shù)據(jù)的私密性,阻礙了云數(shù)據(jù)共享過程中對用戶隱私的可靠保護.因此,需要在數(shù)據(jù)共享中進行支持隱私保護的細粒度目標匹配,保證云數(shù)據(jù)可靠互通共享中的數(shù)據(jù)服務(wù)提供對象享有合理的隱私權(quán).②強化共享云數(shù)據(jù)審計過程中的可恢復(fù)特性,確保重要的共享數(shù)據(jù)因不可抗力損毀后能夠極大程度地挽回所造成的損失.現(xiàn)有的數(shù)據(jù)共享方案能夠?qū)?shù)據(jù)實現(xiàn)一定程度的完整性校驗,然而,執(zhí)行效率無法滿足實際需要且不支持損毀數(shù)據(jù)的恢復(fù),共享機制的防災(zāi)抗毀能力較弱,難以為云數(shù)據(jù)共享提供可靠的審計服務(wù).因此,需要在數(shù)據(jù)共享中實現(xiàn)可恢復(fù)的公共審計,為云數(shù)據(jù)安全共享體系的預(yù)防性抗毀能力構(gòu)筑重要基石.再次,貫穿用戶數(shù)據(jù)聚合的同態(tài)特性,進一步保護數(shù)據(jù)擁有者、數(shù)據(jù)使用者的隱私.現(xiàn)有的數(shù)據(jù)共享方案能夠完成實驗室場景下的單一目標數(shù)據(jù)聚合,但是,多數(shù)聚合策略存在操作單一、隱私易泄漏和難以抵抗共謀攻擊等問題,無法為敏感多級數(shù)據(jù)的合法擁有者和使用者提供完善的隱私信息保護,限制了數(shù)據(jù)相關(guān)人員隱私的可靠保護力度.因此,需要在數(shù)據(jù)共享中進行同態(tài)的數(shù)值計算,為云數(shù)據(jù)安全共享中的數(shù)據(jù)統(tǒng)計、分析提供支持隱私保護的方法.③建立多對多共享的隱私保護——可容錯協(xié)同防御機制,增強共享技術(shù)在內(nèi)外攻擊下的功能完備.現(xiàn)有的數(shù)據(jù)共享方案能夠保障單一鏈路的投遞實現(xiàn),然而,多對多共享模式的容錯性不足,數(shù)據(jù)交互靈活性差,且存在用戶隱私易泄漏、共享過程中易出錯等問題,無法為云數(shù)據(jù)安全共享提供可靠的服務(wù).因此,需要在數(shù)據(jù)共享中引入約束偽隨機函數(shù)、門限秘密共享等密碼組件,構(gòu)建隱私保護——可容錯協(xié)同防御機制,為云數(shù)據(jù)安全共享中完備的“內(nèi)防外抗”提供技術(shù)支撐.2.2 多方密鑰協(xié)商
2.3 數(shù)據(jù)審計
2.4 代理重加密
3 云計算數(shù)據(jù)安全保護方案
3.1 訪問控制
3.2 密鑰協(xié)商協(xié)議
3.3 安全審計
3.4 安全共享
4 總結(jié)與展望
4.1 總 結(jié)
4.2 展 望