2024年3月20日发(作者:)

第38卷第2期

2021年2月 

计算机应用研究

ApplicationResearchofComputers

Vol.38No.2

Feb.2021

基于CFL认证体制的区块链系统认证机制研究

,3

舒展翔

,李腾飞

,余 祥

,李 强

(1.国防科技大学,合肥230037;2.61428部队,北京100072;3.国防科技大学,长沙410073)

摘 要:针对现有区块链系统认证机制存在的单点失效、弱身份认证等问题,研究了基于CFL认证体制的区块

FL体制基本原理的基础上,提出基于CFL的区块链系统认证技术;综合应用

π

演算链系统认证机制。在分析C

理论,建立基于CFL认证体制的区块链系统认证模型CFLBCAM。实验与分析结果表明,本方法能够为区块链

系统提供正确的、安全的认证服务。

关键词:区块链系统认证机制;CFL认证体制;认证模型;应用

π

演算

中图分类号:TP393   文献标志码:A   文章编号:10013695(2021)02004034709

:10.19734/j.issn.10013695.2019.12.0655doi

ResearchonCFLbasedblockchainsystemauthenticationmechanism

121,31

ShuZhanxiang,LiTengfei,YuXiang,LiQiang

(1.NationalUniversityofDefenseTechnology,Hefei230037,China;2.61428Troops,Beijing100072,China;3.NationalUniversityofDe

fenseTechnology,Changsha410073,China)

Abstract:Aimingattheproblemsofsinglepointfailureandweakidentityauthenticationintheexistingblockchainsystemauthen

,thispaperstudiedaCFLbasedblockchainsystemauthenticationmechanism.Basedontheanalysisofthebasicticationmechanism

principlesofCFLauthenticationsystem,thispaperproposedaCFLbasedblockchainsystemauthenticationtechnology.Combined

withappliedalculustheory,itestablishedaCFLbasedblockchainsystemauthenticationmodel,namedCFLBCAM.Experi

π

mentsandanalysisshowthattheschemecanprovideeffectiveandsecureauthenticationservicesforblockchainsystems.

Keywords:blockchainsystemauthenticationmechanism;CFLauthenticationsystem;authenticationmodel;appliedalculus

π

0 引言

[1~3]

区块链(blockchain)作为一种新型的去中心化计算范

式,是当前研究的热点。从区块链技术提出至今,越来越多的

区块链系统以及基于区块链技术的应用系统问世,并在商业金

融、医疗卫生、物流服务等领域得到了广泛的应用。然而,随着

区块链技术的发展,区块链系统的非实名、不受监管等成为无

法忽视的安全问题,由此带来的非法事务、恶意攻击等行为逐

4,5]

。认证技术渐成为制约区块链技术进一步发展的瓶颈

(authenticationtechnology)建立在信任的基础上,是解决信息

系统安全问题的关键技术手段,在信息安全领域占有极为重要

的位置。其中,函数认证技术以密码学理论作为安全根,提供

了基于随机数的计算复杂性和可证安全性,是当前主流的认证

6,7]

技术

。函数认证技术主要由公钥密码算法为基础的认证

体制构成,如PKI体制、IBC体制等,这些认证体制已被广泛地

应用于区块链系统的安全认证。近年来,国内外基于函数认证

8~11]

技术提出了许多面向区块链系统的认证方案

。其中,文

献[8]提出使用CA(certificateauthority)对比特币用户的身份

信息进行签名,并将签名值与区块链待生成事务区块的公钥地

9]址字段进行绑定,从而构建实名制的比特币区块链。文献[

设计了基于IBC体制的区块链认证模型BAVP,从安全交互的

角度验证了模型的有效性。文献[10]针对比特币区块链架构

缺乏有效身份管理机制的问题,在传统的PKI体制基础上结合

零知识证明理论,提出了适用于比特币区块链的匿名身份认证

hainAnchor。文献[11]采用群签名和零知识证明方法改模型C

进了PKI体制下的identitymixer证书结构,通过第三方的可信

CA产生部分匿名或全匿名的用户证书,使区块链使用者可以

通过出示这种证书获得访问区块链网络的权限。

在现有的函数认证体制中,PKI体制通常需要利用多层级

A对用户证书进行签名,产生一条可信的证书验证路径,的C

验证方需要对路径中的每一个CA(包括若干中间CA和一个

根CA)的签名有效性进行验证,从而判别用户身份的有效性;

IBC体制依赖一个可信的密钥产生中心KGC(keygeneration

)生成基于用户标志的非对称密钥对(sk,pk),并将该center

idid

密钥对通过安全的传输通道返回用户,验证方使用用户的pk

id

对用户消息签名的有效性进行验证,确认用户身份的合法性。

然而,这两种认证体制都依赖于一个可信的第三方(CA或

KGC)提供认证服务。这种中心化的认证服务提供机制在区块

链系统的分布式网络环境中主要存在三个问题:

a)单点失效问题。单点失效问题在认证技术中是指由提

供认证服务的中心设施被破坏而造成的认证结果失效的问题。

在区块链系统中,第三方的认证设施一旦发生宕机或者遭受恶

意攻击,容易造成全网认证服务的瘫痪和用户隐私的泄露。

b)弱身份认证问题。弱身份认证就是一种单向的身份认

证过程,即在参与身份认证的主体A、B中,A可以确定B的身

transaction)份,反之B无法确定A的身份。在区块链的事务(

交互过程中,事务发起节点通过向事务验证节点传递身份信

息,验证自身身份的有效性;反之,事务发起节点无法确认事务

验证节点的合法性,从而导致非诚意节点对区块链事务正确性

的破坏。

c)身份撤销/更新问题。身份撤销、更新问题是指区块链

系统在PKI体制下的用户证书更新或撤销的实时性问题,即区

  收稿日期:20191207;修回日期:20200127  基金项目:国防科技大学科研基金项目

  作者简介:舒展翔(1995),男,浙江青田人,硕士研究生,主要研究方向为区块链、信息安全;李腾飞(1993),男,安徽和县人,助理工程师,硕

