APP下载

基于区块技术的权重标识的跨域认证方案

2022-01-28宋玉龙马文平刘小雪

计算机应用与软件 2022年1期
关键词:私钥跨域哈希

宋玉龙 马文平 刘小雪

(西安电子科技大学综合业务网国家重点实验室 陕西 西安 710071)

0 引 言

随着移动终端用户量的增加,对网络资源和多样化的服务的需求越来越高。在分布式网络环境中,不同种类信息服务实体(Information Services Entity,ISE)在网络环境中承载了多业态的公开性、共享性的信息。为了防止未经授权的用户访问ISE,机构或服务提供商设置了一个身份验证服务器,用于对同一信任域下用户标识的认证管理。但是,同一信任域下的信息服务实体单一,当有需求访问其他多个信任域下的ISE时,就存在ISE可信标识的签发与跨域认证问题[1]。

现如今在分布式网络环境中,实现信息服务实体的跨域认证常用的框架有三种[2]:1)Kerberos[3]框架;2)采用证书体系的框架[4];3)基于身份信息的框架[5]。Kerberos框架缺点是基本思想基于对称密钥,对密钥的操作管理复杂,并且其无法处理用户身份匿名问题。采用证书体系的框架较Kerberos框架有了很大进步,技术成熟,但存在证书管理成本高等缺点。基于身份信息的框架IBC直接以实体的有效标识简化了证书管理,但是通信复杂度过高,效率不高。文献[6]方案适用于计算能力弱的终端用户身份的验证,但是在通信安全领域有较大的缺陷。文献[7]方案基于用户身份,计算复杂度高,对于计算能力弱的终端用户不适用。文献[8]方案采用网格思想的多个信任域下的身份认证,但该模型无法抵抗伪造攻击。文献[9]方案是两个不同的域间,通过协商密钥的方式,实现等级信任域间跨域认证,但用户端存在较大的计算量和通信量。

根据区块链的特性不同,分为了联盟链等三种结构,其中联盟链所需节点数量少,交易处理速度快而且交易产生的成本低。文献[10]中提出了基于联盟链的分散式PKI认证系统,采用Certcoin代替授权中心(Certificate Authority,CA),提供密钥查询和身份绑定服务。但直接将用户身份和公钥存储在区块链中存在隐私泄露问题。文献[11]通过创建以太坊实现PKI身份认证,优化联盟链中的证书来降低通信量,降低维护成本,但是仍旧存在证书的管理成本问题。以上研究均未基于区块链来系统地设计跨域认证模型,未涉及联盟链中的跨域身份认证。

针对ISE跨域认证过程中的上述问题与现状,本文设计基于联盟链的ISE的跨域认证模型如图1所示。图中上下两个实线的矩形框分别表示不同的信息服务信任域,同一信息服务域内包括了用户U、ISE、CA和身份验证器(Authentication Server,AS)。在本文所涉及模型中多个CA机构作为联盟链中指定节点,负责用户标识的签发,数量较少,在联盟链中可进行快速的交易。AS作为身份验证服务器,负责检查用户提交的权重标识。虚线矩形框内表示联盟链,联盟链中多个CA分别处于不同的信任域内,右侧CA所处信任域数据访问流程同左侧CAi、CAj信任域内流程。同一信任域内的虚线流程线表示域内的数据访问,两个不同信任域间数据访问为实线流程线1-7,表示跨域认证协议。

图1 基于联盟链的权重标识的跨域认证模型

由于联盟链无法存储大量数据,网络中每个节点都有一个联盟链上数据存储的副本,如果将整个证书存储在联盟链上,那么空间和时间的消耗都将是巨大的,会导致联盟链难以使用。本文体系结构中,只将标识的哈希、标识ID及相应的状态消息存储在区块中,标识的哈希用于检查标识的完整性,标识ID是标识的索引,标识的状态信息确保了标识的及时性。每次从联盟链中查询标识信息时,必须要保证其是在最新的区块链记录中并且在有效期内。

模型在签发标识过程中考虑了CA机构的权限问题,提出了一种基于秘密共享思想的带权重的密钥分配方案,分配给机构带权重的密钥,权限高的机构会在生成权重标识过程中占有较高的影响因子;标识的哈希值存于区块中,查询比对标识仅需对哈希值进行对比,不存在证书的复杂管理;模型对数据的处理环节集中在了CA以及AS等第三方,大大减少了终端用户的计算复杂度;区块中存储的标识的哈希和ID,并未涉及用户身份,避免了隐私泄露;区块体内采用Merkle树组织结构,内部任意数据变动会引起交易总哈希值的改变,区块链便会从此区块断开,因此可以保证通信数据的不易篡改和可追溯性。

