?

清掃機器人避障系統區塊鏈私鑰分片存儲方法

2022-11-21 06:48丁紅發
機械設計與制造 2022年11期
關鍵詞:分片私鑰延時

王 祥,羅 亞,丁紅發

(貴州財經大學,貴州 貴陽 550025)

1 引言

區塊鏈是目前計算機技術中最全面也是最安全的數據庫[1],在此數據庫中包含多種計算機技術,例如點對點網絡技術、數據加密算法、智能合約技術以及共識機制技術等,避障系統區塊鏈就是將機器人系統中的有用數據進行分布式保存[2],同時在智能合約的基礎上生成系統機器人與外界物體之間的關聯[3],進而完成避障。在數據量較大且系統結構十分復雜的避障系統中利用區塊鏈技術得出的私鑰安全性更高,區塊鏈私鑰通常以錢包的形式進行保存,且區塊鏈的錢包共劃分成冷錢包、在線錢包以及本地錢包幾種,但這種私鑰存儲方法具有安全性較低以及成本較高的問題,因此針對避障系統區塊鏈私鑰的保存方法展開研究。

文獻[4]在共識節點的協助下利用門限算法處理區塊鏈中的私鑰數據,然后在共識節點的基礎上將私鑰數據進行分類,同時將私鑰劃分到各個相應節點進行保存,最后當用戶需要提取私鑰時,直接利用分片的私鑰在拉格朗日插值算法下提取出私鑰,完成私鑰的存儲,實現區塊鏈私鑰的分片存儲。文獻[5]將系統內數據進行加密后,立即將私鑰分配給用戶,為加強私鑰的安全,首先對區塊鏈中的惡意節點進行攻擊度的概率計算,以及攻擊節點數量的計算,其次在所有被攻擊節點中選取出概率最大的節點,進而計算出每個節點可進行分配的私鑰數量,從而實現區塊鏈私鑰的分片存儲。以上兩種方法在對私鑰進行存儲前沒有對用戶身份進行驗證,加大私鑰被盜取的風險,使得私鑰不完整,進而降低私鑰的恢復率,也加長嵌入時間,使得私鑰嵌入波動幅度大。無法保證私鑰存儲過程的安全,極易暴露私鑰的存儲位置。文獻[6]首先利用區塊鏈技術并結合數字簽名方法進而限制用戶訪問,排除可能為不法分子的用戶,在此基礎上使得系統內節點保持一致,最后通過有序數組對私鑰進行存儲,實現區塊鏈私鑰的分片存儲,該方法雖對用戶進行限制,但篩選過程過于籠統,極大概率漏掉一些偽裝極強的違法用戶,導致在存儲過程中需要抵抗盜取私鑰的用戶以及尋找缺失的私鑰,進而加長存儲時間,存在私鑰儲存延時長的問題。

為了解決上述方法中存在的問題,提出清掃機器人避障系統區塊鏈私鑰分片存儲方法。區塊鏈保障數據安全性和完整性的核心就是密碼學技術,該技術就是針對數據庫中每個節點生成節點專屬的私鑰。研究表明,所設計方法具有較好的分片存儲性能。

2 用戶身份篩選

為保證數據庫的安全,現通過參與者間的合作生成私鑰并完成簽名,進而極大降低單點攻擊問題,首先對用戶的身份進行篩選,將不安全因素進行初步排除[7],在環簽名的基礎上將區塊鏈中用戶劃分成簽名者、PKG(Private Key Generation,私鑰生成)群成員以及簽名環者三種身份,且每個用戶身份均代表系統中的節點,其中簽名者代表的是在避障系統中區塊鏈必須進行簽名的節點,并將所有可用的已簽名節點與其他兩種身份進行連接構成環簽名,簽名環代表的是在避障系統區塊鏈中任意抽取可幫助簽名者進行環簽名的身份,但這種身份的用戶不了解自己可在哪種節點下進行簽字,PKG 群成員指得是在避障系統區塊鏈中任意挑選的可為前兩種身份分配密鑰的身份,此算法的流程圖,如圖1所示。

