吳邱涵,胡衛
?
基于SM2算法和區塊鏈的移動端身份認證協議設計
吳邱涵,胡衛
(海軍工程大學信息安全系,湖北 武漢 430033)
針對目前二代居民身份證在進行身份認證過程中存在的隱私泄露問題,采用SM2算法和區塊鏈技術,結合動態口令、面部識別、二維碼等技術優勢,對傳統的身份認證方式進行改進,設計了一種適合移動端設備的身份認證協議,并進行了協議的效率和安全性分析。分析表明,該協議在實現高效的用戶身份認證的同時,確保了用戶的身份隱私安全。
SM2算法;區塊鏈;身份認證;移動端
目前,SM2算法的可證安全性已經達到了公鑰密碼算法的最高安全級別,其實現效率相當于或略優于一些國際標準的同類橢圓曲線密碼算法[1]。因此,許多國內學者基于SM2算法設計了身份認證協議。其中,任子榮[2]采用SM2算法設計實現了基于PKI技術的第三方身份認證服務系統,谷國進[3]提出了基于SM2數字證書的認證授權模型,使用SM2證書來實現客戶端的身份認證,王杰[4]基于SM2算法設計了證書狀態查詢系統。王佳強等[5]采用SM2算法設計了一個適用于移動設備的雙方身份認證與密鑰共識協議(AKA)。李子臣等[6]提出基于SM2算法與零知識的射頻識別雙向認證協議。但是,上述協議均采取中心化的認證方式,存在潛在的單點失敗和多CA信任難問題[7]。
區塊鏈是一種分布式數據庫,通過去中心化、去信任的方式,集體維護一個可靠數據庫。由于其去中心化的特性,區塊鏈技術得到了廣泛的應用。其中,閔旭蓉等[8]基于區塊鏈技術設計了電子證照共享平臺,黃永剛[9]提出了基于區塊鏈的電子健康檔案,Wang等[10]將區塊鏈技術引入建筑工程管理領域中。
當前,二代居民身份證讀取設備容易被不法分子利用,基于中心的認證服務大量存儲用戶實名信息,具有隱私泄露的風險,因此有必要設計一款安全的電子身份證來保護公民隱私。截至2017年8月,我國網民已達7.51億,其中,使用手機上網的網民占比達96.3%,智能手機已然成為現代生活密不可分的一部分[11]。綜合考慮上述技術的優勢,本文基于SM2和區塊鏈設計了一種適用于移動端的身份認證協議。
國家商用密碼局在ECC算法的基礎上,自主設計了SM2橢圓曲線公鑰密碼算法。SM2算法的安全性源于求解散對數問題的困難強度,相比RSA算法,其密鑰的長度更短一些[12],具有安全性高、存儲空間小、簽名速度快的優點。同時,相對于國際標準ECC算法,SM2算法在解密正確性判斷、明文編碼問題、對待加密數據長度的限制及加密計算效率上更好[2]。因此在移動應用中,SM2算法能有效降低運算、存儲和通信的損耗,比RSA、國際標準ECC算法更具有優勢。
SM3算法是密碼雜湊算法,其壓縮函數的整體結構與SHA-256算法相似,但能夠有效地避免高概率的局部碰撞,抵抗強碰撞性的差分分析、碰撞性的線性分析和比特追蹤法等密碼分析[13]。

圖1 區塊鏈的數據結構
本文采用SM2作為公鑰密碼算法產生公私鑰來對用戶身份信息進行加密保護,采用SM3算法作為生成區塊地址及散列計算的散列算法。
區塊鏈是依托P2P網絡,由多個獨立節點參與的分布式數據庫系統,可理解為分布式賬簿[14]。區塊鏈是比特幣的底層技術,由Nakamoto于2008年提出,具有去中心、可追溯、難篡改、難偽造的特點[12,15]。
如圖1所示,區塊鏈分為區塊頭和區塊體。區塊頭包含版本號、上一區塊的散列值、Merkle根節點散列值、時間戳、難度值、隨機數和交易記錄。任意交易記錄被篡改,按照散列加密算法的特性,二叉樹結構的Merkle樹的根節點都會發生很大變動,因此其他節點在驗證區塊鏈的散列值時,就能夠很明顯地發現問題。
區塊鏈可分為公有鏈、私有鏈和聯盟鏈。區塊鏈可選擇不同的加密方法,如RSA加密算法、我國的國密算法、Ed25519算法等簽名算法[9]。本文在設計移動端身份認證協議時,將認證數據寫入身份認證區塊鏈,借助私有鏈形式的區塊鏈實現對用戶身份的驗證。


圖2 注冊階段

