以博主看过的文献或查阅的资料为基础,本博文将介绍可搜索加密(Searchable Encryption,SE)的相关知识点,以及归纳与总结。这也是博主个人的学习过程,长期更新,建议收藏,也欢迎指正!
可搜索加密:旨在将数据文件进行加密后存储到云端,然后对密文进行检索的一种技术。
例如:用户为节约自身的资源开销,将文件外包给云服务器,但又不想云服务知道存储的文件内容,因此需要对文件采用某种加密方式加密后存储。此外,用户若想从云服务器中查询文件中的特定数据,只有合法的用户基于关键词检索对应的密文数据。
如果在读此篇博文之前,读者有了解过SE的背景,想必都知道SE的开篇之作。即使不了解的读者也没关系,这里将隆重介绍一下SE的诞生。SE的开篇之作名为"Practical techniques for searches on encrypted data "。这是作者首次研究出支持对数据加密后进行搜索的密码技术,由此开辟了密码学中的全新研究方向——可搜索加密(Searchable Encryption)。
后来的研究者写可搜索加密时基本会引用Song2000
1)单用户 — 单服务器模型:用户加密个人文件并将其存储到不可信的服务器。只有该用户具备基于关键词检索的能力,服务器无法获取明文文件和待检索关键词的信息。
2)多用户 — 单接收者(单服务器)模型:多个发送者加密文件后,将其上传至不可信的服务器,以达到与单个接收者传送数据的目的。只有接收者具备基于关键词检索的能力,服务器无法获取明文文件信息,不同于单用户模型,多用户 — 单服务器模型要求发送者和接收者不能是同一用户。
3)单用户 — 多接收者(单服务器)模型:与上一类型类似,但为单个发送者将加密文件上传至不可信服务器,然后多个接收者共享数据。
4)多用户 — 多接受者(单服务器)模型:在多对单模型的基础上,任意用户都可成为接受者,通过访问控制和认证策略后,具备关键词的密文检索方式提取共享文件的能力。只有合法的用户具备基于关键词检索的能力,服务器无法获取明文文件信息,具备广阔的应用前景。
可搜索加密是一项结合各种密码学原语与信息检索的技术,旨在能够以某种方式对数据和数据的关键词索引进行加密,使得用户能够通过提交关键词进行方便灵活且高效的搜索,同时又保证负责存储的云服务器对密文数据本身以及关键词相关信息一无所知。
目前研究热点,分为三个维度:表达能力、安全性和检索效率。
1)在可搜索加密的理论研究方面:主要集中在研究密文搜索语句的表达能力、可搜索加密方案的安全性、可搜索加密方案的高效性等方面。
2)利用属性基加密(ABE)实现安全搜索方面,效率是一个主要因素,研究属性基加密以及签名的安全搜索与隐私保护的一般理论,主要集中在属性基加密以及签名的高效性上,包括表达能力、通信效率、计算效率和属性特征等方面。
3)在安全搜索与隐私保护的基础理论研究的基础上,探索安全搜索与隐私保护的一般规律与方法,并在此基础上进行方案的轻量化的研究,并探索在安全搜索与隐私保护的过程中一次使用有关的公钥加密方案,以适用于存储、计算资源受限网络环境。
文献引用:
[1] 李经纬,贾春福,刘哲理,李进,李敏.可搜索加密技术研究综述[J].软件学报, 2015,26(1):109-128.
[2] 董晓蕾,周俊,曹珍富.可搜索加密研究进展[J].计算机研究与发展,2017,54(10):2107-2120.
文章浏览阅读132次。Oracle 12cR1 RAC集群安装文档:Oracle 12cR1 RAC集群安装(一)--环境准备Oracle 12cR1 RAC集群安装(二)--使用图形界面安装Oracle 12cR1 RAC集群安装(三)--静默安装-------------------------------------------------------------------------------..._configuration type admin managed police managed
文章浏览阅读1.9w次,点赞106次,收藏109次。Go编程语言凭借其简洁、高效和可靠的特性,适用于各种项目开发。无论是网络编程、大数据处理、云计算、Web开发还是嵌入式系统,Go语言都能够提供出色的性能和可扩展性。希望本文能够帮助读者了解Go语言的优势,并在项目开发中做出明智的选择。如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot, spring cloud等系列文章,一系列干货随时送达!_go语言开发的项目有哪些
文章浏览阅读398次,点赞12次,收藏8次。在使用openlayers加载影像地图的过程中,遇到加载TMS标准的本地离线切片显示异常的问题,包括显示层级的异常,和我其他的数据无法对应的问题,查阅资料后发现是坐标系和0级地图分幅的问题,特此记录。解决方法也很简单,要么下载地图切片时候,选择和openlayers一致的0级别地图张数,要么通过openlayers代码进行调整,这里附一下第二种解决方法。查阅后发现问题主要在以下几点。_openalyers 加载tms标准瓦片
文章浏览阅读815次。默认情况高分屏下 UI 元素显得过小,因此需要调整界面的缩放比例。Ubuntu20.04 默认是 GNOME 桌面,GNOME 可以在 Settings>Displays(设置>显示)中开启 HiDPI 支持,以整数倍来调整屏幕比例。第二步:找到 %sudo ALL=(ALL:ALL) ALL 这一行,修改为 %sudo ALL=(ALL:ALL) NOPASSWD:ALL。为了避免每次使用 sudo 命令时都输入密码,我们可以将密码关闭。关闭 sudo 密码。_ubuntu高分辨率缩放
文章浏览阅读483次,点赞8次,收藏9次。使用GeoScene Pro发布托管要素服务_geoscene pro托管
文章浏览阅读1.4w次。云容器引擎(Cloud Container Engine,简称CCE)提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。云容器引擎提供Kubernetes原生API,支持使用kubectl,且提供图形化控制台,让您能够拥有完整的端到端使用体验,使用云容器引擎前,建议您先了解相关的基本概念。集群(Cluster)集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均衡等云资源。您可以理解为集群_cce
文章浏览阅读1.1k次。在Windows下使用breakpad的方法很简单,只需要创建一个ExceptionHandler的类即可1.进程内抓取Dump文件进程内抓取Dump文件是最简单的breakpad的用法。使用方法很简单:const std::wstring s_strCrashDir = L"c:\dumps"; bool InitBreakpad(){ google_breakpad::Exce..._breakpad rtlcapturecontext
文章浏览阅读1.8k次。http://blog.csdn.net/hui_0924/article/details/5877981在SQL Server中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户。系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对给定的数据库只有被授权的操作权限。 数据库用户一般可分为用户组,_sql赋权
文章浏览阅读504次,点赞6次,收藏10次。torch.where用法介绍_torch.where
文章浏览阅读7.7k次。IBM存储产品常见问题汇总 一、DS3000DS3000微码v06.70.24.00升级指南主要介绍了DS3000相关部件的微码升级步骤,以及相关注意事项: 主要内容包括: 一.相关链接: 二.微码v06.70.24.00新特性: 三.限制及注意事项: 四.升级微码步骤概述: 升级存储系统 升级ESM 模块微码_ibm服务器更护热备盘
文章浏览阅读3.5k次。一般情况下我们的创新声卡要使用宿主机架都选择安装KX 3552驱动,而这个KX 3552驱动对Win 10系统兼容性不是很好,这主要是在搭载宿主机架加载KX 3552驱动的ASIO上,部分Win 10系统会出信号错乱,还有会出现(无法初始化)的问题,这个需要宿主机架设置(Win 7兼容性),问题还存在的,无解,只能换Win 7系统。还有需要注意,在安装KX 3552驱动的时候,请把所以的杀毒软件和..._创新声卡kx 3552驱动连线搭载sam机架
文章浏览阅读372次。Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。若包含,则为maven项目,否则为非maven项目。Springboot毕设项目核酸检测采集管理系统jfxxo(java+VUE+Mybatis+Maven+Mysql)Springboot + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。其他版本理论上也可以。_jfx后台管理系统