区块链在网络信任体系中的应用研究
2021-10-19
来源: 信息安全与通信保密杂志社
信息技术飞速发展,在不断改变人们生产生活方式的同时,也带来了日益严峻的网络安全问题。如何在网络实体间建立信任关系,是信息安全领域需要解决的重点问题。作为网络安全的基石,网络信任体系衍生出公钥基础设施、标识密码等多种技术。当前,区块链技术以不可篡改、不可伪造、可追溯等特点备受各界关注,在金融、政务、司法等领域广泛应用,也为网络信任体系的构建提供了新的思路。深入分析区块链技术在网络信任体系建设中的应用潜力,有望为新一代网络信任体系的建设提供参考借鉴,具有重要的研究价值与实践意义。
0 引 言
随着信息化和网络化的深度融合,物联网、移动互联、工业互联网等技术迅猛发展。人类社会已经迈入“万物互联”的信息时代,信息系统也呈现出开放性、大规模性、复杂性等特征。高速发展的信息时代离不开网络空间安全的支撑。大到国家安全战略,小到个人数据安全,网络安全的重要地位越发凸显。网络实体之间信任关系的建立,已成为维护网络空间安全有序的基石。
所谓网络信任,即以密码技术为基础,以法律法规、技术标准和基础设施为主要内容,以解决网络应用中身份认证、授权管理和责任认定等为目的的完整体系,核心在于实现人、设备、应用、服务等网络空间中不同网络实体之间信任关系的建立。
网络信任体系建设首先要解决的问题就是如何保障网络实体身份的可信。目前,网络信任的常用构建方法是基于密码技术来实现。其中,基于公钥基础设施(Public Key Infrastructure,PKI)的建设方案已经逐渐成熟。PKI主要依赖认证机构(Certification Authority,CA),使用 X.509证书构建身份认证框架,是一种普适的基础设施,为各种网络应用提供全面的安全服务。然而,以认证机构为核心的PKI体系还面临CA单点故障、证书验证和撤销不透明以及跨CA认证复杂等问题。
区块链技术的出现,为网络信任体系的建设提供了新的思路。大量基于区块链实现网络实体身份认证与管理的研究成果涌现。一方面,建立在 P2P 网络上的区块链具有去中心化、分布式的特征,可以摆脱依赖中心节点的身份管理弊端,在跨信任域的信任传递上,也展现出独特优势。另一方面,基于哈希函数和 Merkle树的块链式结构使得区块链具备不可篡改性的安全特征,有助于实现网络实体身份全生命周期管理,为身份信息的注册、使用提供不可篡改、可追溯的安全基础。
综上所述,本文从网络信任体系发展现状出发,对网络信任体系建设的现有技术进行分析,总结了网络信任体系面临的安全问题,并结合区块链的技术优势,分析其在构建网络信任体系过程中的适应性和优势,对现有区块链在构建网络信任体系中的应用方案进行归纳分析,进一步提出区块链技术需要重点解决的问题,以便更好地助力网络信任体系的发展。
1 网络信任发展现状
随着互联网技术的发展,网络信任问题已经成为信息安全领域需要解决的核心问题。相比理世界实体信任关系的简单建立,网络中各个实体之间的关系呈现出规模大、复杂性高、变化快等特点。这就为网络中实体之间的可信交互带来了巨大挑战,亟需建立网络信任体系来维护网络空间中的秩序。
1.1 网络信任概述
网络信任体系作为实现网络安全的重要因素,是保障网络空间实体活动的核心基石。网络信任体系的使命是在网络空间的不同实体之间建立信任关系,不仅要确保网络中各实体身份的有效分配,还需要保证身份的可信、可用,确保将人员、设备、应用等所有网络实体通过信任关系进行连接,最终形成面向不同应用场景的网络实体信任联盟域和可信链。
基于公钥密码体制的认证技术是信任关系建立的重要手段之一。在1976年公钥密码体系问世前,消息传输依赖对称密码,需要通信双方共享密钥。此时,对于通信双方身份的认证仅需要判断其是否拥有共享密钥。随着网络实体数量的增多,大规模网络实体之间的两两通信给密钥管理带来较高的复杂性。公钥密码的诞生解决了这一问题,经过多年发展,公钥密码已经成为构建网络信任体系的重要技术。
目前,基于公钥密码的网络信任框架主要包括两种:一种是基于PKI的数字证书身份认证体系,已经被广泛应用于各类网络系统中,发展较为成熟;另一种是基于标识密码(IdentityBased Cryptography,IBC)的身份认证体系,通过将网络实体的身份标识信息与公钥进行绑定,为网络身份管理提供良好的基础。
除基于公钥密码方案外,常见的身份认证方法还包括基于口令、智能卡、令牌、生物特征和多因素组合等多种方法。
1.2 基于公钥密码的网络信任框架面临的安全问题
尽管 PKI 体系已经被成熟地应用于网络信任体系中,但并不是固若金汤。随着网络安全问题的升级,基于公钥密码的网络信任框架仍然面临诸多安全挑战。
(1)C的单点故障问题:PKI证书的安全性依赖于根CA以及各级CA机构的安全性。近10年来的安全事件表明,CA本身可能是不诚实的,可能会遭受攻击、签署欺诈性证书、误操作、使用过期或有缺陷的密码算法等。2011年7月,荷兰DigiNotar公司的CA遭受黑客攻击,至少颁发了531张欺诈性证书,其中涉及谷歌、微软、雅虎等网站,此次事故直接DigiNotar公司于2011年9月宣告破产。
在当前的Web模型下,TLS PKI也是十分脆弱的。由于误操作或者被攻陷,CA可能会颁发欺诈证书,不仅不易被发觉,还可能被用于实施窃取用户敏感数据等恶意行为。典型的欺诈性证书将DNS域名与假冒的Web服务器密钥对进行绑定。即使浏览器严格遵循证书验证步骤,假冒的服务器也会发起中间人攻击。
为了降低对CA的可信依赖程度,谷歌于2013年提出证书透明度的概念。实现对证书日志的管理。随后,一些新的基于日志的PKI模型被提出,用于降低对于CA的信任程度。但是,如果攻击者拥有可以向目标展示不同日志的能力,那么攻击者就可以实施网络分裂攻击。
(2)证书验证和吊销问题:证书依赖方不仅需要识别网络实体的公钥与证书之间的绑定关系,还要确认证书是否在有效期内,即证书是否已经被吊销。证书依赖方往往需要定期维护一个证书注销列表(Certificate Revocation List,CRL),其中包含由CA颁发并且已经被吊销的证书。通过执行 CRL 来检查证书是否在吊销状态,但CRL的更新不是实时的,这就给证书验证带来了风险。
目前,常用在线证书状态协议(Online Certificate Status Protocol,OCSP)代替传统的CRL协议。在证书验证过程中,可实时访问OCSP查验证书状态,这也导致了OCSP成为中心节点,一旦被攻击,将难以识别证书状态,甚至会导致隐私问题的出现。
(3)跨CA互信问题:在PKI体系下,面对实际应用场景的复杂需求,需要解决跨CA互信的问题。通常采用交叉认证的方式,在不同的根CA之间通过互相签发证书来建立信任关系。在认证阶段,通过寻找终端实体证书到信任锚之间的信任链,从而实现对终端实体证书的验证。当CA数量较多时,运用交叉认证方法会形成复杂的网状结构,证书链的发现过程也随之变得复杂。通过在多个信任域之间设置桥CA也可以实现跨CA认证,桥CA作为连接桥梁,通过互相颁发交叉认证证书的方法与多个信任域建立信任关系。相比多CA之间的交叉互认,建立桥CA的方式便于发现信任链路径,但是需要维护大量不同结构的证书,管理比较复杂。
(4)跨异构信任域认证困难问题:除了PKI体系内的跨CA互信问题,随着IBC的应用,如何实现PKI和IBC之间的跨异构信任域认证也成为了网络信任体系建设面临的困难问题。目前,尚未出现实用、完善的PKI域与IBC域之间的跨异构信任域认证协议。一些异构跨域身份认证方案和密钥协商协议还面临计算效率、通信负担、信任等级等方面的问题,无法完全实现PKI域与IBC域之间的互联互通和无缝认证。
(5)隐私性问题:基于公钥密码的身份认证体系将网络实体身份与公钥进行关联,缺乏隐私保护手段,在一定程度上泄露了网络实体身份信息。如在车联网、自组织网络(ad-hoc networks)等需要防止网络实体行为被追踪的场景中,如何增强隐私性显得尤为重要。
2 区块链技术概述
区块链是一种分布式账本技术,具有去中心化、不可篡改、不可伪造、全程可追溯的特点,最初应用于以比特币为代表的数字代币场景中。随着技术的发展,区块链在全球学术界和产业界掀起了新一轮的研究热潮,已在金融、政务、司法等领域广泛应用。
2.1 区块链定义
2008年,区块链技术首次出现,随后成功应用于比特币系统。历经十余年的发展,区块链在不断完善的技术演进过程中,已经在政务、金融、司法等众多领域中落地应用。作为一种新兴技术,区块链迄今为止尚没有形成行业统一定义。本文对国内外4个相关标准、技术白皮书有关区块链技术的定义进行总结,如表1所示。
2.2 区块链工作原理
本质上,区块链核心目的是实现分布式网络中的一致性,即确保网络中所有节点保存一份相同的有效交易视图,工作原理如图1所示。
图1 区块链工作原理
流程1交易产生与传播:在P2P网络中,用户将待写入区块链账本中的数据以交易的形式发布到网络中,通过Gossip协议传播至全网。交易通常包括待写入的数据、提交者身份、提交者的数字签名以及时间戳等信息。网络中的记账节点收到待写入区块链的交易,对这些交易进行验证,验证内容包括交易格式是否正确、签名是否合法、是否与已经写入区块链中的交易存在冲突等。
流程2区块生成:区块由区块体和区块头两部分组成。区块体包含待提交的合法交易,以Merkle树的结构存储。区块头包含记账节点本地保存的区块链中最末区块的摘要值、待写入交易Merkle树的根、共识机制参数、时间戳、版本号以及区块生成者对新区块的签名等信息。当前区块链最末区块的摘要值用以标定新区块在区块链中的唯一位置。根据区块链采用的共识机制的不同,区块生成过程可以分为两类:流程2.a网络中的记账节点按一定共识策略选出一个主节点,将待写入交易进行打包,生成新区块,之后将新区块广播到网络中;流程2.b网络中的记账节点各自均可生成区块并广播。网络中的其他节点根据共识协议,选择并确定唯一一个区块添加到区块链上。
流程3区块确认:记账节点收到新区块后,对区块的结构,包含的交易、签名和时间戳等信息进行一一验证。根据预设策略,判断新区块是否合法,并更新本地区块链。一般记账节点会选择最长的、有效的区块链。
2.3 区块链技术特点
区块链是分布式存储、密码学、共识机制等多种技术的创新型组合,在理论发展和实际应用中,逐渐显示出诸多技术优势。综合区块链技术定义和工作原理,区块链技术特点总结如下。
(1)去中心化、分布式:去中心化是早期区块链技术应用最显著的特点。不同于依赖中心节点构建的系统,区块链系统依靠数据备份冗余保证安全性,不再受到单点故障的威胁,在多种应用场景下解决了过度依赖可信第三方带来的成本高的问题。随着应用模式的变化,区块链逐渐从完全开放的公有链,发展出依赖授权的联盟链,仍然具有分布式的特点。
(2)不可篡改、不可伪造:区块链技术巧妙地利用哈希函数、数字签名等密码技术构造交易和链式结构,并结合共识机制,确保数据一经验证达成共识并被写入区块链后,任何人无法对数据进行修改和伪造。
(3)全程留痕、可追溯:在区块链中,交易的每次变更都会按照时间顺序被记录。全网所有节点共享交易记录,可以查询交易从发布源头到最新状态之间的整个变更流程。新老交易通过哈希函数前后关联,任意一条数据皆可通过链式结构,实现异常交易的精准定位和追踪溯源。
2.4 区块链应用于网络信任体系建设中的优势
(1)分布式结构防止单点故障:区块链应用于身份认证与管理领域,既可以采用联盟链结构实现多CA的协同管理,也可以以完全去中心的公有链为基础,实现完全自主的身份管理。两者均通过共识机制完成身份证书或信息的账本同步,从而规避传统PKI面临的单点故障问题,抵御中间人攻击。
(2)可构建多CA互信:在对等网络基础上,区块链以区块的链式结构聚集数字证书,以区块链数据同步的形式共享不同信任域的证书信息和证书路径,为实现跨CA认证提供了便捷条件。同时,区块链的不可篡改性和可追溯性可以保障认证记录的安全可靠。区块链也可以在多CA之间建立信任关系,对不同CA的认证记录提供精确、可靠和不可篡改的存在性证明,保证证书的真实可信。
(3)一致性可抵御网络分裂攻击:区块链技术通过共识机制保障多节点之间账本的一致性,有助于实现证书日志在CA、证书依赖方、证书服务器等多节点之间共享和同步。一旦新提交的证书经过多节点验证并达成共识最终被记录在区块链上,证书就无法再被删除或修改。
(4)简化证书验证与撤销流程:在每次建立TLS连接时都需要对证书进行验证。这个验证过程包括信任路径的构建和吊销检测两个阶段。目前,证书验证主要负担在客户端。使用区块链存储证书,证书在提交和申请状态变更的过程中,仅需要区块链节点进行验证并完成共识之后被记录在区块链上。当证书依赖方需要验证证书时,就可以摆脱繁琐的证书链构建过程,直接查验证书是否在区块链上即可。区块链同样可以消除证书依赖方对于CRL和OCSP等服务的依赖,提供统一的证书吊销和查验方法,并可以保护证书依赖方的隐私。
(5)结合密码技术保护身份隐私:为了保障证书用户和证书依赖方的隐私数据,证书状态数据和证书使用情况等日志记录不应该对所有参与方可见。但是,由于政策监管和技术问题,证书数据可能对部分参与方可见。
3 区块链在网络信任体系中的应用
作为一种新的“信任机器”,区块链可以在多个互相不信任的节点之间构建相互信任、相互协同的桥梁,也为解决网络中的信任问题提供了新的技术思路。自2011年开始,各国学者开启了利用区块链技术构建网络信任的技术探索,先后将区块链应用于去中心化域名管理、去中心化PKI、证书日志管理以及跨域认证4个技术方向。
3.1 基于区块链的去中心化域名管理
随着以比特币为首的区块链应用的全球推广和大规模应用落地,区块链正在成为构建去中心化系统和应用程序的通用基础架构。基于区块链的域名管理系统成为区块链技术在网络信任体系的第一次探索。
早在2011年4月,Namecoin项目诞生,作为首个区块链在网络信任体系中的应用项目,Namecoin 基于区块链构建全球范围的去中心化DNS系统,避免对单一实体的信任依赖。实质上,Namecoin是比特币的一条侧链,它通过增加一些特殊的交易命令,完成域名注册、更新和转移等功能。用户通过name_new命令将新域名的摘要值发布到区块链上,作为对新域名的预订。等待新域名预订交易被记录在区块链上之后,与之对应的name_firstupdate域名注册命令在验证通过后也会被记录在区块链上,从而完成域名注册。
受到Namecoin的启发,普林斯顿大学的学者于2016年提出一种DNS与PKI融合的系统Blockstack,并在比特币区块链上部署实现。为了应对区块链的容量限制,Blockstack将控制层和数据层分开。区块链上仅保存最小化的身份信息和状态转移的元数据,完整的数据存储在链下的数据库中。控制层包含注册可读性名字、创建名字与摘要的绑定信息、创建绑定信息与密钥对的映射关系。
基于区块链的去中心化域名管理方案的核心思想是将域名信息以“name-value”键值对的形式记录在区块链上,通过共识机制确保全网所有节点持有一致的域名状态库,并实现对域名全生命周期的维护和管理。尽管后续方案在数据存储容量、安全性等角度进行了优化,但是,基于区块链的去中心化域名管理方案仍然面临与传统DNS系统难兼容等现实问题。
3.2 基于区块链的去中心化 PKI
随着应用研究的深入,区块链技术在网络信任体系建设中的技术优势也初步显现。继DNS之后,PKI作为构建网络信任体系的重要技术基础设施,逐渐成为学术界探索区块链应用的重要研究热点,也出现了许多技术方案。
2014年5月,麻省理工学者在Namecoin的基础上,提出了一种基于区块链的分布式PKI方案——Certcoin。Certcoin 是区块链在PKI领域的首次应用,方案吸纳了透明证书和信任网络(Web of Trust,WoT)的优势,将区块链作为一个公开的账本,实现域名与公钥之间的绑定,支持完全的公开审计,基本架构如图2所示。Certcoin包含线上和线下两对密钥对。线上密钥对直接与身份绑定,用于证书认证,实现注册密钥、查询、验证和撤销。线下密钥用于撤销线上密钥对,通过旧私钥对包含新公钥的消息进行签名来实现密钥的更新。
图2 Certcoin 区块链基本架构
随后,基于区块链进行隐私保护的PKI方案,即PB-PKI在Certcoin方案的基础上用线下密钥对线上密钥进行保护,但没有将身份与公钥直接关联,从而提升隐私性。PB-PKI提供短期密钥更新和用户可控的公开功能,使用户可以自行选择公开公钥或者由参与共识的大多数节点来公开。
但是,在不依赖于CA的完全去中心化的网络信任框架下,对于首次加入系统注册的网络实体无法进行有效验证,也没有密钥丢失、被窃取后的补救方案,无法进行身份回收。另外,每个网络实体选择信任锚的方式也非常主观,存在一定安全风险。因此,一些研究通过计算信誉函数来优化基于区块链的身份系统,通过合理定义和选择信誉函数,保证信任评估的公平性和安全性。
3.3 基于区块链的证书日志管理
为了更好地与现有的PKI体系相结合,一些研究也尝试利用区块链技术优势对以CA为核心的PKI体系进行优化。其中一个重要的研究方向是将区块链融入基于日志的PKI体系中,由信任单一日志节点转向依靠分布式证书日志管理,从而优化证书日志,强化PKI日志安全。一方面,在基于日志的PKI体系中,区块链技术的引入可以解决证书日志服务器的单点故障问题;另一方面,借助区块链技术构建信任网络,可以降低对CA机构的绝对依赖,增强证书日志服务的健壮性和可审计性。
在基于证书透明度的Web PKI方案基础上,基于区块链的证书/撤销透明度方案被提出,可以兼容X.509证书。证书由CA签名,证书的注销状态信息由网络实体以交易的形式发布到区块链上,记账者将验证通过的交易提交到一个全球证书区块链中。证书区块链作为一种只增不减的公共日志来监视CA证书的签发和注销,并授予网络实体对其证书的控制权限,以削弱CA机构对证书的绝对控制。区块链中的证书交易结构如图3所示。
图3 基于区块链的证书/撤销透明度方案模型
网络实体拥有两对密钥:一对是证书中包含的公私钥对,记为证书密钥;一对是用于发布证书的密钥对,记为发布密钥。方案包含两种证书交易类型:一种是网络实体用自己的发布密钥对签名的交易,用于定期发布证书;另一种是用于初始化和重置发布密钥对的交易。具体的用户注册、证书颁发、证书更新、证书验证、证书撤销过程如下。
(1)用户注册:新用户发布注册交易Tx_0,声明自己的发布密钥。新用户需要委托其信任的、一定数量的、已经加入网络的实体对自己的发布密钥进行签名。
(2)证书颁发:注册完成后,用户在链下向其信任的CA发送证书请求,经CA审查后为其制作证书Cert_0。为了进一步削弱CA对于证书的控制权,制作好的证书由网络实体自己以交易的形式发布到区块链上,附带完整的证书链,并用其发布密钥对交易进行签名。
(3)证书更新:同样由CA在链下更新网络实体的证书,再由网络实体自己向区块链提交证书更新交易Tx_2来完成。交易中需包含旧证书Cert_0摘要和新证书Cert_1。
(4)证书撤销:过期的证书或者因遭受攻击而颁发的欺诈性证书需要进行证书撤销,同样由CA在链下进行撤销,并由网络实体以交易的形式发起。证书撤销交易Tx_3需包含用户ID、待撤销的证书哈希值、最近一次该用户证书日志交易的摘要以及交易的签名。
(5)证书验证:在建立网络通信连接时,证书依赖方需要验证与其通信的网络实体的证书是否合法,通过智能合约来实现。
此外,一些研究尝试改造区块链,更好地实现对PKI证书日志的优化。CertChain采用Ouroboros区块链中的共识协议,从而消除PoW共识的安全问题,并且利用激励机制奖励CA和记账者的诚实行为,强化证书日志管理的安全性。KORGAN通过基于动态门限签名优化PBFT共识协议,进而简化证书验证过程。CertLedger是一种基于公有链的PKI证书透明度框架,所有的证书验证、存储、完整的撤销过程均在CertLedger和可信CA证书管理系统中进行。CertLedger方案中设置了一个可信组织,通过门限机制来管理受信CA。
尽管多项研究成果提出采用区块链技术优化证书透明度、强化PKI证书日志的安全性,但是这一系列方案仍然面临仅能被动查验、审计恶意行为,诚实节点被污染或破坏后难以发现和处理,密钥丢失、被窃取或遭到破坏后难以恢复和更新等问题。
3.4 基于区块链的跨域认证
在大型网络中通常采用PKI建立实体之间的信任关系。但是,不同终端实体的证书由不同的CA颁发,这就为跨根CA信任互联增加了难度。为了解决这一问题,基于联盟链的跨域认证模型相继出现。不同的根CA将各自信任域内的证书状态变更信息提交到区块链上,经共识节点验证通过后被记录在区块链上,其一般框架如图4所示。
图4 基于联盟链的跨域认证模型
在传统模式下,实体A与实体B进行身份认证需要寻找一条证书链。若采用交叉互认方式,证书链包含7个证书;若采用桥CA方法,证书链包含9个证书。而采用联盟链的方式,实体A请求验证实体B的身份,只需要在联盟链上查找实体B的当前证书状态,避免了复杂的证书路径寻找过程,减少验签次数,提高证书验证效率。
除了在PKI体系内的跨域认证,区块链还为实现跨异构域认证提供了解决思路。目前,这类方案尚处于理论阶段,研究成果主要集中在将区块链应用于PKI域和IBC域之间的跨域认证,力求实现更加完全的跨域认证方案。
基于区块链的跨异构信任域认证方案由若干区块链域代理服务器(Blockchain Domain Agent,BCDA)、区块链证书服务器(Blockchain Certificate Authority,BCCA)、PKI域的证书验证服务器(Certificate Authentication Server,CAS)和IBC域的身份验证服务器(Authentication Server,AS)共同组成联盟链,如图5所示。
图5 基于联盟链的跨异构信任域认证模型
其中,BCDA、BCCA 节点用于验证新节点,并进行数据同步。BCDA参与IBC域中私钥生成中心(Private Key Generation,PKG)的密钥生成。BCCA用于生成自身证书和BCDA的域代理证书,每个信任域需要指定一个BCCA。
方案将PKI域和IBC域之间的跨域认证分为两种情况:一种是PKI域内实体验证IBC域内实体的身份,通过PKI域对应的 BCCA,为IBC域内的请求方生成临时证书;另一种是IBC域内实体验证PKI内实体身份,通过IBC域对应的BCDA为PKI域内的请求方生成临时身份。临时证书和临时身份作为网络中的认证凭证被保存在区块链上,可支持重复认证,进而提高认证效率。
尽管该方案不依赖CA、密钥分发中心(Key Distributed Center,KDC)等作为可信第三方,规避了中心节点带来的单点故障问题,但是方案在认证过程中多次采用公钥加密,带来了计算量上的负担。
区块链还被尝试应用于实现更加完全的跨域认证方案。BTCAS(Blockchain-Based Thoroughly Cross-Domain Authentication Scheme)是一种基于区块链的完全跨域认证方案,由每个信任域中的认证服务器(AS)组建联盟链,记录域、域内AS和用户的公钥、身份状态等信息,通过区块链实现基于不同密码体制信任域之间的身份信息共享和跨域认证。域信息包含域代理服务器公钥的哈希值、选取的签名算法和哈希算法。域实体的信息包括实体公钥的哈希值、所在域代理服务器公钥的哈希值以及身份状态信息,其具体工作原理如图6所示。
图6 BTCAS 完全跨域认证模型
4 区块链用于信任体系面临的挑战
区块链在网络信任体系中的应用探索历经十余年发展,先后诞生了多种技术路线和研究方向。然而,区块链作为一种新兴技术,应用于大规模网络下的信任体系构建还面临区块链自身技术问题,现有研究成果具有应用局限、技术标准滞后等问题。
4.1 区块链自身的技术问题
在从数字货币向其他行业不断探索的过程中,区块链技术本身也在不断发展和完善,但仍存在技术问题,有待解决。
(1)区块链的安全问题:区块链安全与否直接影响网络信任体系以及其上建立的网络系统的安全性。共识机制是决定区块链安全与否的关键组件。部分区块链中使用PoW、PoS等共识机制仅能实现弱一致性,存在软分叉的情况。而PBFT、Algorand 等共识协议虽然能够实现强一致性,但是也会带来较高的网络通信代价和时延。一些方案通过智能合约实现用户身份存储、变更、验证,但在实际开发过程中,智能合约因逻辑漏洞、代码漏洞、混乱调用等原因也面临安全问题。在完全去中心化的区块链系统中,密钥管理潜在安全风险,一旦用户的密钥丢失或被窃取,将难以找回或重置,这将导致密钥对应的用户身份被冒用、滥用。因此,区块链还需要探索完善适用的密钥管理方案。
(2)区块链效率问题:区块链效率一直是制约区块链技术大规模应用的主要因素。一方面,区块链的交易处理速度较慢,而且达成共识并确认交易的时延较长;另一方面,为实现可追溯性,区块链上各主节点一般保存链上全量数据。特别是在PKI体系下,区块链系统需要保存大量的X.509证书信息,将面临严重的存储负担。同时,由于区块链采用Key-Value存储,支持的查询条件单一,对于复杂条件查询效率较低。
(3)区块链的互操作问题:与跨CA认证相似,如何实现跨区块链网络的身份认证与互联互通,也将成为区块链与网络信任体系研究的重要问题。跨区块链通信还需要关注交易原子性、跨链信息验证以及安全性等问题。
4.2 现有研究成果的应用局限
综合现有研究成果,区块链在网络信任体系中的应用多集中于PKI体系、跨域认证等方面,对基于口令、智能卡、令牌、生物特征等多种认证方法的研究和支持相对较少。多数方案仅提供了单项认证机制,能否平凡地适用于双向认证还有待研究。另外,尽管区块链与PKI体系的结合可以增强用户身份的可信性,实现全流程监管。但是,在PKI体系中,CA作为中心节点,一旦受到攻击,使虚假信息上链,将给区块链系统的安全性带来重大冲击。多数方案基于Hyperledger Fabric、Bitcoin等开源区块链架构实现,是否支持国产化环境,实现自主可控,适应云计算、大数据、物联网等场景,还有待进一步的研究。
4.3 技术标准的滞后性
相比于传统的身份认证技术标准,区块链相关标准还处于体系建设的初步阶段。区块链应用于网络信任体系,特别是应用于身份认证领域的技术标准更是处于萌芽阶段。尽管W3C、ITU、IEEE等国际组织已经着手制定分布式数字身份相关技术标准,但是国内在这一领域的标准研究还留有空白。由于缺乏基础性、技术性、指导性的技术要求规范、应用指南和测评要求,难以指导区块链在网络信任体系中的应用。形成一整套具有引导性的标准体系仍有待时日。
5 总结与展望
在国内外安全形势日益严峻的今天,网络信任体系显示出至关重要的基础性地位。区块链技术以其分布式、不可篡改、不可伪造、可追溯等技术特点,在网络信任领域中的应用优势愈发明显,在建设去中心化域名管理系统、构建去中心化PKI体系、增强PKI日志管理透明度、实现跨域认证等方面均有研究应用。然而,任何新兴技术的广泛应用都不是一蹴而就的,区块链技术在网络信任体系应用过程中,还面临安全、效率、国产化等诸多问题。随着区块链和身份认证技术的不断发展,相应的政策、标准将更加完善,区块链应用于网络信任体系建设必将日趋完善。