基于密钥协商协议以及可验证的一轮通信可搜索加密方法技术

技术编号:34536127 阅读:59 留言:0更新日期:2022-08-13 21:30
本发明专利技术公开了一种基于密钥协商协议以及可验证的一轮通信可搜索加密方法。本发明专利技术采用密钥协商协议来对密钥传输进行改进。基于密钥协商协议下的可搜索方案可以抵抗模拟攻击,已知密钥攻击。使得在数据使用者和数据拥有者之间进行密钥传输时的安全性得到进一步提高。另外,本发明专利技术通过消息认证码对搜索结果进行验证,提供了可验证的功能。最后,本发明专利技术只需要进行一轮通信就可以获得目标文档,相比于之前的可搜索加密方案,本发明专利技术的安全性,结果的正确性以及搜索效率都得到了极大的提高。性以及搜索效率都得到了极大的提高。性以及搜索效率都得到了极大的提高。

【技术实现步骤摘要】
基于密钥协商协议以及可验证的一轮通信可搜索加密方法


[0001]本专利技术涉及可搜索加密领域,尤其是涉及一种基于密钥协商协议以及可验证的一轮通信可搜索加密方法。

技术介绍

[0002]基于可搜索加密的数据云存储方式在一定程度上解决了在云上数据可操作性的问题,并且能够支持多对多查询、范围查询,具有良好的可扩展性。但是现有的可搜索加密方法中,云服务器是诚实但好奇的,但在现实生活中,服务器往往是不可信的,因此对服务器搜索结果进行验证就显得很有必要。通过对智能合约中消息认证码异或值与云服务器返回的异或值进行比较,可以对搜索结果的正确性进行验证。另外,通过Diffie

Hellman密钥协商协议,数据使用者安全地利用密钥进行搜索以及解密,最后通过两次地址映射,数据使用者更快捷得获取到包含关键字的文档。

技术实现思路

[0003]为弥补现有技术的不足,本专利技术提供了一种基于密钥协商(Diffie

Hellman)协议以及可验证的一轮通信可搜索加密方法。
[0004]本专利技术以下步骤:
[0005]1)数据拥有者通过密钥协商协议与数据使用者协商出密钥k,然后通过异或的方式,利用密钥k生成两个子密钥k1,k2;
[0006]2)数据拥有者利用哈希函数对文档中的每个关键字进行加密,生成密钥k3,k4;
[0007]3)数据拥有者利用伪随机函数、全局计数器以及k3,k4,生成标签label,以及文档id的索引值;
[0008]4)数据拥有者将生成的标签和索引值存储在加密数据库上,然后将加密数据库发送给智能合约;
[0009]5)对本地数据库中每个文档进行加密,并且为每个文档生成对应的认证码,将加密文档和消息认证码发送给云服务器,同时消息认证码发送给智能合约;
[0010]6)在搜索过程中,数据使用者通过Diffie

Hellman协议从数据拥有者那里获取密钥来生成搜索令牌;
[0011]7)查询时,智能合约首先根据搜索令牌搜索到包含关键字文档的加密id,并且计算id对应加密值所对应的消息认证码的异或值,同时将加密id发送到云服务器上,云服务器搜索到加密id对应的加密文档,然后将这个加密文档以及消息认证码的异或值发送给数据使用者;
[0012]8)数据使用者对云服务器发送过来的包含关键字的加密文档进行解密;
[0013]9)在验证过程中,数据使用者通过智能合约生成的消息认证码异或值,以及云服务器根据文档生成的消息认证码异或值来进行对比,从而判断云服务器返回的文档是否正确。
[0014]本专利技术的有益效果:本专利技术具有较高的实用性,适用于数据使用者和数据拥有者不是同一方的现实场景中。同时使用的是地址映射的方式,使得在搜索过程中的效率得到极大地提高。另外,通过对文档和关键字进行地址映射,数据使用者可以仅在一轮通信的方式下获取到对应的文档,并且本专利技术中的密钥协商协议是基于可计算的Diffie

Hellman,可以抵抗已知密钥攻击,UKS攻击,具有较高的安全性,还通过对加密值的异或值进行对搜索结果进行验证。通过上述技术手段,使得本专利技术能够在保证效率的同时,极大地提高密文的准确性、完整性和机密性。
附图说明
[0015]图1为本专利技术原理图。
具体实施方式
[0016]如图1所示,基于Diffie

Hellman以及可验证的一轮通信可搜索加密方法,包括以下步骤:
[0017]1)数据拥有者通过密钥协商协议与数据使用者协商出密钥k,然后通过异或的方式,利用密钥k生成两个子密钥k1,k2;
[0018]2)数据拥有者利用哈希函数对文档中的每个关键字进行加密,生成密钥k3,k4;
[0019]3)数据拥有者利用伪随机函数、全局计数器以及k3,k4,生成标签label,以及文档id的索引值;
[0020]4)数据拥有者将生成的标签和索引值存储在加密数据库上,然后将加密数据库发送给智能合约;
[0021]5)对数据库中每个文档进行加密,并且为每个文档生成对应的认证码,将加密文档和消息认证码发送给云服务器,同时消息认证码发送给智能合约;
[0022]6)在搜索过程中,数据使用者首先通过Diffie

