随着通信技术和云计算技术的高速发展,人们在互联网上的数据共享和访问日益频繁,数据的安全性面临着更为严峻的挑战,安全问题已成为阻碍云计算发展的关键因素,也是云计算得以普及的前提。概括地说,云计算是将大量的、可规模化的IT资源作为一种服务通过因特网提供给多个外部用户。在云计算这种新的服务模式下,数据提供者和数据访问者不再是简单的一对一关系,数据提供者将数据存放在第三方云计算服务提供商提供的数据存储中心,数据访问者通过云计算服务提供商提供的多种开发接口而访问数据提供者发布的重要数据。然而,如云安全联盟白皮书所指出的那样,存储在云服务端的数据很可能被非可信的云计算服务提供商或非法用户窃取。因此,针对当前云计算中数据资源所面临的威胁,如何利用有效的安全加密机制来加强数据的安全性、防止数据泄露和加强隐私保护是云安全的一个关键问题。

一、数据加密的基本原理

1、数据加密的基本概念和一般原理

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”。其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

一个典型的数据加密模型如图1所示:

云计算中数据资源的安全加密机制

一个安全的加密技术应该满足五个基本要求:一是必须提供高强度的安全性。二提具有高强度的复杂性,使得破译的开销超过可能获得的利益,同时又便于理解、掌握和推广应用。三是安全性应不依赖于算法的保密,其加密的安全性仅以加密密钥的保密为基础。四是必须适用于不同的用户和不同的场合,加密解密变换必须对所有密钥均有效。五是理想的加密算法应该是对系统性能几乎没有负面的影响。

2、加密算法分类

从密钥的特点来分类,加密算法可以分为对称密码算法和非对称密码算法。对称密码算法又称为传统密码算法,其特点是在加密与解密过程中使用相同的密钥,而与之相对应的是非对称密码算法。顾名思义,非对称密码算法的加密密钥不同于解密密钥,加密密钥(公钥)公之于众,而解密密钥(私钥)却只有解密人自己知道。日常生活中,非对称密码算法又称为公钥密码算法。

(1)对称密码体制

对称密码体制是指加密与解密密钥相同或等价,而且通信双方必须都要获得这把密钥,并保持其机密性。当给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。因为加密解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须相信对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。由于安全强度高,加密速度快,对称加密技术是最常用的加密技术,典型的对称密码算法有DES、AES、IDEA等。

DES(Data Encryption Algorithm)数据加密标准,是一个对称的分组密码算法。加密前将明文分成固定长度的组,用同一密钥对每一块加密,输出也是固定长度的密文,加密过程使用64位密钥来对64位数据块进行加密,并对64位数据块进行16轮编码。64位一组的明文从算法的一端输入,64位密文从另一端输出oDES加密数据速度快、效率高,被广泛用于大量数据的加密。

IDEA (lntemational Data Encryption Algonithm)是国际数据加密算法,它使用128位密钥,每次加密一个64位的数据块。IDEA算法的安全性相对DES算法有很大的提高,其密钥是128位,而且它比DES在软件实现上快得多。

AES (Advanced Encryption Standard)即高级数据加密标准,是一个迭代的对称密钥加密标准,是基于排列和置换运算,现在已经成为新一代的数据加密标准。AES加密的分组长度都是可变的,其密钥可以是128、192和256位密钥,一般较常用的密钥长度是128位,并且可以根据自己的需要选择分组的长度和加密的轮数来保证数据的安全。AES加密与DES相比有很强的保密强度,安全级别较高,且能经受住时间的检验和攻击。密钥的长度及速度都高于DES,且资源的消耗较低,但是同样为对称密钥;密钥必须通过安全的途径传送,密钥管理困难。

(2)非对称密码体制

非对称密码体制要求密钥成对使用,加密和解密分别用两个密钥来实现。每个用户都有一对选定的密钥,一个可以公开,即公共密钥,用于加密;另一个由用户安全拥有,即秘密密钥,用于解密,非法用户根据公开的加密密钥在计算上并不能算出解密密钥p该技术就是针对对称密码体制的缺陷被提出来的。如果—个人选择并公布了他的公钥,另外任何人都可以用这一公钥来加密传送给那个人的消息a私钥是秘密保存的,只有私钥的所有者才能利用私钥对密文进行解密。非对称密码系统可提供以下功能:

1)机密性(Confidentiality):保证非授权人员不能非法获取信息,通过数据加密来实现。

2)确认(Authentication):保证对方属于所声称的实体,通过数字签名来实现。

3)数据完整性(Data integrity):保证信息内容不被篡改,入侵者不可能用假消息代替合法消息,通过数字签名来实现。

典型的公钥密码算法有RSA和ECC。RSA是当前最著名的、应用最广泛的公钥算法,安全性基于大整数素因子分解问题的困难性,它是一种分组加密算法,该算法原理简单,易于使用ECC(Elliptic Curve Cryptosystem)即椭圆曲线密码体制,是建立在求椭圆曲线离散对数困难基础上的,它的安全性依赖于椭圆曲线离散对数问题的安全性,是目前最流行的一种公开密钥密码体制。ECC与RSA方法相比,它的安全性更高,只需要160位的密钥就可以达到1024位RSA算法提供的安全等级,有更好的加密强度,计算量小且处理速度快。

二、云计算环境下数据资源的加密技术分析

