APP下载

云计算中一种分布式缓存加密存取方法*

2016-04-13曾国荪

网络安全与数据管理 2016年2期
关键词:计算环境解密加密

郭 栋,王 伟,曾国荪

(1.同济大学 计算机科学与技术系,上海 201804;2.国家高性能计算机工程技术研究中心 同济大学分中心,上海 201804)

云计算中一种分布式缓存加密存取方法*

郭 栋1,2,王 伟1,2,曾国荪1,2

(1.同济大学 计算机科学与技术系,上海 201804;2.国家高性能计算机工程技术研究中心 同济大学分中心,上海 201804)

分布式缓存是云计算系统中提高应用程序性能的重要手段,针对云计算环境中分布式缓存的隐私问题,提出一种基于中国剩余定理的轻量级分布式缓存数据加密存取方法。该方法能够保护缓存数据的机密性,防止云计算环境中的其他用户、平台提供商或者攻击者获取明文缓存数据,且能够较好地保证缓存系统的性能,最后通过实验证明了该方法的有效性。

分布式缓存;云计算;中国剩余定理;对称加密

0 引言

随着云计算技术发展的不断深入,越来越多的应用从传统IT架构迁移到了云计算环境,利用云计算的弹性资源分配和分布式处理技术,增强了应用系统的稳定性,也方便应用的快速部署和按需扩展[1]。为了进一步提高系统的性能,分布式缓存技术得以引入,为用户提供高性能、高可用、可伸缩的数据缓存服务,解决传统数据库面临的大规模数据访问的瓶颈问题。

当前,云计算中的分布式缓存技术已有较多的研究。现有的分布式缓存产品已有不少,如Memcached[2-3]是一个高性能的分布式内存对象缓存系统,用于动态Web应用数据以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高Web应用的性能。目前各云计算平台的缓存系统大多基于Memcached开发,被Amazon Web Services[4]、Google App Engine[5]、Sina App Engine[6]、阿里云、盛大云等在内的多家知名云平台企业使用。而上述系统主要特征体现在其分布式算法、数据分区、数据一致性以及身份认证方面[7],对数据隐私方面考虑欠缺[8]。总而言之,目前关于分布式缓存系统的研究主要集中于其性能的提升,对分布式缓存系统的隐私性和安全性研究尚不充分。

1 相关研究

1.1 云计算中分布式缓存技术

分布式缓存将数据分布到多个缓存服务节点,在内存中管理数据,对外提供统一的访问接口,基于冗余备份机制实现高可用支持。

当应用程序需要缓存数据时,客户端通过相应的分布式算法获得key对应的存储节点,然后客户端通过TCP/IP协议将数据发送给缓存服务器,缓存服务器调用本地Memcached服务将数据缓存在内存中。类似的应用程序读取缓存时,首先通过分布式算法获得key所在节点,然后通过网络获取相应的数据。由于Memcached本身没有加密处理的功能,数据的存储往往是明文形式的,攻击者、用户或者系统管理员很容易获得缓存内容,从而造成了分布式缓存系统的安全性隐患[8]。

为了解决云计算中分布式缓存系统存在的上述安全问题,传统的加密方案如AES、DES、3DES、IDEA[9]等虽然可以很好地完成加解密工作,但是其运算过程比较复杂,会导致分布式缓存系统的性能大幅下降,需要设计更加轻量级的加密算法。本文利用中国剩余定理,构造一种轻量级的分布式缓存加密存取方法,下面将进行详细的描述。

1.2 中国剩余定理

中国剩余定理[9](Chinese Remainder Theorem, CRT)亦称孙子定理,它描述了根据正整数的同余理论求解某一未知正整数的方法,具体可描述如下:

如果m1,m2,…,mn是两两互素的n个正整数,那么对任意整数a1,a2,…,an,构造一元线性同余方程组:

(1)

方程组S必有解,解的形式为:

(2)

其中:

(3)

(4)

(5)

根据式(2),可得S的最小正整数解为:

(6)

基于上述中国剩余定理,可以构建相应的数据加密与解密方法。

2 云计算中分布式缓存加密存取方法

2.1 加密过程