1986),男,江西景德镇人,讲师,硕士,主要研究方向为软件测试、信息安全;李强(1962),男(通信作士,主要研究方向为网络与信息安全;余祥(

者),安徽合肥人,教授,硕士,主要研究方向为软件工程、信息安全(lychfeei@163.com).

 

块链系统的参与用户无法对自身证书进行及时、高效地修改或

8,10]所述,PKI体制下的区块链系统受到节撤销。如文献[

点通信环境、网络时延和区块同步机制的制约,难以完成实时

的证书更新或撤销操作。

由于这些问题的存在,现有的函数认证体制难以满足区块

链系统认证机制的实时性、安全性需求。同时,中心化的认证

服务机制与区块链技术的去中心化思想相悖,也在一定程度上

制约了区块链系统的工作性能。CFL是一种基于标志的证书

认证体制,其中C、F、L分别是三位发明人陈华平、范修斌、吕

FL认证体制于2011年首次提出,并于述望的姓氏首字母。C

[12,13]

2016年通过了国家密码管理局的审核。相较于现有的中

心化函数认证体制,基于CFL认证体制的实体身份认证过程

无须第三方参与,它具有去认证中心化、现场认证、自主认证等

特点。本文针对现有区块链系统认证机制存在的问题,对基于

CFL认证体制的区块链系统认证机制进行研究,结合基于标志

信息的证书验证技术和端到端的双向强认证技术,实现了区块

链系统用户、对等节点安全信任关系的建立。

 

1 技术基础

11 区块链系统

区块链系统是一种由多方共同维护,使用密码学保证传输

和存储安全,并且能够保持数据一致存储、防窜改、抗抵赖的分

2]

布式数据记录系统

,包括:a)区块链底层技术,如分布式存

b)区块链数储、非对称加密、时间戳、共识机制和智能合约等;

据结构,即全网或网络中某些组织共同维护的链式数据日志,

3]

这种数据结构通常被视为狭义概念下的区块链

;c)安全机

制,如身份认证、权限管理、隐私保护等。

为研究区块链系统认证机制的需要,对区块链底层技术、数

据结构和安全机制的身份认证等问题进行了研究。区块链底层

技术和数据结构是构建区块链系统、提供区块链服务的基础;区

块链安全机制则是由第三方组件构造的外设服务项,能够为实

际应用场景下(医疗、金融和征信等)的区块链系统安全问题

(如隐私问题、认证问题、监管问题等)等提供解决方案。

12 CFL认证体制

CFL认证体制由CFL发证机关、用户端和验证端组成,如

通过提交签图1所示。用户端自生成一组随机的工作密钥对,

名标志的方式,向CFL发证机关申请CFL证书;CFL发证机关

包含一组公/私钥种子序列,生成基于用户签名标志的签名私

FL证书;验证端则负责钥,并通过该私钥签名得到用户端的C

验证用户端证书签名的有效性。

第2期舒展翔,等:基于CFL认证体制的区块链系统认证机制研究

·349·

   

等式理论E上的等价关系;消息输入式u(x).P从通道u中读

取一条消息,并将此消息绑定到变量x之后执行进程P;消息输

出式

u〈M〉.P在通道u上发送消息M,并在随后执行进程P。

扩展进程用于描述和分析可被外部敌手捕获的进程资源。

扩展进程可使用朴素进程、项和函数标签等要素进行组合,其

中vx.A表示绑定在扩展进程A中的受限制的变量x;{M/x}表

示主动替换过程,即将变量x替换为与之接触的任何进程的项

M,这一动作也可表示为“letx=MinP”。

对于应用

π

演算的操作语义、推理规则和等值理论等,文

献[16,17]中有详细的介绍,此处不再逐一介绍。

区块链系统的认证机制可被简化为“对等节点i与对等节

点j”之间的消息并发交互过程,这一过程同样表示为端到端

的实体消息交互协议。因此,应用

π

演算非常适用于对区块

链系统认证机制的建模与分析。

2 基于CFL的区块链系统认证技术

区块链系统需要一个有效的身份认证服务供应方为参与

区块链数据交互过程的用户实体提供唯一的、可被第三方验证

的数字身份。针对现有区块链系统认证机制的不足,将CFL

认证体制集成到区块链系统中,提出了一种基于CFL的区块

链系统认证技术(简称CFL认证技术,下同)。

21 基本架构

CFL认证技术的部署结构如图3所示。下面分别对图3

中的各个组成部分进行描述:

CMN(committernode),提交节点。负责在区块链系统中

记录区块链事务并且参与事务正确性验证的共识过程,是区块

链系统的核心组成部分。

CLN(clientnode),用户端节点。负责与区块链网络的提

交节点(一个或多个)建立通信关系,创建、发送区块链事务申

请,订阅、接收区块链事务的交互事件(区块链事务的交互事

件指事务执行成功/失败的消息)。

SC(smartcontract),智能合约。部署在CMN上能够自动

执行区块链事务的计算机代码块。

CFLCGC(CFLcertsgenerationcenter),CFL发证机关。负

责接收证书申请并产生CFL证书,不参与区块链系统与用户

端节点的数据交互过程。

P2PNET(P2Pnetwork),分布式网络基础架构。区块链对

等节点实现互相通信的基本信道。

在图3中,CFLCGC组成区块链系统的身份认证与管理

模块,负责为CLN节点和CMN节点签发或撤销CFL证书。

CLN节点和CMN节点分别使用自身的CFL证书参与到区块

链数据交互过程(区块链事务提交或共识过程),在执行一次

区块链数据交互动作之前,交互双方必须通过CFL证书的有

效性验证,建立端到端的信任关系。

22 消息交互模式

在一般的区块链系统中,消息交互过程主要有:a)外部用

户与区块链工作节点之间的区块链事务交互过程,包括事务申

请、产生和验证;b)不同的区块链工作节点之间对于新产生事

务的传递和有效性验证过程,也就是共识(consensus)过程。

结合CFL认证的基本原理,提出了两种基于CFL的区块链系

统消息交互模式:

a)面向事务过程的用户身份认证模式。用户在参与区块

链事务过程之前,即向区块链网络发起事务请求之前,需要与

区块链事务的处理节点执行双向的身份合法性验证过程:用户

向事务交互节点(一个或多个)提交身份信息,同时,需要接收

节点的身份信息并进行验证,只有用户和节点同时认可对方的

身份,用户才能继续执行事务请求过程。这一交互模式的示意

图如图4所示。

b)面向共识过程的节点信任建立模式。区块链系统的工

作节点在产生区块链事务后,需要基于共识协议的执行完成事

务的一致性验证过程(即共识过程)。目前主流的区块链共识

协议包括PoW、PoS、PBFT和Raft等,这些共识协议在实现原

理上不尽相同。例如在PoW协议中,所有的节点通过对一个

随机的复杂问题进行求解,竞争事务区块的记账权;而在PBFT

协议中,则是由产生事务的节点将事务进行全网广播,在收到

全网2/3节点的许可应答后将事务打包为区块并上链。

从消息交互的角度出发,共识过程必须建立在至少n-1

对端到端的消息会话的基础之上(n为参与共识的节点数量),

整个共识过程可以视为由若干个独立的节点消息交互动作组

成。因此,节点在参与共识过程之前,通过验证彼此身份合法

性完成节点身份信任关系的建立,从而在双方身份互信的基础

上继续执行事务消息的传递过程。这样做能够有效地防范未

知节点参与共识过程,提高共识的安全性。基于CFL的节点

信任建立模式如图5所示。

23 协议设计

