一种轻量级支持付费查询相似数据的公钥认证加密方法

未命名 08-12 阅读:228 评论:0


1.本发明涉及带关键字搜索的公钥认证加密方法,具体涉及一种轻量级支持付费查询相似数据的公钥认证加密方法。


背景技术:

2.付费查询逐渐成为众多云服务提供商(例如amazon athena、google cloud、ibm cloud等)的服务模式,在此服务模式下,数据拥有者可根据数据用户的查询数据量收费。显然,付费查询服务需要将数据委托给第三方云服务器,容易造成数据和用户隐私泄露。
3.为了维护数据拥有者的利益和用户的人身财产安全,传统的方法是数据拥有者先将信息加密后再发送给用户,用户根据与数据拥有者协商的密钥来解密得到信息。然而,这种加密方法过程繁琐且形式单一,对于复杂多样的云服务来说,无疑是过时的。
4.为了满足用户查询需求,boneh等人首次提出基于公钥加密且可根据关键字搜索的概念,并构造了一个具体的带关键字搜索的公钥加密(peks)方案。然而,相对于密钥空间,关键字空间非常小,会导致离线关键字猜测攻击(kga)。随后,一些peks的变体方案陆续被提出。例如,cao等人提出的具有模糊关键字搜索功能的peks方案,golle等人提出的具有连接关键字搜索功能的peks方案,arriaga和tang提出的满足陷门安全性的peks方案。然而,这些方案仍不能抵抗云端内部敌手发起的kga。
5.另一方面,移动设备在云服务中的应用率快速增长,受限于移动设备的性能,一般的带关键字搜索的公钥认证加密(paeks)方案不能高效地应用。针对云服务中移动设备存储空间和计算能力较低的问题,lu和li提出了一个适用于移动设备的轻量级公钥认证加密方案,该方案不涉及双线性映射操作,计算代价低,更适用于云服务中性能较低的移动设备。然而,该方案不能应用于付费查询场景,且不支持相似数据搜索操作。


技术实现要素:

6.发明目的:本发明的目的是针对现有公钥认证加密方法的缺陷,提出一种轻量级支持付费查询相似数据的公钥认证加密方法,能够抵抗自适应选择目标攻击和内部关键字猜测攻击,同时防止云服务器和用户合谋抵赖扣费。
7.技术方案:本发明所述的轻量级支持付费查询相似数据的公钥认证加密方法,包括:
8.(1)配置公开参数pp、阈值th和记录用户查询次数的列表
9.(2)根据公开参数pp,生成云服务器的公钥pk
cs
和私钥sk
cs
,生成数据拥有者的公钥pks和私钥sks,生成数据用户的公钥pku和私钥sku;
10.(3)根据公开参数pp、数据拥有者的文件f及其摘要d、数据拥有者的私钥sks,以及云服务器的公钥pk
cs
和数据用户的公钥pku,生成密文c;
11.(4)根据公开参数pp、数据用户先前从数据拥有者处接收到的摘要d

、数据用户的私钥sku,以及云服务器的公钥pk
cs
和数据拥有者的公钥pks,生成陷门t;
12.(5)根据公开参数pp、密文c、陷门t、云服务器的私钥sk
cs
和阈值th,若摘要d和d

匹配次数大于或等于阈值th,则摘要d和d

为相似数据,根据用户查询数据量扣费,并跳转到步骤(6);否则,终止执行;
13.(6)根据密文c、数据拥有者的私钥sks和列表生成更新密文c

和更新列表
14.(7)根据更新密文c

