[發明專利]一種基于區塊鏈的云端數據完整性檢測方法及系統有效
| 申請號: | 201811264304.3 | 申請日: | 2018-10-29 |
| 公開(公告)號: | CN109194466B | 公開(公告)日: | 2021-07-06 |
| 發明(設計)人: | 劉曉光;王國浩;王剛;閻萌;鳳佳琦 | 申請(專利權)人: | 南開大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L9/32;H04L29/06;H04L29/08 |
| 代理公司: | 天津耀達律師事務所 12223 | 代理人: | 侯力 |
| 地址: | 300071*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 區塊 云端 數據 完整性 檢測 方法 系統 | ||
1.一種基于區塊鏈的云端數據完整性檢測方法,其特征在于,所述方法包括以下步驟:
步驟1,用戶使用加密算法及糾刪碼對文件進行處理得到n個數據塊,記為F1,...,Fn,其中下標1,2,...,n代表數據塊號;
步驟2,用戶對由步驟1中得到的n個數據塊使用用戶私鑰進行簽名,對每一個數據塊Fi得到其對應的數字簽名Si,其中i代表數據塊號,且有i=1,2,...,n;
步驟3,用戶將由步驟1中得到的數據塊F1,...,Fn及由步驟2中得到的簽名S1,...,Sn上傳給云端;
步驟4,云端使用用戶公鑰和簽名驗證算法對接收到的數據塊F1,...,Fn及其數字簽名S1,...,Sn進行驗證;
步驟5,若步驟4中驗證成功,則云端保存接收到的數據塊F1,...,Fn及其簽名S1,...,Sn,并使用云端私鑰對數據塊簽名S1,...,Sn分別計算其對應的二次簽名S1’,...,S′n,將二次簽名作為數據憑證公布到區塊鏈中,并將相應存儲地址回傳給用戶;
步驟6,用戶使用哈希算法、步驟2中所述用戶私鑰以及云端公鑰、步驟5中所述存儲地址對云端數據進行完整性校驗;所述完整性校驗的具體步驟如下:
步驟6.1:用戶從云端下載步驟3中上傳的數據塊F1,...,Fn;
步驟6.2:用戶使用存儲地址K從區塊鏈請求得到數據塊F1,...,Fn對應的憑證S1’,...,Sn’;
步驟6.3:針對每一個下載得到的數據塊Fi,其中i代表數據塊號,且有i=1,2,...,n,用戶使用哈希算法得到數字簽名的哈希值Hash(Fi),并使用用戶私鑰對其進行簽名得到數字簽名Sign(Hash(Fi));
步驟6.4:針對每一個數據塊憑證Si’,其中i代表數據塊號,且有i=1,2,...,n,用戶使用云端公鑰對其進行解密得到Dec(Si’),若Sign(Hash(Fi))與Dec(Si’)相同,則用戶可知數據完整,否則數據完整性遭到破壞;
步驟7,云端使用哈希算法、用戶公鑰以及云端公鑰、步驟5中所述的存儲地址對數據進行完整性校驗;所述完整性校驗的具體步驟如下:
步驟7.1:云端使用存儲地址K從區塊鏈請求得到數據塊對應的憑證S1’,...,Sn’;
步驟7.2:針對每一個在步驟3中接收到的數據塊Fi,云端使用哈希算法得到其哈希值Hash(Fi);
步驟7.3:針對每一個數據塊憑證Si’,云端使用云端公鑰和用戶公鑰依次解密得到Dec(Dec(Si’)),若Hash(Fi)與Dec(Dec(Si’))相同,則云端可知數據完整,否則數據完整性遭到破壞。
2.如權利要求1所述的方法,其特征在于,所述哈希算法為SHA256算法。
3.如權利要求1所述的方法,其特征在于,所述加密算法為AES加密算法。
4.如權利要求1所述的方法,其特征在于,所述云端為數家云服務商組成的多云云端。
5.如權利要求1所述的方法,其特征在于,所述區塊鏈為任意區塊鏈公有鏈。
6.一種云端數據的完整性檢測系統,其特征在于,包括:用戶上傳模塊、云端受理模塊、用戶檢測模塊和云端檢測模塊;其中,
用戶上傳模塊,用于對文件進行處理并上傳到云端受理模塊;
云端受理模塊,用于云端對接收到的數據塊及數字簽名進行驗證,若驗證成功則對數據塊進行二次簽名并將其上傳到區塊鏈網絡,并將區塊鏈網絡返回的地址回傳用戶上傳模塊;
用戶檢測模塊,用于用戶對云端數據進行完整性校驗,從云端受理模塊獲得存儲的數據以及獲得從區塊鏈網絡回傳的地址,用戶檢測模塊使用獲得的數據和地址對云端數據完整性進行檢測;所述完整性檢測的具體步驟如下:
1):用戶從云端下載經過簽名并上傳的數據塊F1,...,Fn;
2):用戶使用存儲地址K從區塊鏈請求得到數據塊F1,...,Fn對應的憑證S1’,...,Sn’;
3):針對每一個下載得到的數據塊Fi,用戶使用哈希算法得到數字簽名的哈希值Hash(Fi),并使用用戶私鑰對其進行簽名得到數字簽名Sign(Hash(Fi));
4):針對每一個數據塊憑證Si’,用戶使用云端公鑰對其進行解密得到Dec(Si’),若Sign(Hash(Fi))與Dec(Si’)相同,則用戶可知數據完整,否則數據完整性遭到破壞;
云端檢測模塊,用于云端對數據進行完整性校驗,云端檢測模塊使用從區塊鏈網絡獲得的憑證和現有數據進行云端數據完整性檢測;所述完整性檢測的具體步驟如下:
1):云端使用存儲地址K從區塊鏈請求得到數據塊對應的憑證S1’,...,Sn’;
2):針對每一個數據塊Fi,云端使用哈希算法得到其哈希值Hash(Fi);
3):針對每一個數據塊憑證Si’,云端使用云端公鑰和用戶公鑰依次解密得到Dec(Dec(Si’)),若Hash(Fi)與Dec(Dec(Si’))相同,則云端可知數據完整,否則數據完整性遭到破壞。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南開大學,未經南開大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811264304.3/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





