基於區塊鏈的路由位置數據保密存儲及共享方法與流程
2023-06-03 11:24:01
本發明涉及一種基於區塊鏈的路由位置數據保密存儲及共享方法,屬於數據網際網路技術領域。
背景技術:
區塊鏈是一種分布式數據存儲方案,其通過點對點模式提供一種去中心化方式的集體維護策略。該技術將一段時間內的系統交流數據匯總,通過現代密碼學手段把匯總數據生成數據區塊,並利用時間戳產生數據指紋,將數據區塊串聯成鏈並提供有效性驗證和審計。
傳統的路由位置數據存儲及共享方法主要有兩種:集中存儲集中共享和分布式存儲集中共享。集中存儲集中共享的工作過程為:服務方採集所有用戶的數據併集中存儲,每一個共享請求都要發送到伺服器中心進行審核處理;分布式存儲集中共享的工作過程為:伺服器採集所有用戶數據並通過分布式技術分散存儲,當用戶發起共享請求時,通過服務中心審核處理。第一種方法採用集中存儲方式,維護方便,安全性高,但由於工作量較大容易產生服務瓶頸;第二種方法採用分布式存儲技術,但共享需求依然通過中心伺服器處理,當處理時還要通過分布式存儲尋找所需數據,增加了系統複雜度。另外,兩種方式存儲的數據雖都經過加密處理,但作為服務方依然可以自由利用,用戶隱私得不到有效保障;用戶的共享需求通過共享處理中心,一旦因某種原因而導致共享處理中心無法工作,便無法實現數據共享。
技術實現要素:
為了解決上述問題,本發明的目的在於提供一種基於區塊鏈的路由位置數據保密存儲及共享方法。
為了達到上述目的,本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法包括數據存儲方法和數據共享方法;
所述的數據存儲方法包括按順序進行的下列步驟:
1)節點配置
1.1)存儲節點配置:
1.1.1)將服務方各存儲節點配置成點對點通訊網絡;
1.1.2)將步驟1.1.1)中的各存儲節點本地生成私鑰;
1.1.3)將步驟1.1.1)中的各存儲節點依據步驟1.1.2)中產生的私鑰生成公鑰,並將公鑰在全網廣播;
1.2)用戶節點配置:
1.2.1)將連接各提供服務的路由設備的用戶節點配置成點對點通訊網絡;
1.2.2)將步驟1.2.1)中的各用戶節點匹配帳戶信息並依據此信息本地生成唯一根私鑰;
1.2.3)將步驟1.2.1)中的各用戶節點依據步驟1.2.2)中產生的根私鑰生成由私鑰和公鑰構成的共享密鑰對,其中每個用戶能夠具有多個共享密鑰對,並將公鑰在全網廣播;
2)數據加密發送
2.1)各用戶節點生成隨機密鑰,並獲取當前設定區間的基於路由的位置數據,然後將隨機密鑰和位置數據通過加密函數運算得到加密數據;
2.2)各用戶節點依據步驟2.1)中加密數據通過哈希函數運算得到數據摘要;
2.3)各用戶節點依據步驟1.2.3)中的私鑰和步驟2.2)中的數據摘要,通過加密算法運算生成數字籤名;
2.4)各用戶節點將步驟2.1)中的加密數據連同步驟2.3)中的數字籤名打包成打包數據,並隨機發送至存儲子網絡中某存儲節點公鑰地址;
3)存儲子網絡驗證存儲
3.1)存儲子網絡中各存儲節點按照設定時間段匯總當前時間段內接收的所有打包數據並生成數據區塊;
3.2)存儲子網絡中各存儲節點採用實用拜佔庭容錯算法,通過步驟1.2.3)中各用戶節點的公鑰驗證上述打包數據中的數字籤名,以此達成共識;
3.3)存儲子網絡中各存儲節點將共識完成的數據區塊加蓋時間戳並存儲到數據區塊鏈上,然後在全網廣播,完成存儲過程;
所述的數據共享方法包括按順序進行的下列步驟:
4)需求生成
4.1)請求方用戶節點請求被請求方用戶節點發送指定位置數據,生成需求信息;
4.2)請求方用戶節點選擇本地任意一共享密鑰對中的公鑰作為需求發出地址,並用與之對應的私鑰生成數字籤名;
4.3)請求方用戶節點事先得到一個被請求方用戶節點的公鑰,並作為目的地址,將需求信息和數字籤名發送至該地址;
5)需求響應
5.1)被請求方用戶節點收到請求方用戶節點的共享請求,廣播到全網;
5.2)全網各用戶節點通過共識機制達成該請求的合法性驗證;
5.3)驗證通過後,該需求信息被記錄到共享區塊鏈上,並廣播到全網;
5.4)被請求方用戶節點本地提取與需求信息相對應的隨機密鑰和共享密鑰對;
5.5)被請求方用戶節點隨機選取存儲子網絡中一個存儲節點的公鑰,並與請求方用戶節點的公鑰加密產生密文;
5.6)被請求方用戶節點將步驟5.5)中的密文進行哈希運算,並通過將步驟5.4)中提取的共享密鑰對中的私鑰加密生成數字籤名;
5.7)被請求方用戶節點使用請求方用戶節點的公鑰地址加密隨機密鑰得到加密後的隨機密鑰,然後將密文、數字籤名及加密後的隨機密鑰打包成打包數據並一併發給存儲子網絡任一存儲節點;
6)共享達成
6.1)被請求方用戶節點選中的存儲節點收到被請求方用戶節點的請求,通過數字籤名和步驟5.4)中的共享密鑰對中的公鑰驗證身份和密文正確性;
6.2)被請求方用戶節點選中的存儲節點通過自己的私鑰解密步驟5.5)中的密文,得到請求方用戶節點的公鑰地址;
6.3)被請求方用戶節點選中的存儲節點根據需求信息要求摘取對應的加密數據連同加密後的隨機密鑰,並一併發給請求方用戶節點的公鑰地址,發送的該數據通過共識機制記錄在數據區塊鏈上;
6.4)請求方用戶節點接收到被請求方用戶節點選中的存儲節點發來的數據,通過自己的私鑰解密得到隨機密鑰,再對加密的位置數據解密,得到原始共享數據,共享完成。
在步驟1.2.2)和步驟1.2.3)中,所述的生成根私鑰和共享密鑰對的方法包括下列步驟:
a):節點用戶依據帳戶信息生成根私鑰,本地保存;
b):節點用戶依據上述根私鑰生成用於共享密鑰對的用戶私鑰;
c):節點用戶依據上述用戶私鑰生成用戶公鑰,最後得到由用戶私鑰和用戶公鑰構成的共享密鑰對。
在步驟5.2)中,所述的共識機制達成方法包括下列步驟:
d):共享子網絡中各請求方用戶節點接收被請求方用戶節點廣播的需求信息;
e):各被請求方用戶節點通過如下公式參與共識競爭:貢獻度=(最近7天內在線時長/168+最近7天內個人使用流量/最近7天內網絡總流量)*最近7天內共享次數,貢獻度最高的用戶節點驗證此次需求;
f)驗證完成後將該需求信息存到共享區塊鏈上,並給予流量獎勵;
g)裁定當前參與驗證的被請求方用戶節點不得參與接下來7日之內的共識,共識完成。
本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法具有如下有益效果:
1、本發明使用區塊鏈技術,採用數據加密存儲,利用去中心化網絡來共享數據,解決了數據存儲方無權使用數據,用戶方沒有渠道選擇性開放個人數據的問題;
2、本發明在數據存儲過程中採用本地加密發送,服務方存儲加密數據,解密密鑰用戶自己保存,服務方無法得到原始數據,有更好的數據保護效果;
3、本發明在存儲過程採用區塊鏈技術,利用實用拜佔庭容錯算法來共識存儲,一方面解決中心化存儲的工作量瓶頸問題,另一方面可以保證數據防篡改,同時也可有效防止中心伺服器故障帶來的服務質量問題;
4、本發明用戶共享數據採用點對點網絡,結合現代密碼學加密技術,只有參與雙方有權得到數據,可以解決用戶隱私洩漏問題,採用用戶信息生成根私鑰進而生成共享密鑰對,只有參與雙方知道彼此身份,實現匿名化共享;
5、本發明通過貢獻度共識算法達成共識,使用共享區塊鏈保存記錄,一方面提供透明的記錄,為審計帶來便捷,同時可防止不法分子針對共享網絡的惡意攻擊行為。
附圖說明
圖1為本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法中存儲節點配置方法流程圖。
圖2為本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法中用戶節點配置方法流程圖。
圖3為本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法中數據發送及驗證存儲方法流程圖。
圖4為本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法中生成根私鑰和共享密鑰對方法流程圖。
圖5為本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法中需求生成和需求響應方法流程圖。
圖6為本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法中共享達成方法流程圖。
具體實施方式
下面結合附圖和具體實施方式對本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法進行詳細說明。
本發明依據存儲和共享兩種服務將網絡劃分成面向存儲的數據區塊鏈子網絡和面向共享服務的共享區塊鏈子網絡,兩個網絡同為點對點網絡,針對兩個子網絡使用兩個區塊鏈,分別為:數據區塊鏈和共享區塊鏈。
其中面向存儲的數據區塊鏈網絡包含多個平等的存儲節點,各存儲節點負責接收用戶數據並匯總,通過共識機制驗證數據合法性,並把加密數據以區塊結構按照時間先後順序存儲到鏈上,生成數據區塊鏈。通過合理分配協同工作提高並發性,解決中心服務存在的工作量瓶頸問題,數據通過用戶端加密,並通過區塊鏈技術存儲,可在保證高安全性數據隱私的同時保證存儲數據的高可靠性和透明性。
面向共享服務的共享區塊鏈子網絡由多個用戶節點組成,各用戶節點通過點對點網絡特性和特定的共識機制來完成位置數據共享,在共識過程中各用戶節點公平競爭,在完成共識後得到相應的獎勵,以此達到各用戶節點集體維護的目的,共識操作將每次合法的共享記錄都記錄在共享區塊鏈上,網絡中各用戶節點都可查看,從而能夠實現共享網絡的公開透明和安全可靠性。
本發明提供的基於區塊鏈的路由位置數據保密存儲及共享方法包括數據存儲方法和數據共享方法;
如圖1—圖3所示,所述的數據存儲方法包括按順序進行的下列步驟:
1)節點配置
1.1)存儲節點配置:
1.1.1)將服務方各存儲節點配置成點對點通訊網絡;
1.1.2)將步驟1.1.1)中的各存儲節點本地生成私鑰;
1.1.3)將步驟1.1.1)中的各存儲節點依據步驟1.1.2)中產生的私鑰生成公鑰,並將公鑰在全網廣播;
1.2)用戶節點配置:
1.2.1)將連接各提供服務的路由設備的用戶節點配置成點對點通訊網絡;
1.2.2)將步驟1.2.1)中的各用戶節點匹配帳戶信息並依據此信息本地生成唯一根私鑰;
1.2.3)將步驟1.2.1)中的各用戶節點依據步驟1.2.2)中產生的根私鑰生成由私鑰和公鑰構成的共享密鑰對,其中每個用戶能夠具有多個共享密鑰對,並將公鑰在全網廣播;
2)數據加密發送
2.1)各用戶節點生成隨機密鑰,並獲取當前設定區間的基於路由的位置數據,然後將隨機密鑰和位置數據通過加密函數運算得到加密數據;
2.2)各用戶節點依據步驟2.1)中加密數據通過哈希函數運算得到數據摘要;
2.3)各用戶節點依據步驟1.2.3)中的私鑰和步驟2.2)中的數據摘要,通過加密算法運算生成數字籤名;
2.4)各用戶節點將步驟2.1)中的加密數據連同步驟2.3)中的數字籤名打包成打包數據,並隨機發送至存儲子網絡中某存儲節點公鑰地址;
3)存儲子網絡驗證存儲
3.1)存儲子網絡中各存儲節點按照設定時間段匯總當前時間段內接收的所有打包數據並生成數據區塊;
3.2)存儲子網絡中各存儲節點採用實用拜佔庭容錯算法,通過步驟1.2.3)中各用戶節點的公鑰驗證上述打包數據中的數字籤名,以此達成共識;
3.3)存儲子網絡中各存儲節點將共識完成的數據區塊加蓋時間戳並存儲到數據區塊鏈上,然後在全網廣播,完成存儲過程;
如圖4所示,在步驟1.2.2)和步驟1.2.3)中,所述的生成根私鑰和共享密鑰對的方法包括下列步驟:
a):節點用戶依據帳戶信息生成根私鑰,本地保存;
b):節點用戶依據上述根私鑰生成用於共享密鑰對的用戶私鑰;
c):節點用戶依據上述用戶私鑰生成用戶公鑰,最後得到由用戶私鑰和用戶公鑰構成的共享密鑰對。
如圖4—圖5所示,所述的數據共享方法包括按順序進行的下列步驟:
4)需求生成
4.1)請求方用戶節點請求被請求方用戶節點發送指定位置數據,生成需求信息;
4.2)請求方用戶節點選擇本地任意一共享密鑰對中的公鑰作為需求發出地址,並用與之對應的私鑰生成數字籤名;
4.3)請求方用戶節點事先得到一個被請求方用戶節點的公鑰,並作為目的地址,將需求信息和數字籤名發送至該地址;
5)需求響應
5.1)被請求方用戶節點收到請求方用戶節點的共享請求,廣播到全網;
5.2)全網各用戶節點通過共識機制達成該請求的合法性驗證;
5.3)驗證通過後,該需求信息被記錄到共享區塊鏈上,並廣播到全網;
5.4)被請求方用戶節點本地提取與需求信息相對應的隨機密鑰和共享密鑰對;
5.5)被請求方用戶節點隨機選取存儲子網絡中一個存儲節點的公鑰,並與請求方用戶節點的公鑰加密產生密文;
5.6)被請求方用戶節點將步驟5.5)中的密文進行哈希運算,並通過將步驟5.4)中提取的共享密鑰對中的私鑰加密生成數字籤名;
5.7)被請求方用戶節點使用請求方用戶節點的公鑰地址加密隨機密鑰得到加密後的隨機密鑰,然後將密文、數字籤名及加密後的隨機密鑰打包成打包數據並一併發給存儲子網絡任一存儲節點;
6)共享達成
6.1)被請求方用戶節點選中的存儲節點收到被請求方用戶節點的請求,通過數字籤名和步驟5.4)中的共享密鑰對中的公鑰驗證身份和密文正確性;
6.2)被請求方用戶節點選中的存儲節點通過自己的私鑰解密步驟5.5)中的密文,得到請求方用戶節點的公鑰地址;
6.3)被請求方用戶節點選中的存儲節點根據需求信息要求摘取對應的加密數據連同加密後的隨機密鑰,並一併發給請求方用戶節點的公鑰地址,發送的該數據通過共識機制記錄在數據區塊鏈上;
6.4)請求方用戶節點接收到被請求方用戶節點選中的存儲節點發來的數據,通過自己的私鑰解密得到隨機密鑰,再對加密的位置數據解密,得到原始共享數據,共享完成。
在步驟5.2)中,所述的共識機制達成方法包括下列步驟:
d):共享子網絡中各請求方用戶節點接收被請求方用戶節點廣播的需求信息;
e):各被請求方用戶節點通過如下公式參與共識競爭:貢獻度=(最近7天內在線時長/168+最近7天內個人使用流量/最近7天內網絡總流量)*最近7天內共享次數,貢獻度最高的用戶節點驗證此次需求;
f)驗證完成後將該需求信息存到共享區塊鏈上,並給予流量獎勵;
g)裁定當前參與驗證的被請求方用戶節點不得參與接下來7日之內的共識,共識完成。