Hellman协议从数据拥有者那里获取密钥进行查询;
[0023]7)查询时,智能合约首先根据搜索令牌搜索到包含关键字文档的加密id,并且计算id对应加密值所对应的消息认证码的异或值,同时将加密id发送到云服务器上,云服务器搜索到加密id对应的加密文档,然后将这个加密文档以及消息认证码的异或值发送给数据使用者;
[0024]8)数据使用者对云服务器发送过来的包含关键字的加密文档进行解密;
[0025]9)在验证过程中,数据使用者通过智能合约生成的消息认证码异或值,以及云服务器根据文档生成的消息认证码异或值来进行对比,从而判断云服务器返回的文档是否正确。
[0026]优选地,在对要上传至云端的数据进行加密之前,首先需要对数据进行预处理。将文档以及文档内容提取成关键字/文档对,其中关键字/文档对中的文档指的是文档的id。
[0027]优选地,密钥k1的作用是利用关键字,生成密钥k3,密钥k3的作用则是用于生成标签label,标签label的生成便利了搜索过程中对文档id的定位,提高了搜索效率。密钥k2的作用是也是通过关键字,生成密钥k4,密钥k4的作用则是用于加密文档的id。
[0028]优选地,首先需要初始化一个全局计算器,全局计数器的初始值为0。在为每个关
键字以及文档id加密时,全局计数器就会累加1。通过伪随机函数来对全局计数器以及关键字生成标签label,用于对文档id的高效定位。
[0029]优选地,本专利技术将标签/文档对发送给智能合约,然后对本地数据库中的文件进行逐一加密,对文档的加密是利用伪随机函数与文档进行异或来实现的,提高了文档加密的安全性。将加密文档发送给云服务器,并且通过空间映射的方式,将每个加密文档映射到加密文档的id上。通过这种方式可以使得在保证安全性的同时,搜索效率得到提高。
[0030]优选地,通过将智能合约中加密文档id与消息认证码进行空间地址映射,在找到对应的加密id之后就可以通过这种方式计算消息认证码的异或值,在这种方式下可以快速对搜索结果进行验证。
[0031]实施例:
[0032]首先在对要上传至云端的数据进行加密之前,需要对数据进行预处理。将文档以及文档内容提取成关键字/文档id对。然后数据拥有者通过密钥协商协议与数据使用者协商出密钥k,然后通过异或的方式,利用密钥k生成两个子密钥k1,k2。
[0033]接着利用哈希函数对文档中的每个关键字进行加密,生成密钥k3,k4。然后,数据拥有者利用密钥k3生成标签label,标签label的生成便利了搜索过程中对文档id的定位。利用密钥k4本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于密钥协商协议以及可验证的一轮通信可搜索加密方法,其特征在于该方法包括以下步骤:1) 数据拥有者通过密钥协商协议与数据使用者协商出密钥k,然后通过异或的方式,利用密钥k生成两个子密钥k1,k2;2) 数据拥有者利用哈希函数对文档中的每个关键字进行加密,生成密钥k3, k4;其中密钥k3用于生成标签label,密钥k4用于加密文档的id;3) 数据拥有者利用伪随机函数、全局计数器以及k3, k4,生成标签label,以及文档id的索引值;4) 数据拥有者将生成的标签label和索引值存储至加密数据库,然后将加密数据库发送给智能合约;5) 对本地数据库中每个文档进行加密,并且为每个文档生成对应的消息认证码,将加密文档和消息认证码发送给云服务器,同时也将消息认证码发送给智能合约;6) 在搜索过程中,数据使用者通过Diffie

Hellman协议从数据拥有者那里获取密钥来生成搜索令牌;7) 查询时,智能合约首先根据搜索令牌搜索到包含关键字文档的加密id,并且计算id对应加密值所对应的消息认证码的异或值,同时将加密id发送到云服务器上,云服务器搜索到加密id对应的加密文档,然后将这个加密文档以及消息认证码的异或值发送给数据使用者;8) 数据使用者对云服务器发送过来的包含关键字的加密文档进行解密;9) 在验证过程中,数据使用者通过智能合约生成的消息认证码异或值,以及云服务器根据文档生成的消息认证码异或值来进行对比,从而判断云服务器返回的文档是...

【专利技术属性】
技术研发人员:韩嵩徐璇璇任思琪陈晓莉林建洪赵帅杨柏林王璐瑶徐云华
申请(专利权)人:浙江鹏信信息科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1