、数据用户的私钥sku和数据拥有者的公钥pks,得到文件f。
15.进一步地,步骤(1)包括:
16.设定公开参数pp为其中p为大素数,为椭圆曲线群,g为的生成元;
17.哈希函数和|w|表示关键字空间,示关键字空间,表示正整数集合;表示中所有对模乘可逆元构成的集合,表示以p为模的剩余类环表示以p为模的剩余类环表示所有整数组成的集合;
18.预定义一个阈值th;
19.初始化一个用于记录用户查询次数的列表其中,pku是数据用户u的公钥,qtu是该数据用户u的查询次数;该列表由数据拥有者秘密持有。
20.进一步地,步骤(2)包括:
21.随机选取云服务器的公钥pk
cs
=sg;云服务器的私钥sk
cs
=s。
22.进一步地,步骤(2)还包括:
23.随机选取α1,数据拥有者的公钥pks=(pk
s1
,pk
s2
)=(α1g,α2g);数据拥有者的私钥sks=(sk
s1
,sk
s2
)=(α1,α2)。
24.进一步地,步骤(2)还包括:
25.随机选取β1,数据用户的公钥pku=(pk
u1
,pk
u2
)=(β1g,β2g);数据用户的私钥sku=(sk
u1
,sk
u2
)=(β1,β2)。
26.进一步地,步骤(3)包括:
27.计算:
28.v1=h1(pk
s1
,pk
u1
,sk
s1
pk
u1
),v2=h1(pk
s2
,pk
u2
,sk
s2
pk
u2
);
29.随机选取
30.通过lsh函数,提取摘要d的n个子特征集{f1,...,fn};
31.计算:
32.qi=r(g+h2(fi,v1,v2)pk
u1
),子密文c
1,i
=h3(qi),
33.c2=rpk
cs
和c3=(f
·
sk
s1
pk
u1
)sk
s1
;1≤i≤n
34.生成密文c=(c
1,i
,c2,c3)。
35.进一步地,步骤(4)包括:
36.计算:
37.v1′
=h1(pk
s1
,pk
u1
,sk
u1
pk
s1
),v
′2=h1(pk
s2
,pk
u2
,sk
u2
pk
s2
);
38.通过lsh函数,提取摘要d

的n个子特征集{f1′
,...,f
′n′
};
39.计算:
40.ti=h2(fi′
,v1′
,v
′2)sk
u1

41.生成陷门t={ti}。
42.进一步地,步骤(5)包括:
43.初始化一个临时计数器count=0;
44.计算:
[0045][0046]
如果c
1,i
=h3(qi′
),则count+1;
[0047]
循环小于或等于n次后,如果count≥th,则根据用户查询数据量扣费,并跳转到步骤(6);否则,终止执行。
[0048]
进一步地,步骤(6)包括:
[0049]
解析密文c为c
1,i
,c2和c3,将c3返回给数据拥有者;
[0050]
计算更新密文给数据用户;
[0051]
根据数据用户的公钥pk
u1
记录该用户的查询次数,返回更新列表
[0052]
进一步地,步骤(7)包括:
[0053]
解密得到文件f=c

·
(sk
u1
pk
s1
)-1

