萬華 周虎 朱德新 孫羽



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