在一个云计算环境中,假如某一应用需要将数据D安全地存到分布式缓存系统中,需要经过下面的步骤实现原始数据D到密文X的变换。

(1)首先将D按字节顺序分成N组G1,G2,…,GN,每组包含Bbit,每组Gi(i=1,2,…,N)再分为n个单元u1,u2,…,un,每个单元包含bbit。则可以将D划分为一个N行n列的矩阵:

(7)

(2)选取n个互素的整数m1,m2,…,mn,且满足条件:

mj>uij(j=1,2,…,n;i=1,2,…,N)

(8)

即保证mj大于矩阵中第j列的所有元素。

(3)对矩阵中的每一行ri(i=1,2,…,N)进行如下变换操作:

构造如下一元线性同余方程组:

(9)

根据式(6)可得式(8)的解为:

(10)

则可得变换后的矩阵为:

(11)

(4)最后将x1,x2,…,xN按顺序连接即可得到加密后的密文X:

X=x1⊕x2⊕…⊕xN

(12)

经过上述计算得到加密后的密文X后,保存密钥(N,m1,m2,…,mn),同时调用分布式缓存系统的API对加密数据进行缓存,这样就完成了缓存数据的加密存储过程。

2.2 解密过程

解密过程相对于加密过程来说是很简单的,对于经过上述加密过程加密的缓存数据X,需要经过下面几步完成X到D的变换。

(1)将X平均分成N组x1,x2,…,xN,得到加密后的数据矩阵:

P′=[x1,x2,...,xN]T

(13)

(2)对每一行xi构造如下同余方程组

(14)

则可以将xi解密为ui1,ui2,…,uin,也就恢复了原始数据矩阵P;

(3)将得到的原始数据矩阵按先行后列顺序进行连接即可得到原始数据D:

D=u11⊕u12⊕…⊕u1n⊕u21⊕u22⊕…⊕uNn

(15)

显而易见,这是一种对称加密模式。

2.3 参数取值约束分析

对于计算机来说,目前常见的处理器最多能处理64位的字长整数,在实际的系统中必需考虑这个因素。

首先,m1,m2,…,mn取值的选取需要保证式(3)中的M不超过264,则:

(16)

又根据式(8)的约束,需要原始数据矩阵P中的每个元素大小在合理的范围内。假设P中每个单元的数据长度为bbit,根据式(8)和式(16)可得,对P中任意一行ri(i=1,2,…,N),有:

(17)

(18)

所以:nb≤64

(19)

综上,在实际的系统中,可以根据加密数据规模的大小,选择不同的约束方式来加快加密的过程。

3 实验与结果分析

3.1 实验环境与方案

为了测试本文提出方案的可用性和有效性,基于分布式Memcached环境,采用3台PC构建小型云计算环境和分布式缓存系统,一台作为应用服务器,另外两台PC构成分布式缓存环境,各节点之间通过百兆以太网连接。

为了排除分布式算法造成的影响,实验统一采用简单的哈希算法进行数据映射,即:

Nodeid=Hash(key)%2

(20)

将本文提出的方法命名为SCHE方法,不加密的方法命名为NSCHE。实验由两部分构成:

(1)对不同大小的数据进行加密缓存,分别使用NSCHE、SCACHE、DES、3DES、AES对数据进行加密,然后存储到对应的存储节点。计算循环100次的时间消耗,比较各种加密方法的时间消耗情况。

(2)对(1)中加密的数据进行读取,分别使用相应的解密方案还原原始数据,循环100次,比较各种解密方法的时间消耗情况。

3.2 实验结果分析

对于3.1节中的实验方案,得到的实验结果如图1和图2所示。

图1 不同加密模式时间比较

图2 不同模式解密时间比较

从图1中可以看出,本文的方案与不使用加密方法的时间消耗相差不大,而其他几种方案造成了明显的性能影响。另外,图2显示了本文方案的解密过程与不使用加密的效果相差无几,而其他方案需要较多的额外时间开销。通过上述实验,可以验证本文提出方法的有效性。

4 结论

