基于区块链的PKI数字证书系统

2017-11-16 05:44阎军智彭晋左敏王珂
电信工程技术与标准化 2017年11期
关键词:数字证书切片证书

阎军智,彭晋,左敏,王珂

(中国移动通信有限公司研究院,北京 100053)

基于区块链的PKI数字证书系统

阎军智,彭晋,左敏,王珂

(中国移动通信有限公司研究院,北京 100053)

本文提出了一种基于区块链技术构建PKI数字证书系统的方法,利用区块链去中心化、不可篡改等特点,解决了传统PKI技术中存在的单点失败问题以及多CA互信难等问题,可降低传统PKI技术中CA中心建设、运营及维护成本,提高证书申请及配置的效率,提升用户使用体验。该系统作为安全基础设施可以应用于多个领域,如4G小基站设备认证、网络切片认证、多CA互信等。

PKI;数字证书;区块链

1 背景

PKI(Public Key Infrastructure,公钥基础设施)是一种使用公钥密码技术支持认证、加密、完整性和不可否认服务的安全基础设施,在互联网和移动互联网中均得到广泛使用,未来5G通信网中也可能扮演重要角色。近年来,我国电子认证服务业数字证书持有量持续增长,并且仍有较大的增长空间。

传统PKI技术中,CA中心(Certificate Authority,证书认证机构)是信任的起点,只有信任某个CA,才信任该CA给用户签发的数字证书。但在具体应用中,PKI技术存在如下问题:

单点失败问题:处于核心的CA极易遭受攻击,一旦被控制,CA根证书以及该CA已经签发的证书都不再可信。

多CA互信难问题:用户证书只能由所属CA的根证书进行验证,不同CA之间不能相互验证,现有CA互信解决方案适用性受限。

在现有的PKI实践中,解决CA互信问题的方法有权威CA列表、CA交叉认证、桥CA等。这3种方式都存在一定的应用限制:

权威CA列表:对依赖方有较高要求,且权威列表本身的维护代价较高。

CA交叉认证:当CA数量较少时可以很好地解决CA互信问题,但大量CA两两进行交叉认证时,就会形成复杂的网状结构,且证书策略经过多次映射之后会使证书用途大大受限。

桥CA:该方案类似现实生活中行业协会中介的信任关系,CA数量较多时可以避免两两交叉认证的弊端,但桥CA运营方的选择是个难题,它的可信程度直接决定了互信关系的可靠程度。

此外,用户在配置和使用证书时,需要首先向CA中心申请证书,CA中心签发证书后,用户需要将签发的证书配置或安装至目标设备或服务器中。在一些需要批量操作的场合,由于私钥和证书的个体差异,导致批量配置设备证书效率较低。

区块链技术使用分布式数据存储、共识机制等技术,提供了以去中心化方式建立信任关系的思路与方案,引起了众多行业的广泛关注,区块链技术正在应用于越来越多的业务场景中。目前已有EMCSSL、CertCoin等基于区块链的PKI技术应用,可以实现去中心化的认证方式,美国科技公司Pomcor也提出基于区块链的PKI系统,该系统仍然采用中心化的认证方式,使用区块链存储已发布或撤销证书的散列值[1-3]。

本文利用区块链技术构建了一种PKI公钥基础设施,将数字证书以区块链的方式进行存储和验证,可以实现PKI去中心化,避免单点失败问题,并且可以解决多CA互信的问题,同时可以提高证书配置效率。

2 基于区块链的PKI数字证书系统

2.1 系统架构

基于区块链的PKI数字证书系统如图1所示,其中包含证书用户、证书验证节点、证书依赖方。其中证书验证节点用于验证用户新申请证书的合法性,产生新区块;证书用户是数字证书的实际拥有者;证书依赖方指的是信任证书系统的使用者。

图1 基于区块链的PKI数字证书系统

系统中的区块包含区块头和区块体两个部分,其中区块头包含父区块的散列值、时间戳、Merkle根等信息,区块体中包含若干条记录,每一条记录包括数字证书以及该证书相应操作执行后的证书状态。

2.2 主要流程

与传统PKI技术类似,基于区块链的PKI系统也涉及证书申请、证书签发、证书更新、证书吊销、证书验证流程。

2.2.1 证书申请流程

证书用户自己生成一份数字证书,该证书可采用国际标准的X.509格式,且在扩展项中增加一个标识,用于标识该证书所属的区块链网络;与证书相应的私钥存储于用户侧。

证书用户向区块链网络发起证书申请请求,该请求中包括用户的数字证书,以及验证证书所需的信息。如果证书实体用户申请的是个人匿名证书,则无需提交其他信息;如果证书实体用户申请的是个人实名证书,则需提交用于证实其身份的信息。

2.2.2 证书签发流程

验证节点收集用户的证书申请请求,根据用户提交的信息验证证书的合法性;

