CN112733193B - 基于时间控制可审计匿名的谓词检索系统及方法 - Google Patents

基于时间控制可审计匿名的谓词检索系统及方法 Download PDF

Info

Publication number
CN112733193B
CN112733193B CN202110086263.9A CN202110086263A CN112733193B CN 112733193 B CN112733193 B CN 112733193B CN 202110086263 A CN202110086263 A CN 202110086263A CN 112733193 B CN112733193 B CN 112733193B
Authority
CN
China
Prior art keywords
time
algorithm
predicate
proof
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110086263.9A
Other languages
English (en)
Other versions
CN112733193A (zh
Inventor
杨旸
薛文溢
詹永华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN202110086263.9A priority Critical patent/CN112733193B/zh
Publication of CN112733193A publication Critical patent/CN112733193A/zh
Application granted granted Critical
Publication of CN112733193B publication Critical patent/CN112733193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于时间控制可审计匿名的谓词检索系统及方法,包括可信机构、时间服务器、陷门生产中心、云服务、数据拥有者端、数据使用者端;所述可信机构与间服务器、陷门生产中心和数据拥有者端分别连接;所述云服务与数据拥有者端、数据使用者端分别连接。本发明基于时间的访问控制授权机制,并构造了一个具体的时间控制的表达性谓词查询系统,实现高效的谓词搜索、搜索关键词集隐私、匿名时间控制的授权、可审计的匿名性、无密钥托管以及时间令牌的不可转让性。

Description

基于时间控制可审计匿名的谓词检索系统及方法
技术领域
本发明涉及数据检索领域,具体涉及一种基于时间控制可审计匿名的谓词检索系统及方法。
背景技术
云计算的出现为信息技术和商业领域带来了深刻变革。个人、组织和企业可以将数据资源或服务外包给云服务器,按需使用云服务器的数据存储能力和计算能力,以减轻本地负担。在一个基于云平台的电子健康(e-health)系统中,往往存放着来自不同医疗机构的大量健康记录数据。为了保护用户隐私,这些医疗记录在外包到云服务器存储和计算之前都进行过加密。从方便数据和服务使用的角度来说,在电子健康系统中实现可搜索加密功能是很有必要的,这样授权用户才能在加密的医疗数据和服务上进行搜索,检索自己感兴趣的信息。一般来说,可搜索加密算法可以分为对称加密方式和公钥加密方式。前者也被称为隐私信息检索(PIR),因为加密后的数据只能由数据所有者自己搜索,或与数据共享者分享私钥;后者也被称为带关键词搜索的公钥加密(PEKS),数据所有者和数据使用者可以是不同的实体,他们之间无需共享私钥。
对于基于云的电子健康系统来说,使用公钥加密方式的可搜索加密方案更适合于多所有者、多用户之间的医疗资源共享。但是,现有的许多PEKS方案只支持单关键字搜索,不能满足检索需求。为了适应实际应用的需要,需要给用户提供能够实现灵活搜索的谓词检索方式(expressive search predicates),例如合取(conjunctive)/析取(disjunctive)关键字搜索和布尔搜索。例如,为了研究疾病、药物和治疗之间的关联关系,医生可以使用如下谓词搜索表达式:(疾病=高血压)AND((药物=ARBs)OR(治疗=运动疗法))。
发明内容
有鉴于此,本发明的目的在于提供一种基于时间控制可审计匿名的谓词检索系统及方法,实现基于时间的访问控制授权机制,并构造了一个具体的时间控制的表达性谓词查询系统。
为实现上述目的,本发明采用如下技术方案:
一种基于时间控制可审计匿名的谓词检索系统,包括可信机构
Figure BDA0002910957790000011
时间服务器
Figure BDA0002910957790000012
陷门生产中心
Figure BDA0002910957790000021
云服务
Figure BDA0002910957790000022
数据拥有者端
Figure BDA0002910957790000023
数据使用者端
Figure BDA0002910957790000024
所述可信机构与间服务器、陷门生产中心和数据拥有者端分别连接;所述云服务与数据拥有者端、数据使用者端分别连接。
一种基于时间控制可审计匿名的谓词检索系统的检索方法,包括以下步骤:
可信机构初始化系统;
时间服务器、陷门生成中心和数据使用者分别在可信机构注册并生成其公私钥对;
数据拥有者加密自己的数据并将加密数据外包给云服务器;
根据数据使用者预设要求获取授权,在授权时间内从时间服务器处获取时间令牌;
陷门生成中心验证数据使用者提交的时间令牌的合法性,并确保该令牌还未过期,验证通过后,陷门生成中心会同数据用户交互以共同生成一个支持表达性谓词检索的陷门,通过将该陷门提交给云服务器,数据用户就能获得相应的检索服务。
进一步的,所述系统初始化具体为:
以安全参数1κ为输入,输出系统公共参数params和主密钥MSK;
首先,生成一个包含双线性映射e:G G GT的双线性群(G,GT,e,p,g),并选取群G的一个生成元g;
接着,
Figure BDA0002910957790000025
随机选取g0,h,h0,u,w∈R G,
Figure BDA0002910957790000026
并计算X=gδ,X′=gλ
此外,
Figure BDA0002910957790000027
还会选取两个抗碰撞哈希函数
Figure BDA0002910957790000028
和H2:{0,1}*→G,并公开参数params=(g0,h,h0,u,w,X,X′,H1,H2);系统的主密钥MSK=(δ,λ)则由
Figure BDA0002910957790000029
保密。
进一步的,所述时间服务器在可信机构注册并生成其公私钥对,具体为:以公开参数params为输入,输出
Figure BDA00029109577900000210
的私钥SKTS和公钥PKTS
Figure BDA00029109577900000211
首先随机选取
Figure BDA00029109577900000212
并计算
Figure BDA00029109577900000213
Figure BDA00029109577900000214
将其私钥-公钥对设置为(SKTS,PKTS)=(xt,YTS);随后,
Figure BDA00029109577900000215
将公钥YTS发送各
Figure BDA00029109577900000216
以注册成为一个合法的时间服务器。
进一步的,所述陷门生成中心在可信机构注册并生成其公私钥对,具体为:以公开参数params为输入,以
Figure BDA00029109577900000217
的私钥SKTGC和公钥PKTGC为输出。
Figure BDA00029109577900000218
首先随机选取随机数
Figure BDA00029109577900000219
计算
Figure BDA0002910957790000031
Figure BDA0002910957790000032
Figure BDA0002910957790000033
的公钥PKTGC=(g,g1,g2,e(g1,g2)α),私钥SKTGC=(α,d1,d2)。
进一步的,所述数据使用者在可信机构注册并生成其公私钥对,具体为:
(1)
Figure BDA0002910957790000034
选取
Figure BDA0002910957790000035
计算
Figure BDA0002910957790000036
设置其私钥-公钥对为(SKU,PKU)=(xu,YU),并利用零知识证明技术生成证明
Figure BDA0002910957790000037
然后u将IDU,PKU,
Figure BDA0002910957790000038
发给
Figure BDA0002910957790000039
(2)
Figure BDA00029109577900000310
验证
Figure BDA00029109577900000311
后,选取
Figure BDA00029109577900000312
利用主密钥δ,λ计算
Figure BDA00029109577900000313
Figure BDA00029109577900000314
得到匿名凭证σU=(σU,1U,2);TA将(IDU,PKU,VPU,(ru,suu))存入本地列表
Figure BDA00029109577900000315
中,并将ru,suU,VPU发送给
Figure BDA00029109577900000316
(3)
Figure BDA00029109577900000317
在接收后验证等式
Figure BDA00029109577900000318
Figure BDA00029109577900000319
是否成立;如果成功验证,
Figure BDA00029109577900000320
就保存匿名证书σU=(σU,1U,2)和证书有效期VPU
进一步的,所述数据拥有者采用Encrypt算法加密自己的数据,具体为:
以关键词集合KW=(W1,…,Wm)和公共参数PP为输入,输出密文CT;选取随机数
Figure BDA00029109577900000321
分别计算C0=e(g1,g2)αs,
Figure BDA00029109577900000322
Cx=H(Wx)sgs,最终得到密文CT=(C0,F1,F2,F3,{Cx}x∈[1,m])。
进一步的,所述时间令牌获取,具体为:
(1)
Figure BDA00029109577900000323
利用零知识证明技术生成证明
Figure BDA00029109577900000324
在不泄露xt的前提下证明其拥有私钥SKTS=xt
(2)数据使用者
Figure BDA00029109577900000325
需要使用其密钥SKU=xu和匿名证书σU生成假名PsU;首先,
Figure BDA00029109577900000326
随机选取
Figure BDA00029109577900000327
然后分别计算
Figure BDA00029109577900000328
(cu=sucuu=suψu),ξu=H1(cu,IDTGC),
Figure BDA00029109577900000329
通过上述计算,u得到假名PsU=(PU,QU,RU);
Figure BDA00029109577900000330
同时还生成了如下的零知识证明
Figure BDA00029109577900000331
Figure BDA00029109577900000332
将IDTGC,PsU,
Figure BDA00029109577900000333
VPU发送给
Figure BDA00029109577900000334
Figure BDA0002910957790000041
(3)在成功验证
Figure BDA0002910957790000042
后,
Figure BDA0002910957790000043
利用BBS+签名技术为
Figure BDA0002910957790000044
生成时间令牌
Figure BDA0002910957790000045
时间令牌中的元素zu=H1(IDTGC,VPT,PsU),这是时间令牌的序列号标识,包含了IDTGC、PsU和令牌有效期VPT
(4)在收到时间令牌后,
Figure BDA0002910957790000046
对如下等式进行验证:
Figure BDA0002910957790000047
如果验证通过,
Figure BDA0002910957790000048
就接受该时间令牌TokU
进一步的,所述时间令牌验证,具体为:
(1)
Figure BDA0002910957790000049
首先选取一个随机数Nu并发送给
Figure BDA00029109577900000410
(2)随后,
Figure BDA00029109577900000411
随机选取
Figure BDA00029109577900000412
计算
Figure BDA00029109577900000413
Figure BDA00029109577900000414
此时,时间令牌TokU
Figure BDA00029109577900000415
进行盲化处理;接着,
Figure BDA00029109577900000416
生成如下零知识证明
Figure BDA00029109577900000417
作为其拥有合法时间令牌的证据:
Figure BDA00029109577900000418
Figure BDA00029109577900000419
将(DU,EU,FU,zu,VPT,PsU)整合成证明ProofT;完成上述计算后,
Figure BDA00029109577900000420
将TokU和ProofT发送给
Figure BDA00029109577900000421
(3)接收到
Figure BDA00029109577900000422
发送的数据后,
Figure BDA00029109577900000423
检查证明
Figure BDA00029109577900000424
是否通过验证以及等式
Figure BDA00029109577900000425
是否成立;
在该过程中,随机数Nu被包含在零知识证明
Figure BDA0002910957790000051
的生成和验证中以抵抗重放攻击。
进一步的,所述支持表达性谓词检索的陷门生成,具体包括如下步骤:
(1)
Figure BDA0002910957790000052
首先生成随机值
Figure BDA0002910957790000053
并发送l×n的矩阵
Figure BDA0002910957790000054
Figure BDA0002910957790000055
在收到矩阵
Figure BDA0002910957790000056
后,
Figure BDA0002910957790000057
生成随机数
Figure BDA0002910957790000058
和一个随机向量
Figure BDA0002910957790000059
并计算秘密值α的秘密份额(secret shares)
Figure BDA00029109577900000510
接着,
Figure BDA00029109577900000511
Figure BDA00029109577900000512
执行了一个被称为TTP-ModuloArithmetics的两方协议;协议执行后,
Figure BDA00029109577900000513
获取
Figure BDA00029109577900000514
其中
Figure BDA00029109577900000515
Figure BDA00029109577900000516
(2)
Figure BDA00029109577900000517
利用随机值φi,3计算
Figure BDA00029109577900000518
以此隐藏查询关键词集合{Wρ(i)};同时
Figure BDA00029109577900000519
生成对应的零知识证明
Figure BDA00029109577900000520
Figure BDA00029109577900000521
将{Γi}i∈[1,l]和零知识证明
Figure BDA00029109577900000522
发送给
Figure BDA00029109577900000523
(3)
Figure BDA00029109577900000524
首先要验证
Figure BDA00029109577900000525
是否成立;如果验证未通过,陷门生成算法就此中止;然后
Figure BDA00029109577900000526
计算盲陷门{Di,1,Di,2,Ei′}i∈[1,l]并发送给u;在收到盲陷门后,
Figure BDA00029109577900000527
可以用其生成合法陷门TD={Di,1,Di,2,Ei}i∈[1,l]
进一步的,还设置有加密数据匹配测试,所述加密数据匹配测试具体如下:
Figure BDA00029109577900000528
以CT、TD和params作为输入,
Figure BDA00029109577900000529
调用测试算法Test获得匹配结果。如果KW和搜索谓词
Figure BDA00029109577900000530
匹配,算法输出1,否则算法输出0;
算法Test以安全参数PP、密文CT=(C,F1,F2,F3,{Cx}x∈[1,m])和一个谓词陷门
Figure BDA00029109577900000531
作为输入,输出0或1表示匹配结果,即1表示匹配,0表示不匹配。其中,密文CT对应明文关键词集合KW=(W1,…,Wm);陷门TD则与搜索谓词
Figure BDA00029109577900000532
相对应。算法从
Figure BDA00029109577900000533
中计算
Figure BDA00029109577900000534
是满足
Figure BDA00029109577900000535
的[1,l]最小子集)。然后算法检查是否存在集合
Figure BDA00029109577900000536
使其对于常量{ωi}i∈I满足
Figure BDA00029109577900000537
Figure BDA0002910957790000061
如果不存在这样的集合I,算法输出0表示KW和搜索谓词
Figure BDA0002910957790000062
不匹配;否则,算法输出1。
进一步的,
Figure BDA0002910957790000063
使用User-Trace算法来实现可审计性。
Figure BDA0002910957790000064
Figure BDA0002910957790000065
可以利用其主密钥MSK来从时间令牌证明ProofT中获取证明的生产者
Figure BDA0002910957790000066
的公钥PKU和身份IDU。给定一个时间令牌证明ProofT
Figure BDA0002910957790000067
可以实施如下操作:
(1)验证下列等式是否成立:
Figure BDA0002910957790000068
(2)如果任一等式不成立,算法输出⊥,表明ProofT不是一个合法的时间令牌证明。否则,
Figure BDA0002910957790000069
计算
Figure BDA00029109577900000610
并在列表
Figure BDA00029109577900000611
中查找(PKU,IDU)来获取
Figure BDA00029109577900000612
的身份IDU
本发明与现有技术相比具有以下有益效果:
本发明基于时间的访问控制授权机制,并构造了一个具体的时间控制的表达性谓词查询系统,实现高效的谓词搜索、搜索关键词集隐私、匿名时间控制的授权、可审计的匿名性、无密钥托管以及时间令牌的不可转让性。
附图说明
图1是本发明系统原理图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种基于时间控制可审计匿名的谓词检索系统,包括可信机构
Figure BDA00029109577900000613
时间服务器
Figure BDA0002910957790000071
陷门生产中心
Figure BDA0002910957790000072
云服务
Figure BDA0002910957790000073
数据拥有者端
Figure BDA0002910957790000074
数据使用者端
Figure BDA0002910957790000075
所述可信机构与间服务器、陷门生产中心和数据拥有者端分别连接;所述云服务与数据拥有者端、数据使用者端分别连接。
Figure BDA0002910957790000076
是一个可信的实体,负责系统初始化(system setup)、其他实体的公私钥生成、匿名凭证发行以及恶意用户审计和恢复;
Figure BDA0002910957790000077
首先需要到
Figure BDA0002910957790000078
注册以生成其公私钥对。当收到数据使用者的请求时,
Figure BDA0002910957790000079
会根据数据使用者的订单为其生成时间令牌(。
Figure BDA00029109577900000710
生成的令牌与一个特定期限绑定,只有在有效期限内,数据使用者才能使用检索服务。
Figure BDA00029109577900000711
同样需要到
Figure BDA00029109577900000712
注册以生成其公私钥对。
Figure BDA00029109577900000713
负责验证数据用户提交的时间令牌的合法性,并确保该令牌还未过期。验证通过后,
Figure BDA00029109577900000714
会同数据用户交互以生成检索陷门。本系统能够保证在交互过程中,用户的搜索谓词对
Figure BDA00029109577900000715
保密。
Figure BDA00029109577900000716
负责存储加密数据并运行测试算法以响应检索请求
Figure BDA00029109577900000717
加密自己的数据并将加密数据外包给云服务器
Figure BDA00029109577900000718
Figure BDA00029109577900000719
需要到
Figure BDA00029109577900000720
注册以生成其公私钥对。
Figure BDA00029109577900000721
根据按需付费的商业模式支付检索服务费用后,能在授权时间内从时间服务器
Figure BDA00029109577900000722
处获取时间令牌。接着,数据用户可以与陷门生成中心
Figure BDA00029109577900000723
进行交互,共同生成一个支持表达性谓词检索的陷门。通过将该陷门提交给云服务器,数据用户就能获得相应的检索服务。
在本实施例中,变量符合定义如表1所示:
表1:符号变量
Figure BDA00029109577900000724
Figure BDA0002910957790000081
Figure BDA0002910957790000091
在本实施例中,还提供一种基于时间控制可审计匿名的谓词检索系统的检索方法,包括以下步骤:
可信机构初始化系统;
时间服务器、陷门生成中心和数据使用者分别在可信机构注册并生成其公私钥对;
数据拥有者加密自己的数据并将加密数据外包给云服务器;
根据数据使用者预设要求获取授权,在授权时间内从时间服务器处获取时间令牌;
陷门生成中心验证数据使用者提交的时间令牌的合法性,并确保该令牌还未过期,验证通过后,陷门生成中心会同数据用户交互以共同生成一个支持表达性谓词检索的陷门,通过将该陷门提交给云服务器,数据用户就能获得相应的检索服务。
优选的,本实施例中系统中包含以下算法:系统建立算法Setup,时间服务器注册算法TS-Reg,陷门生成中心注册算法TGC-Reg,用户注册算法User-Reg,加密算法Encrypt,时间令牌生成算法Time-Token-Gen,时间令牌验证算法Time-Token-Verify,盲化陷门生成算法Blind-Trapdoor-Gen,测试算法Test,用户追踪算法User-Trace。
1.Setup(1κ)→(params,MSK).
Figure BDA0002910957790000101
以安全参数1κ为输入,生成公共参数params和主密钥MSK。
2.TS-Reg(params)→(SKTS,PKTS).
Figure BDA0002910957790000102
以公共参数params为输入,生成其私钥SKTS和公钥PKTS
3.TGC-Reg(params)→(SKTGC,PKTGC).
Figure BDA0002910957790000103
以公共参数params为输入,生成其私钥SKTGC和公钥PKTGC
4.
Figure BDA0002910957790000104
(SKU,PKUU,VPU).该算法通过
Figure BDA0002910957790000105
Figure BDA0002910957790000106
的交互实现。
Figure BDA0002910957790000107
以主密钥MSK和公开参数params作为输入,
Figure BDA0002910957790000108
以其的身份IDU和公开参数params作为输入。算法输出IDU对应的私钥SKU、公钥PKU、匿名凭证σU和匿名凭证的有效期VPU
5.
Figure BDA0002910957790000109
该算法由
Figure BDA00029109577900001010
执行。算法通过输入关键词集合KW和公开参数params,能够生成关键词集合对应的密文CT
6.
Figure BDA00029109577900001011
Figure BDA00029109577900001012
该算法由
Figure BDA00029109577900001013
Figure BDA00029109577900001014
的交互实现。在该算法中,
Figure BDA00029109577900001015
以其私钥SKTS、公钥PKTS和公开参数params为输入,
Figure BDA00029109577900001016
以其私钥SKU、公钥PKU、匿名凭证σU、有效期VPU
Figure BDA00029109577900001017
的身份IDTGC和公开参数params为输入。算法输出
Figure BDA00029109577900001018
的加密PsU、时间令牌TokU及时间令牌的有效期VPT
7.
Figure BDA00029109577900001019
Figure BDA00029109577900001020
该算法由
Figure BDA00029109577900001021
Figure BDA00029109577900001022
之间的交互所实现。
Figure BDA00029109577900001023
以其私钥SKTGC、公钥PKTGC和公开参数params为输入,
Figure BDA00029109577900001024
以其私钥SKU、公钥PKU、匿名凭证σU、有效期VPU、时间令牌TokU及其有效期VPT和公开参数params为输入。当TokU和ProofT分别为合法的时间令牌和证明时,算法输出1。否则,算法将输出0.
8.
Figure BDA0002910957790000111
如果上一个算法Time-Token-Verify输出1,
Figure BDA0002910957790000112
Figure BDA0002910957790000113
会继续执行Blind-Trapdoor-Gen算法来生成一个查询陷门。
该算法由
Figure BDA0002910957790000114
Figure BDA0002910957790000115
之间的交互所实现。
Figure BDA0002910957790000116
以其私钥SKTGC和公开参数params作为输入,
Figure BDA0002910957790000117
以关键词集合
Figure BDA0002910957790000118
和公开参数params为输入。算法最终生成
Figure BDA0002910957790000119
的查询陷门TD。
9.
Figure BDA00029109577900001110
该算法由
Figure BDA00029109577900001111
执行。算法输入密文CT、查询陷门TD和公开参数params。如果密文和陷门的关键词集合匹配,算法将输出1,否则算法输出0。
Figure BDA00029109577900001112
该算法由
Figure BDA00029109577900001113
执行。通过输入主密钥MSK、时间令牌证明ProofT和公开参数params,
Figure BDA00029109577900001114
能够还原出用户
Figure BDA00029109577900001115
(即ProofT的生成者)的公钥PKU和身份IDU。如果ProofT不是一个合法的时间令牌证明,算法将输出⊥。
系统初始化具体为:Setup(1κ)→(params,MSK)
以安全参数1κ为输入,输出系统公共参数params和主密钥MSK;
首先,算法生成一个包含双线性映射e:G G GT的双线性群(G,GT,e,p,g),并选取群G的一个生成元g。接着,
Figure BDA00029109577900001116
随机选取g0,h,h0,u,w∈R G,δ,
Figure BDA00029109577900001117
并计算X=gδ,X′=gλ。此外,
Figure BDA00029109577900001118
还会选取两个抗碰撞哈希函数
Figure BDA00029109577900001119
和H2:{0,1}*→G,并公开参数params=(g0,h,h0,u,w,X,X′,H1,H2)。系统的主密钥MSK=(δ,λ)则由
Figure BDA00029109577900001120
保密。
时间服务器在可信机构注册并生成其公私钥对,具体为:以公开参数params为输入,输出
Figure BDA00029109577900001121
的私钥SKTS和公钥PKTS
Figure BDA00029109577900001122
首先随机选取
Figure BDA00029109577900001123
并计算
Figure BDA00029109577900001124
Figure BDA00029109577900001125
将其私钥-公钥对设置为(SKTS,PKTS)=(xt,YTS);随后,
Figure BDA00029109577900001126
将公钥YTS发送各
Figure BDA00029109577900001127
以注册成为一个合法的时间服务器。
在本实施例中,时间服务器
Figure BDA00029109577900001128
陷门生成中心
Figure BDA00029109577900001129
和数据使用者
Figure BDA00029109577900001130
都需要向
Figure BDA00029109577900001131
注册后才能执行后续操作
TS-Reg(params)→(SKTS,PKTS)
该算法由
Figure BDA0002910957790000121
调用,以公开参数params为输入,输出
Figure BDA0002910957790000122
的私钥SKTS和公钥PKTS。在该算法中,
Figure BDA0002910957790000123
首先随机选取
Figure BDA0002910957790000124
并计算
Figure BDA0002910957790000125
Figure BDA0002910957790000126
将其私钥-公钥对设置为(SKTS,PKTS)=(xt,YTS)。随后,
Figure BDA0002910957790000127
将公钥YTS发送各
Figure BDA0002910957790000128
以注册成为一个合法的时间服务器
TGC-Reg(params)→(SKTGC,PKTGC)
该算法由
Figure BDA0002910957790000129
调用,以公开参数params为输入,以
Figure BDA00029109577900001210
的私钥SKTGC和公钥PKTGC为输出。
Figure BDA00029109577900001211
首先运行EPQ.Setup来生成其私钥SKTGC=(α,d1,d2)和公钥PKTGC=(g,g1,g2,e(g1,g2)α)。然后
Figure BDA00029109577900001212
将其公钥YTGC发送给
Figure BDA00029109577900001213
注册。EPQ.Setup(1λ)→(PP,MSK)
Setup算法以安全参数1λ为输入,输出公共参数PP和主密钥MSK。算法首先随机选取随机数
Figure BDA00029109577900001214
计算
Figure BDA00029109577900001215
Figure BDA00029109577900001216
算法同时也定义了一个抗冲突哈希函数H:{0,1}*→G。系统的公开参数PP=(g,g1,g2,e(g1,g2)α,H),主密钥MSK=(α,d1,d2)
Figure BDA00029109577900001217
(SKU,PKUU,VPU)
该算法由
Figure BDA00029109577900001218
Figure BDA00029109577900001219
联合执行,生成
Figure BDA00029109577900001220
的私钥SKU、公钥PKU、匿名凭证σU和匿名凭证的有效期VPU。交互的具体过程如下所示。
(1)
Figure BDA00029109577900001221
选取
Figure BDA00029109577900001222
计算
Figure BDA00029109577900001223
设置其私钥-公钥对为(SKU,PKU)=(xu,YU),并利用零知识证明技术生成证明
Figure BDA00029109577900001224
以便在不泄露私钥的同时证明其拥有私钥SKU=xu。然后
Figure BDA00029109577900001225
将IDU,PKU,
Figure BDA00029109577900001226
发给
Figure BDA00029109577900001227
(2)
Figure BDA00029109577900001228
验证
Figure BDA00029109577900001229
后,选取
Figure BDA00029109577900001230
利用主密钥δ,λ计算
Figure BDA00029109577900001231
Figure BDA00029109577900001232
得到匿名凭证σU=(σU,1U,2)。TA将(IDU,PKU,VPU,(ru,suu))存入本地列表
Figure BDA00029109577900001233
中,并将ru,suU,VPU发送给
Figure BDA00029109577900001234
(3)
Figure BDA0002910957790000131
在接收后验证等式
Figure BDA0002910957790000132
Figure BDA0002910957790000133
是否成立。如果成功验证,
Figure BDA0002910957790000134
就保存匿名证书σU=(σU,1U,2)和证书有效期VPU
在本实施例中,数据拥有者采用Encrypt算法加密自己的数据,具体为:
Encrypt算法以关键词集合KW=(W1,…,Wm)和公共参数PP为输入,输出密文CT。算法选取随机数
Figure BDA0002910957790000135
分别计算C0=e(g1,g2)αs,
Figure BDA0002910957790000136
Cx=H(Wx)sgs,最终得到密文CT=(C0,F1,F2,F3,{Cx}x∈[1,m])。
在本实施例中,时间令牌获取,具体为:数据使用者在付费后将获得相应数据使用授权。
时间服务器负责检查用户的授权情况,并在授权期限内向付费用户发放时间令牌。
Figure BDA0002910957790000137
(1)
Figure BDA0002910957790000138
利用零知识证明技术生成证明
Figure BDA0002910957790000139
在不泄露xt的前提下证明其拥有私钥SKTS=xt
(2)数据使用者
Figure BDA00029109577900001310
需要使用其密钥SKU=xu和匿名证书σU生成假名PsU;首先,
Figure BDA00029109577900001311
随机选取
Figure BDA00029109577900001312
然后分别计算
Figure BDA00029109577900001313
(cu=sucuu=suψu),ξu=H1(cu,IDTGC),
Figure BDA00029109577900001314
通过上述计算,
Figure BDA00029109577900001315
得到假名PsU=(PU,QU,RU);
Figure BDA00029109577900001316
同时还生成了如下的零知识证明
Figure BDA00029109577900001317
Figure BDA00029109577900001318
将IDTGC,PsU,
Figure BDA00029109577900001319
VPU发送给
Figure BDA00029109577900001320
Figure BDA00029109577900001321
(3)在成功验证
Figure BDA00029109577900001322
后,
Figure BDA00029109577900001323
利用BBS+签名技术为
Figure BDA00029109577900001324
生成时间令牌
Figure BDA00029109577900001325
时间令牌中的元素zu=H1(IDTGC,VPT,PsU),这是时间令牌的序列号标识,包含了IDTGC、PsU和令牌有效期VPT
(4)在收到时间令牌后,
Figure BDA0002910957790000141
对如下等式进行验证:
Figure BDA0002910957790000142
如果验证通过,
Figure BDA0002910957790000143
就接受该时间令牌TokU
在本实施例中,时间令牌验证,具体为:在得到时间服务器
Figure BDA0002910957790000144
发行时间令牌后,数据使用者
Figure BDA0002910957790000145
就可以将时间令牌提交给陷门生成中心
Figure BDA0002910957790000146
以获取陷门生成服务。本系统保证了时间令牌的不可转让性,除非
Figure BDA0002910957790000147
的私钥泄露,否则其时间令牌无法被其他用户使用。为了满足上述不可转让性要求,在
Figure BDA0002910957790000148
对时间令牌的所有权进行验证的过程中,时间令牌是对
Figure BDA0002910957790000149
保密的。
Figure BDA00029109577900001410
(1)
Figure BDA00029109577900001411
首先选取一个随机数Nu并发送给
Figure BDA00029109577900001412
(2)随后,
Figure BDA00029109577900001413
随机选取
Figure BDA00029109577900001414
计算
Figure BDA00029109577900001415
Figure BDA00029109577900001416
此时,时间令牌TokU
Figure BDA00029109577900001417
进行盲化处理;接着,
Figure BDA00029109577900001418
生成如下零知识证明
Figure BDA00029109577900001419
作为其拥有合法时间令牌的证据:
Figure BDA00029109577900001420
Figure BDA00029109577900001421
将(DU,EU,FU,zu,VPT,PsU)整合成证明ProofT;完成上述计算后,
Figure BDA00029109577900001422
将TokU和ProofT发送给
Figure BDA00029109577900001423
(3)接收到
Figure BDA00029109577900001424
发送的数据后,
Figure BDA00029109577900001425
检查证明
Figure BDA00029109577900001426
是否通过验证以及等式
Figure BDA00029109577900001427
是否成立;
在该过程中,随机数Nu被包含在零知识证明
Figure BDA00029109577900001428
的生成和验证中以抵抗重放攻击。
在本实施例中,为了使用检索服务,数据使用者
Figure BDA0002910957790000151
需要为搜索谓词(searchpredicate)
Figure BDA0002910957790000152
生成查询陷门。本发明利用陷门生成中心
Figure BDA0002910957790000153
来为
Figure BDA0002910957790000154
生成陷门。为了实现隐私保护,设计了一种盲陷门生成算法。该算法能在不泄露查询内容的情况下,帮助数据使用者生成检索谓词陷门。如果
Figure BDA0002910957790000155
的时间令牌在之前的Time-Token-Verify算法中被成功验证,
Figure BDA0002910957790000156
Figure BDA0002910957790000157
就可以通过Blind-Trapdoor-Gen算法生成查询陷门,
Figure BDA0002910957790000158
具体包括如下步骤:
(1)
Figure BDA0002910957790000159
首先生成随机值
Figure BDA00029109577900001510
并发送l×n的矩阵
Figure BDA00029109577900001511
Figure BDA00029109577900001512
在收到矩阵
Figure BDA00029109577900001513
后,
Figure BDA00029109577900001514
生成随机数
Figure BDA00029109577900001515
和一个随机向量
Figure BDA00029109577900001516
并计算秘密值α的秘密份额(secret shares)
Figure BDA00029109577900001517
接着,
Figure BDA00029109577900001518
Figure BDA00029109577900001519
执行了一个被称为TTP-ModuloArithmetics的两方协议;协议执行后,
Figure BDA00029109577900001520
获取
Figure BDA00029109577900001521
其中
Figure BDA00029109577900001522
Figure BDA00029109577900001523
(2)
Figure BDA00029109577900001524
利用随机值φi,3计算
Figure BDA00029109577900001525
以此隐藏查询关键词集合{Wρ(i)};同时
Figure BDA00029109577900001526
生成对应的零知识证明
Figure BDA00029109577900001527
Figure BDA00029109577900001528
将{Γi}i∈[1,l]和零知识证明
Figure BDA00029109577900001529
发送给
Figure BDA00029109577900001530
(3)
Figure BDA00029109577900001531
首先要验证
Figure BDA00029109577900001532
是否成立;如果验证未通过,陷门生成算法就此中止;然后
Figure BDA00029109577900001533
计算盲陷门{Di,1,Di,2,Ei′}i∈[1,l]并发送给
Figure BDA00029109577900001534
在收到盲陷门后,
Figure BDA00029109577900001535
可以用其生成合法陷门TD={Di,1,Di,2,Ei}i∈[1,l]
在本实施例中,加密数据匹配测试具体如下:
Figure BDA00029109577900001536
该算法以CT、TD和params作为输入,
Figure BDA00029109577900001537
调用测试算法Test获得匹配结果。如果KW和搜索谓词
Figure BDA00029109577900001538
匹配,算法输出1,否则算法输出0。
算法Test以安全参数PP、密文CT=(C,F1,F2,F3,{Cx}x∈[1,m])和一个谓词陷门
Figure BDA0002910957790000161
作为输入,输出0或1表示匹配结果,即1表示匹配,0表示不匹配。其中,密文CT对应明文关键词集合KW=(W1,…,Wm);陷门TD则与搜索谓词
Figure BDA0002910957790000162
相对应。算法从
Figure BDA0002910957790000163
中计算
Figure BDA0002910957790000164
是满足
Figure BDA0002910957790000165
的[1,l]最小子集)。然后算法检查是否存在集合
Figure BDA0002910957790000166
使其对于常量{ωi}i∈I满足
Figure BDA0002910957790000167
Figure BDA0002910957790000168
如果不存在这样的集合I,算法输出0表示KW和搜索谓词
Figure BDA0002910957790000169
不匹配。否则,算法输出1。
在本实施例中,
Figure BDA00029109577900001610
使用User-Trace算法来实现可审计性。
Figure BDA00029109577900001611
Figure BDA00029109577900001612
可以利用其主密钥MSK来从时间令牌证明ProofT中获取证明的生产者
Figure BDA00029109577900001613
的公钥PKU和身份IDU。给定一个时间令牌证明ProofT
Figure BDA00029109577900001614
可以实施如下操作:
(1)验证下列等式是否成立:
Figure BDA00029109577900001615
(2)如果任一等式不成立,算法输出⊥,表明ProofT不是一个合法的时间令牌证明。否则,
Figure BDA00029109577900001616
计算
Figure BDA00029109577900001617
并在列表
Figure BDA00029109577900001618
中查找(PKU,IDU)来获取
Figure BDA00029109577900001619
的身份IDU
优选的,在本实施例中,定义Gp为一个以安全参数1κ为输入的算法,算法输出素数阶双线性映射参数组(p,g,G,GT,e)。其中G和GT是两个阶为素数p的乘法循环群,g是G的随机生成元。映射e:G G GT是一个双线性映射。双线性映射e有三个性质:(1)双线性性(bilinearity):
Figure BDA00029109577900001620
和a,b∈Zp,有e(ua,vb)=e(uv)ab。(2)非退化性:e(g,g)≠1。(3)可计算性:可以高效计算出e。
假设1(q-SDH假设)设G是阶为素数p的双线性群,g是G的一个生成元。G中的q-SDH(q-Strong Diffie-Hellman)问题定义如下:算法
Figure BDA0002910957790000171
以一个长度为(q+1)的元组
Figure BDA0002910957790000172
为输入,输出(c,g1/(c+x))∈Zp×G,如果
Figure BDA0002910957790000173
则算法能以∈的优势解决G中的q-SDH问题。
假设2(q-bilinear Diffie-Hellman exponent假设)设G是阶为素数p的双线性群,g是G的一个生成元,β,s∈Zp是随机数。如果敌手
Figure BDA0002910957790000174
拥有向量
Figure BDA0002910957790000175
则敌手
Figure BDA0002910957790000176
难以区分
Figure BDA0002910957790000177
是否为一个从GT中随机选取的元素。
在本实施例中,还设置有零知识证明,具体为:
零知识证明(ZKP)涉及证明者和验证者两个实体:证明者P知道一个秘密数据x,验证者V想要确保秘密数据x与公开数据w间满足关系R,即(w,x)∈R。
如果协议使得证明者P能够在说服验证者V的同时,保证V除了上述陈述外一无所知,则该协议被称为对知识的零知识证明zero-knowledge proof of knowledge(PoK)协议。一个典型的零知识证明实例如下所示。
Figure BDA0002910957790000178
其中,
Figure BDA0002910957790000179
是要证明的秘密值,g1,g2,Z1,Z2∈G是公开参数。按照Fiat-Shamir启发法(Fiat-Shamir heuristic),该实例能以下列方式转换为非交互式零知识证明协议:(1)P随机选取
Figure BDA00029109577900001710
计算承诺
Figure BDA00029109577900001711
然后,P计算c=H(Z1,Z2,U1,U2),y1=u1-cs1和y2=u2-cs2。P将证明(U1,U2,y1,y2)发送给V。(2)在收到证明后,V计算c=H(Z1,Z2,U1,U2),并检查
Figure BDA00029109577900001712
Figure BDA00029109577900001713
如果上述两个等式成立,V则接受该证明。
优选的,本实施例还设置有承诺方案,具体为:一个密码学承诺方案允许某一方提交一个秘密值,同时使该值对其他参与者保密。提交者能够在之后公开(open)所提交的值。承诺方案的目的是保证承诺方不改变承诺值,这是被用于零知识证明、安全计算等技术中的一个重要工具。本系统采用Pedersen承诺方案。对于一个秘密值
Figure BDA00029109577900001714
方案随机选取
Figure BDA00029109577900001715
输出承诺
Figure BDA0002910957790000181
Pedersen承诺方案是基于离散对数困难问题的完美隐藏与绑定(binding)。
优选的,在本实施例中,还设置有匿名凭证,具体为:
在匿名证书系统中,用户能够从证书发行者处获得凭证并以匿名方式证明其拥有凭证。这是为用户提供隐私的最佳方法之一,对于许多实际应用来说至关重要。许多匿名证书方案使用匿名签名技术(例如BBS+签名和零知识签名)来构造匿名凭证。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (6)

