本發明涉及多用戶數據外包場景下的數據完整性協同驗證領域,具體涉及一種隱私保護的多方協同公共審計方法。
背景技術:
1、云審計為外包數據提供完整性保護,是保障云存儲服務質量的重要技術,其審計流程可大致分為三步:預處理(生成密態數據與數據標簽),挑戰-應答(發起審計挑戰,生成審計證明應答挑戰),驗證(驗證審計證明)。在現有的研究中,多數方案著重后面兩步的研究,如創新挑戰機制的,研究挑戰信息新鮮性、隨機性的,抵抗不誠實驗證的,如何實現去中心化驗證的,等等。而鮮有方案關注數據標簽的生成過程。
2、事實上,在具體的應用場景下,數據標簽會對系統整體的安全與性能產生不同程度的影響。在多用戶場景中,例如智慧政務的各部門存在數據外包權責劃分問題。由于各部門的成員是多個獨立的個體,其數據預處理(主要是數據標簽生成)的過程存在以下兩種情況:
3、1、設定群組管理員完成數據的預處理工作。該方式存在權力過于集中的問題,若管理員在預處理過程中出現紕漏,則外包數據的完整性無法被有效審計。攻擊者可發動“關鍵人攻擊”集中火力攻擊管理員。即使處理后的數據具有計算安全性,但是無法防范社會工程學攻擊,管理員一旦被攻破,群組內所有用戶的數據都處于危險之中。對于管理員自身而言,處理整個群組的數據也會造成很大的計算負擔。
4、2、成員各自處理自己的數據,這樣即使出現紕漏或被攻擊,也只有個別數據受損,不存在權責劃分問題。然而,單個成員獨立處理數據會造成標簽冗余問題,同一份數據可能具有多份不同的標簽,造成不必要的本地/云存儲開銷。獨立處理數據也易使得同一部門成員消息閉塞。
5、因此,亟需一種既保證數據安全又節約資源的數據標簽生成方法,以適應逐漸分布式化的網絡環境。
技術實現思路
1、本發明的目的在于克服現有技術的不足,提供一種隱私保護的多方協同公共審計方法,允許組內成員組成門限組聯合生成一份數據的標簽,以降低同一份數據的標簽冗余度。
2、本發明的目的是通過以下技術方案來實現的:
3、一種隱私保護的多方協同公共審計方法,包含三個實體:存儲空間富足的云服務提供商csp、具有專業能力與充足計算資源的第三方審計者tpa、包含多個獨立個體member的部門成員組mg;所述方法包括:
4、系統初始化階段:第三方審計者tpa生成系統所需的公共參數,包括:乘法循環群、橢圓曲線群、對稱加密算法、哈希算法、門限參數;
5、分布式密鑰生成階段:由門限組內成員交互執行,組內成員各自生成成員公私鑰,隨機選擇一個多項式函數隱藏成員私鑰;計算并分配給門限組內其他成員的可驗證的分布式密鑰份額,基于分布式密鑰份額生成公共審計所需的分布式簽名密鑰;
6、數據外包階段:由門限組內成員交互執行,分別基于分布式簽名密鑰與分布式秘密份額生成標簽生成所需參數,包括簽名臨時參數、簽名盲化因子、簽名協作私鑰;
7、完整性審計階段:由云服務提供商csp與第三方審計者tpa交互執行,tpa發起審計挑戰,csp響應挑戰計算存儲證明,tpa重構分布式簽名,并驗證存儲證明。
8、進一步地,所述系統初始化階段包括:
9、選擇大素數p,組成乘法循環群選定橢圓曲線群其中g是生成元;
10、選擇對稱加密算法enc(·,key),其中key是對稱密鑰;選擇哈希函數
11、選擇門限參數
12、生成系統公開參數
13、進一步地,所述分布式密鑰生成階段包括:
14、隨機選擇作為私鑰,計算pkl=skl·g作為公鑰;
15、隨機選擇一個t項多項式fl(x)=al,0+al,1x+...+al,t-1xt-1,其中al,0=skl,為skl計算n個秘密份額并發送給其他member;
16、計算分布式密鑰份額計算其驗證值psl=psl·g;
17、各memberl計算分布式驗證密鑰
18、門限組內各memberl交互生成分布式簽名密鑰dsk=λ1ps1+λ2ps2+...+λlpsl,其中λl是fl(x)的拉格朗日系數
19、進一步地,門限值t=2時,門限組包括member1、member2,所述數據外包階段包括:
20、加密數據生成:將原始文件fi分割成k個數據塊:fi=mi1||mi2||...||mik;使用對稱加密算法加密各數據塊:cij=enc(mij,κ),其中κ是對稱加密密鑰;
21、簽名協作私鑰交互生成:member1、member2隨機選擇作為各自的簽名臨時參數,并計算公開值r1=k1·g和r2=k2·g;
22、member1隨機選擇作為member1的簽名協作私鑰,計算其協作公鑰pk'1=ε1·g;
23、member1、member2合作運行乘加轉換函數mta(α,β)→(a,b),具體地,member1輸入ε1,member2輸入k2,分別得到輸出t1,t2,即ε1k2=t1+t2;
24、member1隨機選擇作為盲化因子,計算簽名私鑰的校驗值γ=t1+ε1θ1-λ1ps1?mod?p,并發送(θ1,γ)給member2;
25、member2驗證member1的校驗值:(t2+γ)·g=(θ1+k2)·pk'1-λ1ps1;若校驗通過,member2計算member2的簽名協作私鑰ε2=λ2ps2-(t2+γ);
26、組合其標簽參數spl=(kl,εl,θl);
27、分布式標簽生成:member1計算分布式簽名r=k1r2+k1θ1·g;member2計算分布式簽名r=(θ1+k2)r1=(rx,ry),其中rx,ry分別是r在橢圓曲線上的x坐標、y坐標;
28、member2計算數據塊部分標簽并發送給member1;
29、member1計算數據塊標簽
30、進一步地,所述完整性審計階段包括:
31、挑戰數生成:tpa運行隨機數生成器,生成隨機挑戰塊號集合生成挑戰信息chal=j并發送給csp;
32、存儲證明生成:csp根據挑戰信息找到被挑戰的數據塊及其對應標簽,計算證明信息t=∑j∈jσij,μ=∑j∈jcij,生成存儲證明ω=(t,μ);
33、完整性驗證:tpa計算分布式驗證公鑰,基于存儲證明、分布式驗證公鑰、簽名的x坐標計算分布式簽名驗證若相等則驗證通過,否則,證明數據完整性被破壞。
34、本發明的有益效果是:
35、1)本發明基于秘密共享、mta轉換技術,在不額外增加通信開銷的基礎上,實現了標簽多方無組織協同生成,抵抗“關鍵人攻擊”并解決多用戶數據外包場景下的權責劃分問題。
36、2)本發明基于橢圓曲線群設計,同樣的安全級別下的數據尺寸成倍縮小,標簽生成與存儲證明生成只涉及簡單運算(數乘、數加、哈希)。mta轉換算法(可基于bgn、ot等算法實現)的引入進一步將復雜運算簡單化(數乘簡化為數加),提升了分布式標簽生成效率,涉及的存儲開銷與計算開銷大幅度降低,其輕量級特性賦予發明可擴展性。
37、3)本發明基于ecdsa簽名算法構造完整性證明,在保障計算安全性的前提下避免雙線性對運算的巨大開銷,使其在計算資源受限的存儲環境也具備可用性;ecdsa簽名是區塊鏈的底層密碼原語之一,故本發明在區塊鏈上的實現具有先天優勢。mta轉換的使用,保護了成員隱私,其實現過程中引入的盲化因子使得分布式標簽生成可進一步抵抗線性攻擊。