圖1 基于環簽名的區塊鏈隱私保護算法架構圖Fig.1 Architecture of Blockchain Privacy Protection Algorithm Based on Ring Signature

根據圖1 可知,在該算法中首先需要將參數進行初始化處理,并進行系統選取以及簽名等共計三步計算,其過程為:

2.1 參數初始化處理

假設此算法中q階的循環加法和乘法群分別為G1和G2,其中G1的生成元為E,生成元E中含有雙線性映射e,其表達式為:

循環群中包含哈希函數H1和H2,則兩函數分別為:

由于避障系統區塊鏈內的各個節點均可形成PKG 群,所以此過程中各個據點均需要有專屬的私鑰Si,繼而計算出相應的公鑰Pi,表達式為:

假設避障系統區塊鏈節點與PKG 之間存在聯系,針對區塊鏈中第i個節點的PKG,該節點與PKG關系如下所示:

2.2 系統選取

若區塊鏈中的簽名者為IDi,真實的簽名者可任意抽取成員列表內的n個成員簽名環L,其表達式為:

同時在PKG 集合內任意抽取m個密鑰,將其組合形成集合C,在抽取過程中不可重復抽取,否則需要重新選取。

2.3 生成密鑰以及簽名

(1)當PKG集合表示環L內各個節點ID的公鑰時,其表達式為:

同時將其公鑰利用安全信道傳輸給各個節點ID。

(2)當PKG集合表示實際簽名者的節點時,其ID表達式為:

式中:Qu—相應ID的公鑰;Si—區塊鏈中的相應私鑰。

(3)針對需簽名的信息m,簽名者的節點ID需要提前為環成員選取n-1個整數xi,并將xi視為秘密值Ui,其表達式為:

式中:Ui—秘密值;xi—隨機整數;E—生成元。

在選取秘密值的過程中需要保證Ui內不能出現重復的xi值,否則需要重新選取。

則哈希函數的輸出值為:

式中:Yi—哈希函數的輸出,且i∈{1,2,…,n} 。

(4)在節點IDu中隨機選取整數xu,并求解出秘密值Uu,其表達式為:

式中:Uu—節點IDu的秘密值;Ui—節點IDi的秘密值。

式(10)中的整數xu不可重復出現,否則需要重新選取。則節點IDu的哈希函數輸出值為:

(5)為節點IDu任意選取出一個半徑r,且半徑的取值范圍為r∈{0,1}*,則節點IDu的公共系統參數P的公式為:

區塊鏈的體積為:

式中:Dk—環成員中的參數。

2.4 簽名驗證

(1)為用戶分配完身份后需要對用戶簽名進行驗證,在驗證過程中,若簽名成立則驗證成功,該簽名為真實有效。

(2)簽名驗證通過后需對簽名者身份進行驗證,若身份驗證通過,則將秘密信息等數據透露給驗證通過的簽名者,完成簽名驗證。

3 私鑰儲存方法

經過加密后的系統數據需要用特定的私鑰進行解密從而獲取信息,如何保存私鑰是一大問題,為將私鑰的安全性提升到最高,需要對私鑰的儲存方式進行加強,因此將私鑰嵌入到載體圖像的水印信息中進行保存從而實現安全加強,該方法的基本流程,如圖2所示。

圖2 私鑰嵌入圖像流程圖Fig.2 Flow Chart of Private Key Embedded Image

該方法可能被不法分子發現并提取秘密信息,從而泄露秘密信息,因此需要對水印部分的信息增加隨機數進而加強防范,同時將其轉化為二進制矩陣的形式并增加糾錯碼,進而將私鑰進行隱藏,使得該方法在傳輸中降低誤差,且極大地提高私鑰的安全性。