在云计算环境中,针对用户数据资源所面临的安全威胁,目前所采用的最基本、最核心的技术是数据加密技术,其利用密码学里的相关技术对信息进行替换或者移位,实现信息隐藏,从而保护信息的安全。然而,随着近年来云计算技术的高速发展,用户在互联网上的数据共享日益频繁,传统的加密体制和方法已经不能适应新的网络环境下层出不穷的应用需求。云计算中数据资源安全加密体制遇到了一些新的挑战,同时也引起了研究界的广泛关注。

1、对称密码体制

数据拥有者首先与数据访问者协商一对加密、解密密钥,然后利用加密密钥对数据进行加密,数据访问者则从数据拥有者或密钥管理中心KCC处获取相应解密密钥(对称密码体制中,解密密钥=加密密钥)。该方案存在的两个主要问题是:第一,每一个数据访问者均需要与数据拥有者协商一对密钥,当访问用户很多时,需要协商的密钥数量将会很庞大;第二,在不安全的网络环境中,密钥将通过什么安全通道进行协商或分发?

2、非对称密码体制

基于对称密码体制下密钥的协商和分发难题,非对称密钥体制用公钥加密,而用私钥来解密,从而实现了加密密钥和解密密钥的分离,但该体制存在两个典型问题:

第一、如何确认公钥的正确性?目前确认加密用公钥的正确性一般是通过设立一个可信第三方(即证书中心CA)来对公钥进行认证,在云计算环境下,用户数量可能会非常庞大,这就对CA的安全性和管理负荷带来了一定的挑战。

第二、当数据拥有者希望共享自己的数据时,需要获得每一个访问用户的公钥来对数据进行加密,而访问用户则凭借自己的私钥对密文进行解密。这种方式对数据拥有者的共享带来了很大的操作负担,每增加一个授权访问用户,就需要去CA获得该访问用户的公钥,对共享数据加密后再进行发布。

3、基于身份的加密体制

针对非对称密码体制下公钥正确性证明需要提供一个CA中心的问题,在基于身份的加密体制下,采用用户的身份信息作为其公钥,从而避免了额外设立CA中心的负担。也就是说,公钥真实性问题和证书管理问题在基于身份加密的系统中就不再需要。但基于身份的加密体制仍存在的问题是,如果数据拥有者希望所共享的数据可以为多个授权用户访问,则同样需要分别采用每个访问用户的身份信息作为公钥来对数据进行加密。

4、基于属性的加密体制

基于用户的身份信息唯一,但其属性可能会有共性的特点,Sahai和Waters在2005年欧洲密码年会上发表了《模糊基于身份加密方案》一文,首次提出了基于属性加密的概念。与基于身份的加密体制中采用用户的唯一身份信息作为公钥不同,基于属性的加密体制采用用户的属性集合作为公钥来对数据进行加密,如果一个访问用户能够解密一个密文,当且仅当该用户的属性集合和密文的属性集合共有属性的数量达到门限要求。在该加密体制中,引入了包含与、或、非,以及门限能力的访问树结构,使得密文可以被多个用户共享。

举一个例子说明:假设系统中门限为3,因此只有用户的属性集合中至少有3个属性与密文属性集合相同,用户才能解密。设a,b,…,h表示系统中的属性,若系统中有三个用户分别为:A(a,b,c,d,e),B(b,c,e,f),C(a,d,g)。现有一个密文,其密文的属性集合为(b,c,d,f)因为系统的门限是3,这就要求解密用户的属性集合至少含(b,c,d,f)中三个或三个以上的属性。从A,B,C三个用户的属性集合可以看出A和B满足条件,他们的属性集合满足了解密条件,能够解密密文。而用户C属性集合不满足要求,因此不能解密。

因为基于属性加密方案中加密和解密具有动态、灵活的特性,能够实现对系统中用户的解密能力和密文的保护方面的细粒度控制。近几年来,基于属性加密成为公钥密码学的研究热点。

三、云计算环境下数据加密的发展趋势

综合对目前主流的加密方案进行分析,对称密码体制在加解密速度上占有一定的优势,但在云计算环境下,其密钥管理和分发的障碍更为突出。非对称密码体制一定程度上解决了对称密码体制在密钥管理和分发的难题,但在公钥管理和分发上需要设立一个公钥认证中心,在云计算环境下该认证中心很容易成为黑客重点攻击的目标,且一旦其被攻破,则用户数据安全性不再得到保证。基于身份的加密体制可不再需要认证中心,但其仍然存在的问题是用户希望共享数据时,需要获取所有访问用户的身份信息来对数据进行加密,其代价比较大。而基于属性的加密体制从原理上较适合云计算环境下的针对多用户的数据共享问题,在很多应用场景下不再需要认证中心来管理和分发密钥,而且针对多访问用户,可以用他们的共有属性集来设计加密方案,实现了对用户解密密文的细粒度控制D然而据我们所知,到目前为止,基于属性的加密体制在某些扩展应用场景中还存在一些问题,比如针对所有属性情况下的访问树设计是否可行?能否在不设立认证中心的前提下,处理新增用户访问的要求?如何处理在云计算环境下,基于属性加密体制的用户单点登录问题?

小知识之云安全联盟云安全联盟CSA是在2009年的RSA大会上宣布成立的。自成立后,CSA迅速获得了业界的广泛认可。