微软|区块链在网络信任体系中的应用研究( 七 )


基于区块链的跨异构信任域认证方案由若干区块链域代理服务器(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存储 , 支持的查询条件单一 , 对于复杂条件查询效率较低 。