3.1 水印嵌入

將私鑰嵌入水印區域前,其位置的選取十分重要,必須選擇安全性較高以及對載體質量無影響的位置,因此需要排除可輕易被不法分子提取私鑰的位置以及嵌入私鑰后圖像會出現失真等影響圖像質量的位置[8]。

為保證嵌入的質量,選取魯棒性較好的離散小波變換進行嵌入,圖像經過一級小波變換隨之生成水平HL1、垂直LH1、對角線HH1以及低頻分量LL1等4個小波系數矩陣,其中,1代表一級的小波變換,由于低頻部位具有較好的魯棒性,所以選取低頻部位進行信息嵌入,為降低數據量,需進一步進行小波分解處理[9-10]。

為忽略噪聲以及圖像壓縮等帶來的影響,可利用魯棒性較優越的信號處理方法—量化索引調制算法(QIM)進行信號處理,此算法的過程為:

第一步,將經過離散后的低頻系數為a×b的矩陣標記為LL3,其中3 為三級小波變換,將LL3 進行轉換,轉換成維數是N的行向量,并將其分成n組,生成維數為n的組行向量為防止組數對算法的魯棒性產生影響,經過多次迭代后生成的行向量表達式為:

第二步,在行向量uk內將偶數項記為向量x,奇數項標記為向量y,則向量x和y模的表達式分別為:

式中:lx—向量x的模;

ly—向量y的模。

第三步,假設QIM量子因子為z,且z=lx/ly,則QIM量化函數表達式為:

式中:m—圖像中的水印信息;Δ—QIM 量化函數的參數量化長度;Q—QIM。

第五步,將所有可進行分組的系數和向量視為具有水印信息圖像的低頻分量,最后將已進行處理和未進行任何處理的水印圖層進行融合生成私鑰水印圖像,這種嵌入方式即可保證私鑰安全性最高又可分層儲存私鑰。

3.2 私鑰提取

私鑰的嵌入和提取是相對稱算法,因此在提取私鑰過程中仍需對載體圖像進行三級變換處理,進而生成奇數項向量和偶數項向量

由于在儲存途中私鑰在水印信息中經過偽裝,因此從水印信息中提取出私鑰后還需對其進行糾錯碼的解碼處理,此時的水印信息仍是矩陣形式,還需要將其轉換為私鑰的原本形式,排除格式中的隨機數即可。

具體的提取過程為將載體圖像的圖層進行小波變換處理,利用結果建立向量化比生成水印信息,針對水印信息計算出糾錯碼并將其轉換成水印格式,最終提取出私鑰。

4 實驗與結果

為了驗證清掃機器人避障系統區塊鏈私鑰分片存儲方法的整體有效性,分別采用所提方法、文獻[4]方法和文獻[5]方法進行嵌入時間波動程度、私鑰恢復率以及私鑰儲存延時的測試,測試結果如下:

4.1 嵌入時間波動程度

將私鑰嵌入到圖層中需要一定時間,但時間的長短決定嵌入的優劣,嵌入時間過短會出現嵌入不完全,安全性過低等問題,嵌入時間過長會大大降低效率也會導致圖像出現失真等情況,經過多次迭代后計算出嵌入的平均嵌入時間,即最優嵌入時間,利用三種方法對私鑰進行水印嵌入,比較三種方法得出的時間與最優嵌入時間之間的波形情況,實驗結果具體情況,如圖3所示。

圖3 三種方法嵌入時間波動結果Fig.3 Embedding Time Fluctuation Results of Three Methods

