NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 2010-01-19
  • 本文字数:1399 字

    阅读完需:约 5 分钟

微软研究院密码技术小组 Seny Kamara Kristin 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

2010-01-19 22:513136
用户头像

发布了 340 篇内容, 共 126.1 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

经常会采坑的javascript原型应试题

loveX001

JavaScript

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

JDK源码对你最有触动的是哪一段#HashMap

琦彦

Java hashmap 10月月更

什么是 Python 垃圾回收机制中的引用计数

宇宙之一粟

Python 垃圾回收机制 引用计数 10月月更

老生常谈React的diff算法原理-面试版

beifeng1996

React

【LeetCode】子域名访问计数Java题解

Albert

LeetCode 10月月更

Vue3入门指北(九)生命周期钩子

Augus

Vue3 10月月更

假如面试官要你手写一个promise

helloworld1024fd

JavaScript

面向对象究竟是什么鬼?该如何理解?

乌龟哥哥

10月月更

网络请求模块(2)

张立梵

Python. 爬虫必备知识讲解 10月月更

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

Fiddler(一) - Fiddler简介

No Silver Bullet

fiddler 10月月更 抓包工具

手写JS函数的call、apply、bind

helloworld1024fd

JavaScript

手写节流防抖函数

helloworld1024fd

JavaScript

大数据ELK(十三):Elasticsearch编程(添加职位数据)

Lansonli

10月月更

【一Go到底】第五天---指针

指剑

Go golang 10月月更

Collections之Arraylist源码解读(五)

知识浅谈

ArrayList 10月月更

黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约

琦彦

Java Java开发手册 10月月更

JDK源码对你最有触动的是哪一段#集合

琦彦

Java 集合 10月月更

书单推荐|宅家不动过国庆,好书相伴不寂寞

图灵社区

书单 国庆节

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

Mac下vagrant从安装到体验

程序员欣宸

vagrant 虚拟机 10月月更

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue

通过单步调试的方式学习 Angular 中 TView 和 LView 的概念

Jerry Wang

typescript 前端开发 angular 10月月更 前端开发web开发

基于IDE和dlv远程调试Kubernetes组件

琦彦

Go Kubernetes 调试 10月月更 delve

2022-10-04:以下go语言代码输出什么?A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T{x:123}。 packag

福大大架构师每日一题

golang 福大大 选择题

微服务通信

穿过生命散发芬芳

微服务 10月月更

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

面试官:React怎么做性能优化

beifeng1996

React

Fiddler(二) - 使用Fiddler做抓包分析

No Silver Bullet

fiddler 抓包分析 10月月更

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

迈向更好的云安全:可搜索的加密_安全_Abel Avram_InfoQ精选文章