1 基于区块技术的权重标识的跨域认证模型

1.1 TC系统初始化

为了实现基于区块技术的权重标识的跨域认证,本文给出了一种基于秘密共享思想的带权重的密钥分配方案。本文模型所用符号说明如表1所示。

表1 跨域认证模型中符号说明

本文方案包括一个根据权重进行分配的可信中心TC、可信的签名聚合者SC(Signature Combiner),用户、ISE、身份验证服务器,以及全体签名授权中心群CA={CA1,CA2,…,CAn}。

设待签名消息为M,门限值为整数t,成员私钥最多更新z次。

1.2 TC基于权重对CA成员分配密钥

Xc<[q/ADw]。

TC将每个成员CAi与其对应的秘密数XC和整数AC对应保存,将其存放在表H中,之后将所有的秘密份额(XC,AC)放在集合X中,X={(X1,A1),(X2,A2),…,(XADw,AADw)}。

2)通过秘密份额计算群公钥和CA成员的子私钥。TC选取集合X中(Xb,Ab),0

TC将Lic通过安全信道发送给成员CAi,公开群公钥Y。

3)更新CA成员的子私钥。为了保证通信安全及满足成员CA更新私钥的需求,本文设计定期更新成员私钥。在更新过程中需要保证群公钥Y不变,从而保证群公钥仍旧适用于旧签名。设更新成员CAi的子私钥Lic,更新周期为T,更新步骤如下:

1.3 CA为用户签发权重标识

该签发系统的签发过程基于PBFT共识算法,PBFT中错误节点数量为f,CA数量大于3f;标识请求者U指定其所在的信息服务信任域的CA机构作为主节点;在签发标识过程中用到上述分配拥有不同权重的密钥。签发流程如下:

1)标识请求者将自己的身份U加盖时间戳T得到标识请求者的标识授权请求M,M=U‖T,并将M加密发送给身份验证服务器AS。

2)AS接收到U的消息,对用户身份进行验证后,将标识授权请求M加密,通过安全信道发送给CA机构。

3)令与用户同一信任域的CAp作为签发标识的主节点,解密消息M后CAp生成一个新区块,CAp生成预准备标识,将预准备标识发送给其他节点CAr后,CAp进入Prepare状态;CA机构随机选取Kic∈G1,计算并向其他成员广播ric=Kic·gmodp。

4)CAr收到预准备标识时就收到了新生成区块的信息M,该节点也进入Prepare状态,CAr收到其他成员的ric后,随机选取其中t个,计算第一部分签名信令r=∑ric=∑Kic·gmodp,并将r保存在预准备标识中,得到Prepare标识,记录标识信息。当标识通过2f个节点同意的反馈后(通过消息验证编码MAC方式验证),节点进入commit状态。

5)成员CAi通过由1.2节获得的子私钥Lic计算自己的份额签名:

6)CAr通过MAC方式验证签名信令sic前的哈希值是否相同,当发现有超过2f个节点相同,达成共识;达成共识后CAr从commit标识中读取任意t个部分签名信令sic,合成第二部分签名信令S,将(M,r,S)作为权重标识整体Φ。

7)CAr计算权重标识Φ的哈希值Hr并保存在区块中;将区块添加到本地联盟链中;AS将权重标识Φ通过秘密信道发送给标识请求者U。

1.4 跨域认证协议

跨域认证协议如图1中实线所示,信任域A中CAi中的用户Uik访问信任域B中CAj中的ISEjx的认证过程;CAi,CAj,…作为联盟链中验证节点;Uik对ISEjx发出跨域请求,跨域认证协议如下:

1)Uik→ISEjx:CAi中的用户Uik发送请求访问CAj中的ISEjx。

2)ISEjx→ASj:ISEjx转发Uik的请求到身份验证服务器ASj,请求ASj验证Uik的身份。

3)ASj→Uik∶{N}:ASj检验Uik与ISEjx是否在同一个信任域中,若不是同一信任域内则向Uik发送随机数N,并要求Uik提供自己的身份标识。

4)Uik→ASj∶{Φ,sigsk1(N,Φ),N}:Uik将Φ、N和签名发送给ASj。ASj从标识中获取用户的公钥,验证签名sigsk(N,Φ)。

