文章目录

  • SSE有关的符号
  • 定义1:可搜索的对称加密方案(SSE)


SSE有关的符号

多关键词 ES 多关键词SSE检索_搜索

  • ∆表示所有关键字的集合,其中|∆|表示关键字集合的大小
  • D为文档,id(D)为文档编号(与内容无关),我们也可以把一个文档D看作是关键字的列表,w ∈ D 代表D有关键字w
  • ’D是多个文件的数据集,‘D[i]是数据集中的i个元素。假设id(D[i]) = i
  • 'D(w)是包含关键字w的所有文档列表
  • I是安全索引

定义1:可搜索的对称加密方案(SSE)

一个SSE方案是以下四种多项式时间算法的集合

  • (KI , KD) ← Keygen(1λ):一种随机密钥生成算法,由客户端运行来设置方案。它取一个安全参数λ,并返回密钥(KI , KD),KI用于安全索引,KD用于文档集合
  • I ← BuildIndex(KI ,(D,W)):客户端使用密钥KI,文档集合D和关键词列表W,运行,生成一个加密的索引 I
  • τ ← Token(KI , w):由客户端运行,为给定密钥KI和关键字w生成一个陷门τ。
  • R ← Search(I, τ ):由服务器运行,以搜索包含关键词w的集合D(w)。输入加密索引I,集合D和关键字w中陷门τ作为输入,并返回包含w的文档标识符集R。
  • SKE.Enc和SKE.Dec分别是对文档一对一加密,解密。

简单流程如图所示:

多关键词 ES 多关键词SSE检索_客户端_02

为了定义SSE方案的安全性,借用了历史视图路径的概念。

  1. 历史History:包含客户端想要私有的敏感信息,即文档明文集合D和t次查询的关键字序列,在D上的历史是一个元组,Ht = (D, ~w)
    ~w= ( ~w[1], ~w[2], . . . , ~w[t]), 其中~w是t查询的底层关键字的向量。
  2. 部分历史Hst:s ≤ t,Hts = (D, ~w 0 ) 其中 ~w 0= ( ~w[1], . . . , ~w[s])。
  3. 视图View:之后视图指定服务器在运行SSE协议时可以看到的内容,即文档标识符id(D)、每个文档E(D[i])的加密、安全搜索索引I和查询令牌(活板门)τ。KEY sk下的Ht的视图是向量Vsk(Ht) .= (id(D), E(D[1]), , …, E(D[n]), I, τ1, …, τt),其中τi是第ith查询的查询令牌
  4. Access Pattern:
  5. 多关键词 ES 多关键词SSE检索_服务器_03

  6. Search Pattern:
  7. 多关键词 ES 多关键词SSE检索_客户端_04

  8. 上面两者的区别:访问模式显示哪些文档包含哪些查询的关键字,而搜索模式显示哪些查询具有相同的底层关键字(可以知道用户对某个特定的关键词进行的搜索次数)。
  9. 路径Path:利用历史的路径建立了SSE方案的实际泄漏模型,T(Ht)的路径是向量,T(Ht) .= (id(‘D), |’D[1]|, . . . , |‘D[n]|, Π~w, Φ~w)。我们已经准备好为SSE定义自适应语义安全了。非正式地说,该定义指出,如果一个观察到视图View的对手可以被一个只看到路径Path的算法模拟,那么SSE方案是安全的;这意味着Path包含了与对手相关的所有信息
  10. 针对SSE的自适应语义安全:如果对于所有t∈N和所有对手A,SSE方案存在算法(模拟器),对于所有长度t的轨迹Tt,所有多项式采样分布Ht,所有函数
  11. 多关键词 ES 多关键词SSE检索_多关键词 ES_05