迈向更好的云安全:可搜索的加密

阅读数:2481 2010 年 1 月 19 日

话题:安全微软架构云计算DevOps语言 & 开发

微软研究院密码技术小组Seny KamaraKristin Lauter,在题为《加密的云存储》(PDF) 的白皮书中,提出了“虚拟的私有云服务”,那是一种由公有云使用新的加密技术所提供的服务。

最近,云计算已经取得了一些进展,并且有人认为 2010 年是云计算之年。使用云计算的好处已经是众所周知的,然而安全方面的考虑是采用它的障碍。如果个人使用某公司提供的在线存储服务,而该公司拥有很好的安全历史记录,那么这是没有问题的,但是对于公司和政府机构来说,他们非常不愿意将数据放在具有很多不确定性的公有云中。

Kamara 和 Lauter 提出了一种虚拟的私有存储服务,它会满足以下需求:

  • 保密性:云存储的提供商不会从客户的数据中得到任何信息。
  • 完整性:任何由云存储提供商所进行的对客户数据未授权的修改,都会被客户侦测到。
  • 不可否认性:任何对客户数据的访问都会被记录,同时还保留了公有存储服务的主要优势。
  • 可用性:客户数据可以在任何时间,从任何计算机被访问。
  • 可靠性:客户数据会被可靠地备份。
  • 高效检索:数据检索的次数和公有的云存储服务相差无几。
  • 数据共享:客户可以与其信任的组织共享他们的数据。

大多数需求都是通过对存储在云中的文档进行加密才解决的,但是加密使得在这些文档中进行搜索,或者在实时编辑的时候进行协作变得很困难。《加密的云存储》白皮书为加密的存储服务提出了一种架构,这会解决“备份、归档、健康记录系统、安全数据交换以及电子发掘(e-discovery)”等安全问题。

该架构的创建基于以下三个组件:

  • 数据处理器(DP)——在将数据传送到云上之前对其进行处理。
  • 数据校验器(DV)——校验数据的完整性。
  • 令牌生成器(TG)——生成允许服务提供商取得文档的令牌。

个人消费者的解决方案涉及到使用本地的应用程序,它拥有上述三个组件。在将数据上传到云之前,Alice 会使用数据处理器将文档与其元数据(标签、时间、大小等等)一起加密和编码,然后她会将其传送到云上。当她需要下载一些文档的时候,Alice 会使用 TG 来生成一个令牌和一个解密的密钥。令牌会被发送到存储提供商,以选择需要下载的被加密文件。然后,DV 会被启用,以使用主密钥(master key)来校验数据的完整性。解密密钥会被用来对文档进行解密。

协作是通过 Alice 生成新的令牌还有解密密钥完成的,密钥会被传送给 Bob,他会使用密钥从云中取得文档并对其进行解密。

对于企业,白皮书提出了类似的方法:

该解决方案提出,要引入额外的证书生成器(CG),它会为所有向云中存储文档或者从云中取得文档的用户生成令牌。证书令牌会确定用户对于特定的文档拥有什么样的权限,从而被用于管理对文档的访问。这个过程其余的部分与消费者的架构的过程是类似的。

为了为云准备数据,数据处理器会:

首先为其建立索引,并使用对称的加密模式(例如 AES)以唯一的密钥对其进行加密。然后它会使用可搜索的加密模式对索引进行加密,用基于属性的加密模式以恰当的手段对唯一密钥加密。最终,它会对加密的数据和索引进行编码,编码的方式使得之后数据校验器能够使用存储证据来验证数据的完整性。

微软研究院密码技术小组和其他的研究机构已经开发出了针对可搜索的加密方法的技术,但主要的问题是它们非常慢,以至于让人无法接受,对一个单独的词的搜索会花费几十秒。在可搜索的加密方法成为虚拟的私有存储服务的可行的解决方案之前,在该领域还需要更多的研究和提高。

查看英文原文:A Step Toward Better Cloud Security: Searchable Encryption