5)ASj计算权重标识Φ的哈希值,根据标识的ID查询最新更新的联盟链中的记录,得到哈希值。对比两者,若是相等,那么该标识为联盟链中成员签发。之后查看记录中权重标识的及时性,若标识状态未过期,ASj则断言该标识合法,否则ASj断言该标识不合法,断言消息设为B,对B加盖时间戳T得到B*=B‖T。

6)ASj→ISEjz∶{B*,sigsk2(B*,Φ),Φ}:ASj对B*和Φ签名并携带sigsk2(B*,Φ)、B*和Φ重定向请求到CAj中的ISEjx。ISEjx验证sigsk2(B*,Φ)正确性以及时间戳是否鲜活,若请求通过验证则分析断言消息B。

7)由于ISEjx完全信任由CAj发来的消息,若消息B为断言标识合法,ISEjx对Uik提供服务,否则,ISEjx拒绝Uik的访问。

2 方案分析

2.1 匿名分析

只有标识哈希、状态和ID存储在联盟链中,它确保用户隐私不被泄露,攻击者或检查员无法通过检索联盟链记录获得标识所有者的特定身份信息。

2.2 安全属性

1)抵抗内部攻击:本文方案将CA机构作为联盟链中的验证节点,成员间可信;CA为用户签发权重标识过程中,是由两部分的签名信令合成,未使用群私钥,群私钥为安全状态;更新成员子私钥Lic过程中,未涉及子私钥计算,其为隐秘状态。

2)抵抗DDos攻击:本文跨域模型建立在联盟链上,具有分散和冗余约束的功能并且本文方案的签发标识方案基于秘密共享的思想,即使网络中一个节点发生故障,其他节点也不会受到影响,并且最终签发的标识也不会受影响。

3)抵抗仿冒攻击:TC将成员私钥和签名标识通过安全信道发送给成员,基于非对称加密算法加密,破解信息获取签名标识或私钥的相当于破解困难性难题,能够有效保护用户身份,有效抵抗仿冒攻击。

4)抵抗重放攻击:用户Uik与ASj之间通信时加入了随机数N,由于ASj保存了随机数N,比较用户发来的N与保存的值是否相同,来判断是否继续通信;ISEjx与ASj通信由时间戳T来确保鲜活性,T无法被攻击者篡改,若通信消息被截获并重发,因时间戳失去鲜活,验证失败。上述两种途径能有效防止重放攻击。

本文方案的安全属性和文献[2,4,6]的比较如表2所示。

表2 安全属性比较

3 性能分析

为了明确对比本文方案与其他文献方案在进行ISE跨域认证过程中的性能。表3列出了各个方案在不同阶段所涉及的计算时间消耗。为了方便对比,假设所用到的具体算法是同一类型的。其中性能比较计算时间消耗符号含义如表4所示。

表3 跨域认证协议性能方面的比较

表4 性能比较符号含义

由表3可知,文献[6]的计算复杂度最低,但是所有消息都是以明文发送,容易受到假冒攻击,以牺牲保密性为代价。文献[9]在移动终端的时间消耗很大,要求较高的计算能力,比较之下本文方案通过将身份验证服务器和TC作为第三方,将验证过程转移到第三方,在第三方有较高的计算复杂度,但是缓解了用户和ISE的计算压力和时间消耗,因此本文方案更适用于计算能力较弱的主流用户,比如智能穿戴设备等便携式移动终端。

4 结 语

本文所提出的基于区块技术的权重标识的跨域认证模型,实现不同信任域下ISE对U的身份认证,分析证明是安全可靠的。由性能比较可知,在确保通信安全的情况下,便携式终端用户和ISE的计算复杂度以及时间消耗降低了,对于便携式的移动终端有很好的实用性,此特性可以与物联网便携式智能穿戴设备等相结合。但本文未解决身份验证服务器和TC端的大量数据存储与复杂计算的问题,为使本文方案有更广泛的应用,之后应该提高数据计算速度,并逐步应用于云计算、物联网等方向。

猜你喜欢

私钥跨域哈希
中国工程院航天航空航海国际工程科技论坛跨域运载技术创新平行论坛征文函
为群众办实事,崂山区打出“跨域通办”组合拳
比特币的安全性到底有多高
G-SRv6 Policy在跨域端到端组网中的应用
哈希值处理 功能全面更易用
程序员把7500枚比特币扔掉损失巨大
Windows哈希值处理不犯难
文件哈希值处理一条龙
实现跨域的最佳方案CSST
基于身份的聚合签名体制研究