【技术实现步骤摘要】
一个基于区块链的数据多备份可搜索加密系统及方法
[0001]本专利技术涉及可搜索加密
,特别涉及一个基于区块链的数据多备份可搜索加密系统及方法。
技术介绍
[0002]云上数据存储为用户节省了本地存储空间,但是用户的敏感隐私也会因此暴露在云服务提供商眼中,保护用户隐私最常见的解决方法就是用户将数据外包到云服务器之前对数据进行加密,针对于加密数据的搜索,研究人员引入了关键字可搜索加密技术,传统的云上可搜索加密中数据往往被云服务提供商存储在单一服务器上,但这种外包存储方式带来了访问不稳定性、数据入侵和数据损坏等风险和弱点。数据多服务器备份能对数据进行多份实时存储,各服务器之间可以通过数据互通的方式保存数据的一致性。
[0003]在多客户端云上可搜索加密技术中,客户端使用自己的密钥加密数据传输到云服务器上进行存储,因此,在云服务器上,尽管是加密文档中含有同一关键字,但是文档索引仍呈现了不同的数据形态,相等判定测试技术允许检查由不同的公共密钥加密的两个密文是否含有相同的关键字,而不能知道密文的任何信息。
[0004]现有的可搜索加密其中存在着几个需要解决的问题:一是用户数据被放在单一服务器上,若此服务器被攻击或发生损坏,用户数据就有丢失或被盗的风险;二是目前常用的可搜索加密技术中只考虑了交易双方诚实进行交易的情况,但在实际生产环境中,客户端和服务端在交易时可能会出现资金欺诈行为,客户端可能否认发送了搜索请求或否认收到的结果不正确从而拒绝支付搜索费用;服务端可能匹配错误的搜索结果或返回不完整的搜索结果给客
【技术保护点】
【技术特征摘要】
1.一个基于区块链的数据多备份可搜索加密系统,其特征在于:包括五个部分,分别为:用于执行系统初始化、审批数据提供方和用户的注册请求、部署区块链合约和相应节点、分发密钥的系统管理员;用于生成数据标签、加密数据并上传到服务器、对发生恶意欺诈行为的服务器进行追责的数据提供方;发送搜索请求、预支付搜索费用的用户;由多个云服务器组成,用于存储数据、提供搜索操作、上缴押金、按照用户搜索请求匹配搜索结果、再处理搜索结果形成加密数据和授权搜索令牌的云服务端;由智能合约和对应部署节点组成,用于保证用户和云服务端之间公平交易的区块链。2.根据权利要求1所述的一个基于区块链的数据多备份可搜索加密系统,其特征在于:所述云服务端由各个云服务器组成,所述云服务器具有拜占庭容错机制,使用相等判定测试密钥key
id
和该服务器身份id实现搜索匹配结果加密再处理,生成再处理加密数据result
id
和相等判定授权令牌td
id
。3.根据权利要求1或2所述的一个基于区块链的数据多备份可搜索加密系统,其特征在于:所述区块链包括搜索分发合约模块、相等判定合约模块、押金交易奖惩模块、数据节点和判定节点。4.根据权利要求3所述的一个基于区块链的数据多备份可搜索加密系统,其特征在于:所述搜索分发合约模块由搜索分发合约和搜索请求队列组成;所述搜索分发合约将用户搜索请求依据云服务端上各个云服务器的以太网地址进行分发;并调用押金交易奖惩模块;所述搜索请求队列记录来自不同用户向区块链发送的的搜索请求和记录接收请求的时间,采用先进先出模式。5.根据权利要求4所述的一个基于区块链的数据多备份可搜索加密系统,其特征在于:所述押金交易奖惩模块用于记录交易双方的合约地址,保证双方交易的公平性,由交易合约、押金冻结合约、押金奖惩合约、状态列表、押金池和T
‑
时间自动触发函数组成;所述交易合约指的是在状态列表中记录交易发起方的的身份id、押金数目、交易请求发起时间,同时将其状态列表写入区块链数据节点中,同时调用了押金奖惩合约,其中,若用户为交易发起方,则用户被冻结的押金指的是用户预付的搜索费用;所述押金交易奖惩模块用于保障用户和服务器双方资金交易的公平性,通过扣除押金来监督和威慑交易双方的不诚实行为,并为数据提供方提供了追责服务;所述押金冻结合约指的是在交易发起方合约账户中扣除对应押金数目money并在押金池中冻结,同时触发一个T
‑
时间自动触发函数;所述押金池指的是区块链上押金奖惩模块在以太坊上注册的一个合约账户;所述T
‑
时间自动触发函数指的是一个延时押金退还函数,即若在T时间内,该函数没有被任何合约终止,则该函数在T时间后解冻交易发起方的押金,并自动退还给交易发起方的合约账户;所述押金奖惩合约是依据相等判定合约模块的判定结果进行押金的支付、退还或扣除。6.根据权利要求3所述的一个基于区块链的数据多备份可搜索加密系统,其特征在于:所述相等判定合约模块包括相等判定合约列表、相等判定合约、相等判定结果投票合约、结果列表1、结果列表2、判定节点。
7.根据权利要求6所述的一个基于区块链的数据多备份可搜索加密系统,其特征在于:所述相等合约判定列表记录服务器身份id、加密结果result
id
、授权令牌td
id
;所述判定节点执行相等判定算法,对接收的列表数据进行相等性判定,将判定结果写入结果列表中;所述相等判定合约各个云服务加密的数据是否是同一关键字下的数据,相等判定合约使用授权令牌td
id
和加密数据result
id
,两两组合分发给判定节点,进行相等判断;所述相等判定结果投票合约投票选择得票最高的云服务器的搜索结果认定为真实有效的搜索结果,通过二次判定确定哪些云服务器具有恶意行为;所述结果列表1记录相等判定合约第一次分发列表元素后,判定节点的判定结果,帮助认定真实有效的搜索结果;所述结果列表2记录判定节点第二次执行判定算法的判定结果,帮助认定恶意服务器;所述判定节点用于对各个服务器返回的加密数据result
id
、授权令牌td
id
执行判定算法,并将判定结果写入所述结果列表。8.根据权利要求6所述的一个基于区块链的数据多备份可搜索加密系统,其特征在于:所述押金交易奖惩模块和相等判定合约模块中的数据节点用于写入服务器返回的加密数据result
id
、交易双方的交易历史,形成公开账本。9.根据权利要求1
‑
8任一项所述的一个基于区块链的数据多备份可搜索加密方法,其特征在于:步骤1:系统管理员初始化得到系统参数K,通过系统参数计算数据管理者密钥key
m
;通过系统参数、云服务端各个云服务器的身份id,计算得到云服务器相等判定密钥key
id
;通过系统参数、数据管理者密钥key
m
,计算用户的授权搜索密钥key
u
,并将key
m
、key
id
、key
u
通过安全信道分发给对应的数据提供方、云服务器和用户;步骤2:数据提供方生成加密数据和标签;数据提供方使用数据管理者密钥key
m
,数据的关键字w生成搜索标签index;使用密钥key
m
加密数据,将搜索标签index和加密数据打包上传给云服务端的各个云服务器;步骤3:用户执行搜索请求;用户使用系统参数、授权搜索...
【专利技术属性】
技术研发人员:周让,杨可,李冬芬,张辉,唐小川,刘明哲,
申请(专利权)人:成都理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。