郭亓元 楊 輝 魏 連 曹 揚 灑科進 劉 鵬
1(國家信息中心 北京 100045) 2(中電科大數據研究院有限公司 貴陽 550022) 3(提升政府治理能力大數據應用技術國家工程實驗室 貴陽 550022) 4(北京仁信證科技有限公司 北京 100080)
黨的十八大以來,國務院深入推進電子政務信息化建設,高度重視“放管服”改革和“互聯網+政務服務”建設的推進[1],推動政府信息共享,突破數據壁壘.“互聯網+政務服務”是以政務服務平臺為基礎,全面應用現代信息技術、網絡技術支持政府管理與服務職能,規范政府服務事項,改善政務服務流程,拓寬政府信息和服務發布,為公眾提供政務服務的一種全新的管理模式.中國互聯網絡信息中心發布的《第47次中國互聯網絡發展狀況統計報告》顯示,截至2020年12月,我國互聯網用戶達到9.89億,其中政務服務用戶為8.43億,占整體互聯網用戶的85.3%[2].我國電子政務身份管理已普遍存在于公民的日常生活中,如戶籍、護照、醫療、招聘等.各類政府機構推進網上服務,逐步實現“一網通辦”“不見面審批”等服務模式[3].
電子政務服務平臺的建設依賴于數字公民身份的鑒權和認證[4],以實現政務服務的“不見面審批”等服務模式.隨著互聯網的發展,用戶身份信息化已勢不可擋.研究離線認證和跨域認證的輕量級認證技術方案,在滿足電子政務服務超大規模的用戶要求[5]以及不同環境下用戶安全快速登錄、聯網實時查詢、大數據共享等業務場景需求的同時,極大保障了個人隱私安全.
1)單點故障處理與恢復:傳統的身份認證系統所有應用依賴于強中心化的單點登錄系統,單點登錄系統成為整個系統中常見的單點故障易發節點.
2)安全完全依賴于統一認證服務:通常的應用系統中,統一認證服務是應用系統的入口,只需攻破統一認證服務就可以攻破所有應用系統,統一認證服務對于應用系統的安全至關重要.
3)可信運維審計或司法鑒定難:若日志僅保存在統一認證服務的數據庫,容易被非法篡改或刪除,造成運維事故且不能被有效溯源記錄,同時也很難形成司法鑒定依據.
基于上述問題,本文對區塊鏈電子政務身份認證領域的單點登錄、實時授權、防止身份盜取、身份數據濫用和政務信息優化等進行討論,結合電子政務特點,研究基于區塊鏈的中心化管理和去中心化服務相結合的電子政務身份管理系統,以實現便捷、高效、規范的網上政務信息管理體系.
1)單點登錄,整合信息入口.
① 政務服務審批對用戶信息的需求.
從政務服務行政審批中發現,機構和群眾經常辦理的服務事項有88項,在這88項審批服務中需要提交各類證明文件、證照、批文、鑒定材料等489個,附件311個.在辦理過程中需要姓名、身份證號、照片、婚姻狀態、學歷、學位等信息.通過單點登錄的電子政務系統,整合各類用戶身份信息,可實現“一網通辦”,最大程度地便民利民.
② 求職招聘網站對用戶信息、職場信息的需求.
在招聘網站的用戶認證中,企業用戶(供方)注冊時可以快速完成認證,提升招聘平臺審核效率,節約企業時間.個人用戶(需方)注冊時,在網站上所提交的教育經歷、學歷學位、培訓經歷、工作經歷、證書技能等信息,是企業判斷候選人資格的重要依據.
③ 醫療衛生對健康信息、消費信息的需求.
需求方(如保險公司)為了防范騙保行為,也為了提供定制化的服務,需要掌握投保人是否具有某種疾病等健康信息以及消費偏好等消費信息.
2)策略應對,避免身份盜竊.
傳統的政務服務身份數據極度依賴于中心化的數據庫,存在用戶數據泄露的風險.黑客入侵數據庫后,獲取后臺核心數據,包括賬號信息、銀行卡號、密碼、身份證號等[6],為互聯網用戶帶來極大的人身安全和財產安全隱患.
3)跨域互信,區塊鏈優勢大.
目前,我國移動電子政務已在多個領域得到成功應用,包括交通、民政、教育、稅務等,因此存在跨域信息共享和業務協同的需求.建設基于區塊鏈的單點登錄電子政務身份管理系統的目的就是解決“互聯網+政務服務”體系建設中跨域信息共享和業務協同的問題,形成中心化管理和去中心化服務相結合的數字身份技術系統,如圖1所示,有效提高政府、社會、企業、個人等層面的隱私安全,確保信息安全,避免單點故障,同時滿足大規模用戶的輕量化管理,有效降低政府管理成本.