[0054]
有益效果:本发明与现有技术相比,具有如下显著优点:
[0055]
与现有公钥认证加密方法相比,本发明不仅适用于云服务中存储空间和计算性能较低的移动设备,而且适用于付费查询相似数据场景。
[0056]
本发明还可防止云服务器和数据用户合谋抵赖扣费,并能够抵抗自适应选择目标攻击和内部关键字猜测攻击。具体而言,敌手可自适应选择挑战发送者和挑战接收者来进行攻击。在该攻击模型下,本发明满足密文不可区分性、密文不可伪造性和陷门不可区分性。
附图说明
[0057]
图1是本技术实施例提供的轻量级支持付费查询相似数据的公钥认证加密方法流程图。
具体实施方式
[0058]
下面结合附图对本发明做进一步说明。
[0059]
一种轻量级支持付费查询相似数据的公钥认证加密方法,包括:
[0060]
(1)配置公开参数pp、阈值th和记录用户查询次数的列表
[0061]
具体地,
[0062]
设定公开参数pp为其中p为大素数,为椭圆曲线群,g为的生成元;
[0063]
哈希函数和w|表示关键字空间,关键字空间,表示正整数集合;表示中所有对模乘可逆元构成的集合,
表示以p为模的剩余类环表示以p为模的剩余类环表示所有整数组成的集合;
[0064]
预定义一个阈值th;
[0065]
初始化一个用于记录用户查询次数的列表其中,pku是数据用户u的公钥,qtu是该数据用户u的查询次数;该列表由数据拥有者秘密持有。
[0066]
(2)根据公开参数pp,生成云服务器的公钥pk
cs
和私钥sk
cs
,生成数据拥有者的公钥pks和私钥sks,生成数据用户的公钥pku和私钥sku;
[0067]
具体地,
[0068]
密钥生成中心随机选取云服务器的公钥pk
cs
=sg;云服务器的私钥sk
cs
=s。
[0069]
密钥生成中心随机选取α1,数据拥有者的公钥pks=(pk
s1
,pk
s2
)=(α1g,α2g);数据拥有者的私钥sks=(sk
s1
,sk
s2
)=(α1,α2)。
[0070]
密钥生成中心随机选取β1,数据用户的公钥pku=(pk
u1
,pk
u2
)=(β1g,β2g);数据用户的私钥sku=(sk
u1
,sk
u2
)=(β1,β2)。
[0071]
(3)根据公开参数pp、数据拥有者的文件f及其摘要d、数据拥有者的私钥sks,以及云服务器的公钥pk
cs
和数据用户的公钥pku,生成密文c;
[0072]
具体地,
[0073]
计算:
[0074]
v1=h1(pk
s1
,pk
u1
,sk
s1
pk
u1
),v2=h1(pk
s2
,pk
u2
,sk
s2
pk
u2
);
[0075]
随机选取
[0076]
数据拥有者通过lsh函数,提取摘要d的n个子特征集{f1,...,fn};
[0077]
计算:
[0078]
qi=r(g+h2(fi,v1,v2)pk
u1
),子密文c
1,i
=h3(qi),
[0079]
c2=rpk
cs
和c3=(f
·
sk
s1
pk
u1
)sk
s1
;1≤i≤n
[0080]
生成密文c=(c
1,i
,c2,c3)。
[0081]
(4)根据公开参数pp、数据用户先前从数据拥有者处接收到的摘要d

、数据用户的私钥sku,以及云服务器的公钥pk
cs
和数据拥有者的公钥pks,生成陷门t;
[0082]
具体地,
[0083]
计算:
[0084]
v1′
=h1(pk
s1
,pk
u1
,sk
u1
pk
s1
),v
′2=h1(pk
s2
,pk
u2
,sk
u2
pk
s2
);
[0085]
数据用户通过lsh函数,提取摘要d

的n个子特征集{f1′
,...,fn′
};
[0086]
计算:
[0087]
ti=h2(fi′
,v1′
,v
′2)sk
u1

[0088]
生成陷门t={ti}。
[0089]
上述步骤(3)和(4)中,涉及局部敏感哈希(localitysensitivehash,lsh),其为可用于衡量两个数据项的特征集之间相似度的算法。
[0090]
(5)根据公开参数pp、密文c、陷门t、云服务器的私钥sk
cs
和阈值th,若摘要d和d

匹配次数大于或等于阈值th,则摘要d和d

为相似数据,根据用户查询数据量扣费,并跳转到
步骤(6);否则,终止执行;
[0091]
具体地,
[0092]
云服务器初始化一个临时计数器count=0;
[0093]
计算:
[0094][0095]
如果c
1,i
=h3(qi′
),则count+1;
[0096]
循环小于或等于n次后,如果count≥th,则根据用户查询数据量扣费,并跳转到步骤(6);否则,终止执行。
[0097]
(6)根据密文c、数据拥有者的私钥sks和列表生成更新密文c

和更新列表
[0098]
具体地,
[0099]
云服务器解析密文c为c
1,i
,c2和c3,将c3返回给数据拥有者;
[0100]
数据拥有者计算更新密文给数据用户;
[0101]
数据拥有者根据数据用户的公钥pk
u1
记录该用户的查询次数,返回更新列表
[0102]
(7)根据更新密文c

