国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于多變量公鑰密碼構建熱錢包安全保護方案

2023-08-27 09:02朱颮凱張禧龍劉三滿趙菊敏
電子設計工程 2023年17期
關鍵詞:數字簽名私鑰公鑰

朱颮凱,張禧龍,劉三滿,宋 杰,郭 春,趙菊敏

(1.山西警察學院 網絡安全保衛(wèi)系,山西太原 030401;2.智能警務四川省重點實驗室,四川瀘州 646000;3.太原理工大學 信息與計算機學院,山西晉中 030600)

區(qū)塊鏈中心交易所或Dapp 錢包主要對用戶的私鑰進行保密性監(jiān)管,但大多數情況下會將私鑰保存在服務器上,所以平臺采取開源方案只會對服務器安全、平臺數據安全、用戶資產安全起到一定作用。

在實際區(qū)塊鏈交易中,交易過程安全、熱錢包保護是亟待發(fā)現、研究的。攻擊者往往會通過利用多項智能合約漏洞以及竊取私鑰復制熱錢包的方法來獲取熱錢包中的虛擬貨幣。同時量子計算技術高速發(fā)展、抗量子密碼研究步伐加快,區(qū)塊鏈加密技術卻仍在采用第一代公鑰密碼算法來保證數據庫的安全性,且RSA 算法曾被爆出可進行多種攻擊破解,因此區(qū)塊鏈熱錢包保密算法更新迫在眉睫。

基于對現存熱錢包安全性問題的綜合研判,文中提出了一種對熱錢包內私鑰應用多變量公鑰密碼加密的熱錢包保護方案,以應對攻擊者破譯私鑰、復制錢包竊取虛擬貨幣,及防止熱錢包管理公司非法提取用戶虛擬貨幣等問題。該模型利用抗量子技術,使用多變量公鑰加密,確保私鑰的保密性。在熱錢包中僅僅存儲的是私鑰的密文,并不對私鑰進行直接保存,極大優(yōu)化了熱錢包在實際中的使用體驗。

1 方案簡述

1.1 方案對錢包進行優(yōu)化及提高安全等級

1)針對熱錢包服務器存儲私鑰遭受惡意入侵的問題,提出了基礎模型架構:服務器并不對私鑰進行直接保存,而是保存私鑰的密文。增加熱錢包的加密模塊,使用該模塊對私鑰進行多變量公鑰密碼加密,形成密文后再進行保存[1]。

2)針對目前RSA 和SM2 橢圓曲線數字簽名難以抵抗量子技術的問題,以及大整數因式分解、離散對數可逆解等易竊密行為,文中提出了一種多變量公鑰加密結合SM2 橢圓曲線數字簽名的多重加密架構。經研究發(fā)現,多變量公鑰加密可有效對抗量子計算攻擊,即使攻擊者對錢包外部進行暴力破解,也僅只得到私鑰的密文,從而實現對私鑰的保護,從理論上大大提升了安全性[2]。

3)針對現行的用戶間資產交易主要通過用戶輸入密鑰進行鏈上簽名驗證,在提高安全性之后,可以將部分業(yè)務移交給熱錢包交易平臺,大大減輕了用戶的操作負擔,簡化了轉賬、交易或融資流程,使用戶的操作更加簡潔有效[3]。

1.2 方案具體框架

私鑰由隨機數生成器隨機生成,是決定用戶賬號中虛擬貨幣所有權的關鍵。文中方案將私鑰作為明文1,通過多變量公鑰密碼算法進行加密,形成密文1,在此期間將會生成私鑰1 以及公鑰1。私鑰1由用戶保存,再將密文1 保存在熱錢包中。形成的密文1 作為SM2 橢圓曲線數字簽名的明文生成公鑰以及地址,公鑰公開在區(qū)塊鏈上。在使用錢包的過程中,錢包只保存私鑰經過多變量公鑰密碼加密后的密文,在用戶需要進行轉賬時,自行輸入私鑰進行交易的確認。熱錢包私鑰加密流程如圖1 所示。

圖1 熱錢包私鑰加密流程

私鑰即明文1,定義為(x1,x2,x3,x4,…,xC),公鑰1即密文1,定義為(y1,y2,y3,y4,…,yB)。

多變量公鑰密碼加密流程如下[4]:

假設A是一個有限性的值域,B、C取值為正整數:

其中,定義Z和T是AB和隨機選取的可逆仿射變換。定義映射G為一個值在AB和之間可求逆元的非線性映射,一般為二次函數。定義$為多個映射進行合成。定義是AB在上的映射,可以表示為A上的B個C元多項式[5]。

Qi作為A上的n元多項式,其最高次和Z的次數相等。

