摘要:当今时代,互联网技术迅猛发展,作为以互联网技术为基础的新技术——区块链技术,其去中心化、去信任、集体维护和不可篡改的技术特点引起了各行各业的广泛关注,尤其是对建立安全可靠的通信、避免信息系安全的隐患与风险、对移动互联社会的安全运行至关重要。公钥基础设施(PKI)是目前网络安全建设的基础与核心,是各类信息服务能够安全实施的基本保障,一个典型的PKI系统包括证书机构CA、PKI策略、数字证书库、证书撤销系统和PKI应用接口等。因此,为解决数字证书的各操作过程中安全问题,保证数字证书审计数据的不可篡改性、可追溯性和查询效率,本文通过对区块链技术在数字证书各场景中的应用,研究了基于区块链的证书审计设计与实现,将数字证书以区块链的方式进行存储和验证。
关键词:区块链;数字证书;审计
- 背景和意义
2008年,比特币之父中本聪首次提出了区块链的概念,接下来几年里,区块链成为了电子货币比特币所有交易的公共账簿。目前,区块链技术发展已经完全脱离比特币的范畴,独立的区块链技术平台正在兴起,基于底层的区块链技术平台的应用与行业也纷纷兴起,多个领域都开始运用这一技术,如[2-6]中的会计领域、云数据和物联网等,可以说区块链技术的序幕已经拉开。
当前,随着信息化时代的发展,互联网技术领域的变革正以更快的速度,更大的规模影响数字证书的相关操作。通过分析传统的证书审计场景,发现一个重大的安全隐患是PKI中的证书认证机构(CA)可能被攻击或进行恶意的操作[13]。如果依赖证书的客户端所信任的CA签发了含虚假信息、并并可被成功验证的数字证书,那么攻击者很容易进行一次中间人攻击,目前也发生了一些由于CA被攻击所造成的安全事件,所以对CA的数字证书操作行为进行审计是非常必要的。而现有方案如Certificate Transparency(CT)使用中心化的服务器完成审计,依然存在某单点服务器被攻击或作恶的风险。一些去中心化的解决方案仍然未能较好地解决恶意节点造成的错误而导致被攻击的问题。而区块链技术的出现与应用,为证书审计带来了发展的新机遇,目前已有EMCSSL、CertCoind等基于区块链的PKI技术应用[10]。本文结合区块链技术的特点,分析区块链技术的发展对数字证书产生的影响,研究基于区块链的证书审计设计与实现,并对未来区块链技术在数字证书的操作场景的运用前景展开讨论。
- 国内外发展现状
基于公钥基础设施联盟的安全系统,能够提供高和极高的保证级别来进行认证。因此,美国和中国都部署了最大规模的国际标准公钥基础设施联盟。它可以将用户身份链接到其他可信任的功能,如[17]中有法律支持的数字签字、链接身份的加密算法、建筑物的物理访问控制等。其中数字证书是利用密码学知识完成电子认证的凭证,在PKI中,CA负责签发数字证书,然而,数字证书的验证过程由于过于依赖认证中心问题而存在大量的安全漏洞,针对相关问题,研究人员提出了一些解决方案来加强数字证书的认证机制。目前的方案主要分为三种[13]:基于日志的认证方案、基于CA的信任分散方案、以及近年开始流行的基于区块链的方案。
区块链是以比特币为代表的数字加密货币体系的核心支撑技术,作为分布式账本数据库,可在互不了解的多方间建立可靠的信任,在没有第三方中介机构的协调下,划时代地实现了可信的数据共享和点对点的价值传输。为推进区块链技术的研究和应用,国内外先后成立了R3 CEV、超级账本项目(Hyperledger)和中国分布式总账基础协议联盟等区块链联盟。中国在区块链领域最为活跃的行为表现,就是国内金融机构对联盟链的布局与构建[18],通过打造区块链的技术、政策、应用的交流平台,推动国内区块链技术的研究和项目落地。其他各国政府机构也高度关注区块链的发展,加紧部署区块链发展战略与政策。
目前,区块链技术的发展还处在初级阶段,各方面技术还在不断发展与进步。但根据[7,14-16]中的讨论,依旧可以看出,区块链技术的发展,为诸多行业提供了发展改进的方向,数字证书的审计场景也不例外。区块链的技术特点及工作原理,使数字证书的操作过程具有了透明性、私密交易、不可篡改、可追溯和智能化等特征,而这些特质与审计的鉴证作用不谋而合,因此,区块链技术与数字证书的融合具有天然的基础。本文所研究的对基于区块链的证书审计的架构设计,便能很好解决传统证书分发解决方案中心化带来的安全风险,通过透明化审计保证证书的安全性,实现高效的存储和查询效率。
- 优势与缺陷
本文对PKI体系中对数字证书验证的安全需求进行分析,结合区块链的技术优势,研究基于区块链的证书审计技术。经过调研发现,目前存在由于CA被攻击或作恶导致错误签发数字证书造成中间人攻击的问题,而针对这一问题的研究发现,区块链技术十分适合数字证书审计的场景。基于区块链的证书审计的系统架构设计,采用基于区块链存储CA操作证书记录的方式,各CA之间通过共识机制达成一致性,区块链上的信息通过密码学技术实现不可抵赖且可追溯,各个CA之间可以互相审计证书的操作记录,证书申请者和客户端也可对CA数字证书操作记录进行验证和审计,因此,不仅能够解决数字证书中心化带来的安全风险,解决了传统PKI系统中的中心节点性能瓶颈问题,还消除了根CA不可信以及树状结构维护成本高的问题,改变了数字证书的处理方式,提高工作效率,具体的优势分析如[10-11]中所述。
但与发展了近40年的传统数据库相比,区块链尚处于技术发展的初期阶段,基于区块链的证书审计系统也还有着很多不足需要克服:其一,比特币和以太坊的吞吐量远低于现有的数据库;其二,目前的区块链平台主要依赖底层数据库来提供事务处理,而底层数据库大多是没有事务处理能力的Key-Value数据库。单个节点上的智能合约执行失败会导致数字证书的数据不一致,必须从其它节点同步数据才能恢复到一致状态;其三,传统数据库可高并发地为成百上千的客户端提供服务,而区块链的节点没有针对高并发服务做优化设计,因而此系统也无法无法支持高并发的客户端访问;其四,传统数据库提供了丰富的查询语句和统计函数,而区块链通常存储在Key-Value数据库甚至文件系统,因此系统进行历史数据查询上很不方便;其五,传统数据库具有成熟的访问控制机制,目前大多数区块链平台的数据都是公开透明地全量存储在每个节点上,仅依靠签名与验证的安全机制,因此该系统还存在一定的安全隐患;最后,传统数据库通过横向扩展增加节点数,以线性的提高系统吞吐量、并发访问量和存储容量,而目前大多数区块链平台随着节点数的增加其系统整体性能反而在下降。
- 总结
本项目主要开展基于区块链的证书审计技术研究,首先介绍数字证书、PKI、区块链等相关技术,介绍了目前主流解决方案和发展状况,对目前在数字证书的审计中存在的安全问题等进行了阐述和分析。
