基于区块链的电子签名和印章应用体系设计
2020-05-11沈智镔程思进
沈智镔 ,张 猛 ,程思进
(1.水利部信息中心,北京 100053;2.航天信息股份有限公司,北京 100195)
0 引言
最近几年,数字化的电子签名和印章的法律地位正在逐步得到承认,但是在我国水利工程建设质量评定过程中,勘察、设计和检测资料的保存与管理仍是纸质载体人工管理模式,难以确保电子签名和印章的法律效力。目前水利部提出“水利工程补短板、水利行业强监管”的工作总基调,水利工程信息化既是补短板的内容,又将是水利工程强监管的重要手段。要彻底实现水利工程信息化,提高工程建设质量的监控与管理,其中最重要的一个内容就是实现重要施工过程信息的数字化标准化采集、传输、分析与利用,这就要求重要的工程建设文档按照标准化数字化的格式进行采集,故水利工程建设文档的电子签名和印章合法化成为水利工程信息化建设中的重要且不可逾越的关键环节。区块链技术具有防篡改、可溯源等优势,如果将区块链应用于水利行业电子签名和印章场景,实现水利行业电子签名和印章的互认与统一管理,结合区块链的分布式特点及开放特性达到多方互通、数据共享,就能实现水利行业各方的相互认证需求,为电子签名和印章的管理提供高效可靠的基础服务。
1 电子签名和印章应用现状分析
当前,各行业电子签名和印章应用主要在以 CA(Certificate Authority)为基础的信任体系中运转。企业、银行等机构通过采购地方运营 CA 服务的方式,实现电子签名和印章的互信、互认;行业主管部门(如水利部、交通部等单位)采用自建 CA 的方式,实现行业内部电子签名和印章的互信、互认。
但传统以 CA 为基础的电子签名和印章应用在推广过程中,受自身设计的限制,尚未大规模应用。主要体现在以下方面:
1)法律效力有待进一步得到承认。该问题主要出现在以自建 CA 为基础的行业,由于大部分自建CA 受到系统建设、日常管理、人员配备等方面的制约,难以达到运营 CA 的建设、管理标准,故不能接入国家根 CA 节点。因此,在法律层面这部分自建 CA 并不能得到承认,基于自建 CA 颁发的电子签名和印章也就不具备相应的法律效力。
2)不同行业、部门间不能互信和互认。以 CA为基础的电子签名和印章在使用过程中,各参与方必须采用相同的根 CA 节点。但目前由于各行业主管部门(自建 CA)、企业、银行(采购运营 CA 服务或未建设 CA)未接入统一的根 CA 节点,因此,各行业、部门颁发的电子签名和印章,不能互信、互认。
3)运营 CA 服务使用成本较高。目前,大部分单位尚未使用运营 CA 服务,如统一使用运营 CA服务的话,需要对本单位电子签名和印章应用进行改造,并需要支付运营 CA 服务费用,会进一步提高一线单位信息化建设、运维成本。
2 区块链技术介绍
区块链概念最早出现在 2008 年比特币白皮书中,共识算法和智能合约是其核心技术。区块链技术的诞生,标志着人类开始构建真正可以信任的互联网。区块链能够在网络中构建点对点之间可靠的信任,使价值传递过程去除了中介的干扰,既公开信息又保护隐私,既共享决策又保护个体权益,提高了价值交互的效率并降低了成本。
从技术角度讲,区块链是一系列现有成熟技术的有机组合,所有节点共同参与区块链系统的数据验证、存储和维护;数据以区块为单位产生和存储,并按照时间顺序连成链式数据结构;使用密码学保证传输和访问安全,是能够实现数据存储一致、无法篡改和抗抵赖的技术体系。区块链具有以下特点:
1)去中心化。区块链系统是点对点网络,系统中的数据块由整个系统中所有具有维护功能的节点共同维护,且任一节点的损坏或失去都不会影响整个系统的运作。
2)共识信任机制 。区块链技术运用一套基于共识的数学算法,在机器之间建立信任网络,从而通过技术背书进行信用创造。借助区块链的算法证明机制,参与整个系统中每个节点之间的数据交换。
3)数据可追溯,信息不可篡改和伪造。区块链系统中每个节点都能获得一份完整数据库的拷贝。区块链使用的哈希算法和链式存储结构使其具有可追溯、完整性、防篡改特性,同时利用数字签名技术保证数据的不可伪造,从而保证交易过程和记录的真实有效。
4)开放性。区块链系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以查询区块链数据和开发相关应用,因此整个系统信息高度透明。
5)匿名性。区块链系统中每个参与节点都是匿名的,参与交易的双方通过地址传递信息,即便获取了全部的区块信息也无法知道参与交易的双方到底是谁,只有掌握了私钥的人才能开启自己的“钱包”。
6)跨平台。区块链网络上的节点是基于共同的算法和数据结构独立运行的,主要消耗的是计算资源,与平台无关,因此可以在任意平台部署计算节点。
7)分布式共享。区块链可以通过点对点网络同步记录数据,实现数据的分布式共享,使得信息交换方式更加高效。
区块链可解决跨组织协同工作因信任信息不流通导致的工作低效问题,通过多方协作下的信息一致性建立信任,保障信息安全流转及可追溯,为电子签名和印章管理应用体系提供高效可靠的基础服务。
目前,区块链技术已广泛应用于数字货币、电子发票、泛在电力物联网、互联网法院、DeFi(开放金融)等领域,在一定程度上证明了该技术的普适性和应用价值。钟登华院士带领的技术团队正在研究如何将区块链技术应用于智能大坝的建设中[1],但在水利其它领域还存在应用空白。水利工程建设过程中涉及的勘察、设计、检测的数据和资料的保存与管理,急需一个高效便捷的电子系统支持,以节省人力物力,提高使用效率,且有效地检查和监督工程质量,及时发现和解决问题,利用区块链的技术优势,可以搭建一个电子签名和印章应用,从而构成水利工程信息化的一部分。
3 电子签名和印章应用体系方案设计
3.1 水利行业区块链服务平台
水利工程实施过程中,涉及到多个部门、人员的合作协同,在同一系统中使用互认的电子签名和印章显得十分重要。设计基于区块链的电子签名和印章应用体系,旨在实现水利行业电子签名和印章的互认与统一管理。电子签名和印章应用体系整体架构如图 1 所示。
基于区块链的水利行业电子签名和印章应用体系包括以下 3 个部分:1)水利行业区块链服务平台。主要包括水利部机关的各个验证节点、水利系统相关数据库的接入、水利政务外网身份认证体系等业务模块。2)电子签名和印章管理服务应用。主要服务于水利部下属单位、各省水利部门和外部单位(包括工程建设、设计、监理等单位),各应用系统或组件接入管理服务系统,根据权限进行签名和印章等操作。3)电子签名和印章管理组件。主要包括移动端、PC 端、服务端。
图 1 基于区块链的电子签名和印章应用体系整体架构
3.2 水利行业电子签名和印章平台应用
基于区块链的水利行业电子签名和印章平台应用的技术架构分为基础层、区块链核心层和应用服务层 3 个层次,架构图如图 2 所示。
图 2 基于区块链的电子签名和印章应用技术架构
3.2.1 基础层
为水利信息区块链平台提供存储、计算、对等网络等基础资源和能力,其中存储可支持分布式文件系统,以及 Sqlite,MySQL,DB2,SQLServer,levelDB,CouchDB,MongoDB 和分布式数据库等多种类型数据库[2-3]。
3.2.2 区块链核心层
在区块链核心层通过共识机制、智能合约、海量数据存储、密码技术、隐私保护技术、权限管理、节点管理、监管机制构建安全可靠的水利行业区块链网络,各个节点通过共识机制对区块和状态达成一致。相关分析如下:
1)共识机制。共识机制保证在决策权高度分散的去中心化系统中,各节点能高效针对区块数据有效性达成一致,这里采用 Fabric 的 Kafka 共识,保证水利系统中签名和印章的正确性。
2)智能合约。智能合约具有特殊的分布式特性,通过提供受限的指令集与特殊的资源调度策略,保证智能合约的执行不会对底层链造成损害性后果。提供以下 3 类智能合约:第 1 类是链外交互过程中存在的权限认证、正确性检查等保护机制;第 2 类是链上治理合约,这些合约将提供链上审计、合约管理等功能,并且所有操作均将作链上记录;第 3 类是业务合约,这些合约与区块链平台外系统一起,构成各式各样的去中心化应用程序。由此保证一份文件在签署或水利工程实施的过程中签名和印章的防篡改和不可伪造。
3)密码技术。当前,水利行业政务外网身份认证主要通过基于国密 SM2 算法的数字证书方式进行。在该体制中,水利行业政务系统需要 CA 为用户颁发证书,从而保证公钥的真实性。但是,由于CA 需要管理所用用户的公钥信息,使得其成为系统的瓶颈。2003 年,Al-Riyami 和 Paterson 提出无证书公钥密码系统,一个用户的私钥需要由两部分组成,一部分来自密钥生成中心,另一部分由用户自己选取的秘密值产生。在无证书公钥密码体制中,用户对私钥有完全自主权,同时公钥本身具有自证性,这极大减轻了管理负担。本研究采用基于 SM2算法的无证书认证方案,在签名和印章验签和存证的过程中,更加安全可靠[4]。利用 SM2 等国产密码技术制定灵活、可定制的身份认证和隐私保护方案,在水利工程建设中尤其是监理时,能够有效确保签名和印章的真实性和可靠性。
4)分布式账本。分布式账本提供基于 P2P 协议底层组网的分布式账本服务,各节点通过 P2P 协议进行消息分发;提供账本结构的定义和数据的存储;提供可插拔的共识模块,负责确保底层数据的强一致性,同时抵抗来自“恶意”节点的攻击。
3.2.3 应用服务层
在水利信息化平台中,基于核心层基础服务平台可为上层提供身份、印章、文件、模板和签名等5 个管理功能模块,这是最直接的水利工程实施过程中所需的应用服务。其中身份、印章和模板管理都提供了信息管理功能,即信息的上链、更新、作废、查询;文件管理提供了文件存证、签名和印章验证、文件检索功能;签名和印章管理将签名和印章文件的签名信息记录在链,与文件和模板等管理功能一同实现签名和印章文件的共享[5]。
3.3 业务流程
3.3.1 身份和印章管理
身份和印章信息由管理员录入水利行业区块链平台。管理员提供印章及身份信息,印章录入服务将印章上传到区块链,并将其与对应的身份信息关联。印章需要与身份绑定,通过身份可以获取名下所有印章,通过印章可以确定身份。
首先,管理员进行身份录入,保证信息真实可信;然后,身份信息注册服务通过输入的信息访问密钥管理服务器并获取身份相应的公钥,保证公钥的正确;最后,注册服务将身份信息与公钥提交到区块链身份信息管理模块完成身份注册。管理员和密钥管理服务器保证身份信息及公钥的真实可信,区块链保证数据不会被篡改,签章应用可以使用此身份信息进行身份认证及验签[6]。
进行签章时,签章服务通过身份在区块链上查询印章并使用此印章进行盖章操作。验签时通过验签公钥确定身份找到相应印章进行比对,完成印章验证。流程如图 3 所示。
图 3 电子签名和印章应用身份及印章管理流程
3.3.2 文件管理
文件管理提供对水利行业签名和印章文件的存证、验证、检索功能。
用户签章完成后,提交签名和印章文件进行存证。文件管理模块解析签名和印章文件,验证身份、印章、签名通过后,将文件内容和签名上链,并将文件内容与使用的模板和印章进行关联。流程如图 4 所示。
图 4 电子签名和印章应用文件管理
通过区块链获取指定文件时,只需将文件内容、签名、模板、印章统一处理为一个文件既可。
另外,文件进行存证及获取时需要使用模板和签名等管理功能,分别完成电子印章的签发、注册、更新、作废,以及数据记录入链、读取和查询功能,实现过程如图 5 所示。
图 5 文件管理功能实现过程
4 结语
本研究使用区块链技术,在已有基于第三方可信任 CA 的系统暴露一些技术短板的情况下,设计了基于国密 SM2 算法的无证书公钥密码体系构建了区块链技术的电子签名和印章基础服务平台,分级区块链的电子签名和印章管理应用体系的方案。通过增加区块信息存储结构,电子签名和印章管理应用体系改善了水利工程建设中的资料保存与管理模式,推动了水利工程信息化的发展。目前若打通水利系统各个平台之间的数据壁垒可能还有大量的工作要做,涉及到的数据安全、隐私保护和数据库存储容量的问题还需要继续优化。本研究方案安全、有效、可实施,在水利行业电子签章领域创新使用区块链技术,满足存储稳定性高、安全可靠、可追溯、可审计、数据公开透明等诸多要求,使得水利行业的电子签名和印章业务流程更加完善。进一步的,可以考虑使用跨链等相关区块链技术解决跨平台的电子签名和印章需求。