杨照峰, 张睿哲,赵伟艇
(1.平顶山学院 软件学院,河南 平顶山,467002;2.平顶山学院 计算机科学与技术学院,河南 平顶山,467002)
一般来讲,云端由多个云计算服务提供商共同组建.从系统构成上看,云计算系统由多种类型的计算机、存储设备、通讯设备和在这些设备上运行的软件系统组成[1].
云计算的数据安全不仅集中在数据传输过程中,还包括云端中存储数据的系统安全和数据保护.云运营商必须注意可能发生的问题,并具备完善的数据库和文件管理能力,特别是当有很多云用户在客户端上访问相同的文件时[2].在云计算领域,有关云安全的研究工作是重要分支.很多研究机构致力于发展云安全解决方案和相关标准的制定[3].这些研究针对云计算的特点和系统架构,提出了各自的安全模型.Forrester根据大量公司云服务的实际经验,建立了基于服务质量评估的统计模型,用于评估云安全的质量.他指出,一个典型的云安全架构,至少可以同时容纳5至15个应用程序运行[4].VPN-Cubed模型也是一个典型的云安全框架.在它的机制下,无论是单一的云或者多个云形成的混合系统,都可以限定在一个基于基础设施的安全边界内[5].Vertica在Amazon EC2云端布置数据库,并设置VPN链接和防火墙保护,实现了较好的数据库安全保护性能[6].Zetta从数据完整性的角度出发,建立了满足服务需求的云数据存储安全系统.他认为,数据的完整性意味着的系统不损坏和数据的不丢失,即使在巨大的云端或者很长的服务时间内[7].为了充分达成这种完整性,Zetta利用冗余阵列的6个结点,实现了云端主要数据的服务托管.本文从进一步提高云数据存储安全性能的角度出发,提出了一种基于多Agent的云数据存储安全框架.
为了保证云数据存储的安全性真正得到落实,需要切实注意以下几个重要属性,包括保密性、正确性、可用性和完整性[8-12].
1) 保密性.在云计算中,保密性扮演一个非常重要的角色.特别是在分布式云服务器或云计算存储器对组织数据进行控制维护时,保密性显得尤为关键;
2) 正确性.在安全性要求层面,云数据应该保存完整并正确保存.即便是在云用户修改、删除或追加云服务需求的时候,也应该采用相同级别的云数据存储正确性标准;
3) 可用性.在云计算中,可用性是最关键的信息安全要求之一.因为在云供应商之间时完成供需交付时,可用性是有关云服务能否建立的决定性因素;
4) 完整性.在云计算领域,完整性要求确保云计算中数据的原子性、一致性、隔离性和持久性,是达成云安全的重要因素.
实际上云服务在很大程度上,是通过在网络上交换消息的代理实现的.而整个云服务的质量和安全性能,又在很大程度上取决于各个服务结点的交互性、协调性、反应性和学习能力.云服务的这些性能,和当前比较流行的多Agent具有较好的对应性.每一个Agent都应该是具有一定适应性和自主能力的主体.
一个Agent单元的能力是有限的,但当多个Agent形成一个Agent系统时,其能力会十分强大并可持续增强.当多个Agent一起工作时,又通过良好的协同性实现有机连接.多Agent系统和云存储、云计算乃至整个云服务的情形非常相似,每一个Agent单元都可以解决一类问题,也可以向其它Agent请求服务.正是受到多Agent系统和云服务的这种对应性启发,才形成了本文云数据存储体系结构的设想.
为了更好地达成用户上传数据和请求服务的安全性,本文建立了一种两层云安全框架,一层是云数据存储层,一层是基于多Agent的代理服务层.如图1所示.
1) 云数据存储层.云数据存储层中有2类实体可以确定:一是云服务用户,他们将数据存储在云中,依靠云进行数据计算,云用户又分为个人用户和组织用户;二是云服务提供商,他们负责建设和管理分布式云存储服务,拥有大量的资源和专业知识,并掌管云计算系统;
2) 基于多Agent的代理服务层.这一层的核心结构应包括用户界面,用户界面实现了用户和各个功能Agent单元的沟通.其内部的详细结构如下节所述.
在基于多Agent的代理服务层中共设置了5种类型的Agent:供应商Agent、保密性Agent、正确性Agent、可用性Agent、完整性Agent.整个多Agent服务层的体系结构如图2所示.
2.2.1 供应商Agent
供应商Agent与云服务系统通过接口连接,并允许云用户与安全服务环境进行交互.供应商Agent为云用户提供图形化界面,来方便系统和云计算用户之间的交互.供应商Agent的行为需要在实际的云服务供应商控制下进行,其承担的任务如下:
1) 接收提供安全服务的任务,根据授权服务协议向保密性Agent、正确性Agent、可用性Agent、完整性Agent发送信息;
2) 显示供应商Agent和系统其余部分所指定的安全政策;
3) 接收安全报告,并通知其它Agent;
4) 翻译袭击的目标;
5) 监测有关的云数据存储器或特定云用户的活动;
6) 创建安全报告并形成警报.
2.2.2 保密性Agent
保密性Agent主要负责为云数据存储器设置有关保密的安全策略,尤其是在建立新的访问控制时,此Agent将负责授权认证的访问控制列表.保密性Agent还要为每个云用户提供来自供应商定义的接口和数据结构.为了达成这一目的,在保密性Agent中要设置一种基于云的数据访问控制策略,它能够为每个用户的访问结构定义相应的数学公式.保密性Agent还可以通过安全性报告或安全警报的方式,通知供应商Agent所发生的技术故障.
把由数据访问控制策略形成的公式,定义为安全公式.这个公式的得出,需要根据整个云服务的多Agent架构,而不是服务商的主观臆断.它的具体设置通过要用户完成.安全公式是系统使用的一个额外的保密性层,以验证云用户的登录和操作是否正常.如果你是一个云的用户,在第一次登录时,需要先注册到系统中,并填写有效的电子邮件和输入安全公式.安全公式将被发送到你的电子邮件,以备后续的一系列安全保护所用.需要指出的是,安全公式不是密码.以登陆为例,施加安全公式的登陆步骤为:
1) 输入你的云用户ID;
2) 验证安全公式是否正确;
3) 输入密码确认.
保密性Agent保证的是,即使密码是正确的,但安全公式不正确,那么将不能够登录.保密性Agent的体系结构由5个模块组成,如图3所示.
云通信模块负责保密性Agent和其它Agent的信息交互,云注册模块负责保密性Agent的登记功能,云需求管理模块允许保密性Agent充当请求调度中心,云资源管理模块负责管理云资源的使用,云推理模块是保密性Agent的指挥中枢.当需求管理模块接收请求时,它们通过资源模块利用从知识库中获得的信息和可信度评判准则将这些请求传递到推理模块.
2.2.3 正确性Agent
正确性Agent负责云数据存储的安全政策的正确性保证.它可以执行不同的块级操作,并生成正确性保障.当云用户执行更新操作、删除操作、添加操作、修改操作或插入操作并出现错误时,正确性Agent通知供应商Agent发送安全性报告或报警.正确性Agent的体系结构由4个模块组成,如图4所示.
云通信模块保证正确性Agent与供应商Agent之间的信息交互.云推理模块在所需的服务级别协议上,计算出必要数量的云资源来完成服务,通过利用从知识中所获得的信息和正确性准则确保正确性的实现.当云用户执行更新、删除、追加、插入操作时,云服务模块执行块级的加密和解密操作.云协调模块掌控一系列协调机制,具体如下:
1) 如果数据被更新,执行数据加密操作;
2) 如果数据被删除,执行数据加密操作;
3) 如果数据被追加,执行数据加密操作;
4) 如果数据被插入,执行数据加密操作.
云协调模块还为更新、删除、追加、插入设置了对应的优先级,分别是00、01、10、11.
2.2.4 可用性Agent
可用性Agent负责云数据存储器的可用性安全策略,它通过文件分发和文件检索技术,保持和供应商Agent的联系,并发送安全报告和报警.在可用性Agent的保护下,恶意用户对于云资源的调度将无法执行.不仅如此,可用性Agent可以用于解决分布于各个云结点的故障.
为了进一步增强可用性Agent的功能,本文为其设置了本地云攻击和全球云攻击的预防.全球云攻击一般会被分解到云结点,形成本地云攻击.从一般的云安全保障机制来说,只能抵御本地云的攻击.通过可用性Agent,试图突破云数据存储器的范围界限,形成对本地云攻击和全球云攻击的双重抵御能力.为此,我们将来自全球云攻击的风险概率设置为1,而本地云攻击的风险概率设置为(0,1)之间的数.
可用性Agent的体系结构如图5所示,它包括3个模块.其中,云通信模块负责可用性Agent和供应商Agent之间的交互.云服务模块将分散冗余的数据文件,可以重建为用户可用的数据矢量.云推理模块结合知识库信息和可用性评判准则,可以处理服务器的异常行为以及来自云外的合谋攻击.
2.2.5 完整性Agent
完整性Agent负责云数据存储安全策略的完整性.它用来保证云用户从服务器下载数据的完整性,或者利用分散的数据进行数据重建.它还会定期向供应商Agent发送安全性报告和报警.报警一般在以下情况发生:
1) 云数据输入时的人为错误;
2) 云数据从一台计算机传输到另一台计算机时发生的错误;
3) 软件错误或病毒;
4) 硬件故障,例如磁盘崩溃.
完整性Agent的体系结构,一般包括3个模块.云通信模块负责完整性Agent和其它Agent的信息交互.云资源管理模块负责数据备份的手动操作.云推理模块根据知识库和完整性规则,检查数据备份失败的原因.
云计算兴起的时间比较短暂,因此有关云安全的研究尚未形成统一的测试方法和流程.另外,云计算平台本身就是一种服务性质的平台,对其各种评价往往需要借助用户的感受,即主观评价.为了测评本文设计的基于多Agent云数据存储框架的性能,实验构建了相应的云服务模拟程序(包括安全性,保密性,正确性,可用性,完整性),并邀请经常使用云服务的 1 500 位用户进行实际使用,进而通过这些用户对使用效果的评价来判别本文云安全框架的效果.为了增加评价过程的科学性和可信性,实验为每位用户设置了相同的提问项.这些问项涵盖了对云安全框架性能的考察,每项问题的分值设置为1、2、3、4、5五个等级.具体的问项及 1 500 个用户的得分统计结果如表1所示.
表1 问项统计结果
从表1的统计结果可以看出,1 500位云用户对于本文基于多Agent的云安全框架给与了较高的评价.
为了验证这种主观评价的可靠性和可信性,本文采用了统计学当中常用的信度分析和因子分析,执行平台选用了SPSS软件.统计数据的信度分析基本理论认为,利用同样的方法对同一数据反复测量,如果能得到接近一致的结果,即证明了统计数据对真实情况具有较好的反映.这种信度分析的早期方法是系数检测法,一般认为:系数在0.5以上时统计数据具有可信的信度,在0.35以下为不可信.经过信度分析后,再利用KMO分析和巴氏球体检测进行因子分析.对于KMO分析而言,KMO系数在0.6以上为可靠,在0.5以下为不可靠.以此理论作为基础,本文对5个分级指标进行了信度分析和因子分析.相关结果表明,安全评价的各分级指标:安全性、保密性、正确性、可用性、完整性的系数都大于0.6,从而证实了表1的统计结果具有较高的可信性,可以用于因子分析.具体分析结果如表2所示.
表2 信度分析结果
进一步进行因子分析,其KMO系数为0.930,可以进行巴氏球体检测.巴氏球体检测的显著概率低于0.01,从而证实了本文统计结果的可靠性.经过以上一系列的统计分析,充分证实了我们对1 500个云用户问项数据的可靠性和可信性,也间接地证实了本文所设计的云数据存储安全框架的有效性.
本文借助多Agent系统灵活方便、交互性强、学习性强的特点,建立了基于多Agent的云数据存储安全体系框架.结果表明,本文设计的云数据存储安全框架具有良好的安全性能.
参考文献:
[1] ARMBRUST M, FOX A, GRIFFITH R, et al. A view of cloud computing[J]. Communications of the ACM, 2010, 53(4):50-58.
[2] STILLWELL M, SCHANZENBACH D, VIVIEN F, et al. Resource allocation algorithms for virtualized service hosting platforms[J]. Journal of Parallel and Distributed Computing, 2010, 70(9):962-974.
[3] 杨娜娜, 王杨, 陈付龙, 等. 基于移动Agent的云计算身份认证机制研究[J]. 计算机应用研究, 2012, 29(10):3812-3815.
[4] 冯登国, 张敏. 云计算安全研究[J]. 软件学报, 2011, 22(1):71-83.
[5] 罗长远, 霍士伟. 普适环境中基于身份的跨域认证方案[J]. 通信学报, 2011, 32(9):111-115.
[6] WANG C. A close look at cloud computing security Issues [J]. IEEE Transaction on SMC, 2009, 12(9):544-551.
[7] TALIB A M, ATAN R, ABDULLAH R, et al. Towards new data access control technique based on multi agent system architecture for cloud computing[M]//Digital Information Processing and Communications. Berlin Springer, 2011:268-279.
[8] TALIB A M, ATAN R, ABDULLAH R, et al. Multi agent system architecture oriented prometheus methodology design to facilitate security of cloud data storage[J]. Journal of Software Engineering, 2011, 5(3):78-90.
[9] WARNEKE D, KAO O. Exploiting dynamic resource allocation for efficient parallel data processing in the cloud [J]. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(6):1045-9219
[10] XUA B, GUANB Q, CHENA K. Multi-agent coalition formation based on quantum-behaved particle swarm optimization [J]. Journal of Information & Computational Science, 2010,7(5):1059-1064
[11] KONG X, LIN C, JIANG Y, et al. Efficient dynamic task scheduling in virtualized data centers with fuzzy prediction[J]. Journal of network and Computer Applications, 2011, 34(4):1068-1077.
[12] 吴建国.基于电子商务协同平台的云计算模式分析[J].云南师范大学学报:自然科学版,2012,32(4):43-46.