本文针对目前云计算环境中分布式缓存系统存在的安全性问题,提出一种基于中国剩余定理的分布式缓存加密存取的方法,该方法能够保证云环境中缓存数据的机密性,且效率高于目前主流的复杂加密方案,能够满足云环境中分布式缓存的性能需求。当然,该方案仍有许多不足,比如不能解决缓存数据篡改的问题,未来工作希望能够从多个角度优化系统的安全措施,提高云计算中分布式缓存系统的安全性,从而进一步提高云计算系统的安全性。

[1] Wikipedia. Cloud computing[EB/OL]. [2015-09-01].http://en.wikipedia.org/wiki/Cloud_computing.

[2] JOSE J, SUBRAMONI H, Luo Miao, et al. Memcached design on high performance RDMA capable interconnects[C]. 2011 International Conference on Parallel Processing(ICPP), 2011: 743-752.

[3] Memcached: high-performance, distributed memory object cachin system[EB/OL]. (2011-00-00) [2015-09-01]. http://memcached.org.

[4] VARIA J. Architecting for the Cloud: Best practices[EB]. Amazon Web Services, 2010: 7-10.

[5] BEDRA A. Getting started with Google app engine and clojure[J]. Internet Computing IEEE, 2010, 14(4):85-88.

[6] 丛磊. Sina App Engine 架构—云计算时代的分布式 Web 服务解决方案[J]. 程序员, 2010 (11): 59-62.

[7] 秦秀磊, 张文博, 魏峻, 等. 云计算环境下分布式缓存技术的现状与挑战[J]. 软件学报, 2013, 24(1): 50-66.

[8] 王伟, 曾国荪. 基于 Bayes 认知信任模型的 MANETs 自聚集算法[J]. 中国科学: 信息科学, 2010(2): 228-239.

[9] Wang Wei, Dong Guo, Deng Zhigang, et al. Reachability analysis of cost-reward timed automata for energy efficiency scheduling[C].Proceedings of Programming Models and Applications on Multicores and Manycores, ACM, 2014: 140.

[10] AUTHORS U. 58 performance evaluation of symmetric encryption algorithms performance evaluation of symmetric encryption algorithms[J]. International Journal of Computer Science & Network Security, 2008, 8(12):280-286.

[11] 戴曼琴, 曹卫东. 同余与中国剩余定理[J]. 江苏教育学院学报(自然科学版), 2006,23(4): 59-62.

[12] WANG X, PAN V Y. Acceleration of euclidean algorithm and rational number reconstruction[J]. SIAM Journal on Computing, 2003, 32(2): 548-556.

曾国荪(1964-), 男,博士,教授,主要研究方向:计算机软件理论与并行计算。

An encrypted access for distributed cache in Cloud computing

Guo Dong1,2, Wang Wei1,2, Zeng Guosun1,2

(1. Department of Computer Science and Engineering, Tongji University, Shanghai 200092, China;2. Tongji Branch, National Engineering & Technology Center of High Performance, Shanghai 200092, China)

Distributed caching is an important means of Cloud computing systems to improve application performance. In order to solve privacy issue for distributed cache in Cloud computing environment, a lightweight data encryption access methods based on Chinese remainder theorem is proposed. The method can effectively protect the confidentiality of data cache, and can prevent other users, the platform provider or attackers to obtain the plaintext data cache, with better performance. And the effectiveness of this method is proved by experiment.

distributed cache; Cloud computing; Chinese remainder theorem; symmetric encryption

国家自然科学基金(61272107,61202173,61103068)

TP14

A

1674-7720(2016)02-0001-03

郭栋,王伟,曾国荪. 云计算中一种分布式缓存加密存取方法[J].微型机与应用,2016,35(2):1-3,10.

2015-09-16)

郭栋(1991-),男,硕士研究生,主要研究方向:云计算和分布式系统。

王伟(1979-),男,博士,副教授,主要研究方向:计算机系统结构。

猜你喜欢

计算环境解密加密
云计算环境下网络安全等级保护的实现途径
一种新型离散忆阻混沌系统及其图像加密应用
炫词解密
解密“一包三改”
炫词解密
一种基于熵的混沌加密小波变换水印算法
加密与解密
大数据云计算环境下的数据安全
认证加密的研究进展
云计算环境中任务调度策略