圖3 生成身份認證區塊階段
1) SM2/SM3算法
本文采用SM2作為公鑰密碼算法產生公私鑰來對用戶身份信息進行加密保護,采用SM3算法作為生成區塊地址及散列計算的散列算法。SM2算法的安全強度高于RSA-2048,大致與RSA-3072相當。但是如果在芯片中運行RSA-3072,運算將相當耗時,相比之下,SM2算法所需的運算負載更小,運算速度更快。SM3算法在不顯著增加硬件開銷的情況下,采用P置換,加速了算法的雪崩效應,提高了運算效率,具有跨平臺實現的高效性和廣泛的適用性。
2) 面部識別
目前,基于卷積神經網絡的人臉識別算法,識別率可達到99%以上,識別單張人臉的時間小于0.05 s,并且對光照差異、面部表情變化、有無遮擋物等干擾具有。可采取卷積神經網絡進行面部識別,提高注冊登錄效率。
3) 建立及訪問身份認證區塊鏈
本文采用私有鏈的形式構建用戶的身份認證區塊鏈,由公安系統負責維護和管理,既確保數據的權威與安全,也提高了建立區塊的效率。

圖4 電子身份證生成與身份認證階段
本節從以下6個方面對本協議的安全性進行分析。
1) 去中心化密態存儲:傳統認證系統為集權管理,而區塊鏈上沒有集權節點,所有節點都參與系統運行和維護,每個節點都包含同樣的信息記錄。采用區塊鏈對用戶身份信息進行去中心化的密態存儲,可有效防止傳統認證方式中存在的單點失敗和多CA信任難的問題。
2) 多因素認證:本協議采取動態口令、面部識別和身份二維碼的多因素認證方式,引入了生物特征認證因素和動態口令機制,相比傳統的智能卡與口令的雙因素認證方式更加安全。即使攻擊者通過監聽獲得用戶的相關信息,也無法通過實時的面部識別驗證,因此無法冒充用戶進行認證。
4)抗重放攻擊:每個區塊的區塊頭包含的時間戳和隨機數可以有效防止創建區塊過程中的重放攻擊。在認證過程中,每次傳送的消息和二維碼中都加入了時間戳,且二維碼每分鐘刷新一次。如果攻擊者將消息重放,收方可通過時間戳判斷該消息為重放消息,拒絕其認證請求。
5) 防止攻擊者離線破解身份信息:用戶私鑰加密存儲在本地客戶端,即使攻擊者獲得用戶公鑰,推算出身份認證區塊地址,查詢得到的身份信息仍是密文狀態,無法破解用戶身份信息。
6) 有效保護用戶隱私:采用動態二維碼和區塊鏈的認證方式,用戶的身份信息不會在網上直接傳送。密態的身份二維碼不會泄露個人隱私,相比實體身份證具有更強的隱私保護功能。根據最小信息暴露原則,認證服務應用系統通過區塊鏈驗證成功后返回的是驗證結果而非用戶身份信息,更有效地保護了用戶隱私。
本文所設計協議廣泛結合了動態口令、面部識別、二維碼等技術的優勢,采用SM2算法和區塊鏈技術設計了一款移動端的二維碼電子身份證。經過分析,本文提出的電子身份認證協議采取去中心化的密態存儲方式和多因素的認證方式,可有效抗重放攻擊,防止攻擊者離線破解用戶身份信息,做到對用戶隱私信息的有效保護。但目前區塊鏈在我國的具體應用較少,而一旦區塊鏈應用得到推廣,節點數量將呈幾何級數增加,其頻繁的關系數據查詢請求及數據安全的保證將對現有的數據架構提出非常嚴峻的挑戰[16-17]。
[1] 汪朝暉, 張振峰. SM2橢圓曲線公鑰密碼算法綜述[J]. 信息安全研究, 2016, 2(11): 972-982.
WANG Z H, ZHANG Z F. Overview of public key cryptography algorithm for SM2 elliptic curve[J]. Information Security Research, 2016, 2(11): 972-982.
[2] 任子榮. 基于移動終端和PKI技術的第三方身份認證服務系統[D]. 上海: 上海交通大學, 2014.
REN Z R. Third party identity authentication service system based on mobile terminals and PKI technology[D]. Shanghai: Shanghai Jiaotong University, 2014.
[3] 谷國進. 基于SM2算法的認證授權系統研究與實現[D]. 濟南: 山東大學, 2013.
GU G J. Research and implementation of authentication authorization system based on SM2 algorithm[D]. Jinan: Shandong University, 2013.
[4] 王杰. 基于商密SM2算法的證書狀態查詢機制設計與實現[D]. 西安: 西安電子科技大學, 2015.
WANG J. Design and implementation of certificate state query mechanism based on SM2 algorithm[D]. Xi'an University of Electronic Science and Technology, 2015.
[5] 王佳強, 亢保元, 邵棟陽. 一個新的適用于移動設備的雙方身份認證與密鑰共識協議[J]. 軟件, 2017, 38(10): 73-76.
WANG J Q, KANG B Y, SHAO D Y. A new protocol for mutual authentication and key agreement for mobile devices[J]. Software, 2017, 38(10): 73-76.
[6] 李子臣, 劉博雅, 王培東, 等. 基于SM2與零知識的射頻識別雙向認證協議[J]. 計算機工程, 2017, 43(6): 97-100.
LI Z C, LIU B Y, WANG P D, et al. Two-way RFID certification protocol based on SM2 and zero knowledge[J]. Computer Engineering, 2017, 43(6): 97-100.
[7] YAN J Z, PENG J, ZUO M, et al. PKI digital certificate system based on blockchain[J]. Telecommunications Engineering Technology and Standardization, 2017(11): 16-20.
[8] 閔旭蓉, 杜葵, 戴逸聰. 基于區塊鏈技術的電子證照共享平臺設計[J]. 指揮信息系統與技術, 2017, 8(2): 47-51.
MIN X R, DU K, DAI Y C. Design of electronic license sharing platform based on block chain technology[J]. Command Information System and Technology, 2017, 8(2): 47-51.
[9] 黃永剛. 基于區塊鏈技術的電子健康檔案安全建設[J]. 中華醫學圖書情報雜志, 2016, 25(10): 38-40.
HUANG Y G. Security construction of electronic health records based on block chain technology[J]. Chinese Medical Book Intelligence Journal, 2016, 25(10): 38-40.
[10] WANG J, PENG W U, WANG X, et al. The outlook of blockchain technology for construction engineering management[J]. Frontiers of Engineering Management, 2017, 4(1).
[11] China Internet Network Information Center. The 40th statistical report on the development of China's Internet network[R]. 2017.
[12] 寧曉斐.區塊鏈技術及其應用[J].信息與電腦(理論版), 2018(17): 115-116. NING X F. Blockchain technology and application[J].China Computer and Communication,2018(17):115-116.
[13] 王小云, 于紅波. SM3密碼雜湊算法[J]. 信息安全研究, 2016, 2(11): 983-994.
WANG X Y, YU H B. SM3 cipher hash algorithm[J]. Research on Information Security, 2016, 2(11): 983-994.
[14] 蔡維德, 郁蓮, 王榮, 等. 基于區塊鏈的應用系統開發方法研究[J].軟件學報, 2017, 28(6): 1474-1487.
CAI W D, YU L, WANG R, et al. Research on application system development methods based on block chain[J]. Software Journal, 2017, 28(6): 1474-1487.
[15] 黃征, 李祥學, 來學嘉,等. 區塊鏈技術及其應用[J]. 信息安全研究, 2017, 3(3):237-245. HUANG Z, LI X X, LAI X J, et al. Blockchain technology and application[J]. Research on Information Security, 2017, 3(3):237-245.
[16] 卿蘇德, 姜瑩, 王秋野. 區塊鏈的技術原理和意義[J]. 電信網技術, 2016(12): 14-20.
QING S D, JIANG Y, WANG Q Y. Technical principle and significance of block chain[J]. Telecommunication Network Technology, 2016(12): 14-20.
[17] LUO X L. Application exploration of block chain technology in logistics field[J]. China Business Theory, 2017(24): 7-8.
Design of identity authentication agreement in mobile terminal based on SM2 algorithm and blockchain
WU Qiuhan, HU Wei
Department of Information Security, Naval University of Engineering, Wuhan 430033, China
To solve the privacy leakage problem in the process of identification by second generation residents’ ID card, the SM2 algorithm and the blockchain technology were adopted, and the dynamic password , facial recognition and two-dimension code to modify the traditional identification method were combined to design a kind of identification agreement on mobile terminal. The study analyzed the efficiently and security of the agreement, which reflected that the agreement could guarantee users’ privacy when it provide high-efficient identification.
SM2 algorithm, blockchain, identity authentication, mobile terminal
TP302
A
2018-04-10;
2018-05-25
胡衛,huwei-1212@126.com
海軍工程大學自主立項基金資助項目(No.20161607)
10.11959/j.issn.2096-109x.2018046
吳邱涵(1995-),女,湖北武漢人,海軍工程大學碩士生,主要研究方向為密碼學與信息安全、身份認證、區塊鏈。

胡衛(1979-),男,湖北宜城人,博士,海軍工程大學副教授,主要研究方向為密碼學、隱私保護。
Naval University of Engineering Independent Project (No.20161607)