根據圖3經比較后發現,文獻[5]方法完全偏離最優嵌入時間,且遠遠高于最優嵌入時間,文獻[4]方法的嵌入時間雖強于文獻[5]方法,且一直在最優嵌入時間附近波動,但該方法的嵌入時間上下浮動較大,不利于嵌入效果,反觀所提方法,不僅一直圍繞最優嵌入時間波動,且所提方法在各個實驗樣本下的嵌入時間均無較大差別,時間幅度也很小,這是因為所提方法在進行私鑰分層存儲前對用戶的身份進行驗證,未通過驗證的用戶不可進區塊鏈數據庫,進而加強數據庫的安全,不必擔心在嵌入途中被不法分子盜取密鑰,從而減少防范時間,提高嵌入效率,降低嵌入時間波動。

4.2 私鑰恢復率

私鑰的儲存包含儲存以及提取兩部分,因此判斷私鑰儲存性能的優劣不僅需要看存儲的性能,也要測試最后私鑰的恢復程度。在區塊鏈中節點會不斷更新出全新的節點,節點的增加會影響私鑰的恢復程度,選取不同程度更新率通過三種方法進行私鑰恢復,判斷三種方法在各個更新率下的私鑰恢復率,得出最優存儲方法。不同方法的私鑰恢復率結果,如圖4所示。

圖4 不同方法的私鑰恢復率結果Fig.4 Private Key Recovery Rate Results of Different Methods

根據圖4可知,文獻[4]方法和文獻[5]方法隨著節點更新率的升高,其私鑰恢復率越來越低,這兩種方法在更新率為16%時的私鑰恢復率已經為0,說明文獻[4]方法和文獻[5]方法在16%更新率時私鑰存儲方法已經失效,無法從水印信息中提取私鑰,所提方法隨著更新率的增加其私鑰恢復率雖有所下降,但該方法最低恢復率為也高達0.79,遠高于其它兩種方法,可證明所提方法是三種方法最可取的私鑰儲存方法,即所提方法的私鑰恢復率最高。

4.3 私鑰儲存延時

在存儲私鑰的過程中,為進一步提升私鑰的安全性,私鑰通常是分成多個碎片進行保存,當身份通過驗證的用戶進行存儲私鑰時,此時區塊鏈中會互相告知其它節點,各節點相對應的私鑰碎片會相互分享,進而在完美偽裝私鑰的同時保證私鑰儲存的完整性,碎片在分享過程中會出現延時,即在一定大小節點下需要跳躍的數量。

選取一定數量不同規模的網絡節點,測試在所提方法、文獻[4]方法以及文獻[5]方法下的所需的跳數,如圖5所示。

圖5 三種的私鑰儲存延時結果Fig.5 Storage Delay Results of Three Kinds of Private Keys

根據圖5數據可知,網絡節點的大小對延時有一定影響,隨著節點的增大跳數會越來越高,延時會隨之增加,存儲效率隨之下降,其中文獻[5]方法的時間延時尤為嚴重,文獻[4]方法對比文獻[5]方法延時雖有所改善,但延時結果仍不理想,還會極大影響載體圖像的質量,所提方法是三種方法延時最少的,不會過度影響圖像質量,也不會太過降低存儲效率,因此證明所提方法的優越性。

5 結束語

目前數據的加密技術日益完善,其中私鑰的存儲還需進一步提高,因此提出清掃機器人避障系統區塊鏈私鑰分片存儲方法,該方法首先對用戶身份進行篩選,其次基于圖像水印形式將私鑰進行嵌入,實現區塊鏈私鑰分片存儲,解決了嵌入時間波動大、私鑰的恢復率低以及私鑰儲存延時長的問題,使得加密技術登上一個全新的臺階。

猜你喜歡
分片私鑰延時
上下分片與詞的時空佈局
利用狀態歸約處理跨分片交易的多輪驗證方案①
物聯網區塊鏈中基于演化博弈的分片算法
比特幣的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
日光燈斷電關閉及自動延時開關設計
基于模糊二分查找的幀分片算法設計與實現
一種基于虛擬私鑰的OpenSSL與CSP交互方案
基于秘密共享的IBE移動密碼系統
基于CD4060 的室內換氣系統延時關機電路設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合