目录
主流的对称密码类型就是:DES、AES....,下面介绍一些其他类型。
可搜索加密
需求背景:
现在隐私泄露问题备受关注,大家都希望自己的信息以密文的形式上云,而不是以明文的形式上云。
但是这就会有个问题,如果需要对加密数据进行搜索,那怎么办? 总不能把云上所有的加密数据都下载下来,然后对其一一解密,再进行搜索吧。如果真是这样,效率显然会很低。因此,可搜索加密技术应运而生。
什么是可搜索加密技术?
可搜索加密技术是搜索技术和加密技术的结合。可搜索加密能够实现将用户的数据进行特殊的加密后上传到云服务器上, 并且可以实现根据关键字进行检索的功能, 有些可搜索加密方案更能实现范围查询或布尔查询等高级检索功能。在方便用户使用的过程中, 也保护了文件的隐私安全。
分类:
可搜索加密技术一般分为:
-
对称可搜索加密(Searchable Symmetric Encryption, SSE)
-
非对称可搜索加密(Asymmetric Searchable Encryption, ASE),非对称可搜索加密目前一般又称为公钥可搜索加密(Public Key Encryption With Searching, PEKS)。(简单的提起,下文不做介绍)
两者有不同的应用场景和构造方式,对称可搜索加密一般考虑单用户使用的情况, 相当于建立个人加密云盘, 依赖对称加密算法进行方案构造。
公钥可搜索加密一般考虑多用户使用的场景例如邮件系统或者多人文件共享系统, 主要依赖公钥加密算法进行构造。
步骤:
对称可搜索加密过程简化为归为以下 4 个步骤:
- 步骤 1. 建立和密钥生成过程: 用户对文件集合进行某种特殊加密后上传至服务器并生成密钥和加密数据库;
- 步骤 2. 陷门生成过程: 用户根据密钥和将要检索的内容生成特定陷门, 分为生成检索陷门和生成更新陷门, 并都上传给服务器;
- 步骤 3. 检索过程: 用户提交陷门, 由服务器根据陷门对加密数据库进行安全搜索和返回结果, 用户收到密文后解密得到最终结果;
- 步骤 4. 更新过程: 对于支持动态更新的可搜索加密, 可以通过将加密文件和更新陷门上传到服务器进行文件添加或删除操作, 注意添加操作和删除操作是区分开来的。
实际案例:
假设你在使用一个加密云存储服务:
-
上传文件:
- 文件1 包含关键词“合同”。
- 文件2 包含关键词“合同”和“发票”。
- 你生成加密索引:
\( \begin{cases} H(K, \text{“合同”}) = \text{a1b2c3d4} \rightarrow [\text{文件1}, \text{文件2}] \\ H(K, \text{“发票”}) = \text{e5f6g7h8} \rightarrow [\text{文件2}] \end{cases} \) - 上传加密文件和加密索引到服务器。
-
搜索文件:
- 你想搜索包含“合同”的文件,生成陷门 $ \ T = H(K, \text{“合同”}) = \text{a1b2c3d4} $。
- 服务器用 $\ T $ 匹配加密索引,找到
a1b2c3d4
对应的文件列表[文件1, 文件2]
。 - 服务器返回加密的
文件1
和文件2
。
-
解密文件:
- 你下载加密文件(
文件1
和文件2
),用密钥 $\ K \ $ 解密查看内容。
- 你下载加密文件(
保留格式加密
定义:
保留格式加密是一种加密技术,确保加密后的密文与原始明文格式完全一致(如长度、字符类型)。例如,加密信用卡号后,密文仍是16位数字。
好处:
可以确保加密数据在安全的同时仍然可用并与处理它的系统兼容。因此,它在原始数据的格式和长度至关重要的场景中非常有用,例如数据库、应用程序或具有特定数据输入要求的系统。
核心原理
- 格式约束:加密算法根据明文格式(如数字、字母、日期)动态调整加密过程。
- 分块加密:将数据分块后,用特定模式(如FF1、FF3模式)加密,确保输出格式一致。
- 密钥派生:通过密钥和格式规则生成中间密钥,控制加密结果。
常见标准
- NIST标准:FF1(AES-based)、FF3-1(改进版FF3),支持数字、字母等格式。
例子:- 明文:
4111 1111 1111 1111
(信用卡号) - 密文:
3569 2354 8234 5678
(格式相同,但数值随机化)。
- 明文:
应用场景
- 支付卡数据加密(PCI-DSS合规要求)。
- 数据库字段加密(如加密身份证号,保持数字格式)。
- 日志脱敏(加密日志中的敏感信息,不影响日志分析工具)。
局限性
- 安全性弱于传统加密(因格式限制,密钥空间可能缩小)。
- 实现复杂度高,需严格遵循标准(如FF1/FF3)。
Reference
https://www.cnblogs.com/shirleyya/p/15024342.html
可搜索加密技术 - 学习笔记(一)