基于商密体系的政务链解决数据安全共享交换的研究

2018-05-23 06:30赵睿斌杨绍亮王毛路程浩
信息安全与通信保密 2018年5期
关键词:共识政务密码

赵睿斌 ,杨绍亮 ,王毛路 ,程浩

(1.国家信息中心, 北京 100045;2.浙江数秦科技有限公司, 浙江 杭州 310012)

0 引言

区块链(Blockchain)是指利用去中心化和去信任化的方式集体维护一个可靠数据库的技术方案。该技术方案中参与系统的节点把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(Block),并且生成该数据块的指纹用于链接(Chain)下个数据块和校验,系统所有参与节点来共同认定记录是否真实[1]。从技术内核来看,区块链本质上是基于密码学的分布式数据库(账本),区块链的三个核心技术为密码学、P2P网络、全网认可的分布式数据库(账本)。

区块链作为分布式数据存储、点对点传输、共识机制和加密算法等技术的集成应用,近年来已成为联合国、国际货币基金组织等国际组织以及许多国家政府研究讨论的热点。目前,区块链的应用已延伸到物联网、大数据、供应链管理、数据共享交换、数字资产交易等多个领域。2016年10月18日发布的《中国区块链技术和应用发展白皮书》中提到,区块链将为云计算、大数据、移动互联网等新一代信息技术的发展带来新的机遇,有能力引发新一轮的技术创新和产业变革。

目前,国家提倡政务数据共享交换,提升政府的运行效率。数据共享交换的目的是对数据提供共享交互服务,主要采用数据落地和数据不落地两种交换服务模式,通过高效的数据交换通道,能够快速稳定的实现异地、异构数据库的数据交换。数据共享交换以松耦合的方式为应用系统提供支持,与各接入政务部门的应用系统相对独立。数据交换系统提供接口适配、数据采集、数据传输和交换管理监控等功能,确保各接入单位之间数据的安全、可靠、高效传输与交换。为了发挥政务数据资源的真正价值,需要研究一种保障数据安全的解决方案,政务链作为公链的一种,可以解决数据共享交换应用带来的安全问题,减少各种政务信息资源存在的多方面差异。

将商密体系更好地应用于政务链建设中,研究建立基于商密体系的政务链建设标准,对指导和规范政务机构在构建政务链方面具有非常重要的意义。把商密体系与政务链相结合,能够增强政务数据的安全性、保障用户隐私、提高用户满意度,从而进一步推动商密体系在政务链中的快速应用,同时能够帮助和指引各级政务机构在建设政务链时提供指导与参考。

1 区块链国家政策及技术展望

1.1 区块链国家政策

区块链由于其所具有的技术特点及核心优势引起各界关注,在区块链迅速发展的背景下,中国顺应全球化需求,紧跟国际步伐,积极推动国内区块链的相关领域研究、标准化制定以及产业化发展。

2016年10月工信部发布《中国区块链技术和应用发展白皮书》,白皮书总结国内外区块链发展现状和趋势,分析包含金融、供应链、文化娱乐、智能制造、社会公益、教育就业等多个应用场景的技术应用,指出区块链的核心技术路径,首次提出区块链标准化路线图与标准框架体系[2]。

2016年12月,国务院发布的《“十三五”国家信息化规划》首次提到支持区块链技术发展,两次提及“区块链”关键词,强调加强人工智能、区块链、虚拟现实、大数据认知分析、基因编辑等新技术基础研发和前沿布局。

2017年5月16日,国内首个区块链标准《区块链参考架构》由工信部正式发布,区块链基础性标准确立。标准内容可分为八个部分,包括范围、术语和缩略语、概述、参考架构、用户视图、功能视图、用户视图和功能视图的关系、附录,系统性描述了区块链的生态系统,对行业的参与者和核心功能组件进行了详细规定。该架构重点在于解决四大问题:(1)达成共识,对区块链定义和术语给予明确解释说明;(2)明确组件集成,使得行业对技术组件运用有清晰认知;(3)规范行业,通过视图传递相关的功能信息规范行业标准;(4)生态整合,在用户视图中将不同视角的用户引入区块链生态中[3]。

1.2 区块链技术特点

区块链具有数据不可篡改和时间戳的特性,其特性奠定了区块链在互联网发展中的地位和应用,区块链技术特点主要包括以下内容:

(1)去中心化

