1.一種Merkle哈希樹云數(shù)據(jù)完整性審計(jì)方法,其特征在于,包括:
用戶端在生成用戶公鑰、用戶私鑰后,對(duì)用戶數(shù)據(jù)文件進(jìn)行分塊操作得到n個(gè)數(shù)據(jù)塊,根據(jù)所述數(shù)據(jù)塊生成數(shù)據(jù)塊集合,并對(duì)所述數(shù)據(jù)塊進(jìn)行計(jì)算得到數(shù)據(jù)塊哈希值,通過預(yù)置公式對(duì)所述用戶私鑰、所述數(shù)據(jù)塊哈希值、所述數(shù)據(jù)塊進(jìn)行簽名計(jì)算,得到數(shù)據(jù)塊簽名集合,再根據(jù)所述用戶私鑰對(duì)預(yù)置局部權(quán)威根節(jié)點(diǎn)哈希值進(jìn)行簽名得到預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名;
所述用戶端構(gòu)建二叉有序默克爾哈希樹認(rèn)證數(shù)據(jù)結(jié)構(gòu),并將所述數(shù)據(jù)塊集合、所述數(shù)據(jù)塊簽名集合和預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名發(fā)送至云存儲(chǔ)服務(wù)器端;
第三方審計(jì)端在集合(1,2…,n)中隨機(jī)抽樣c個(gè)元素組成數(shù)據(jù)塊挑戰(zhàn)子集,通過挑戰(zhàn)信息對(duì)生成算法根據(jù)所述數(shù)據(jù)塊挑戰(zhàn)子集生成挑戰(zhàn)信息對(duì)集合,并將所述挑戰(zhàn)信息對(duì)集合發(fā)送至所述云存儲(chǔ)服務(wù)器端;
所述云存儲(chǔ)服務(wù)器端根據(jù)預(yù)置于所述二叉有序默克爾哈希樹認(rèn)證數(shù)據(jù)結(jié)構(gòu)中的認(rèn)證路徑信息得到輔助路徑信息集合,通過證據(jù)生成算法根據(jù)所述輔助路徑信息集合、所述挑戰(zhàn)信息對(duì)集合、所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名、所述數(shù)據(jù)塊集合和所述數(shù)據(jù)塊簽名集合生成持有性證據(jù),并將所述持有性證據(jù)發(fā)送至所述第三方審計(jì)端,其中,所述認(rèn)證路徑信息與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng);
所述第三方審計(jì)端獲取到所述持有性證據(jù)所包含的所述輔助路徑信息集合、與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)的數(shù)據(jù)塊哈希值、所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名,對(duì)所述輔助路徑信息集合、與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)的數(shù)據(jù)塊哈希值進(jìn)行計(jì)算得到第一局部權(quán)威根節(jié)點(diǎn)哈希值,并根據(jù)所述用戶私鑰對(duì)所述第一局部權(quán)威根節(jié)點(diǎn)哈希值進(jìn)行簽名得到第一局部權(quán)威根節(jié)點(diǎn)簽名,將所述第一局部權(quán)威根節(jié)點(diǎn)簽名與所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名進(jìn)行比較操作;
所述第三方審計(jì)端在所述比較操作通過后,根據(jù)所述用戶公鑰、所述挑戰(zhàn)信息對(duì)集合、所述持有性證據(jù)進(jìn)行驗(yàn)證操作,若驗(yàn)證通過,則確認(rèn)云數(shù)據(jù)完整,若驗(yàn)證不通過,則確認(rèn)云數(shù)據(jù)被損壞。
2.根據(jù)權(quán)利要求1所述的Merkle哈希樹云數(shù)據(jù)完整性審計(jì)方法,其特征在于,所述用戶端在生成用戶公鑰、用戶私鑰后,對(duì)用戶數(shù)據(jù)文件進(jìn)行分塊操作得到n個(gè)數(shù)據(jù)塊,根據(jù)所述數(shù)據(jù)塊生成數(shù)據(jù)塊集合,并對(duì)所述數(shù)據(jù)塊進(jìn)行計(jì)算得到數(shù)據(jù)塊哈希值,通過預(yù)置公式對(duì)所述用戶私鑰、所述數(shù)據(jù)塊哈希值、所述數(shù)據(jù)塊進(jìn)行簽名計(jì)算,得到數(shù)據(jù)塊簽名集合,再根據(jù)所述用戶私鑰對(duì)預(yù)置局部權(quán)威根節(jié)點(diǎn)哈希值進(jìn)行簽名得到預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名之前還包括:
所述用戶端通過公私鑰對(duì)生成算法生成所述用戶公鑰和所述用戶私鑰。
3.根據(jù)權(quán)利要求2所述的Merkle哈希樹云數(shù)據(jù)完整性審計(jì)方法,其特征在于,所述云存儲(chǔ)服務(wù)器端根據(jù)預(yù)置于所述二叉有序默克爾哈希樹認(rèn)證數(shù)據(jù)結(jié)構(gòu)中的認(rèn)證路徑信息得到輔助路徑信息集合,通過證據(jù)生成算法根據(jù)所述輔助路徑信息集合、所述挑戰(zhàn)信息對(duì)集合、所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名、所述數(shù)據(jù)塊集合和所述數(shù)據(jù)塊簽名集合生成持有性證據(jù),并將所述持有性證據(jù)發(fā)送至所述第三方審計(jì)端,其中,所述認(rèn)證路徑信息與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)具體包括:
所述云存儲(chǔ)服務(wù)器端根據(jù)預(yù)置于所述二叉有序默克爾哈希樹認(rèn)證數(shù)據(jù)結(jié)構(gòu)中的認(rèn)證路徑信息得到輔助路徑信息集合,并根據(jù)所述挑戰(zhàn)信息對(duì)集合對(duì)所述數(shù)據(jù)塊集合、所述數(shù)據(jù)塊簽名集合分別進(jìn)行簽名聚合計(jì)算得到第一數(shù)值、第二數(shù)值,根據(jù)所述第一數(shù)值、所述第二數(shù)值、所述輔助路徑信息集合、所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名、與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)的數(shù)據(jù)塊哈希值生成持有性證據(jù),并將所述持有性證據(jù)發(fā)送至所述第三方審計(jì)端,其中,所述認(rèn)證路徑信息與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)。
4.根據(jù)權(quán)利要求1所述的Merkle哈希樹云數(shù)據(jù)完整性審計(jì)方法,其特征在于,所述數(shù)據(jù)塊大小為32K。
5.根據(jù)權(quán)利要求1所述的Merkle哈希樹云數(shù)據(jù)完整性審計(jì)方法,其特征在于,所述預(yù)置公式為:
式中,Φ為數(shù)據(jù)塊簽名集合;σi為第i個(gè)數(shù)據(jù)塊簽名;h(mi)為第i個(gè)數(shù)據(jù)塊哈希值;mi為第i個(gè)數(shù)據(jù)塊;u為隨機(jī)數(shù);α為用戶私鑰。
6.一種Merkle哈希樹云數(shù)據(jù)完整性審計(jì)系統(tǒng),其特征在于,包括:用戶端、第三方審計(jì)端和云存儲(chǔ)服務(wù)器端;
所述用戶端、所述第三方審計(jì)端和所述云存儲(chǔ)服務(wù)器端兩兩之間通信連接;
所述用戶端用于在生成用戶公鑰、用戶私鑰后,對(duì)用戶數(shù)據(jù)文件進(jìn)行分塊操作得到n個(gè)數(shù)據(jù)塊,根據(jù)所述數(shù)據(jù)塊生成數(shù)據(jù)塊集合,并對(duì)所述數(shù)據(jù)塊進(jìn)行計(jì)算得到數(shù)據(jù)塊哈希值,通過預(yù)置公式對(duì)所述用戶私鑰、所述數(shù)據(jù)塊哈希值、所述數(shù)據(jù)塊進(jìn)行簽名計(jì)算,得到數(shù)據(jù)塊簽名集合,再根據(jù)所述用戶私鑰對(duì)預(yù)置局部權(quán)威根節(jié)點(diǎn)哈希值進(jìn)行簽名得到預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名;
所述用戶端還用于構(gòu)建二叉有序默克爾哈希樹認(rèn)證數(shù)據(jù)結(jié)構(gòu),并將所述數(shù)據(jù)塊集合、所述數(shù)據(jù)塊簽名集合和預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名發(fā)送至云存儲(chǔ)服務(wù)器端;
所述第三方審計(jì)端用于在集合(1,2…,n)中隨機(jī)抽樣c個(gè)元素組成數(shù)據(jù)塊挑戰(zhàn)子集,通過挑戰(zhàn)信息對(duì)生成算法根據(jù)所述數(shù)據(jù)塊挑戰(zhàn)子集生成挑戰(zhàn)信息對(duì)集合,并將所述挑戰(zhàn)信息對(duì)集合發(fā)送至所述云存儲(chǔ)服務(wù)器端;
所述云存儲(chǔ)服務(wù)器端用于根據(jù)預(yù)置于所述二叉有序默克爾哈希樹認(rèn)證數(shù)據(jù)結(jié)構(gòu)中的認(rèn)證路徑信息得到輔助路徑信息集合,通過證據(jù)生成算法根據(jù)所述輔助路徑信息集合、所述挑戰(zhàn)信息對(duì)集合、所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名、所述數(shù)據(jù)塊集合和所述數(shù)據(jù)塊簽名集合生成持有性證據(jù),并將所述持有性證據(jù)發(fā)送至所述第三方審計(jì)端,其中,所述認(rèn)證路徑信息與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng);
所述第三方審計(jì)端還用于獲取到所述持有性證據(jù)所包含的所述輔助路徑信息集合、與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)的數(shù)據(jù)塊哈希值、所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名,對(duì)所述輔助路徑信息集合、與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)的數(shù)據(jù)塊哈希值進(jìn)行計(jì)算得到第一局部權(quán)威根節(jié)點(diǎn)哈希值,并根據(jù)所述用戶私鑰對(duì)所述第一局部權(quán)威根節(jié)點(diǎn)哈希值進(jìn)行簽名得到第一局部權(quán)威根節(jié)點(diǎn)簽名,將所述第一局部權(quán)威根節(jié)點(diǎn)簽名與所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名進(jìn)行比較操作;
所述第三方審計(jì)端還用于在所述比較操作通過后,根據(jù)所述用戶公鑰、所述挑戰(zhàn)信息對(duì)集合、所述持有性證據(jù)進(jìn)行驗(yàn)證操作,若驗(yàn)證通過,則確認(rèn)云數(shù)據(jù)完整,若驗(yàn)證不通過,則確認(rèn)云數(shù)據(jù)被損壞。
7.根據(jù)權(quán)利要求6所述的Merkle哈希樹云數(shù)據(jù)完整性審計(jì)系統(tǒng),其特征在于,所述用戶端還用于通過公私鑰對(duì)生成算法生成所述用戶公鑰和所述用戶私鑰。
8.根據(jù)權(quán)利要求7所述的Merkle哈希樹云數(shù)據(jù)完整性審計(jì)系統(tǒng),其特征在于,所述云存儲(chǔ)服務(wù)器端還用于根據(jù)預(yù)置于所述二叉有序默克爾哈希樹認(rèn)證數(shù)據(jù)結(jié)構(gòu)中的認(rèn)證路徑信息得到輔助路徑信息集合,并根據(jù)所述挑戰(zhàn)信息對(duì)集合對(duì)所述數(shù)據(jù)塊集合、所述數(shù)據(jù)塊簽名集合分別進(jìn)行簽名聚合計(jì)算得到第一數(shù)值、第二數(shù)值,根據(jù)所述第一數(shù)值、所述第二數(shù)值、所述輔助路徑信息集合、所述預(yù)置局部權(quán)威根節(jié)點(diǎn)簽名、與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)的數(shù)據(jù)塊哈希值生成持有性證據(jù),并將所述持有性證據(jù)發(fā)送至所述第三方審計(jì)端,其中,所述認(rèn)證路徑信息與所述挑戰(zhàn)信息對(duì)集合對(duì)應(yīng)。
9.根據(jù)權(quán)利要求6所述的Merkle哈希樹云數(shù)據(jù)完整性審計(jì)系統(tǒng),其特征在于,所述數(shù)據(jù)塊大小為32K。
10.根據(jù)權(quán)利要求6所述的Merkle哈希樹云數(shù)據(jù)完整性審計(jì)系統(tǒng),其特征在于,所述預(yù)置公式為:
式中,Φ為數(shù)據(jù)塊簽名集合;σi為第i個(gè)數(shù)據(jù)塊簽名;h(mi)為第i個(gè)數(shù)據(jù)塊哈希值;mi為第i個(gè)數(shù)據(jù)塊;u為隨機(jī)數(shù);α為用戶私鑰。