区块链技术在电子证照的应用与研究

2020-10-09 10:24韦杰
电脑知识与技术 2020年22期
关键词:数据加密区块链

摘要:结合区块链技术的特点和电子证照库建设的需求,对区块链技术在电子证照库建设的应用进行分析和研究,介紹了区块链的定义和特征,简述了数据加密、数字签名、P2P网络、默克尔树、分布式数据库、共识服务、智能合约等区块链的主要技术,提出了基于区块链技术的电子证照共享平台架构,列举了电子证照共享平台网络层、数据层、服务层、应用层、接入层的主要功能,支撑电子证照的共享和服务。

关键词:区块链;电子证照;分布式存储;数据加密;共识机制

中图分类号:TP311.13文献标识码:A

文章编号:1009-3044(2020)22-0230-03

开放科学(资源服务)标识码(OSID):

1 引言

随着“互联网+政务服务”的快速推进,国家和各省、直辖市建设了网上政务服务平台,充分利用部门之间共享的政务数据,优化业务流程,让数据多跑路,群众少跑腿,最终实现“一网通办”的目标。电子证照作为政务服务平台的重要数据,是提高网上政务服务办事效率、增加办事透明度、优化办事流程的关键。但是在建设电子证照库的过程中也面临着数据被篡改、数据来源不详、数据不被信任等问题。而区块链技术去中心化、去信任、不可篡改、可追溯等特点在一定程度上可解决目前电子证照库建设的问题,可实现身份证、资格证、许可证等个人和企业证件的电子化管理和电子化应用,进一步加快数字政府的建设,提高政府治理能力现代化水平。

2 区块链的理解

2.1 区块链的定义和特征

从狭义来看,区块链是利用数据加密技术,按照顺序将数据区块相连,组合形成的一种链式数据结构,是一种去中心化、去信任、不可篡改和不可伪造的分布式账本。从广义来看,区块链以区块结构存储数据、多方维护的、使用密码学技术保证传输和访问实现数据存储的技术体系。区块链主要有以下特征:

开放,共识。区块链的数据对任何人都是开放的。任何人都可以加入整个区块链所属的网络,形成多个节点,每个节点都有一本相同的、完整的数据账本。每个节点间基于共识机制,建立信任关系,共同维护整个区块链,单点故障或失效不影响整体的工作。

交易透明,双方匿名。区块链的数据记录和运行规则对每个节点都是公开透明的。每一笔交易产生的数据对每个节点也是公开的、可见的、可追溯的。节点与节点在去信任的基础上,采用匿名的方式参与,无须公开身份。

去中心,去信任。区块链不依赖中心来完成数据的统一存储、统一更新,而是由多节点同时完成,形成多个相同的数据账本。每个节点更新数据时,同时发送给其他节点,保持数据账本一致。节点之间数据交换通过数字签名技术进行验证,按照系统规则进行。节点之间节点之间无法相互欺骗。

不可篡改,可追溯。区块链的每一个区块都指向前一个区块,并采用哈希算法识别对应的区块。如要修改某一块数据时,其他节点数据需一起修改。为此单个或少于51%的节点的数据被恶意篡改时,不影响其他节点的数据。加上区块链中的每一笔交易数据通过数据加密与相邻两个区块串联。每一笔交易都可追溯到前后交易的数据。

2.2 私有链、联盟链、公有链

公有链:各个节点按照系统规则自由接入网络参加链上数据读写,节点间以扁平的拓扑结构互联互通,基于共识机制开展工作。

私有链:适用于单位内部和特定机构的数据管理。系统的运作规则根据要求进行设定,少数节点具备修改、读取权限。

联盟链:各个节点通常有与之对应的实体机构组织,通过授权后才能加入网络。各机构组织组成利益相关的联盟,共同维护区块链的运转。

3 区块链的主要技术

目前区块链发展了三个阶段,第一阶段以比特币为代表的货币区块链技术。第二阶段以太坊为代表的合同区块链技术;第三阶段以实现完备权限控制和安全保障的Hyperledger项目为代表。

3.1 数据加密

区块链使用加密算法,使数据在传输过程中不可能被更改。主要的加密算法有对称加密和非对称加密。对称加密指加密和解密使用同一个秘钥,常见的对称加密算法有DES、AES、3DES等。非对称加密指使用公钥和私钥对数据进行加解密,使用对方公钥加密时,对方只有使用自己的私钥才能解密。常见的非对称加密算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC。区块链作为分布式账本,通用采用的是非对称加密技术。

3.2 数字签名

数字签名是非对称加密算法和数字摘要技术的应用,通常使用私钥加密、公钥解密的方式实现。数据发送者使用哈希算法成生数据摘要,使用私钥对数据摘要进行加密。数据接收者用公钥进行解密,鉴别数据发送者的身份。

