区块链作为分布式数据存储、点对点传输、共识机制和加密算法等技术的集成应用,近年来已成社会研究讨论的热点。政务区块链(简称 政务链)属于公链的一种,具备了公链的一系列特点,而公链应用已出现了一些安全风险,例如交易单向不可逆、密钥丢失和隐私泄露等,如何有效防范这些风险,是急需解决的问题。目前,国家正在提倡加快推进政务数据共享交换,也在为政企数据共享交换做前期探讨。但是,随着接入共享交换平台信息资源和业务应用的日趋复杂,资源提供方的信息资源在数据格式、数据结构、业务编码等方面与使用方存在一定的差异,使得共享、交换的数据资源,不能被使用方快速应用,需要对数据做大量的加工处理,而且数据的安全性得不到充分的保障。因此,本文提出两种可以结合区块链技术的商密算法的应用建议,对于数据共享交换安全应用给出政务链建设的要点和应用展望。
引言
区块链(Blockchain)是指利用去中心化和去信任化的方式集体维护一个可靠数据库的技术方案。该技术方案中参与系统的节点把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(Block),并且生成该数据块的指纹用于链接(Chain)下个数据块和校验,系统所有参与节点来共同认定记录是否真实 [1]。从技术内核来看,区块链本质上是基于密码学的分布式数据库(账本),区块链的三个核心技术为密码学、P2P 网络、全网认可的分布式数据库(账本)。
区块链作为分布式数据存储、点对点传输、共识机制和加密算法等技术的集成应用,近年来已成为联合国、国际货币基金组织等国际组织以及许多国家政府研究讨论的热点。目前,区块链的应用已延伸到物联网、大数据、供应链管理、数据共享交换、数字资产交易等多个领域。2016 年 10 月 18 日发布的《中国区块链技术和应用发展白皮书》中提到,区块链将为云计算、大数据、移动互联网等新一代信息技术的发展带来新的机遇,有能力引发新一轮的技术创新和产业变革。
目前,国家提倡政务数据共享交换,提升政府的运行效率。数据共享交换的目的是对数据提供共享交互服务,主要采用数据落地和数据不落地两种交换服务模式,通过高效的数据交换通道,能够快速稳定的实现异地、异构数据库的数据交换。数据共享交换以松耦合的方式为应用系统提供支持,与各接入政务部门的应用系统相对独立。数据交换系统提供接口适配、数据采集、数据传输和交换管理监控等功能,确保各接入单位之间数据的安全、可靠、高效传输与交换。为了发挥政务数据资源的真正价值,需要研究一种保障数据安全的解决方案,政务链作为公链的一种,可以解决数据共享交换应用带来的安全问题,减少各种政务信息资源存在的多方面差异。
将商密体系更好地应用于政务链建设中,研究建立基于商密体系的政务链建设标准,对指导和规范政务机构在构建政务链方面具有非常重要的意义。把商密体系与政务链相结合,能够增强政务数据的安全性、保障用户隐私、提高用户满意度,从而进一步推动商密体系在政务链中的快速应用,同时能够帮助和指引各级政务机构在建设政务链时提供指导与参考。
区块链国家政策及技术展望
区块链国家政策
区块链由于其所具有的技术特点及核心优势引起各界关注,在区块链迅速发展的背景下,中国顺应全球化需求,紧跟国际步伐,积极推动国内区块链的相关领域研究、标准化制定以及产业化发展。
2016 年 10 月工信部发布《中国区块链技术和应用发展白皮书》,白皮书总结国内外区块链发展现状和趋势,分析包含金融、供应链、文化娱乐、智能制造、社会公益、教育就业等多个应用场景的技术应用,指出区块链的核心技术路径,首次提出区块链标准化路线图与标准框架体系。
2016 年 12 月,国务院发布的《“十三五”国家信息化规划》首次提到支持区块链技术发展,两次提及“区块链”关键词,强调加强人工智能、区块链、虚拟现实、大数据认知分析、基因编辑等新技术基础研发和前沿布局。
2017 年 5 月 16 日,国内首个区块链标准《区块链参考架构》由工信部正式发布,区块链基础性标准确立。标准内容可分为八个部分,包括范围、术语和缩略语、概述、参考架构、用户视图、功能视图、用户视图和功能视图的关系、附录,系统性描述了区块链的生态系统,对行业的参与者和核心功能组件进行了详细规定。该架构重点在于解决四大问题:(1)达成共识,对区块链定义和术语给予明确解释说明;(2)明确组件集成,使得行业对技术组件运用有清晰认知;(3)规范行业,通过视图传递相关的功能信息规范行业标准;(4)生态整合,在用户视图中将不同视角的用户引入区块链生态中。
区块链技术特点
区块链具有数据不可篡改和时间戳的特性,其特性奠定了区块链在互联网发展中的地位和应用,区块链技术特点主要包括以下内容:
(1)去中心化
区块链最核心的创新是完全分布式的应用。分布式数据备份在组成该网络的每一台计算机中,任何一个或多个设备、任何一个或多个节点都无法控制整个区块链,且任一节点的损坏或者是退出都不会影响整个系统的运作。
(2)去信任
每个节点之间的数据交互不是基于信任,整个系统的运作规则是公开透明的,所有的数据内容也是集体维护无法随意更改的。所以,在系统指定的规则范围和时间范围内,节点之间不允许也无法互相欺骗。
(3)共识机制
任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据拷贝,节点之间基于同一套共识机制,通过计算共同维护整个区块链,任一节点失效,其余节点仍能正常工作。共识机制构成了整个区块链的信任基础和决策基础。
(4)数据可靠
每隔一段时间,系统都会刷新一遍数据,选择最早最准确的数据进行记录,并将数据发送给其他节点备份。如果有人想修改数据,除非能够同时控制整个系统中足够多的节点,否则单个节点上对数据库的修改是无效的,也无法影响其他节点上的数据内容。所以,节点越多和计算能力越强,数据安全性就越高。
基于商密体系的政务链建设要点
基于商密体系的政务链建设主要包括以下方面的内容:①基于商密体系的身份认证机制;②基于商密体系的密钥安全措施;③基于商密体系的信息安全指南;④基于商密体系的数据验证方法;⑤基于商密体系的隐私保护等级;⑥基于商密体系的数据存储规范;⑦基于商密体系的硬件支持系统。
作为面向广泛国内政务领域服务的政务链的重点是在安全性层面需要确保对商密系列算法的支持。目前 Hash 算法广泛应用于区块链工作量证明中,每个具有创新性的区块链项目中均有各自不同的实现,属于区块链中比较核心和基础的技术。主流公有链中的主要非对称加密算法主要采用 RSA 算法,下面主要论证这两种算法的商密替代性。
为了保障商用密码的安全性,国家密码管理局商用密码管理办公室制定了一系列密码标准, 包 括 SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC) 等等。其中,SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9 是非对称算法;SM3 是哈希算法。目前,这些算法已广泛应用于各个领域中,期待有一天会有采用商密算法的区块链应用出现。其中 SM1、SM7 算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
采用商密体系中 SM3 作为政务链的摘要算法
区块链可以用于登记和发行数字化资产、积分等,并以点对点的方式进行转账、支付和交易。由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。
现有的共识机制包括 Pow、Pos 和 DPos 等,其中 Pow 是相对安全最高的公链共识算法。现有的比特币即采用 Pow 共识算法芯片,在比特币系统中,矿工为了挖掘新的 Block( 数据区块 )必须进行并完成工作量证明过程。矿工计算每个数据区块头部信息的 SHA256 值 (HASH 值的一种 ),如果比前一个数据区块的 SHA256 值小,那么 P2P 网络便接受这个新的数据区块。目前比特币已经吸引了全球大部分的算力,其它再用 Pow 共识机制的区块链应用很难获得相同的算力来保障安全。
在对国内外各类共识机制和共识算法芯片进行调研的基础上,研究了 SM3 共识算法,算法流程如图 1 所示。SM3 密码摘要算法是国家密码管理局商用密码管理办公室 2010 年公布的中国商用密码杂凑算法标准,SM3 算法是在SHA256 基础上改进实现的算法,采用 MerkleDamgard 结构,消息分组长度为 512 位,摘要值长度为 256 位。此算法对输入长度小于 2 的 64次方的比特消息,经过填充和迭代压缩,生成长度为 256 比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。SM3 密码杂凑算法的压缩函数与 SHA256 的压缩函数具有相似的结构,但是 SM3 算法的压缩函数的结构和消息拓展过程的设计都更加复杂,压缩函数的每一轮都使用 2 个消息字,消息拓展过程的每一轮都使用 5 个消息字等。基于 SM3 共识算法芯片保证更高的安全性,与此同时,由于 SM3 算法与 SHA256 算法结构相似,可以与 HASH256芯片使用统一的处理模型,只是针对各运算单元分别进行重构设计,有效地节约资源。SM3密码杂凑(哈希、散列)算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
政务链使用 SM3 杂凑算法进行摘要计算,由于 SM3 是在 SHA-256 基础上改进实现的一种算法,因此虽然 SM3 算法的压缩函数与 SHA-256 的压缩函数具有相似的结构 , 但是 SM3 算法的设计更加复杂,安全性也相对较高。
采用商密体系中 SM2 作为政务链的数字签名算法
传统区块链采用多重签名技术,这是为了更好的保障交易双方的权益,多重签名交易的地址可以有多个相关联的私钥,最常见的是2/3 的组合,所谓 2/3 指的是多重签名交易的地址可以有三个相关联的私钥,交易者需要其中的两个才能完成一笔转账。多重签名技术所能带来的最大好处即保证了交易的安全性,交易的多方均可以看到资金的安全存储,只有双方均同意才可以转移资金,保证了交易各方的权益。但现有的多重签名交易不一定安全,当前多数情况下多重签名钱包以客户端网页应用出现,如果攻击者控制了交易平台的服务器,他们就有能力向用户输送错误的网页应用,这种多重签名方案并没有提供多重签名应有的安全保证,方案提供者在协议中扮演了客户端和服务器两个角色。
在对国内外区块链技术和区块链交易方法进行调研的基础上,研究确定了基于商密体系中 SM2 的多重签名交易方法。SM2 算法由国家密码管理局 2010 年 12 月 17 日发布,称为椭圆曲线算法,算法加解密流程如图 2 所示。SM2算法的安全性基于数学难题“离散对数问题”,使用 SM2 算法进行数字签名时,所要求的密钥长度比以往 RSA 要短。基于 SM2 算法的多重签名交易方法不仅使得用户和交易平台需要记忆和存储密钥更加便捷,验证速率加快,同时保证交易不受单方影响,即保证买卖双方的权益的同时使得平台也无法挪用交易资金,且外部不能通过攻击服务器来危险公链中经济安全。
政务链使用 SM2 椭圆曲线算法进行区块链公私钥密钥对的生成与签名验证,使得本身的计算复杂度达到了完全指数级,并且与传统区块链中所使用的 RSA 相比,同样的安全性能下所需的公钥位数更少,密钥的生成速度与加解密速度相较于 RSA 算法也快百倍以上。SM2 算法在很多方面都优于 RSA 算法(RSA 发展得早,应用普遍,SM2 领先也很自然),与 RSA 安全性对比如表 1 所示。
链上公私钥密钥对所使用的椭圆曲线非对称加密算法为 SM2,区块链分布式账本记账中所使用的哈希杂凑算法则为 SM3。通过我国自主知识产权的加密手段,实现了链上数据安全的有效保障。因此,政务链可以作为数据交换系统内置的安全保障机制,作为第三方安全认证平台的重要功能,在提供数据信息交换传输加密保障的同时,对数据本身进行提供认证、授权、防篡改、可溯源等高安全保障。基于商密体系的政务链整合共享交换应用中提供标记上链,通过数据标记的存证保全,就能够对各个节点的数据交换总量、当前运行状态、传输线路状态、数据交换进程状态、交换服务状态等进行有效监控溯源,并且还能在指定时间内按照进入 / 转出、目的地 / 来源地、数据量大小等项目对具体数据交换包进行查询和统计;通过对数据状态(例如等待交换、正在交换、交换完毕、回执收到、处理中断等)的监控,追踪某一个指定数据的状态。
结语
政务链在食品防伪溯源、金融基金审计、保险溯源、彩票认证等行业都能够发挥区块链的技术特性,可以作为一项技术构架在价值在政府与行业之间解决市场需求的重要应用。基于商密体系的政务链建设除了密码学本身,还能够对应用提供丰富的权限策略、安全秘钥管理体系和用户隐私保护解决方案,从而在整体上保障链上数据的安全。当各级政务在区块链安全方面开展政务链的应用时,政务大数据共享交换会逐渐上链及个人身份信息上链,因此,可信的为政务服务的政务链标准就尤为迫切,是一个需要政府和行业监管部门共同研究推动的方向。
作者 >>>
赵睿斌, 北京航空航天大学电子工程博士,国家信息中心高级工程师,中国智慧城市发展研究中心高级研究员,国信卫士网络空间安全研究院特聘研究员,主要研究领域包括网络安全、大数据、云计算、移动互联、工控安全、智慧城市和北斗导航等。
杨绍亮, 北京大学光华管理学院毕业 , 国家信息中心高级工程师,主要研究方向是电子政务工程项目规划设计和建设管理。主持过 40 多个部委大型电子政务工程项目的咨询设计,重点主持了全国投资项目在线审批监管平台、全国信用信息共享平台、全国公共资源交易平台等多个国家级跨部门、跨地区大型综合信息化项目工程建设工作。重点牵头承担了《国家应急平台体系建设》、《京津冀综合信息化平台》、《国家开放数据平台规划》等课题研究。
王毛路, 北京航空航天大学电子工程博士,浙江数秦科技首席科学家,主要研究领域包括神经网络、机器学习、分布式计算、大数据结构与交易规则等。
程浩, 国家信息中心工程师,毕业于北京邮电大学信息安全专业,研究生学历,研究方向政务信息安全、虚拟化云计算安全和移动安全等。
声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。