将CFL认证技术的协议过程分为注册、验证和注销三个

阶段。各阶段所使用的符号与定义如表2所示。

表2 CFL认证技术符号

Tab.2 SymbolforCFLauthenticationtechnology

符号定义符号定义

ID身份标志IDSK标志私钥

SK工作私钥IDPK标志公钥

PK工作公钥KCFL发证机关主对称密钥

ISK主私钥(种子私钥序列)R随机数

IPK主公钥(种子公钥序列)

  1)注册阶段 该阶段是对等节点PN向CFL发证机关

CFLCGC申请CFL证书的过程。如图6所示,PN向CFL发证

机关发送证书申请,并接收CFL发证机关签发的CFL证书

Cert

PN

a)对等节点PN(CMN或CLN)首先自生成随机的工作密

钥对(SK,PK),作为私有资源保存在本地。

b)PN创建CFL证书创建申请CFL_Req,并通过安全的通

道发送到CFL发证机关CFLCGC。CFL_Req由ID、PK及其对

应的签名值Sig

ID

=Sig{ID

PK}

SK

组成,如式(1)所示。

CFL_Req={ID

PK

Sig

ID

}(1)

c)CFLCGC接收CFL_Req,并验证签名的有效性,验证通

过则提取其中的ID、PK。设CFL发证机关主私钥ISK={r

·350·

 

计算机应用研究第38卷

 

,…,r

},CFL发证机关主公钥IPK={R

,R

,…,R

}={(x

),(x

,y

),…,(x

,y

)},其中,r

是R

对于椭圆螺旋曲线基

点G的离散对数,即R

=(x

,y

)=[r

]·G。使用CPK组合公

钥算法计算出基于ID的标志签名私钥IDSK:

(a)使用hash算法计算ID的散列值,得到DigestID=hash(ID)。

设MAP

=DigestID,则再次计算MAP

i+1

=E

(MAP

)(i

0),

()是以K为加密密钥的分组密码运算。令i不超过ISK的

数量n,得到序列值Seq

IDSK

=(MAP

MAP

MAP

n-1

),截取

前n×k比特(k为单位比特数)作为选取序列{a

(1

n)}。

(b)使用选取序列{a

(1

n)}对ISK进行组合得到标

志私钥IDSK=

v=1

·r

(c)将PN的ID、PK、Sig

ID

打包,加入签名值Sig

IDSK

=Sig

{ID

PK

Sig

ID

IDSK

,组成PN的CFL证书Cert

PN

,如式(2)所

示。其中,ValidateTime代表证书的有效时间。

Cert

ID

PK

Sig

ID

PN

{

SigalidateTime

(2)

IDSK

}

(d)CFLCGC将CFL证书和主公钥IPK发回PN。

2)验证阶段 该阶段在用户端向对等节点发起区块链事务

请求或对等节点之间执行共识过程之前建立,可视为对等节点

PN

、PN

之间的身份验证过程。如图7所示,节点PN

与PN

通过CFL证书消息的交互执行端到端的双向身份验证动作。

a)对等节点PN

产生一个随机数R

,与自身的CFL证书

Cert

PN

打包,使用工作私钥SK

对自身的CFL证书进行签名,

得到签名值Sig

Dym

=Sig{R

Cert

PN

SK

并将其重新加入到

Cert

PN

中,得到动态CFL证书DymCert

PN

,如式(3)所示。

DymCert

PN

={Cert

PN

Sig

Dym

{

ID

PK

Sig

ID

Sig

(3)

IDSK

Sig

Dym

ValidateTime

}

b)PN

发送DymCert

PN

到验证端PN

中,PN

通过以下步

骤验证

DymCert

PN

的有效性:

(a)PN

首先计算当前时间戳TimeStamp,判断TimeStamp

ValidateTime是否正确,如果正确则继续下一步的判断,否则返

回错误消息;

(b)提取DymCert

PN

中的公钥PK

,验证签名值

DymCert

PN

.Sig

Dym

的正确性,如果验证通过,执行下一步;

(c)计算选取序列{a

(1

n)}(计算方法见注册阶段

的步骤c)的(a)),对CFL发证机关主公钥IPK进行组合得到

标志私钥IDPK=

v=1

·R

,并使用IDPK验证签名值

DymCert

PN

.Sig

IDSK

的有效性,如果验证通过则继续执行下一步;

(d)使用PK

验证签名值DymCert

PN

.Sig

ID

的有效性,如果

验证通过,则证明了DymCert

PN

的有效性,并向PN

返回验证

消息。

c)PN

依据步骤a)生成自身的动态CFL证书DymCert

PN

d)PN

发送DymCert

PN

到PN

中,由PN

验证该证书的有

效性,验证过程同步骤(a)~(d),验证通过后,PN

向PN

回验证消息。

e)PN

收到验证通过消息后,将DymCert

PN

恢复为Cert

PN

并产生一个新的签名消息:

Res={ID

Sig{ID

SK

}(4)

其中:ID

为PN

的身份标志;R

为一个新的随机数。

f)PN

接收Res,通过签名有效性验证后,将DymCert

PN

复为Cert

PN

,然后向PN

发送区块链事务请求或与PN

建立起

面向共识机制的信任关系。

3)注销阶段 该阶段是对等节点PN向CFL发证机关

CFLCGC申请撤销一个合法CFL证书的过程,如图8所示,PN

向CFLCGC发送证书撤销申请,并接收CFL发证机关签发的

CFL证书撤销标志。

a)PN打包Cert

PN

与撤销标志“REVOKE”,使用工作私钥

进行签名,得到签名值:

Sig

Rev

=Sig{Cert

PN

“REVOKE”}

SK

(5)

b)PN向CFLCGC发送证书撤销申请信息RevReq,它的结

构如式(6)所示。

RevReq={Cert

PN

“REVOKE”

Sig

Rev

}(6)

c)CFLCGC接收RevReq,并验证其中签名的有效性,验证

通过则从中提取出Cert

PN

,验证其中的签名值Cert

PN

.Sig

IDSK

Cert

PN

.Sig

ID

的有效性(验证过程同验证阶段的(c)(d))。

d)如果签名值有效性验证通过,那么CFLCGC打包撤销

标志“REVOKE”与PN的标志Cert

PN

.ID,并使用IDSK进行签

名,生成签名值:

Sig

RC

=Sig{Cert

PN

.ID

“REVOKE”}

IDSK

(7)

将Sig

RC

加入Cert

PN

中,从而得到被撤销证书RevCert

PN

RevCert

PN

