基于联盟链的对称可搜索加密系统及方法与流程

未命名 08-26 阅读:97 评论:0
1.本发明属于信息安全
技术领域
:,具体涉及一种基于联盟链的对称可搜索加密系统及方法。
背景技术
::2.在数据爆炸的当今社会,数据本地化存储已经不能满足业务需求,越来越多的数据需要在多个用户之间共享。此时,数据拥有者为节约自身的资源开销,经常选择将数据上传至云服务器。但是,如果直接将明文数据上传给云服务器,云服务器可能因为好奇而偷窥用户数据;更坏情况是云服务器或者黑客为谋取利益而主动泄露用户数据。因此,用户数据的安全性和隐私性难以得到保证。3.为解决上述问题,现有的云存储服务中,数据拥有者在上传数据时一般都是用密文的方式实现。但随着存储加密文件的增多,如何在大量密文中搜索出想要的文件逐渐变得困难。可搜索加密就是为了实现在密文中进行指定文件检索而诞生的。可搜索加密技术是一种支持在加密数据中执行关键词匹配检索的技术,它既保护了用户的敏感数据,同时也给予用户精确搜索加密数据的能力。4.依据使用的密钥体系,可搜索加密可以分为对称可搜索加密和非对称可搜索加密。对称可搜索加密因其计算开销小、加解密速度快,它在实际应用中更受青睐。特别是将对称可搜索加密与云存储结合后,可以很好的解决数据的安全存储和共享问题。但是,在采用对称可搜索解密结合云存储的方案中,如果方案中有多个数据使用者,一个关键问题就是如何在多个用户之间方便、安全地分发对称密钥。5.基于公钥理论体系的pki方案可以实现密钥的安全分发,但大多数方案都依赖可信密钥生成中心(kgc)来为用户分配相应的密钥。这些方案中存在的问题是如何找到双方都完全信赖的kgc来实现密钥分发的功能,并且中心化的kgc存在着单点故障、容错率不高的问题,所以需要寻找一个更可靠更合适的第三方来替代kgc。技术实现要素:6.有鉴于上述现状,本发明提供了一种基于联盟链的对称可搜索加密系统及方法,以解决现有技术存在的问题。7.本发明的目的通过以下技术方案实现:8.本发明提供一种基于联盟链的对称可搜索加密系统,由数据拥有者(dataowner,do)、数据使用者(datauser,du)、联盟链(consortiumblockchain,cb)和云存储服务提供者(cloudstoreserviceprovider,cssp)四方构成。9.所述数据拥有者,提供密文集合、加密索引、密钥信封以及构建密钥信封的访问策略;10.所述数据使用者,发起搜索申请、生成搜索陷门、接收并解密密文集合;11.所述联盟链,构建并公开关键词查询表、构建用户注册表、do公私钥对的生成、do密钥信封的存储、du身份的验证、密钥信封的访问智能合约的部署和执行;12.所述云存储服务端,存储密文集合和加密索引,构建倒排索引。13.优选的,所述do是数据提供者和数据属主,主要功能包括提供密文集合、加密索引、密钥信封以及构建密钥信封的访问策略,具体如下:14.(1)do在cb注册,得到由cb生成的代表身份的公私钥;15.(2)在本地生成用于对称加密的对称密钥;16.(3)利用tf-idf算法提取待上传的明文集合的关键词并构建关键词列表,与待上传明文集合组合构建索引列表;17.(4)利用对称密钥加密待上传明文集合和所构建的索引列表,得到密文集合和加密索引;18.(5)将密文集合和加密索引信息上传至cssp;19.(6)利用自己的公钥将对称密钥进行加密,加密后的对称密钥(简称密钥信封)上传至cb中保存;20.(7)将关键词列表发送至cb;21.(8)设置密钥信封的访问策略,并基于这个策略设计相应的智能合约,部署在cb上运行。22.优选的,所述du是数据的使用者,主要操作包括发起搜索申请、生成搜索陷门、接收并解密密文集合等,具体如下:23.(1)在cb公开的查询表中上查询感兴趣的关键词及该关键词提供者do的身份;24.(2)向cb发出搜索申请,发送自己的身份标识以申请指定do的密钥信封和私钥,智能合约验证通过后,cb返回指定do的密钥信封及私钥;25.(3)利用do的私钥解密其密钥信封,得到do的对称密钥;26.(4)利用do的对称密钥将想要检索的关键词转换成搜索陷门发送并至cssp;27.(5)du接收cssp返回的检索结果,即感兴趣关键词对应的密文集合,利用do的对称密钥对收到的密文集合进行解密,得到明文集合。28.优选的,所述联盟链是完全可信的第三方,主要功能包括构建并公开关键词查询表、构建用户注册表、do公私钥对的生成、do密钥信封的存储、du身份的验证、密钥信封的访问智能合约的部署和执行等,具体功能如下:29.(1)提供do的公私钥生成服务;30.(2)在区块链上存储do的密钥信封;31.(3)构建并公开明文关键词查询表,构建用户注册表;32.(4)提供do密钥信封和明文关键字查询服务;33.(5)部署和执行do的密钥信封访问控制智能合约。34.优选的,所述云存储服务端是半诚实可信的存储服务提供者,包括存储密文集合和加密索引,构建倒排索引,具体功能如下:35.(1)存储do的密文集合和加密索引;36.(2)根据do上传的密文集合和加密索引,构建倒排索引表;37.(3)在收到du的搜索陷门后,在倒排索引表中执行匹配算法,将最相关的前k个密文组合成密文集合返回给du。38.本发明还提供了一种基于上述联盟链的对称可搜索加密系统的方法,具体步骤如下:39.s1、初始化阶段。由cb生成全局的系统参数。do会向cb注册,cb为其生成对应的公私钥对并把公钥发送给do;do在本地根据对称加密算法生成对称密钥;do构建访问策略表。40.s2、数据加密和存储阶段。(1)do在明文集合中提取关键词并构建关键词列表,同时计算每个关键词相应的权重,与明文集合组合构建索引列表;(2)do用s1中生成的对称密钥加密明文集合和索引列表,将得到的密文集合和加密索引上传至cssp。cssp会根据密文集合和加密索引构建倒排索引表;(3)do用自己的公钥加密对称密钥得到密钥信封,然后将密钥信封和明文关键词列表、访问策略表上传至cb中。cb依据接收的明文关键词列表和发送者do构建关键词查询表;41.s3、对称密钥获取阶段。(1)du查询cb的关键词列表,找到感兴趣的关键词及提供关键词的do;(2)du向cb发送自己的身份标识以申请访问指定do的密钥信封和私钥;(3)智能合约收到du的身份标识后进行验证,验证通过cb返回给du对应do的私钥和密钥信封;(4)du利用do的私钥解密其密钥信封后得到对称密钥。42.s4、密文检索阶段。(1)du利用对称密钥和感兴趣的关键词生成搜索陷门,发送给cssp;(2)cssp执行匹配操作,在倒排索引表进行匹配,将最匹配到最相关的前k个密文以密文集合的形式返回给du。43.s5、密文解密。du在接收到cssp的密文集合后,用对称密钥解密得到明文集合,完成数据的安全共享。44.进一步优选的,所述步骤s1具体如下:45.s11、初始化时,cb随机选取不相同的大素数p,q,并计算n=p·q以及计算出相应的欧拉函数当收到do的注册请求时,随机选取一个整数e,满足同时满足e与互质。计算e的一个相对于的模反元素d,即所计算出的d和e满足得到公钥pk=(n,e)和私钥sk=(n,d),将公钥pk发送给do。46.s12、cb为do生成公私钥对后,会构建如下的注册表usersearchtable:47.usersearchtable={useri,《pki,ski》}48.其中,useri为doi的身份标识id,《pki,ski》为doi的公私钥对。49.s13、do执行对称加密算法中的密钥生成算法,随机生成长度为128bit的的对称加密密钥ssk。50.s14、do设置访问策略,其所制订的访问策略表police具有以下格式:51.police={owner,user,op}52.其中,owner表示制订当前访问策略的do的身份标识id,user为用户列表位,即表示某个或某些du的身份标识id,op表示user中du可执行或不可执行的操作。do依据该访问策略表设计智能合约、发送给cb并在cb上部署。53.进一步优选的,所述步骤s2具体如下:54.s21、do利用tf-idf算法对n个文档中的每一个文档提取关键词并会计算每一个关键词在对应的文档中的权重;55.s22、do利用关键词和对应的文档及权重构建索引列表,以其中某一个文档为例,其索引列表形式如下:56.i1={filename1:{keyword1,weight1},…,{keywordj,weightj},…}57.其中filename表示文档名,keyword表示关键词,weight为对应关键词计算出的权重。假设每篇文档的关键词数至少有一个但不超过m个,故0《j≤m。58.s23、do对索引列表i={i1,…,in}进行优化,对其中部分存在冗余关键词的索引进行滤除,并对索引列表中的所有索引按权重降序排列关键词;59.s24、do对提取出的关键词构建如下形式的关键词列表并发送给cb:60.keywordlist={keyword1,…,keywords}61.s25、cssp在收到do的密文集合和加密索引后,构建倒排索引。以某一个关键词为例,ckeyword1表示加密后的关键词,构建如下形式的倒排索引:62.i={ckeyword1:{filename1,weight1},…,{filenamej,weightj},…}63.s26、do用自己的公钥,使用非对称加密算法加密自己的对称密钥,得到密钥信封keyenv并发送至cb。64.s27、cb在收到do的关键词列表后,会构建并公开如下形式的关键词查询表keysearchtable:65.keysearchtable={keyword,user}66.其中,keyword表示关键词,user表示提供该关键词对应的do的身份标识id。67.进一步优选的,所述步骤s3具体如下:68.s31、du会在cb公开的keysearchtable中查看感兴趣的关键词,找到提供该关键词的do,向cb发送自己的身份标识id以申请对应do的私钥和密钥信封keyenv。69.s32、cb在收到du的id后,由智能合约执行验证。如果属于访问策略中的授权用户,cb根据op中规定的操作向du发送do的私钥和密钥信封keyenv。70.s33、du在收到私钥和密钥信封keyenv后,用私钥解密密钥信封,得到对应do的对称密钥;再利用对称密钥将感兴趣的关键词转换生成搜索陷门trapdoor发送给cssp。71.进一步优选的,所述步骤s4具体如下:72.s41、cssp收到搜索陷门trapdoor后在倒排索引中执行匹配算法,具体地,cssp会以倒排索引i和收到的陷门trapdoor作为输入,执行算法search(i,trapdoor);73.s42、匹配到对应的密文后,将匹配到的权重最高的前k个密文组合为密文集合,返回给du。74.与现有技术相比,本发明所具有的有益效果为:75.本发明通过联盟链作为可信第三方进行对称密钥的存储和分发、公私钥的生成和分发,更安全可靠地解决了do的对称密钥如何传递的问题。同时,在本发明中,do无需在数据检索和数据共享阶段与du进行通信,避免了持续保持在线,从而有效地减少了do和du之间的通信开销。访问策略通过智能合约实现并部署在联盟链中,使得访问权限的验证更合理智能,很好地实现了数据在满足访问策略的多du之间的共享。附图说明76.图1是本发明优选实施例基于联盟链的对称可搜索加密系统的总体架构图。77.图2是本发明加密倒排索引构建流程。78.图3是本发明用户注册表示意图。79.图4是本发明关键词查询表示意图。80.图5是本发明优选实施例基于联盟链的对称可搜索加密方法框图。具体实施方式81.下面结合附图和具体实施例对本发明进一步详细说明。82.参照附图1,本发明优选实施例提供了一种基于联盟链的对称可搜索加密系统,由数据拥有者(dataowner,do)、数据使用者(datauser,du)、联盟链(consortiumblockchain,cb)和云存储服务提供者(cloudstoreserviceprovider,cssp)四方组成。83.其中,所述do是数据提供者和数据属主,主要功能包括提供加密索引、密文数据、密钥信封以及构建密钥信封的访问策略。do在cb注册,得到由cb生成的代表身份的公私钥;do会在本地生成用于对称加密的对称密钥;利用tf-idf算法提取明文集合的关键词,并构建关键词列表以及索引列表;利用对称密钥加密明文集合和索引列表,得到密文集合和加密索引;do用由cb生成的公私钥对中的公钥加密对称密钥得到密钥信封;设置密钥信封的访问策略,并基于这个策略设计相应的智能合约。全部构建完成后,do会将密文集合和加密索引发送至cssp;将关键词列表、密钥信封、智能合约发送至cb,关键词列表、密钥信封由cb进行保存,智能合约由cb中的节点部署并执行。84.所述du为数据的使用者,向cb发起搜索申请。在满足访问策略的条件下,在加密的前提下检索指定do所拥有文档集合中感兴趣的文档,并对由cssp返回的密文结果进行解密,最终得到指定do的明文集合,实现数据的共享。85.cb是系统中完全可信的第三方,主要功能包括构建并公开关键词查询表、du公私钥对的生成、do密钥信封的存储、du身份的验证、密钥信封的访问智能合约的部署和执行。为每个注册的do生成公私钥对并记录身份和公私钥对的用户注册表;以区块的形式存储do的密钥信封;构建并公开关键词查询表,为du提供已记录的关键词和提供该关键词do的身份查询服务;在收到du的访问申请后,利用智能合约对du的身份完成验证,依据智能合约的验证结果普安但是否发送给do相应的密钥数据;若验证通过后发送给du指定do的密钥信封和用于解密密钥信封的私钥。86.cssp是半诚实可信的存储服务提供者,包括存储密文集合和加密索引、构建倒排索引。会存储do的密文集合和加密索引;在收到do的加密索引后,依据权重降序构建倒排索引;在收到du的陷门后,在倒排索引中匹配密文集合并将最相关的前k份密文文件组合成搜索结果,返回给du。87.如图5所示,公开了一种基于上述实施例基于联盟链的对称可搜索加密系统的方法优选实施例,具体的,本实施例以alice、bob、carol三人作为do,david和eva二人作为du,cb采用hyperledgerfabric联盟链,cssp为第三方云存储服务商。整个系统和方法中的参与者对文件的存储和共享过程具体包括:88.s1、初始化阶段:由cb生成全局参数。cb为注册的do生成公私钥对,并将其中的公钥发送给do。do在本地生成对称密钥并构建访问策略表。89.在本实施例中,alice、bob、carol所使用的对称加密算法为aes,在本地生成长度为128位bit的对称密钥sska、sskb、sskc,并将自己的身份标识,即用户90.id:usera、userb、userc发送至cb中完成注册;cb在收到三个do的用户id后,分别为他们生成各自的公私钥对《pka,ska》,《pkb,skb》,《pkc,skc》,将其中的公钥pka,pkb,pkc分别发送给alice、bob以及carol。注册完成后,cb会构建用户注册表usertable以关联do及其各自的公私钥对,usertable具有以下格式:91.usersearchtable=92.{{usera,《pka,ska》},{userb,《pkb,skb》},{userc,《pkc,skc》}}93.接着三人分别制订各自的访问策略:94.policea={owner={usera},user={userd},op={getkeyenv}}95.policeb={owner={userb},user={usere},op={getkeyenv}}96.policec={owner={userc},user={userd,usere},op={getkeyenv}}97.其中,owner表示设置当前访问策略的do;user表示do所设置的符合访问策略的用户列表,本实施例中即为userd,usere,分别表示david和eva的用户id;op为允许user可执行或者不执行的操作。在本实施例中,用getkeyenv表示允许user列表中的du获取制订当前访问策略do的密钥信封。98.s2、数据加密和存储阶段:在该阶段,do会利用对称密钥加密明文集合和索引列表,得到密文集合和加密索引,上传至cssp中;用公钥加密自己的对称密钥得到密钥信封,将密钥信封发送给cb;99.在本实施例中,三个do会用对称密钥sska,sskb,sskc加密各自的明文集合。步骤s2中所有do的操作都是相同的,因此为了简化描述,本文以alice为例。100.首先执行加密明文集合的操作。alice拥有明文集合fa={f1,…,fn}和对称密钥sska,使用对称密钥sska对明文集合fa执行对称加密aes算法中的加密算法,即enc(sska,fa),得到密文集合cfa={cf1,…,cfn}。101.接着do构建关键词列表以及加密索引。alice利用tf-idf算法从明文集合fa中提取关键词列表wa={w1,w2,…,wj},本实施例中,每篇文档的关键词数不超过5个,因此j满足0≤j≤5n。在利用tf-idf算法提取关键词的同时也会计算每个关键词在对应文档中的权重,alice根据关键词和权重构建明文索引102.ia={filename1:{keyword1,weight1},…,{keywordj,weightj},…}103.同样使用对称密钥sska执行对称加密算法aes中的加密算法enc,得到加密索引ci,与密文集合cfa一起上传至cssp中;cssp在收到cfa以及ia后,构建倒排索引表i。104.然后do加密对称密钥生成密钥信封。alice用公钥pka执行非对称加密算法rsa中的加密算法enc(pka,sska),即加密对称密钥sska得到密钥信封keyenva,并与关键词列表wa,s1中制订好的访问策略policea一起发送给cb;cb在收到alice关键词列表wa以及其他do的关键词列表wb,wc后,构建并公开查询表filesearchtable。以其中关键词keywordi为例,公开查询表形式为filesearchtable={keywordi,user={alice,bob,carol}}。至此完成整个系统中数据、对称密钥的加密、密文数据和密钥信封的存储阶段。105.s3、对称密钥获取阶段:在本实施例中,david和eva作为du会试图获取do密钥信封并对do的数据进行检索。106.步骤s3中,所有du的操作都是相同的,因此为了简化描述,本文以david为例。david在查询filesearchtable后,发现了感兴趣的关键词keyword1以及提供该关键词的do的身份,本实施例中,为alice和bob。接着,david为了实现对感兴趣文档的检索,需要向cb提出检索申请。具体操作为向cb发送自己的身份标识,即userid=userd,以及提供该关键词的do身份标识,即onwer={usera,userb}。107.cb在收到申请后,智能合约会根据onwer中的id,找到对应do的访问策略进行判断。108.在本实施例中,用alice以及bob的访问策略进行说明。根据步骤s1中alice和bob制订的访问策略,userid=userd只会满足alice的访问策略policea而不满足bob的访问策略policeb,因此智能合约的判断结果为alice的密钥信封允许分发给david而bob的密钥信封不允许分发给david。109.智能合约执行完后,将执行结果发送给cb。cb收到后,将进行密钥信封和解密密钥信封的私钥的分发。在du收到指定do的密钥信封和私钥后,执行非对称解密算法得到do的对称密钥。110.在本实施例中,cb会发送alice的密钥信封keyenva以及私钥ska给david。david收到alice的密钥信封和私钥后,以密钥信封keyenva和私钥ska作为输入,执行非对称加密算法rsa中的解密算法,即dec(ska,keyenva),解密密钥信封keyenva得到alice的对称密钥sska。111.s4、数据检索阶段:du利用在步骤s3中解密密钥信封得到的do对称密钥,生成相应的搜索令牌发送给cssp,由cssp执行搜索操作,在倒排索引表i中进行搜索,找到相应的密文,以密文集合的形式返回给du。112.在本实施例中,david在利用在s3中得到的alice的对称密钥sska,执行对称加密算法aes中的加密算法即enc(sska,keyword1),加密自己感兴趣的关键词keyword1生成搜索令牌trapdoor1,发送cssp。cssp接收到搜索令牌trapdoor1后执行搜索操作,在倒排索引表i中进行匹配,执行搜索算法search(i,trapdoor1),输出包含关键词keyword1前k个密文cf={cf1,…,cfk},以密文集合的形式返回给david。113.5)数据共享即密文解密阶段:du在收到密文集合后执行对称加密aes算法中的解密算法,对密文集合进行解密,得到相应do的明文集合。114.在本实施例中,david在得到cf={cf1,…,cfk}后使用alice对称密钥sska执行对称加密算法aes中的解密算法即dec(sska,cf),得到alice的明文集合fa={f1,…,fn}。至此,完成整个系统和方法的数据检索和共享阶段。115.综上,本发明可以有效地从云存储服务端进行密文搜索,可以用于企业或者个人数据的安全共享。用安全可靠的加密方法存储在云服务器解决了云服务器可能的信息泄露问题,用智能合约形式的访问策略解决了数据拥有者对数据使用者的权限控制,用可搜索加密实现了对加密数据的安全检索,用联盟链实现了密钥的安全分发和可靠性存储。116.以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。当前第1页12当前第1页12
技术特征:
1.基于联盟链的对称可搜索加密系统,其特征是包括数据拥有者do、数据使用者du、联盟链cb和云存储服务提供端cssp;所述数据拥有者,提供密文集合、加密索引、密钥信封以及构建密钥信封的访问策略;所述数据使用者,发起搜索申请、生成搜索陷门、接收并解密密文集合;所述联盟链,构建并公开关键词查询表、构建用户注册表、do公私钥对的生成、do密钥信封的存储、du身份的验证、密钥信封的访问智能合约的部署和执行;所述云存储服务端,存储密文集合和加密索引,构建倒排索引。2.如权利要求1所述基于联盟链的对称可搜索加密系统,其特征是,所述的数据拥有者,具体如下:(1)do在cb注册,得到由cb生成的代表身份的公私钥;(2)在本地生成用于对称加密的对称密钥;(3)利用tf-idf算法提取待上传的明文集合的关键词并构建关键词列表,与待上传明文集合组合构建索引列表;(4)利用对称密钥加密待上传明文集合和所构建的索引列表,得到密文集合和加密索引;(5)将密文集合和加密索引信息上传至cssp;(6)利用自己的公钥将对称密钥进行加密,加密后的对称密钥即密钥信封上传至cb中保存;(7)将关键词列表发送至cb;(8)设置密钥信封的访问策略,并基于这个策略设计相应的智能合约,部署在cb上运行。3.如权利要求1所述基于联盟链的对称可搜索加密系统,其特征是,所述的数据使用者,具体如下:(1)在cb公开的查询表中上查询感兴趣的关键词及该关键词提供者do的身份;(2)向cb发出搜索申请,发送自己的身份标识以申请指定do的密钥信封和私钥,智能合约验证通过后,cb返回指定do的密钥信封及私钥;(3)利用do的私钥解密其密钥信封,得到do的对称密钥;(4)利用do的对称密钥将想要检索的关键词转换成搜索陷门发送并至cssp;(5)du接收cssp返回的检索结果,即感兴趣关键词对应的密文集合,利用do的对称密钥对收到的密文集合进行解密,得到明文集合。4.如权利要求1所述基于联盟链的对称可搜索加密系统,其特征是,所述的联盟链,具体如下:(1)提供do的公私钥生成服务;(2)在区块链上存储do的密钥信封;(3)构建并公开明文关键词查询表,构建用户注册表;(4)提供do密钥信封和明文关键字查询服务;(5)部署和执行do的密钥信封访问控制智能合约。5.如权利要求1-4任一项所述基于联盟链的对称可搜索加密系统,其特征是,所述的云存储服务端,具体如下:
(1)存储do的密文集合和加密索引;(2)根据do上传的密文集合和加密索引,构建倒排索引表;(3)在收到du的搜索陷门后,在倒排索引表中执行匹配算法,将最相关的前k个密文组合成密文集合返回给du。6.一种基于权利要求1-5任一项所述对称可搜索加密系统的方法,其特征是按步骤如下:s1、由cb生成全局的系统参数;do向cb注册,cb为其生成对应的公私钥对并把公钥发送给do;do在本地根据对称加密算法生成对称密钥;do构建访问策略表;s2、(1)do在明文集合中提取关键词并构建关键词列表,同时计算每个关键词相应的权重,与明文集合组合构建索引列表;(2)do用步骤s1中生成的对称密钥加密明文集合和索引列表,将得到的密文集合和加密索引上传至cssp;cssp根据密文集合和加密索引构建倒排索引表;(3)do用自己的公钥加密对称密钥得到密钥信封,然后将密钥信封和明文关键词列表、访问策略表上传至cb;cb依据接收的明文关键词列表和do构建关键词查询表;s3、(1)du查询cb的关键词列表,找到感兴趣的关键词及提供关键词的do;(2)du向cb发送自己的身份标识以申请访问指定do的密钥信封和私钥;(3)智能合约收到du的身份标识后进行验证,验证通过cb返回给du对应do的私钥和密钥信封;(4)du利用do的私钥解密其密钥信封后得到对称密钥;s4、(1)du利用对称密钥和感兴趣的关键词生成搜索陷门,发送给cssp;(2)cssp执行匹配操作,在倒排索引表进行匹配,将匹配到最相关的前k个密文以密文集合的形式返回给du;s5、du在接收到cssp的密文集合后,用对称密钥解密得到明文集合,完成数据的安全共享。7.如权利要求6所述的方法,其特征是,s1中具体如下:s11、初始化时,cb随机选取不相同的大素数p,q,并计算n=p
·
q以及并计算出相应的欧拉函数当收到do的注册请求时,随机选取一个整数e,满足同时满足e与互质;计算e的一个相对于的模反元素d,即所计算出的d和e满足得到公钥pk=(n,e)和私钥sk=(n,d),将公钥pk发送给do;s12、cb为do生成公私钥对后,构建如下注册表usersearchtable:usersearchtable={user
i
,<pk
i
,sk
i
>}其中,user
i
为do
i
的身份标识id,<pk
i
,sk
i
>为do
i
的公私钥对;s13、do执行对称加密算法中的密钥生成算法,随机生成长度为128bit的对称加密密钥ssk;s14、do设置访问策略,其所制订的访问策略表police具有以下格式:police={owner,user,op}其中,owner表示制订当前访问策略的do的身份标识id,user为用户列表位,即表示某个或某些du的身份标识id,op表示user中du能执行或不能执行的操作;do依据该访问策略表设计智能合约、发送给cb并在cb上部署。
8.如权利要求7所述的方法,其特征是,步骤s2具体如下:s21、do利用tf-idf算法对n个文档中的每一个文档提取关键词并会计算每一个关键词在对应的文档中的权重;s22、do利用关键词和对应的文档及权重构建索引列表,以其中一个文档为例,其索引列表形式如下:i1={filename1:{keyword1,weight1},

,{keyword
j
,weight
j
},

}其中,filename表示文档名,keyword表示关键词,weight为对应关键词计算出的权重;假设每篇文档的关键词数至少有一个但不超过m个,故0<j≤m;s23、do对索引列表i={i1,

,i
n
}进行优化,对其中部分存在冗余关键词的索引进行滤除,并对索引列表中的所有索引按权重降序排列关键词;s24、do对提取出的关键词构建如下形式的关键词列表并发送给cb:keywordlist={keyword1,

,keyword
s
}s25、cssp在收到do的密文集合和加密索引后,构建倒排索引;以一个关键词为例,ckeyword1表示加密后的关键词,构建如下形式的倒排索引:i={ckeyword1:{filename1,weight1},

,{filename
j
,weight
j
},

}s26、do用自己的公钥,使用非对称加密算法加密自己的对称密钥,得到密钥信封keyenv并发送至cb;s27、cb在收到do的关键词列表后,会构建并公开如下形式的关键词查询表keysearchtable:keysearchtable={keyword,user}其中,keyword表示关键词,user表示提供该关键词对应的do的身份标识id。9.如权利要求8所述的方法,其特征是,步骤s3具体如下:s31、du在cb公开的keysearchtable中查看感兴趣的关键词keyword,找到提供该关键词的do,向cb发送自己的身份标识id以申请对应do的私钥和密钥信封keyenv;s32、cb在收到du的id后,由智能合约执行验证;如果属于访问策略中的授权用户,cb根据op中规定的操作向du发送do的私钥和密钥信封keyenv;s33、du在收到私钥和密钥信封keyenv后,用私钥解密密钥信封,得到对应do的对称密钥;再利用对称密钥将感兴趣的关键词keyword转换生成搜索陷门trapdoor发送给cssp。10.如权利要求9所述的方法,其特征是,步骤s4具体如下:s41、cssp收到搜索陷门trapdoor后在倒排索引中执行匹配算法;s42、匹配到对应的密文后,将匹配到的权重最高的前k个密文组合为密文集合,返回给du。

技术总结
本发明提供了一种基于联盟链的对称可搜索加密系统及方法,系统包括数据拥有者DO、数据使用者DU、联盟链CB和云存储服务提供端CSSP;所述数据拥有者,提供密文集合、加密索引、密钥信封以及构建密钥信封的访问策略;所述数据使用者,发起搜索申请、生成搜索陷门、接收并解密密文集合;所述联盟链,构建并公开关键词查询表、构建用户注册表、DO公私钥对的生成、DO密钥信封的存储、DU身份的验证、密钥信封的访问智能合约的部署和执行;所述云存储服务端,存储密文集合和加密索引,构建倒排索引。本发明通过联盟链作为可信第三方进行对称密钥的存储和分发、公私钥的生成和分发,更安全可靠地解决了DO的对称密钥如何传递的问题。靠地解决了DO的对称密钥如何传递的问题。靠地解决了DO的对称密钥如何传递的问题。


技术研发人员:马锐健 王明阳 姚英彪 梁军学 刘涛 徐欣 滕威 王军良 汪波
受保护的技术使用者:中国人民解放军93216部队
技术研发日:2023.05.25
技术公布日:2023/8/23
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