、数据用户的私钥sku和数据拥有者的公钥pks,得到文件f;
[0103]
具体地,
[0104]
数据用户解密得到文件f=c

·
(sk
u1
pk
s1
)-1

[0105]
如图1所示,为轻量级支持付费查询相似数据的公钥认证加密方法流程图,涉及密钥生成中心、云服务器、数据拥有者(客户端)和数据用户(客户端)四个实体,该四个实体实现如下的功能。
[0106]
密钥生成中心分别为云服务器、数据拥有者和数据用户生成公私钥对。
[0107]
数据拥有者加密文件及其摘要生成密文,并将其上传到云服务器。
[0108]
数据用户生成陷门向云服务器发起查询。云服务器执行相似数据匹配操作,如果密文和陷门匹配,则返回匹配结果到数据拥有者;否则终止进程。
[0109]
数据拥有者接收到匹配结果后,计算更新密文,并将其返回到数据用户。
[0110]
以下给出一个所述轻量级支持付费查询相似数据的公钥认证加密方法应用于云服务中的示例。
[0111]
首先,密钥生成中心为云服务器、数据拥有者和数据用户生成其公私钥对。然后,数据拥有者加密文件及其摘要生成密文,并将其存储到云服务器;数据用户加密先前从数据拥有者处接收到的摘要生成陷门,并向云服务器发起查询请求。最后,云服务器相似匹配密文和陷门;如果匹配成功,则云服务器扣除该数据用户的费用并发送解析的密文给数据拥有者;否则终止进程。为防止云服务器与数据用户合谋抵赖扣费,数据拥有者记录该用户的查询次数,并经过计算返回更新密文给数据用户;数据用户解密得到文件。由于不采用开销较大的双线性映射计算,本发明效率较高,更加适用于云服务中性能较弱的移动设备。
[0112]
本发明能够保护用户隐私,采用了计算diffie

hellman假设、决策diffie

hellman假设和局部敏感哈希,在实现相似数据搜索过程中保护了密文隐私性和陷门隐私性。本发明既可抵抗自适应选择目标攻击和内部关键字猜测攻击,又解决了云服务器和数据用户合谋损害数据拥有者利益的问题。

技术特征:
1.一种轻量级支持付费查询相似数据的公钥认证加密方法,其特征在于,包括:(1)配置公开参数pp、阈值th和记录用户查询次数的列表(2)根据公开参数pp,生成云服务器的公钥pk
cs
和私钥sk
cs
,生成数据拥有者的公钥pk
s
和私钥sk
s
,生成数据用户的公钥pk
u
和私钥sk
u
;(3)根据公开参数pp、数据拥有者的文件f及其摘要d、数据拥有者的私钥sk
s
,以及云服务器的公钥pk
cs
和数据用户的公钥pk
u
,生成密文c;(4)根据公开参数pp、数据用户先前从数据拥有者处接收到的摘要d

、数据用户的私钥sk
u
,以及云服务器的公钥pk
cs
和数据拥有者的公钥pk
s
,生成陷门t;(5)根据公开参数pp、密文c、陷门t、云服务器的私钥sk
cs
和阈值th,若摘要d和d

匹配次数大于或等于阈值th,则摘要d和d

为相似数据,根据用户查询数据量扣费,并跳转到步骤(6);否则,终止执行;(6)根据密文c、数据拥有者的私钥sk
s
和列表生成更新密文c

和更新列表(7)根据更新密文c