={Cert

PN

Sig

RC

{

ID

PK

Sig

ID

Sig

IDSK

Sig

RC

ValidateTime

}

(8)

第2期舒展翔,等:基于CFL认证体制的区块链系统认证机制研究

·351·

   

3 认证模型CFLBCAM的建立

CFL认证技术描述了CFL体制在区块链系统中的应用模

式,这一应用模式可概括为使用CFL证书实现用户身份注册、

用户身份验证和用户身份注销,即实现区块链系统身份认证机

制的三个执行阶段:注册阶段、验证阶段和注销阶段。然而

CFL认证技术仅仅使用非形式化的协议语句对CFL认证体制

下的区块链系统身份认证流程进行了定义与描述,无法对CFL

认证技术的正确性、安全性等基本属性进行验证,容易造成对

潜在安全漏洞的忽略,从而严重影响区块链系统环境的安全

性。协议的形式化建模与验证方法已被证明是一种行之有效

的协议安全性分析、证明方法

[18,19]

,便于协议的设计人员更准

确地发现协议中存在的安全问题。基于此,本章结合应用

π

演算理论,针对CFL认证技术的各执行阶段设计进程表达式

的形式化描述,建立CFL认证技术的认证模型CFLBCAM

(CFLbasedblockchainauthenticationmodel)。

31 模型描述

CFL认证技术的协议执行过程由注册阶段、验证阶段和注

销阶段组成。依据CFL认证技术的协议执行过程,结合应用

π

演算理论,建立区块链系统的认证模型CFLBCAM,其建立过

程是:

a)分析CFL认证技术的各个执行阶段,提取所有的密码

算法执行单元,构建完整的密码原语集合(即CFL认证体制所

需的签名、验证、密钥产生和证书签发等密码算法集合);

b)基于应用

π

演算的等式理论为密码原语集合构造最小

等价关系,得到有限的函数项集合;

c)提取CFL认证技术各执行阶段的消息交互语句,如

CFL发证机关将证书发送至对等节点、对等节点PN

将动态证

书发送到对等节点PN

和对等节点PN

得到对等节点PN

动态证书合法性验证等,将它们抽象为应用

π

演算下不同的

事件;

d)结合步骤b)c)得到的函数项集合、事件,基于应用

π

演算的基本语法、语义要素建立CFL认证技术的进程表达式,

完成模型的建立。

因此,CFLBCAM表示为一个五元组,即

CFLBCAM=(GE,CP,PA,P,w)(9)

模型组成要素的描述是:

a)GE={ge

,ge

,…,ge

},表示应用

π

演算的基本语法、

语义要素,这些要素是构成CFL认证技术进程表达式的基础。

b)CP是包含CFL认证技术所有密码原语的函数项集合。

CP的组成结构如式(10)所示。

Cert/5,CheckSign/3,Sign/2,F/2,F’/2,

CP=

CheckRev/2,pair/2,PK/1,H/1,Recover/1,

GetPri4/1,GetPri3/1,GetPri2/1,1

st

/1,

(10)

nd

/1,3

rd

/1,4

th

/1,5

th

/1,true/0,false/0

CP中的函数项描述是:

(a)Cert/5为5元变量的函数项,表示证书生成函数;

(b)CheckSign/3为3元变量的函数项,表示签名验证函数;

(c)Sign/2、F/2、F’/2、CheckRev/2、pair/2是2元变量的

函数项,其中Sign/2和pair/2分别表示消息签名和消息对函

数,F/2和F’/2分别表示标志私钥IDSK和标志公钥IDPK的

生成函数,CheckRev/2代表撤销证书验证函数;

(d)PK/1、H/1、Recover/1、GetPri4/1、GetPri3/1、GetPri2/1、

st

/1、2

nd

/1、3

rd

/1、4

th

/1、5

th

/1是1元变量的函数项,其中PK/

1、H/1、Recover/1分别代表公钥生成、消息哈希和证书恢复函

数,GetPrin/1(n=2,3,4)表示选取证书前n位数据的功能函

数,1

st

/1、2

nd

/1、3

rd

/1、4

th

/1、5

th

/1则分别表示选取证书或消息

对的第n位的功能函数;

(e)true/0、false/0是常量,表示布尔值。

函数项的最小等价关系是:

(a)CheckSign(Sign(m,sk),m,pk(sk))=true

(b)Recover(Cert(a,b,c,d,e))=Cert(a,b,c,d,0)

(c)CheckRev

Cert(a,b,c,d,e),

=CheckSign

pk(sk)

e,H(pair(“REVOKE”),a)

,pk(sk)

(d)1

st

(pair(x,y))=x

(e)2

nd

(pair(x,y))=y

(f)3

rd

(Cert(a,b,c,d,e))=c

(g)4

th

(Cert(a,b,c,d,e))=d

(h)5

th

(Cert(a,b,c,d,e))=e

(i)GetPri4(Cert(a,b,c,d,e))=Cert(a,b,c,d,0)

(j)GetPri3(Cert(a,b,c,d,e))=Cert(a,b,c,0,0)

(k)GetPri2(Cert(a,b,c,d,e))=Cert(a,b,0,0,0)

(l)F′(pk(s

k),m)=pk(F(s

k,m))(s

k表示CFL体制中的

种子私钥序列)

c)PA是进程表达式中的进程消息交互行为在某一时间节

点的动作注释,即应用

π

演算下的事件

[16]

。它被表示为私有

的消息输出,无法在进程的消息交互中被恶意敌手捕获。PA

包括:

(a)GetCertN〈pair(ID,Cert)〉。表示节点N已经接收到了

来自CFL发证机关发来的CFL证书Cert,并将证书与自身的

身份标志ID一同打包。

(b)GenCertG〈Cert〉。表示CFL发证机关CGC已经生成了

一个新的CFL证书Cert。

(c)RecvSucc〈DyCertpair〉。表示验证发起方N

成功收到

来自验证接收方N

的动态CFL证书消息对DyCertpair。

(d)VerfSuccFromN

〈DyCertpair〉。表示验证接收方N

成功

地验证了验证发起方动态CFL证书消息对Dypair的合法性。

(e)VerfSuccFromN

〈DyCertpair〉。表示验证发起方N

功地验证了验证接收方动态CFL证书消息对DyCertpair的合

法性。

(f)SendCert〈DyCertpair〉。表示验证接收方N

成功地输

出了自身的动态CFL证书消息对。

(g)RevCertSuccN〈RevCert〉。表示节点N成功地收到了被

撤销的CFL证书RevCert。

(h)CertRevSuccG〈RevCert〉。表示CFL发证机关CGC成功

地对某一CFL证书执行了证书撤销操作。

d)P=P

CFL

{P

,P

Auth

,P

Rev

},表示CFL认证技术的进程

表达式,包括主进程P

CFL

和从属的子进程P

、P

Auth

、P

Rev

e)w:GE×CP×PA

P,表示进程表达式的映射关系,即进

程表达式P由基本语法要素GE、函数项集合CP和进程注释

PA共同构成。

32 进程表达式

进程表达式是CFLBCAM的核心组成元素,实现了对CFL