圖1 業務架構
通過智能合約保障數據提供者和數據核驗方之間的數據傳輸安全.為了滿足身份信息的多樣化,同時改進傳統的區塊鏈分布式去中心的管理模式,采用中心化的集中管理實現數字身份標識、高級認證授權、數字證書全生命周期監督等核心職能.
傳統的區塊鏈采用了去中心化架構[7],考慮到政府集中管理的需求,身份的生成可銜接公安部網證技術架構,通過其對身份進行鑒定、核準后,方可認為是有效的身份.結合平臺特性和安全、自主、可控的原則,本文設計的系統采用我國自主知識產權的CPK組合公鑰體制.該機制基于國密SM2算法,將密鑰生產和管理結合,實現數字簽名和密鑰交換.CPK組合公鑰體制中的種子公鑰和私鑰矩陣最多可生成1048個標識密鑰,可滿足超大規模的標識鑒別、實體鑒別、數據保密需求.為了方便識別身份信息,在公私鑰信息外添加其他一些用戶標識(ID)信息,如姓名、身份證號、手機號碼等,通過矩陣組合形成龐大的標識公私鑰對.通過這種身份信息模式改造,使區塊鏈中的身份信息得到管控、真實性得到保障、可識別性得到提升.CPK技術原理如圖2所示.

圖2 CPK技術原理
基于CPK技術原理,區塊鏈身份標識建立流程如下:
1)申請人(終端)產生簽名密鑰對,輸入個體信息,如姓名、身份證號等,簽名后向公安部網證系統發送請求.
2)公安部網證系統進行實名查詢,確認身份后對數據進行簽名,將含有公鑰和部分標識的簽名后信息反饋至申請人,生成公鑰信息的子集.
3)申請人將公鑰信息的子集申請上鏈,并可在不同節點存儲同一個用戶的不同公鑰信息的子集,便于其他系統進行多維度查驗確認.
4)在進行身份校驗時,可以通過公安部的網證公鑰對含有申請人的公鑰和部分標識的簽名信息進行認證,通過公安部網證校驗后,視為有效身份.
5)申請人產生SM2隨機公私鑰對,導出公鑰并攜帶用戶標識(ID)向應用系統申請成為注冊用戶.應用系統通過離線或者短信驗證碼、生物識別、口令碼等方式對用戶初始身份進行核對,身份通過后,根據用戶標識(ID)分發用戶標識私鑰(用隨機公鑰進行加密)及公鑰矩陣.
6)申請人用隨機私鑰將標識私鑰進行解密,并存儲在終端的硬件安全介質(如USBkey,TFkey)或軟件密碼模塊中.
7)申請人將用戶姓名、身份證號、手機號等信息提交至公安部網證系統進行實名查詢,確認身份后對數據進行簽名,并將用戶信息申請上鏈.
8)數據上鏈結果同步反饋至應用系統和申請人.
基于以上身份標識建立流程,區塊鏈完整的用戶注冊過程如圖3所示,區塊鏈用戶登錄過程如圖4所示.

圖3 用戶注冊過程
CPK組合公鑰體制可以解決以下3個問題.
1)可信身份
為區塊鏈上的每個用戶分發一個標識數字證書,該證書可以存放在USB Key中,也可以加以保護存放在手機中.有了數字證書即有了身份.一般情況下的身份認證機制為“挑戰-應答”[8],即給待驗證身份的用戶發一個隨機數,待驗證用戶用自身標識數字證書中的標識私鑰對該隨機數進行簽名并將簽名值返回給驗證者,驗證者通過該數字簽名判斷用戶是否為真實用戶.基于數字證書的用戶登錄可以有效避免黑客脫庫和撞庫攻擊.
2)端到端加密傳輸
各平臺之間的表單或者數據在交換過程中,需要端到端的加密才能保證其安全.采用CPK技術對數據進行加密時,只需知道接收人用戶名即可完成端到端加密傳輸.數據的加解密過程如圖5和圖6所示,該方式能有效防止黑客攻擊.