1.一种基于时间控制可审计匿名的谓词检索系统的检索方法,其特征在于,所述系统包括可信机构
Figure QLYQS_1
时间服务器
Figure QLYQS_2
陷门生产中心
Figure QLYQS_3
云服务
Figure QLYQS_4
数据拥有者端
Figure QLYQS_5
数据使用者端
Figure QLYQS_6
所述可信机构与间服务器、陷门生产中心和数据拥有者端分别连接;所述云服务与数据拥有者端、数据使用者端分别连接
具体包括以下步骤:
可信机构初始化系统;
时间服务器、陷门生成中心和数据使用者分别在可信机构注册并生成其公私钥对;
数据拥有者加密自己的数据并将加密数据外包给云服务器;
根据数据使用者预设要求获取授权,在授权时间内从时间服务器处获取时间令牌;
陷门生成中心验证数据使用者提交的时间令牌的合法性,并确保该令牌还未过期,验证通过后,陷门生成中心会同数据用户交互以共同生成一个支持表达性谓词检索的陷门,通过将该陷门提交给云服务器,数据用户就能获得相应的检索服务;
所述时间令牌获取,具体为:
(1)
Figure QLYQS_7
利用零知识证明技术生成证明
Figure QLYQS_8
在不泄漏xt的前提下证明其拥有私钥SKTS=xt
(2)数据使用者
Figure QLYQS_11
需要使用其密钥SKU=xu和匿名证书σU生成假名PsU;首先,
Figure QLYQS_14
随机选取
Figure QLYQS_19
然后分别计算
Figure QLYQS_10
c′u=sucu,ψ′u,suψu,ξu=H1(cu,IDTGC),
Figure QLYQS_16
通过上述计算,
Figure QLYQS_17
得到假名PsU=(PU,QU,RU);
Figure QLYQS_18
同时还生成了如下的零知识证明
Figure QLYQS_9
Figure QLYQS_12
将IDTGC,PsU,
Figure QLYQS_13
VPU发送给
Figure QLYQS_15
Figure QLYQS_20
(3)在成功验证
Figure QLYQS_21
后,
Figure QLYQS_22
利用BBS+签名技术为
Figure QLYQS_23
生成时间令牌
Figure QLYQS_24
时间令牌中的元素zu=H1(IDTGC,VPT,PsU),这是时间令牌的序列号标识,包含了IDTGC、PsU和令牌有效期VPT
(4)在收到时间令牌后,
Figure QLYQS_25
对如下等式进行验证:
Figure QLYQS_26
如果验证通过,
Figure QLYQS_27
就接受该时间令牌TokU
所述时间令牌验证,具体为:
(1)
Figure QLYQS_28
首先选取一个随机数Nu并发送给u
(2)随后,
Figure QLYQS_29
随机选取
Figure QLYQS_30
计算
Figure QLYQS_31
Figure QLYQS_32
η′u=ηutu,ζ′u=ζutu;此时,时间令牌TokU
Figure QLYQS_33
进行盲化处理;接着,
Figure QLYQS_34
生成如下零知识证明
Figure QLYQS_35
作为其拥有合法时间令牌的证据:
Figure QLYQS_36
Figure QLYQS_37
将(DU,EU,FU,zu,VPT,PsU)整合成证明Proo fT;完成上述计算后,
Figure QLYQS_38
将TokU和Proo fT发送给
Figure QLYQS_39
(3)接收到
Figure QLYQS_40
发送的数据后,
Figure QLYQS_41
检查证明
Figure QLYQS_42
是否通过验证以及等式
Figure QLYQS_43
是否成立;
在该过程中,随机数Nu被包含在零知识证明
Figure QLYQS_44
的生成和验证中以抵抗重放攻击;
所述支持表达性谓词检索的陷门生成,具体包括如下步骤:
(1)
Figure QLYQS_48
首先生成随机值
Figure QLYQS_51
并发送l′n的矩阵
Figure QLYQS_54
Figure QLYQS_46
在收到矩阵
Figure QLYQS_57
后,
Figure QLYQS_58
生成随机数
Figure QLYQS_59
和一个随机向量
Figure QLYQS_45
Figure QLYQS_49
并计算秘密值α的秘密份额
Figure QLYQS_52
接着,
Figure QLYQS_55
Figure QLYQS_47
执行了一个被称为TTP-ModuloArithmetics的两方协议;协议执行后,
Figure QLYQS_50
获取
Figure QLYQS_53
其中
Figure QLYQS_56
(2)u利用随机值φi,3计算
Figure QLYQS_60
以此隐藏查询关键词集合{Wρ(i)};同时u生成对应的零知识证明
Figure QLYQS_61
Figure QLYQS_62
将{Γi}i∈[1,l]和零知识证明
Figure QLYQS_63
发送给
Figure QLYQS_64
(3)
Figure QLYQS_65
首先要验证
Figure QLYQS_66
是否成立;如果验证未通过,陷门生成算法就此中止;然后
Figure QLYQS_67
计算盲陷门{Di,1,Di,2,Ei′}i∈[1,l]并发送给
Figure QLYQS_68
在收到盲陷门后,
Figure QLYQS_69
用其生成合法陷门TD={Di,1,Di,2,Ei}i∈[1,l]
2.根据权利要求1所述的基于时间控制可审计匿名的谓词检索系统的检索方法,其特征在于,所述系统初始化具体为:
以安全参数1κ为输入,输出系统公共参数params和主密钥MSK;
首先,生成一个包含双线性映射e:G×G→GT的双线性群(G,GT,e,p,g),并选取群G的一个生成元g;
接着,
Figure QLYQS_70
随机选取g0,h,h0,u,w∈RG,
Figure QLYQS_71
并计算X=gδ,X′=gλ
此外,
Figure QLYQS_72
还会选取两个抗碰撞哈希函数
Figure QLYQS_73
和H2:{0,1}*→G,并公开参数params=(g0,h,h0,u,w,X,X′,H1,H2);系统的主密钥MSK=(δ,λ)则由
Figure QLYQS_74
保密。
3.根据权利要求1所述的基于时间控制可审计匿名的谓词检索系统的检索方法,其特征在于,所述时间服务器在可信机构注册并生成其公私钥对,具体为:以公开参数params为输入,输出
Figure QLYQS_75
的私钥SKTS和公钥PKTS
Figure QLYQS_76
首先随机选取
Figure QLYQS_77
并计算
Figure QLYQS_78
Figure QLYQS_79
将其私钥-公钥对设置为(SKTS,PKTS)=(xt,YTS);随后,
Figure QLYQS_80
将公钥YTS发送各
Figure QLYQS_81
以注册成为一个合法的时间服务器;
所述陷门生成中心在可信机构注册并生成其公私钥对,具体为:以公开参数params为输入,以
Figure QLYQS_82
的私钥SKTGC和公钥PKTGC为输出;
Figure QLYQS_83
首先随机选取随机数
Figure QLYQS_84
计算
Figure QLYQS_85
Figure QLYQS_86
Figure QLYQS_87
的公钥PKTGC=(g,g1,g2,e(g1,g2)α),私钥SKTGC=(α,d1,d2);
所述数据使用者在可信机构注册并生成其公私钥对,具体为:
(1)
Figure QLYQS_88
选取
Figure QLYQS_89
计算
Figure QLYQS_90
设置其私钥-公钥对为(SKU,PKU)=(xu,YU),并利用零知识证明技术生成证明
Figure QLYQS_91
然后
Figure QLYQS_92
将IDU,PKU,
Figure QLYQS_93
发给
Figure QLYQS_94
(2)
Figure QLYQS_95
验证
Figure QLYQS_96
后,选取
Figure QLYQS_97
利用主密钥δ,λ计算
Figure QLYQS_98
Figure QLYQS_99
得到匿名凭证σU=(σU,1U,2);TA将(IDU,PKU,VPU,(ru,suu))存入本地列表
Figure QLYQS_100
中,并将ru,suU,VPU发送给
Figure QLYQS_101
(3)
Figure QLYQS_102
在接收后验证等式
Figure QLYQS_103
Figure QLYQS_104
是否成立;如果成功验证,
Figure QLYQS_105
就保存匿名证书σU=(σU,1U,2)和证书有效期VPU
4.根据权利要求1所述的基于时间控制可审计匿名的谓词检索系统的检索方法,其特征在于,所述数据拥有者采用Encrypt算法加密自己的数据,具体为:
以关键词集合KW=(W1,…,Wm)和公共参数PP为输入,输出密文CT;选取随机数
Figure QLYQS_106
分别计算C0=e(g1,g2)αs,
Figure QLYQS_107
Cx=H(Wx)sgs,最终得到密文CT=(C0,F1,F2,F3,{Cx}x∈[1,m])。
5.根据权利要求1所述的基于时间控制可审计匿名的谓词检索系统的检索方法,其特征在于,还设置有加密数据匹配测试,所述加密数据匹配测试具体如下:
Figure QLYQS_108
以CT、TD和params作为输入,
Figure QLYQS_109
调用测试算法Test获得匹配结果;如果KW和搜索谓词
Figure QLYQS_110
匹配,算法输出1,否则算法输出0;
算法Test以安全参数PP、密文CT=(C,F1,F2,F3,{Cx}x∈[1,m])和一个谓词陷门
Figure QLYQS_113
作为输入,输出0或1表示匹配结果,即1表示匹配,0表示不匹配;其中,密文CT对应明文关键词集合KW=(W1,…,Wm);陷门TD则与搜索谓词
Figure QLYQS_115
相对应;算法从
Figure QLYQS_117
中计算
Figure QLYQS_112
Figure QLYQS_114
是满足
Figure QLYQS_116
的[1,l]最小子集;然后算法检查是否存在集合
Figure QLYQS_118
使其对于常量{ωi}i∈I满足
Figure QLYQS_111
Figure QLYQS_119
如果不存在这样的集合I,算法输出0表示KW和搜索谓词
Figure QLYQS_120
不匹配;否则,算法输出1。
6.根据权利要求1所述的基于时间控制可审计匿名的谓词检索系统的检索方法,其特征在于,
所述
Figure QLYQS_121
使用User-Trace算法来实现可审计性:
Figure QLYQS_122
Figure QLYQS_123
利用其主密钥MSK来从时间令牌证明ProofT中获取证明的生产者u的公钥PKU和身份IDU;给定一个时间令牌证明ProofT
Figure QLYQS_124
实施如下操作:
(1)验证下列等式是否成立:
Figure QLYQS_125
Figure QLYQS_126
(2)如果任一等式不成立,算法输出⊥,表明ProofT不是一个合法的时间令牌证明;否则,
Figure QLYQS_127
计算
Figure QLYQS_128
并在列表
Figure QLYQS_129
中查找(PKU,IDU)来获取
Figure QLYQS_130
的身份IDU
CN202110086263.9A 2021-01-22 2021-01-22 基于时间控制可审计匿名的谓词检索系统及方法 Active CN112733193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110086263.9A CN112733193B (zh) 2021-01-22 2021-01-22 基于时间控制可审计匿名的谓词检索系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110086263.9A CN112733193B (zh) 2021-01-22 2021-01-22 基于时间控制可审计匿名的谓词检索系统及方法