认证技术进行形式化描述。由CFLBCAM的模型描述可知,

CFLBCAM的进程表达式P包括主进程P

CFL

和从属的子进程

、P

Auth

、P

Rev

,它们之间的关系如式(11)所示。

CFL

def!(P

|P

Auth

|P

Rev

)(11)

CFL

由P

、P

Auth

和P

Rev

三类异构子进程组成,其中P

表示

注册子进程,P

Auth

表示验证子进程,P

Rev

表示注销子进程,不同

的子进程分别对应CFL认证技术的不同认证阶段(即注册阶

·352·

 

计算机应用研究第38卷

 

段、验证阶段和注销阶段)。

321 注册子进程

defvID

·vID

,…,vID

CGC

|(letch=ch

inP

)|

(letch=ch

inP

)|…

(12)

|(letch=ch

inP

其中:def为进程表达式定义符号;|为进程并发符号;=为赋值

符号;P

CGC

为注册阶段的CFL发证机关进程表达式;P

为注册

阶段的对等节点N

进程表达式;vID

(i=1,2,…,n)为区块链

系统中不同对等节点N

的身份标志,作为受限制的私有名字

绑定在进程表达式中;ch

(i=1,2,…,n)为对等节点N

CFL发证机关G的公共消息通道;let…in…为进程变量的主

动替换符号,例如letch=ch

inP

可表示为{ch

/ch}。

注册阶段的对等节点进程表达式P

和CFL发证机关进

程表达式P

CGC

的内部执行逻辑如图9所示。

进程P

GG

和P

CGC

满足单射关系,即一个固定的对等节点N

在注册阶段只能与单个发证机关G进行消息交互。图9(a)

中,节点进程P

首先创建证书申请消息Req,将这则消息通过

公共通道ch发送CFL发证机关进程P

CGC

,并等待其响应;如果

GG

CGC

成功地执行响应,那么P

在相同的公共通道中接收对方

的消息对Secpair;最后,提取消息对的首元素,输出事件

GetCertN〈pair(ID,Cert)〉的同时递归执行下一个节点进程P

(由不同名字的公共通道指定)。图9(b)展示了同一时刻的

CFL发证机关进程P

GG

CGC

在公共通道ch接收来自P

的消息

Req

,通过提取Req

不同位置的项,使用CheckSign/2函数判断

消息签名的有效性;判断通过后,创建对等节点N

的标志私钥

IDSK并对Req

进行签名,将得到的签名值存入一个新的CFL

证书结构StaCert中;最后,P

CGC

在同一公共通道ch中输出Sta

Cert与主公钥PK(ISK)的消息对并输出事件GenCertG〈Cert〉。

322 验证子进程

Auth

defch〈Secpair

〉.P

!P

uth

|(letch

=ch

inP

uth

)|

(letch

=ch

inP

uth

)|…

(13)

|(letch

=ch

Auth

inP

其中:P

Auth

为验证阶段的CFL验证发起方进程表达式;P

Auth

验证阶段的CFL验证接收方进程表达式;ch

(i=1,2,…,n)

为CFL验证发起方N

和接收方N

的公共消息通道;

chSecpair

.P

注册子进程P

为区块链系统实体提供的CFL

证书消息对,其中Secpair

包括CFL静态证书和CPK种子公

钥集合。由于验证子进程的消息交互双方必须在拥有各自

CFL证书的前提下执行交互动作,所以这一动作是执行验证子

进程的重要先验条件。

假设验证进程交互双方持有的CFL证书时间均未超过证

书的最长有效期限,即所有的CFL证书都不存在证书过期的

状况。验证阶段的验证发起方进程表达式P

Auth

和验证接收方

进程表达式P

Auth

的内部执行逻辑如图10所示。

进程P

Auth

和P

Auth

同样满足单射关系。在图10(a)中,a)验

证发起方进程P

Auth

首先接收通道ch中的证书消息对Secpair

提取自身的CFL证书StaCert

与主公钥IPK;b)通过一个私有

的随机数n

生成StaCert

的签名SigDY,并将该签名填充入

StaCert

得到新的动态CFL证书DyCert

;c)P

Auth

将DyCert

进行打包,通过公共通道ch

进行输出,并等待消息接收方

的响应,如果接收方成功地执行响应,则接收消息响应DyCert

pair,并输出事件RecvSucc〈DyCertpair〉;d)P

Auth

验证DyCertpair

中的证书项DyCert

是否被撤销,如果得到证书未撤销的结

果,继续按照CFL证书生成签名的先后顺序(包括动态CFL证

书的签名生成过程),进行签名验证;如果验证通过,那么P

Auth

输出事件VerfSuccFromN

〈DyCertpair〉的同时递归执行下一个

验证发起方进程P

Auth

(由不同名字的公共通道指定)。在图10

(b)中,a)验证接收方进程P

AuthAuth

在ch

中首先接收来自P

消息Dypair,提取其中的证书项DyCert

以及随机数项n

;b)

验证CFL证书是否被撤销,得到未撤销的结果后,按照CFL证

书的签名先后顺序验证DyCert

的签名正确性,如果验证通

过,输出事件VerfSuccFromN

〈Dypair〉;c)P

Auth

利用一个私有随

机数n

产生自身的动态CFL证书DyCert

,在同一公共通道

ch

中输出DyCert

与n

的消息对pair(DyCert

,n

),并且输出

事件SendCert〈pair(DyCert

,n

)〉。

第2期舒展翔,等:基于CFL认证体制的区块链系统认证机制研究

·353·

   

323 注销子进程

Rev

defP

ch〈Secpair

〉.P

