文│ 国家密码管理局商用密码检测中心
区块链采用密码技术、共识机制、点对点网络等技术构建数据管理与应用的分布式信任基础,具有透明公开和可追溯等特征。从发展趋势看,区块链技术有望发展成为实现价值互联的全新信息化基础设施,重构社会信任格局,引发行业变革,催生新业态。密码技术是区块链安全体系的核心,是区块链系统建立的基础,密码的应用与创新对于支撑保障区块链安全有序发展有着重要意义。本文介绍了密码技术在区块链安全中的基础核心作用,重点针对区块链中的密码应用和发展需求展开论述,并为区块链和密码的融合创新发展给出建议。
一、发挥密码对区块链安全的重要支撑保障作用
当前区块链广受关注,被誉为引发新一轮科技革命和产业变革的重要基础信息技术之一。区块链创新提出的弱中心、多中心信任机制,打破了中心化信任体系的边界,在数据和价值驱动的网络时代和融合业务场景中具有很大的应用价值。
密码是区块链的基础和核心。密码杂凑算法、公钥密码算法、基于密码的共识协议、零知识证明等密码算法和密码协议在区块链技术中得到广泛应用,成为实现区块链基本功能、保障区块链稳定安全运行的关键技术。2020 年 1 月 1 日,《中华人民共和国密码法》正式实施。密码法的实施,为推动我国区块链技术和产业创新发展提供了重要的法律指引和保障。合理采用符合国家密码管理政策的密码算法、密码协议、密钥管理机制等密码技术,遵循相关密码标准规范要求,深入全面开展密码测评认证,是保证区块链可用、可信、可管的重要前提。
当前,随着数字经济的飞速发展,我国的区块链技术进入了快速推进的阶段,区块链应用日益广泛,新型基础设施加快建设、海量数据持续累积、政策措施相继出台,都为我国区块链的发展创造了有利条件。但是也应认识到,目前我国区块链底层核心技术自主创新程度还不够高,更多偏重依赖国外开源平台快速部署应用,在基础架构设计、共识理论研究、安全监管建设等方面相对薄弱滞后。受限于这些因素,我国区块链密码应用整体还处于以满足需求、自发应用为主的阶段,如何充分发挥密码对区块链安全的重要支撑保障作用,增强区块链密码技术、产品和服务供给,促进区块链密码的合规、正确、有效应用成为具有普遍意义的重要问题,值得引起高度重视。
二、密码是区块链的基础核心技术
区块链的弱中心化、多中心化特征,使得区块链系统能够以成员共识机制实现信任自治。这种分布式系统结构摆脱了对中心节点的依赖,节点之间能够以对等网络的方式自由连接,进行可验证的数据存储,为上层智能合约提供可信数据。密码是构建区块链的基础核心技术,其中密码杂凑算法更是区块链的起源性技术。密码技术在区块链中的关键作用主要体现在以下方面:
(一)构建用户安全身份和数字资产权属
区块链网络多采用公钥密码体制对用户进行统一身份管理。密码公私钥对是区块链用户身份的唯一凭证,区块链基于公私钥对建立用户身份,并通过数字签名实现资产的确权。可以通过对用户公钥进行密码杂凑运算生成账户地址,同一个用户可以拥有多个公私钥对及多个对应的账户地址。区块链中的资产确权是指确定链上保存的数字资产的所有权,私钥的拥有者实际拥有该资产的所有权。区块链上的每笔交易都需要一个有效的数字签名才会被存储于区块中,区块链网络中的所有用户都可以通过对应的公钥对交易的有效性进行验证,确认签名者对数字资产的所有权。
(二)构建核心共识机制
共识机制是区块链系统在不同节点间建立信任、达成共识、实现去中心化的核心技术。共识机制基于竞争式或投票式数学原理,以共识协议实现安全的记账规则,决定了参与节点对交易数据达成一致的方式,保证了合规数据最终被全部诚实节点确认,实现了分布式账本数据记录的一致性和活性。
共识协议多采用密码杂凑算法、门限数字签名、可验证随机函数等密码技术实现共识安全。
密码杂凑算法的单向特性和抗碰撞性,保证不同输入对应不同输出并且不可逆推,在共识构建、数字账本存储和管理、快速验证中发挥不可或缺的作用。
门限数字签名有效降低共识确认通信量,使得共识通过较少的通信交互便可实现投票数的统计与确认,在最新的 BFT 类(如 Hotstuff、Dumbo 等)共识算法中多有使用。
可验证随机函数(Verifiable Random Function,VRF)解决动态敌手破坏共识活性的问题。例如,在 BFT 类包含投票环节的共识机制中,使用基于密码技术的不可预测方法选择参与者来创建和验证区块,使动态敌手无法预判区块的创建者,实现动态安全。
(三)保障运行安全
区块链因其内生的抗抵赖、透明公开、可追溯等特性为无信任的网络环境提供了安全保障。作为一种新型应用集成框架,区块链系统可分为数据层、通信层、共识层和应用层,密码技术在各层中都发挥了基础和核心作用。
在数据层,区块之间通过密码杂凑算法实现时序化串联,保障数据的完整性和抗篡改性,确保交易的公开可追溯。
在通信层,使用加密隧道通信等密码技术建立安全通信信道,并为消息鉴别、匿名路由等提供技术支撑。
在共识层,采用公钥密码算法和密码杂凑算法等构建的共识机制在不同节点之间建立信任,确保分布式账本的一致性和活性。
在应用层,采用基于公钥密码算法的数字证书鉴别机制实现节点身份的合法性确认,从而实现不同节点对交易的确权。
(四)实现信息隐私保护和安全共享
随着区块链的价值潜力被不断挖掘,应用场景的不断扩大,实际应用对区块链产生了高效隐私保护、数据安全共享等诸多新需求。
高效隐私保护技术是区块链系统需要重点突破的方向。采用假名等弱匿名机制来保护账户的隐私,具有安全隐患,通过关联多重交易以及分析重复使用的地址等手段仍然能够获取用户的部分隐私。基于传统环签名、零知识证明、同态加密、安全多方计算等通用密码技术来构建隐私保护方案,能够满足安全需求,但计算效率不高。针对具体应用场景,设计高效的密码方案,实现满足不同场景的新型隐私保护技术是目前的一个研究热点,能够更好地服务于实用化的区块链融合应用要求。
基于密码的数据有条件关联和共享是区块链账本数据安全的新价值增长点。由于数据权属和使用隐私等问题,大多数企业对数据共享都非常谨慎。在大数据时代,合理利用区块链可追溯、去中心等特性建立信任,同时又保证输入隐私性和计算正确性,实现数据所有权和数据使用权的分离,解决数据孤岛的现象,是数据共享领域的一个研究热点。密码学领域的安全多方计算技术与区块链数据加密和验证机制相结合,可以在不暴露原生数据隐私的基础上,通过协同计算充分发挥数据价值,达到数据可用不可看的效果。
(五)支撑区块链安全监管
区块链受控监管是区块链可持续健康发展的基本要求。为了确保区块链应用的行业规范性,根据业务场景对关联方交易保护要求、监管策略、业务可行性要求,在满足区块链隐私保护的基础上,构建满足穿透式可控监管、跨链跨平台监管的密码机制,实现区块链交易身份、交易信息的受控溯源,是区块链合规应用的重要保障。目前,典型的解决思路是通过集成部署环签名、同态密码方案、隐身地址和秘密共享等密码技术,以确保交易的安全监管。
三、区块链安全有序发展催动密码技术进步
区块链技术正处于快速发展阶段,在应用推广过程中存在许多关键安全技术问题,如账本高效隐私保护、账本安全可扩展、交易数据可监管、智能合约一致性、高效共识机制等,以及系统安全问题,如跨链安全、海量用户证书管理等。在区块链应用中,这些问题的解决都高度依赖于密码的支撑保障,也给密码技术进步带来了新的需求和挑战,为密码产学研用管测全链条创新注入了新的动力。
(一)复杂应用需要新型密码技术的突破
随着密码管理相关政策的出台,密码算法及标准体系的逐步建立和完善,国内出现了多个创新的国产化区块链平台,有效提升了我国区块链核心技术的自主可控能力。然而,底层平台所能提供的基础密码算法和密码协议,对于复杂应用需求的支撑力度仍显薄弱,而多数技术方案仍然难以满足跨平台跨应用区块链的安全与效率要求。因此,研发满足不同融合应用场景要求的安全高效的新型密码技术,仍然是当前区块链应用亟待解决的重要问题。
(二)大规模应用需要完善密码技术工程适用性
从既有的区块链技术实际应用效果来看,区块链网络支持的可用的节点容量数量较低,区块链网络的交易吞吐量、确认延迟等关键技术指标与传统有中心网络相比差距较大,远不能满足大规模应用需求。密码技术的高效工程实现是提升区块链性能的一个关键点,支撑现有区块链网络的密码技术在理论上和工程实现上都相对复杂,交易的生成和验证耗时较多。在保证安全性的前提下,密码技术的实现性能还有很大提升空间。
(三)规范部署需要建立完备的密码标准体系
目前,国际标准化组织技术委员会 ISO/TC307、国际电信联盟安全组 ITU-T SG17、全国信息技术标准化技术委员会、密码行业标准化技术委员会等国内外标准化组织、联盟协会、研究机构等都在积极研究区块链标准化的相关工作,组织开展标准预研、标准制定等一系列工作,并取得了一定进展。国内已发布的区块链标准层次上主要是团体标准与企业标准,标准内容主要是技术标准与应用标准,但整体上覆盖面较窄,成熟度较低,保障核心安全的密码标准仍十分欠缺,难以支撑区块链应用的大规模规范部署。
(四)安全性需要密码测评水平不断提升
区块链技术的各个层次与密码技术深度融合,区块链应用的各个方面均依赖密码技术的安全保障。开展区块链密码测评,对于规范区块链密码应用、切实保障区块链安全具有不可替代的重要作用。目前,很多区块链中使用新型密码技术缺乏严密的形式化证明和验证就投入应用,区块链平台底层采用的随机数和密码算法存在安全缺陷,区块链密码产品自身存在安全漏洞,运行的区块链系统密码应用的合规性、正确性和有效性无法保障,要解决这些问题必须深入开展密码测评。
四、加快构建以密码为核心的区块链自主创新发展体系
由于区块链在跨信任实体间的自动化协作、价值转移等方面的独特优势,区块链业已成为数字经济新基石。我国已将区块链技术列为信息技术领域发展的重大战略,金融行业是区块链技术应用最早、需求最多的领域,目前区块链在跨境支付、贸易融资、财险理赔、证券交易等金融领域均有商业化的应用落地与推广。随着区块链应用模式的逐步成熟,“区块链 +”的业务模式逐渐成为发展重点,其应用场景从金融行业扩展到了实体经济和政务民生等多个领域,并向供应链、公共服务、智能制造等自动化协作领域迅速拓展。为促进区块链安全有序发展,占领前沿科技战略竞争的制高点,从密码领域看,需要从以下几个方面重点发力。
(一)强化基础密码技术研究
从密码协议的角度开展共识机制研究,突破制约区块链大规模应用的性能瓶颈;加强基于格的密码、基于编码的密码、基于同源的密码等抗量子密码算法研究,形成支撑区块链应用的抗量子密码算法体系;面向物联网等特定领域应用需求,加快轻量级密码算法的研究,满足资源受限设备的计算和存储要求;针对海量节点身份认证应用场景,开展基于标识密码的身份管理机制、隐式/无证书机制等重要密码技术的研究;针对移动应用场景,开展新型密钥管理技术研究;在满足安全性和隐私保护要求基础上,以区块链监管需求为牵引,加强环签名及群签名等特殊数字签名、同态密码、零知识证明等底层密码技术研究,创新密码构造基础理论,实现全网账本和智能合约应用的可监管;提高密码技术工程适用性,在实现穿透式监管的同时,保障区块链处理海量并发交易时的安全性和效率,支撑区块链大规模应用落地。
(二)完善区块链密码标准体系
区块链融合应用催生了基于场景的新型密码算法和协议,以及密码技术新的应用模式,亟需建立新的标准体系。新的区块链密码标准体系在现有密码标准体系基础上,应覆盖应用于区块链的新型密码算法、密码协议、密码产品和应用,确保区块链密码应用正确有效。如图 1 所示。
应用于区块链的新型密码算法和协议标准,应重点针对环签名、盲签名等密码算法和零知识证明、安全多方计算、共识协议等方向的关键协议制定,尽快充实区块链密码算法、协议库。区块链密码产品标准,应重点针对区块链密码产品安全性要求、区块链密码产品检测规范等方面制定,有效指导相关产品的研发、生产、检测和认证。区块链应用密码标准,应对区块链密钥管理、密码基础设施加以规范,并重点针对区块链平台和应用领域,制定融合应用场景的区块链密码应用规范或指南,引导密码技术与人工智能、大数据、量子信息等新一代信息技术在区块链中的有效综合运用。
(三)建立区块链密码测评认证体系
在区块链密码标准体系的基础上,加快制定区块链密码相关检测标准;针对区块链技术特点,研究相应检测方法和技术,建设专业的区块链密码检测工具和平台,完善检测手段;建立科学的区块链密码产品检测认证规则,规范密码产品检测认证;针对典型区块链信息系统制定密码应用测评规范,完善区块链应用密码测评体系;依照密码法和相关规章制度要求开展关键信息基础设施的区块链密码应用安全性评估,确保区块链密码应用的合规性、正确性和有效性。
(四)推动区块链密码深度融合应用
持续拓展区块链密码应用场景,推动重点领域的区块链应用示范项目落地。以 SM2/3/4 密码算法为主体,采用符合国家密码管理政策、满足相关法规和标准要求的密码技术,在金融应用、政务服务、智慧城市等区块链发展相对成熟的领域开展应用试点,打造一批技术先进、安全可靠的区块链应用典型案例和样板工程,发挥示范引领作用,加快构建基于自主密码技术的区块链密码应用支撑体系。
五、结语
密码是区块链的基础和核心,密码法的颁布与实施为规范和保障区块链密码应用与发展提供了根本遵循。采用符合国家密码管理政策的密码算法、密码协议、密钥管理机制等密码技术,遵循相关密码标准规范要求,才能为保障我国区块链安全有序发展提供坚实支撑。区块链的持续发展也为密码理论成果实用化提供了新领域,为密码技术创新提供了新方向。随着密码与区块链的深入融合创新发展,区块链必将在我国新的技术革新和产业变革中发挥越来越重要的作用。
(本文刊登于《中国信息安全》杂志2021年第3期)
声明:本文来自中国信息安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。