CN112861172A - 基于pbft共识机制的对称可搜索加密方法 - Google Patents
基于pbft共识机制的对称可搜索加密方法 Download PDFInfo
- Publication number
- CN112861172A CN112861172A CN202110105125.0A CN202110105125A CN112861172A CN 112861172 A CN112861172 A CN 112861172A CN 202110105125 A CN202110105125 A CN 202110105125A CN 112861172 A CN112861172 A CN 112861172A
- Authority
- CN
- China
- Prior art keywords
- node
- retrieval
- user
- cloud server
- transaction
- 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.)
- Granted
Links
Images
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于PBFT共识机制的对称可搜索加密方法,涉及数据处理方法技术领域。所述方法包括如下步骤:准备阶段、检索阶段、共识阶段和更新阶段。本申请所述方法将区块链技术与可搜索加密技术结合,能够保证数据检索过程的公开透明、可追溯;并通过改进后的PBFT共识建立了一套包含数据验证、数据更新和节点行为监督在内的对称可搜索加密方法,能够保证用户与服务器之间的交易公平,保证用户检索请求与云服务器提供的检索结果一一对应,且真实可靠,能有效提升用户与云服务器之间的信任度。
Description
技术领域
本发明涉及数据处理方法技术领域,尤其涉及一种基于PBFT共识机制的对称可搜索加密方法。
背景技术
信息时代的到来使数据存储和共享成为诸多学者研究的热点,而云存储的出现为人们提供了一种更为便捷、经济的数据存储方式。云上的计算资源和存储资源已经成为一种互联网基础设施。通过云计算技术,厂商建立网络服务器集群,向不同类型客户提供在线软件服务、硬件租借、数据存储、计算分析等服务。国外比较著名的云服务提供商有云网络存储工具Dropbox、亚马逊简易储存服务(Amazon simple storage service)和微软的云计算平台Windows Azure等。近年来国内云计算厂商主要有阿里云、腾讯云,还有大量公司面向企业或个人提供云存储服务。
资源受限的用户通过按需付费的方式获得云服务商提供的近似无尽的存储和计算资源,大大降低了用户在本地的数据管理开销,减轻了传统数据管理的复杂性,也可以使用户方便快捷的访问数据。但与此同时,云存储服务面临着严峻的数据存储安全及隐私泄露问题。云存储服务提供商对于用户隐私保护不规范,相关法律法规也不完善,大量隐私数据存在泄露风险。对于用户来说,云存储是一个不可控的存储环境,上传到云服务器上的隐私数据难以彻底清除。即使在用户执行删除操作后,云服务提供商并没有从硬盘中彻底清除用户文件,依旧会在云服务器中保留一段时间。
为保证数据的机密性,数据文件可以先加密再上传到服务器中进行存储。但如何在密文中执行有意义的操作成为困难问题,特别是使用频率较高的检索操作。如果每次执行检索都下载密文数据到本地,解密后在明文中执行检索操作,这会带来大量的通信代价和计算开销,违背了使用云存储的初衷。
传统的信息检索系统一般是建立在明文系统上的,服务器对于用户来说是完全可信的,服务器在明文上进行搜索操作。但实际上服务器通常工作在半可信或恶意环境下,前者是指服务器诚实地遵照协议的规定执行,并通过与用户的交互最大限度地提取用户的秘密信息;后者是指服务器通过任意破坏行为来阻碍协议的执行。
为了解决当数据加密存储在云端时,服务器不完全可信的前提下如何利用服务器来完成安全的关键词的搜索问题,学者们提出了可搜索加密(Searchable Encryption,SE)。可搜索加密是一种支持用户在密文上进行关键字查找的密码学原语,它能够为用户节省大量的网络和计算开销,并充分利用云端服务器的计算资源进行密文上的关键字查找。
可搜索加密技术分为两大类:对称可搜索加密技术(Searchable SymmetricEncryption, SSE)和公钥可搜索加密技术(Public key Encryption with KeywordSearch, PEKS)。
原有SSE方案的构造基于对称密码,一般有两方参与者:数据拥有者和云服务器。数据拥有者用私钥加密数据后外包给云服务器,之后数据拥有者使用私钥检索云服务器中的数据。PEKS方案的构造基于公钥密码。一般有三方参与者:数据拥有者、云服务器和用户。数据拥有者用公钥加密数据后外包给云服务器,之后用户使用私钥检索云服务器中的数据。由于PEKS方案基于公钥密码构造,因此方案的构造效率低下。
由于SSE方案采用对称密码,方案构造更简单,执行效率较高,应用场景更加多样,如医疗数据、财务数据、政府数据等私有数据库的外包存储与检索。现有SSE方案的研究主要集中于提升算法的安全性、搜索表达能力和搜索效率等方面。
原有SSE方案包括以下三部分:1)数据所有者利用密钥根据算法将明文数据加密并生成索引,随后将密文数据和索引上传至服务器;2)用户利用密钥和待检索关键字生成检索陷门,并将陷门发送给服务器;3)服务器利用检索陷门、索引和密文数据执行检索算法,之后将符合要求的密文发送给用户。
现有的可搜索加密技术在执行过程中,无论使用对称或非对称加密方案,均难以达到对于用户隐私数据的完美保护。因为在多次检索过程中,服务器通过已有的密文数据及索引信息,结合收集到的用户检索陷门,能够获知部分用户隐私信息。为此相关研究学者提出了适应性安全性、非适应性安全性、前向安全、后向安全等安全模型用于评估SSE算法的安全性。
但由于云服务器是单一节点,且服务器是诚实且好奇的甚至是恶意的,在方案执行过程中存在很大程度的交易不公平问题。用户购买了服务器的存储空间和算力,服务器为用户提供存储和检索服务。若用户或服务器其一存在欺骗行为,现有方案难以保证用户或服务器的合法利益。例如,用户支付服务费后,云服务器没有诚实地向用户返回正确且完整的检索结果,服务器返回的可能是是错误结果或直接返回空结果;对于服务器返回的正确检索结果,用户不承认,并拒绝向服务器支付服务费。为解决此问题,学者探索使用区块链技术来提升现有SSE方案的公平性和安全性,并扩展其使用场景。
原始的SSE方案中缺少对检索结果的验证机制,导致用户与服务器之间存在很大程度的交易不公平问题。特别是对于某一检索请求,若服务器返回结果为空,用户无法分辨服务器返回的检索结果是否真实可靠。
发明内容
本发明所要解决的技术问题是如何提供一种能够保证用户与云服务器之间的交易公平,提升数据存储和使用过程的安全性的对称可搜索加密方法。
为解决上述技术问题,本发明所采取的技术申请是:一种基于PBFT共识机制的对称可搜索加密方法,其特征在于包括如下步骤:
准备阶段;
检索阶段;
共识阶段;
更新阶段。
进一步的技术申请在于,所述准备阶段包括如下步骤:
创建合约账户:为每个用户创建一个合约账户,并编写智能合约;智能合约的功能包括:①接收用户发送的检索陷门;②接收服务器发送的押金,并向其发送检索陷门;③接收由主云服务器节点发送的检索结果并对结果进行验证;④将验证后的结果发送至用户;
密文数据准备:用户选取密钥,然后利用SSE算法对明文数据进行加密并建立密文索引,将密文数据和索引上传至云服务器节点;数据传输过程无需借助区块链,只在区块链中记录存有用户数据的服务器地址和数量;
密钥申请和协商:用户及各个服务器节点均需要向CA节点申请数字证书;利用公钥密码算法实现用户和云服务器节点之间的安全通信;SSE密钥由用户生成,并保存在本地。
进一步的技术申请在于,所述检索阶段包括如下步骤:
广播请求:用户向区块链中广播一条检索请求消息,消息中包含用户创建的合约账户地址AC,不含检索陷门;
云服务器节点加入:收到用户检索请求的服务器节点则做出响应;对于某一检索请求,云服务器可能处于三种状态:①离线,即未收到请求,不响应;②在线但不参与,即收到请求,但由于资源或网络问题不参与检索过程,不响应;③在线且参与,即收到请求,且对请求做出响应;同一时刻,必须至少有4个服务器节点在线且参与系统运行;
在线且参与检索的云服务器节点需要构造一笔向合约账户支付押金的交易,用于向合约账户购买此次检索中用户提交的陷门;服务器节点支付的押金会暂存于合约账户,若云服务器节点返回的检索结果通过验证或用户未发送检索陷门,合约账户将押金退回给云服务器节点;如果验证失败,押金则转至用户账户;
合约账户收到云服务器节点的押金之后,将支付押金的服务器节点地址汇总后发送给用户;
陷门分发:用户U在本地将待查询关键字利用SSE密钥生成检索陷门T;用户在收到智能合约发送的汇总后的地址<AS1,AS2,AS3,…>后,从CA节点查询各个地址对应服务器节点的公钥,使用各个节点的公钥分别将T加密后与服务费Payment一同发送给智能合约,交易内包含<Payment,(AS1,E(PKS1,T)), (AS2,E(PKS2,T)), (AS3,E(PKS3,T)),…>;PK为节点公钥,E表示公钥加密算法;
智能合约收到用户服务费之后,提取出各服务器的地址和对应的陷门,之后构建一笔交易,将陷门发送给云服务器节点Si(i=0,1,2,…),交易内包含<ASi, E(PKSi, T)>;
检索:云服务器收到陷门之后,利用本地存储的索引和密文数据执行SSE检索算法,然后将检索结果的特征信息广播至区块链;参与检索的多个云服务器节点需要借助改进后的PBFT共识机制,在共识阶段对检索结果进行验证,同时对云服务器节点的行为进行监督;
结果验证:合约账户收到主节点发送的交易后校验F的值,F为交易中包含的代表本次检索结果是否存在的标志参数;若F=1,表示本次检索成功,然后从交易附加的节点地址中随机选取一个,向其发送一条请求检索结果R的消息,云服务器节点Si收到消息后将检索结果R发送给合约账户;合约账户使用R验证<[I1,I2,I3,…],[Hash(RI1), Hash(RI2),Hash(RI3),…]>,验证通过后构建一笔交易将R发送给用户;验证失败则对恶意节点行为进行记录,并从交易附带的地址中选取另一节点索取检索结果继续验证,直至验证成功或索取到所有节点的检索结果;每次检索完成后合约账户广播恶意节点行为记录列表;若F=0,说明本次检索失败,无对应结果,合约账户则构建一笔空的交易发送给用户;
用户解密:用户账户收到合约账户的交易后从中提取出R,用户使用本地存储的SSE密钥解密R得到明文结果,如果解密成功,则检索完成;
有两种情况会导致解密失败:1)由于在共识过程中各个云服务器节点检验的是局部数据的哈希值,可能会出现哈希碰撞,导致有两个及以上的密文数据能对同一交易列表List中的交易验证成功,但错误的密文数据无法解密出明文;2)用户端计算出现错误。若用户验证失败,则向合约账户发送失败消息;合约账户向其余所有节点索取检索结果,如果有不一致的结果,则合约账户将不一致的结果发给用户继续验证;如果用户对新的结果仍然验证失败,则说明用户计算出错;将所有节点的检索结果发给用户,之后不再对用户的失败消息做出响应。
进一步的技术申请在于,所述共识阶段包括如下步骤:
陷门分发和检索:从全部存有用户密文的云服务器节点中选举出一个主节点,新区块由主节点负责生成;主节点若在线则必须响应用户检索请求,主节点若离线则首先进行新的主节点的选举;参与检索的云服务器节点获取到检索陷门T之后在本地利用索引和密文数据执行SSE算法的检索过程;
广播R的特征:云服务器节点在本地检索完成后得到检索结果;设检索结果为R,如果检索成功,则R为陷门对应的密文数据,如果检索失败,陷门没有对应的密文数据,则使用统一的规则对R进行随机填充;云服务器节点根据检索到的R,构造一笔含有<F,I,Hash(RI)>的交易,这三个参数是正确检索结果R的关键特征;F代表本次检索中检索陷门对应的结果是否存在,取值为0和1;I为(0,N)之间的随机值,N为将R按16字节分组后的分组数量;Hash(RI)为R的第I个16字节分组的哈希值;云服务器节点计算完成后将该交易广播至区块链网络;
建立List并广播:主节点广播R的特征的同时从区块链网络收集其他节点的包含R的特征的交易,将收集到的所有交易排序后存入列表List,并将该列表向全网广播;List的收集需要设置一个截止时间,超过截止时间后的交易则判定为无效,不收录至List中;List中的交易数量n,需要满足4≤n≤NS,NS为收到用户陷门的节点数量;
验证List:每个节点接收到交易列表List后,利用本地检索结果R对List中交易的<F,I,Hash(RI)>参数进行验证,验证通过后在此基础上计算新区块的哈希摘要,并向全网广播;验证不通过则不广播,并将存在恶意行为的节点进行记录;
发送Commit:如果一个节点收到的2f个其它节点发来的摘要都和自己相等,就向全网广播一条Commit消息,f为可容忍的恶意节点数;
发送汇总后的结果:如果一个节点收到2f+1条Commit消息,即可提交新区块及其交易到本地的区块链和状态数据库;主节点将交易列表List中所有的<F, I, Hash(RI)>以及参与检索的节点地址汇总为<F, [AS1,AS2,AS3,…],[I1,I2,I3,…], [Hash(RI1), Hash(RI2), Hash(RI3),…]>,并将其将其发送给合约账户。
进一步的技术申请在于,所述更新阶段包括云服务器节点更新和云服务器节点数据更新。
进一步的技术申请在于,云服务器节点在以下两种情况下需要进行更新:
主节点离线:在检索开始前,首先校验节点状态,必须满足在线节点数大于3f+1,且主节点在线;若主节点离线,则触发节点更新机制,新的主节点可以由最近一次成功向用户提供检索结果的非主节点的云服务器节点担任;或由剩余节点重新选举出主节点,但新加入的节点不能参与主节点的选举;
针对于某一用户的密文数据某一节点的恶意行为记录数达到上限M;上限M暂时没有可靠的计算方法,需要结合使用的SSE算法的安全性和系统实际运行情况进行综合计算,实际应用中可以设定一个初始值,之后根据系统运行情况进行调整;
节点行为由合约账户通过节点支付押金的记录与检索中生成的交易列表List进行对比;恶意行为包括:1)在检索过程中,节点宕机或退出检索过程;2)获取陷门后不参与检索;3)提供错误的检索结果;
节点的恶意行为记录达到上限M之后则不允许其参与对于该用户的检索过程,通过在合约账户处建立节点黑名单可以限制其向合约账户获取检索陷门。
进一步的技术申请在于,在以下3种情况下需要对云服务器节点的数据进行更新:
1)引入新的服务器节点:参与系统运行的云服务器节点数若低于4个,无法满足PBFT共识算法正常运行的要求;此时需要引入新的节点来保证系统正常运行,新的节点加入后需要更新和同步本地密文数据,这一过程需要用户节点和其他云服务器节点的参与;
2)对于某一云服务器节点存储的多个用户的密文数据,该节点在每一个用户的合约账户的恶意行为记录都达到上限并被记入黑名单;
3)节点正常运行达到时间上限Mt或检索数量上限Mn;Mt与Mn实际应用中可以设定一个初始值,之后根据系统运行情况进行调整;
对于情况2)和3)的数据更新有以下两种措施:
(1)不引入新的密钥和密文数据情况下,则将该节点从系统踢出,对于该节点发出的任何消息其余节点和合约账户均不再做出响应;
(2)在SSE算法基础上,引入新密钥k’,并生成新的索引index’和密文数据c’,将其发送给新节点或发给被加入黑名单的节点,记为X;此时需要对上述申请中的部分步骤进行修改:①在检索请求中,用户需要额外用新密钥k’生成新的检索陷门T’,并将两个陷门T和T’同时发送给合约账户;②节点X参与检索时,合约账户需要将其对应的陷门T’发送给节点X;③在共识过程中,由于节点X的密文数据c’与其他节点的数据c不同,检索结果也不一致,共识过程中无法实现节点间互相验证;因此需要将与明文数据有关的局部信息进行公开,用于密文数据不同的云服务器节点间对检索结果进行相互验证;对于同一关键字,所有检索结果中的文档ID都是相同;使用文档ID可以构造检索结果的< I,Hash(RI) >参数,在此基础上可以在以上申请中执行数据的正常检索过程。
采用上述技术申请所产生的有益效果在于:本申请所述方法将区块链技术与可搜索加密技术结合,能够保证数据检索过程的公开透明、可追溯;并在此基础上建立一套完善的验证机制,能够保证用户与服务器之间的交易公平,保证用户检索请求与云服务器提供的检索结果一一对应,且真实可靠,能有效提升两者之间的信任度。
还通过在PBFT共识机制基础上建立监督机制,实现对服务器的恶意行为的有效监督,并对恶意行为设置惩罚机制,使得服务器的恶意行为不再是“无痕”或“无代价”的,从而鼓励用户和服务器正常参与到的检索过程。通过本申请的数据更新机制,针对用户上传的某组密文数据,能防止服务器收集到足够多的陷门,从而破解密文,获得用户隐私数据。该机制能够在原有对称密文检索方案基础上进一步提升安全性,降低用户隐私的泄露风险。
本申请将区块链技术与可搜索加密结合,能够保证数据检索过程的公开透明、可追溯,防止数据存储方作恶,提升数据存储和使用过程的安全性。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明实施例所述方法的架构图;
图2是本发明实施例所述方法中检索流程图;
图3是本发明实施例所述方法中共识过程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术申请进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
针对现有可搜索加密方法中用户与服务器之间交易不公平的问题,本发明通过引入区块链技术,设计了一个基于PBFT共识机制的对称可搜索加密方法。本发明通过改进后的PBFT共识机制,能够排除恶意服务器节点对搜索结果的影响,从而最大程度的保证用户与服务器之间的公平交易,同时保护用户数据的隐私。
总体的,本发明实施例公开了一种基于PBFT共识机制的对称可搜索加密方法,如图1所示,主要包括三方实体,用户,CA和云服务器,所述方法分为以下四个阶段:准备阶段、检索阶段、共识阶段和更新阶段。
准备阶段:
在申请的准备阶段需要进行以下三部分操作:
(1)创建合约账户。
每个用户都需要创建一个合约账户,并编写智能合约。智能合约的功能包括:①接收用户发送的检索陷门。②接收服务器发送的押金,并向其发送检索陷门。③接收由主云服务器节点发送的检索结果并对结果进行验证。④将验证后的结果发送至用户
(2)密文数据准备。
用户选取密钥,然后利用SSE算法对明文数据进行加密并建立密文索引,将密文数据和索引上传至云服务器节点。数据传输过程无需借助区块链,只在区块链中记录存有用户数据的服务器地址和数量。
(3)密钥申请和协商。
为了保护用户数据的机密性,检索交易中部分数据不能为明文,需要引入数字证书,实现数据加密和安全通信。用户及各个服务器节点均需要向CA节点申请数字证书。利用公钥密码算法实现用户和云服务器节点之间的安全通信。SSE密钥由用户生成,并保存在本地。
检索阶段
申请的检索阶段是SSE在本申请中的具体执行过程,关键流程如下图2所示:
①广播请求(Broadcast)。
本流程对应图2的第(1)步。用户向区块链中广播一条检索请求消息,消息中包含用户创建的合约账户地址Ac,不含检索陷门。
②云服务器节点加入(Collect)。
本流程对应图2的第(2)(3)步。收到用户检索请求的服务器节点则做出响应。对于某一检索请求,云服务器可能处于三种状态:①离线(未收到请求,不响应);②在线但不参与(收到请求,但由于资源或网络问题不参与检索过程,不响应);③在线且参与(收到请求,且对请求做出响应)。同一时刻,必须至少有4个服务器节点在线且参与系统运行。
在线且参与检索的云服务器节点需要构造一笔向合约账户支付押金的交易,用于向合约账户“购买”此次检索中用户提交的陷门。服务器节点支付的押金会暂存于合约账户,若云服务器节点返回的检索结果通过验证或用户未发送检索陷门,合约账户将押金退回给云服务器节点。如果验证失败,押金则转至用户账户。通过缴纳押金可以提升恶意节点获取陷门的代价,提升用户隐私数据的安全性。
合约账户收到云服务器节点的押金之后,将支付押金的服务器节点地址汇总后发送给用户。
③陷门分发(Distribute)。
本流程对应图2的第(4)(5)步。用户U在本地将待查询关键字利用SSE密钥生成检索陷门T。用户在收到智能合约发送的汇总后的地址<AS1,AS2,AS3,…>后,从CA节点查询各个地址对应服务器节点的公钥,使用各个节点的公钥分别将T加密后与服务费Payment一同发送给智能合约,交易内包含<Payment,(AS1,E(PKS1,T)), (AS2,E(PKS2,T)), (AS3,E(PKS3,T)),…>。PK为节点公钥,E表示公钥加密算法。
智能合约收到用户服务费之后,提取出各服务器的地址和对应的陷门,之后构建一笔交易,将陷门发送给云服务器节点Si(i=0,1,2,…)。交易内包含<ASi, E(PKSi, T)>
④检索(Search)。
本流程对应图2的第(6)(7)步。云服务器收到陷门之后,利用本地存储的索引和密文数据执行SSE检索算法,然后将检索结果的特征信息广播至区块链。参与检索的多个云服务器节点需要借助改进后的PBFT共识机制,在共识阶段对检索结果进行验证,同时对云服务器节点的行为进行监督,具体流程参见本申请中对共识阶段的描述。通过改进的PBFT共识机制进行区块的打包,使得所有交易记录都存储在区块链上,恶意节点的行为也被一同记录,使其无法否认。
⑤结果验证(Verify)。
本流程对应图2的第(8)(9)(10)(11)步。合约账户收到主节点发送的交易后校验F的值。若F=1,表示本次检索成功,然后从交易附加的节点地址中随机选取一个,向其发送一条请求检索结果R的消息,云服务器节点Si收到消息后将检索结果R发送给合约账户。合约账户使用R验证<[I1,I2,I3,…],[Hash(RI1), Hash(RI2), Hash(RI3),…]>,验证通过后构建一笔交易将R发送给用户。验证失败则对恶意节点行为进行记录,并从交易附带的地址中选取另一节点索取检索结果继续验证,直至验证成功或索取到所有节点的检索结果。每次检索完成后合约账户广播恶意节点行为记录列表。
若F=0,说明本次检索失败,无对应结果,合约账户则构建一笔空的交易发送给用户。
⑥用户解密(Dec)。
本流程对应图2的第(12)(13)(14)步。用户账户收到合约账户的交易后从中提取出R,用户使用本地存储的SSE密钥解密R得到明文结果。如果解密成功,则检索完成。
有两种情况会导致解密失败:1)由于在共识过程中各个云服务器节点检验的是局部数据的哈希值,可能会出现哈希碰撞,导致有两个及以上的密文数据能对同一交易列表List中的交易验证成功,但错误的密文数据无法解密出明文;2)用户端计算出现错误。
若用户验证失败,则向合约账户发送失败消息。合约账户向其余所有节点索取检索结果,如果有不一致的结果,则合约账户将不一致的结果发给用户继续验证。如果用户对新的结果仍然验证失败,则说明用户计算出错。合约账户将所有节点的检索结果发给用户,之后不再对用户的失败消息做出响应。
共识阶段:
共识阶段中的云服务器节点通过改进后的PBFT共识机制对于某一检索陷门形成一个统一的结果,如图3所示。其运行过程如下:
①陷门分发和检索。
从全部存有用户密文的云服务器节点中选举出一个主节点,新区块由主节点负责生成。主节点若在线则必须响应用户检索请求,主节点若离线则首先进行新的主节点的选举。参与检索的云服务器节点获取到检索陷门T之后在本地利用索引和密文数据执行SSE算法的检索过程。
②广播R的特征。
云服务器节点在本地检索完成后得到检索结果。设检索结果为R,如果检索成功,则R为陷门对应的密文数据,如果检索失败,陷门没有对应的密文数据,则使用统一的规则对R进行随机填充。云服务器节点根据检索到的R,构造一笔含有<F,I,Hash(RI)>的交易,这三个参数是正确检索结果R的关键特征。F代表本次检索中检索陷门对应的结果是否存在,取值为0和1;I为(0,N)之间的随机值,N为将R按16字节分组后的分组数量;Hash(RI)为R的第I个16字节分组的哈希值。云服务器节点计算完成后将该交易广播至区块链网络。
③建立List并广播。
主节点广播R的特征的同时从区块链网络收集其他节点的包含R的特征的交易,将收集到的所有交易排序后存入列表List,并将该列表向全网广播。List的收集需要设置一个截止时间,超过截止时间后的交易则判定为无效,不收录至List中。List中的交易数量n,需要满足4≤n≤NS,NS为收到用户陷门的节点数量。
④验证List。
每个节点接收到交易列表List后。利用本地检索结果R对List中交易的<F,I,Hash(RI)>参数进行验证,验证通过后在此基础上计算新区块的哈希摘要,并向全网广播。验证不通过则不广播,并将存在恶意行为的节点进行记录。
⑤发送Commit
如果一个节点收到的2f(f为可容忍的恶意节点数)个其它节点发来的摘要都和自己相等,就向全网广播一条Commit消息。
⑥发送汇总后的结果
如果一个节点收到2f+1条Commit消息,即可提交新区块及其交易到本地的区块链和状态数据库。主节点将交易列表List中所有的<F, I, Hash(RI)>以及参与检索的节点地址汇总为<F, [AS1,AS2,AS3,…],[I1,I2,I3,…], [Hash(RI1), Hash(RI2), Hash(RI3),…]>,并将其将其发送给合约账户。
更新阶段:
(一)云服务器节点更新
云服务器节点在以下两种情况下需要进行更新:
1.主节点离线。在检索开始前,首先校验节点状态,必须满足在线节点数大于3f+1,且主节点在线。若主节点离线,则触发节点更新机制,新的主节点可以由最近一次成功向用户提供检索结果的非主节点的云服务器节点担任;或由剩余节点重新选举出主节点,但新加入的节点不能参与主节点的选举。
2.针对于某一用户的密文数据某一节点的恶意行为记录数达到上限M。上限M暂时没有可靠的计算方法,需要结合使用的SSE算法的安全性和系统实际运行情况进行综合计算,实际应用中可以设定一个初始值,之后根据系统运行情况进行调整。
节点行为由合约账户通过节点支付押金的记录与检索中生成的交易列表List进行对比。恶意行为包括:1)在检索过程中,节点宕机或退出检索过程;2)获取陷门后不参与检索;3)提供错误的检索结果。
节点的恶意行为记录达到上限M之后则不允许其参与对于该用户的检索过程,通过在合约账户处建立节点黑名单可以限制其向合约账户获取检索陷门。
(二)云服务器节点数据更新
在以下3种情况下为保护用户数据安全,保证系统可靠运行,需要对云服务器节点的数据进行更新。
1.引入新的服务器节点。参与系统运行的云服务器节点数若低于4个,无法满足PBFT共识算法正常运行的要求。此时需要引入新的节点来保证系统正常运行,新的节点加入后需要更新和同步本地密文数据,这一过程需要用户节点和其他云服务器节点的参与。
2.对于某一云服务器节点存储的多个用户的密文数据,该节点在每一个用户的合约账户的恶意行为记录都达到上限并被记入黑名单。
3.节点正常运行达到时间上限Mt或检索数量上限Mn。Mt与Mn实际应用中可以设定一个初始值,之后根据系统运行情况进行调整。
对于情况2和3的数据更新有以下两种措施:
1)不引入新的密钥和密文数据情况下,则将该节点踢出从本系统踢出,对于该节点发出的任何消息其余节点和合约账户均不再做出响应。
2)在原有SSE算法基础上,引入新密钥k’,并生成新的索引index’和密文数据c’,将其发送给新节点或发给被加入黑名单的节点,记为X。此时需要对部分步骤进行修改:①在检索请求中,用户需要额外用新密钥k’生成新的检索陷门T’,并将两个陷门T和T’同时发送给合约账户。②节点X参与检索时,合约账户需要将其对应的陷门T’发送给节点X。③在共识过程中,由于节点X的密文数据c’与其他节点的数据c不同,检索结果也不一致,共识过程中无法实现节点间互相验证。因此需要将与明文数据有关的局部信息进行公开,用于密文数据不同的云服务器节点间对检索结果进行相互验证。以基于关键字-文档索引的SSE算法为例,可以将查询结果的文档ID作为公开信息用于节点的互相验证。对于同一关键字,所有检索结果中的文档ID都是相同的,只是由于密钥不同,对应的密文数据不同。使用文档ID可以构造检索结果的< I,Hash(RI) >参数,在此基础上可以在以上申请中执行数据的正常检索过程。
本申请的核心思想是利用区块链技术对原有可搜索加密技术进行改进,本申请的优点主要体现在以下四个方面。
公平性:本申请借助于区块链技术,将原有单一节点的云服务器扩展为多个节点,利用改进的PBFT共识机制实现对多个云服务器节点返回的搜索结果的验证,从而在很大程度上提高了用户与云服务器之间交易的公平性。用户端与智能合约均实现了对检索结果的验证,检索过程均在区块链上公开,且可验证可追溯。本申请中的惩罚的奖励机制也能很好的监督节点的恶意行为,促使其诚实地参与检索过程。
安全性:为了更好的提升原有对称可搜索加密申请的安全性,本申请设计了一套针对节点及其存储的密文数据的更新机制。对于节点的更新是为了排除恶意节点对于正常检索所造成的干扰。对于密文数据的更新则是为了保护用户的数据安全,防止云服务器节点通过获取大量陷门并结合本地密文数据获取用户隐私信息,从根本上减轻用户隐私泄露的风险,保护用户数据安全。
可扩展性:本申请具有良好的可扩展性。本申请利用区块链技术改进了单用户场景下且云服务器为单一节点的对称可搜索加密技术,对于有相同应用场景的对称可搜索加密技术,可以使用本申请的技术架构来进一步提升原有技术方法的公平性和安全性。本申请对于云服务器为单一节点的非对称可搜索加密也同样适用。通过在本申请中添加授权管理机制,也能够很好地应用于多用户数据共享场景。
可自定义:本申请的部分细节可根据实际应用情况进行修改。1)本申请的共识阶段中通过检索结果R计算的<I,Hash(RI)>两个参数可以修改。例如可以根据安全性的要求更改R的分组大小。这两个参数的核心目的是通过公开正确检索结果必需具备的特征,从而在不公开检索结果的情况下实现各个云服务器节点对检索结果的互相验证。通过R构造的参数只要能满足这一要求即可。2)本申请中云服务器节点的数据可以由不同的SSE密钥生成,这样能更进一步提升申请的安全性和公平性。此时需要参照本申请中对于云服务器节点数据更新部分的描述对检索的步骤和参数进行修改。
目前已有一些利用区块链技术来保证可搜索加密应用中用户与云服务器之间的交易公平的技术。本申请与现有技术的对比如下表1所示。
表1 与现有技术的对比
申请 | 云服务器节点数 | 检索中的公开信息 | 对结果的完整性验证 | 验证方 |
文献[1] | 1 | 陷门和检索结果 | 无 | 可信第三方(TA) |
文献[2] | 1 | 陷门和检索结果 | 无 | 智能合约 |
文献[3] | 1 | 陷门、索引及所有密文数据 | 无 | 无 |
本申请 | 3<i>f</i>+1 | 检索结果 | 有 | 用户和智能合约 |
文献[1](翁昕耀,游林,蓝婷婷.基于区块链的结果可追溯的可搜索加密方案[J].电信科学,2019,35(09):98-106)中结合区块链技术构建的可搜索加密方案中,通过引入第三方可信机构,利用哈希函数进行验证,保证了数据发送者与接收者数据的一致性。文献[2](聂梦飞,庞晓琼,陈文俊,弓世明,杨婷.基于以太坊区块链的公平可搜索加密方案[J].计算机工程与应用,2020,56(04):69-75)中则通过智能合约验证检索结果,保证了检索结果的有效性。但文献[1][2]中的服务器均为单一节点,在检索过程中将检索陷门和检索结果都公开在区块链之上,对于所有接入区块链的节点均可见,因此存在一定的安全风险。并且这两个方案均无法实现对云服务器返回的不完整结果或空结果的验证。
文献[3](牛淑芬,王金风,王伯彬,陈敬民,杜小妮.区块链上支持多关键字检索的可搜索加密方案[J].计算机工程与科学,2020,42(11):2005-2012.)中通过将陷门和所有密文数据公开在区块链之上,等同于将整个区块链作为一个云服务器。通过将检索陷门公开发送给矿工,让区块链中的矿工节点执行检索过程,并使用智能合约实现交易公平,但缺少对检索结果的验证过程。并且该申请只适用于少量数据,数据量的增加会随之提升区块链的存储压力。
本申请通过将单一的云服务器节点扩展为3f+1个,并利用公钥加密技术使得检索陷门只对部分节点可见。同时本申请利用改进后的PBFT共识机制结合智能合约实现了对检索结果的完整性验证,用户也可以进一步对检索结果进行验证,有效保证了交易公平。
Claims (7)
1.一种基于PBFT共识机制的对称可搜索加密方法,其特征在于包括如下步骤:
准备阶段;
检索阶段;
共识阶段;
更新阶段。
2.如权利要求1所述的基于PBFT共识机制的对称可搜索加密方法,其特征在于,所述准备阶段包括如下步骤:
创建合约账户:为每个用户创建一个合约账户,并编写智能合约;智能合约的功能包括:①接收用户发送的检索陷门;②接收服务器发送的押金,并向其发送检索陷门;③接收由主云服务器节点发送的检索结果并对结果进行验证;④将验证后的结果发送至用户;
密文数据准备:用户选取密钥,然后利用SSE算法对明文数据进行加密并建立密文索引,将密文数据和索引上传至云服务器节点;数据传输过程无需借助区块链,只在区块链中记录存有用户数据的服务器地址和数量;
密钥申请和协商:用户及各个服务器节点均需要向CA节点申请数字证书;利用公钥密码算法实现用户和云服务器节点之间的安全通信;SSE密钥由用户生成,并保存在本地。
3.如权利要求2所述的基于PBFT共识机制的对称可搜索加密方法,其特征在于,所述检索阶段包括如下步骤:
广播请求:用户向区块链中广播一条检索请求消息,消息中包含用户创建的合约账户地址AC,不含检索陷门;
云服务器节点加入:收到用户检索请求的服务器节点则做出响应;对于某一检索请求,云服务器可能处于三种状态:①离线,即未收到请求,不响应;②在线但不参与,即收到请求,但由于资源或网络问题不参与检索过程,不响应;③在线且参与,即收到请求,且对请求做出响应;同一时刻,必须至少有4个服务器节点在线且参与系统运行;
在线且参与检索的云服务器节点需要构造一笔向合约账户支付押金的交易,用于向合约账户购买此次检索中用户提交的陷门;服务器节点支付的押金会暂存于合约账户,若云服务器节点返回的检索结果通过验证或用户未发送检索陷门,合约账户将押金退回给云服务器节点;如果验证失败,押金则转至用户账户;
合约账户收到云服务器节点的押金之后,将支付押金的服务器节点地址汇总后发送给用户;
陷门分发:用户U在本地将待查询关键字利用SSE密钥生成检索陷门T;用户在收到智能合约发送的汇总后的地址<AS1,AS2,AS3,…>后,从CA节点查询各个地址对应服务器节点的公钥,使用各个节点的公钥分别将T加密后与服务费Payment一同发送给智能合约,交易内包含<Payment,(AS1,E(PKS1,T)), (AS2,E(PKS2,T)), (AS3,E(PKS3,T)),…>;PK为节点公钥,E表示公钥加密算法;
智能合约收到用户服务费之后,提取出各服务器的地址和对应的陷门,之后构建一笔交易,将陷门发送给云服务器节点Si(i=0,1,2,…),交易内包含<ASi, E(PKSi, T)>;
检索:云服务器收到陷门之后,利用本地存储的索引和密文数据执行SSE检索算法,然后将检索结果的特征信息广播至区块链;参与检索的多个云服务器节点需要借助改进后的PBFT共识机制,在共识阶段对检索结果进行验证,同时对云服务器节点的行为进行监督;
结果验证:合约账户收到主节点发送的交易后校验F的值,F为代表本次检索结果是否存在的标志参数;若F=1,表示本次检索成功,然后从交易附加的节点地址中随机选取一个,向其发送一条请求检索结果R的消息,云服务器节点Si收到消息后将检索结果R发送给合约账户;合约账户使用R验证<[I1,I2,I3,…],[Hash(RI1), Hash(RI2), Hash(RI3),…]>,验证通过后构建一笔交易将R发送给用户;验证失败则对恶意节点行为进行记录,并从交易附带的地址中选取另一节点索取检索结果继续验证,直至验证成功或索取到所有节点的检索结果;每次检索完成后合约账户广播恶意节点行为记录列表;若F=0,说明本次检索失败,无对应结果,合约账户则构建一笔空的交易发送给用户;
用户解密:用户账户收到合约账户的交易后从中提取出R,用户使用本地存储的SSE密钥解密R得到明文结果,如果解密成功,则检索完成;
有两种情况会导致解密失败:1)由于在共识过程中各个云服务器节点检验的是局部数据的哈希值,可能会出现哈希碰撞,导致有两个及以上的密文数据能对同一交易列表List中的交易验证成功,但错误的密文数据无法解密出明文;2)用户端计算出现错误:若用户验证失败,则向合约账户发送失败消息;合约账户向其余所有节点索取检索结果,如果有不一致的结果,则合约账户将不一致的结果发给用户继续验证;如果用户对新的结果仍然验证失败,则说明用户计算出错;将所有节点的检索结果发给用户,之后不再对用户的失败消息做出响应。
4.如权利要求3所述的基于PBFT共识机制的对称可搜索加密方法,其特征在于,所述共识阶段包括如下步骤:
陷门分发和检索:从全部存有用户密文的云服务器节点中选举出一个主节点,新区块由主节点负责生成;主节点若在线则必须响应用户检索请求,主节点若离线则首先进行新的主节点的选举;参与检索的云服务器节点获取到检索陷门T之后在本地利用索引和密文数据执行SSE算法的检索过程;
广播R的特征:云服务器节点在本地检索完成后得到检索结果;设检索结果为R,如果检索成功,则R为陷门对应的密文数据,如果检索失败,陷门没有对应的密文数据,则使用统一的规则对R进行随机填充;云服务器节点根据检索到的R,构造一笔含有<F,I,Hash(RI)>的交易,这三个参数是正确检索结果R的关键特征;F代表本次检索中检索陷门对应的结果是否存在,取值为0和1;I为(0,N)之间的随机值,N为将R按16字节分组后的分组数量;Hash(RI)为R的第I个16字节分组的哈希值;云服务器节点计算完成后将该交易广播至区块链网络;
建立List并广播:主节点广播R的特征的同时从区块链网络收集其他节点的包含R的特征的交易,将收集到的所有交易排序后存入列表List,并将该列表向全网广播;List的收集需要设置一个截止时间,超过截止时间后的交易则判定为无效,不收录至List中;List中的交易数量n,需要满足4≤n≤NS,NS为收到用户陷门的节点数量;
验证List:每个节点接收到交易列表List后,利用本地检索结果R对List中交易的<F,I,Hash(RI)>参数进行验证,验证通过后在此基础上计算新区块的哈希摘要,并向全网广播;验证不通过则不广播,并将存在恶意行为的节点进行记录;
发送Commit:如果一个节点收到的2f个其它节点发来的摘要都和自己相等,就向全网广播一条Commit消息,f为可容忍的恶意节点数;
发送汇总后的结果:如果一个节点收到2f+1条Commit消息,即可提交新区块及其交易到本地的区块链和状态数据库;主节点将交易列表List中所有的<F, I, Hash(RI)>以及参与检索的节点地址汇总为<F, [AS1,AS2,AS3,…],[I1,I2,I3,…], [Hash(RI1), Hash(RI2),Hash(RI3),…]>,并将其将其发送给合约账户。
5.如权利要求4所述的基于PBFT共识机制的对称可搜索加密方法,其特征在于,所述更新阶段包括云服务器节点更新和云服务器节点数据更新。
6.如权利要求5所述的基于PBFT共识机制的对称可搜索加密方法,其特征在于,云服务器节点在以下两种情况下需要进行更新:
主节点离线:在检索开始前,首先校验节点状态,必须满足在线节点数大于3f+1,且主节点在线;若主节点离线,则触发节点更新机制,新的主节点可以由最近一次成功向用户提供检索结果的非主节点的云服务器节点担任;或由剩余节点重新选举出主节点,但新加入的节点不能参与主节点的选举;
针对于某一用户的密文数据某一节点的恶意行为记录数达到上限M;上限M暂时没有可靠的计算方法,需要结合使用的SSE算法的安全性和系统实际运行情况进行综合计算,实际应用中可以设定一个初始值,之后根据系统运行情况进行调整;
节点行为由合约账户通过节点支付押金的记录与检索中生成的交易列表List进行对比;恶意行为包括:1)在检索过程中,节点宕机或退出检索过程;2)获取陷门后不参与检索;3)提供错误的检索结果;
节点的恶意行为记录达到上限M之后则不允许其参与对于该用户的检索过程,通过在合约账户处建立节点黑名单可以限制其向合约账户获取检索陷门。
7.如权利要求5所述的基于PBFT共识机制的对称可搜索加密方法,其特征在于,在以下3种情况下需要对云服务器节点的数据进行更新:
1)引入新的服务器节点:参与系统运行的云服务器节点数若低于4个,无法满足PBFT共识算法正常运行的要求;此时需要引入新的节点来保证系统正常运行,新的节点加入后需要更新和同步本地密文数据,这一过程需要用户节点和其他云服务器节点的参与;
2)对于某一云服务器节点存储的多个用户的密文数据,该节点在每一个用户的合约账户的恶意行为记录都达到上限并被记入黑名单;
3)节点正常运行达到时间上限Mt或检索数量上限Mn;Mt与Mn实际应用中可以设定一个初始值,之后根据系统运行情况进行调整;
对于情况2)和3)的数据更新有以下两种措施:
(1)不引入新的密钥和密文数据情况下,则将该节点从系统踢出,对于该节点发出的任何消息其余节点和合约账户均不再做出响应;
(2)在SSE算法基础上,引入新密钥k’,并生成新的索引index’和密文数据c’,将其发送给新节点或发给被加入黑名单的节点,记为X;此时需要对部分步骤进行修改:①在检索请求中,用户需要额外用新密钥k’生成新的检索陷门T’,并将两个陷门T和T’同时发送给合约账户;②节点X参与检索时,合约账户需要将其对应的陷门T’发送给节点X;③在共识过程中,由于节点X的密文数据c’与其他节点的数据c不同,检索结果也不一致,共识过程中无法实现节点间互相验证;因此需要将与明文数据有关的局部信息进行公开,用于密文数据不同的云服务器节点间对检索结果进行相互验证;对于同一关键字,所有检索结果中的文档ID都相同;使用文档ID可以构造检索结果的< I,Hash(RI) >参数,在此基础上可以在以上申请中执行数据的正常检索过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110105125.0A CN112861172B (zh) | 2021-01-26 | 2021-01-26 | 基于pbft共识机制的对称可搜索加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110105125.0A CN112861172B (zh) | 2021-01-26 | 2021-01-26 | 基于pbft共识机制的对称可搜索加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112861172A true CN112861172A (zh) | 2021-05-28 |
CN112861172B CN112861172B (zh) | 2022-06-07 |
Family
ID=76009262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110105125.0A Active CN112861172B (zh) | 2021-01-26 | 2021-01-26 | 基于pbft共识机制的对称可搜索加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861172B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821549A (zh) * | 2021-09-23 | 2021-12-21 | 广东科学技术职业学院 | 一种基于云存储的区块链数据检索系统及方法 |
CN114021164A (zh) * | 2021-10-29 | 2022-02-08 | 河南大学 | 基于区块链的征信系统隐私保护方法 |
CN114254212A (zh) * | 2021-12-20 | 2022-03-29 | 平安普惠企业管理有限公司 | 基于区块链的地址检索方法、系统、电子设备及存储介质 |
CN114726582A (zh) * | 2022-03-09 | 2022-07-08 | 西安理工大学 | 基于区块链的外包数据完整性验证中的公平支付方法 |
CN114741711A (zh) * | 2022-04-06 | 2022-07-12 | 石家庄铁道大学 | 基于区块链的多关键字可搜索加密方法 |
CN115174126A (zh) * | 2022-09-08 | 2022-10-11 | 山东省计算中心(国家超级计算济南中心) | 基于区块链和sgx的外包数据密文搜索方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285869A1 (en) * | 2017-03-28 | 2018-10-04 | Alibaba Group Holding Limited | Method and apparatus for processing transaction requests |
CN109670331A (zh) * | 2019-02-21 | 2019-04-23 | 哈尔滨工程大学 | 一种基于区块链的对称可搜索加密方法 |
CN110032891A (zh) * | 2019-04-16 | 2019-07-19 | 中国电力科学研究院有限公司 | 一种基于联盟区块链的智能电网分布式密文检索方法和系统模型 |
CN110135986A (zh) * | 2019-04-23 | 2019-08-16 | 武汉大学 | 一种基于区块链智能合约实现的可搜索加密文件数据方法 |
CN111835500A (zh) * | 2020-07-08 | 2020-10-27 | 浙江工商大学 | 基于同态加密与区块链的可搜索加密数据安全共享方法 |
CN111863165A (zh) * | 2020-06-28 | 2020-10-30 | 石家庄铁道大学 | 基于区块链的医疗信息共享认证方法 |
CN111914027A (zh) * | 2020-08-05 | 2020-11-10 | 北京科技大学 | 一种区块链交易关键字可搜索加密方法及系统 |
-
2021
- 2021-01-26 CN CN202110105125.0A patent/CN112861172B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285869A1 (en) * | 2017-03-28 | 2018-10-04 | Alibaba Group Holding Limited | Method and apparatus for processing transaction requests |
CN109670331A (zh) * | 2019-02-21 | 2019-04-23 | 哈尔滨工程大学 | 一种基于区块链的对称可搜索加密方法 |
CN110032891A (zh) * | 2019-04-16 | 2019-07-19 | 中国电力科学研究院有限公司 | 一种基于联盟区块链的智能电网分布式密文检索方法和系统模型 |
CN110135986A (zh) * | 2019-04-23 | 2019-08-16 | 武汉大学 | 一种基于区块链智能合约实现的可搜索加密文件数据方法 |
CN111863165A (zh) * | 2020-06-28 | 2020-10-30 | 石家庄铁道大学 | 基于区块链的医疗信息共享认证方法 |
CN111835500A (zh) * | 2020-07-08 | 2020-10-27 | 浙江工商大学 | 基于同态加密与区块链的可搜索加密数据安全共享方法 |
CN111914027A (zh) * | 2020-08-05 | 2020-11-10 | 北京科技大学 | 一种区块链交易关键字可搜索加密方法及系统 |
Non-Patent Citations (6)
Title |
---|
CHUNCHI LIU: "NormaChain: A Blockchain-Based Normalized Autonomous Transaction Settlement System for IoT-Based E-Commerce", 《IEEE》 * |
EUGENIA POLITOU: "Blockchain Mutability: Challenges and Proposed Solutions", 《IEEE》 * |
JIE XU: "An Identity Management and Authentication Scheme Based on Redactable Blockchain for Mobile Networks", 《IEEE》 * |
LIJUAN ZHENG: "Research on electronic medical record access control based on blockchain", 《INTERNATIONAL JOURNAL OF DISTRIBUTED》 * |
刘格昌: "基于可搜索加密的区块链数据隐私保护机制", 《计算机应用》 * |
谢绒娜: "基于区块链的可溯源访问控制机制", 《通信学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821549A (zh) * | 2021-09-23 | 2021-12-21 | 广东科学技术职业学院 | 一种基于云存储的区块链数据检索系统及方法 |
CN113821549B (zh) * | 2021-09-23 | 2023-08-08 | 广东科学技术职业学院 | 一种基于云存储的区块链数据检索系统及方法 |
CN114021164A (zh) * | 2021-10-29 | 2022-02-08 | 河南大学 | 基于区块链的征信系统隐私保护方法 |
CN114021164B (zh) * | 2021-10-29 | 2024-02-13 | 河南大学 | 基于区块链的征信系统隐私保护方法 |
CN114254212A (zh) * | 2021-12-20 | 2022-03-29 | 平安普惠企业管理有限公司 | 基于区块链的地址检索方法、系统、电子设备及存储介质 |
CN114726582A (zh) * | 2022-03-09 | 2022-07-08 | 西安理工大学 | 基于区块链的外包数据完整性验证中的公平支付方法 |
CN114726582B (zh) * | 2022-03-09 | 2024-03-12 | 西安理工大学 | 基于区块链的外包数据完整性验证中的公平支付方法 |
CN114741711A (zh) * | 2022-04-06 | 2022-07-12 | 石家庄铁道大学 | 基于区块链的多关键字可搜索加密方法 |
CN114741711B (zh) * | 2022-04-06 | 2024-07-16 | 石家庄铁道大学 | 基于区块链的多关键字可搜索加密方法 |
CN115174126A (zh) * | 2022-09-08 | 2022-10-11 | 山东省计算中心(国家超级计算济南中心) | 基于区块链和sgx的外包数据密文搜索方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112861172B (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112861172B (zh) | 基于pbft共识机制的对称可搜索加密方法 | |
CN107682308B (zh) | 基于区块链潜信道技术的电子证据保存系统 | |
WO2022042301A1 (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
CN110599147B (zh) | 一种基于区块链的密文检索公平支付方法及系统 | |
CN110046521B (zh) | 去中心化隐私保护方法 | |
CN108429759B (zh) | 去中心化存储安全实现方法 | |
CN108650270B (zh) | 基于联盟链和激励机制的数据共享方法及系统 | |
RU2735730C1 (ru) | Способы и устройство эффективной реализации распределенной базы данных в сети | |
CN111797159B (zh) | 数据库中的信息管理和访问控制 | |
CN110059503B (zh) | 可追溯的社交信息防泄露方法 | |
US20180349572A1 (en) | Copyright authorization management method and system | |
CN109246211B (zh) | 一种区块链中的资源上传和资源请求方法 | |
CN110110498A (zh) | 一种基于联盟链的数字版权确权方法与系统 | |
CN110020541B (zh) | 一种基于区块链的隐私保护的声誉评价方法及系统 | |
CN110191153B (zh) | 基于区块链的社交通信方法 | |
CN113065961A (zh) | 一种电力区块链数据管理系统 | |
CN113326541A (zh) | 一种基于智能合约的云边协同多模式隐私数据流转方法 | |
CN115270145A (zh) | 一种基于联盟链和联邦学习的用户窃电行为检测方法及系统 | |
CN113949541B (zh) | 一种基于属性策略的dds安全通信中间件设计方法 | |
CN109377220B (zh) | 基于区块链的传媒数据交易方法及系统、计算机存储介质 | |
CN115987697B (zh) | 基于事件订阅机制的多层级情报数据共享方法及系统 | |
CN115811406A (zh) | 一种基于环签名共识机制的物联网区块链认证方法和系统 | |
CN114139203A (zh) | 基于区块链的异构身份联盟风险评估系统、方法及终端 | |
CN113079000A (zh) | 一种基于可验证量子随机数的共识方法 | |
CN112118572B (zh) | 工业网络场景下基于5g通信的数据安全传输系统及方法 |
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 |