|(letch=ch

Rev

inP

|(letch=ch

Rev

inP

)|…

(14)

|(letch=chinP

Rev

其中:P

RevRe

CGC

为注销阶段的CFL发证机关进程表达式;P

为注

销阶段的对等节点N

进程表达式。

注销阶段的对等节点进程表达式P

Rev

和CFL发证机关进

程表达式P

Rev

CGC

的内部执行逻辑如图11所示。

Rev

首先使用字符串“REVOKE”和随机数n

生成证书撤

销信息签名SigRev

,将签名与CFL证书的消息对pair(pair

(StaCert

,pair(l

Rev

,n

)),SigRev

)通过公共通道ch输出,并等

待接收方P

Rev

CGC

的响应;如果P

RevRev

CGC

成功地执行响应,那么P

相同的公共通道中接收被撤销CFL证书RevCert;最后,P

Rev

用函数CheckRev/2判断RevCert是否撤销成功,如果撤销成

功,RevCertSuccN〈RevCert〉事件得到输出,并继续递归执行下一

个节点进程P

Rev

。图11(b)所示为同一时刻的CFL发证机关

进程P

Rev

CGC

在公共通道ch接收来自P

Rev

的消息Revpair,提取

Revpair中的签名项SigRev

、证书项Cert

和撤销标志项l

;判

断l

是否为“REVOKE”字符串,判断通过后,调用函数Check

Rev/2判断Cert

是否已被撤销;如果得到Cert

未被撤销的结

果,继续使用CheckSign/2函数判断SigRev

的有效性;判断通

过后,创建对等节点N

的标志私钥IDSK并对标志项l

和节

点标志的对pair(l

,1

st

(Cert

))进行签名,将得到的签名值填

入原始证书Cert

中,得到节点的撤销证书RevCert

Rev

;最后,P

CGC

在公共通道ch中输出RevCert

,同时输出事件CertRevSuccG

〈RevCert〉。

4 实验与分析

实验与分析是对CFLBCAM的正确性、工作效率进行的

实验验证;对CFLBCAM的安全性进行的理论分析。正确性

指模型进程表达式对应的CFL认证技术的协议执行过程是否

满足认证协议的认证目标(认证目标包括协议核心要素的保

密性和交互过程的一致性

[20]

);安全性指模型的实际执行过程

是否能够实现去中心化的、强身份认证的和保证数据完整性的

安全认证;工作效率则表示模型进程表达式的实现组件在区块

链系统环境下的工作性能。使用自动化协议验证工具ProVerif

验证CFLBCAM进程表达式内部语法逻辑的正确性,证明CFL

认证技术满足认证协议的基本构造需求;将基于CFLBCAM

的HyperledgerFabric系统身份认证机制的系统吞吐量、延迟等

性能指标参数与HyperledgerFabric系统初始的身份认证机制

进行对比,验证CFLBCAM在区块链系统中的可用性。通过

对CFLBCAM去中心化、强身份认证和数据完整性校验三类

性质的分析,证明模型的安全性。

41 实验环境设置

使用ProVerif

[21]

作为CFLBCAM正确性的验证工具,对模

型进程表达式的语法、语义逻辑进行自动化的分析与验证。

ProVerif是一种基于Prolog语言实现的一阶定理证明器,能够

分析与验证使用Horn子句以及应用

π

演算描述的实体交互

协议的正确性,并且内置实例化的DolevYao敌手模型,能够

在输出部分显示针对协议的潜在攻击方式。

基于主流的联盟区块链系统HyperledgerFabric

[22]

搭建

CFLBCAM的工作效率验证环境,其网络环境逻辑拓扑图如图

12所示,通过计算机网络技术构建一个小型的分布式对等网

络作为实验的网络环境。所有的Fabric节点均部署在计算机

的虚拟容器环境Docker中,可分为peer、orderer和client三种

角色。其中peer作为普通的对等节点,负责验证事务有效性

和记录事务区块;orderer作为事务排序和转发节点,负责将同

一时间的事务打包为事务区块并分发到peer中;client作为用

户端节点,负责产生区块链事务并与peer节点执行区块链事

务逻辑的交互过程。

42 正确性验证

所有能够被正确执行的实体认证协议都必须满足认证目

标,即同时满足保密性和一致性的要求

[20]

。其中,保密性是指

攻击者无法通过公开渠道掌握认证过程中的私密消息;一致性

是指在一个涉及两方的认证过程中,发起者A与接收者B能

够完全确认对方为唯一的交互对象。为了证明CFL认证技术

协议执行过程的正确性,使用ProVerif编码实现了CFLBCAM

的进程表达式,并对进程表达式执行逻辑的保密性和一致性进

行了验证。

421 保密性

假设CFLBCAM主进程P

CFL

的进程环境中存在一个外部

的敌手进程I,那么主进程的进程环境可表示为C[P

|I]

C[!(P

|P

Auth

|P

Rev

)|I],它满足保密性当且仅当I无法在P

Auth

和P

Rev

的公共通道中重新构造进程输出的私密消息。对

于注册进程P

和撤销进程P

Rev

,节点标志ID

用于生成CFL

证书,并通过密文的形式在节点N

和CFL发证机关之间传

递;对于验证进程P

Auth

,随机数n

、n

是动态CFL证书签名的

构造元素,并同样以密文的形式在验证发起方N

和验证接收

方N

之间传递。因此,对保密性的验证可以被建模为对主进

程P

CFL

安全属性的查询,即攻击者能否从主进程环境C[P

CFL

中获得名字ID

、n

和n

。保密性验证在ProVerif中通过下列

查询语句完成:a)queryattacker:ID

;b)queryattacker:n

;c)

·354·

 

计算机应用研究第38卷

 

queryattacker:n

ProVerif的输出结果均为“RESULTnotattacker〈…〉is

true”,这表明即使对主进程采取主动攻击的方式,攻击者也无

法获取其中的传递消息ID

、n

和n

,即证明了CFLBCAM主

进程P

CFL

能够满足保密性的要求。

422 一致性

在注册子进程P

和注销子进程P

Rev

中,对等节点N

CFL发证机关CGC的一致性是:如果N

接收到了新的证书消

息对,则CGC必定已完成了证书生成或撤销动作。在验证子

进程P

Auth

中,接收方N

对发起方N

的一致性是:如果N

收到了一个新的证书消息对,那么这则消息必定由N

发出;

发起方N

对接收方N

的一致性是:如果N

接收到了一个新

的证书消息对,那么这则消息必定由N

发出,并且N

已完成

了对N

动态CFL证书消息的验证过程。一致性验证通过在

ProVerif中查询事件event的响应顺序完成,可以使用下列查

询语句:

a)queryid:bitstring;inj_event

(GetCert(pair(ID

,StaCert

)))

inj_event(GenCert(StaCert))

b)queryid:bitstring;inj_event

(RevCertSuccN(RevCert))

inj_event(CertRevSuccG(RevCert

))

c)queryid:bitstring;inj

event

(RecvSucc(DyCertpair))

inj_event(VerfSuccFromN

(Dypair))&

inj_event(VerfSuccFromN

(Dypair))

inj_event(SendCert(pair(DyCert,n)))

SS

ProVerif的输出结果均为true,这表明各个进程的响应顺

序均满足一致性的要求,即证明了CFLBCAM主进程P

CFL

足一致性的要求。

43 安全性分析

基于CFL认证体制的区块链系统认证技术应在继承CFL

认证体制的安全特性基础上,保证区块链系统安全认证的需

求。该需求包括去中心化、强身份认证和数据完整性校验。对

CFLBCAM的安全性分析基于DolevYao模型,即恶意敌手可

以在认证过程中任意窃听、获取和窜改传输消息;同时假设底

层密码算法是安全的,即随机数生成、哈希以及数字签名等算

法无法被敌手攻破。

1)去中心化认证 CFLBCAM的去中心化认证特性主要

体现在两个方面:a)CFL发证机关使用基于用户标志的签名私

钥进行证书签名,不同于PKI体制的CA中心,CFL发证机关

