萬華 周虎 朱德新 孫羽
關(guān)鍵詞:區(qū)塊鏈;量子密鑰;身份認(rèn)證
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
1引言(Introduction)
互聯(lián)網(wǎng)的發(fā)展使信息化的服務(wù)逐漸滲透到人們生活的方方面面,傳統(tǒng)活動逐漸被網(wǎng)絡(luò)活動所代替,在此過程中,一大批新的技術(shù)涌現(xiàn),區(qū)塊鏈技術(shù)便是其中之一。伴隨著比特幣[1]而興起的區(qū)塊鏈技術(shù)是一種廣泛應(yīng)用于數(shù)字加密貨幣、醫(yī)療溯源、公證防偽、金融的基礎(chǔ)架構(gòu)和計算范式,有望實現(xiàn)信息互聯(lián)網(wǎng)向價值互聯(lián)網(wǎng)的轉(zhuǎn)變[2-5]。然而,互聯(lián)網(wǎng)復(fù)雜、開放的特性,使得區(qū)塊鏈系統(tǒng)經(jīng)常存在惡意節(jié)點介入[6]、用戶非法訪問[7]等安全隱患,極大地阻礙了區(qū)塊鏈技術(shù)的發(fā)展。由于區(qū)塊鏈中賬本數(shù)據(jù)采用公開交易記錄、多節(jié)點共識確認(rèn)的方式進(jìn)行存儲和驗證,因此區(qū)塊鏈系統(tǒng)用戶身份的合法性至關(guān)重要。針對目前區(qū)塊鏈系統(tǒng)存在的身份偽造、用戶非法訪問等問題,引入身份認(rèn)證機(jī)制,是保障區(qū)塊鏈安全的一種重要解決方案[8-9],特別是近年來量子密碼學(xué)[10-11]的發(fā)展給區(qū)塊鏈身份認(rèn)證提供了一種新的簡單、安全、易行的途徑。因此,本文設(shè)計了一種基于量子密碼學(xué)的技術(shù),即利用量子密鑰作為唯一身份標(biāo)識,通過比對設(shè)備間量子密鑰散列值的方式,實現(xiàn)用戶區(qū)塊鏈系統(tǒng)身份安全認(rèn)證的方法。
2 相關(guān)知識介紹( Introduction to related technologies)
區(qū)塊鏈技術(shù):區(qū)塊鏈技術(shù)是以比特幣為代表的數(shù)字加密貨幣體系的核心支撐技術(shù)。區(qū)塊鏈技術(shù)的核心優(yōu)勢是去中心化、不可篡改、不可偽造、共識確認(rèn)等,通過運用時間戳、數(shù)據(jù)加密、分布式共識和經(jīng)濟(jì)激勵等手段,實現(xiàn)在無信任的分布式系統(tǒng)中去中心化的點對點交易、協(xié)調(diào)和協(xié)作,為中心化機(jī)構(gòu)普遍存在的高成本、低效率等問題提供了解決方案。
量子密鑰分配技術(shù):量子密鑰是量子力學(xué)理論的集大成者,它的來源核心依賴于量子密鑰分發(fā)系統(tǒng),量子密鑰分發(fā)系統(tǒng)可以在空間分離的用戶之間以信息理論安全的方式制備和共享具備真隨機(jī)性的量子密鑰。量子密鑰分配技術(shù)歷經(jīng)多年發(fā)展,已形成量子密鑰分配終端、量子密碼云服務(wù)網(wǎng)絡(luò)等成熟的產(chǎn)業(yè)化設(shè)備,能為用戶提供安全量子密碼,成為信息安全的重要基礎(chǔ)設(shè)施。
RSA非對稱加密算法:RSA是一種非對稱加密算法,密鑰分為公鑰(Public Key,PK)和私鑰(Secret Key,SK)兩個部分,公鑰可以向外公開,任何人都可以獲取,私鑰必須私密保存。公鑰和私鑰之間具有嚴(yán)格的數(shù)學(xué)關(guān)聯(lián),因此是成對出現(xiàn)的。其中,用于生成公鑰和私鑰的算法是公開的。
3系統(tǒng)總體設(shè)計(Overall system design)
為了利用量子密鑰實現(xiàn)區(qū)塊鏈系統(tǒng)的身份安全認(rèn)證,本系統(tǒng)模型分為量子密鑰云服務(wù)器模塊、用戶模塊、客戶端模塊、移動端模塊、密鑰分配中心模塊和區(qū)塊鏈系統(tǒng)模塊共六大模塊?;诹孔用荑€的區(qū)塊鏈身份認(rèn)證系統(tǒng)模型圖如圖1所示。
區(qū)塊鏈身份認(rèn)證系統(tǒng)各個部分模塊詳細(xì)介紹如下。
(1)量子密鑰云服務(wù)器:本模塊主要負(fù)責(zé)為區(qū)塊鏈用戶身份認(rèn)證提供量子密鑰服務(wù),它按照順序依次生成一連串固定長度的量子密鑰序列,并按順序兩兩一組依次對量子密鑰進(jìn)行異或加密運算,并將運算結(jié)果發(fā)送至客戶端,同時負(fù)責(zé)對移動端發(fā)送過來的哈希散列結(jié)果進(jìn)行比對。
(2)密鑰分配中心:本模塊主要負(fù)責(zé)為在認(rèn)證過程中需要事先在量子密鑰云服務(wù)器和移動端共享的初始量子密鑰序列加密。密鑰分配中心會利用RSA非對稱加密算法為移動端生成用于加密量子密鑰的公鑰和私鑰,量子密鑰云服務(wù)器首先會向密鑰分配中心發(fā)送移動端公鑰的請求,密鑰分配中心響應(yīng)請求并發(fā)送移動端加密公鑰給量子密鑰云服務(wù)器,其中本方案默認(rèn)密鑰分配中心是完全可信的。
(3)移動端:本模塊主要負(fù)責(zé)用戶信息注冊和登錄,成功注冊的用戶會獲得登錄移動端的權(quán)限,登錄成功后開啟二維碼掃描功能,掃描客戶端界面展現(xiàn)的二維碼,利用量子密鑰解密異或加密運算的結(jié)果獲得量子密鑰明文,并將量子密鑰明文進(jìn)行哈希散列運算發(fā)送給量子密鑰云服務(wù)器。
(4)客戶端:本模塊主要負(fù)責(zé)向量子密鑰云服務(wù)器申請二維碼,并將二維碼呈現(xiàn)到客戶端界面。
(5)區(qū)塊鏈網(wǎng)絡(luò):在量子密鑰云服務(wù)器比對散列值成功后,主要負(fù)責(zé)將區(qū)塊鏈身份驗證成功的用戶信息以鍵值對的方式寫入?yún)^(qū)塊鏈賬本中。
(6)用戶:區(qū)塊鏈系統(tǒng)認(rèn)證的實體組成部分。
區(qū)塊鏈身份認(rèn)證系統(tǒng)時序圖如圖2所示。
4 認(rèn)證算法詳細(xì)設(shè)計(Detailed design of authenticationalgorithms)
用戶進(jìn)行區(qū)塊鏈系統(tǒng)的身份認(rèn)證之前,需要在應(yīng)用程序后臺提交注冊信息,獲取登錄平臺的賬號和密碼等憑證,用戶成功登錄后,開始進(jìn)行基于量子密鑰區(qū)塊鏈身份認(rèn)證。區(qū)塊鏈系統(tǒng)用戶身份認(rèn)證流程如下:①公鑰和私鑰請求。②量子密鑰云服務(wù)器初始化、初始量子密鑰序列生成、加解密初始量子密鑰序列。③用戶身份信息注冊、登錄。④量子密鑰異或加密、生成二維碼。⑤應(yīng)用程序掃碼、解密和進(jìn)行散列運算。⑥散列值比對、驗證、用戶信息數(shù)據(jù)上鏈。具體的量子密鑰認(rèn)證方案流程如圖3所示。
5 系統(tǒng)實現(xiàn)(System implementation)
5.1 移動端模塊
5.1.1 用戶注冊、登錄
用戶注冊后可利用用戶名和密碼登錄移動端,只有合法的用戶才能登錄移動端完成后續(xù)區(qū)塊鏈系統(tǒng)登錄,用戶注冊和登錄界面如圖4(a)和圖4(b)所示。
5.1.2 移動端解密、散列運算
量子密鑰云服務(wù)器利用移動端公鑰將量子密鑰序列加密后,移動端接收密文結(jié)果,用自身提前保存好的私鑰解密得到量子密鑰明文并將它作為解密密鑰預(yù)存在移動端中,然后移動端開啟二維碼掃描,將嵌在二維碼中的密文信息解密獲得明文,并將取得的明文進(jìn)行哈希散列運算。
5.2密鑰分配中心模塊
當(dāng)用戶注冊并成功登錄后,密鑰分配中心主要負(fù)責(zé)為移動端模塊和量子密鑰云服務(wù)器模塊分配移動端設(shè)備的公鑰和私鑰,其中公鑰用于加密量子密鑰序列,私鑰用于解密量子密鑰序列。本系統(tǒng)使用的移動端公私鑰如圖5所示。
5.3量子密鑰云服務(wù)器模塊
移動端對量子密鑰序列密文j T 解密后得到量子密鑰明文,并將明文進(jìn)行散列運算得到散列值發(fā)送給量子密鑰云服務(wù)器,量子密鑰云服務(wù)器將自身存儲的量子密鑰散列后與接收到的散列值進(jìn)行比對,如果兩者的散列值相等,則表示認(rèn)證成功,用戶允許進(jìn)入?yún)^(qū)塊鏈系統(tǒng);否則,拒絕進(jìn)入?yún)^(qū)塊鏈系統(tǒng)。表1表示的是一些用戶認(rèn)證成功的信息。
5.4區(qū)塊鏈平臺模塊
區(qū)塊鏈平臺模塊主要負(fù)責(zé)將成功加入?yún)^(qū)塊鏈的用戶身份信息以鍵值對的方式打包成交易寫入?yún)^(qū)塊中,其中鍵Key為賬戶的散列值,具有唯一性。Value為用戶賬戶名、昵稱和密碼。打包并成功寫入?yún)^(qū)塊鏈中的鍵值對用戶數(shù)據(jù)信息具有唯一標(biāo)識用戶的作用。區(qū)塊鏈用戶身份信息寫入成功界面如圖6所示。
6結(jié)論(Conclusion)
本文針對當(dāng)前區(qū)塊鏈系統(tǒng)中存在的用戶身份非法訪問、身份偽造等問題設(shè)計了一種利用量子密鑰作為唯一認(rèn)證標(biāo)識實現(xiàn)區(qū)塊鏈系統(tǒng)用戶身份安全認(rèn)證的方法,并實現(xiàn)了用戶身份信息安全上鏈可查詢驗證。實驗結(jié)果表明,依托量子密碼技術(shù),利用量子密鑰這一載體,可以實現(xiàn)區(qū)塊鏈系統(tǒng)用戶身份安全認(rèn)證。同時,對于已經(jīng)上鏈的用戶信息可以起到很好的隱私保護(hù)。
作者簡介:
萬華(1995-),男,碩士生.研究領(lǐng)域:區(qū)塊鏈身份認(rèn)證,量子通信.
周虎(1998-),男,碩士生.研究領(lǐng)域:區(qū)塊鏈身份認(rèn)證,機(jī)器學(xué)習(xí).
朱德新(1982-),男,碩士,講師.研究領(lǐng)域:區(qū)塊鏈,量子密碼技術(shù).
孫羽(1996-),男,碩士生.研究領(lǐng)域:可搜索加密.