区块链最核心的创新是完全分布式的应用。分布式数据备份在组成该网络的每一台计算机中,任何一个或多个设备、任何一个或多个节点都无法控制整个区块链,且任一节点的损坏或者是退出都不会影响整个系统的运作。

(2)去信任

每个节点之间的数据交互不是基于信任,整个系统的运作规则是公开透明的,所有的数据内容也是集体维护无法随意更改的。所以,在系统指定的规则范围和时间范围内,节点之间不允许也无法互相欺骗。

(3)共识机制

任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据拷贝,节点之间基于同一套共识机制,通过计算共同维护整个区块链,任一节点失效,其余节点仍能正常工作。共识机制构成了整个区块链的信任基础和决策基础。

(4)数据可靠

每隔一段时间,系统都会刷新一遍数据,选择最早最准确的数据进行记录,并将数据发送给其他节点备份。如果有人想修改数据,除非能够同时控制整个系统中足够多的节点,否则单个节点上对数据库的修改是无效的,也无法影响其他节点上的数据内容。所以,节点越多和计算能力越强,数据安全性就越高。

2 基于商密体系的政务链建设要点

基于商密体系的政务链建设主要包括以下方面的内容:①基于商密体系的身份认证机制;②基于商密体系的密钥安全措施;③基于商密体系的信息安全指南;④基于商密体系的数据验证方法;⑤基于商密体系的隐私保护等级;⑥基于商密体系的数据存储规范;⑦基于商密体系的硬件支持系统。

作为面向广泛国内政务领域服务的政务链的重点是在安全性层面需要确保对商密系列算法的支持。目前Hash算法广泛应用于区块链工作量证明中,每个具有创新性的区块链项目中均有各自不同的实现,属于区块链中比较核心和基础的技术。主流公有链中的主要非对称加密算法主要采用RSA算法,下面主要论证这两种算法的商密替代性。

为了保障商用密码的安全性,国家密码管理局商用密码管理办公室制定了一系列密码标准, 包 括 SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)等等。其中,SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法[4]。目前,这些算法已广泛应用于各个领域中,期待有一天会有采用商密算法的区块链应用出现。其中SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。

2.1 采用商密体系中SM3作为政务链的摘要算法

区块链可以用于登记和发行数字化资产、积分等,并以点对点的方式进行转账、支付和交易。由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。

现有的共识机制包括Pow、Pos和DPos等,其中Pow是相对安全最高的公链共识算法。现有的比特币即采用Pow共识算法芯片,在比特币系统中,矿工为了挖掘新的Block(数据区块)必须进行并完成工作量证明过程。矿工计算每个数据区块头部信息的SHA256值(HASH值的一种),如果比前一个数据区块的SHA256值小,那么P2P网络便接受这个新的数据区块。目前比特币已经吸引了全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障安全。

在对国内外各类共识机制和共识算法芯片进行调研的基础上,研究了SM3共识算法,算法流程如图1所示。SM3密码摘要算法是国家密码管理局商用密码管理办公室2010年公布的中国商用密码杂凑算法标准,SM3算法是在SHA256基础上改进实现的算法,采用Merkle-Damgard结构,消息分组长度为512位,摘要值长度为256位。此算法对输入长度小于2的64次方的比特消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。SM3密码杂凑算法的压缩函数与SHA256的压缩函数具有相似的结构,但是SM3算法的压缩函数的结构和消息拓展过程的设计都更加复杂,压缩函数的每一轮都使用2个消息字,消息拓展过程的每一轮都使用5个消息字等[5]。基于SM3共识算法芯片保证更高的安全性,与此同时,由于SM3算法与SHA256算法结构相似,可以与HASH256芯片使用统一的处理模型,只是针对各运算单元分别进行重构设计,有效地节约资源。SM3密码杂凑(哈希、散列)算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。

政务链使用SM3杂凑算法进行摘要计算,由于SM3是在SHA-256基础上改进实现的一种算法,因此虽然SM3算法的压缩函数与SHA-256的压缩函数具有相似的结构,但是SM3算法的设计更加复杂,安全性也相对较高。

2.2 采用商密体系中SM2作为政务链的数字签名算法

