2024年3月20日发(作者:)
第38卷第2期
2021年2月
计算机应用研究
ApplicationResearchofComputers
Vol.38No.2
Feb.2021
基于CFL认证体制的区块链系统认证机制研究
,3
舒展翔
1
,李腾飞
2
,余 祥
1
,李 强
1
(1.国防科技大学,合肥230037;2.61428部队,北京100072;3.国防科技大学,长沙410073)
摘 要:针对现有区块链系统认证机制存在的单点失效、弱身份认证等问题,研究了基于CFL认证体制的区块
FL体制基本原理的基础上,提出基于CFL的区块链系统认证技术;综合应用
π
演算链系统认证机制。在分析C
理论,建立基于CFL认证体制的区块链系统认证模型CFLBCAM。实验与分析结果表明,本方法能够为区块链
系统提供正确的、安全的认证服务。
关键词:区块链系统认证机制;CFL认证体制;认证模型;应用
π
演算
中图分类号:TP393 文献标志码:A 文章编号:10013695(2021)02004034709
:10.19734/j.issn.10013695.2019.12.0655doi
ResearchonCFLbasedblockchainsystemauthenticationmechanism
121,31
ShuZhanxiang,LiTengfei,YuXiang,LiQiang
(1.NationalUniversityofDefenseTechnology,Hefei230037,China;2.61428Troops,Beijing100072,China;3.NationalUniversityofDe
fenseTechnology,Changsha410073,China)
Abstract:Aimingattheproblemsofsinglepointfailureandweakidentityauthenticationintheexistingblockchainsystemauthen
,thispaperstudiedaCFLbasedblockchainsystemauthenticationmechanism.Basedontheanalysisofthebasicticationmechanism
principlesofCFLauthenticationsystem,thispaperproposedaCFLbasedblockchainsystemauthenticationtechnology.Combined
withappliedalculustheory,itestablishedaCFLbasedblockchainsystemauthenticationmodel,namedCFLBCAM.Experi
π
c
mentsandanalysisshowthattheschemecanprovideeffectiveandsecureauthenticationservicesforblockchainsystems.
Keywords:blockchainsystemauthenticationmechanism;CFLauthenticationsystem;authenticationmodel;appliedalculus
π
c
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体制下的用户证书更新或撤销的实时性问题,即区
收稿日期:20191207;修回日期:20200127 基金项目:国防科技大学科研基金项目
作者简介:舒展翔(1995),男,浙江青田人,硕士研究生,主要研究方向为区块链、信息安全;李腾飞(1993),男,安徽和县人,助理工程师,硕
1986),男,江西景德镇人,讲师,硕士,主要研究方向为软件测试、信息安全;李强(1962),男(通信作士,主要研究方向为网络与信息安全;余祥(
者),安徽合肥人,教授,硕士,主要研究方向为软件工程、信息安全(lychfeei@163.com).
块链系统的参与用户无法对自身证书进行及时、高效地修改或
8,10]所述,PKI体制下的区块链系统受到节撤销。如文献[
点通信环境、网络时延和区块同步机制的制约,难以完成实时
的证书更新或撤销操作。
由于这些问题的存在,现有的函数认证体制难以满足区块
链系统认证机制的实时性、安全性需求。同时,中心化的认证
服务机制与区块链技术的去中心化思想相悖,也在一定程度上
制约了区块链系统的工作性能。CFL是一种基于标志的证书
认证体制,其中C、F、L分别是三位发明人陈华平、范修斌、吕
FL认证体制于2011年首次提出,并于述望的姓氏首字母。C
[12,13]
2016年通过了国家密码管理局的审核。相较于现有的中
心化函数认证体制,基于CFL认证体制的实体身份认证过程
无须第三方参与,它具有去认证中心化、现场认证、自主认证等
特点。本文针对现有区块链系统认证机制存在的问题,对基于
CFL认证体制的区块链系统认证机制进行研究,结合基于标志
信息的证书验证技术和端到端的双向强认证技术,实现了区块
链系统用户、对等节点安全信任关系的建立。
1 技术基础
11 区块链系统
区块链系统是一种由多方共同维护,使用密码学保证传输
和存储安全,并且能够保持数据一致存储、防窜改、抗抵赖的分
2]
布式数据记录系统
[
,包括:a)区块链底层技术,如分布式存
b)区块链数储、非对称加密、时间戳、共识机制和智能合约等;
据结构,即全网或网络中某些组织共同维护的链式数据日志,
3]
这种数据结构通常被视为狭义概念下的区块链
[
;c)安全机
制,如身份认证、权限管理、隐私保护等。
为研究区块链系统认证机制的需要,对区块链底层技术、数
据结构和安全机制的身份认证等问题进行了研究。区块链底层
技术和数据结构是构建区块链系统、提供区块链服务的基础;区
块链安全机制则是由第三方组件构造的外设服务项,能够为实
际应用场景下(医疗、金融和征信等)的区块链系统安全问题
(如隐私问题、认证问题、监管问题等)等提供解决方案。
12 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认证技术,下同)。
21 基本架构
CFL认证技术的部署结构如图3所示。下面分别对图3
中的各个组成部分进行描述:
CMN(committernode),提交节点。负责在区块链系统中
记录区块链事务并且参与事务正确性验证的共识过程,是区块
链系统的核心组成部分。
CLN(clientnode),用户端节点。负责与区块链网络的提
交节点(一个或多个)建立通信关系,创建、发送区块链事务申
请,订阅、接收区块链事务的交互事件(区块链事务的交互事
件指事务执行成功/失败的消息)。
SC(smartcontract),智能合约。部署在CMN上能够自动
执行区块链事务的计算机代码块。
CFLCGC(CFLcertsgenerationcenter),CFL发证机关。负
责接收证书申请并产生CFL证书,不参与区块链系统与用户
端节点的数据交互过程。
P2PNET(P2Pnetwork),分布式网络基础架构。区块链对
等节点实现互相通信的基本信道。
在图3中,CFLCGC组成区块链系统的身份认证与管理
模块,负责为CLN节点和CMN节点签发或撤销CFL证书。
CLN节点和CMN节点分别使用自身的CFL证书参与到区块
链数据交互过程(区块链事务提交或共识过程),在执行一次
区块链数据交互动作之前,交互双方必须通过CFL证书的有
效性验证,建立端到端的信任关系。
22 消息交互模式
在一般的区块链系统中,消息交互过程主要有:a)外部用
户与区块链工作节点之间的区块链事务交互过程,包括事务申
请、产生和验证;b)不同的区块链工作节点之间对于新产生事
务的传递和有效性验证过程,也就是共识(consensus)过程。
结合CFL认证的基本原理,提出了两种基于CFL的区块链系
统消息交互模式:
a)面向事务过程的用户身份认证模式。用户在参与区块
链事务过程之前,即向区块链网络发起事务请求之前,需要与
区块链事务的处理节点执行双向的身份合法性验证过程:用户
向事务交互节点(一个或多个)提交身份信息,同时,需要接收
节点的身份信息并进行验证,只有用户和节点同时认可对方的
身份,用户才能继续执行事务请求过程。这一交互模式的示意
图如图4所示。
b)面向共识过程的节点信任建立模式。区块链系统的工
作节点在产生区块链事务后,需要基于共识协议的执行完成事
务的一致性验证过程(即共识过程)。目前主流的区块链共识
协议包括PoW、PoS、PBFT和Raft等,这些共识协议在实现原
理上不尽相同。例如在PoW协议中,所有的节点通过对一个
随机的复杂问题进行求解,竞争事务区块的记账权;而在PBFT
协议中,则是由产生事务的节点将事务进行全网广播,在收到
全网2/3节点的许可应答后将事务打包为区块并上链。
从消息交互的角度出发,共识过程必须建立在至少n-1
对端到端的消息会话的基础之上(n为参与共识的节点数量),
整个共识过程可以视为由若干个独立的节点消息交互动作组
成。因此,节点在参与共识过程之前,通过验证彼此身份合法
性完成节点身份信任关系的建立,从而在双方身份互信的基础
上继续执行事务消息的传递过程。这样做能够有效地防范未
知节点参与共识过程,提高共识的安全性。基于CFL的节点
信任建立模式如图5所示。
23 协议设计
将CFL认证技术的协议过程分为注册、验证和注销三个
阶段。各阶段所使用的符号与定义如表2所示。
表2 CFL认证技术符号
Tab.2 SymbolforCFLauthenticationtechnology
符号定义符号定义
ID身份标志IDSK标志私钥
SK工作私钥IDPK标志公钥
PK工作公钥KCFL发证机关主对称密钥
ISK主私钥(种子私钥序列)R随机数
IPK主公钥(种子公钥序列)
1)注册阶段 该阶段是对等节点PN向CFL发证机关
CFLCGC申请CFL证书的过程。如图6所示,PN向CFL发证
机关发送证书申请,并接收CFL发证机关签发的CFL证书
Cert
PN
。
a)对等节点PN(CMN或CLN)首先自生成随机的工作密
钥对(SK,PK),作为私有资源保存在本地。
b)PN创建CFL证书创建申请CFL_Req,并通过安全的通
道发送到CFL发证机关CFLCGC。CFL_Req由ID、PK及其对
应的签名值Sig
ID
=Sig{ID
‖
PK}
SK
组成,如式(1)所示。
CFL_Req={ID
‖
PK
‖
Sig
ID
}(1)
c)CFLCGC接收CFL_Req,并验证签名的有效性,验证通
过则提取其中的ID、PK。设CFL发证机关主私钥ISK={r
1
,
·350·
计算机应用研究第38卷
r
2
,…,r
n
},CFL发证机关主公钥IPK={R
1
,R
2
,…,R
n
}={(x
1
,
y
1
),(x
2
,y
2
),…,(x
3
,y
3
)},其中,r
i
是R
i
对于椭圆螺旋曲线基
点G的离散对数,即R
i
=(x
i
,y
i
)=[r
i
]·G。使用CPK组合公
钥算法计算出基于ID的标志签名私钥IDSK:
(a)使用hash算法计算ID的散列值,得到DigestID=hash(ID)。
设MAP
0
=DigestID,则再次计算MAP
i+1
=E
K
(MAP
i
)(i
≥
0),
E
K
()是以K为加密密钥的分组密码运算。令i不超过ISK的
数量n,得到序列值Seq
IDSK
=(MAP
0
‖
MAP
1
‖
…
‖
MAP
n-1
),截取
前n×k比特(k为单位比特数)作为选取序列{a
v
(1
≤
v
≤
n)}。
(b)使用选取序列{a
v
(1
≤
v
≤
n)}对ISK进行组合得到标
志私钥IDSK=
∑
n
v=1
a
v
·r
v
。
(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
‖
V
}
(d)CFLCGC将CFL证书和主公钥IPK发回PN。
2)验证阶段 该阶段在用户端向对等节点发起区块链事务
请求或对等节点之间执行共识过程之前建立,可视为对等节点
PN
l
、PN
k
之间的身份验证过程。如图7所示,节点PN
l
与PN
k
通过CFL证书消息的交互执行端到端的双向身份验证动作。
a)对等节点PN
l
产生一个随机数R
1
,与自身的CFL证书
Cert
PN
l
打包,使用工作私钥SK
l
对自身的CFL证书进行签名,
得到签名值Sig
Dym
=Sig{R
1
‖
Cert
PN
l
}
SK
l
并将其重新加入到
Cert
PN
l
中,得到动态CFL证书DymCert
PN
l
,如式(3)所示。
DymCert
PN
l
={Cert
PN
l
‖
Sig
Dym
}
≡
{
ID
l
‖
PK
l
‖
Sig
ID
l
‖
Sig
(3)
IDSK
‖
Sig
Dym
‖
ValidateTime
}
b)PN
l
发送DymCert
PN
l
到验证端PN
k
中,PN
k
通过以下步
骤验证
DymCert
PN
l
的有效性:
(a)PN
k
首先计算当前时间戳TimeStamp,判断TimeStamp
≤
ValidateTime是否正确,如果正确则继续下一步的判断,否则返
回错误消息;
(b)提取DymCert
PN
l
中的公钥PK
l
,验证签名值
DymCert
PN
l
.Sig
Dym
的正确性,如果验证通过,执行下一步;
(c)计算选取序列{a
v
(1
≤
v
≤
n)}(计算方法见注册阶段
的步骤c)的(a)),对CFL发证机关主公钥IPK进行组合得到
标志私钥IDPK=
∑
n
v=1
a
v
·R
v
,并使用IDPK验证签名值
DymCert
PN
l
.Sig
IDSK
的有效性,如果验证通过则继续执行下一步;
(d)使用PK
l
验证签名值DymCert
PN
l
.Sig
ID
l
的有效性,如果
验证通过,则证明了DymCert
PN
l
的有效性,并向PN
l
返回验证
消息。
c)PN
k
依据步骤a)生成自身的动态CFL证书DymCert
PN
k
。
d)PN
k
发送DymCert
PN
k
到PN
l
中,由PN
l
验证该证书的有
效性,验证过程同步骤(a)~(d),验证通过后,PN
l
向PN
k
返
回验证消息。
e)PN
k
收到验证通过消息后,将DymCert
PN
k
恢复为Cert
PN
k
,
并产生一个新的签名消息:
Res={ID
k
‖
R
3
‖
Sig{ID
k
‖
R
3
}
SK
l
}(4)
其中:ID
k
为PN
k
的身份标志;R
3
为一个新的随机数。
f)PN
l
接收Res,通过签名有效性验证后,将DymCert
PN
l
恢
复为Cert
PN
l
,然后向PN
k
发送区块链事务请求或与PN
k
建立起
面向共识机制的信任关系。
3)注销阶段 该阶段是对等节点PN向CFL发证机关
CFLCGC申请撤销一个合法CFL证书的过程,如图8所示,PN
向CFLCGC发送证书撤销申请,并接收CFL发证机关签发的
CFL证书撤销标志。
a)PN打包Cert
PN
与撤销标志“REVOKE”,使用工作私钥
进行签名,得到签名值:
Sig
Rev
=Sig{Cert
PN
‖
“REVOKE”}
SK
(5)
b)PN向CFLCGC发送证书撤销申请信息RevReq,它的结
构如式(6)所示。
RevReq={Cert
PN
‖
“REVOKE”
‖
Sig
Rev
}(6)
c)CFLCGC接收RevReq,并验证其中签名的有效性,验证
通过则从中提取出Cert
PN
,验证其中的签名值Cert
PN
.Sig
IDSK
、
Cert
PN
.Sig
ID
的有效性(验证过程同验证阶段的(c)(d))。
d)如果签名值有效性验证通过,那么CFLCGC打包撤销
标志“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 认证模型CFLBCAM的建立
CFL认证技术描述了CFL体制在区块链系统中的应用模
式,这一应用模式可概括为使用CFL证书实现用户身份注册、
用户身份验证和用户身份注销,即实现区块链系统身份认证机
制的三个执行阶段:注册阶段、验证阶段和注销阶段。然而
CFL认证技术仅仅使用非形式化的协议语句对CFL认证体制
下的区块链系统身份认证流程进行了定义与描述,无法对CFL
认证技术的正确性、安全性等基本属性进行验证,容易造成对
潜在安全漏洞的忽略,从而严重影响区块链系统环境的安全
性。协议的形式化建模与验证方法已被证明是一种行之有效
的协议安全性分析、证明方法
[18,19]
,便于协议的设计人员更准
确地发现协议中存在的安全问题。基于此,本章结合应用
π
演算理论,针对CFL认证技术的各执行阶段设计进程表达式
的形式化描述,建立CFL认证技术的认证模型CFLBCAM
(CFLbasedblockchainauthenticationmodel)。
31 模型描述
CFL认证技术的协议执行过程由注册阶段、验证阶段和注
销阶段组成。依据CFL认证技术的协议执行过程,结合应用
π
演算理论,建立区块链系统的认证模型CFLBCAM,其建立过
程是:
a)分析CFL认证技术的各个执行阶段,提取所有的密码
算法执行单元,构建完整的密码原语集合(即CFL认证体制所
需的签名、验证、密钥产生和证书签发等密码算法集合);
b)基于应用
π
演算的等式理论为密码原语集合构造最小
等价关系,得到有限的函数项集合;
c)提取CFL认证技术各执行阶段的消息交互语句,如
CFL发证机关将证书发送至对等节点、对等节点PN
l
将动态证
书发送到对等节点PN
k
和对等节点PN
k
得到对等节点PN
l
的
动态证书合法性验证等,将它们抽象为应用
π
演算下不同的
事件;
d)结合步骤b)c)得到的函数项集合、事件,基于应用
π
演算的基本语法、语义要素建立CFL认证技术的进程表达式,
完成模型的建立。
因此,CFLBCAM表示为一个五元组,即
CFLBCAM=(GE,CP,PA,P,w)(9)
模型组成要素的描述是:
a)GE={ge
1
,ge
2
,…,ge
n
},表示应用
π
演算的基本语法、
语义要素,这些要素是构成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)
2
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、
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
C
成功收到
来自验证接收方N
S
的动态CFL证书消息对DyCertpair。
(d)VerfSuccFromN
C
〈DyCertpair〉。表示验证接收方N
S
成功
地验证了验证发起方动态CFL证书消息对Dypair的合法性。
(e)VerfSuccFromN
S
〈DyCertpair〉。表示验证发起方N
C
成
功地验证了验证接收方动态CFL证书消息对DyCertpair的合
法性。
(f)SendCert〈DyCertpair〉。表示验证接收方N
S
成功地输
出了自身的动态CFL证书消息对。
(g)RevCertSuccN〈RevCert〉。表示节点N成功地收到了被
撤销的CFL证书RevCert。
(h)CertRevSuccG〈RevCert〉。表示CFL发证机关CGC成功
地对某一CFL证书执行了证书撤销操作。
d)P=P
CFL
≡
{P
G
,P
Auth
,P
Rev
},表示CFL认证技术的进程
表达式,包括主进程P
CFL
和从属的子进程P
G
、P
Auth
、P
Rev
。
e)w:GE×CP×PA
→
P,表示进程表达式的映射关系,即进
程表达式P由基本语法要素GE、函数项集合CP和进程注释
PA共同构成。
32 进程表达式
进程表达式是CFLBCAM的核心组成元素,实现了对CFL
认证技术进行形式化描述。由CFLBCAM的模型描述可知,
CFLBCAM的进程表达式P包括主进程P
CFL
和从属的子进程
P
G
、P
Auth
、P
Rev
,它们之间的关系如式(11)所示。
P
CFL
def!(P
G
|P
Auth
|P
Rev
)(11)
P
CFL
由P
G
、P
Auth
和P
Rev
三类异构子进程组成,其中P
G
表示
注册子进程,P
Auth
表示验证子进程,P
Rev
表示注销子进程,不同
的子进程分别对应CFL认证技术的不同认证阶段(即注册阶
·352·
计算机应用研究第38卷
段、验证阶段和注销阶段)。
321 注册子进程
P
G
defvID
N
1
·vID
N
2
,…,vID
N
n
P
G
CGC
|(letch=ch
b
G
1
inP
N
)|
(letch=ch
b
2
inP
G
N
)|…
(12)
|(letch=ch
b
inP
G
n
N
)
其中:def为进程表达式定义符号;|为进程并发符号;=为赋值
符号;P
G
CGC
为注册阶段的CFL发证机关进程表达式;P
G
N
为注册
阶段的对等节点N
i
进程表达式;vID
N
i
(i=1,2,…,n)为区块链
系统中不同对等节点N
i
的身份标志,作为受限制的私有名字
绑定在进程表达式中;ch
b
i
(i=1,2,…,n)为对等节点N
i
与
CFL发证机关G的公共消息通道;let…in…为进程变量的主
动替换符号,例如letch=ch
G
b
2
inP
N
可表示为{ch
b
2
/ch}。
注册阶段的对等节点进程表达式P
G
N
和CFL发证机关进
程表达式P
G
CGC
的内部执行逻辑如图9所示。
进程P
GG
N
和P
CGC
满足单射关系,即一个固定的对等节点N
i
在注册阶段只能与单个发证机关G进行消息交互。图9(a)
中,节点进程P
G
N
首先创建证书申请消息Req,将这则消息通过
公共通道ch发送CFL发证机关进程P
G
CGC
,并等待其响应;如果
P
GG
CGC
成功地执行响应,那么P
N
在相同的公共通道中接收对方
的消息对Secpair;最后,提取消息对的首元素,输出事件
GetCertN〈pair(ID,Cert)〉的同时递归执行下一个节点进程P
G
N
(由不同名字的公共通道指定)。图9(b)展示了同一时刻的
CFL发证机关进程P
GG
CGC
在公共通道ch接收来自P
N
的消息
Req
N
,通过提取Req
N
不同位置的项,使用CheckSign/2函数判断
消息签名的有效性;判断通过后,创建对等节点N
i
的标志私钥
IDSK并对Req
N
进行签名,将得到的签名值存入一个新的CFL
证书结构StaCert中;最后,P
G
CGC
在同一公共通道ch中输出Sta
Cert与主公钥PK(ISK)的消息对并输出事件GenCertG〈Cert〉。
322 验证子进程
P
Auth
defch〈Secpair
N
〉.P
G
|
!P
A
N
uth
S
|(letch
A
=ch
A
1
inP
A
N
uth
C
)|
(letch
A
=ch
A
2
inP
A
N
uth
C
)|…
(13)
|(letch
A
=ch
A
Auth
n
inP
N
C
)
其中:P
Auth
N
C
为验证阶段的CFL验证发起方进程表达式;P
Auth
N
S
为
验证阶段的CFL验证接收方进程表达式;ch
A
i
(i=1,2,…,n)
为CFL验证发起方N
C
和接收方N
S
的公共消息通道;
chSecpair
N
.P
G
注册子进程P
G
为区块链系统实体提供的CFL
证书消息对,其中Secpair
N
包括CFL静态证书和CPK种子公
钥集合。由于验证子进程的消息交互双方必须在拥有各自
CFL证书的前提下执行交互动作,所以这一动作是执行验证子
进程的重要先验条件。
假设验证进程交互双方持有的CFL证书时间均未超过证
书的最长有效期限,即所有的CFL证书都不存在证书过期的
状况。验证阶段的验证发起方进程表达式P
Auth
N
C
和验证接收方
进程表达式P
Auth
N
S
的内部执行逻辑如图10所示。
进程P
Auth
N
C
和P
Auth
N
S
同样满足单射关系。在图10(a)中,a)验
证发起方进程P
Auth
N
C
首先接收通道ch中的证书消息对Secpair
C
,
提取自身的CFL证书StaCert
C
与主公钥IPK;b)通过一个私有
的随机数n
C
生成StaCert
C
的签名SigDY,并将该签名填充入
StaCert
C
得到新的动态CFL证书DyCert
C
;c)P
Auth
N
C
将DyCert
C
与
n
C
进行打包,通过公共通道ch
A
进行输出,并等待消息接收方
的响应,如果接收方成功地执行响应,则接收消息响应DyCert
pair,并输出事件RecvSucc〈DyCertpair〉;d)P
Auth
N
C
验证DyCertpair
中的证书项DyCert
S
是否被撤销,如果得到证书未撤销的结
果,继续按照CFL证书生成签名的先后顺序(包括动态CFL证
书的签名生成过程),进行签名验证;如果验证通过,那么P
Auth
N
C
输出事件VerfSuccFromN
S
〈DyCertpair〉的同时递归执行下一个
验证发起方进程P
Auth
N
C
(由不同名字的公共通道指定)。在图10
(b)中,a)验证接收方进程P
AuthAuth
N
S
在ch
A
中首先接收来自P
N
C
的
消息Dypair,提取其中的证书项DyCert
C
以及随机数项n
C
;b)
验证CFL证书是否被撤销,得到未撤销的结果后,按照CFL证
书的签名先后顺序验证DyCert
C
的签名正确性,如果验证通
过,输出事件VerfSuccFromN
C
〈Dypair〉;c)P
Auth
N
S
利用一个私有随
机数n
S
产生自身的动态CFL证书DyCert
S
,在同一公共通道
ch
A
中输出DyCert
S
与n
S
的消息对pair(DyCert
S
,n
S
),并且输出
事件SendCert〈pair(DyCert
S
,n
S
)〉。
第2期舒展翔,等:基于CFL认证体制的区块链系统认证机制研究
·353·
323 注销子进程
P
Rev
defP
R
C
e
G
v
C
|
ch〈Secpair
N
〉.P
G
|(letch=ch
b
Rev
1
inP
N
)
|(letch=ch
Rev
b
2
inP
N
)|…
(14)
|(letch=chinP
Rev
b
n
N
)
其中:P
RevRe
CGC
为注销阶段的CFL发证机关进程表达式;P
v
N
为注
销阶段的对等节点N
i
进程表达式。
注销阶段的对等节点进程表达式P
Rev
N
和CFL发证机关进
程表达式P
Rev
CGC
的内部执行逻辑如图11所示。
P
Rev
N
首先使用字符串“REVOKE”和随机数n
N
生成证书撤
销信息签名SigRev
N
,将签名与CFL证书的消息对pair(pair
(StaCert
N
,pair(l
Rev
,n
N
)),SigRev
N
)通过公共通道ch输出,并等
待接收方P
Rev
CGC
的响应;如果P
RevRev
CGC
成功地执行响应,那么P
N
在
相同的公共通道中接收被撤销CFL证书RevCert;最后,P
Rev
N
调
用函数CheckRev/2判断RevCert是否撤销成功,如果撤销成
功,RevCertSuccN〈RevCert〉事件得到输出,并继续递归执行下一
个节点进程P
Rev
N
。图11(b)所示为同一时刻的CFL发证机关
进程P
Rev
CGC
在公共通道ch接收来自P
Rev
N
的消息Revpair,提取
Revpair中的签名项SigRev
N
、证书项Cert
N
和撤销标志项l
N
;判
断l
N
是否为“REVOKE”字符串,判断通过后,调用函数Check
Rev/2判断Cert
N
是否已被撤销;如果得到Cert
N
未被撤销的结
果,继续使用CheckSign/2函数判断SigRev
N
的有效性;判断通
过后,创建对等节点N
i
的标志私钥IDSK并对标志项l
N
和节
点标志的对pair(l
N
,1
st
(Cert
N
))进行签名,将得到的签名值填
入原始证书Cert
N
中,得到节点的撤销证书RevCert
Rev
N
;最后,P
CGC
在公共通道ch中输出RevCert
N
,同时输出事件CertRevSuccG
〈RevCert〉。
4 实验与分析
实验与分析是对CFLBCAM的正确性、工作效率进行的
实验验证;对CFLBCAM的安全性进行的理论分析。正确性
指模型进程表达式对应的CFL认证技术的协议执行过程是否
满足认证协议的认证目标(认证目标包括协议核心要素的保
密性和交互过程的一致性
[20]
);安全性指模型的实际执行过程
是否能够实现去中心化的、强身份认证的和保证数据完整性的
安全认证;工作效率则表示模型进程表达式的实现组件在区块
链系统环境下的工作性能。使用自动化协议验证工具ProVerif
验证CFLBCAM进程表达式内部语法逻辑的正确性,证明CFL
认证技术满足认证协议的基本构造需求;将基于CFLBCAM
的HyperledgerFabric系统身份认证机制的系统吞吐量、延迟等
性能指标参数与HyperledgerFabric系统初始的身份认证机制
进行对比,验证CFLBCAM在区块链系统中的可用性。通过
对CFLBCAM去中心化、强身份认证和数据完整性校验三类
性质的分析,证明模型的安全性。
41 实验环境设置
使用ProVerif
[21]
作为CFLBCAM正确性的验证工具,对模
型进程表达式的语法、语义逻辑进行自动化的分析与验证。
ProVerif是一种基于Prolog语言实现的一阶定理证明器,能够
分析与验证使用Horn子句以及应用
π
演算描述的实体交互
协议的正确性,并且内置实例化的DolevYao敌手模型,能够
在输出部分显示针对协议的潜在攻击方式。
基于主流的联盟区块链系统HyperledgerFabric
[22]
搭建
CFLBCAM的工作效率验证环境,其网络环境逻辑拓扑图如图
12所示,通过计算机网络技术构建一个小型的分布式对等网
络作为实验的网络环境。所有的Fabric节点均部署在计算机
的虚拟容器环境Docker中,可分为peer、orderer和client三种
角色。其中peer作为普通的对等节点,负责验证事务有效性
和记录事务区块;orderer作为事务排序和转发节点,负责将同
一时间的事务打包为事务区块并分发到peer中;client作为用
户端节点,负责产生区块链事务并与peer节点执行区块链事
务逻辑的交互过程。
42 正确性验证
所有能够被正确执行的实体认证协议都必须满足认证目
标,即同时满足保密性和一致性的要求
[20]
。其中,保密性是指
攻击者无法通过公开渠道掌握认证过程中的私密消息;一致性
是指在一个涉及两方的认证过程中,发起者A与接收者B能
够完全确认对方为唯一的交互对象。为了证明CFL认证技术
协议执行过程的正确性,使用ProVerif编码实现了CFLBCAM
的进程表达式,并对进程表达式执行逻辑的保密性和一致性进
行了验证。
421 保密性
假设CFLBCAM主进程P
CFL
的进程环境中存在一个外部
的敌手进程I,那么主进程的进程环境可表示为C[P
G
|I]
≡
C[!(P
G
|P
Auth
|P
Rev
)|I],它满足保密性当且仅当I无法在P
G
、
P
Auth
和P
Rev
的公共通道中重新构造进程输出的私密消息。对
于注册进程P
G
和撤销进程P
Rev
,节点标志ID
N
用于生成CFL
证书,并通过密文的形式在节点N
i
和CFL发证机关之间传
递;对于验证进程P
Auth
,随机数n
C
、n
S
是动态CFL证书签名的
构造元素,并同样以密文的形式在验证发起方N
C
和验证接收
方N
S
之间传递。因此,对保密性的验证可以被建模为对主进
程P
CFL
安全属性的查询,即攻击者能否从主进程环境C[P
CFL
]
中获得名字ID
N
、n
C
和n
S
。保密性验证在ProVerif中通过下列
查询语句完成:a)queryattacker:ID
N
;b)queryattacker:n
C
;c)
·354·
计算机应用研究第38卷
queryattacker:n
S
。
ProVerif的输出结果均为“RESULTnotattacker〈…〉is
true”,这表明即使对主进程采取主动攻击的方式,攻击者也无
法获取其中的传递消息ID
N
、n
C
和n
S
,即证明了CFLBCAM主
进程P
CFL
能够满足保密性的要求。
422 一致性
在注册子进程P
G
和注销子进程P
Rev
中,对等节点N
i
对
CFL发证机关CGC的一致性是:如果N
i
接收到了新的证书消
息对,则CGC必定已完成了证书生成或撤销动作。在验证子
进程P
Auth
中,接收方N
S
对发起方N
C
的一致性是:如果N
S
接
收到了一个新的证书消息对,那么这则消息必定由N
C
发出;
发起方N
C
对接收方N
S
的一致性是:如果N
C
接收到了一个新
的证书消息对,那么这则消息必定由N
S
发出,并且N
S
已完成
了对N
C
动态CFL证书消息的验证过程。一致性验证通过在
ProVerif中查询事件event的响应顺序完成,可以使用下列查
询语句:
a)queryid:bitstring;inj_event
(GetCert(pair(ID
N
,StaCert
N
)))
inj_event(GenCert(StaCert))
b)queryid:bitstring;inj_event
(RevCertSuccN(RevCert))
inj_event(CertRevSuccG(RevCert
N
))
c)queryid:bitstring;inj
event
(RecvSucc(DyCertpair))
inj_event(VerfSuccFromN
C
(Dypair))&
inj_event(VerfSuccFromN
S
(Dypair))
inj_event(SendCert(pair(DyCert,n)))
SS
ProVerif的输出结果均为true,这表明各个进程的响应顺
序均满足一致性的要求,即证明了CFLBCAM主进程P
CFL
满
足一致性的要求。
43 安全性分析
基于CFL认证体制的区块链系统认证技术应在继承CFL
认证体制的安全特性基础上,保证区块链系统安全认证的需
求。该需求包括去中心化、强身份认证和数据完整性校验。对
CFLBCAM的安全性分析基于DolevYao模型,即恶意敌手可
以在认证过程中任意窃听、获取和窜改传输消息;同时假设底
层密码算法是安全的,即随机数生成、哈希以及数字签名等算
法无法被敌手攻破。
1)去中心化认证 CFLBCAM的去中心化认证特性主要
体现在两个方面:a)CFL发证机关使用基于用户标志的签名私
钥进行证书签名,不同于PKI体制的CA中心,CFL发证机关
CFLCGC的签名使用对等节点PN的标志参数,在CPK组合
公钥算法下生成基于PN标志的签名私钥IDSK,从而避免了
CFLCGC的私钥泄露问题,降低了针对CFL发证机关的身份
伪造攻击的可能性;b)验证阶段无须第三方参与,在CFL
BCAM的验证子进程中,P
AuthAut
N
C
和P
h
N
S
执行端到端的认证交互过
程,在这个过程中不需要任何第三方进程的参与,可以预防非
诚实的第三方实体对认证过程发起的中间人攻击。
2)强身份认证 在同一个协议中,如果两个实体都能够
验证对方的身份有效性,则称协议提供强身份认证。在CFL
认证技术的验证阶段,对等节点PN
k
和PN
l
执行请求—响应
的认证交互模式,即对等双方通过相互传递动态CFL证书Dym
Cert
PN
k
/DymCert
PN
l
,并在验证对方CFL证书的签名有效性后
(包括证书申请签名
Sig
ID
、CFL发证机关签名Sig
IDSK
、动态签名
Sig
Dym
),完成身份的信任关系建立。凭借PN
k
对PN
l
的认证
以及PN
l
对PN
k
的认证,实现了区块链系统对等节点之间的
身份双向认证,即强身份认证。
3)数据完整性校验 对等节点PN
k
和PN
l
在执行动态
CFL证书传递动作时,假设恶意敌手A获取了其中一端的动态
CFL证书,窜改了其中的标志数据DymCert
PN
x
.ID为
DymCert
PN
x
.ID′,并重新传递该证书消息;另一端接收到此消
息,在执行证书验证动作时,输出以下结果:
a)Verify{Sig
Dym
,(ID′
‖
PK
‖
Sig
ID
‖
Sig
IDSK
‖
R
x
)}
PK
=false
b)Verify{Sig
IDSK
,(ID′
‖
PK
‖
Sig
ID
)}
IDPK
=false
c)Verify{Sig
ID
,(PK
‖
ID′)}
PK
=false
根据这些输出结果容易得到CFL证书完整性被破坏的结
论,结束对等节点之间的身份信任关系建立过程,从而有效地降
低了由CFL证书数据非法窜改引起的恶意节点入网的风险。
44 工作效率实验
使用Go语言编码实现CFLBCAM的子进程逻辑,并将其
打包为一个新的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]
2
H
2
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
perledgerCaliper
[25]
在区块链系统环境下模拟区块链事务执行
的生命周期,测试在四种方案下的区块链事务执行效率变化趋
势。其中,设置种子密钥对长度为200,节点标志个数为5,隐
藏标志个数为1。每一组数据均取20轮实验的平均值,结果
如图13所示。
当设定HyperledgerCaliper的区块链事务产生速率分别为
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的区块链系统认证模型CFLBCAM。理
论分析表明,本方法在区块链系统环境中保证了安全性;实验
表明,本方法实现了正确的区块链认证机制,同时在区块链系
统环境中保持了良好的工作效率。通过本文的研究,论证了
CFL认证体制在区块链系中应用的可行性,为现有区块链系统
认证机制所面临的单点失效、弱身份认证和身份撤销问题提供
了解决方案;同时,通过在区块链系统中加入了国产化、自主可
控的CFL认证体制,增强了区块链系统的安全性。
下一步的研究内容:针对一般区块链系统节点数据安全交
互过程所需的SSL/TLS协议,研究CFL认证体制下的区块链
系统节点数据安全交互技术,设计基于CFL证书交互的会话
密钥协商和会话数据加密协议,实现基于CFL认证体制的区
块链系统节点会话数据的安全交互。
参考文献:
[1]NakamotoS.Bitcoin:apeertopeerelectroniccashsystem[EB/
OL].(2008)[20191207].https://bitcoin.org/bitcoin.pdf.
[2]ZhengZibin,XieShaoan,DaiHongning,etal.Blockchainchallen
gesandopportunities
:asurvey[J].InternationalJournalofWeb
andGridServices,2018,14(4):352375.
[3]袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,
2016,4(42):481491.(YuanYong,WangFeiyue.Blockchain:the
stateoftheartandfuturetrends[J].ActaAutomaticaSinica,
2016,4(42):481491.)
[4]刘敖迪,杜学绘,王娜,等.区块链技术及其在信息安全领域的研
究进展[J].软件学报,2018,29(7):20922115.(LiuAodi,Du
Xuehui,WangNa,etal.Researchprogressofblockchaintechnology
anditsapplicationininformationsecurity[J].JournalofSoftware,
2018,29(7):20922115.)
[5]MohsinAH,ZaidanAA,ZaidanBB,etal.Blockchainauthentica
tionofnetworkapplicationstaxonomy,classification,capabilities,
openchallenges,motivations,recommendationsandfuturedirections
[J].ComputerStandards&Interfaces,2019,7(64):4160.
[6]AbdulwahidA,NathanC,StengelI,etal.Thecurrentuseofau
thenticationtechnologies:aninvestigativereview[C]//ProcofInter
nationalConferenceonCloudComputing.Piscataway,NJ:IEEE
Press,2015:239246.
[7]VelasquezI,CaroA,RodriguezA.Authenticationschemesand
methods:asystematicliteraturereview[J].InformationandSoft
wareTechnology,2018,94(2):3037.
[8]AtenieseG,FaonioA,MagriB,etal.CertifiedBitcoins[C]//Proc
ofInternationalConferenceonAppliedCryptographyandNetworkSe
curity.Berlin:Springer,2014:8096.
[9]WeiSongjie,LiShuai,LiuPeilong,etal.BAVP:blockchainbased
accessverificationprotocolinLEOconstellationusingIBEkeys[J].
SecurityandCommunicationNetworks,2018,3(5):233239.
[10]HardjonoT,SmithN,AlexP.Anonymousidentitiesforpermissioned
blockchains[EB/OL].(2016)[20191207]https://petertodd.
org/assets/20160421/MITChainAnchorDRAFT.pdf.
[11]王震,范佳,成林,等.可监管匿名认证方案[J].软件学报,2019,
30(6):17051720.(WangZhen,FanJia,ChengLin,etal.Super
visedanonymousauthenticationscheme[J].JournalofSoftware,
2019,30(6):17051720.)
[12]陈华平,范修斌,吕述望.基于标识的证书认证体制CFL:中国,
CN102957536B[P].20130306.(ChenHuaping,FanXiubin,Lyu
Shuwang.LogobasedcertificateauthenticationsystemCFL:China,
CN102957536B[P].20130306.)
[13]国家密码管理局.关于同意基于SM2、SM3的CFL认证体制通过
审查的通知[EB/OL].(2016)[20191207].https://www.sca.
gov.cn/sca/xxgk/201603/21/content.shtml.(StateCryptography
Administration.NotificationofapprovaloftheCFLauthenticationsys
tembasedonSM2andSM3[EB/OL].(2016)[20191207].
https://www.sca.gov.cn/sca/xxgk/201603/21/content.shtml.)
[14]南湘浩.CPK密码体制与网际安全[M].北京:国防工业出版社,
2008:3442.(NanXianghao.CPKcryptosystemandinternetsecurity
[M].Beijing:NationalDefenseIndustryPress,2008:3442.)
[15]AbadiM,FournetC.Mobilevalues,newnames,andsecurecommu
nication[C]//Procofthe28thSymposiumonPrinciplesofProgram
mingLanguages.NewYork:ACMPress,2001:104115.
[16]RyanMD,SmythB.Appliedpicalculus[EB/OL].(2011)[201912
07].https://bensmyth.com/files/Smyth10appliedpicalculus.pdf.
[17]DolevD,YaoAC.Onthesecurityofpublickeyprotocols[J].IEEE
TransonInformationTheory,1983,29(2):198207.
[18]NiehBB,TavaresSE.Modellingandanalyzingcryptographicpro
tocolsusingPetrinets[C]//ProcofInternationalWorkshoponthe
TheoryandApplicationofCryptographicTechniques.Berlin:Sprin
ger,1992:275295.
[19]MitchellJC,MitchellM,SternU.Automatedanalysisofcrypto
graphicprotocolsusingMur/splphi[C]//ProcofIEEESymposium
onSecurityandPrivacy.Piscataway,NJ:IEEEPress,1997:141151.
[20]WooT,LamS.Semanticmodelforauthenticationprotocols[C]//
Procofthe14thIEEESymposiumonResearchinSecurityandPriva
cy.Piscataway,NJ:IEEEPress,1993:178194.
[21]BlanchetB.Anefficientcryptographicprotocolverifierbasedonpro
logrules[C]//Procofthe14thIEEEComputerSecurityFoundations
Workshop.Piscataway,NJ:IEEEPress,2001:8296.
[22]Hyperledger,Hyperledgerfabricdocsdocumentation,release1.3.0[EB/
OL].(2018)[20191207].https://buildmedia.readthedocs.org/
media/pdf/hyperledgerfabric/release1.3/hyperledgerfabric.pdf.
[23]CamenishJ,DubovitskayaM,RobertRE.Conceptsandlanguages
forprivacypreservingattributebasedauthentication[J].Journalof
InformationSecurityandApplications,2014,19(1):2544.
[24]KilincHH,YanikT.AsurveyofSIPauthenticationandkeyagree
mentschemes[J].IEEECommunicationsSurveysandTutorials,
2014,16(2):10051023.
[25]HaoJ.HyperledgerCaliper[EB/OL].(2018)[20191207].
https://github.com/hyperledgerarchives/caliper.


发布评论