验证节点将当前所有未纳入区块的合法证书信息以及证书状态作为区块链中的记录,使用区块链中的共识机制生成一个新区块;

验证节点向区块链网络发布该新区块;

网络中其他验证节点接收到新区块后,验证区块以及区块中每条记录的正确性,如果正确,那么将该新区块加入到本地保存的区块链中;否则丢弃该新区块。

2.2.3 证书吊销流程

证书实体用户提交证书吊销请求,该请求中包括用户的证书信息,以及证实用户身份的信息(例如用户的签名信息);

验证节点收集用户的证书吊销请求,根据用户提交的信息验证用户身份;

验证节点将当前所有未纳入区块的合法证书信息以及证书状态作为区块链中的记录,使用区块链中的共识机制生成一个新区块;

验证节点向区块链网络发布该新区块;

网络中其他验证节点接收到新区块后,验证区块以及区块中每条记录的正确性,如果正确,那么将该新区块加入到本地保存的区块链中;否则丢弃该新区块。

2.2.4 证书更新流程

(1) 当用户需要更新证书时,用户需要产生一份新的数字证书,该新产生的证书与原有证书具有相同的DN(Distinguished Name)项。

(2) 证书用户向区块链网络发起证书更新请求,该请求中包括用户待更新的数字证书,新产生的数字证书,以及验证证书所需的信息。如果证书实体用户申请的是个人匿名证书,则无需提交其他信息;如果证书实体用户申请的是个人实名证书,则需提交用于证实其身份的信息。

(3) 后续流程与证书签发流程相同。

其中,证书申请、证书更新、证书吊销的过程是将证书及其状态信息发送到区块链网络,由验证节点进行共识的过程,证书签发本质上则是将证书记录到区块链的过程。

2.2.5 证书使用流程

在证书使用过程中(例如现有的TLS、IPSec等安全协议),证书用户需要将证书提交给依赖方,依赖方接收到证书后,需要检查证书的合法性和有效性。

(1) 如果依赖方存储有完整的区块链信息,那么可以在区块链中查找证书以及证书的状态:若证书最新的状态显示为证书正常,则证书合法。

(2) 如果依赖方本地无区块链信息,那么可以向区块链网络发起证书查询请求,请求中包含待查询的证书信息;区块链中的节点向依赖方反馈查询结果,查询结果中包含待查证书的最新状态信息。

(3) 依赖方根据查询结果判断证书的合法性。对证书有效性验证包括证书是否处于有效期,证书名称是否与声称的名称一致等。

2.3 扩展功能

在上文提到的架构中,如果将验证节点限定为特定CA机构,即以联盟链的方式,由CA通过共识完成用户证书的验证工作。经过共识的证书将记录到区块链当中,那么这些证书就被区块链中得所有CA认为是可信的证书。图2是一种使用区块链解决多CA互信方案的示意图,较图1相比,该架构中的验证节点由CA承担。该解决方案中主要流程与上文类似,此处不予赘述。

图2 多CA互信方案示意图

3 应用案例

3.1 4G小基站认证

4G小基站(又称为HeNB,Home evolved Node B,家庭演进基站,简称家庭基站)是一种利用小型化、低功率蜂窝技术,通过固网宽带接入到移动核心网,为用户提供包括传统蜂窝移动通信基础业务在内的固定移动融合业务。目前3GPP已经明确定义了HeNB的认证方式,要求HeNB与安全网关之间采用数字证书进行设备双向认证[4]。因此,4G小基站在入网提供蜂窝移动通信服务之前,需要向CA申请并配置数字证书。

在传统的PKI技术中,可以通过CMP(Certificate Management Protocol,证书管理协议)[5]等方式进行数字证书的在线申请以及证书更新[6]。此外,也可以由设备商或用户直接向CA申请证书,之后将证书配置到4G小基站中。

但上述两种方式都需要向CA中心提交申请,之后等待CA中心的响应,直至获取到CA中心签发的证书以后,才可以将证书配置到设备当中。利用本文提出的区块链PKI数字证书系统,设备商可以在小基站生产阶段自行产生和配置证书,在设备出厂或入网的时候,将设备的证书信息上报至区块链PKI数字证书系统,如图3所示。采用此种方式可进行大批量的证书配置,可提升证书配置效率。

图3 4G小基站证书申请流程

4G小基站在启动之后,需要与安全网关进行双向身份认证。安全网关在获取4G小基站的证书后,需要对小基站证书的合法性进行验证,包括证书名称与小基站ID是否匹配,证书是否处于有效期,证书是否被吊销等等。图4描述了4G小基站与安全网关之间的认证流程,该流程中,仅第5步与传统方案[4]有所区别。其中步骤5.1至步骤5.3即上文描述的证书使用流程。

3.2 网络切片认证