Publications (2)

Publication Number Publication Date
CN112733193A CN112733193A (zh) 2021-04-30
CN112733193B true CN112733193B (zh) 2023-04-07

Family

ID=75593576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110086263.9A Active CN112733193B (zh) 2021-01-22 2021-01-22 基于时间控制可审计匿名的谓词检索系统及方法

Country Status (1)

Country Link
CN (1) CN112733193B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117436040B (zh) * 2023-12-18 2024-04-12 常熟理工学院 基于不透明谓词的代码混淆方法、系统及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105378744A (zh) * 2013-05-03 2016-03-02 思杰系统有限公司 在企业系统中的用户和设备认证
CN107491497A (zh) * 2017-07-25 2017-12-19 福州大学 支持任意语言查询的多用户多关键词排序可搜索加密系统
CN107734054A (zh) * 2017-11-06 2018-02-23 福州大学 安全云存储中的加密数据检索系统
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索系统
CN108881152A (zh) * 2018-04-20 2018-11-23 南京搜文信息技术有限公司 一种同时支持析取与合取关键词查询的公钥加密方法
CN109450935A (zh) * 2018-12-19 2019-03-08 河南科技大学 云存储中可验证的语义安全的多关键词搜索方法
CN111159352A (zh) * 2019-12-31 2020-05-15 陕西师范大学 一种支持多关键词加权检索和结果排序且可验证的加解密方法
CN111726363A (zh) * 2020-06-24 2020-09-29 暨南大学 一种基于属性的多用户连接关键字可搜索加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11003718B2 (en) * 2018-06-12 2021-05-11 Secureworks Corp. Systems and methods for enabling a global aggregated search, while allowing configurable client anonymity

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105378744A (zh) * 2013-05-03 2016-03-02 思杰系统有限公司 在企业系统中的用户和设备认证
CN107491497A (zh) * 2017-07-25 2017-12-19 福州大学 支持任意语言查询的多用户多关键词排序可搜索加密系统
CN107734054A (zh) * 2017-11-06 2018-02-23 福州大学 安全云存储中的加密数据检索系统
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索系统
CN108881152A (zh) * 2018-04-20 2018-11-23 南京搜文信息技术有限公司 一种同时支持析取与合取关键词查询的公钥加密方法
CN109450935A (zh) * 2018-12-19 2019-03-08 河南科技大学 云存储中可验证的语义安全的多关键词搜索方法
CN111159352A (zh) * 2019-12-31 2020-05-15 陕西师范大学 一种支持多关键词加权检索和结果排序且可验证的加解密方法
CN111726363A (zh) * 2020-06-24 2020-09-29 暨南大学 一种基于属性的多用户连接关键字可搜索加密方法