传统区块链采用多重签名技术,这是为了更好的保障交易双方的权益,多重签名交易的地址可以有多个相关联的私钥,最常见的是2/3的组合,所谓2/3指的是多重签名交易的地址可以有三个相关联的私钥,交易者需要其中的两个才能完成一笔转账[6]。多重签名技术所能带来的最大好处即保证了交易的安全性,交易的多方均可以看到资金的安全存储,只有双方均同意才可以转移资金,保证了交易各方的权益。但现有的多重签名交易不一定安全,当前多数情况下多重签名钱包以客户端网页应用出现,如果攻击者控制了交易平台的服务器,他们就有能力向用户输送错误的网页应用,这种多重签名方案并没有提供多重签名应有的安全保证,方案提供者在协议中扮演了客户端和服务器两个角色。

在对国内外区块链技术和区块链交易方法进行调研的基础上,研究确定了基于商密体系中SM2的多重签名交易方法。SM2算法由国家密码管理局2010年12月17日发布,称为椭圆曲线算法,算法加解密流程如图2所示。SM2算法的安全性基于数学难题“离散对数问题”,使用SM2算法进行数字签名时,所要求的密钥长度比以往RSA要短。基于SM2算法的多重签名交易方法不仅使得用户和交易平台需要记忆和存储密钥更加便捷,验证速率加快,同时保证交易不受单方影响,即保证买卖双方的权益的同时使得平台也无法挪用交易资金,且外部不能通过攻击服务器来危险公链中经济安全。

图2 SM2加解密流程

政务链使用SM2椭圆曲线算法进行区块链公私钥密钥对的生成与签名验证,使得本身的计算复杂度达到了完全指数级,并且与传统区块链中所使用的RSA相比,同样的安全性能下所需的公钥位数更少,密钥的生成速度与加解密速度相较于RSA算法也快百倍以上。SM2算法在很多方面都优于RSA算法(RSA发展得早,应用普遍,SM2领先也很自然),与RSA安全性对比如表1所示。

表1 密钥安全性对比

速度对比如表2所示。

表2 速度对比

链上公私钥密钥对所使用的椭圆曲线非对称加密算法为SM2,区块链分布式账本记账中所使用的哈希杂凑算法则为SM3。通过我国自主知识产权的加密手段,实现了链上数据安全的有效保障。因此,政务链可以作为数据交换系统内置的安全保障机制,作为第三方安全认证平台的重要功能,在提供数据信息交换传输加密保障的同时,对数据本身进行提供认证、授权、防篡改、可溯源等高安全保障。基于商密体系的政务链整合共享交换应用中提供标记上链,通过数据标记的存证保全,就能够对各个节点的数据交换总量、当前运行状态、传输线路状态、数据交换进程状态、交换服务状态等进行有效监控溯源,并且还能在指定时间内按照进入/转出、目的地/来源地、数据量大小等项目对具体数据交换包进行查询和统计;通过对数据状态(例如等待交换、正在交换、交换完毕、回执收到、处理中断等)的监控,追踪某一个指定数据的状态。

3 结语

政务链在食品防伪溯源、金融基金审计、保险溯源、彩票认证等行业都能够发挥区块链的技术特性,可以作为一项技术构架在价值在政府与行业之间解决市场需求的重要应用。基于商密体系的政务链建设除了密码学本身,还能够对应用提供丰富的权限策略、安全秘钥管理体系和用户隐私保护解决方案,从而在整体上保障链上数据的安全。当各级政务在区块链安全方面开展政务链的应用时,政务大数据共享交换会逐渐上链及个人身份信息上链,因此,可信的为政务服务的政务链标准就尤为迫切,是一个需要政府和行业监管部门共同研究推动的方向。

参考文献

[1]荣希.区块链技术在资产证券化中的应用设想[J].经营者, 2016 (03):153-154.

[2]周平,杜宇,李斌等.中国区块链技术和应用发展白皮书[S].工信部, 2016.

[3]周平,唐晓丹,宋文鹏等.区块链参考架构[S].工信部, 2017.

[4]赵宇亮,胡威,张冰等.国家商用密码算法综述[D].2016电力行业信息化年会论文集,2016.

[5]申延召.SM3密码杂凑算法分析[D].上海:东华大学,2013.

猜你喜欢
共识政务密码
密码里的爱
共识 共进 共情 共学:让“沟通之花”绽放
论思想共识凝聚的文化向度
商量出共识
密码抗倭立奇功
政务云上看政情
关于陈某政务公开申请案的启示
二维码让政务公开更直接
密码藏在何处
夺命密码