切片是5G的重要特性之一,针对不同业务场景(MBB、海量物联网等)的需求,以切片形式为UE提供网络功能和配置的集合,使得运营商能够基于垂直行业的需求创建定制化的专用网络。端到端的网络服务可能需要位于多个国家多个运营商的切片进行互联,共同提供无缝的跨国家域、跨业务的5G业务。

切片间通信需要进行安全保护,安全信道的建立可采用数字证书技术实现,但不同运营商的切片通常使用不同CA签发的证书,在建立CA互信之前,无法实现相互认证。

图5是多个切片互联场景中使用上述联盟链进行认证的示意图,配合切片间连接的弹性变化,可以方便地建立不同CA间的互信,从而支持跨运营商切片业务灵活、安全、快速开展。

4 方案分析

本文利用区块链去中心化、不可篡改等特性,在区块链上构建了一种PKI数字证书系统,该系统继承了区块链自身固有特点,并且相对于对传统PKI技术具备多方面的技术优势。

4.1 去中心化解决单点失败问题

基于区块链的PKI数字证书系统由若干验证节点、证书用户、以及依赖方共同组成区块链网络,无中心节点。一个或多个节点出现故障或遭受攻击均不影响整个系统的运行。

4.2 降低PKI技术使用门槛

企业或个人在使用PKI技术时,无需向第三方CA申请证书,也无需单独部署CA系统,加入该区块链PKI数字证书系统,即可使用该系统提供的证书服务。可有效节约向第三方CA申请证书的费用,解决建设、维护、以及运行CA系统所需的费用。

4.3 提升PKI技术使用体验

图4 基于区块链PKI系统的4G小基站认证流程

图5 基于联盟链的跨运营商切片间认证示意图

本文提出的系统改变了证书签发与配置逻辑,即由传统的“CA签发证书、设备配置证书”改变为“设备签发并配置证书、区块链PKI系统发布证书”,将传统方案中的证书申请与获取的交互过程,改变为证书单向提交的过程,有利于设备在生产线批量生成和配置证书,提高证书配置效率。

5 小结

为适应5G和物联网技术的发展、响应国家“互联网+”战略,运营商必将面临全新的产业生态环境。一方面,运营商内部网络与业务系统优化、不同系统之间需整合和优化,不同运营商之间互通合作更加密切(如切片联盟);另一方面,运营商面对更加众多的产业合作方,必须通过技术手段加强安全的互信合作。基于区块链技术的PKI公钥基础设施,构建了一种全新的数字证书体系,兼备PKI和区块链的优势,成为运营商对内优化流程、对外协作的安全方案平台,必将发挥越来越大的作用。后续,作者将重点研究基于区块链的数字证书体系的性能提升方法,包括更高的事务处理能力、区块链数据安全及访问控制、优化的共识算法等内容。

[1] EMCSSL. Decentralized identity management, passwordless logins,and client SSL certificates using Emercoin NVS[EB/OL]. (2015-05-01).

[2] FROMKNECHTC, VELICANU D, YAKOUBOV S. CertCoin: a namecoin based decentralized authentication system[Z/OL].(2014-05-14). http://courses.csail.mit.edu/6.857/2014/files/19-fromknecht-velicann-yakoubov-certcoin.pdf.

[3] LEWISON K, CORELLA F. Backing Rich Credentials with a Blockchain PKI. October2016[Z/OL]. (2016-10-24).http://pomcor.com/techreports/BlockchainPKI.pdf.

[4] 3GPP. Security of Home Node B (HNB) and Home evolved Node B (HeNB):TS 33.320[S]. 2015.

[5] IETF. Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP):RFC 4210[S]. 2005.

[6] 3GPP. Network Domain Security (NDS); Authentication Framework(AF):TS 33.310[S]. 2017.

Blockchain based PKI certificate system

YAN Jun-zhi, PENG Jin, ZUO Min, WANG Ke
(China Mobile Research Institute, Beijing 100053, China)

Anestablishment method of blockchain based PKI certificate system is proposed in this paper.The blockchain based solutionfeatured with decentralization and temper-resistant could address the issuesof traditional PKI technology, such as single point of failure, difficulty in the establishment oftrust between different CAs. It could decrease the cost of CA deployment, operation, and maintenance, increase the efficiency of certificate enrollment and installation, enhance the user experience. The blockchain based PKI system could be used in many scenarios, such as HeNB authentication, network slicing authentication, and establishment of trust among different CAs.

PKI; certificate; blockchain

TN918

A

1008-5599(2017)11-0016-05

2017-10-11

猜你喜欢
数字证书切片证书
国家发改委:推动矿业权出让应用网络共享数字证书
WJCI 收录证书
CSCD收录证书
收录证书
收录证书
当心黑客利用数字证书的漏洞
基于SDN与NFV的网络切片架构
基于数字证书的军事信息系统安全防护方案
以数字证书为核心的信息安全技术之研究
肾穿刺组织冷冻切片技术的改进方法