此時Z作為線性變換,T作為平移變換,G可以使用Sigmiod 函數進行計算[6]:

應用于多項式公鑰密碼時,將定義為公鑰1,即(q1,q2,q3,q4,…,qB),私鑰是Z和T兩個可仿射變換以及D[7]。

加密過程如下:

將私鑰作為明文消息(x1,x2,x3,x4,…xC),經過G加密之后,得到密文1 (y1,y2,y3,y4,…,yB),即對所有i=1,2,…,B的取值有:

解密過程如下:

通過私鑰1 計算G的逆元g,對應即可以求出所有Qi的逆元qi,輸入公鑰1即密文1(y1,y2,y3,y4,…,yB),就可以得到明文即公鑰1,即對所有i=1,2,…,C的取值有:

1.3 模型優(yōu)勢

該模型從理論上一方面可以防止攻擊者對SM2橢圓曲線數字簽名[9]破解之后,直接獲取私鑰的可能。假設攻擊者對熱錢包成功破解,獲取到的只是私鑰經過多變量加密后的密文,且多變量公鑰密碼可以有效防御量子計算機暴力破譯及抗量子計算,增加了一定的安全性;另一方面,在熱錢包中存儲的只是密文沒有直接對私鑰進行存儲,有效解決了錢包公司自身不安全或者有不法行為的問題。該模型主要提出了一種新式熱錢包架構的想法,在錢包中加入對私鑰進行加密的模塊,較好地優(yōu)化了熱錢包安全算法[10]。

2 實現與結果分析

2.1 加密平臺設計應用

2.1.1 測試系統(tǒng)設計

前文對應用多變量公鑰密碼算法的私鑰加密過程的理論部分進行了描述,同時,對應用SM2 橢圓曲線數字簽名[11]將密文1 加密的算法結構進行了細致介紹,通過構建實驗對之前涉及到的算法進行實現。文中實驗整體實現過程分為四大模塊:搭建平臺測試環(huán)境、多變量公鑰加密算法實現、SM2 橢圓曲線數字簽名模塊改進、通過構建創(chuàng)世區(qū)塊搭建私有鏈測試結果[12]。

2.1.2 環(huán)境配置

測試方案的硬件為計算機,具體配置有:

處理器為Intel(R) Core(TM) i5-9300H CPU@2.40 GHz,機帶RAM 為8.00 GB,操作系統(tǒng)為Window 10。

2.1.3 測試系統(tǒng)結果

測試平臺以GO 語言為基礎,應用Geth 客戶端搭建私有鏈,進一步驗證實驗結果的可實現性及對該方案的實際性評估。測試平臺搭建主要分為五大模塊:①GO 語言、Geth 環(huán)境部署;②私有鏈賬戶注冊;③以太坊錢包創(chuàng)建;④創(chuàng)世區(qū)塊創(chuàng)建;⑤節(jié)點創(chuàng)建。

GO 語言部署結果如圖2 所示。該模塊主要測試平臺構建相應的語言及以太坊節(jié)點,為與區(qū)塊鏈進行通信交易,需使用區(qū)塊鏈客戶端節(jié)點,與其他客戶端節(jié)點建立P2P通信信道,用于簽署和廣播交易信息[13]。

圖2 GO語言環(huán)境部署

創(chuàng)世區(qū)塊創(chuàng)建結果如圖3 所示。因為實驗測試需要在區(qū)塊鏈中進行,所以首先要搭建起一條合適的私有鏈,通過在私有鏈中創(chuàng)建節(jié)點進行交易來模擬正式公鏈中的交易流程。

圖3 創(chuàng)世區(qū)塊創(chuàng)建

節(jié)點創(chuàng)建結果如圖4所示。啟動節(jié)點成功后,進入Geth 的命令行模式,輸入命令personal.newAccount()后,會提示輸入賬號密碼,并確認,最后會顯示一個新生成的賬號。

圖4 新節(jié)點賬號生成

2.2 加密模塊實現

2.2.1 基于多變量公鑰加密算法測試

下面主要對前文所提出的新型多變量公鑰加密算法應用jupyter 進行實現,將私鑰分為兩組,分別進行隨機仿射加密,并應用SM2橢圓曲線數字簽名形成最終密文。環(huán)境配置同2.1.2。

該實驗對隨機數生成器生成的一串64 字節(jié)明文:0926518763557286729845266738580987636263 554871098327837652908736,經過多變量公鑰加密后生成密文。加密測試結果如圖5 所示。

圖5 私鑰經多變量公鑰加密后密文

2.2.2 SM2橢圓曲線數字簽名

