何 明 李 偉 徐 兵 錢發(fā)華 羅 玲
(1 陸軍工程大學指揮控制學院 江蘇 南京 210007;2 江蘇省公安廳信息化處 江蘇 南京 210007)
云計算是通過Internet提供不同計算服務(如存儲、數(shù)據(jù)庫、網(wǎng)絡資源、應用服務等)的可配置資源池,能夠提供高效、靈活的資源和服務[1]。與傳統(tǒng)計算相比,其動態(tài)可擴展性、按需部署、高靈活和高可用性極大地提高了資源利用率和計算效率[2]。在大數(shù)據(jù)的背景下,警務云平臺的建設應用工作持續(xù)深入發(fā)展,為其各類基礎設施、智能應用及數(shù)據(jù)資源維護數(shù)據(jù),例如數(shù)據(jù)的存儲、更新和刪除,在有力服務各類實戰(zhàn)應用的同時,對平臺的整體安全性也提出了新的要求。數(shù)據(jù)安全是警務云安全中的核心問題,其中數(shù)據(jù)存儲與刪除屬于數(shù)據(jù)生命周期中最為關鍵的兩個步驟,應考慮的是數(shù)據(jù)的保密性、完整性、有效性、不可抵賴性、數(shù)據(jù)恢復等方面的安全風險[3]。
從警務云存儲架構的角度來看,警務云存儲采用的是私有云儲存,與公有云相比具有更高的安全性,但其私有節(jié)點的安全依賴于整個外部防火墻,一旦有內(nèi)部節(jié)點被攻擊,整個存儲節(jié)點的安全也將受到威脅。警務云平臺中的文件存儲通常與網(wǎng)絡附加存儲技術相關聯(lián),提供在線存儲空間以用來存儲本地數(shù)據(jù),平臺既包含了傳統(tǒng)存儲的安全風險,又因為引入分布式存儲與共享技術等帶來云技術特有的安全風險,如數(shù)據(jù)混合存儲、數(shù)據(jù)加密、數(shù)據(jù)冗余、數(shù)據(jù)共享等方面的問題。同時目前文件存儲框架缺少信息保護機制,在傳輸過程中可能存在數(shù)據(jù)被嗅探、竊取、篡改、側(cè)信道攻擊等風險。另外警務云中的對象存儲針對云結構進行了優(yōu)化,存儲了各類警種的大量結構化與非結構化數(shù)據(jù),各類應用在使用未經(jīng)加密的數(shù)據(jù)進行共享時也給存儲帶來了安全威脅[4],無法支持安全、分布式數(shù)據(jù)存儲和檢索。
警務云數(shù)據(jù)刪除作為數(shù)據(jù)生命的最后一個階段,關系到數(shù)據(jù)能否形成一個完整的閉環(huán),是保護用戶整個生命周期內(nèi)的數(shù)據(jù)安全和隱私的關鍵部分。警務數(shù)據(jù)通常分布在多個存儲節(jié)點上,大部分數(shù)據(jù)刪除是以邏輯刪除的形式刪除文件,這可能導致本應銷毀的機密數(shù)據(jù)暴露給存在威脅的節(jié)點[5],另一方面,警務云缺少數(shù)據(jù)刪除公開驗證機制,數(shù)據(jù)所有者無法通過驗證返回的刪除證明來檢查刪除結果 。
針對以上問題,本文從云數(shù)據(jù)安全存儲與安全刪除兩個方面展開討論,首先概述警務云平臺架構,介紹分層架構、數(shù)據(jù)的形式結構和基于云儲存的功能和應用。按所提供服務將云平臺分為基礎設施服務層、平臺服務層、數(shù)據(jù)服務層、軟件服務層4個層次,并對各層功能進行了介紹,進而分析平臺4個層次面臨的主要數(shù)據(jù)安全威脅。其次將警務云中數(shù)據(jù)存儲與刪除涉及的安全問題融入到警務云架構進行了梳理和概括。數(shù)據(jù)存儲技術從對外通信與數(shù)據(jù)搜索兩個角度,分別介紹了基于代理重加密與基于可搜索加密技術。數(shù)據(jù)刪除技術主要介紹基于數(shù)據(jù)擦除與密鑰管理的安全刪除技術,同時將數(shù)據(jù)安全刪除部分加入了刪除后的可靠驗證技術,分析如何對警務云數(shù)據(jù)實施安全數(shù)據(jù)刪除驗證,對警務云數(shù)據(jù)的健康發(fā)展具有重要意義。接著在保證數(shù)據(jù)的安全性和可靠性的基礎上提出了警務云可信存儲與刪除框架,引入可信平臺模塊保證了數(shù)據(jù)的可信存儲,TPM的密鑰管理機制基于E-CHF函數(shù)進行設計,提高了系統(tǒng)運行效率,實現(xiàn)了存儲集群中節(jié)點的可信驗證,經(jīng)過驗證的可信節(jié)點可以動態(tài)的選擇不同的加密方式進行文件存儲,在存儲過程中數(shù)據(jù)所有者的所有數(shù)據(jù)操作由可信服務節(jié)點驗證并發(fā)起,存儲消息進行公鑰加密并在流程結束后銷毀,在數(shù)據(jù)刪除流程中加入安全刪除驗證,使云服務器能夠刪除數(shù)據(jù)并返回公開證明,提高了警務云存儲的數(shù)據(jù)的保密性與完整性,為云中的細粒度安全數(shù)據(jù)刪除和驗證構建靈活的方案。最后討論了未來警務云安全與存儲需要進行研究的方向,為警務云數(shù)據(jù)安全防護能力進一步提供了參考。
警務云平臺的分層架構由下至上分為基礎架構即服務層(Infrastructure as a Service, IaaS)、平臺即服務(Platform as a Service, PaaS)、數(shù)據(jù)即服務層(Data as a Service, DaaS)和軟件即服務層(Software as a Service, SaaS),如圖1所示。Iaas層主要包括硬件基礎設施層和基礎設施管理。Paas層主要由平臺支持軟件層組成。Daas層為各種警務應用提供數(shù)據(jù)資源服務,SaaS層主要提供各種警務應用服務。本節(jié)將根據(jù)各層中涉及到的云計算技術介紹警務云中的各個服務,分析出警務云分層架構中存在的數(shù)據(jù)存儲與刪除安全問題。
圖1 警務云平臺架構
IaaS層主要提供計算、存儲、網(wǎng)絡及其他基礎性資源,使用虛擬化技術來進行平臺資源的分配、業(yè)務的分割管理,對各個子平臺及系統(tǒng)進行資源管控,屏蔽底層硬件異構性和組網(wǎng)復雜性,提供按需、彈性的計算、存儲、網(wǎng)絡、安全資源池,同時通過資源服務能力構建負載均衡、彈性主機、資源編排等各種自動化云服務。其中存儲資源池以分布式云存儲為主,支持多種異構存儲資源的管理并以塊存儲、文件存儲、分布式存儲、對象存儲等多種方式提供服務。警務云主要面向公安系統(tǒng)人員,在人員素質(zhì)和管理上較為可靠,但是難以避免小部分人員(比如維護人員或者外來訪客)進行惡意或意外操作。同時,群眾與警員、公安系統(tǒng)內(nèi)部各部門和人員的授權等級均有所差別,傳統(tǒng)的粗粒度管理難以保證對大量用戶的有效身份管理和訪問控制。為了保證基礎設施資源能夠被安全地訪問和使用,警務云計算需要提供可靠的安全防護措施來保證云數(shù)據(jù)的安全,且需要對于各類數(shù)據(jù)權操提供對應的安全審查機制。
PaaS層面向警務單位提供包含云計算與云存儲所需要的支撐軟件,如提供應用程序所需數(shù)據(jù)庫環(huán)境、計算能力、傳輸交換、授權認證、應用開發(fā)、資源接口等服務。其中云存儲系統(tǒng)目前是基于分布式文件系統(tǒng)實現(xiàn)的,具有結構化數(shù)據(jù)的存儲和快速查詢能力,同時也擁有具備大量非結構化和半結構化海量數(shù)據(jù)的存儲和處理能力,提供分布式并行數(shù)據(jù)庫、關系型數(shù)據(jù)庫系統(tǒng)(如mysql、SQL server、Sybase、Oracle等)、分布式文件系統(tǒng)、內(nèi)存數(shù)據(jù)庫、圖像數(shù)據(jù)庫、全文數(shù)據(jù)庫等,能夠?qū)A繑?shù)據(jù)進行并行化處理和存儲。Paas層包含支撐不同應用的大數(shù)據(jù)集群,依托不同的大數(shù)據(jù)組件完成對各種海量警務數(shù)據(jù)的分析和挖掘的同時需要進行安全高效的集群數(shù)據(jù)運維管理,海量數(shù)據(jù)的安全存儲與細粒度刪除是該層需要考慮的主要問題。
DaaS層主要包含大數(shù)據(jù)治理與數(shù)據(jù)服務,基于云存儲系統(tǒng)的應用型服務,包含各種共享數(shù)據(jù)資源服務,以及道路監(jiān)控、圖像監(jiān)控、云搜索等海量云應用數(shù)據(jù)服務[6]。該層使得與警務數(shù)據(jù)相關的處理和服務都能夠發(fā)生在一個集中化的位置,包括數(shù)據(jù)統(tǒng)一接入及標準化,基于元數(shù)據(jù)的全流程的生命管理和數(shù)據(jù)預處理,數(shù)據(jù)挖掘和模型分析等,并通過數(shù)據(jù)服務支撐各警種智慧應用。數(shù)據(jù)層中計算應用和各類監(jiān)控數(shù)據(jù)呈爆炸性增加,給存儲與處理大量異構數(shù)據(jù)帶來了巨大挑戰(zhàn),一是共享數(shù)據(jù)如何存儲,二是海量的存儲數(shù)據(jù)使得計算及通信成本增加,且目前的數(shù)據(jù)挖掘方法會給云設施帶來敏感數(shù)據(jù)的泄露問題。
SaaS層使得警務云平臺可以通過SaaS服務的方式,依托云計算基礎設施和平臺服務提供軟件服務,該層主要包括各警務云計算應用系統(tǒng)的公共服務資源,以及大數(shù)據(jù)警務云計算應用系統(tǒng),如人像對比服務、即時通信服務、地理導航服務、統(tǒng)一數(shù)據(jù)資源訪問等公共服務模塊,在數(shù)據(jù)開放共享過程中需要管理共享數(shù)據(jù)的存儲,防止隱私數(shù)據(jù)因為違規(guī)或誤操作導致數(shù)據(jù)泄露。其中如人像比對部分通過生物特征識別技術實現(xiàn)人像信息的比對、搜索和評估,涉及的數(shù)據(jù)往往是上億級別,需要在大數(shù)據(jù)并發(fā)處理和搜索技術的基礎上保證數(shù)據(jù)存儲的安全性。
警務云為各類軌跡、視頻、圖像的存儲、關聯(lián)、整合、行為軌跡分析、社會關系分析、生物分析等多種研究判斷手段的應用提供了基礎支撐。各部門、公安部門、地區(qū)之間的信息共享為公安機關在刑事偵查、公安管理、交通管理、社會服務等方面提供了有力的支持。同時,各類警務工作都是在云上進行的,采用各種分析和挖掘關聯(lián)手段進行分析數(shù)據(jù)資源(如公安警務工作相關數(shù)據(jù)、涉及公民隱私的個人信息、與案件線索相關的辦案信息等)。警務云平臺將虛擬資源交付各業(yè)務警種,為其提供低成本、高效率和種類豐富的云服務的同時也放大了傳統(tǒng)安全問題,引入了新的安全問題,對各業(yè)務警種的應用及數(shù)據(jù)安全造成影響。數(shù)據(jù)存儲階段存在以下的安全風險:
(1)數(shù)據(jù)混合存儲問題:在云平臺中使用虛擬化的手段對用戶進行隔離以提高資源利用率,一個資源池往往會有多個用戶共用,當用戶之間的安全隔離不到位時,會造成數(shù)據(jù)泄露、篡改和被不可信第三方泄露等問題。
(2)數(shù)據(jù)加密問題:警務云中的對象存儲針對云結構進行了優(yōu)化,存儲了各類警種的大量結構化與非結構化數(shù)據(jù),傳統(tǒng)的數(shù)據(jù)加密手段不能完全適用于警務云大數(shù)據(jù)應用;經(jīng)加密的數(shù)據(jù)進行共享時給存儲帶來了安全威脅,但數(shù)據(jù)加密會使得基于PaaS或SaaS的云應用在多數(shù)情況下索引和查詢操作失效。
(3)數(shù)據(jù)冗余問題:對于非共享的安全存儲需要用到密文去重機制,經(jīng)過數(shù)據(jù)加密后會形成大量的冗余數(shù)據(jù),普通的去重機制無法對不同用戶的相同的文件進行密文判別。警務應用要求云端提供查詢、統(tǒng)計、分析的能力,需要尋求新的安全解決方案。
(4)數(shù)據(jù)共享問題:由于警務云擁有分布式系統(tǒng),共享技術相較于傳統(tǒng)的存儲技術給數(shù)據(jù)存儲帶來了更多不可控風險,在共享過程中可能存在數(shù)據(jù)被嗅探、竊取、篡改、側(cè)信道攻擊等風險。
警務云中數(shù)據(jù)銷毀階段需要將銷毀的數(shù)據(jù)徹底刪除且不能恢復,但目前存在以下難點,首先是驗證問題,警務云缺少數(shù)據(jù)刪除公開驗證機制,數(shù)據(jù)所有者無法驗證返回的刪除證明來檢查刪除,也不能確定被刪除的數(shù)據(jù)是否還存在備份。其次是數(shù)據(jù)易被恢復問題,由于存儲介質(zhì)的物理特性,警務云中被刪除的數(shù)據(jù)可以通過一定技術手段恢復,數(shù)據(jù)刪除不徹底將造成機密數(shù)據(jù)泄露。
在警務云環(huán)境中,因涉及到多租戶、虛擬化、彈性、高可用性和海量數(shù)據(jù)存儲相關聯(lián),使云計算難以保證數(shù)據(jù)的刪除操作。實現(xiàn)數(shù)據(jù)刪除目前主要包含刪除文件關聯(lián)鏈接、基于數(shù)據(jù)擦除和基于密鑰管理的數(shù)據(jù)刪除方案。刪除文件關聯(lián)鏈接只進行物理地址與邏輯地址之間的映射刪除,即邏輯上的刪除,從而達到邏輯上數(shù)據(jù)不可訪問,但數(shù)據(jù)仍保留在物理介質(zhì)中。將文件的鏈接從基礎文件系統(tǒng)中刪除,當用戶進行文件訪問時返回訪問失敗信息,雖然可以通過更改地址以實現(xiàn)刪除指向文件的鏈接以達到數(shù)據(jù)刪除的目的,但數(shù)據(jù)仍然可以通過其他地址訪問。邏輯刪除的數(shù)據(jù)可以通過數(shù)據(jù)恢復技術恢復,因此無法有效地保證數(shù)據(jù)的安全性,所以刪除文件關聯(lián)鏈接在警務云中只能應對普通文件的清理,加密文件刪除并不能使用該方案。本節(jié)的數(shù)據(jù)刪除技術主要介紹基于數(shù)據(jù)擦除安全刪除技術、基于密鑰管理安全刪除技術與數(shù)據(jù)刪除可靠驗證技術。
基于數(shù)據(jù)擦除的實質(zhì)是通過覆蓋操作進行文件內(nèi)容刪除,Yang等人[7]提出可以在介質(zhì)中加入主動觸發(fā)和被動觸發(fā)來進行數(shù)據(jù)的擦除,被動觸發(fā)可以在受到外部攻擊時主動將保存有密鑰數(shù)據(jù)的存儲區(qū)擦除。Liu等人[8]將存儲單元陣列劃分成多個包含8個物理塊的區(qū)域,每個區(qū)域中的所有物理塊的平行頁行號一樣,每行的加密密鑰都相同且存儲在專用的物理塊中,通過多次迭代將無效數(shù)據(jù)占比超過一定值的行或物理塊和對應的密鑰進行刪除,刪除之前先將行或數(shù)據(jù)塊中的有效數(shù)據(jù)轉(zhuǎn)移到其他空閑行進行加密再存儲,但此方法會增加額外的開銷也會造成密鑰泄露問題。Yang等人[9]采用梅克爾哈希樹(rank-based Merkle hash tree, RMHT)協(xié)議提出一種新的可證明的細粒度外包數(shù)據(jù)擦除協(xié)議,該協(xié)議能夠在沒有任何TTP的情況下實現(xiàn)私有和公有的可驗證性,任何擁有相應數(shù)據(jù)擦除證據(jù)的人都可以方便、高效地驗證數(shù)據(jù)擦除結果,同時,該協(xié)議能夠?qū)崿F(xiàn)外包數(shù)據(jù)保密性,保證只有用戶能夠正確解密外包密文,但就量子計算而言,其數(shù)據(jù)加密過程中采用的哈希計算和模冪運算并不安全。Yang等人[10]采用向量承諾構造了一種新的方案,可以實現(xiàn)可證明數(shù)據(jù)的遷移和擦除,但是該方案需要進行一些復雜的計算,如模指數(shù)計算和雙線性對計算。Nivedhaa等人[11]設計了一套基于代理重加密和分布式擦除代碼的安全存儲系統(tǒng),該方案運行用戶以加密格式與其他用戶共享云上的信息,其中在去中心化分布式系統(tǒng)中擦除編碼支持共享加密文件,分布式糾刪碼用于對分散云存儲中的數(shù)據(jù)安全進行授權。
基于數(shù)據(jù)擦除技術引入了數(shù)據(jù)修復、數(shù)據(jù)更新、計算優(yōu)化、網(wǎng)絡流量開銷、IO開銷減少等問題,如何用多種基于數(shù)據(jù)擦除的更新方案來優(yōu)化數(shù)據(jù)更新和刪除成為下一步需要解決的問題。
基于密鑰管理的刪除方法就是將數(shù)據(jù)對應的解密密鑰進行刪除,銷毀數(shù)據(jù)解密密鑰使得對應密文不可用,該方法可以較好地管理警務云中加密數(shù)據(jù)地刪除。目前基于密鑰管理的數(shù)據(jù)刪除可分為基于集中式的密鑰管理和分散式的密鑰管理,方法對比如表1所示。
表1 密鑰管理的云數(shù)據(jù)安全刪除方法比較
基于集中式的密鑰管理包括:Xiong等人[12]設計了一種基于閃存分層結構的節(jié)點密鑰樹,并提出了一種KDE算法來生成數(shù)據(jù)密鑰,用于加密用戶的敏感數(shù)據(jù)并簡化密鑰管理,在密鑰派生加密(key derivation encryption,KDE)的基礎上提出了一種SDDK方案,將部分塊擦除與密鑰刪除相結合,同時去除密文以及數(shù)據(jù)過期后的關鍵組件,從而實現(xiàn)物聯(lián)網(wǎng)設備上的安全數(shù)據(jù)刪除。Zhang等人[13]將密文進行隨機抽取并存儲,需要刪除數(shù)據(jù)時就將抽取的密文和對應的密鑰刪除。
基于分散式的密鑰管理包括:Bentajer等人[14]提出了一種基于身份加密(identity based cryptography,IBE)的靈活而安全的刪除方案(ADSIBE),通過利用IBE特性可以允許數(shù)據(jù)所有者在脫機模式下工作并利用密鑰管理負擔,克服其他已知方案所固有的密鑰管理基礎設施的局限性。Kim等人[15]提出一種設置參數(shù)以生成自毀方案所需的密鑰共享的方法,可以在動態(tài) DHT 網(wǎng)絡環(huán)境中考慮數(shù)據(jù)可用性和安全性來設置密鑰共享參數(shù),并通過基于強化學習模型的參數(shù)更新來應用自毀方案過程,根據(jù)動態(tài) DHT 網(wǎng)絡的環(huán)境來設置密鑰共享的數(shù)量和閾值。Li等人[16]提出將密文存儲在云端,結合密鑰派生樹與分布式網(wǎng)絡,將密鑰通過構建的派生樹轉(zhuǎn)換函數(shù)進行加密并分散存儲在分布式網(wǎng)絡中,有效避免嗅探和跳躍攻擊,但此方案為考慮到節(jié)點是否完全可信的問題。Xiong等人[17-18]提出利用屬性加密算法加密密鑰并通過修改屬性授權來實現(xiàn)對數(shù)據(jù)的細粒度訪問控制。在警務云中要尤其關注基于分散式的密鑰管理存在惡意節(jié)點刪除密鑰不及時、篡改和泄露密鑰的風險。
警務云中數(shù)據(jù)刪除作為數(shù)據(jù)生命周期的最后階段,數(shù)據(jù)刪除直接決定數(shù)據(jù)生命周期能否圓結束,這其中數(shù)據(jù)安全和隱私保護非常重要。目前大多數(shù)方案無法支持細粒度數(shù)據(jù)刪除,在警務云中通過使用密鑰管理刪除數(shù)據(jù)解密密鑰來進行數(shù)據(jù)刪除,但是刪除數(shù)據(jù)解密密鑰將使得整個加密文件不可用,所以實際在警務云中應用數(shù)據(jù)刪除技術時需要使用具有細粒度數(shù)據(jù)刪除方案,使用戶能夠靈活刪除一些不必要的數(shù)據(jù)塊。
警務云為數(shù)據(jù)所有者維護數(shù)據(jù),例如存儲、更新和刪除等,減少了用戶開銷,然而這使得數(shù)據(jù)刪除成為一個新的安全挑戰(zhàn),數(shù)據(jù)刪除結果在過期后無法驗證,會導致嚴重問題,例如未經(jīng)授權的訪問和數(shù)據(jù)隱私泄露,引入數(shù)據(jù)刪除驗證可以使刪除操作更加透明化。目前的大多數(shù)刪除方法主要可以分為基于可信執(zhí)行環(huán)境、密鑰管理和訪問控制策略的數(shù)據(jù)保證刪除方案,本質(zhì)都是存儲服務器刪除數(shù)據(jù)并返回一位結果,數(shù)據(jù)所有者必須相信返回的結果,這些方法都缺乏對云數(shù)據(jù)刪除結果的驗證技術,同時大多數(shù)現(xiàn)有的可驗證數(shù)據(jù)刪除方案無法實現(xiàn)數(shù)據(jù)刪除結果的公開可驗證性。
基于數(shù)據(jù)擦除的刪除驗證方法:DU等人[19]提出了一種基于覆蓋驗證的云數(shù)據(jù)刪除驗證方案,采用CP-ABE(ciphertext policy attribute based encryption)算法來加密明文,當云端數(shù)據(jù)過期時,改變密文關聯(lián)訪問策略,用于對過期密文進行重新加密以實現(xiàn)安全刪除,再根據(jù)過期數(shù)據(jù)塊的數(shù)量生成哈希二叉樹的可搜索路徑,從二叉樹的根節(jié)點開始,分層遍歷二叉樹,生成與過期數(shù)據(jù)大小相同的隨機二叉數(shù)據(jù),得到根節(jié)點到每個葉子節(jié)點的最短路徑,然后記錄所有的節(jié)點序列最短路徑數(shù),將其轉(zhuǎn)換成二進制過期數(shù)據(jù),逐位異或產(chǎn)生新數(shù)據(jù)用于覆蓋過期數(shù)據(jù)。最后,該方案通過哈希運算計算每個葉子節(jié)點數(shù)據(jù)的值作為驗證器進行數(shù)據(jù)刪除結果驗證。Hao等人[20]提出一種基于可信平臺模塊(Trusted Platform Module,TPM)的數(shù)據(jù)刪除驗證方案,通過云計算 配置的附加 TPM 硬件模塊存儲密鑰,并執(zhí)行數(shù)據(jù)加密和解密操作,當需要清除過期數(shù)據(jù)時,TPM模塊執(zhí)行密鑰刪除操作。此外,TPM模塊對密鑰刪除操作的簽名進行驗證,并以簽名驗證為依據(jù)來驗證是否進行了密鑰刪除操作,并驗證是否篡改了TPM中存儲密鑰的信息,該方案使得刪除過程更加透明,且刪除結果支持公開認證,但受限于TPM模塊的容量大小。
基于可證明數(shù)據(jù)持有(Provable Data Possession,PDP)的刪除和驗證:Tian等人[21]針對現(xiàn)有PDP方案支付較少的問題,提出了一種基于Stern-Brocot樹(Stern-Brocot-based non-repudiation dynamic provable data possession, SB-NR-DPDP)的不可否認動態(tài)PDP方案,能夠滿足客戶端的動態(tài)數(shù)據(jù)操作,實現(xiàn)方案的不可抵賴特性,該方案提供了針對自適應選擇消息攻擊的標簽不可偽造性和證明不可偽造性,還可以抵抗哈希值攻擊、刪除插入攻擊和篡改云返回值攻擊。Xue等人[22]指出,在數(shù)據(jù)刪除過程中效率低下,因為用戶需要上傳大量的信息來重新加密數(shù)據(jù),為了解決這個問題,他們設計了RMHT 用于在遷移后實現(xiàn)有保證的數(shù)據(jù)刪除,他們的計劃還可以通過可證明的數(shù)據(jù)擁有實現(xiàn)數(shù)據(jù)完整性驗證。此外,Wang等人[23]提出了一個改進的PDP計劃,其特點是可建立的存儲、安全的數(shù)據(jù)傳輸和數(shù)據(jù)刪除,分別使用同質(zhì)身份驗證器和同質(zhì)加密技術,以滿足證據(jù)數(shù)據(jù)擁有和可驗證數(shù)據(jù)刪除的要求。Khedr等人[24]提出了一種新的有效的確定性數(shù)據(jù)完整性檢查方案(cryptographicaccumulator provable data possession,CAPDP)CAPDP,底層方案基于修改后的RSA 的密碼累加器,允許數(shù)據(jù)所有者執(zhí)行無限數(shù)量的數(shù)據(jù)完整性檢查,且在通信、計算和存儲成本方面都是高效的,方案中的驗證操作與正在驗證的塊數(shù)無關,可以 最大限度地減少數(shù)據(jù)所有者在驗證過程的負擔和成本。
基于ABE的刪除和驗證:Xue等人[25]提出了一種基于KP-ABE的安全刪除方案,用戶使用 KPABE 算法加密數(shù)據(jù),當需要刪除過期數(shù)據(jù)時,用戶無法通過撤銷過期數(shù)據(jù)對應的屬性并重新加密數(shù)據(jù)來解密和訪問數(shù)據(jù),在存儲之前對數(shù)據(jù)進行加密,通過哈希運算為密文中的每個數(shù)據(jù)塊生成數(shù)字簽名,數(shù)字簽名對應密文屬性,驗證器由MHT生成并反饋給用戶驗證刪除結果。Ma等人[26]基于CP-ABE提出一種數(shù)據(jù)刪除和驗證方案,構造了一個屬性關聯(lián)樹來實現(xiàn)快速撤銷屬性和重新加密密鑰,以實現(xiàn)對安全密鑰刪除的細粒度控制,構建了規(guī)則轉(zhuǎn)置算法來生成隨機數(shù)據(jù)塊,并結合覆蓋技術和 Merkle 哈希樹來實現(xiàn)安全的密文刪除并生成驗證器,然后用于驗證數(shù)據(jù)刪除的結果。
基于區(qū)塊鏈的刪除和驗證:Liu等人[27]首先通過智能合約算法對個人身份進行認證,同時創(chuàng)建刪除操作記錄,然后存儲服務器刪除數(shù)據(jù)所有者指定的過期數(shù)據(jù),并通過哈希運算生成哈希值加入?yún)^(qū)塊鏈,用戶可以通過區(qū)塊鏈驗證數(shù)據(jù)刪除結果。Yang等人[28]提出一種應用于半可信服務器的基于區(qū)塊鏈技術的數(shù)據(jù)刪除公開驗證方案,首先,用戶對數(shù)據(jù)進行加密并將其上傳到存儲服務器,當需要刪除數(shù)據(jù)時,用戶結合默克爾哈希樹、時間戳服務器和區(qū)塊鏈技術構建哈希鏈,哈希鏈通過哈希鏈中的值來驗證是否真的刪除了過期數(shù)據(jù)。
數(shù)據(jù)安全刪除是保護用戶全生命周期數(shù)據(jù)安全和隱私的重要環(huán)節(jié),數(shù)據(jù)刪除驗證為數(shù)據(jù)安全刪除提供保護和保障,因此,探索如何對警務云數(shù)據(jù)進行安全的數(shù)據(jù)刪除和刪除驗證,對于警務云計算的健康發(fā)展具有重要意義。
警務云中存儲節(jié)點信任邊界難以擴展,客戶端和用戶將數(shù)據(jù)存儲在節(jié)點中需要考慮到數(shù)據(jù)的機密性和完整性問題,本節(jié)針對上述安全技術的研究提出了警務云可信存儲與刪除框架,將TPM加入到框架中,在整個流程中承擔著遠程認證、加密密鑰的保護存儲、密鑰安全存取的責任,為安全存儲提供了解決方案。
新的存儲節(jié)點加入警務云前需要通過可信系統(tǒng)的認證,使用可信服務節(jié)點(Trusted Third Party Node, TTPN)來檢測新的節(jié)點是否正確安裝了可信平臺模塊,如果正確安裝了TPM,則進行存儲平臺驗證,驗證通過則可以加入到警務云節(jié)點集群中。存儲/刪除方需要通過前端服務器與可信服務節(jié)點建立通信并對會話進行加密,根據(jù)客戶端的加密需求或刪除消息選擇對應的可信存儲節(jié)點,在驗證完存儲節(jié)點可信后才進行存儲或刪除操作,流程結束后只有TTPN節(jié)點保存會話信息。設計的框架包括下列實體對象:
(1)客戶端、用戶/用戶組。
(2)可信服務節(jié)點。
(3)前端服務器。
(4)存儲服務器/節(jié)點組 。
(5)TPM。
存儲流程如圖2所示,具體流程如下:
圖2 警務云可信存儲流程框架
(1)客戶端向警務云的前端服務器發(fā)送數(shù)據(jù)發(fā)送請求消息(包含用戶密鑰、用戶ID、用戶即時信息),其中用戶即時信息用于防范重放攻擊,消息使用TTPN公布的公鑰進行加密,前端服務器將消息轉(zhuǎn)發(fā)給TTPN,客戶端生成對稱加密密鑰通過前端服務器與服務節(jié)點進一步進行通信。
(2)TTPN通過前端服務器將消息2發(fā)送給客戶端,消息2包含它的即時信息、一次性會話密鑰、用戶即時信息,使用用戶密鑰加密消息2,只有擁有正確密鑰的用戶才能解密此消息。當用戶收到消息2時,使用自己的密鑰對消息進行解密,并檢索會話密鑰和即時信息,使用TTPN得公鑰解密消息中的即時信息散列,確認簽名是否為TTPN。
(3)客戶端使用會話密鑰加密文件,發(fā)送給前端服務器的消息3使用TTPN的公鑰進行加密,包含文件被加密的會話密鑰、加密文件的哈希值、TTPN的即時消息等。當前端服務器接收到消息3時,選擇警務云中的存儲服務節(jié)點進行轉(zhuǎn)發(fā)。
(4)在存儲節(jié)點進行存儲數(shù)據(jù)之前,需要向TTPN進行驗證,使用TTPN公鑰加密消息4,消息4中包含消息3中的信息與其自身的信息,TTPN收到消息4會進行消息校驗,以確保存儲節(jié)點可信且沒有篡改消息3中的內(nèi)容。
(5)驗證完成后,TTPN將使用節(jié)點公鑰加密消息5并發(fā)送給存儲節(jié)點,消息5包含即時信息、用戶密鑰、用戶ID、會話密鑰、TTPN簽名、文件加密哈希值等,存儲節(jié)點收到信息需要驗證消息5是否由TTPN發(fā)出,存儲節(jié)點檢索加密文件并計算收到文件的哈希值,與消息5中的文件加密哈希值進行對比,以確保文件傳輸時不被篡改。確認文件無誤后,存儲節(jié)點使用會話密鑰解密文件并進行重新加密,前端服務器將加密文件存儲在磁盤中。
(6)前端服務器在TPM中存儲此次加密的加密密鑰、用戶密鑰及用戶ID等,其余節(jié)點刪除此次會話信息,消息6由前端服務器發(fā)送給客戶端以告知存儲完成。
刪除流程如圖3所示,具體流程如下:
圖3 警務云可信刪除流程框架
(1)刪除流程中客戶端同樣需要通過前端服務器發(fā)送數(shù)據(jù)刪除請求,由前端服務器將包含用戶密鑰、用戶ID、用戶即時信息等信息的消息1轉(zhuǎn)發(fā)給TTPN。
(2)TTPN確認用戶信息之后將消息2通過前端服務器返回給客戶端,由客戶端再次確認通信方是否為TTPN,并獲取該次通話的會話密鑰、即時信息等。
(3)TTPN查找用戶需要刪除的數(shù)據(jù)所存儲的節(jié)點位置并下發(fā)刪除命令,當存儲節(jié)點收到刪除操作時,首先驗證用戶密鑰是否能正確解開加密數(shù)據(jù),驗證成功后靈活的選擇基于數(shù)據(jù)擦除或基于密鑰管理的刪除方法進行數(shù)據(jù)刪除,并通過隨機比特流進行多次復寫操作。刪除操作完成之后,存儲節(jié)點進行基于CP-ABE的數(shù)據(jù)刪除驗證,將驗證結果4返回給TTPN進行校驗。
(4)TTPN校驗成功后通過前端服務器向客戶端發(fā)送刪除成功信息5,其余節(jié)點刪除此次會話信息。
將TPM模塊引入到警務云的建設中可以較好進行維護密鑰與進行加密操作,同時也需要考慮到外源密鑰的管理。使用外部存儲可以極大降低TPM的負擔,針對外部密鑰撤銷問題,基于(Efficient-Chameleon Hash Function,E-CHF)E-CHF[29]設計出適用于警務云環(huán)境的TPM密鑰管理機制,并將其應用到本文提出的可信存儲與刪除框架中。
4.2.1 E-CHF散列函數(shù)
E-CHF是很好地兼容Groth-Sahai證明系統(tǒng)和Cramer-Shoup加密方案,并可作為在增強抗碰撞模型中構建高效變色龍哈希函數(shù),該模型在增強型碰撞抗性模型、標準模型、隨機Oracle模型和通用組模型中是安全的,且具有高效率、碰撞概率低、安全性高等優(yōu)點。其包含4個算法,總式為CHF =(HGen, Hash, HVerify,Hcol)。
HGen(1k):密鑰生成算法,輸出一個公開的散列密鑰hk和陷門密鑰tk。
Hash(m,hk,r):輸入公開散列密鑰hk、二進制消息m和隨機數(shù)r,輸出哈希值和檢查字符串(h,ζ)。
HVerify(m,hk,(h,ζ):采用 m,h和ζ來驗證( h,ζ )是消息m的有效哈希值。
Hcol(tk,(h,m,ζ),m'):碰撞算法,將陷門值和(h,m,ζ)作為輸入,以及對于新消息m'返回一個新的檢查字符串ζ',以便HVerify(hk, m',(h,ζ) = HVerify(hk,m',(h,ζ')。
4.2.2 密鑰管理樹
密鑰的存儲區(qū)域由3部分組成,如圖4所示,主要分為內(nèi)部存儲區(qū)域、外部存儲區(qū)域和應用存儲區(qū)域,采用的是E-CHF認證樹進行自下而上的節(jié)點建立。E-CHF認證樹為二叉樹,每層最左側(cè)節(jié)點(存儲于內(nèi)部存儲區(qū)域)與右節(jié)點(存儲于內(nèi)部存儲區(qū)域)為其子節(jié)點的E-CHF散列值,其余節(jié)點(存儲于內(nèi)部存儲區(qū)域)為其子節(jié)點的散列值,如果是最左側(cè)葉子節(jié)點和右葉子節(jié)點就為對應密鑰的E-CHF散列值,其余葉節(jié)點為對應密鑰的散列值,其中所有的E-CHF散列值由TPM唯一保存。
圖4 基于E-CHF認證樹的密鑰的存儲區(qū)域
4.2.3 密鑰生成
首先檢測是否進行初始化操作,經(jīng)過初始化操作輸入?yún)?shù)k進行HGen運算得到公私密鑰對
初始化檢測成功,進行密鑰生成操作。若num為0,在隨機序列l(wèi)ist
4.2.4 密鑰更新與撤銷
密鑰的更新與撤銷都需要對包含此節(jié)點的路徑上的節(jié)點值進行更新,對于根節(jié)點的值,需要保證其值不變,但其隨機值需要改變,該路徑上其余節(jié)點的E-CHF的隨機值不變。密鑰的撤銷需要將密鑰的標志位設置為撤銷并更新其key值。當把key值加載入TPM時,需要檢查其有效性,這里使用HVerify傳入 m,h和 ζ 來驗證(h,ζ)是消息m的有效哈希值。
4.3.1 存儲性能測試
密鑰樹的層級數(shù)為high,密鑰數(shù)量為2high-1,外部存儲區(qū)域中的節(jié)點數(shù)目為2high-high-1;內(nèi)部存儲區(qū)域只存儲了一個根節(jié)點值p與high個E-CHF隨機值,所需內(nèi)部存儲區(qū)域所需節(jié)點數(shù)目為high+1,與總節(jié)點數(shù)呈對數(shù)關系;應用存儲區(qū)域存儲加密形式的密鑰數(shù)目為2high-1-1。該方案與簡單因子分解散列函數(shù)(SFCH)和高級因子分解散列函數(shù)(AFCH)對比如圖5,在內(nèi)部與外部空間區(qū)域占用具有一定存儲優(yōu)勢。
圖5 存儲性能對比圖
4.3.2 運行性能測試
測試運行在Intel Xeon Cooper Lake(3.4GHz/3.8Ghz)、32G、windows server2019的物理機上,基于E-CHF的TPM密鑰管理機制給TPM2.0帶來的時間開銷與基于SFCH和AFCH對比如圖6-8所示,實驗結果表明,基于E-CHF的TPM密鑰管理機制的TPM2.0的密鑰增加、更新、驗證都比其余兩者性能好,且新增的額外通信開銷較小。
圖6 新增密鑰時間對比
圖7 驗證密鑰時間對比
圖8 更新密鑰時間對比
該框架可以在警務云環(huán)境下對客戶端數(shù)據(jù)進行可信存儲與刪除,與現(xiàn)有的警務云存儲框架系統(tǒng)相比有以下優(yōu)點:
(1)基于E-CHF管理機制的TPM提供對客戶端數(shù)據(jù)的加解密密鑰的存儲保護與存儲節(jié)點認證,通過在節(jié)點存儲前對客戶端與存儲節(jié)點進行認證,可以有效防止惡意節(jié)點對存儲密鑰的泄露與篡改,且存儲與運行性能較優(yōu)。
(2)密鑰通過TTPN生成與存儲,在存儲的過程中可以有效防止嗅探與跳躍。
(3) 每一個存儲節(jié)點都可以擁有自身的加密文件系統(tǒng),可以較好地選擇不同加密方式進行文件存儲,且系統(tǒng)可以保證客戶端數(shù)據(jù)只存儲在可信的存儲服務器上,即時存儲節(jié)點被攻擊也無法短時間內(nèi)進行解密,實現(xiàn)了警務云存儲的數(shù)據(jù)的保密性與完整性。
(4)當需要刪除數(shù)據(jù)時,可以通過在TTPN中刪除加密密鑰和數(shù)據(jù)擦除技術進行刪除操作,并使用數(shù)據(jù)刪除驗證操作進行刪除校驗。
近年來,隨著區(qū)塊鏈、物聯(lián)網(wǎng)和量子計算的飛速發(fā)展,警務云依托這些新興技術開發(fā)了眾多云上應用,同時也帶來了云技術所特有的安全問題,基本挑戰(zhàn)是如何在復雜的警務云環(huán)境下對數(shù)據(jù)存儲與刪除的可靠性、可用性、安全性、隱私性等方面進行安全保護,對數(shù)據(jù)的安全存儲提出了越來越高的要求,第一點是目前傳統(tǒng)的公鑰密碼學的安全性依賴于一些傳統(tǒng)計算機和經(jīng)典算法難以解決的數(shù)學問題,有必要將后量子密碼學融入到警務云建設中;第二點是不同部門之間數(shù)據(jù)存儲的共享問題;第三點是數(shù)據(jù)存儲時如何進行數(shù)據(jù)隱私保護與可用性相結合;第四點是目前的安全數(shù)據(jù)刪除方法還不能實現(xiàn)高效、安全的跟蹤數(shù)據(jù);第五點是對于警務云數(shù)據(jù)庫中的數(shù)據(jù),使用數(shù)據(jù)加密以安全地方式刪除數(shù)據(jù)可能會增加成本,需要提高數(shù)據(jù)查詢的效率。本文分析了基于警務云的數(shù)據(jù)安全存儲與刪除問題并根據(jù)警務云架構進行安全技術對比總結,同時分析如何對警務云數(shù)據(jù)實施安全數(shù)據(jù)刪除驗證,在保證數(shù)據(jù)的安全性和可靠性的基礎上提出了警務云可信存儲與刪除框架,引入可信平臺模塊保證了數(shù)據(jù)的可信存儲,實現(xiàn)了存儲集群中節(jié)點的可信驗證與數(shù)據(jù)刪除公開證明,提高了警務云存儲的數(shù)據(jù)的保密性與完整性,為云中的細粒度安全數(shù)據(jù)刪除和驗證構建靈活的方案。下一階段的研究目標是如何融合已有的數(shù)據(jù)安全保護技術來設計一套跨云計算服務的統(tǒng)一身份管理和隱私保護框架,使得所有權和訪問控制機制實現(xiàn)統(tǒng)一,可重用和可擴展的訪問控制相統(tǒng)一,并滿足細粒度訪問授權的需求。