随着计算机及信号处理技术的发展,基于云平台的数据计算及存储模式得到广泛的应用。与传统单中心处理模式不同,云平台将一个复杂程序进行并行化处理,划分为耦合性较小的若干子进程,利用调度程序(如PBS,Lustre等)将子进程分配至分布式的计算节点,若各子进程之间有数据交互,则通过IB、万兆光纤网络进行交换,GPFS文件系统对数据进行存储[1]。云计算信息共享平台极大的提高了算法效率,且有效利用了计算及存储资源。
由于逻辑划分的各计算及存储资源物理位置可以不同,当子进程进行数据交互及计算结果异地存储时,较易受到外界攻击。可以通过截取网络交换及存储过程中的数据来获取计算结果,所以云平台安全策略必不可少。
本文研究了云平台数据及存储架构,对交换及存储中的数据服务使用了双重加密机制及数据冗余校验策略,有效保障了数据服务的安全性,最后给出了实现流程。
1 云计算信息共享平台存在的分享随着云技术的发展,云计算信息共享平台分为私有云(PAAS)、公有云(SAAS)及混合云,私有云在局域网内部实现,通过统一接口与Internet连接,外部不能直接访问内部服务器;公有云中的分布式节点都与Internet连接;混合云介于两者之间[2]。在技术上存在如下风险:
① 访问接口风险:无论私有云还是公有云,用户可以通过Internet接口对云平台进行访问,若接口安全性存在漏洞,较易遭受到外界的Web浏览器中的病毒入侵。
② 数据传输风险:由于所有云平台中的计算及存储资源都是分布式的,可置于不同的物理地址,而一个程序并行化后各子进程在不同的计算节点执行,执行过程中的数据传输存在风险。
③ 数据存储风险:云平台一般利用并行文件系统统一存储,其上传或下载数据交易造成数据丢失及泄漏风险。
④ DDoS攻击:若云平台中的计算存储资源被恶意侵占,若缺乏安全识别技术,则所有待分配正常程序将堵塞。
2 云平台中的数据传输安全策略 2.1 云平台中数据安全策略按照云平台的程序执行及访问顺序,将整个系统分为客户端、调度管理端及计算存储子节点端三大部分:
① 客户端
用户可以通过各类客户端(移动端、PC电脑端等)接入云计算信息共享平台。由于客户端与Internet连接,外界可以通过在客户端移入木马等病毒程序获取云计算平台与客户端的数据,从而解析出各计算及存储子节点IP、端口信息,所以客户端与云平台的接口数据需要进行加密。
② 调度管理端
调度管理端对客户端提交的程序进行任务划分,并调度至各子节点进行运算,其资源调度流程如下图所示:
如上图所示,客户将执行程序发送至调度管理端,调度管理端根据子进程大小按照负载均衡原则分配计算资源[3],并将各计算资源的IP、端口返回给客户端,最后客户端与计算资源直接进行通信。
③ 计算存储子节点
是执行程序的服务器,且并行化后的子进程之间有数据通信,较易遭受攻击,需要消息鉴别策略对数据进行保护。
2.2 加密及消息鉴别安全策略实现加密技术使得攻击端在截获云平台中的数据流时,很难解析出平台中各分布式节点服务器的IP、端口信息,从而保护了云平台。
加密有对称与非对称2种方式[4]。其中,对称算法为单密匙方式,解密端得到解密密匙后,可以推导出加密密匙。对称方式实现方式简单,但若攻击端截取数据进行破获解密密匙后,则整个云平台各节点的加密方式都会攻破。
非对称方式是一种双密匙方式,通过 < 公匙、私匙 > 双重加密方式,私匙保存在管理员手中,定期进行更新,解密端只有获取私匙才可以对数据进行解密,公匙破获后并不能推导出私匙。相比于对称加密算法,非对称方式加密性能更好,但是算法复杂度相对较高,对于并行进程中存在大数据交换的算法有一定局限性。
本文将对称加密与非对称加密有效结合,利用了对称加密中的DES算法与非对称加密中的RSA算法实现了云平台数据传输加密,整个执行步骤如图 2所示。
当客户端与计算子节点建立连接后,分布式服务器首先产生RSA非对称密匙,并转发给客户端,客户端利用自身的DES对称密匙与RSA对程序进行加密,同时将DES发送给计算子节点,则双方在数据交换时可以通过DES与RSA进行双重加密及解密。
通过上述加密方法可以确保云平台中的计算资源及端口不被获取,但是并不能确保数据被截取后不被窜改,通过消息鉴别算法可以防止基于云平台的消息传输被正确识别。
客户端在与云平台进行交互时,对自身的消息首先通过MD5结合哈希函数(Hash)[5]求出需要发送的消息识别码(Mac),传输的消息包含有用信息及附属的Mac识别码,并通过DES对称密匙及RSA非对称密匙对消息进行加密;云平台服务端接收到消息后,首先进行解密,同样采用MD5结合哈希函数(Hash)求得有效信息的Mac识别码,并与接收的Mac识别码进行比较,若一致则表明消息在传输过程中没有受到串改,否则丢弃。
3 利用安全策略的完整数据流程 3.1 加密及消息鉴别安全策略实现下图给出了使用数据加密及消息鉴别安全策略的云平台数据交互完整流程:
如上图所示,初始阶段调度管理服务器通过保存的node.dat获取分布式的计算节点IP、端口信息,与其建立链路,并获取各节点的负载。当客户端向管理服务器申请资源时,管理服务器按照负载均衡算法分配负载最小的计算资源。随后客户端与计算子节点直接建立连接,在数据及消息传输时,利用2.2节的加密及消息鉴别算法实现数据交互。
通过RSA非对称密匙与DES对称密匙相结合的加密算法及消息鉴别有效防止了云计算信息共享平台中数据交互被外界攻击及篡改,提高了整个平台的数据安全性。
3.2 系统的核心模块设计整个系统分为客户端、调度管理端、DES加密模块、RSA加密模块及消息鉴别模块,由于篇幅限制,在此描述了DES加密模块实现。
调用CDesOperate类进行初始化,通过16次迭代算法在第1个周期类生成了密匙,同时生成了加解密过程需要调用的6个函数:HandleData ()、MakeData ()、Makekey ()、MakeFirstKey ()、GenerateDesKey ()、Encry ()。
在加密端,加解密过程中首先调用HandleData (),用户输入密码时调用MakeFirstKey ()函数生成初始密匙,其次调用MakeData ()生成加密后数据。
解密过程与加密相反,首先调用GenerateDesKey ()及Makekey ()生成解密所需的DES密匙及子密匙,最后调用Encry ()进行解密,得到原始数据。
4 结语本文分析了基于客户端、调度管理端及计算存储子节点的云平台数据交互流程,实现了双重加密及消息鉴别安全策略,有效提升了系统安全性。
[1] | 冯登国, 张敏, 张妍, 等. 云计算安全研究[J]. 软件学报, 2011, 22 (1): 71–83. |
[2] | 冯登国. 国内外密码学研究现状及发展趋势[J]. 通信学报, 2002, 23 (5): 18–26. |
[3] | DEAN J, GHEMAWAT S. MapReduce:Simplied data processing on large clusters[J]. Proceeding of the 6th Symposium on Operating System Design and Implementation, New York, 2004 : 137–150. |
[4] | CHANG F, DEAN J, GHEMAWAT S, et al. BigTable:A distributed storage system for structured data[J]. ACM Transaction on Computer Systems, 2008, 26 (2): 12–26. |
[5] | ZHUN C, KONG FY, YU J, et al. An improved mypruxy system in grid by using hardware security devices[J]. Proceedings of 6th international conference on hybrid information technology, 2006, 9 (11): 89–97. |