CN116662827A - 去中心化的细粒度隐私保护众包任务匹配方法及匹配系统 - Google Patents
去中心化的细粒度隐私保护众包任务匹配方法及匹配系统 Download PDFInfo
- Publication number
- CN116662827A CN116662827A CN202310666179.3A CN202310666179A CN116662827A CN 116662827 A CN116662827 A CN 116662827A CN 202310666179 A CN202310666179 A CN 202310666179A CN 116662827 A CN116662827 A CN 116662827A
- Authority
- CN
- China
- Prior art keywords
- task
- attribute
- key
- executor
- matching
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004364 calculation method Methods 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 59
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 10
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 238000011217 control strategy Methods 0.000 abstract description 2
- 230000002146 bilateral effect Effects 0.000 abstract 1
- 230000000694 effects Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012358 sourcing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开一种去中心化的细粒度隐私保护众包任务匹配方法及系统,密钥授权机构合作为每个任务执行者生成原始属性密钥,并秘密共享分发给对应任务执行者;任务发布者计算任务密文并提交密文到智能合约;任务执行者对秘密份额进行同态计算后发送给任务执行者;任务执行者恢复出转换=后的属性密钥并生成搜索陷门,将搜索陷门上传至区块链;智能合约对任务发布者提交的任务密文和任务执行者的搜索陷门进行匹配,将匹配结果存储到区块链上;任务执行者从区块链上获取任务密文后进行两次解密获得任务明文。本发明考虑双方偏好的同时提供了双边隐私保护,利用区块链实现去中心化任务匹配并保证匹配结果的正确性;此外,针对任务访问控制策略可能存在多通配符影响匹配开销的问题,对原始属性密钥进行了转换,能有效减少链上任务匹配开销。
Description
技术领域
本发明涉及隐私保护和众包匹配技术,具体涉及一种去中心化的细粒度隐私保护众包任务匹配方法及匹配系统。
背景技术
众包是一种高效、节约成本的任务执行模式,其允许个体或组织向广大群众请求知识、服务或商品以完成复杂的任务需求,从而达到协同创新、共享经济和节约资源的目的。与传统途径相比,众包可以让任务发布方以更快的速度和更低的成本获得更广泛的服务。众包因其灵活性、效率性和创新性等优点受到广泛关注和应用,已经大量应用于科学研究、产品设计、电子商务、出行交通等多个行业。
任务匹配是众包服务中不可或缺的一个环节,其将任务分配给特定的任务执行者,根据任务发布者和任务执行者双方的需求和偏好建立联系。任务匹配是众包服务的第一步,任务匹配的正确性和匹配过程中的数据机密性直接影响到众包服务后续的流程以及用户的积极参与,因此设计一种安全可靠的任务匹配机制是至关重要的。
任务匹配阶段需要以任务发布者的任务需求和任务执行者的兴趣或能力为参考,如任务类型、执行时间、地点等,现存大部分方案将这些数据发送到中心化众包平台进行匹配、假设中心化的众包平台是半可信的,然而这种假设在现实生活中要实现是极其困难的。不完全可信的中心化的众包平台会从用户的偏好进一步推断出用户家庭住址、身体状况和行程安排等敏感信息用于盈利;恶意的众包平台还可能会与恶意用户串谋返回错误的匹配结果以牟取更大的收益,这些问题如不解决将会大大降低用户参与众包平台的积极性。因此为了提高众包服务的安全可靠性,促进经济增长,去中心化的隐私保护任务匹配方法研究具有重大意义。
如何在实现细粒度的任务匹配的同时保护用户隐私已成为一个研究热点。现有的隐私保护任务匹配方案主要取决于众包应用场景,空间众包关注任务地点以及任务执行者的位置隐私,主要采用匿名化技术、差分隐私和密码学技术进行位置隐私的保护。在一些比较复杂的众包应用场景中采用了基于关键字的匹配方案,主要利用非对称可搜索加密技术,任务发布者从任务中提取关键字并加密,任务执行者根据感兴趣的内容生成搜索陷门,最后执行搜索算法进行匹配,在保护关键字的同时完成了任务匹配。
然而,在实际应用中,任务发布者只希望匹配到具有特定属性的任务执行者,也就是要加强对任务的访问控制。现有的方案利用属性加密实现了对任务的细粒度访问控制,任务发布者将任务需求作为访问策略加密任务密文,只有满足该任务需求的任务执行者才可进行匹配和解密操作。然而,传统的属性加密会泄露访问策略也就是任务需求,恶意平台或用户仍可通过访问策略和匹结果推断出用户的敏感信息。此外,以上研究均基于中心化平台,存在单点故障的问题且大多要求平台是半诚实的,在实际使用中并不适用。
近年来,区块链作为一种新兴技术被应用于很多行业,如能源、金融、零售等。研究者们注意到区块链的去中心化、不可篡改和共识等特性可以解决传统众包模式对平台过度依赖的问题,不少基于区块链的众包平台被提出,传统的中心化平台被智能合约取代,从而实现了匹配结果的可靠性;在隐私保护方面,基于区块链的众包平台结合可搜索加密、代理重加密、属性加密等密码学技术保护用户隐私,但是仍然存在一些问题。
比如,专利CN113761555A公开一种基于智能合约的安全可靠的车联网空间众包任务匹配方法,忽略对任务执行者信誉值的保护,且仅考虑基于位置和信誉值的任务匹配,无法满足更复杂的任务匹配;比如,专利CN114884677A公开一种基于区块链的多用户众包任务匹配方法,仅考虑任务内容和任务执行者兴趣关键字匹配,不支持任务发布者指定对任务执行者的要求,无法对任务实现细粒度访问控制;比如,专利CN113609502A公开一种基于区块链的空间众包系统及方法,同时考虑基于位置和关键字的任务匹配,但仍未支持为任务指定任务需求;比如,专利CN115694787A公开一种区块链协助下的可验证隐私保护和个性化众包任务匹配方法及系统,但密钥生成中心和众包平台仍存在单点故障的问题,对任务需求的指定仍无法满足细粒度的匹配。
综上,部分方案仅基于位置或关键字匹配,无法满足任务发布者对任务执行者的细粒度属性要求,也未兼顾任务执行者对任务选择的偏好要求,并仅关注任务发布者或任务执行者一方的隐私。虽然利用区块链技术实现了去中心化,但密钥生成中心仍是中心化的,存在单点故障问题。因此,则需要设计一种能够同时满足双方偏好和隐私保护的细粒度任务匹配方法,并实现完全去中心化的任务匹配。
然而,即使将现有技术整合在一起也无法实现上述目标,因为传统属性加密技术虽然可以实现细粒度的任务访问控制,但由于缺乏访问策略的隐藏,仍然存在隐私泄漏问题,且无法满足任务执行者的偏好需求。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种去中心化的细粒度隐私保护众包任务匹配方法及匹配系统,采用基于密文的内乘积属性加密和可搜索加密,同时满足双方偏好和双向隐私保护,采用多机构思想实现完全去中心化,提高系统的可扩展性和安全性,还通过向量转换和可验证的秘密共享技术,减少了密文大小和计算开销,并增强了密钥管理的安全性本发明整体技术方案基于Hyperledger Fabric联盟链,确保了匹配的正确性。
技术方案:本发明的一种去中心化的细粒度隐私保护众包任务匹配方法,包括以下步骤
步骤(1)、初始化相关系统参数;区块链智能合约生成系统公共参数,密钥授权机构Ai执行初始化算法生成自己的公钥PKi和私钥SKi:并初始化系统中属性全集γ,γ中共有n个属性,每个属性均有ωo个属性值,其中o∈{1,...,n};
步骤(2)、任务执行者W首先预处理自身属性,将其转换为属性向量v,之后发起注册请求,每个密钥授权机构Ai根据任务执行者W的属性生成对应的Pedersen承诺;然后,每个密钥授权机构Ai均根据Pedersen承诺的同态性验证任务执行者提交的属性向量v是否正确,如果通过验证则生成属性密钥ski,ID,v,其中ID为任务执行者在系统中的唯一标识符;最后,密钥授权机构Ai使用秘密共享技术将ski,ID,v分发给集合中的任务执行者W,其中集合/>为系统中信誉值排名前c的任务执行者的ID集合;如果属性向量v未通过验证,则返回空值;
步骤(3)、任务发布者预处理任务需求,基于任务访问策略将任务需求转换为任务向量x,然后从任务内容M中提取任务关键字w,加密任务内容M和任务关键字w形成密文ct,将密文ct发送到区块链上;
步骤(4)、任务执行者W根据密文中通配符“*”的位置重新计算属性向量v′,将属性向量差值u=v-v′发送到区块链,集合中的任务执行者根据向量u计算转换后的密钥份额后发给任务执行者W;
步骤(5)、任务执行者W恢复出转换后的属性密钥ski,ID,v′,并基于任务偏好关键字w′生成搜索陷门tk并发送至区块链;
步骤(6)、智能合约基于任务发布者提交的密文ct和任务执行者W提交的搜索陷门tk进行匹配,并将匹配结果存储到区块链上;
步骤(7)、任务执行者W根据匹配结果,查询区块链上的对应任务密文ct,任务执行者W解密得到任务内容。
进一步地,所述步骤(1)中系统参数包括:
区块链智能合约生成系统公共参数
密钥授权机构Ai的公钥PKi和私钥SKi为:
其中,i∈{1,...,N+2},N是系统任务访问策略中通配符“*”允许出现的最大次数,g,g1,ξ是乘法循环群G1的生成元,g2是乘法循环群G2的生成元,A,U,Bi是矩阵且αi,βi是向量且/> k为系统安全参数;
属性全集为γ={attr1,...,attrn},n为系统中属性的个数,每个属性均有ωo个属性值,其中o∈{1,...,n};
进一步地,所述步骤(2)的具体过程为:
步骤(2.1)、任务执行者W预处理自身属性,将其转换为属性向量v
假设任务执行者W对应的属性集合为J,J中的元素表示该用户具有属性全集γ中对应位置属性值,任务执行者W根据韦达公式转换之后的属性向量为v=(v0,...,vN,-1),其中vrn=∑δ∈Jδm,m∈{0,...,N},之后W向每个密钥授权机构Ai申请属性密钥;
步骤(2.2)、密钥授权机构生成Pedersen承诺
密钥授权机构Ai根据W的属性生成对应的Pedersen承诺,设Di表示密钥授权机构Ai管理的W的属性下标,|Di|为集合Di中元素的个数,对于所有的j∈{0,...,|Di|-1},m∈{0,...,N},Ai计算Pedersen承诺其中di,j表示集合Di中的第j个元素,密钥授权机构Ai分别基于Cj,m,rj,m构成两个|Di|×(N+1)维的矩阵Ci,Ri,Ci代表承诺矩阵,Ri代表生产承诺时所用的随机数矩阵,并将证明pri={Ci,Ri}发送到区块链上;
步骤(2.3)、密钥授权机构验证向量
密钥授权机构Ai获取关于任务执行者W的所有证明pri,将所有矩阵Ci,Ri按行合并为矩阵C,R,计算CM=Πa′∈C(∈)a′,r=∑b′∈R(∈)b′,其中∈∈{1,...,N+1},C(∈)表示矩阵C的第∈列元素,R(∈)表示矩阵R的第∈列元素,之后判断 是否成立,如果成立则表示用户提交的向量v中第i位数据正确;
步骤(2.4)、密钥授权机构生成属性密钥
密钥授权机构Ai获取所有密钥授权机构的公钥集合{PKζ|ζ∈{1,...,N+2},ζ≠i},Ai根据如下公式计算
其中H0为密码学哈希函数,接着Ai计算
其中H,H1,...,Hk+1均为密码学哈希函数,Ai生成部分属性密钥ski,ID,v:
步骤(2.5)、密钥授权机构分发属性密钥
Ai生成多项式pi,b(X)=si,b+k1X+k2X2+…+kc-1Xc-1,其中系数{k1,...,kc-1}随机选自之后Ai计算对于秘密si,b的秘密份额si,b,1,...,si,b,c:
其中b∈{1,2,3},且si,1=βi+μi-viBih,si,2=αi+μi-viBih,si,3=Bih,η∈{1,...,c},集合为系统中信誉值排名前c的任务执行者的ID集合,Lη是集合/>中的第η个元素,λi,1,...,λi,c是拉格朗日因子,满足等式/> 之后Ai生成证明信息
Ai最终将{si,1,η,si,2,η,si,3,η,τi,1,τi,2}发送给ID为Lη的任务执行者。
进一步地,所述步骤(3)的具体过程为:
步骤(3.1)、任务发布者预处理任务需求,将其转换为任务向量
对于任务T,令任务访问策略中属性名为通配符的位置集合为Z,即对任意的z∈Z,任务T对任务执行者是否具有attrz下的属性不做要求,在之后设置属性值为通配符的位置集合P和属性值为加号的位置集合Q时,attrz将被看作只有一个属性值且为“*”的属性;对任意的p∈P,任务T对任务执行者是否具有属性全集中第p个属性值不做要求,对任意的q∈Q,任务T要求任务执行者必须具有第q个属性值;
假设有多项式|P|为集合P中的元素个数,任务发布者/>基于韦达公式计算出因子la:
最后,令任务需求向量x=(l0,...,l|P|,0|P|+1,...,0N,φ),其中φ=∑q∈QΠp∈P(q-p);
步骤(3.2)、任务加密
任务发布者从任务内容M中提取出关键字w,在GT中随机选择一个密钥sk,然后采用混合加密的方法加密任务内容M,即cm=Enc(M,sk),其中Enc为对称加密算法,cm为任务内容密文;
任务发布者随机选择/>计算包含如下组件的密文ct:
其中
C0,C1,C′,{Ci}i∈{1,...,N+2}为对将要传输的明文信息进行加密后的密文;
最终,任务发布者输出密文/>并设置任务标识符Tid,将元组(Tid,ct)上传至区块链。
进一步地,所述步骤(4)的具体过程为:
步骤(4.1)、任务执行者计算属性向量差值
任务执行者W根据任务密文ct中的通配符位置集合Z重新计算自己的属性向量,在设置属性集合时,对所有的z∈Z,attrz将被看作只有一个属性值且为“*”的属性,得到新的属性集合J后,重新计算属性向量v′,之后将u=v-v′发送至区块链;
步骤(4.2)、秘密持有者计算转换后的秘密份额
假设集合中的第η个任务执行者Wη持有任务执行者W的第i个部分密钥的秘密份额{si,1,η,si,2,η,si,3,η},Wη根据如下公式计算转换后的秘密份额tsi,1,η和tsi,2,η以及证明信息πi,3,η并发送给任务执行者:
πi,3,η=e(g1,si,3,η)。
进一步地,所述步骤(5)的具体过程为:
步骤(5.1)、任务执行者恢复转换后的属性密钥
当任务执行者W收到集合中的任务执行者发送的秘密份额后,W基于秘密共享方案计算转换后的属性密钥ski,ID,v′={key′i,1,key′i,2}:
步骤(5.2)、任务执行者W验证密钥
任务执行者W验证下式是否成立:
若以上式子成立,则表明集合中的用户正确执行转换操作,属性密钥正确恢复;如未通过验证,W向集合/>中的任务执行者重新请求密钥份额;
步骤(5.3)、任务执行者生成搜索陷门
任务执行者W指定偏好关键字w′,随机选择生成搜索陷门tk:
tk={{K′i}i∈{1,...,N+2},tok1,tok2,tok3,v′,v},
其中
最后,任务执行者W将元祖(Wid,tk)发送到任务匹配智能合约进行匹配,其中Wid为任务执行者W的全局标识符ID。
进一步地,所述步骤(6)的具体过程为:
步骤(6.1)、隐私保护任务匹配
智能合约首先根据收到的搜索陷门tk和密文ct计算e1:
接着验证以下等式是否成立,如果成立,则匹配成功,否则匹配失败:
步骤(6.2)、匹配结果上链
任务匹配智能合约将匹配结果(Tid,Wid)发送到区块链上存储。
进一步地,所述步骤(7)中任务执行者从区块链上读取匹配密文ct,根据以下公式解密得到对称密钥sk:
任务执行者执行第二次解密获得任务内容明文M=Dec(cm,sk),其中Dec是对称加密方案的解密算法。
本发明还公开一种用于去中心化的细粒度隐私保护众包任务匹配方法的系统,包括4种参与实体:任务发布者,任务执行者,密钥授权机构和区块链;所述任务发布者预处理任务需求为任务向量,将任务密文和任务关键字密文上传至区块链;所述任务执行者将自身属性转换为属性向量并申请密钥,根据任务偏好关键字生成搜索陷门并发送至区块链,其中信誉值排名前c的任务执行者持有系统中其余任务执行者的属性密钥的秘密份额,并在秘密份额上进行同态运算实现属性密钥的转换;所述密钥授权机构根据任务执行者的属性向量生成部分密钥并使用秘密共享方案安全分发密钥;所述区块链执行任务匹配操作,以保证结果的正确性。
有益效果:与现有技术相比,本发明具有以下优点:
(1)、本发明提供了众包服务中任务发布者和任务执行者之间隐私保护任务匹配,与现有的任务匹配方案相比,同时考虑了双方匹配偏好,可以满足任务发布者对任务执行者的细粒度属性要求,并给予了任务执行者根据关键字检索偏好任务的能力。
(2)、本发明将任务匹配规约为基于密文的属性加密中用户属性是否满足任务访问策略以及可搜索加密中关键字的匹配,与传统的基于属性加密的匹配方案相比,本发明采用内乘积属性加密实现访问策略的隐藏,并应用多机构的思想实现完全去中心化,不需要依赖单一的中心化机构,提高了系统的可扩展性,可以达到更强的安全性。
(3)、本发明采用韦达公式将访问策略与用户属性转换为向量,与现有技术相比,向量维数是常量级别,且针对任务访问控制策略可能存在多通配符影响匹配开销的问题,对原始属性密钥进行了转换,显著降低了密文大小,减少了链上存储和匹配开销。
(4)、本发明采用可验证的秘密共享技术实现分布式密钥生成,将密钥分割成多个份额,与现有技术相比,增加了系统的抗攻击性。即使攻击者入侵了部分参与方或获取了部分份额,也无法获取完整的密钥信息,同时对秘密份额的计算提供了可验证性,保证了密钥转换的正确性。
附图说明
图1为本发明的整体系统结构图;
图2为实施例中原始任务访问策略以及任务执行者属性;
图3为实施例中转换后的任务访问策略以及任务执行者属性示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,本发明的去中心化的细粒度隐私保护众包任务匹配系统,涉及若干任务发布者、若干任务执行者、若干密钥授权机构和一个联盟链平台。该系统的具体匹配方法为:
首先,区块链智能合约生成公共参数并发送给密钥授权机构,密钥授权机构进行初始化操作;
然后,任务发布者和任务执行者进行注册,密钥授权机构将公钥发给任务发布者和任务执行者,任务执行者将自己的属性转换为向量形式,并发送给密钥授权机构,密钥授权机构验证任务执行者权限后,根据向量生成属性密钥,并基于安全可验证的秘密共享技术分割属性密钥发送至系统中信誉值排名前c的任务执行者;
其次,任务发布者向区块链发送任务密文和关键字密文,并公开任务需求中的通配符位置;当任务执行者得知有新任务提交时,根据任务需求中的通配符位置计算新的属性向量,将新的向量和初始向量的差值发送到区块链上,持有秘密份额的c个用户根据预设算法在秘密份额上进行同态计算后将秘密份额发送给该任务执行者,任务执行者利用秘密份额恢复属性密钥;
接着,任务执行者利用属性密钥和偏好关键字生成搜索陷门,并将其发送到区块链上;智能合约对任务发布者和任务执行者提交的任务密文和搜索陷门运行搜索算法进行匹配,并将匹配结果存储到任务区块链上;
最后,任务执行者Wi根据匹配结果,查询区块链上的对应任务密文ct并解密获得任务内容明文。
实施例:
本实施例的具体匹配实施步骤如下:
步骤(1)、系统初始化,包括以下步骤:
11)、区块链智能合约生成系统公共参数其中,i∈{1,...,N+2},N是系统任务访问策略中通配符“*”允许出现的最大次数,在本实施例中为3,g,g1,ξ是乘法循环群G1的生成元,g2是乘法循环群G2的生成元,A,U是矩阵且k为系统安全参数;
12)、密钥授权机构Ai,i∈{1,...,N+2}生成公私钥对:
其中αi,βi是向量且/>
13)、初始化系统中属性全集为γ={University,Department,Identity},University有三个取值:{A,B,C};Department有两个取值:{CS,SE};Identity有三个取值:{Teacher,Student};
步骤(2)、任务执行者注册:
21)、假设任务执行者W对应的属性下标集合为J={1,5,6},根据韦达公式计算向量v:
v=(10+50+60,11+51+61,12+52+62,13+53+63,-1)=(3,12,62,342,-1).
22)、密钥授权机构Ai收到W的注册请求后,假设Ai管理的W属性的下标集合为Di,假设在本实施例中Di={5},Ai对Di中的元素生成承诺,对于所有的j∈{0},m∈{0,1,2,3},Ai随机选择并计算Pedersen承诺/> 最后组成矩阵Ci,Ri发送到区块链;
Ci=(C0,0,C0,1,C0,2,C0,3),Ri=(r0,0,r0,1,r0,2,r0,3).
23)、密钥授权机构Ai将所有矩阵Ci,Ri按行合并为3×4的矩阵C,R,假设A2需要验证向量v的第二个元素是否正确,只需计算CM=Πa′∈C(2)a′,r=∑b′∈R(2)b′,其中C(2),R(2)分别为矩阵C,R的第2列,然后验证下列等式: 在本实施例中
其余负责生成用户部分密钥的授权机构按类似算法验证相应的向量是否正确。
24)、密钥授权机构Ai验证vi通过后,生成对应的密钥,给定系统中所有密钥授权机构的公钥{PKζ|ζ∈{1,...,N+2},ζ≠i},密钥授权机构Ai根据如下公式计算
其中H0为密码学哈希函数,如SHA256,之后计算
其中H1,...,Hk+1均为密码学哈希函数,如SHA256,Ai生成部分属性密钥ski,ID,v:
25)、密钥授权机构使秘密共享方案将密钥分割,设本实施例中c=3, Ai生成多项式pi,b(X)=Si,b+k1X+k2X2,其中/>对/>中的用户生成秘密份额Pi,b(1),pi,b(2),pi,b(3),其中b∈{1,2,3},si,1=βi+μi-viBih,si,2=αi+μi-viBih,si,3=Bih,本实施例中拉格朗日因子/> 则Ai生成秘密如下:
Ai计算证明信息最终将{Si,1,η,Si,2,η,Si,3,r,τi,1,τi,2}发送给集合/>中的第η个用户。
步骤(3)、任务发布者生成任务密文和关键字密文,包括以下步骤:
对于任务T,给定集合Z={2},Q={1,5}和P={4},即图2所示的访问策略W,计算l0=(-1)1·4=-4,l1=(-1)0=1,φ=(1-4)+(5-4)=-2,最后生成访问策略向量x=(-4,1,0,0,-2)。
任务发布者从任务内容中提取出关键字w,在GT中随机选择一个密钥sk作为对称加密算法的密钥,在本实施例中选用AES加密算法加密任务明文得cm=Enc(M,sk),之后随机选择/>计算密文组件:
其中最终/>输出密文/> 并设置任务标识符Tid,将元组(Tid,ct)上传至区块链。
步骤(4)、属性密钥秘密持有者计算转换后的秘密份额,包括以下步骤:
41)、任务执行者W根据ct中的Z重新计算自己的属性向量,将Department看作只有一个属性值的属性,重新计算得到的属性集合为J={1,5},根据步骤21)重新计算属性向量v′=(2,6,26,126,-1),之后将u=v-v′=(1,6,36,216,0)发送到区块链。
42)、假设集合中的第η个任务执行者Wη持有任务执行者W的第i个部分密钥的秘密份额{si,1,η,si,2,η,si,3,η},Wη根据如下公式计算转换后的秘密份额tsi,1,η和tsi,2,η以及证明信息πi,3,η并发送给任务执行者:
πi,3,η=e(g1,si,3,η)。
步骤(5)、任务执行者恢复密钥并计算搜索陷门,包括以下步骤:
51)、当任务执行者W收到中的用户发送的秘密份额后,W基于秘密共享方案计算转换后的属性密钥ski,ID,v′={key′i,1,key′i,2}:
本实施例中转换后的任务访问策略以及任务执行者属性如图3所示。
在本实施例中,对i=1时,转换后的 即原先对应向量v对密钥已转换为对应向量v′对密钥。/>
52)、任务执行者验证下式是否成立:
若以上式子均成立,则表明密钥正确恢复。在本实施例中,对于i∈{1,2,3,4,5},验证如下式子:
53)、任务执行者W指定偏好关键字w′,随机选择计算搜索陷门tk:
tk={{K′i}i∈{1,...,N+2},tok1,tok2,tok3,v′,v},
其中之后任务执行者将(Wid,tk)发送到任务匹配智能合约进行匹配,其中Wid为任务执行者W的全局标识符ID。
步骤(6)、智能合约执行任务匹配算法,包括以下步骤:
61)、智能合约首先根据收到的tk和ct计算e1,在本实施例中
在本实施例中<v′,x>=2*(--4)+6*1+(-1)*(--2)=0,故 之后验证以下等式是否成立,如果成立,则匹配成功,否则匹配失败:
62)、匹配成功后,智能合约将匹配结果(Tid,Wid)发送到区块链上存储。步骤(7)、任务执行者获取密文并解密获得任务内容明文,包括以下步骤:
71)、任务执行者计算对称加密密钥:
72)、任务执行者获得任务明文M=Dec(cm,sk),其中Dec是对称加密方案的解密算法。
Claims (9)
1.一种去中心化的细粒度隐私保护众包任务匹配方法,其特征在于,包括以下步骤
步骤(1)、初始化相关系统参数;区块链智能合约生成系统公共参数,密钥授权机构Ai执行初始化算法生成自己的公钥PKi和私钥SKi:并初始化系统中属性全集Υ,Υ中共有n个属性,每个属性均有ωo个属性值,其中o∈{1,...,n};
步骤(2)、任务执行者W首先预处理自身属性,将其转换为属性向量v,之后发起注册请求,每个密钥授权机构Ai根据任务执行者W的属性生成对应的Pedersen承诺;然后,每个密钥授权机构Ai均根据Pedersen承诺的同态性验证任务执行者提交的属性向量v是否正确,如果通过验证则生成属性密钥ski,ID,v,其中ID为任务执行者在系统中的唯一标识符;最后,密钥授权机构Ai使用秘密共享技术将ski,ID,v分发给集合中的任务执行者W,其中集合/>为系统中信誉值排名前c的任务执行者的ID集合;如果属性向量v未通过验证,则返回空值;
步骤(3)、任务发布者预处理任务需求,基于任务访问策略将任务需求转换为任务向量x,然后从任务内容M中提取任务关键字w,加密任务内容M和任务关键字w形成密文ct,将密文ct发送到区块链上;
步骤(4)、任务执行者W根据密文中通配符“*”的位置重新计算属性向量v′,将属性向量差值u=v-v′发送到区块链,集合中的任务执行者根据向量u计算转换后的密钥份额后发给任务执行者W;
步骤(5)、任务执行者W恢复出转换后的属性密钥ski,ID,v′,并基于任务偏好关键字w′生成搜索陷门tk并发送至区块链;
步骤(6)、智能合约基于任务发布者提交的密文ct和任务执行者W提交的搜索陷门tk进行匹配,并将匹配结果存储到区块链上;
步骤(7)、任务执行者W根据匹配结果,查询区块链上的对应任务密文ct,任务执行者W解密得到任务内容。
2.根据权利要求1所述的去中心化的细粒度隐私保护众包任务匹配方法,其特征在于,所述步骤(1)中系统参数包括:
区块链智能合约生成系统公共参数
密钥授权机构Ai的公钥PKi和私钥SKi为:
其中,i∈{1,...,N+2},N是系统任务访问策略中通配符“*”允许出现的最大次数,g,g1,ξ是乘法循环群G1的生成元,g2是乘法循环群G2的生成元,A,U,Bi是矩阵且αi,βi是向量且/> k为系统安全参数;
属性全集为γ={attr1,...,attrn},n为系统中属性的个数,对于o∈{1,...,n},每个attro表示属性名且该属性有ωo个属性值。
3.根据权利要求1所述的去中心化的细粒度隐私保护众包任务匹配方法,其特征在于,所述步骤(2)的具体过程为:
步骤(2.1)、任务执行者W预处理自身属性,将其转换为属性向量v
假设任务执行者W对应的属性集合为J,J中的元素表示该用户具有属性全集Υ中对应位置属性值,任务执行者W根据韦达公式转换之后的属性向量为v=(v0,...,vN’-1),其中vm=∑δ∈Jδm,m∈{0,...,N},之后W向每个密钥授权机构Ai申请属性密钥;
步骤(2.2)、密钥授权机构生成Pedersen承诺
密钥授权机构Ai根据W的属性生成对应的Pedersen承诺,设Di表示W的属性集合中由密钥授权机构Ai管理的属性下标的集合,|Di|为集合Di中元素的个数,对于所有的j∈{0,...,|Di|-1},m∈{0,...,N},Ai计算Pedersen承诺 其中di,j表示集合Di中的第j个元素,/>密钥授权机构Ai分别基于Cj,m,rj,m构成两个|Di|×(N+1)维的矩阵Ci,Ri,Ci代表承诺矩阵,Ri代表生产承诺时所用的随机数矩阵,并将证明pri={Ci,Ri}发送到区块链上;
步骤(2.3)、密钥授权机构验证向量
密钥授权机构Ai获取关于任务执行者W的所有证明pri,将所有矩阵Ci,Ri按行合并为矩阵C,R,计算CM=Πa′∈C(∈)a′,r=∑b′∈R(∈)b′,其中∈∈{1,...,N+1},C(∈)表示矩阵C的第∈列元素,R(∈)表示矩阵R的第∈列元素,之后判断 是否成立,如果成立则表示用户提交的向量v中第i位数据正确;
步骤(2.4)、密钥授权机构生成属性密钥
密钥授权机构Ai获取所有密钥授权机构的公钥集合{PKζ|ζ∈{1,...,N+2},ζ≠i},Ai根据如下公式计算
其中H0为密码学哈希函数,接着Ai计算
其中H,H1,...,Hk+1均为密码学哈希函数,Ai生成部分属性密钥ski,ID,v:
步骤(2.5)、密钥授权机构分发属性密钥
Ai生成多项式pi,b(X)=si,b+k1X+k2X2+…+kc-1Xc-1,其中系数{k1,...,kc-1}随机选自之后Ai计算对于秘密si,b的秘密份额si,b,1,...,si,b,c:
其中b∈{1,2,3},且si,1=βi+μi-viBih,si,2=αi+μi-viBih,si,3=Bih,η∈{1,...,c},集合为系统中信誉值排名前c的任务执行者的ID集合,Lη是集合/>中的第η个元素,λi,1,...,λi,c是拉格朗日因子,满足等式/> 之后Ai生成证明信息
Ai最终将{si,1,η,si,2,η,si,3,η,τi,1,τi,2}发送给ID为Lη的任务执行者。
4.根据权利要求1所述的去中心化的细粒度隐私保护众包任务匹配方法,其特征在于,所述步骤(3)的具体过程为:
步骤(3.1)、任务发布者预处理任务需求,将其转换为任务向量
对于任务T,令任务访问策略中属性名为通配符的位置集合为Z,即对任意的z∈Z,任务T对任务执行者是否具有attrz下的属性不做要求,在之后设置属性值为通配符的位置集合P和属性值为加号的位置集合Q时,attrz将被看作只有一个属性值且为“*”的属性;对任意的p∈P,任务T对任务执行者是否具有属性全集中第p个属性值不做要求,对任意的q∈Q,任务T要求任务执行者必须具有第q个属性值;
假设有多项式|P|为集合P中的元素个数,任务发布者/>基于韦达公式计算出因子la:
最后,令任务需求向量x=(l0,...,l|P|,0|P|+1,...,0N,φ),其中φ=∑q∈QΠp∈P(q-p);
步骤(3.2)、任务加密
任务发布者从任务内容M中提取出关键字w,在GT中随机选择一个密钥sk,然后采用混合加密的方法加密任务内容M,即cm=Enc(M,sk),其中Enc为对称加密算法,cm为任务内容密文;
任务发布者随机选择/>计算包含如下组件的密文ct:
其中
为对将要传输的明文信息进行加密后的密文;
最终,任务发布者输出密文/>并设置任务标识符Tid,将元组(Tid,ct)上传至区块链。
5.根据权利要求1所述的去中心化的细粒度隐私保护众包任务匹配方法,其特征在于,所述步骤(4)的具体过程为:
步骤(4.1)、任务执行者计算属性向量差值
任务执行者W根据任务密文ct中的通配符位置集合Z重新计算自己的属性向量,在设置属性集合时,对所有的z∈Z,attrz将被看作只有一个属性值且为“*”的属性,得到新的属性集合J后,重新计算属性向量v′,之后将u=v-v′发送至区块链;
步骤(4.2)、秘密持有者计算转换后的秘密份额
假设集合中的第η个任务执行者Wη持有任务执行者W的第i个部分密钥的秘密份额{si,1,η,si,2,η,si,3,η},Wη根据如下公式计算转换后的秘密份额tsi,1,η和tsi,2,η以及证明信息πi,3,η并发送给任务执行者:
πi,3,η=e(g1,si,3,η)。
6.根据权利要求1所述的去中心化的细粒度隐私保护众包任务匹配方法,其特征在于,所述步骤(5)的具体过程为:
步骤(5.1)、任务执行者恢复转换后的属性密钥
当任务执行者W收到集合中的任务执行者发送的秘密份额后,W基于秘密共享方案计算转换后的属性密钥/>
步骤(5.2)、任务执行者W验证密钥
任务执行者W验证下式是否成立:
若以上式子成立,则表明集合中的用户正确执行转换操作,属性密钥正确恢复;如未通过验证,W向集合/>中的任务执行者重新请求密钥份额;
步骤(5.3)、任务执行者生成搜索陷门
任务执行者W指定偏好关键字w′,随机选择生成搜索陷门tk:
tk={{K′i}i∈{1,...,N+2},tok1,tok2,tok3,v′,v},
其中
最后,任务执行者W将元祖(Wid,tk)发送到任务匹配智能合约进行匹配,其中Wid为任务执行者W的全局标识符ID。
7.根据权利要求1所述的去中心化的细粒度隐私保护众包任务匹配方法,其特征在于,所述步骤(6)的具体过程为:
步骤(6.1)、隐私保护任务匹配
智能合约首先根据收到的搜索陷门tk和密文ct计算e1:
接着验证以下等式是否成立,如果成立,则匹配成功,否则匹配失败:
步骤(6.2)、匹配结果上链
任务匹配智能合约将匹配结果(Tid,Wid)发送到区块链上存储。
8.根据权利要求1所述的去中心化的细粒度隐私保护众包任务匹配方法,其特征在于,所述步骤(7)中任务执行者从区块链上读取匹配密文ct,根据以下公式解密得到对称密钥sk:
任务执行者执行第二次解密获得任务内容明文M=Dec(cm,sk),其中Dec是对称加密方案的解密算法。
9.一种用于实现权利要求1至8任意一项所述去中心化的细粒度隐私保护众包任务匹配方法的系统,其特征在于:包括4种参与实体:任务发布者,任务执行者,密钥授权机构和区块链;所述任务发布者预处理任务需求为任务向量,将任务密文和任务关键字密文上传至区块链;所述任务执行者将自身属性转换为属性向量并申请密钥,根据任务偏好关键字生成搜索陷门并发送至区块链,其中信誉值排名前c的任务执行者持有系统中其余任务执行者的属性密钥的秘密份额,并在秘密份额上进行同态运算实现属性密钥的转换;所述密钥授权机构根据任务执行者的属性向量生成部分密钥并使用秘密共享方案安全分发密钥;所述区块链执行任务匹配操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310666179.3A CN116662827A (zh) | 2023-06-07 | 2023-06-07 | 去中心化的细粒度隐私保护众包任务匹配方法及匹配系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310666179.3A CN116662827A (zh) | 2023-06-07 | 2023-06-07 | 去中心化的细粒度隐私保护众包任务匹配方法及匹配系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116662827A true CN116662827A (zh) | 2023-08-29 |
Family
ID=87709388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310666179.3A Pending CN116662827A (zh) | 2023-06-07 | 2023-06-07 | 去中心化的细粒度隐私保护众包任务匹配方法及匹配系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116662827A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155680A (zh) * | 2023-09-13 | 2023-12-01 | 重庆大学 | 面向电力数据交易的隐私保护匹配方法及系统 |
CN117150564A (zh) * | 2023-10-27 | 2023-12-01 | 南京邮电大学 | 一种基于区块链的医药物流数据溯源方法 |
-
2023
- 2023-06-07 CN CN202310666179.3A patent/CN116662827A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155680A (zh) * | 2023-09-13 | 2023-12-01 | 重庆大学 | 面向电力数据交易的隐私保护匹配方法及系统 |
CN117150564A (zh) * | 2023-10-27 | 2023-12-01 | 南京邮电大学 | 一种基于区块链的医药物流数据溯源方法 |
CN117150564B (zh) * | 2023-10-27 | 2023-12-29 | 南京邮电大学 | 一种基于区块链的医药物流数据溯源方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632032B (zh) | 无密钥托管的安全多关键词排序检索系统 | |
CN110474893B (zh) | 一种异构跨信任域密态数据安全分享方法及系统 | |
US11973889B2 (en) | Searchable encrypted data sharing method and system based on blockchain and homomorphic encryption | |
CN110493347B (zh) | 基于区块链的大规模云存储中数据访问控制方法及系统 | |
Li et al. | Full verifiability for outsourced decryption in attribute based encryption | |
Deng et al. | Identity-based encryption transformation for flexible sharing of encrypted data in public cloud | |
CN108418681B (zh) | 一种支持代理重加密的基于属性的密文检索系统及方法 | |
CN108989026B (zh) | 一种发布/订阅环境下用户属性可撤销的方法 | |
CN110099043A (zh) | 支持策略隐藏的多授权中心访问控制方法、云存储系统 | |
CN113194078A (zh) | 一种云端支持隐私保护的排序多关键字搜索加密方法 | |
CN112765650A (zh) | 一种属性基可搜索加密的区块链医疗数据共享方法 | |
CN112019591A (zh) | 一种基于区块链的云数据共享方法 | |
CN112365945B (zh) | 基于区块链的电子病历细粒度访问控制和密文可搜索方法 | |
CN116662827A (zh) | 去中心化的细粒度隐私保护众包任务匹配方法及匹配系统 | |
CN111143471B (zh) | 一种基于区块链的密文检索方法 | |
Li et al. | Privacy-preserving data utilization in hybrid clouds | |
Zhang et al. | Verifiable outsourcing computation for matrix multiplication with improved efficiency and applicability | |
Yang et al. | Publicly verifiable data transfer and deletion scheme for cloud storage | |
CN108092972A (zh) | 一种多授权中心基于属性的可搜索加密方法 | |
Sun et al. | Research on logistics information blockchain data query algorithm based on searchable encryption | |
Jyoti et al. | A blockchain and smart contract-based data provenance collection and storing in cloud environment | |
CN111431898A (zh) | 用于云协助物联网的带搜索的多属性机构属性基加密方法 | |
Ning et al. | Traceable CP-ABE with short ciphertexts: How to catch people selling decryption devices on ebay efficiently | |
Yin et al. | Attribute-based multiparty searchable encryption model for privacy protection of text data | |
CN115412259B (zh) | 基于区块链的云健康系统可搜索代理签密方法及产品 |
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 |