APP下载

基于分布式云数据中心的跨域认证体系研究

2023-02-17彭丹丹潘朋威

计算机应用与软件 2023年1期
关键词:跨域私钥层级

李 江 王 湛 彭丹丹 潘朋威

1(湖北省自然资源厅信息中心 湖北 武汉 430071) 2(武汉大学计算机学院 湖北 武汉 430079)

0 引 言

随着云计算模式的发展,传统集中式架构的数据中心正逐渐迁移至资源按需扩展、负载动态均衡的云环境中,但云环境下构建的数据中心在提高扩展计算和存储资源时只能在单一数据中心内部垂直扩容,同时,独立云节点仍然会因其电力、通信等地域性故障从而失去高可用的特性,因此,基于分布式云架构搭建的多地域数据中心已成为未来的发展趋势[1]。分布式云数据中心根据其耦合程度的不同表现为混合架构、对等架构和聚合架构三种模式[2],无论哪种模式,都面临着异构云环境下用户和数据安全策略的合理规划问题,尤其因数据中心为增强其高可用性和数据冗余性而导致的服务信任域扩展,从而引发云间不同安全域之间的安全信任问题,因此,如何实现安全高效的跨域认证成为目前分布式数据中心安全问题的研究热点。

当前很多国内外的学者已经投身到相关的研究当中,文献[3]提出一种混合云环境下基于异构系统的跨域身份认证方案,该方案适用于PKI体系和CLC体系之间的跨域认证,但其本身使用的仍然是证书管理思想。文献[4]提出一种基于区块链的高效跨域认证方案,该方案结合区块链技术,使用哈希算法验证证书,减少了公钥算法签名验证的次数,实现了跨域认证的效率提升,但也是基于证书管理的方案。文献[5]提出一种基于区块链技术的跨域认证方案,该方案基于区块链技术实现跨密码体系间的跨域认证,但作者也表明该方案未能解决区块链系统因存储数据造成的开销浪费问题,且在ISE端的计算量有待优化[5]。文献[6]提出一种云环境下基于混合密码体系的跨域控制方案,该方案以CA为不同域的安全认证中心,实现不同密码体系之间的跨域认证,但其根本思想仍然是基于证书管理的方案。文献[7]提出一种云环境下基于签密的异构跨域身份认证方案,该方案通过引入CA安全认证中心来实现PKI体系和CLC体系间的跨域认证,但若在CLC体系中使用该方案将会引入证书管理问题。文献[8]提出一种基于代理重签名的跨域认证模型,实现了强不可伪造的域之间的跨域认证,但是在异构系统的跨域认证和效率上仍然存在不足。文献[9]提出一种基于无证书签名的云端跨域身份认证框架,该方案具有较高的安全性,但没有解决异构系统的跨域认证。文献[10]提出了基于身份的公钥密码体制域之间信息服务实体的跨域认证模型,但是无法满足不同密码体制的跨域认证。文献[11]提出一种新的信息服务实体跨域认证模型,实现了跨信任域的双向实体认证和密钥协商,但是该方案在进行跨域认证的时候仍然使用的是基于证书的思想。文献[12]通过证书对云端身份进行验证,但是验证过于频繁,导致验证效率不高。文献[13]提出使用盲签名的方案来将用户的身份数据从一个域授权给另一个域。文献[14]基于某些场景分析了使用PKI体系的点对点和桥式CA交叉认证方案,使用该方案可实现在必要时建立或者撤销与其他域的交叉链接。文献[16]提出一种普适环境中基于身份的跨域认证方案,该方案的跨域认证主要依赖于作者所提出的签名方案。

综合以上研究成果可以看出,目前针对跨域认证的方案,大多都是基于证书管理思想实现的跨域认证。基于证书管理思想实现跨域的技术经过多年的实践积累,技术已经相对成熟,而且PKI体系本身就存在证书管理问题,所以在基于PKI体系的跨域问题上使用基于证书管理的方案是相对合适的。但若是在IBC体系中使用基于证书管理的跨域方案,将会在IBC体系中引入证书管理问题,这样就违背了IBC体系无证书的设计原则。如何在保留IBC体系无证书优势的同时实现跨域认证,仍然是一个值得研究的问题。

1 层级化云计算安全解决方案

随着分布式云计算技术的发展和人们对安全需求的日益加深,信息安全技术已经成为分布式云计算发展中不可或缺的技术。IBC体系以其运营管理方便、成本低、灵活、标识即公钥等优点成为目前分布式云环境中首选的安全解决方案。但是由于云计算虚拟化和分布式的特点,每个云服务提供商可能不在同一个安全域中[16],而在IBC体系中,信任同一系统根公钥的用户之间构成一个相对独立的信任域,在同一信任域之间用户的相互认证是容易实现的,但在不同的信任域中,因为用户所信任的KGC不同,用户之间是无法互信的。具体如图1所示。

图1 域间不信任现状

为了解决在分布式云环境下基于IBC体系的跨域认证问题,本文提出一种基于身份标识的层级化公钥信任模型,使用该模型搭建的基于IBC体系的信息系统不仅可以保留IBC无证书优点,实现安全的跨域认证,而且无论是在计算效率还是通信开销以及存储开销上都要优于通过传统证书管理思想实现的跨域认证方案。

1.1 基于身份标识的层级化架构

基于身份标识的层级化架构采用树状结构,由一个最上级的根信任域逐级向下级节点延伸,并最终通过层级化跨域认证协议实现任意信任域内的用户可以验证其他信任域的系统公钥的真实性,进而实现两个不同信任域内用户间的跨域认证,具体架构如图2所示。

图2 层级化架构

层级化架构原则:

1) 所有用户信任根信任域,即相信根信任域所公开的主公钥的真实性。

2) 由上级节点赋予下级节点的信任关系。

3) 用户可以验证任一节点的系统公钥的真实性。

层级化架构中的角色:

1) 根信任节点。信任根为一个可信的第三方机构,其主要作用为建立下级节点的信任根,并为直属下级节点生成系统公私钥。

2) 节点。信任根下使用同一个系统公私钥的所有用户和KGC的集合。

3) KGC。每个节点中的密钥生成中心,其作用为存储由上级节点生成的系统根公私钥,并为节点内所有用户生成密钥。

4) 用户。节点内的某一个使用者,其存储由所在节点KGC生成的用户私钥,和上级节点的ID、根公钥、验证参数。

1.2 层级化跨域认证协议

为了方便读者理解层级化跨域认证协议,这里引入处于不同信息系统安全域用户DomainUser1和DomainUser2间互相通信的应用场景,具体如下。

DomainUser1所属安全域内信息系统记为A,A的KGC记为KA,DomainUser2所属安全域内信息系统记为B,B的KGC记为KB,A和B都信任的第三方记为R,R的KGC记为KR。DomainUser1和DomainUser2若想实现安全通信需经过以下步骤。

步骤一R建立信任根,具体流程如下:

1)R根据椭圆曲线密码算法的曲线参数{q,a,b,G,N}随机生成根公私钥对,其中q是一个用于构建有限域Fq的奇素数或2的方幂,a、b为Fq中的元素,它们定义Fq上的一条椭圆曲线,G表示椭圆曲线的一个基点,其阶为N。

2) 将R记为0级节点,KR随机生成系统根私钥记为Rpri,计算系统根公钥Rpub=[Rpri]·G。

3) 公开参数{q,a,b,G,N}以及Rpub,私密存储Rpri,确定一个单向安全的哈希函数,并确定一种能将比特序列映射到有限域的方法,记为H(·)并且公开。

步骤二生成A与B的公私钥对,具体流程如下:

1)A和B将各自的标识AID和BID提交给R。

2)R使用自身私钥Rpri分别对AID和BID进行非确定性签名运算,签名值记为SA和SB,秘密保存两个签名值。

3)R使用SA和SB计算下级A和B的系统私钥Apri=H(AID‖SA)和Bpri=H(BID‖SB)。

4)R使用SA和SB计算下级A和B的系统公钥Apub=[H(AID‖SA)]·G和Bpub=[H(BID‖SB)]·G。

5)R计算A和B的验证参数:

VA=(1+Rpri)-1·[Apri-H(AID‖Apub)·Rpri]modN

VB=(1+Rpri)-1·[Bpri-H(BID‖Apub)·Rpri]modN

6)R将{AID,SA,Apub,VA}发送给A,将{BID,SB,Bpub,VB}发送给B。

7)KA使用SA和AID生成系统私钥Apri=H(AID‖SA),KB使用SB和BID生成系统私钥Bpri=H(BID‖SB)。

若在A和B之上存在N层信任域,则由R为其直属节点按照以上步骤生成公私钥对,然后按照以上步骤逐级拓展,直至完成A和B所处安全域的系统公私钥对的生成。

步骤三生成用户私钥,具体流程如下:

1) DomainUser1和DomainUser2分别将各自的标识IDA和IDB交给KA和KB。

2)KA和KB分别生成DomainUser1和DomainUser2的私钥记为PA和PB,KA将{AID,Apub,VA,PA}返回为DomainUser1,KA将{BID,Bpub,VB,PB}返回为DomainUser2。

若在A和B之上存在N层信任域,则A和B应将其上所有节点的ID、公钥、验证参数一起返回给DomainUser1和DomainUser2。

步骤四身份认证,具体步骤如下:

1) DomainUser1使用PA对消息M进行非确定性签名得到签名值SM,并将AID‖Apub‖VA‖SM发送给DomainUser2。

2) DomainUser2收到消息以后,先计算e=H(AID‖Apub),然后计算t=e+VA。

3) 判断t是否等于0,若等于0,则直接验证失败,否则验证Apub=[VA]·G+[t]·Rpub是否成立,若成立则验证成功,否则验证失败。

4) DomainUser2使用DomainUser1的标识验证签名SM。若验证成功则说明该签名为合法用户DomainUser1的签名。类似的,DomainUser1也可对DomainUser2的合法性进行验证。

认证流程如图3所示。

图3 单节点认证流程

若在A和B之上存在N层信任域,则DomainUser1发给DomainUser2的消息应包含A节点以及A节点以上所有节点的ID、公钥、验证参数与DomainUser1对消息的签名SM,当DomainUser2进行验证的时候无须逐级验证,可直接将所有节点的ID、公钥、验证参数放到一起进行级联认证,认证成功以后再验证DomainUser1的签名。认证流程如图4所示。

图4 级联认证流程

1.3 协议的安全性分析

实体双向认证:在认证的过程中,域内用户DomainUser2通过计算t=H(AID‖Apub)+VA,验证Apub=[VA]·G+[t]·Bpub是否成立来完成对另一域用户DomainUser1的身份认证,该方案是正确的,因为:

[VA]·G+[t]·Rpub=

[VA](G+Rpub)+H(AID‖Apub)·Rpub=

[VA](1+Rpri)·G+H(AID‖Apub)·Rpub=

[Apri]·G=Apub

同理,DomainUser1可以完成对DomainUser2的身份认证,从而实现双向的实体身份认证。

未知密钥共享安全:若A和B协商会话密钥,那么B必须使用自己的私钥来参与计算会话密钥,因此,攻击者C如果想计算出相同的会话密钥,必须获取双方用户的私钥,但此私钥只有B本人知道,所以攻击者无法计算出会话密钥。

前向安全性:由于签名阶段采用了非确定性签名,因此每次协商得到的会话密钥是不完全相同的。所以即使双方用户的长期私钥都已经泄露,攻击者C也无法知晓之前建立的会话密钥。

密钥泄露伪装安全:假定攻击者C已获得用户A的私钥,同时试图伪装成用户B与真正的用户A进行通信,且拦截了A传递过来的信息,由于用户B发送的签名值SM是由掌握其私钥用户本人构造的,因此最终计算也无法得出相同的会话密钥。

2 方案优势

