石玉成
(中國(guó)核動(dòng)力研究設(shè)計(jì)院,四川 成都 610213)
車聯(lián)網(wǎng)作為有前景的物聯(lián)網(wǎng)范例,現(xiàn)已成為各個(gè)國(guó)家和地區(qū)的研究熱點(diǎn)[1-3]。車輛將數(shù)據(jù)外包給云日益成為一種趨勢(shì)[4-6],然而數(shù)據(jù)外包給云將面臨完整性問(wèn)題。在傳統(tǒng)的完整性驗(yàn)證方案中,通過(guò)隨機(jī)抽樣來(lái)選取挑戰(zhàn)數(shù)據(jù)塊的方法效率低[7-9]。另外,現(xiàn)有安全難題隨著量子計(jì)算的發(fā)展正變得愈發(fā)嚴(yán)重[10-12]雖然量子計(jì)算的引入使困難問(wèn)題可解,但是大部分可證明安全的密碼方案喪失安全性。
針對(duì)上述問(wèn)題,本文基于車聯(lián)網(wǎng)場(chǎng)景提出一種面向低頻數(shù)據(jù)的動(dòng)態(tài)完整性審計(jì)方案。本方案將采用一棵平衡二叉樹實(shí)時(shí)保存用戶數(shù)據(jù)訪問(wèn)周期信息,并使用概率比例規(guī)模抽樣(Probability Proportional to Size Sampling,PPS)來(lái)根據(jù)數(shù)據(jù)實(shí)時(shí)訪問(wèn)周期抽取審計(jì)挑戰(zhàn)數(shù)據(jù)塊。此外,本方案基于格密碼系統(tǒng),只涉及簡(jiǎn)單的矩陣運(yùn)算,計(jì)算開銷低。
近年來(lái),學(xué)者們?yōu)榱说钟孔佑?jì)算機(jī)的攻擊提出了一些基于格問(wèn)題的審計(jì)方案?;诟衩艽a系統(tǒng)的數(shù)據(jù)完整性檢測(cè)方案由Xu 等人[13]基于小整數(shù)解(Short Integer Solution,SIS)問(wèn)題設(shè)計(jì)。Liu 等人[14]提出了一種基于格云端數(shù)據(jù)完整性審計(jì)方案,該方案支持公開驗(yàn)證,但文中沒有給出安全證明[15]。Liu 等人[16]又在此基礎(chǔ)上設(shè)計(jì)了一種新的基于身份的審計(jì)方案,但該方案生成數(shù)據(jù)簽名時(shí)使用了云服務(wù)器的公鑰,云服務(wù)器可以偽造數(shù)據(jù)故該方案,因此也存在安全漏洞。Tian 等人[17]提出了一個(gè)新的采用格密碼實(shí)現(xiàn)的基于身份的云端數(shù)據(jù)審計(jì)方案并給出了安全證明[18]。
本文設(shè)計(jì)了一個(gè)新的基于格密碼的低頻動(dòng)態(tài)數(shù)據(jù)完整性審計(jì)方案。該方案通過(guò)引入索引平衡二叉樹實(shí)現(xiàn)動(dòng)態(tài)抽樣及動(dòng)態(tài)審計(jì)。
PPS 是一種將總體按照輔助信息劃分成大小不等的采樣單元(Primary Sampling Units,PSU)的概率抽樣。采樣PSU的概率取決于PSU的大小,規(guī)模越大的PSU 有更大的概率被抽取。
假設(shè)總體規(guī)模大小為U,由n個(gè)PSU 組成,每個(gè)PSU 規(guī)模分別為U1,U2,…,Un均為整數(shù)且。若抽取l個(gè)樣本,抽樣間隔為I=U/l,并隨機(jī)選取R∈[1,I],根據(jù)R來(lái)均勻定位預(yù)抽取的樣本,獲得預(yù)抽取樣本集合{R,R+I,…,R+(N-1)I},然后根據(jù)預(yù)抽取的樣本定位對(duì)應(yīng)PSU,從PSU 中抽取作為輸出樣本。
本研究構(gòu)建了一個(gè)車聯(lián)網(wǎng)云平臺(tái)的數(shù)據(jù)完整性審計(jì)方案。本方案主要涉及車、路側(cè)單元(Roadside Unit,RSU)、數(shù)據(jù)中心(Data Center,DC)以及密鑰生成中心(Key Generation Center,KGC)4 個(gè)實(shí)體。如圖1 所示。
圖1 系統(tǒng)模型
(1)車輛(Vehicle,V):可信實(shí)體,數(shù)據(jù)所有者,通過(guò)車載設(shè)備采集車輛數(shù)據(jù)。
(2)RSU:可信實(shí)體,具有一定的計(jì)算和存儲(chǔ)能力。
(3)DC:半可信實(shí)體,具有海量存儲(chǔ)空間和強(qiáng)大計(jì)算能力。
(4)KGC:可信實(shí)體,可根據(jù)系統(tǒng)要求生成公私密鑰。
索引平衡二叉樹結(jié)構(gòu)如圖2 所示,其中平衡二叉樹每個(gè)結(jié)點(diǎn)由索引(index)、權(quán)值(height)、訪問(wèn)周期(cycle)以及左右指針域5 部分內(nèi)容組成。
圖2 索引平衡二叉樹
每個(gè)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)平衡二叉樹結(jié)點(diǎn),以數(shù)據(jù)塊的唯一標(biāo)號(hào)為權(quán)值構(gòu)建平衡二叉樹。結(jié)點(diǎn)中訪問(wèn)周期初始值為0,若在一定時(shí)間內(nèi)(一般為一周)沒有出現(xiàn)取用操作,則訪問(wèn)周期自增。
本方案的概率比例規(guī)模抽樣將基于數(shù)據(jù)塊的訪問(wèn)周期實(shí)現(xiàn),具體過(guò)程如下文所述。
(1)生成排序表ST:先將平衡二叉樹轉(zhuǎn)化成一個(gè)鏈表,每個(gè)鏈表結(jié)點(diǎn)存有對(duì)應(yīng)數(shù)據(jù)塊的索引和訪問(wèn)周期,并依據(jù)訪問(wèn)周期對(duì)鏈表按照訪問(wèn)周期從小到大排序得到排序表ST。
(2)生成邏輯采樣單元表:將最大訪問(wèn)周期fmax和周期間隔interv 作為輸入,輸出邏輯采樣單元表LSUT,其中共包括該采樣單元對(duì)應(yīng)的訪問(wèn)周期范圍、累計(jì)和以及該采樣單元對(duì)應(yīng)的范圍3 項(xiàng)內(nèi)容。
(3)采用PPS 抽取審計(jì)挑戰(zhàn)數(shù)據(jù)塊:假設(shè)需要抽取n×m個(gè)挑戰(zhàn)數(shù)據(jù)塊,先根據(jù)生成的邏輯采樣單元表根據(jù)PPS 規(guī)則抽取n個(gè)邏輯采樣單元,然后在其中各隨機(jī)選取m個(gè)數(shù)據(jù)塊。
本文采用格密碼構(gòu)建了一個(gè)基于身份的遠(yuǎn)程數(shù)據(jù)完整性檢查協(xié)議,詳細(xì)內(nèi)容如下文所述。
(1)系統(tǒng)初始化(Setup(n)):首先,設(shè)置安全參數(shù)n,整數(shù)m,大質(zhì)數(shù)q,實(shí)數(shù)β,哈希函數(shù)H,H1,H2,H3;其次,密鑰生成中心生成一個(gè)矩陣A和(A)上的一組短的格基TA;最后,生成一個(gè)矩陣Q和一組(Q)上的短的格基TQ。其中,系統(tǒng)參數(shù)param=(A,Q,H,H1,H2,H3),用戶主密鑰msk=TA。
(2)用戶身份id生成密鑰(KeyExtract(param,msk,id)):首先,計(jì)算B=AR-1,其 中R=H(id);其次,運(yùn)行算法NewBasisDel(A,R,TA,s)生成Tid,Tid是(B)的一個(gè)格基,s是一個(gè)高斯采樣參數(shù);最后,輸出skid=Tid作為數(shù)據(jù)所有者的私鑰發(fā)送給RSU。
(3)生成數(shù)據(jù)塊簽名(SignGen(param,τ,skid,M,id)):首先,需要將文件M分為l塊,令數(shù)據(jù)文件M的標(biāo)簽為τ∈{0,1}*;其次,計(jì)算αj=H3(B||τ||j)∈,對(duì)于每個(gè)ui,計(jì)算λi=H1(τ||i)+Qui,計(jì)算內(nèi)部產(chǎn)品hi=(hi1,…,hin)T,RSU 運(yùn)行SamplePre來(lái)得到文件塊的簽名ei=SamplePre(B,Tid,hi,σ);最后,RSU 將文件M={u1,…,ul}和相關(guān)簽名Φ=(e1,…,el)發(fā)送給數(shù)據(jù)中心,用戶將文件從本地刪除。
(4)生成挑戰(zhàn)信息(challenge(τ,M)):RSU采用PPS 從全集{1,2,…,l} 選擇元素索引集合I={i}i∈[1,l]I。對(duì)于每個(gè)元素i,RSU 選擇一個(gè)隨機(jī)值ci,并生成chal={τ,i,ci}i∈I作為挑戰(zhàn)信息,RSU 將挑戰(zhàn)信息發(fā)送給數(shù)據(jù)中心。
(5)生成證明(Proofcheck(param,chal,M,Φ,TQ,τ)):一旦收到來(lái)自RSU的挑戰(zhàn)信息chal,數(shù)據(jù)中心首先選擇數(shù)據(jù)塊{ui}i∈I以及相關(guān)簽名{ei}i∈I計(jì)算簽名證明和數(shù)據(jù)證明;然后在返回證明前對(duì)數(shù)據(jù)證明進(jìn)行盲化,計(jì)算,其中uc∈,計(jì)算,其中ec∈,選擇隨機(jī)向量并運(yùn)行算法SamplePre(Q,TQ,w,σ)生成w的簽名ξ,計(jì)算和,其中;最后,數(shù)據(jù)中心將證明proof=(τ,uc',ec,w)發(fā)送給RSU。
(6)證據(jù)檢查算法(Proofcheck(param,proof,chal,id,τ)):一旦收到來(lái)自數(shù)據(jù)中心的證明proof=(τ,,ec,w),RSU 計(jì) 算R=H(id) 和B=AR-1,計(jì) 算αj(j≤n),αj=H3(B||τ||j),讓C=(α1,…,αn),RSU計(jì)算;然后計(jì)算;最后RSU 檢查如果兩個(gè)等式成立,則RSU 接受該證明,否則該證明是非法的。
首先在SIS 假設(shè)下驗(yàn)證方案的隱私保護(hù)特性,然后通過(guò)模擬實(shí)驗(yàn)分析方案性能。
定理1:在簽名不可偽造以及SIS 難題假設(shè)下本方案實(shí)現(xiàn)了數(shù)據(jù)隱私保護(hù)。
證明:外部攻擊者截取證明proof=(τ,uc',ec,w)后,不能恢復(fù)M={u1,…,ul}中的任何數(shù)據(jù)塊。假設(shè)外部攻擊者試圖恢復(fù)M={u1,…,ul}中的任何數(shù)據(jù)塊。聚合信息選擇一個(gè)隨機(jī)向量,然后運(yùn)行算法SamlePre(Q,TQ,w,σ)來(lái)生成w的簽名ξ,然后計(jì)算=uc+ξH2(w)和。因?yàn)楹灻豢蓚卧煲约癝ISq,m,n,β困難假設(shè),外部攻擊者并不知道數(shù)據(jù)中心的私鑰,因此外部攻擊者不可能恢復(fù)原始文件塊。
該實(shí)驗(yàn)運(yùn)行在4 GB 內(nèi)存和2 個(gè)處理器核心Ubuntu20.04 虛擬機(jī)上,實(shí)驗(yàn)采用數(shù)論庫(kù)(Number Theory Library,NTL)11.4.4 版本。實(shí)驗(yàn)結(jié)果5 次取平均。
本文在仿真環(huán)境下測(cè)試了所提方案計(jì)算簽名的開銷,圖3 為計(jì)算簽名分別所需的時(shí)間花銷。實(shí)驗(yàn)結(jié)果表明,隨著數(shù)據(jù)塊數(shù)的增加,簽名總時(shí)間大致呈線性增長(zhǎng)。
圖3 計(jì)算簽名開銷
圖4 展示了挑戰(zhàn)數(shù)據(jù)塊所需的時(shí)間花銷,與挑戰(zhàn)塊數(shù)基本上呈正比,由此可見格密碼方案因?yàn)椴淮嬖谂鋵?duì)、求冪等耗時(shí)運(yùn)算而具有較高的效率。
圖4 驗(yàn)證簽名開銷
現(xiàn)有車聯(lián)網(wǎng)場(chǎng)景下,車輛將車載數(shù)據(jù)發(fā)送到數(shù)據(jù)中心后數(shù)據(jù)完整性無(wú)法得到保障。基于該問(wèn)題,本文提出了一種面向低頻數(shù)據(jù)的動(dòng)態(tài)完整性審計(jì)方案。該方案結(jié)合數(shù)據(jù)塊的訪問(wèn)周期作為參考信息,采用PPS 來(lái)選擇挑戰(zhàn)數(shù)據(jù)塊,從而提高審計(jì)效率,并基于格密碼設(shè)計(jì)使方案具有抗量子特性。最后,通過(guò)實(shí)驗(yàn)驗(yàn)證了本方案具有安全性和有效性。