CFLCGC的签名使用对等节点PN的标志参数,在CPK组合

公钥算法下生成基于PN标志的签名私钥IDSK,从而避免了

CFLCGC的私钥泄露问题,降低了针对CFL发证机关的身份

伪造攻击的可能性;b)验证阶段无须第三方参与,在CFL

BCAM的验证子进程中,P

AuthAut

和P

执行端到端的认证交互过

程,在这个过程中不需要任何第三方进程的参与,可以预防非

诚实的第三方实体对认证过程发起的中间人攻击。

2)强身份认证 在同一个协议中,如果两个实体都能够

验证对方的身份有效性,则称协议提供强身份认证。在CFL

认证技术的验证阶段,对等节点PN

和PN

执行请求—响应

的认证交互模式,即对等双方通过相互传递动态CFL证书Dym

Cert

PN

/DymCert

PN

,并在验证对方CFL证书的签名有效性后

(包括证书申请签名

Sig

ID

、CFL发证机关签名Sig

IDSK

、动态签名

Sig

Dym

),完成身份的信任关系建立。凭借PN

对PN

的认证

以及PN

对PN

的认证,实现了区块链系统对等节点之间的

身份双向认证,即强身份认证。

3)数据完整性校验 对等节点PN

和PN

在执行动态

CFL证书传递动作时,假设恶意敌手A获取了其中一端的动态

CFL证书,窜改了其中的标志数据DymCert

PN

.ID为

DymCert

PN

.ID′,并重新传递该证书消息;另一端接收到此消

息,在执行证书验证动作时,输出以下结果:

a)Verify{Sig

Dym

,(ID′

PK

Sig

ID

Sig

IDSK

)}

PK

=false

b)Verify{Sig

IDSK

,(ID′

PK

Sig

ID

)}

IDPK

=false

c)Verify{Sig

ID

,(PK

ID′)}

PK

=false

根据这些输出结果容易得到CFL证书完整性被破坏的结

论,结束对等节点之间的身份信任关系建立过程,从而有效地降

低了由CFL证书数据非法窜改引起的恶意节点入网的风险。

44 工作效率实验

使用Go语言编码实现CFLBCAM的子进程逻辑,并将其

打包为一个新的package———CFL_BC,加入到HyperledgerFabric

的身份认证与管理模块MSP中。分别对CFL_BC、PKI方案、

identitymixer方案

[23]

和BAVP方案

[9]

在Fabric系统中的工作效

率进行实验对比。其中,PKI和identitymixer方案均为Fabric

系统的初始认证组件;BAVP是基于传统IBC体制的区块链系

统认证模型,同样使用Go语言编码实现并集成Fabric系统中。

首先对基于上述四种方案的区块链事务提交、验证、打包

过程产生的计算开销进行对比分析。定义RNG为随机数产

生,E为指数运算,H为哈希运算,P为双线性对运算,SY为对

称加密或解密运算,PA为椭圆曲线点加法运算,PM为椭圆曲

线点乘法运算,IBS为基于身份的签名,IBV为基于身份的签名

验证。文献[24]基于PBC库计算得出不同密码运算的平均耗

时:H约为0.0023ms,PM约为2.226ms,SY约为0.0046ms,

E约为3.850ms,P约为5.811ms,PA约为0.0288ms,RNG约

为0.539ms,IBS约为23.866ms,IBV约为5.872ms。四种方

案的计算开销对比结果如表3所示。其中,n为种子密钥序列

长度,k为节点的全部标志个数,l为隐藏标志个数。

表3 各方案的计算开销对比

Tab.3 Comparisonofcalculationcostsofeachscheme

方案用户端验证端总和

CFL_BC

2H+nSY+7PM+2H+nSY+7PM+4H+2nSY+14PM+

3PA+1RNG3PA+1RNG6PA+2RNG

PKI2H+2PM+1PA2H+2PM+1PA2H+4PM+1PA

BAVP

[9]

1IBS+1H+1IBS+1IBV+

1PM+1RNG

1IBV+1H

2H+1PM+1RNG

identity

(l+14)E+(k+10)E+4H+(k+l+

mixer

[23]

H+2P

24

)E+2P

  由表3可知,CFL_BC由于涉及了双向签名、签名验证和

组合密钥对生成过程,所以计算开销较PKI和BAVP方案有所

增加。在将CFL_BC与identitymixer方案进行对比前,首先假

设k=5,l=1,依据文献[24]的评估结果,可以得到identity

mixer方案的执行时间约为127.1312ms,那么只有当n

10387时,CFL_BC的执行时间才能超过identitymixer方案。

基于这一数值构建的种子密钥序列势必造成存储资源的极大

损耗,这一结果显然不符合CPK算法的轻量级要求

[14]

。因此

在CPK算法的应用前提下,可以证明CFL_BC的计算开销要

优于identitymixer方案。在4.1节设置的区块链系统环境中

分别测试四种方案下的工作性能。使用基准测试工具Hy

perledgerCaliper

[25]

在区块链系统环境下模拟区块链事务执行

的生命周期,测试在四种方案下的区块链事务执行效率变化趋

势。其中,设置种子密钥对长度为200,节点标志个数为5,隐

藏标志个数为1。每一组数据均取20轮实验的平均值,结果

如图13所示。

当设定HyperledgerCaliper的区块链事务产生速率分别为

50、100、150、200、250和300TPS时,由图13(a)可知,区块链

系统在四种方案下执行事务的吞吐量随着事务发送速率的增

加而增加,并在[200,300]内达到峰值。CFL_BC的事务吞吐

量略低于PKI方案,与BAVP方案基本持平,明显高于identity

mixer方案。图13(b)显示区块链系统在上述四种方案下的单

位事务执行延迟,这一数值同样随着区块链事务产生速率的增

第2期舒展翔,等:基于CFL认证体制的区块链系统认证机制研究

·355·

   

加而增加。在相同的区块链事务产生速率下,CFL_BC的事务

执行总延迟略高于PKI、BAVP方案,低于identitymixer方案,

并且与identitymixer方案的差异随着区块链事务产生速率的

增加而愈加明显。图13的结果验证了表3计算开销对比的正

确性。

综上所述,通过四种方案的对比分析,CFL_BC的效率优

于identitymixer方案,虽然效率相比传统PKI、IBC体制略有下

降,但是仍属于可接受的范围(区块链事务的平均执行延迟不

超过0.5ms),具备较好的实用性。另外,基于CFL构建的区

块链系统认证过程满足双向的强身份认证目标,并且整个验证

过程无须第三方实体参与,不存在单点失效问题,相较于传统

PKI、IBC体制具备更强的安全性。

5 结束语

本文研究了基于CFL认证体制的区块链系统认证机制,

形式化分析了区块链系统的CFL认证过程,综合应用

π

演算

理论,建立了基于CFL的区块链系统认证模型CFLBCAM。理

