Lucene.net加密全文搜索



因此,基本情况是我必须将一些文本信息存储在SQL Server数据库中。问题是必须对文本进行加密和搜索。我已经对该主题进行了一些研究,看来这是不可行的(据我了解,这种类型的加密技术,同构加密还不够成熟,无法在现实生活中使用(。

我想出了一个主意,但是我不确定这是否是可行的。有人可以建议吗?

所以我知道Lucene.net可用于全文搜索。我想做的是将纯文本与lucene.net索引,存储索引,但不是纯文本,将加密值存储在SQL Server中,然后搜索Lucene索引并从Lucene索引返回记录的ID,从SQL Server读取特定行,然后解密数据。

这可能吗?我可以用Lucene索引一些东西,然后不存储索引数据?

不确定我是否了解您的需求的细微差别...但是听起来这些术语可以是简单的,但需要加密整个字符串?

如果这样,我使用过多次的模式是将字段(s(与field.store.no索引,然后将内容放在二进制字段中。我用它来创建一个文档存储,其中文档是键入结构化对象的。定义要索引的属性,然后将对象序列化为压缩JSON中的二进制字段。

在您的情况下,二进制是由您需要的任何方式加密的字符串。

如果文本用向量索引(意味着包括术语位置(,则仍然存在(主要是(重组文本的风险,这是Slop查询所需的(即" Fred Wilma" 〜5 =" Fred"在" Wilma"的5个方面(。"大部分"是因为不会有停止单词。如果您不需要坡度,则可以不用索引。

有了一点小心(可能是自定义分析仪和查询解析器(,您也可以加密术语。

这并不容易。您所描述的内容在商业数据库中很少实现,尽管该领域有一些理论结果。我建议您去Google Scholar并开始寻找有关该主题的论文。

这里有一些引用可以让您入门:

  • 黎明Xiaodong歌曲,大卫·瓦格纳(David Wagner(和阿德里安·佩里格(Adrian Perrig(。搜索加密数据的实用技术。

  • r。Brinkman,L。Feng,J。Doumen,P.H。Hartel和W. Jonke。加密数据中有效的树搜索。信息系统安全性,第126-135页,2004年。

  • d boneh,g di crescenzo,r ostrovsky,g Persiano。使用关键字搜索的公共密钥加密

  • P Golle,J Staddon,B Waters。在加密数据上安全的连接关键字搜索。

  • 还要查看此演示文稿:如何搜索加密数据。

最新更新