Also Published As

Publication number Publication date
CN112733193A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
US11329981B2 (en) Issuing, storing and verifying a rich credential
Camenisch et al. Oblivious transfer with access control
US7571472B2 (en) Methods and apparatus for credential validation
Su et al. BA-RMKABSE: Blockchain-aided ranked multi-keyword attribute-based searchable encryption with hiding policy for smart health system
US9009464B2 (en) Anonymous register system and method thereof
US20060155985A1 (en) Method and system with authentication, revocable anonymity and non-repudiation
Chen et al. A novel electronic cash system with trustee-based anonymity revocation from pairing
CN104125199B (zh) 一种基于属性的匿名认证方法及系统
CN112733192B (zh) 基于联盟链同态加密的司法电子证据系统及方法
Zhang et al. Revocable and linkable ring signature
JP2004348709A (ja) コンテンツ利用者認証システム及び方法
CN114389810B (zh) 证明生成方法及装置、电子设备、存储介质
CN112733193B (zh) 基于时间控制可审计匿名的谓词检索系统及方法
Huynh et al. A reliability guaranteed solution for data storing and sharing
Lin et al. Secure verifier-based three-party authentication schemes without server public keys for data exchange in telecare medicine information systems
Yao et al. Private information: To reveal or not to reveal
Su et al. Secure blockchain-based electronic voting mechanism.
CN112037054B (zh) 去中心化身份系统中隐藏用户的资产额度的方法和计算机可读介质
Trivedi et al. Key‐aggregate searchable encryption with multi‐user authorization and keyword untraceability for distributed IoT healthcare systems
CN114978622A (zh) 一种基于区块链和零知识证明的匿名凭证验证方法及系统
Zhang et al. Traceable dynamic public auditing with identity privacy preserving for cloud storage
Guo et al. Random oracle-based anonymous credential system for efficient attributes proof on smart devices
Slamanig et al. Anonymous but authorized transactions supporting selective traceability
Xu et al. Oblivious Transfer with Threshold Access Control.
Wei et al. Achieve efficient and privacy-preserving online fingerprint authentication over encrypted outsourced data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant