APP下载

云计算中跨域安全认证的关键技术研究

2019-08-29爽12

计算机测量与控制 2019年8期
关键词:跨域公钥密钥

梁 爽12

(1.沈阳工学院 教学管理部,辽宁 抚顺 113122;2.沈阳工学院 辽宁省数控机床信息物理融合与智能制造重点实验室,辽宁 抚顺 113122)

0 引言

云计算因其强大的计算能力和能为各类用户提供海量数据的存储能力而存在,其最大的魅力就是可以确保不同位置的用户可以访问任意服务器的资源[1]。一方面,不同信任域的用户需要互相访问其他信任域的资源,另一方面,来自同一信任域的内部威胁也造成了对相关数据的滥用[2-3]。因此,不仅要实现用户在不降低访问效率的前提下可以简单的跨域认证,而且要有效阻止数据的内部攻击[4]。

1 相关工作

1.1 公钥基础设施

一个公钥基础设施基本系统的组成及结构如图1所示。

图1 PKI体系基本构成

一个简单的PKI系统包括认证中心(Certificate,CA Authority)、注册机构(register authority,RA)和证书发布系统。认证中心CA是公钥基础设施(Public Key Infratructure)信任的基础,他管理公钥的整个生命周期,包括证书的发放、规定证书的有效期和确定证书废除列表等[5]。注册机构RA是用户和CA之间的接口,他接受用户注册申请,审查用户资格,并决定是否同意CA为其签发证书[5],但其并不为用户签发证书,证书签发的工作由CA来完成。证书发布系统主要通过目录服务或用户自己负责证书的发放,用户可以通过证书发布系统下载、查询其数字证书[6-7]。

本文中的CA中心还负责本信任域的PKI策略,授权代理服务器实现与其他信任域的认证中心的交叉认证。

1.2 跨域身份认证

随着云计算技术的不断成熟,云资源环境的不断优化,跨域身份认证的研究正逐渐成为专家学者研究的重点[8-9]。

目前,用户名+口令的认证方式被大部分云计算平台采用,不过,这种方式安全度低,容易被监听和截取,而且用户往往会根据自己的习惯,多平台同账号+密码的情况,用户身份信息非常容易泄露,给用户造成不可挽回的损失。

PKI因其具有网络安全基础好,开放性强,身份认证保密性好,能保证身份的唯一性,能兼顾网络参与者各个主体的公共安全利益等优势,已经成为目前保障网络安全的最佳体系,并且广泛应用于电子商务、网上银行等需要较高安全级别的领域。现有的基于PKI的跨域身份认证主要存在扩展性差、灵活度低、互操作弱、证书验证繁杂等缺陷,若直接应用于云计算恐难胜任。

本文提出的跨域安全认证技术设置签名代理服务器,并优化认证流程,采用“密钥+口令”的双因子认证形式,有效解决了现有的基于PKI的身份认证技术认证路径复杂、证书效率低等问题,可以实现用户和云服务提供商之间的双向身份认证,从而提高了跨域身份认证系统的认证过程的安全性;简化了信任路径复杂程度,减少了路径长度。

1.3 安全假设

本文的安全假设如下:本模型中的数据使用用户的可便携设备是可信的;存储服务器服务器是不可信的,且访问本存储服务器的用户数据可能会通过存储服务器被窃取;认证服务器和代理服务器是可信的,且认证中心和代理者之间的通信信道是安全的;数据传输信道有可能被攻击而泄漏数据。

2 跨域安全存储模型

2.1 框架设计

本文通过在云计算服务平台中设置签名代理服务器,将PKI技术与签名代理技术有效结合,提出了一种跨域安全存储模型(cross domain security storage model,CDSSM)。当有一个其他域用户想要访问本地域资源时,本地服务器与证书代理服务器联系,把异域的数字证书颁发给使用者,转换成本地可信任的临时新证书,用以确认用户身份是否合法,从而可以实现不同信任域间用户的互访。每个拥有合法数字证书的域间云用户和证书代理服务器,都可以实现域间云数据资源的访问,大大提高了验证效率。云数据资源在存储时可以采用私钥加密,待用户申请访问资源时,提供公钥解密,从而可以有效阻止域内用户攻击,提高云平台数据的安全性。为了更好的描述本模型设计,给出如下术语的定义。

定义1 用户User:利用任何可信的安全的便携式设备访问云服务资源,并能够与云服务资源提供者完成域内和跨域的身份认证[10]。便携式设备能确保安全且认证正确,可以通过数字证书的合法性来鉴别其身份是否真实,并能够利用证书获取对方的正确公钥[10]。

定义2 云数据存储服务器Server:为用户提供各类云存储服务,并能确保安全地进行证书、密钥等敏感数据的存储、加密和数字签名。

定义3 认证中心CA:负责其本信任域内数字证书的申请、审批、颁发、撤销、查询、管理等[10]。

定义4 证书代理服务器Agent: 拥有域间数字签名的密钥,能够将一个信任域内的合法数字证书转换为转换为另一个信任域内的临时合法数字证书,建立域间信任关系,协助实现不同信任域间的用户的认证工作[10]。

跨域安全存储模型CDSSM模型的基本框架如图2所示。

图2 CDSSM模型框架

为后续描述方便,本文以两个信任域一个中间代理服务器为例,分析其安全认证和存储访问过程。假设信任域1和信任域2分别为本模型的2个信任域,每个信任域中均存在用户集{U1,U2, …,Un},每个信任域中也存在多台存储服务器{Server1,Server2,…, Servern}。CA1是信任域1的认证中心,CA2是信任域2的认证中心。下文描述的过程选择信任域1中的用户U1和信任域2中的存储服务器Server2作为典型代表,以U1访问Server2的跨域资源为例,说明如何通过双方持有的数字证书完成身份认证以及数据存取。

2.2 模型工作方式

本文提出的安全存储模型CDSSM在形式上可分为两个部分,即系统存储管理模块和系统安全认证管理模块。系统存储管理模块包括(Server1, Server2, …, Servern),系统安全认证管理模块包括(CA1,CA2,……,Cam, Agent),多用户集合为U={u1,u2,…,up},数据文件集合为F={f1,f2,…,fq}。CDSSM的工作方式按照存储管理和安全认证管理的工作方式描述如下。

2.1.1 安全认证管理工作方式

1)CDSSM认证的前期准备工作

用ID1表示信任域1中用户U1的真实身份标识,用TID1表示信任域1中用户U1的临时身份标识。用ID2表示信任域2中资源服务器的真实身份标识,用TID2表示信任域2中资源服务器的临时身份标识。用CA1表示信任域1中的认证中心,用CA2表示信任域2中的认证中心。IDA表示代理者Agent的身份标识。

CDSSM系统建立之初,代理者Agent需要根据指定的签名算法,生成认证中心CA1和CA2之间的重签名密钥。

2)证书的申请

用户U1向其所在的认证中心CA申请认证证书的过程如图3所示。

图3 CDSSM模型的证书申请

①用户U1利用真实身份ID1计算临时身份TID1,向本信任域内认证中心CA1发送包含CA1根证书、时间戳和其公钥信息的证书申请信息给CA1。

②CA1用私钥解密U1发送的申请信息,首先根据ID1等相关信息验证U1是否为本信任域内的合法用户[10],然后在LDAP中的认证列表中查询该ID是否注册,并通过临时身份验证其时间戳的有效性。如果上述验证过程未通过,CA1返回用户U1申请失败的消息;否则验证通过,CA1利用ID1等身份信息生成实名证书Cert1,并同时返回给用户U1和发送到轻量目录访问协议(Lightweight Directory Access Protocol,LDAP)加入到认证列表中,CA1利用包含时间戳信息的TID1生成匿名证书Cert1’发送给U1,为了保证该匿名证书有效性,可以设置该匿名证书Cert1’有效期比较短。

③用户U1通过私钥解密收到的信息,验证Cert1和Cert1’的合法性,若合法,则接受证书并存储在用户端,否则,拒绝接受该证书。

资源服务器Server2向所属的认证中心CA申请认证证书的过程与上述过程类似,可获得CA2签发的实名证书Cert2和匿名证书Cert2’。

3)首次跨域认证

位于信任域1中的用户U1试图访问位于信任域2中的资源服务器Server2中文件fn,其首次访问身份认证过程如图4所示。

图4 CDSSM模型的首次跨域认证

①用户U1 发送包含其临时身份、密码等信息的认证请求信息和身份证书Cert1经加密后发送给资源服务器Server2。

②Server2收到U1的认证请求后,首先在认证控制列表(certificate control list,CCL)中查询是否存在TID1的相关信息,如果存在,说明U1合法,直接进入步骤4)后续跨域认证;若不存在,开始下列验证过程。

步骤一,检查证书Cert1的时间有效性,若失效,则终止认证过程;否则转入步骤二。

步骤二,检查证书的颁发者是否为本信任域的证书中心CA2,如果是,说明用户和服务资源提供者属于同一信任域,则直接提取CA2的公钥对证书Cert1进行合法验证;否则转入步骤三。

步骤三,发送证书转换信息给代理者Agent。代理者Agent验证时间的有效性,用CA1的PK验证证书是否合法,不合法则终止转换过程;否则,用认证中心CA1与CA2间的重签名密钥将CA1颁发的证书Cert1转换为CA2签发的临时证书Cert2#。为了区分临时证书Cert2#是由Agent签发而非CA2,可以通过设置Cert2#的有效期来实现,也可以在Cert2#中增加Agent的身份标识IDA。代理者Agent不能独立生成新的合法证书,也不能对已有用户证书进行修改,只能转换已有的合法证书。代理者Agent发送证书转换响应信息给Server2。

步骤四,Server2提取CA2的公钥验证临时转换证书Cert2#中签名的正确性,若正确,Server2接受用户U1的身份,完成对U1的匿名身份认证,并将Cert1添加到认证列表中保存,同时发送认证响应信息给U1。

③用户U1根据收到的认证响应信息,验证Server2身份的真实性,以确认Server2是否是其想要访问的资源服务器;U1完成身份认证后,也会将Server2的相关身份信息和证书保存到U1的认证列表中。

4)后续跨域认证

当用户与资源服务器通过首次认证后,后续的认证过程将会大大简化,其基本工作方式如图5所示。

图5 CDSSM模型的后续跨域认证

①用户U1发送包含其身份信息、Server2公钥、密码和时间戳等相关信息的认证请求信息给资源服务器Server2。

②资源服务器Server2收到认证请求信息后,按照如下步骤进行身份认证。

步骤一,根据TID1在认证列表中查找该用户,并判断其密码是否正确,若不正确,则返回密码错误信息给用户U1,否则,转入步骤二。

步骤二,从U1的证书Cert1中提取公钥,验证其身份的正确性,若验证不能通过,则跨域认证失败,否则,转入步骤三。

步骤三,验证存储的临时证书的有效性,若超出证书的有效时间,则认证失败,否则,认证通过。资源服务器Server2发送重复认证响应信息给用户U1,并计算与用户U1的会话密钥。

③用户U1收到认证响应信息后,验证Server2身份的真实性,若验证通过,则Server2即为用户U1要访问的文件fn的资源存储服务器Server2,同时计算文件传输过程中的会话密钥。

2.1.2 存储安全管理工作方式

通过上述方式完成用户U1的身份认证后,下面来介绍一下用户U1访问资源服务器Server2中文件fn的过程。CDSSM模型的存储安全管理工作方式如图6所示。

图6 CDSSM模型的存储管理工作方式

1)密钥更新与管理

本系统基于PKI技术,故密钥分为公钥和私钥。公钥是各认证中心发给相关信任域内的用户持有,凡用公钥加密的数据,均可用配套的私钥解密。在相关的密钥信息中包含时间戳,可以根据需要设置各密钥的有效期。

2)数据文件加密

对数据文件的加密可以采用收敛的加密方案[11],即根据数据明文的某些属性生成密钥,同时对数据本身加密。可以采取如下的方案加密。首先,将数据文件分成合适的文件块,对每个文件块的加密密钥均结合明文和随机数生成。用ai标记该文件块是该文件的第n个文件块,H是文件块的哈希函数值,Ri为任意随机数,则密钥可表示为SK=ai +H(文件块) +Ri。这样的密钥生成方式在保证数据保密性的同时可以校验数据的完整性,密钥会随着数据的变化而变化。

3)确定文件存放位置

合法用户U1查询数据文件fn的位置,Server2确定fn的物理存储位置Serveri,并运用Server2私钥对存储位置加密,将加密后的位置返回给用户U1。

4)数据文件解密

用户接收到加密的存储位置后,用事先协商的会话密钥解密,从而得到有效的fn文件的存储位置。Server2在指定存储位置取得事先加密的fn文件,同时发送给用户U1。用户U1获得数据文件fn的加密数据块后,在本地进行解密计算,访问解密后的数据。

3 跨域安全存储的测试与评估

为证明CDSSM模型的有效性,笔者进行了系列实验,实验环境如下。存储服务器使用联想(Lenovo)IBM X3650 M5 机架服务器主机(OA/ERP服务器)。存储服务器共3组,分别位于校园网的不同教学楼内,属于PKI的不同信任域。为方便实验,本实验方案中将LDAP服务器和认证中心CA服务器合二为一,该服务器的配置为:联想(Lenovo)IBM X3650 M5。认证代理服务器Agent的配置为:联想(Lenovo)IBM X3650 M5。客户端为华硕笔记本电脑。

3.1 安全性分析

由PKI的基础知识可知,CDSSM模型的安全性主要在证书申请和跨域认证阶段。

3.1.1 证书申请阶段的安全性分析

给定CA1 和CA2的私钥,使用文献[12]的安全通信协议为代理者Agent生成一个重签名密钥,由文献[12]可知,该密钥是正确的,且不可伪造。

3.1.2 跨域认证阶段的安全性分析

在跨域身份认证中,允许使用匿名身份信息进行身份验证。CDSSM模型的验证过程中只有保证成果完成身份认证的用户才有可能进行匿名验证,而匿名证书的有效期很短,可以保证在后续跨域认证中临时身份的有效性。如果云资源服务器Server2收到的信息为虚假信息,Server2会将相关信息发送给CA1验证其其证书CERT1的合法性,如果CA1证实该消息确实虚假,则CA1会将CERT1’和Cert1同时加入证书撤销列表(Certificate Revoke List-CRL)中,反馈结果给资源服务器Server2。上述分析说明,CDSSM模型的匿名行为是可控的。

CDSSM模型可以有效抵抗重放攻击,这是因为在身份认证和消息传递过程中,会话标识信息、随机数和时间戳等信息均有效的标识了认证与消息传递过程,如果攻击者替换认证消息中的身份标识,因为证书信息是事先保存的,故无法保证其身份信息和证书信息的完全匹配,所以无法完成认证,从而保证了本模型可以有效抵抗替换攻击。

3.2 安全性能分析与测试

从上述安全管理认证工作方式的过程可以看出,CDSSM模型的安全性能损失主要出现在证书申请和跨域认证两个阶段。在证书申请阶段,CDSSM模型为了安全送达用户的真实身份,对身份信息进行加密传送;为了保证CERT和CERT′合法性,又对证书进行了两次签名;这一次加密和两次签名,可以充分发挥PKI技术的优势并有效保护用户的隐私,从而更适合于云计算的环境。在首次跨域认证阶段,Server2与用户和Agent分别进行了两轮消息通信和证书转换,安全性能损耗较大,但首次跨域认证只发生一次,相比较后续跨域认证阶段节省的安全性能损耗是值得的。

图7 重复跨域身份认证效率与消息长度关系图

从图7可以看出,CDSSM模型的重复跨域身份认证的效率均在50%以上,当消息长度在3 MB左右时,认证效率接近80%,效率很高,说明该模型用于跨域身份认证是可行的。

3.3 读写性能分析与测试

从存储管理工作方式的分析中可以看出,读写性能的损失主要集中在文件的加解密上。采用本文所述方式针对不同的文件大小所需花费的文件读写访问时间如图8所示。

图8 文件读写性能测试结果图

从图8可以看出,数据的读写性能主要跟文件的大小成正比,也就是说本文采用的数据加解密技术并未给数据

的访问额外造成过多的负担,故本模型可以应用在云环境中的跨域数据访问上。但随着文件规模的增大,时间开销基本呈线性增长,增长速度较快,所以后续还应适当考虑针对大文件的数据块分割新方法,以提高大文件的访问效率。

4 结语

本文研究了云计算环境下的跨域安全存储模型,提出了跨域安全身份认证策略和存储访问策略。在安全认证中,提出了采用认证代理解决异域用户身份认证的问题,在未降低本域用户只信任本认证中心的前提下降低了异域用户身份认证的复杂度,虽然首次认证需要额外开销,但因重复身份认证发生的概率接近80%,所以从整体认证的角度,减少了认证的时间开销。在存储管理中,通过增加数据的加解密环节,可以有效避免存储网络内部的攻击,提高存储系统的安全性。

猜你喜欢

跨域公钥密钥
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
幻中邂逅之金色密钥
幻中邂逅之金色密钥
G-SRv6 Policy在跨域端到端组网中的应用
密码系统中密钥的状态与保护*
创建KDS根密钥
神奇的公钥密码
国密SM2密码算法的C语言实现
基于身份的聚合签名体制研究