开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
为什么
传统方法:将文件加密存储,只有将所有文件下载并且完全解密后才能找到目标文件。如果文件量较大,下载时会占用很多带宽,造成服务器阻塞;并且所有文件解密会消耗大量计算资源,效率较低。
可搜索加密--合法用户才能检索
加密过程
- 用户使用密钥先将明文进行加密,然后上传服务器
- 生成想要查询关键字的陷门,陷门不能泄露关键词的信息
- 在服务器输入关键字陷门,检索出此陷门对应的加密文件
- 用户解密文件,得到信息
解决问题
- 不信赖服务器存储
- 不信赖服务器路由
应用模型分类
- 单用户模型:将密文存储到不可信外部服务器;要求:只有此用户可以关键词检索,并且不可信服务器不能获取明文和关键词信息
- 多对一模型:多个发送者向一个接收者传送数据。要求:只有接收者可以能够进行关键词检索,服务器不能获取明文和关键词信息,发送方和接收方不能是同一用户。
- 一对多模型:一个发送方向多个接收方传送数据,发送方将密文上传到不可信服务器,,遵循广播共享模式
- 多对多模型:多个发送方向多个接收方传送数据。要求:接收方需通过访问控制和认证策略,即只有发送方指定的用户才能具有关键词检索能力,才能够提取共享文件。不可信服务器不能够获得明文(应用广阔)
解决策略
- 对称可搜索加密(SSE)--单用户模型:基于伪随机函数,加解密使用相同密钥,陷门生成也需密钥。解决:用户使用密钥将文件加密上传到服务器,接收者用密钥生成待检索关键词陷门,服务器根据陷门搜索返回密文,再使用密钥解密密文获得明文
- 非对称可搜索加密(PEKS)--多对一:使用两种不相同密钥,即公钥和私钥,公钥加密明文and密文搜索,私钥解密and陷门生成
- 对称或者非对称可搜索加密--一对多或者多对多(多个接收者):非对称通过共享密钥实现多对多的场景。对称适用于大型文件数据的加密和共享,混合加密+基于属性加密(+代理重加密)可用于共享方案