文中方案提出將個人私鑰經過多變量公鑰密碼算法加密之后生成的密文1 存儲在熱錢包中,密文1不會直接對外,而是在將該密文1 進行SM2 橢圓曲線數字簽名之后作為公鑰發(fā)布在公有鏈上[14],以下是具體實驗測試:

環(huán)境配置同2.1.2。該實驗加密一串64字節(jié)明文:09265187635572867298452667385809876362635548 71098327837652908736,經過SM2 橢圓曲線數字加密后生成密文。

測試結果如圖6、圖7 所示,圖6 為密文,圖7 為生成的公鑰和私鑰。

圖6 密文

圖7 公私鑰

2.3 對比安全性分析

文中成功實現了對私鑰進行分組后利用隨機可逆仿射變換求出密文1,再利用SM2 橢圓曲線數字簽名形成最終密文的實驗。當改變多變量公鑰密碼中G的仿射函數時,會導致公鑰、私鑰和簽名長度存在相應變化,相關參數值越大,對應安全級別越高[15]。該測試實驗選取了隨機64 位私鑰密碼分別經多變量公鑰密碼加密與SM2 橢圓曲線數字加密進行結果對比。從密文角度對圖6 和圖7 分析可得出,多變量公鑰加密算法極大增強了私鑰的保密性,也從中驗證了提出的基于多變量公鑰密碼構建錢包安全保護模型的可實現性,但在區(qū)塊鏈中更加關注簽名的效率。文中對應用兩種加密方式在安全級別為64 bit下進行對比分析,比較兩者的簽名驗證時間,其結果如圖8 所示。

圖8 多變量公鑰密碼與SM2橢圓曲線數字加密耗時對比

從圖8 可以看出,多變量公鑰密碼加密在簽名與驗證時間相較SM2 橢圓曲線數字加密會長很多,兩項算法簽名驗證速度僅供參考。

3 結論

針對熱錢包服務器存儲私鑰易遭受惡意入侵等問題,以及為優(yōu)化抗量子加密算法,文中提出了一種基于多變量公鑰密碼構建熱錢包安全保護方案,并對其中所提到的多變量公鑰加密算法進行闡述、實現,得出以下結論:

1)提出文中方案的目的在于提升用戶交易的安全性,所依據的理論框架重點在于對隨機生成的私鑰進行多變量公鑰加密后生成密文1 保存在熱錢包中,對密文1 使用SM2 橢圓曲線數字簽名生成公鑰。

2)提出多變量公鑰密碼加密算法體系的目的在于提升整體方案的安全性,驗證方案的可實現性。文中利用具體實驗操作,將多變量公鑰密碼加密密文與SM2 橢圓曲線數字加密密文對比,發(fā)現密文長度加長47%,簽名耗時加長。當改變多變量公鑰密碼中G的仿射函數時,會導致公鑰、私鑰和簽名長度存在相應變化,相關參數值越大,對應安全級別將更高。

3)多變量公鑰加密算法實驗的成功實現也意味著文中方案關鍵基礎架構可實現。文中結合區(qū)塊鏈交易中的技術特點,將多變量公鑰密碼算法應用于區(qū)塊鏈熱錢包底層技術中,為區(qū)塊鏈上的交易數據提供安全性保護,可以有效應對區(qū)塊鏈抗量子計算機攻擊,也為未來區(qū)塊鏈抵抗量子計算提供方向。

4)區(qū)塊鏈+金融大多應用于智能軟件,并且不會進行開源,因此,需要對Dapp 進行智能合約代碼審計,或對該類Dapp 進行黑盒測試,從中尋出漏洞并進行妥善處理。

5)在金融智慧+智能合約方面,推廣智能化區(qū)塊鏈技術,并應用智能合約搭建起智慧化金融應用場景,以服務更多用戶。

6)在區(qū)塊鏈金融交易中,用戶常以匿名方式或在境外進行交易。由于其匿名的影響,一旦發(fā)生攻擊事件,若多國政策不互通,溝通不及時,處理不得當,則往往會產生重大影響,因此要加強區(qū)塊鏈金融監(jiān)管與立法保障交易安全。

猜你喜歡
數字簽名私鑰公鑰
清掃機器人避障系統(tǒng)區(qū)塊鏈私鑰分片存儲方法
比特幣的安全性到底有多高
基于改進ECC 算法的網絡信息私鑰變換優(yōu)化方法
淺析計算機安全防護中數字簽名技術的應用
一種基于混沌的公鑰加密方案
一種基于虛擬私鑰的OpenSSL與CSP交互方案
基于數字簽名的QR碼水印認證系統(tǒng)
HES:一種更小公鑰的同態(tài)加密算法
數字簽名簡述
SM2橢圓曲線公鑰密碼算法綜述