首页 理论教育云安全深度剖析:加密与解密技术

云安全深度剖析:加密与解密技术

【摘要】:加密通常会涉及加密算法和加密密钥。目前,它仍是使用频繁的一类加密算法。在DES算法中,加密过程和解密过程均采取了相反方向的轮变换。另外,通过私钥加密的信息,加密者可以通过发布该消息使得任何持有公钥的通信实体能够解密并获得明文。但是,采用谓词加密就能解决上述问题。

目前,云服务提供商一般采用密码学中的技术来保证数据安全,常用技术之一就是对数据进行加密和解密。密码技术不仅服务于信息的加密和解密,也是身份认证、访问控制和数据签名等多种安全机制的基础。其应用领域主要有:①用加密来保护信息;②采用数字证书来进行身份鉴别;③采用密码技术对发送信息进行验证;④数字签名

加密通常会涉及加密算法和加密密钥。目前,加密算法主要有如下三类:

1.对称加密

对称加密,也称为单密钥加密技术,是一种在20世纪70年代的公钥体制出现以前的唯一一种加密技术。目前,它仍是使用频繁的一类加密算法。

对称加密技术主要包括几个因素:①明文,通信双方的原始消息;②加密算法,在明文上进行的一系列替换和移位操作;③密钥,加密算法输入的一部分;④密文,作为加密算法的输出,其完全依赖于明文和加密密钥,对于不同的密钥,由同一明文应该产生不同的密文;⑤解密算法,与加密算法的作用相反,以密文和密钥作为输入并且恢复明文。

按加密方式不同,对称加密算法又可以分为流密码和分组密码两种。

流密码也称为序列密码,是指利用密钥产生一个密钥流,然后利用此密钥流依次对明文进行加密。流密码通常以位或字节为操作对象。典型的流密码结构包括一个伪随机数发生器,当不知道密钥的情况下,可以产生一个不可预知的伪随机流,输入的明文依次与该伪随机流进行异或操作,来加密数据。分组密码将输入的明文分组当作一个整体进行处理,输出一个等长的密文分组。每组分别在密钥的控制下变换成等长的输出数字序列。

分组密码多采用Feistel结构(用于分组密码中的一种对称结构,以它的发明者Horst Feistel为名),并通过相同的多轮操作以提高加密算法的安全性。

DES算法[30]是一个采用典型的Feistel结构,分别使用64位的分组和56位的密钥的对称加密算法。在DES算法中,加密过程和解密过程均采取了相反方向的轮变换。2000年以后,DES算法渐渐地退出了美国国家安全加密领域。现如今它主要应用在金融领域和计算机行业。DES算法的最大优点就是加密速度快,而且随着芯片技术的不断提高,造价越来越低,为提高DES算法的计算速度提供了有效的技术支撑。

2.非对称加密(www.chuimin.cn)

与对称加密相比,非对称加密(公钥加密)是指加密和解密使用不同密钥的加密算法,也称为公私钥加密。

在公钥加密体制中的密钥分别记为公钥(Public Key)和私钥(Private Key),经过Private Key加密后的密文只有通过Public Key来解密,反之通过Public Key加密后的密文只有通过Private Key来进行解密。在加密过程中,公钥可以发布给公开群体,消息发送方经过公钥加密后的信息可以通过任何甚至不安全的通道发送给消息接收者,消息接收者收到消息后,可以用私钥解密该信息从而恢复明文,而不持有私钥的第三方无法恢复出该明文。另外,通过私钥加密的信息,加密者可以通过发布该消息使得任何持有公钥的通信实体能够解密并获得明文。公钥加密体制在这种场合下能够保证消息来源的真实性。比如数字签名是其典型的应用。

1977年由Ron Rivest、Adi Shamir和Leonard Adleman一起提出的RSA算法是一个典型的公钥加密算法。该算法是如今使用最为广泛的公钥加密算法。它的安全性得到了人们共同的认可,已被ISO定为非对称体制算法的加密标准。RSA算法的优点是其安全性完全依赖大数的因式分解,大数的因式分解至今还是一个数学难题,虽然没有完全证明大数的因式分解和破解RSA等价,但是几乎都是这样认为的,所以破解RSA算法存在一定困难。

3.谓词加密

谓词加密提供了加密数据的查询和细粒度的访问控制。作为一种新的理论基础,谓词加密为密码学协议和应用提供了更多的解决方向。谓词加密广泛应用于需要对数据库服务器中的数据库进行加密,但同时又要通过服务器对加密数据进行搜索查询的情况。

假设张三把他所有的邮件存储在一个邮件服务器上。由于隐私的关系,他不想让邮件服务器知道这些邮件的内容。此时,就可以把这些邮件加密,并由张三持有私钥。当他要阅读邮件时再从邮件服务器中取出邮件时,用私钥进行解密并阅读。由于这些文件都是加密过的,张三无法通过邮件服务器对这些邮件进行查询操作。

但是,采用谓词加密就能解决上述问题。邮件信息包括(Sender,Date,Subject,…),可以将一些关键字作为邮件的可查询信息,用谓词加密对邮件进行加密。查询的时候,假设需要查询的谓词为P:(Sender=Bob)&(Date E[2009,2010])。张三会根据这个谓词生成一个查询令牌,将令牌发送到邮件服务器以授权邮件服务器对加密邮件进行谓词评估,从而具有查询加密邮件的能力。但是,除了查询之外,邮件服务器不能获得这些邮件的任何其他信息。即谓词加密既实现了邮件的查询,又保证了邮件本身的保密性。

最后需要指出的是,因为云端计算对象存储中提供身份验证系统,使用用户名/密码组合对用户进行身份验证,这就需要对密码强度有一定要求。例如NIST关于密码强度所提供了一些规则包括检查密码字典的常用密码,指定最小密码长度,并要求使用不同的字符如小写字母、大写字母和数字等。