目前基于IBC体系的信息系统的跨域认证,普遍采用基于证书管理的方案,基于证书管理的方案不仅存在通信成本大、用户存储开销大等缺点,而且随着层级的增多,在认证时需要逐级解析证书的特点也会严重影响认证效率,最重要的是在IBC体系中引入证书管理方案,违背了IBC体系的无证书理念。本文所提出的方案不仅可以解决基于IBC体系信息系统的跨域问题,实现基于IBC体系信息系统的跨域认证,且保留了IBC体系无证书的特点,在验证效率和通信开销上都优于基于证书的跨域方案。三种方案的基本情况如表1所示。

表1 三种跨域方案的基本情况对比

本节我们将通过对实验获取的本文方案和传统基于证书方案的验证效率和通信开销数据进行对比,证明本文提出的方案的可行性和优势。为了控制由于实验主机和操作系统等无关变量,消除其对实验结果的影响,实验采用虚拟机方式,在一台Windows Server 2012服务器上通过虚拟化的方式搭建虚拟出一台信任根服务器和五个分属独立信任域的数据中心,模拟实验中所使用的分布式云环境。相关的服务器资源配置如表2所示。

表2 服务器资源配置表

实验环境中所采用的算法库为MIRACL库,选取256比特的椭圆曲线参数。

在实验中信任根为0级节点,其下有两个一级节点,在其中一个一级节点下拓展信任链至4级节点。一级跨域至四级跨域下的计算效率和通信开销数据来源于一级节点、二级节点、三级节点、四级节点分别与另一个单独的一级节点之间进行安全认证的实验数据。

2.1 计算效率优势

本文通过实验对比分析了在使用不同方案实现节点的跨域认证时的时间消耗,验证了本文与其他两种基于证书的跨域方案在计算耗时上的差异,具体实验数据如表3所示。

表3 计算耗时对比表 单位:ms

通过计算效率差异对比表可以看出,在跨域认证时,本方案的计算时间消耗要小于传统的证书管理方案,且优势随着跨域级数的增加会越来越明显。不仅如此,本方案在实现跨多层级认证时只需要调用一个级联认证函数就可以完成认证,而基于证书管理思想的方案需要按照证书链来逐级验证证书,增加了验证的复杂度。

2.2 通信开销优势

本文通过实验对比分析了在使用不同方案实现跨域认证时的通信开销,验证了本文与其他两种方案在通信量上的开销差异,具体实验数据如表4所示。

表4 通信开销对比表 单位:Byte

在基于IBC体系的跨域方案中,证书管理方案在跨域认证时需要传递系统公钥、ID以及证书链,其中每个证书大约需要400字节,而本文所提的方案在排除系统公钥与ID之后,只需传输32字节的认证参数即可。而且随着跨域级数的增长,证书管理方案的通信开销成倍数增长,当跨域的级数越多本方案在通信开销上的优势将会越明显。

3 结 语

本文基于身份密码认证框架,在分布式云环境中提出一种层级化跨域架构,在此架构中通过使用层级化跨域认证协议,实现基于IBC体系的层级化数据中心之间的跨域认证,解决了基于IBC体系的异构环境中分布式云数据中心应数据服务信任域扩展而导致的云间信任问题。相较于使用传统证书管理方法实现的分布式云数据中心间跨域方案而言,不仅解决了证书管理方案所带来的证书管理与计算量大的问题,而且通过实验结果对比三种方案在跨域时所带来的计算时间开销和通信开销,发现本文的方案无论在计算时间开销还是通信开销上都优于传统证书管理方案。

本方案虽然实现了在分布式架构中基于IBC体系数据中心的跨域认证,但是并没有解决IBC体系的密钥托管问题,而且本方案无法实现在分布式架构中跨密码体系数据中心的跨域认证。如何在分布式架构中实现安全、高效跨密码体制的跨域认证,解决IBC体系的密钥托管问题将是未来的研究重点。

猜你喜欢

跨域私钥层级
跨域异构体系对抗联合仿真试验平台
清扫机器人避障系统区块链私钥分片存储方法
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
G-SRv6 Policy在跨域端到端组网中的应用
军工企业不同层级知识管理研究实践
基于军事力量层级划分的军力对比评估
职务职级并行后,科员可以努力到哪个层级