本發(fā)明涉及云存儲數(shù)據(jù)安全屬性,特別是一種高效可擴展的群組間數(shù)據(jù)權(quán)屬轉(zhuǎn)移方法。
背景技術(shù):
1、信息技術(shù)的高速發(fā)展給人們的生活帶來了巨大變化,傳統(tǒng)的本地存儲手段已難以應(yīng)對日益增長的數(shù)據(jù)量。因此,越來越多的個人和組織選擇使用物美價廉的云存儲服務(wù)在線存儲和管理數(shù)據(jù)。據(jù)世界知名咨詢機構(gòu)idc預(yù)測,截至2025年,全球?qū)⒂薪话?,即,超過175澤字節(jié)的數(shù)據(jù)存儲在云端。數(shù)據(jù)的持續(xù)增長和良性管理為數(shù)據(jù)釋放經(jīng)濟活力打下了堅實基礎(chǔ),加之近年來大數(shù)據(jù)、人工智能等技術(shù)不斷突破和發(fā)展的持續(xù)催化,數(shù)據(jù)已作為一種新的生產(chǎn)資料在數(shù)據(jù)要素市場上流通起來。在實際交易中,為保證交易公平性,數(shù)據(jù)權(quán)屬一般被抽象為對云數(shù)據(jù)完整性的審計能力,在本質(zhì)上以用戶密鑰的形式隨數(shù)據(jù)交易而發(fā)生轉(zhuǎn)移。對此,wang等研究人員將代理重加密、隨機掩碼、聚合簽名等密碼學(xué)技術(shù)融入經(jīng)典數(shù)據(jù)完整性審計方案,實現(xiàn)可逆、無可信第三方和輕量化的數(shù)據(jù)權(quán)屬轉(zhuǎn)移。然而,這些方案大多關(guān)注單實體交易場景。而首個針對群組間交易中數(shù)據(jù)權(quán)屬轉(zhuǎn)移的研究工作對多用戶群組的技術(shù)抽象過于粗放,默認(rèn)群組結(jié)構(gòu)固定,再利用聚合簽名技術(shù)將交易群組簡單聚合為邏輯上的單實體,并延續(xù)單實體間交易思路完成群組間的數(shù)據(jù)權(quán)屬轉(zhuǎn)移。
2、然而,群組內(nèi)部結(jié)構(gòu)始終穩(wěn)定不變假設(shè)在實際中難以成立,尤其在數(shù)據(jù)要素市場中表現(xiàn)較為活躍的數(shù)據(jù)采集公司、人工智能創(chuàng)業(yè)公司、研究機構(gòu)和高校,往往圍繞交易的數(shù)據(jù)而形成具有不同用戶構(gòu)成的交易群組,并在項目的推進(jìn)過程中時時改變?nèi)航M構(gòu)成。bls數(shù)字簽名方案具有良好的同態(tài)結(jié)構(gòu)基礎(chǔ),融合可公開驗證的緊縮por方案,可在無可信第三方的前提下實現(xiàn)群組多用戶私鑰在數(shù)據(jù)完整性標(biāo)簽中的快速嵌入、聚合和更新,從而完成多用戶群組對其數(shù)據(jù)的權(quán)屬動態(tài)確認(rèn)和轉(zhuǎn)移?,F(xiàn)將bls數(shù)字簽名方法簡述如下:
3、(1)密鑰生成
4、(1-1)選擇一個大素數(shù)p和一個素數(shù)q,其中q是p-1的一個因子。
5、(1-2)選擇一個生成元g,它是群z*p的生成元,滿足gq≡1mod?p。
6、(1-3)為每個簽名者生成私鑰ski,1<ski<q。
7、(1-4)計算公鑰
8、(1-5)對于n個公鑰pk1,……,pkn,計算聚合公鑰
9、(2)簽名生成
10、(2-1)對于消息(m),計算其哈希值h(m)并映射到橢圓曲線上的點q=h(m)。
11、(2-2)簽名者使用私鑰ski和消息m計算簽名
12、(3)聚合簽名
13、(3-1)對于n個簽名s1,s2,…,sn,計算聚合簽名
14、(3-2)驗證聚合簽名:計算如果等式成立,則所有簽名有效。
15、基于此,shen等研究人員提出了一種多用戶群組間的權(quán)屬轉(zhuǎn)移的完整性審計方案,然而這種基于bls數(shù)字簽名的方案還存在以下幾個問題:(1)動態(tài)性支持不足:面對群組內(nèi)部的強動態(tài)性,現(xiàn)有研究工作或受限于固化的設(shè)計而難以改造,或在改造后將引發(fā)明顯的性能衰退;(2)難以抵抗流氓密鑰攻擊:在現(xiàn)有方案下,攻擊者可以利用其他誠實用戶的公鑰子份額,在其他誠實用戶未知實際參與狀態(tài)的情況下,為給定信息生成一個有效的bls聚合簽名,將造成用戶在無感的情況下被群組內(nèi)其他用戶惡意地添加或消除對指定數(shù)據(jù)的權(quán)屬,影響交易公平;(3)易引發(fā)共謀攻擊:現(xiàn)有研究中,將數(shù)據(jù)完整性審計標(biāo)簽中的索引因子與數(shù)據(jù)解耦,并在數(shù)據(jù)轉(zhuǎn)移時直接傳遞簽名索引因子的私鑰,此時可能遭受到共謀者和云存儲服務(wù)商之間的共謀攻擊,導(dǎo)致未進(jìn)行數(shù)據(jù)交易的文件完整性審計失敗。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種高效可擴展的群組間數(shù)據(jù)權(quán)屬轉(zhuǎn)移方法,解決了上述持續(xù)證明云數(shù)據(jù)完整性技術(shù)中存在的動態(tài)性支持不足、難以抵抗流氓密鑰攻擊、易引發(fā)共謀攻擊問題。
2、為實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:一種高效可擴展的群組間數(shù)據(jù)權(quán)屬轉(zhuǎn)移方法,包括以下步驟:
3、步驟1:a群用戶生成系統(tǒng)參數(shù)、公私鑰對以及聚合公鑰;
4、步驟2:a群用戶生成數(shù)據(jù)的完整性審計標(biāo)簽;
5、步驟3:在將文件塊與完整性審計標(biāo)簽外包至云存儲服務(wù)商后,a群中任一用戶可以向云存儲服務(wù)商發(fā)起隨機的數(shù)據(jù)完整性審計挑戰(zhàn)ch?al;
6、步驟4:當(dāng)a群用戶成員發(fā)生變化,動態(tài)完成對數(shù)據(jù)權(quán)屬的變更;
7、步驟5:群組a選擇將數(shù)據(jù)及數(shù)據(jù)審計權(quán)轉(zhuǎn)移至群組b。
8、在一較佳的實施例中,所述步驟1具體包括以下步驟:
9、步驟11:a群用戶用戶選擇素階為q的循環(huán)乘法群g1和gt,并通過g1和gt選擇一個有效的非退化雙線性配對e:g1×g1→gt,同時定義一個可以將任意長度的二進(jìn)制字符串映射到循環(huán)乘法群g1中的密碼學(xué)哈希函數(shù)h1,h1:{0,1}*→g1以及可以將任意長度的二進(jìn)制字符串映射到整數(shù)環(huán)zp中的密碼學(xué)哈希函數(shù)h2,h2:{0,1}*→zp,其中“×”表示兩個群進(jìn)行配對操作,“→”表示映射符號,“*”表示任意次數(shù)的迭代;
10、步驟12:a群用戶公開系統(tǒng)參數(shù)pp,pp←{p,g1,gt,e,g,u,h1,h2},其中“←”表示賦值符號,p是大素數(shù),g,u是由群g1隨機選擇的兩個獨立生成元;
11、步驟13:a群用戶隨機選擇一個私鑰ski,ski∈rzp,并通過生成元g計算出對應(yīng)的公鑰pki,同時通過密碼學(xué)哈希函數(shù)h1計算對應(yīng)公鑰的哈希次冪apki,再對所有用戶的apki進(jìn)行乘積運算,得到聚合公鑰apk,公開apk。
12、在一較佳的實施例中,所述步驟2具體包括以下步驟:
13、步驟21:a群用戶選擇一個隨機數(shù)ai,ai∈rzp,并結(jié)合生成元g、密碼哈希函數(shù)h2以及自身的私鑰ski計算參數(shù)h'i,以及r'i,其中‖表示連接操作;
14、步驟21:a群用戶將編碼文件f劃分為n個同樣大小的文件塊f={m1,...,mn},其中mj∈zp,(1<j<n),為每個文件塊計算其所對應(yīng)的完整性審計標(biāo)簽σij,同時在完整性審計標(biāo)簽σij的計算中為ski增加隨機掩碼ai,即其中‖表示連接操作;
15、步驟23:由a群用戶中任一用戶將所有用戶對數(shù)據(jù)塊mj計算的完整性標(biāo)簽進(jìn)行聚合,計算完整性審計標(biāo)簽集合σj,其中‖表示連接操作,同時也對參數(shù)h'i和r'i分別進(jìn)行聚合,得到h,和r,并在計算完成后發(fā)送{mj,σj}j∈n至云存儲服務(wù)商,公開r和h。
16、在一較佳的實施例中,所述步驟3具體包括以下步驟:
17、步驟31:云存儲服務(wù)商收到完整性審計挑戰(zhàn)ch?al后,計算數(shù)據(jù)存儲證明dp,以及完整性審計標(biāo)簽存儲證明tp,云存儲服務(wù)商隨后將審計證明p,p={dp,tp},發(fā)送至完整性審計發(fā)起者;
18、步驟32:完整性審計發(fā)起者收到存儲證明p后,利用等式對存儲證明p進(jìn)行驗證;如果驗證存儲證明p為正確,輸出true,則說明存儲在云服務(wù)器上的數(shù)據(jù)是完整的;否則,輸出false,表示存儲數(shù)據(jù)完整性遭到破壞。
19、在一較佳的實施例中,所述步驟4具體包括以下步驟:
20、步驟41:當(dāng)用戶發(fā)起加入a群組請求時,待加入的用戶(標(biāo)記為)通過步驟(1-3)生成公私鑰對隨后選擇隨機數(shù)和計算參數(shù)以及同時計算其余輔助信息以及
21、
22、隨后由待加入用戶中任一用戶對輔助信息進(jìn)行聚合,計算以及并在計算完成后將輔助信息發(fā)送至云存儲服務(wù)商,云存儲服務(wù)商收到輔助信息后計算并更新完整性審計標(biāo)簽σ'j:
23、
24、步驟42:當(dāng)a群用戶中有用戶發(fā)起退出請求,待退出的用戶(標(biāo)記為)選擇隨機數(shù)并計算輔助信息以及
25、
26、隨后由退出群用戶中任一用戶對輔助信息進(jìn)行聚合,計算以及并在計算后將輔助信息發(fā)送至云存儲服務(wù)商,云存儲服務(wù)商收到輔助信息后計算并更新完整性審計標(biāo)簽σ'j:
27、
28、在一較佳的實施例中,所述步驟5具體包括以下步驟:
29、步驟51:a群用戶選擇隨機數(shù)xi,xi∈rzp,并計算輔助信息hi,auxi以及vi;
30、
31、步驟52:隨后由a群中任一用戶對輔助信息進(jìn)行聚合,計算hca=∑i∈shi,auxca=∑i∈sauxi以及vca=πi∈svi,并將聚合后的信息發(fā)送至b群;
32、步驟53:b群用戶收到a群用戶發(fā)送的輔助信息以后,選擇隨機數(shù)ai和x'i,ai,x'i∈rzp,并計算參數(shù)h'i,和r'i,以及其余輔助信息hi,auxi和vi;
33、
34、步驟54:同時由b群中任一用戶對輔助信息進(jìn)行聚合,計算h=hca+∑i∈s'hi,aux=auxca+∑i∈s'auxi,v=vca∏i∈s'vi以及r=r·πi∈sr'i,并在計算完成以后將輔助信息發(fā)送至云存儲服務(wù)商;
35、步驟55:云存儲服務(wù)商在收到b群用戶發(fā)來的輔助信息后,計算并更新完整性審計標(biāo)簽σ'j:
36、
37、計算完成后,數(shù)據(jù)審計權(quán)從群組a至群組b的轉(zhuǎn)移。
38、在一較佳的實施例中,步驟3中所述的完整性審計挑戰(zhàn)ch?al與其他挑戰(zhàn)生成方法兼容,具體包括以下步驟:
39、(1)從數(shù)據(jù)塊集合[1,n]中隨機挑選t個元素構(gòu)成的子集i={s1,……,st}其中s1≤…≤st,1≤t≤n;
40、(2)對挑戰(zhàn)集合中的每一個si,選擇隨機元素vi∈zp,生成隨機挑戰(zhàn)ch?al={(si',vi')}1<i'<t。
41、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
42、1)對bls聚合簽名的結(jié)構(gòu)進(jìn)行適應(yīng)性優(yōu)化,能有效抵抗流氓密鑰攻擊,保證了群組對數(shù)據(jù)的權(quán)屬僅在公私密鑰一致的情況下方能完成轉(zhuǎn)移;
43、2)生成數(shù)據(jù)完整性審計標(biāo)簽?zāi)軌蛴行У挚构仓\攻擊,保證交易雙方的私鑰等敏感信息的安全;
44、3)本發(fā)明無需任何可信第三方斷得參與,更適用于生產(chǎn)實際。