AISEC DATA SECURITY
👁️ 20334
← 返回文章列表
防止云端数据与查询行为泄露—可搜索加密 数据安全防护

防止云端数据与查询行为泄露—可搜索加密


一、背景

在数据爆炸的当今社会,数据本地化已经不能满足用户业务需求,越来越多的数据需要被共享,因此越来越多的用户选择数据上云服务器,但云服务器大多都是第三方人员管理或者运维人员管理,并且大多数用户存储的数据总是以明文的方式出现。

那么关于这部分未被加密的数据,云终端的人员能够随意检查,更改,间接从服务器平台删除。一旦工作人员进行了恶意的操作,这种开放的数据办理形式会导致不好的影响,这意味着用户在云上上传的数据和信息越来越多,所带来的信息安全隐患就越来越大;如前段时间网报的某公有云平台,私自窃取了用户的数据为己所用,投诉和协商无果后,已被告,一时也引起了不少的争议。同时,云平台可能会恶意的收集用户的行为习惯从中获取有用的分析数据,如分析某些平台的搜索数据,可以分析出一些商业价值。

二、可搜索加密概念

    为了解决上述提到的问题,用户所有的数据都可以密文的方式上传,这种存储方式降低了隐私泄露。但同时它也带来一系列的问题;比如,当面临许多数据时,他们怎么能找回本人的数据,而无需向终端输入任何有关该数据的明文内容。

可搜索加密就可以很好的应对这个问题。通过该机制,用户可先分别加密数据和数据标签,然后将加密后的数据与标签一同存储在云服务器上。当用户搜索包含字“KW”的文件时,他能够发送关于关键字的标签(我们称为陷门的文件)到云服务器。云服务器将接纳到的关键词陷门与每一个加密文件的标签进行匹配。假如匹配成功,则该文件中包含的关键字。此时,服务器再将匹配的文件发送给用户,然后用户在本地进行解密即可。从安全性上说,云服务器除了有可能猜到任何两个搜索文件是否包含相同关键字的外,对其他信息不清楚。

三、安全性优势

1、可证明安全:即不可信服务器仅仅通过密文不能获得有关明文的任何信息;

2、控制搜索:即不可信服务器不能在没有合法用户的认证下进行搜索;

3、隐藏查询:即用户向服务器发起有关一个关键字的询问然而却不必向服务器表明关键字是什么;

4、查询独立:即不可信服务器除了查询结果之外不能获得有关明文的任何信息。

四、可搜索加密算法与实现

   本案例算法来自文献[1]

1、算法核心部分描述(来自文献原信息)

2、案例展示(java实现部分代码展示)

本案例模拟了2个用户,一个用户产生关键字信息,另一个用户使用关键字去匹配查询。匹配成功后,返回其明文信息。

2.1 密码系统初始化

2.2 两个用户分别产生公私钥对。公钥后续加入公钥列表,私钥由用户自行秘密的安全的保存

2.3 用户1选择信息nsfocus进行关键字的封装同时加密原信息,产生过程中使用了数据发布者的私钥、数据查询用户的公钥、关键信息数据进行计算。(此过程在本地客服端发生,生成后的签名、密文通过网络发生到云端)

2.4 用户2使用关键字nsfocus进行查询信息时,首先使用数据发布者的公钥与自己的私钥生成陷门。(此过程在本地客服端发生,将生成的陷门发生给云端服务器去作数据匹配验证)

2.5 云平台使用密码文匹配检索,验证成功后返回密文数据给数据查询者,此过程中不知用户的任何信息,不知道用户查询的具体信息。

2.6 效果如下

3、优势与不足

   可搜索加密的优势在前面已经提到过,保护了用户的数据安全,而且在查询时是全密文查询,所以云服务器不知道用户的任何搜索行为,进一步也抵抗了行为习惯的隐私保护。同时,用户在发布数据时,生成的关键字信息时,是联合了数据接收者与数据本身产生的,所以有签名的功能在里面,这样也可以做权限控制,即数据不是任何人都可以查询的,抵抗了穷举攻击,即遍历数据集比对分析数据集的内容。同时也防止了攻击者的恶意篡改数据,给用户返回诱导数据,如果被篡改后签名验证通不过,也不会被查询出。

    但上述方案的不足也很明显,可以看到,每个文件提供给每个查询者时都需要单独生成一个关键字信息,这样就导致如果同一个文件要共享给一个群组时,就要生成若干关键字文件,这样不仅到处存储加大、难易管控,同时也大大的降低了验证的效率。那怎么解决这个问题呢?请听下回分解……

参考文献

1.     Huang Q ,  Li H . An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks[J]. Information Sciences, 2017, s 403–404:1-14.