3.3 P2P网络

P2P网络是一种分布式的对等网络,每个节点既可以从其他节点得到服务,也可以向其他节点提供服务。区块链网络建立在P2P网络上,所有网络中的节点地位平等,以实现去中心化[1]。

3.4 默克尔树

区块链采用默克尔树二叉树,通过哈希算法生成数据凭证,将区块链中的数据分组进行哈希运算,向上不断递归运算产生新的哈希节点,最终只剩下一个默克尔根存人区块头中,每个哈希节点总是包含两个相邻的数据块或其哈希值,用于快速归纳和校验区块链数据的完整性,以提高整个系统的运行效率增加可扩展性。

3.5 分布式数据库

区块链本身就是分布式数据库,所有节点共同记录,保证了数据库的可靠性。

3.6 共识机制

区块链由多个节点组成,各个节点之间彼此信任达成共识,保证各个节点的一致性。要维护区块链系统的稳定,需要共识机制确认区块的有效性、正确性[2]。常用共享机制包括:POW(工作证明)、POS(股权证明)、DPOS(委任权益证明)、Paxos(分布一致性算法)、PBFT(实用拜占庭容错算法)。

POW:由节点所拥有的计算能力决定,节点计算能力占当前网络计算能力的百分比,决定了这个节点具有多大可能性找到区块。

POS:類似银行利息,这种模式会在未发现区块链时,通过时间等计算出一个币零来发放利息,发现区块后将币清零。

DPOS:通过投票产生代表,产生区块,并不是所有的节点都能为代表,都能记账,只有被选定的代表才获得记账权。

3.7 智能合约

智能合约是一种以信息化方式传播、验证或执行合同的计算机协议。它允许在没有第三方的情况下进行可信交易,并且这些交易可追踪且不可逆转。区块链中将智能合约以数字化的形式写入区块链中,保障存储、读取、执行整个过程透明可追踪、不可篡改。

3.8 激励机制

激励机制是通过经济平衡的手段,鼓励节点参与到维护区块链系统安全运行中来,防止对总账本进行篡改、是长期维持区块链网络运行的动力。

4 区块链在电子证照研究现状

针对区块链技术在电子证照的应用,国内外研究者展开了大量的研究和应用,文献[3]研究了部分国家将区块链技术在公共服务领域的应用实践,认为区块链技术具有去中心化安全认证的特点,可广泛应用于房产登记及交易、选举、专利、知识产权、品牌和健康数据等政府业务数据。文献[4]详细论述了区块链技术的运行机制,认为区块链技术可以实现公民、企业和政府部门之间的安全数据平台访问验证。文献[5]结合“互联网+政务服务”,通过分布式账本实现数据共享和统一标准,基于区块链分布式和不对称加密技术,提出了基于区块链的电子证照共享平台新模型。文献[6]提出了区块链电子证照共享平台总体架构和电子证照数据共享流程。文献[7]结合电子证照的业务需求,基于Hyerledger设计了电子证照共享平台,将系统架构分为区块链管理、电子证照管理、平台管理、区块链节点、业务处理机,同时设计了电子证照上传和查询流程。文献[8]利用区块链技术,从平台架构、业务流程、数据库、证照照面等方面对不动产登记电子证照系统进行总体设计,利用区块链技术保障电子证照的安全,构建跨区域电子证照数据链。

总体来看,区块链技术在数据共享、数据验证、安全保障等方面处于研究和应用阶段,部分领域得到了很好的推广。电子证照作为政府部门和企业、公民的重要数据,结合区块链技术加以研究和应用,在国内初步进行了平台设计和建设模式。

5 区块链在电子证照库的应用

区块链技术在电子证照库建设中,充分利用P2P网络、区块链数据安全交换协议、区块链安全访问协议进行数据传输,通过版本号、时间戳、数据证书、数据加密生成区块,以分布式数据库的方式建设电子证照库、目录体系库、公共账本,基于身份认证系统、加密函数、共享服务、消息服务提供支撑,构建具备电子证照目录管理、颁发管理、上传管理、格式管理、验证服务、变更管理、查询管理的应用平台,为各部门业务系统提供SDK接人服务(如图l所示)。

网络层:P2P网络基于电子政务外网的网络设备、安全设备及安全交换协议、安全访问协议进行建设。区块链网络的每台节点机保存全量数据。在区块链共识机制保障下,每台节点机保存的数据完全一致,节点服务器保存电子证照、目录、公共账本等数据。