圖5 數據加密過程

圖6 數據解密過程
3)數據溯源
數據在產生、流轉、使用中需要明確到人,即誰是提供者、誰是使用者,還要明確數據在流轉過程中是否完整.CPK組合公鑰體制可以實現以下幾點:
① 數據標記
數據提供者使用標識密鑰對所提供的數據進行簽名,并將簽名值連同共享數據發布在共享交換平臺.
② 數據校驗
數據使用者在收到共享數據后,用數據提供者的公鑰(利用身份標識可在公鑰矩陣中通過本地運算獲得)對共享數據進行簽名校驗,驗證數據提供者身份,并確認共享數據在流轉過程中無篡改.
③ 數據防泄露
某些敏感數據被共享后,希望被有權限地使用,以防止數據泄露.例如,只能有密碼的用戶在指定時間內打開查看,不能被復制,禁止另存為、截屏等操作;指定使用時間或次數后,文件自動銷毀.
4)跨域交叉認證
當有跨域需求的用戶做跨域交叉認證時,各域之間只需交換彼此的公鑰矩陣即可.CPK能快速實現跨域交叉認證,如圖7所示:

圖7 各平臺用戶登錄及跨域認證
本文所設計的基于區塊鏈的單點登錄電子政務身份管理系統框架如圖8所示.該框架包括用戶層、展現層、接口層、服務層和數據層,具體分析如下:

圖8 系統框架
1)用戶層
用戶層是對外服務的窗口,電子政務身份管理系統面向政務工作人員、社會公眾提供可信身份認證服務,并且向管理者提供分級管理和授權服務.不同角色的用戶均可以通過PC端或移動終端訪問政務服務平臺的應用.
2)展現層
展現層主要包含區塊鏈瀏覽器、管理后臺及身份管理系統認證門戶.認證門戶是公眾進入平臺的統一入口,可通過用戶名/密碼和數字證書的方式登錄;系統可以通過管理后臺設置相關信息,確認用戶可以獲取哪些信息.
3)接口層
接口層包含內部接口及外部接口,用來對接平臺上的各個服務模塊.外部接口主要是給需要和本系統對接的第三方提供的接口,包含認證接口、注冊接口、登錄接口、合作接口、證書接口和驗證接口;內部接口是系統內部服務調用的接口,包括Web接口、移動接口、應用接口、鑒權接口和服務接口.將外部和內部接口進行封裝,以便用戶或服務模塊調用所需接口.
4)服務層
服務層使用低耦合高內聚的設計理念,將各種應用與底層服務通過微服務設計[9]進行統一管理.微服務內的各個功能模塊互相獨立,與其他模塊的交互少,每個模塊單獨運行.微服務架構在設計上能夠實現去中心化.將區塊鏈服務、管理系統、轉發系統進化為更小、更容易改變的服務模式,服務之間使用輕量級的通信模式進行通信協商.
5)數據層
數據層是最底層,可以訪問分布式存儲數據庫、文本文檔、XML文件等進行數據操作,主要是對數據進行封裝、存儲和傳輸.
在基于區塊鏈的單點登錄電子政務身份管理系統中,用戶自主添加各項原始身份數據,經過各個服務提供商或公安部網證系統認證并簽名后,將用戶被授權的數據上鏈,且設置有效期;被授權用戶在認證有效期內可以訪問不同的應用系統,實現單點登錄.
如圖9所示,用戶的身份信息在2020年9月12—13日由數據權威機構(中國移動、公安部、民政局、交管局、教育部)認證簽名,確認該用戶身份并被授權上鏈.被授權的用戶分別于9月13日和14日訪問了積分抽獎應用和健康碼應用,實現了單點登錄.

圖9 系統應用示例
本文通過研究可信身份標識及管理技術、基于國產知識產權的密碼體制和基于區塊鏈的數字身份及證書應用,構建基于區塊鏈的單點登錄電子政務身份管理系統.該系統可確保用戶身份可控、可信,在滿足不同環境下用戶安全快速登錄、聯網實時查詢及大數據共享等業務場景需求的同時,降低系統中身份識別、證書互認、簽章互認成本.本文系統為進一步深化政府信息化建設工作,規范政務服務管理,降低政府管理成本,完善群眾辦事流程提供了強有力的支撐[10].