鄭響萍 伏金娣 蔡海軍



摘? 要: 在推進全面社會無紙化辦公的工作中,遇到多方、遠程簽署的信任問題,當發(fā)生糾紛無法舉證等困難,無紙化處理會很難落實。本文通過分布式微服務技術架構,結合區(qū)塊鏈防篡改技術、聲紋技術、人臉識別技術、數字簽章等,實現便捷和可信任的電子簽章系統,確保無紙化處理司法舉證材料完整和權威,實現無紙化辦公需求。
關鍵詞: 無紙化辦公; 區(qū)塊鏈; 分布式; 微服務; 數字簽章
中圖分類號:TP311? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)04-91-06
Abstract: In the process of promoting paperless office work in an all-round society, we have encountered the trust problem of multi-party and remote signing. When disputes occurred, we could not provide evidence, which make it difficult to implement paperless handling. In this paper, through the distributed microservice technology architecture, combined with technologies such as blockchain tamper-proof, voice-print, face recognition, and digital signature, a convenient and trusted electronic signature system is realized. It ensures the integrity and authority of paperless processing of judicial evidential materials, and realizes paperless business requirements.
Key words: paperless office; blockchain; distributed; microservice; digital signature
0 引言
2005年《中華人民共和國電子簽名法》頒布,該法案規(guī)定了電子簽名的四個要素:真實身份、真實意愿、原文未改、簽名未改,為在線電子文檔的協作提供了可行方案。以此來認定電子簽名具有法律保障。
2018年《最高人民法院關于互聯網法院審理案件若干問題的規(guī)定》中明確,“當事人提交的電子數據,通過電子簽名、可信時間戳、哈希值校驗、區(qū)塊鏈等證據收集、固定和防篡改的技術手段或者通過電子取證存證平臺認證,能夠證明其真實性的,互聯網法院應當確認”。之后,2019年、2020年陸續(xù)有《國務院關于在線政務服務的若干規(guī)定》、《區(qū)塊鏈司法存證應用白皮書》、《關于加強公證行業(yè)黨的領導優(yōu)化公證法律服務的意見》發(fā)布,隨著各項政策的落地,數字簽章在更多領域逐步實施,體現出了巨大的價值。
中國電子工業(yè)標準化技術協會于2020年底正式發(fā)布了《區(qū)塊鏈數字簽章參考架構》,為區(qū)塊鏈的去中心化、分布式存儲的技術能力和防篡改的特性,對原文未改、簽名未改、真實身份等簽章要求提供了保障[1]。
本系統的設計方案根據《中華人民共和國電子簽名法》、《國務院關于在線政務服務的若干規(guī)定》、《區(qū)塊鏈數字簽章參考架構》等要求,結合區(qū)塊鏈技術,數字簽章、時間戳、哈希散列算法、人臉和聲紋技術等開發(fā)。本系統的應用可以有效提升協作效率,真實記錄協作對象,協作過程和協作內容,且具備法律效力。
1 系統方案介紹
本方案采用微服務架構,設計核心業(yè)務服務中臺,整合三方CA服務和區(qū)塊鏈技術,確保簽署過程的有據可依和可信任性。
服務中臺包括簽章服務、文件服務、流程審批服務、權限及用戶服務,區(qū)塊鏈服務等,具體架構如圖1所示。
1.1 CA服務
CA服務用于確保數字簽章具備法律效應。在對文檔進行數字簽章前,須通過傳輸主體的真實信息,獲取國家認可的三方CA認證服務機構簽發(fā)的數字簽章,通過簽署文檔,獲取文檔內容摘要,并將內容摘要、個人信息、人臉、聲紋和操作時間戳等形成文本,同時提供給CA機構存檔。CA認證機構與司法機構合作,將內容按司法需求進行存儲保管,當簽署產生糾紛時,可將其作為法律依據,數字簽章司法鑒定流程如圖2所示。
目前,中國商用密碼算法標準,包括SM2,SM3和SM4等,是面向商業(yè)應用的密碼算法規(guī)范,稱為國密算法。本設計采用SM2國密加密算法和SM3哈希算法進行數據處理。
通過CA機構創(chuàng)建完數字證書后,提取SM2公私鑰,當需要簽章時,通過計算獲得當前時間戳,在文檔中蓋上企業(yè)或個人電子簽名信息,提取需簽署文檔的SM3哈希值后,將SM3哈希值與時間戳進行字符串拼接,通過私鑰加密,生成簽名,將簽名、時間戳、文檔內容等記錄存檔,這樣就完成了對文檔的數字簽章,具體流程如圖3所示。
1.2 區(qū)塊鏈
雖有電子簽名信息,但僅憑此很難完全滿足司法舉證條件,合同文檔簽署后的信息修改、刪除等行為,簽章數據的丟失行為都可能發(fā)生,這種依賴三方數字簽章系統的中心化系統方案,存在較大的安全風險。利用區(qū)塊鏈技術將區(qū)塊鏈技術的不可篡改、多處備份等特性,與電子存證技術結合,有效提升了電子證據質量和存證可信度,降低了舉證成本[2]。
區(qū)塊鏈技術具有不可篡改,多方參與等特性,《區(qū)塊鏈司法存證應用白皮書》中將區(qū)塊鏈定義為“一種由多方共同維護,使用密碼學保證傳輸與訪問安全,能夠實現數據一致存儲、難以篡改、防止抵賴的記賬技術,也稱分布式賬本技術。”。區(qū)塊鏈技術運用了分布式存儲、共識機制、點到點網絡、加密算法等,以去中心化和不信任的理念,允許公共網絡范圍內,任意有能力的節(jié)點成為區(qū)塊鏈網絡的成員之一,共同對區(qū)塊鏈內的節(jié)點以某種約定規(guī)則進行讀寫操作,平等地維護區(qū)塊鏈運行,區(qū)塊鏈中的所有節(jié)點,通過共識機制等同步彼此的數據,最終保證區(qū)塊鏈網絡數據的一致性、可靠性和安全性[3-4]。
隨著區(qū)塊鏈技術的發(fā)展,區(qū)塊鏈演變出公有鏈、私有鏈、聯盟鏈。公有鏈最符合區(qū)塊鏈技術的去中心化和不信任特性,但計算速度慢,而私有鏈權威性比較低。聯盟鏈在去中心化、計算能力及權威性之間做了平衡,根據《區(qū)塊鏈司法存證應用白皮書》建議,本設計選擇司法機構節(jié)點、政務節(jié)點、企業(yè)節(jié)點和其他節(jié)點共同組成,具有權威可信度,且計算速度更快的聯盟鏈[5]。
數字簽章過程中,重要操作節(jié)點都將在區(qū)塊鏈中記錄,結合時間戳信息構建線性化數據鏈[6],舉證時可按時間軸還原簽章過程的細節(jié)信息,為司法舉證提供有力證據,如圖4所示。
1.3 微服務
該設計方案需支持大并發(fā)量簽署和按需水平擴容,故采用分布式微服務架構。微服務設計采用Spring Cloud技術架構,Spring Cloud提供了微服務工具集合,如服務發(fā)現、服務注冊、負載均衡、服務調用、API網關等[7],采用Docker容器化方案,通過DevOps系列工具[8],自動交付部署,滿足按需水平擴容需求。其整體架構如圖5所示。
2 系統功能實現
數字簽章系統包括用戶中心、文件中心、簽章服務、區(qū)塊鏈服務和基礎服務等基礎中臺,以及基于中臺實現的簽章業(yè)務系統。系統通過Spring Cloud構建微服務架構,通過Eureka注冊各服務中心的接口,業(yè)務系統和服務之間通過Feign進行服務調用[9-10]。
2.1 用戶中心
用戶中心功能包括用戶注冊、用戶注銷、用戶個人認證、用戶企業(yè)認證等。在創(chuàng)建簽章前需要提供認證信息,在構建三方CA簽章時,需提供給CA機構,如圖6所示。
用戶經過實名認證后,個人信息將被加密并保存到關系型數據庫中,后續(xù)創(chuàng)建CA證書時,查詢并解密后提交給三方CA機構。
為確保簽署過程真實有效且為操作人本人,個人認證時,除需錄入身份證等個人信息外,須同步錄入人臉和聲紋信息。系統在每次簽署時,將通過人臉識別和聲紋識別技術,確保為本人操作。
2.2 文件中心
文件中心提供文檔上傳、刪除等管理功能,為避免文件原件丟失,采用分布式文件系統保存多份備份文件,盡量將其分布存儲在多臺服務器和多機房中,減少意外導致文件丟失。
簽章文件存在容量大、數量多等特點,因此非常符合分布式文件系統的特性。分布式文件系統最早由Google在2003年發(fā)表的《The Google File System》定義,起初設計目的是為解決快速增長的大量文件的存儲及成本問題,提供以大小固定的塊為存儲單位的存儲方式,用普通服務器,通過強大的多備份和容錯能力,來實現安全且低成本的存儲方案。
Hadoop體系中的HDFS,為開源的分布式文件系統,其參照GFS及其論文實現,符合大量文件高訪問量等情況,故本設計采用HDFS作為簽章文檔的存儲系統。HDFS包括一個中心節(jié)點NameNode,用于存儲和檢索文件數據,多個數據節(jié)點DataNode作為文件塊數據存儲節(jié)點。文件中心通過HDFS存取API實現文件管理服務,將上傳的文件存儲多份備份,提供文件訪問、文件下載、文件修改等功能[11-12]。文件中心實現了文件權限管理功能,只有用戶本人或授權用戶才能具備文檔讀寫權限。文件服務如圖7所示。
2.3 簽章服務
簽章服務提供簽章創(chuàng)建和管理、文件簽章等服務。
在用戶認證完成后,系統會為用戶創(chuàng)建其惟一的SM2公私鑰,并將公私鑰加密存儲到數據庫中,同時使用公私鑰向三方CA機構申請數字證書,確保公私鑰具備公信力。
本設計考慮簽章的可視化,設計了圖形章,圖像章采用Java的Awt等技術實現。繪制圖形章首先通過Awt為用戶繪制章圖案,并存儲于數據庫中,在需要簽章時,通過IText等工具,將該圖形章繪制到文檔的指定位置上,完成對文檔的蓋章動作,系統將原文件和完成圖形簽章的文件存儲到文件中心法完成圖形章蓋章流程。
此后系統會計算完成圖形簽章文件的Hash值,將Hash值和時間戳拼接后,通過私鑰加密形成簽名,將簽名信息、文件內容、時間戳等信息存儲到數據庫中,同時創(chuàng)建區(qū)塊鏈節(jié)點保存簽名信息,確保內容的準確性和不可篡改性[13],如圖8所示。為確保數據存儲安全,數據庫和文件采用多節(jié)點備份存儲。
文檔簽章過程通常涉及到多方,為確保簽章過程可追溯,系統將各方簽署的完整過程都以日志的形式記錄,并保存到時序數據庫和區(qū)塊鏈節(jié)點中。
2.4 業(yè)務系統及其他
業(yè)務系統服務通過Spring Cloud 的Feign服務,調用文件中心、用戶中心、簽章服務等接口,實現簽署業(yè)務場景流程。
簽署流程需具備工作流、基礎權限中心等基礎功能,實現簽署流程、簽署人員以及權限設定等功能。
工作流功能將為業(yè)務系統的個性化流程提供支持,通過圖形化流程配置界面,完成流程的設定和管理。國內外已有不少開源的工作流工具,如Activiti,Flowable和JFlow等,均支持BPMN規(guī)范。我們采用開源Activiti,其提供了與Spring Cloud整合的方案,通過圖形界面可以快速實現工作流節(jié)點配置[14]。
權限中心通過Apache Shrio實現RBAC模型,提供頁面權限、操作權限和數據權限等,將工作流、權限等封裝為服務接口,注冊到Eureka中,再將業(yè)務系統整合為業(yè)務流程。
3 應用部署
系統采用容器化部署,搭建DockerHub鏡像管理服務,每個Spring Cloud微服務創(chuàng)建DockerFile文件,通過Jenkins編譯構建代碼后創(chuàng)建Docker鏡像并上傳到Hub中,Jenkins通過腳本,使容器節(jié)點快速完成部署和擴容[15]。
系統部署共需五臺服務器,包括一臺二核4G低配服務器,四臺二核8G高配服務器。其中低配服務器部署Jenkins和DockerHub等環(huán)境。二臺高配服務器搭建文件中心、用戶中心、簽章服務和區(qū)塊鏈服務,每個服務分別部署二個節(jié)點。其余二臺高配服務器部署業(yè)務系統和日志系統等。當簽章中心等中臺服務遇到瓶頸,可隨時通過增加服務器擴容節(jié)點,通過Jenkins獲取對應服務的鏡像文件,并部署到Docker節(jié)點[16]。
4 結論
該電子簽章系統是基于分布式微服務和區(qū)塊鏈技術,能確保簽署的內容真實、主體明確、不可篡改和可追溯,保證簽署過程符合法規(guī)條例,為司法過程提供完備證據。系統采用分布式微服務架構,能安全穩(wěn)定運行,可實現快速動態(tài)擴容,并支持彈性高并發(fā)量。系統若能結合便攜式硬件設備、AR技術等,將能適用于更多場景,使用更加便捷。
參考文獻(References):
[1] 孫夢龍.司法區(qū)塊鏈自證功能研究[D].碩士,黑龍江:黑龍江大學,2021
[2] 冒小樂,陳鼎潔,孫國梓.基于區(qū)塊鏈的電子數據存證的設計與實現[J].中興通訊技術,2018,24(6):28-34
[3] 楊保華,陳昌.區(qū)塊鏈原理、設計與應用(第2版)[M].北京:機械工業(yè)出版社,2020
[4] 洛恩·蘭茨著.沈寅,易維利,譯.精通區(qū)塊鏈[M].北京:中國電力出版社,2022
[5] 荊兆星.面向公檢法司鏈上存證的安全存儲技術研究[D].碩士,海南:海南大學,2021
[6] 候義斌,梁勛,占小瑜.基于區(qū)塊鏈的電子證據系統架構模型[J].計算機科學,2018,45(S1):348-351
[7] 翟永超.Spring Cloud微服務實戰(zhàn)[M].北京:電子工業(yè)出版社,2017
[8] 杰夫·尼克羅夫,斯蒂芬·庫恩斯利著.耿蘇寧,譯.Docker實戰(zhàn)(第2版)[M].北京:清華大學出版社,2021.
[9] 歐創(chuàng)新,鄧頔.中臺架構與實現:基于DDD和微服務[M].北京:機械工業(yè)出版社,2022
[10] 潘志偉.架構演變實戰(zhàn):從單體到微服務再到中臺[M].北京:電子工業(yè)出版社,2022
[11] 蔡斌,陳湘萍.Hadoop技術內幕:深入解析Hadoop Common和HDFS架構設計[M].北京:機械工業(yè)出版社,2013
[12] 文艾,王磊.高可用性的HDFS Hadoop分布式文件系統深度實踐[M].北京:清華大學出版社,2012
[13] 鄒均,張海寧,唐屹,等.區(qū)塊鏈技術指南[M].北京:機械工業(yè)出版社,2016
[14] 楊恩雄.瘋狂工作流講義:基于Activiti 6.x的應用開發(fā)[M].北京:電子工業(yè)出版社,2017
[15] 周立.Spring Cloud與Docker微服務架構實戰(zhàn)[M].北京:電子工業(yè)出版社,2018
[16] 布倫特·萊斯特著.郝樹偉,石雪峰,雷濤,譯.Jenkins 2權威指南[M].北京:電子工業(yè)出版社,2019
*基金項目:浙江理工大學科技與藝術學院院設科研項目(KY2022002)
作者簡介:鄭響萍(1982-),女,浙江杭州人,碩士,工程師,主要研究方向:教育信息化管理、大數據、軟件開發(fā)和信息服務等。