数据层:由版本号、时间戳、数字证书等信息生成的区块数据。电子证照库按照《电子证照总体技术架构》(GB/T 36901)、《国家电子证照目录信息规范》(GB/T 36902)、《电子证照元数据规范》(GB/T 36903)、《电子证照文件技术要求》(GB/T36905)进行建设,内容包括个人身份证信息、驾驶证信息、毕业证信息、结婚证和离婚证等数据。企业方面的证照包括商品房预售许可证、工程设计单位资质证、统一社会信用代码证等数据。

服务层:通过统一身份认证系统,验证用户的合法性,鉴别用户是否属于联盟链成员,并通共识服务授权哪个节点可以将数据上链。同时为应用层提供数据加密、数据封装、格式转换、消息队列机制等服务。

应用层:实现电子证照的目录创建、修改、删除,利用电子印章生成电子证照版式文件,生成可视化的电子证照,并对电子证照的生命周期进行管理,按照流程登记电子证照的创建、变更、撤销等操作,并提供可视化的查询功能。电子证照上传过程中,一是按照标准和规范将数据上传到目录体系中,同时验证用户上传的权限;二是采用哈希算法将数据进行加密并保存在相应的区块链中;三是通过智能合约进行处理后将数据写入区块链公共账本中。

接人层:按照《电子证照共享服务接口规范》( GB/T 36906)将封装好调用区块链接口的业务接口方法软件开发工具包( SDK)。各部门的系统通过SDK提交查询,并调用数据。

每个区块细分为区块头和区块体两部分。其中,区块当前的版本号、上一个区块的地址、时间戳、当前区块哈希值与随机数封装在区块头内;当前区块的交易数量以及经过验证的、区块创建过程中生成的所有记录封装在区块体中。区块体由默克尔树组成,在默克尔树的叶子节点上,保存着每一笔发证、收证、查证和换证的记录,这些数据通过两两Hash计算向上形成默克尔树的根,并记人区块头。

区块链的电子证照版式文件存储步骤:第一,对存储的电子证照进行编号;第二,将电子证照版式文件转成图片格式,定为母图片格式;第三,对母图片裁切成N张图片;第四,将母图片的编号与N张图片的编号进行关联;第五,针对图片创建N个存储,将已关联完毕后的图片分布存储在每个存储块中。

为了保证电子证照数据的私密性,共享数据不会直接存储在区块链上,而是通过智能合约将其锚定为区块链上的数字资产。当以数据库方式提供时,将电子证照库中共享的数据同步一份到其前置机的ODS中后,再将该部分共享数据在ODS中的访问信息加密后作为数字资产的元数据;当以数据文件方式提供时,将电子证照库中可共享的数据加密后,写到ODS的文件系统中,形成一个共享数据文件,再将该共享数据文件的完整性哈希值作为数字资产的元数据存储在区块链上,而共享数据文件本身依然存储在电子证照库前置机的ODS中。

6 结束语

基于区块链技术构建的电子证照库共享平台,结合区块链不可篡改、可追溯,去中心、去信任的特点,提供安全、可靠的电子证照管理手段,进一步推进政务服务“一网通办”工作,加快数字政府建设,推动政府治理现代化。本文以区块链为核心,以电子证照库管理为目标,提出了网络层、数据层、服务层、应用层、接人层的平台架构,为区块链在电子证照库建设提供了理念基础和构建思路。

参考文献:

[1]贾民政.区块链技术及其应用研究[Jl.数字技术与应用,2018,36(1):189+192.

[2]王梓桦.区块链技术在数据同步与交换应用研究[C].中国指挥与控制学会.第六届中国指挥控制大会论文集(下册).中国指挥与控制学会:中国指挥与控制学会,2018:251-255.

[3] Swan M.Blockchain:blueprint for a new economy[M].USA, Reil-ly Media Inc,2015:35

[4] Williams-Grut O.Estonia is using the technology behind Bit-coin to secure l miⅡion health records[EB/OL].2016.

[5]黄佳.基于区块链技术的跨区域电子证照共享平台[J].科技与创新,2019(11):61-63.

[6]闵旭蓉,杜葵,戴逸聪.基于区块链技术的电子证照共享平台设计[Jl.指挥信息系统与技术,2017,8(2):47-51.

[7]陈春梅.区块链技术下的电子证照共享平台设计与实现研究[Jl.自动化与仪器仪表,2019(4):80-83.

[8]张飞,韩欢欢,李冬青,基于区块链与电子认证的不动产登记电子证照系统的设计与实现[Jl.江苏科技信息,2019,36(35):42-46.

【通联编辑:王力】

作者简介:韦杰(1982-),男,广西南宁人,高级工程师,硕士,主要研究方向为大数据应用与云计算。

猜你喜欢
数据加密区块链
云数据存储安全关键技术研究
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
用“区块链”助推中企走出去