、数据用户的私钥sk
u
和数据拥有者的公钥pk
s
,得到文件f。2.根据权利要求1所述的公钥认证加密方法,其特征在于,步骤(1)包括:设定公开参数pp为其中p为大素数,为椭圆曲线群,g为的生成元;哈希函数h1:h2:和h3:w表示关键字空间,表示正整数集合;表示中所有对模乘可逆元构成的集合,表示以p为模的剩余类环表示所有整数组成的集合;预定义一个阈值th;初始化一个用于记录用户查询次数的列表其中,pk
u
是数据用户u的公钥,qt
u
是该数据用户u的查询次数;该列表由数据拥有者秘密持有。3.根据权利要求2所述的公钥认证加密方法,其特征在于,步骤(2)包括:随机选取云服务器的公钥pk
cs
=sg;云服务器的私钥sk
cs
=s。4.根据权利要求3所述的公钥认证加密方法,其特征在于,步骤(2)还包括:随机选取数据拥有者的公钥pk
s
=(pk
s1
,pk
s2
)=(α1g,α2g);数据拥有者的私钥sk
s
=(sk
s1
,sk
s2
)=(α1,α2)。5.根据权利要求4所述的公钥认证加密方法,其特征在于,步骤(2)还包括:随机选取数据用户的公钥pk
u
=(pk
u1
,pk
u2
)=(β1g,β2g);数据用户的私钥sk
u
=(sk
u1
,sk
u2
)=(β1,β2)。6.根据权利要求5所述的公钥认证加密方法,其特征在于,步骤(3)包括:计算:v1=h1(pk
s1
,pk
u1
,sk
s1
pk
u1
),v2=h1(pk
s2
,pk
u2
,sk
s2
pk
u2
);随机选取通过lsh函数,提取摘要d的n个子特征集{f1,...,f
n
};
计算:q
i
=r(g+h2(f
i
,v1,v2)pk
u1
),子密文c
1,i
=h3(q
i
),c2=rpk
cs
和c3=(f
·
sk
s1
pk
u1
)sk
s1
;1≤i≤n生成密文c=(c
1,i
,c2,c3)。7.根据权利要求6所述的公钥认证加密方法,其特征在于,步骤(4)包括:计算:v
′1=h1(pk
s1
,pk
u1
,sk
u1
pk
s1
),v
′2=h1(pk
s2
,pk
u2
,sk
u2
pk
s2
);通过lsh函数,提取摘要d

的n个子特征集{f1′
,...,f

n
};计算:t
i
=h2(f
i

,v
′1,v
′2)sk
u1
;生成陷门t={t
i
}。8.根据权利要求7所述的公钥认证加密方法,其特征在于,步骤(5)包括:初始化一个临时计数器count=0;计算:如果c
1,i
=h3(q

i
),则count+1;循环小于或等于n次后,如果count≥th,则根据用户查询数据量扣费,并跳转到步骤(6);否则,终止执行。9.根据权利要求8所述的公钥认证加密方法,其特征在于,步骤(6)包括:解析密文c为c
1,i
,c2和c3,将c3返回给数据拥有者;计算更新密文给数据用户;根据数据用户的公钥pk
u1
记录该用户的查询次数,返回更新列表10.根据权利要求9所述的公钥认证加密方法,其特征在于,步骤(7)包括:解密得到文件f=c

·
(sk
u1
pk
s1
)-1


技术总结
本发明公开了一种轻量级支持付费查询相似数据的公钥认证加密方法,包括:密钥生成中心为云服务器、数据拥有者和数据用户生成其公私钥对;数据拥有者加密文件及其摘要生成密文,并将其存储到云服务器;数据用户加密先前从数据拥有者处接收到的摘要生成陷门,并向云服务器发起查询请求;云服务器相似匹配密文和陷门,如果匹配成功,则云服务器扣除该数据用户的费用并发送解析的密文给数据拥有者;数据拥有者记录该用户的查询次数,并经过计算返回更新密文给数据用户;数据用户解密得到文件。本发明不仅适用于移动设备,而且适用于付费查询相似数据场景,还可防止云服务器和数据用户合谋抵赖扣费,抵抗自适应选择目标攻击和内部关键字猜测攻击。关键字猜测攻击。关键字猜测攻击。


技术研发人员:陈礼青 黎嘉怡 陈晓兵 高丽 郭瑶 张萌 许士国 陈诗雨 董霞
受保护的技术使用者:淮阴工学院
技术研发日:2023.06.08
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