论分析表明,本方法在区块链系统环境中保证了安全性;实验

表明,本方法实现了正确的区块链认证机制,同时在区块链系

统环境中保持了良好的工作效率。通过本文的研究,论证了

CFL认证体制在区块链系中应用的可行性,为现有区块链系统

认证机制所面临的单点失效、弱身份认证和身份撤销问题提供

了解决方案;同时,通过在区块链系统中加入了国产化、自主可

控的CFL认证体制,增强了区块链系统的安全性。

下一步的研究内容:针对一般区块链系统节点数据安全交

互过程所需的SSL/TLS协议,研究CFL认证体制下的区块链

系统节点数据安全交互技术,设计基于CFL证书交互的会话

密钥协商和会话数据加密协议,实现基于CFL认证体制的区

块链系统节点会话数据的安全交互。

参考文献:

[1]NakamotoS.Bitcoin:apeertopeerelectroniccashsystem[EB/

OL].(2008)[20191207].https://bitcoin.org/bitcoin.pdf.

[2]ZhengZibin,XieShaoan,DaiHongning,etal.Blockchainchallen

gesandopportunities

:asurvey[J].InternationalJournalofWeb

andGridServices,2018,14(4):352375.

[3]袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,

2016,4(42):481491.(YuanYong,WangFeiyue.Blockchain:the

stateoftheartandfuturetrends[J].ActaAutomaticaSinica,

2016,4(42):481491.)

[4]刘敖迪,杜学绘,王娜,等.区块链技术及其在信息安全领域的研

究进展[J].软件学报,2018,29(7):20922115.(LiuAodi,Du

Xuehui,WangNa,etal.Researchprogressofblockchaintechnology

anditsapplicationininformationsecurity[J].JournalofSoftware,

2018,29(7):20922115.)

[5]MohsinAH,ZaidanAA,ZaidanBB,etal.Blockchainauthentica

tionofnetworkapplicationstaxonomy,classification,capabilities,

openchallenges,motivations,recommendationsandfuturedirections

[J].ComputerStandards&Interfaces,2019,7(64):4160.

[6]AbdulwahidA,NathanC,StengelI,etal.Thecurrentuseofau

thenticationtechnologies:aninvestigativereview[C]//ProcofInter

nationalConferenceonCloudComputing.Piscataway,NJ:IEEE

Press,2015:239246.

[7]VelasquezI,CaroA,RodriguezA.Authenticationschemesand

methods:asystematicliteraturereview[J].InformationandSoft

wareTechnology,2018,94(2):3037.

[8]AtenieseG,FaonioA,MagriB,etal.CertifiedBitcoins[C]//Proc

ofInternationalConferenceonAppliedCryptographyandNetworkSe

curity.Berlin:Springer,2014:8096.

[9]WeiSongjie,LiShuai,LiuPeilong,etal.BAVP:blockchainbased

accessverificationprotocolinLEOconstellationusingIBEkeys[J].

SecurityandCommunicationNetworks,2018,3(5):233239.

[10]HardjonoT,SmithN,AlexP.Anonymousidentitiesforpermissioned

blockchains[EB/OL].(2016)[20191207]https://petertodd.

org/assets/20160421/MITChainAnchorDRAFT.pdf.

[11]王震,范佳,成林,等.可监管匿名认证方案[J].软件学报,2019,

30(6):17051720.(WangZhen,FanJia,ChengLin,etal.Super

visedanonymousauthenticationscheme[J].JournalofSoftware,

2019,30(6):17051720.)

[12]陈华平,范修斌,吕述望.基于标识的证书认证体制CFL:中国,

CN102957536B[P].20130306.(ChenHuaping,FanXiubin,Lyu

Shuwang.LogobasedcertificateauthenticationsystemCFL:China,

CN102957536B[P].20130306.)

[13]国家密码管理局.关于同意基于SM2、SM3的CFL认证体制通过

审查的通知[EB/OL].(2016)[20191207].https://www.sca.

gov.cn/sca/xxgk/201603/21/content.shtml.(StateCryptography

Administration.NotificationofapprovaloftheCFLauthenticationsys

tembasedonSM2andSM3[EB/OL].(2016)[20191207].

https://www.sca.gov.cn/sca/xxgk/201603/21/content.shtml.)

[14]南湘浩.CPK密码体制与网际安全[M].北京:国防工业出版社,

2008:3442.(NanXianghao.CPKcryptosystemandinternetsecurity

[M].Beijing:NationalDefenseIndustryPress,2008:3442.)

[15]AbadiM,FournetC.Mobilevalues,newnames,andsecurecommu

nication[C]//Procofthe28thSymposiumonPrinciplesofProgram

mingLanguages.NewYork:ACMPress,2001:104115.

[16]RyanMD,SmythB.Appliedpicalculus[EB/OL].(2011)[201912

07].https://bensmyth.com/files/Smyth10appliedpicalculus.pdf.

[17]DolevD,YaoAC.Onthesecurityofpublickeyprotocols[J].IEEE

TransonInformationTheory,1983,29(2):198207.

[18]NiehBB,TavaresSE.Modellingandanalyzingcryptographicpro

tocolsusingPetrinets[C]//ProcofInternationalWorkshoponthe

TheoryandApplicationofCryptographicTechniques.Berlin:Sprin

ger,1992:275295.

[19]MitchellJC,MitchellM,SternU.Automatedanalysisofcrypto

graphicprotocolsusingMur/splphi[C]//ProcofIEEESymposium

onSecurityandPrivacy.Piscataway,NJ:IEEEPress,1997:141151.

[20]WooT,LamS.Semanticmodelforauthenticationprotocols[C]//

Procofthe14thIEEESymposiumonResearchinSecurityandPriva

cy.Piscataway,NJ:IEEEPress,1993:178194.

[21]BlanchetB.Anefficientcryptographicprotocolverifierbasedonpro

logrules[C]//Procofthe14thIEEEComputerSecurityFoundations

Workshop.Piscataway,NJ:IEEEPress,2001:8296.

[22]Hyperledger,Hyperledgerfabricdocsdocumentation,release1.3.0[EB/

OL].(2018)[20191207].https://buildmedia.readthedocs.org/

media/pdf/hyperledgerfabric/release1.3/hyperledgerfabric.pdf.

[23]CamenishJ,DubovitskayaM,RobertRE.Conceptsandlanguages

forprivacypreservingattributebasedauthentication[J].Journalof

InformationSecurityandApplications,2014,19(1):2544.

[24]KilincHH,YanikT.AsurveyofSIPauthenticationandkeyagree

mentschemes[J].IEEECommunicationsSurveysandTutorials,

2014,16(2):10051023.

[25]HaoJ.HyperledgerCaliper[EB/OL].(2018)[20191207].

https://github.com/hyperledgerarchives/caliper.