基于区块链的多用户数据多备份可搜索加密方法
- 国知局
- 2024-08-02 14:33:07
本发明涉及可搜索加密,具体而言,涉及一种基于区块链的多用户数据多备份可搜索加密方法。
背景技术:
1、在当今信息化时代,用户数据的爆炸性增长和数据存储需求的持续性增加推动了云计算的蓬勃发展。在云环境中,用户将敏感数据外包给云服务器进行存储和计算,而无需关心底层基础设施的细节,这无疑引发了用户对于数据机密性和完整性的担忧。为了保护用户的敏感信息,相关研究人员引入了可搜索加密技术,允许用户在外包存储数据前对数据进行加密处理,同时还允许用户在不解密整个数据库的前提下对加密数据进行搜索。
2、但在传统的云上可搜索加密方案中,数据往往被存储在单一的云服务器上,一旦该云服务器发生故障,用户数据将面临着丢失或者损坏的风险。为了提高数据的鲁棒性,避免数据的单点故障风险,相关研究人员提出了数据多备份技术,通过在不同的存储位置保存相同的数据副本来提高数据的可用性。
3、与此同时,在传统云上可搜索加密方案中,用户往往被认定为一个诚实的用户,云服务器往往被认定为一个半诚实的实体,他们总是执行公平交易。然而,实际生产环境中,用户和云服务器在进行搜索流程中可能出现资金欺诈行为。针对这个问题,一部分研究人员将目光转向了区块链技术。区块链是一种分布式的共享账本,具有去中心化、不可篡改、可追溯和数据透明性的特质。于此同时,区块链上的智能合约具有的内部公平性保证参与方总是能诚实地执行交易行为。因此,利用区块链技术实现可搜索加密方案,保证交易双方资金的公平流动和交易信息的不可篡改以及可朔源具有重要的意义。
4、除此以外,在传统的云上可搜索加密方案中,被认为是半诚实的云服务器总是诚实的执行用户的搜索操作并返回搜索结果。但是在实际生产生活环境中,云服务器可能是恶意的,对于用户的搜索请求可能返回部分或者错误的搜索结果,这也引发了用户对于数据完整性的担忧;基于这个问题,该方案引入了多云服务器下的相等判定测试机制,同时使用同态异或加密函数实现相等判定。相等判定测试允许第三方在不知道明文的前提下对不同形态的密文进行检查,判定是否是对同一个关键字的加密。同态异或加密函数是一种特殊的部分同态加密类型,这种函数可以对加密后的数据进行计算操作,而不暴露原始数据。
5、在实际的生产环境中,数据所有者希望能依据不同用户的身份授予用户不同的文件访问权限,同时,数据所有者还希望能够方便的执行数据的添加和删除操作。因此,在满足解决上述问题的前提下,如何在区块链上设计一个具有动态更新功能的,多用户数据多备份可搜索加密方法是十分重要的。
技术实现思路
1、本发明在于提供一种基于区块链的多用户数据多备份可搜索加密方法,其能够解决上述问题。
2、为了解决上述的问题,本发明采取的技术方案如下:
3、本发明提供了一种基于区块链的多用户数据多备份可搜索加密方法,包括:
4、初始化阶段:针对目标系统,系统管理员生成公开参数,在区块链上部署相等判定合约,并使用安全信道向相等判定合约分发判定密钥;是系统安全参数, f是一个安全的同态异或函数, h和 h是两个标准的哈希函数, g是一个标准的伪随机函数,是系统管理员从{0,1}字符串空间选取的一个位的随机数;
5、密钥分发阶段:密钥分发中心为数据所有者、外包服务提供方中的多个云服务器和具有不同搜索权限的用户,生成云服务器身份标识符、云服务器搜索密钥、云服务器判定密钥、用户身份标识符、用户搜索密钥、数据所有者更新密钥、用户搜索参数和云服务器搜索参数,并将密钥通过安全信道分发给相应的实体,其余(身份标识符和搜索参数)则通过区块链公开记录。除此以外,密钥分发中心还将为数据所有者部署搜索分发合约;
6、数据更新阶段:数据所有者使用自己的更新密钥、用户搜索参数、云服务器搜索参数生成加密数据,上传到外包服务提供方中的多个云服务器上;
7、陷门生成阶段:用户选择搜索关键字,使用自己的授权搜索密钥生成搜索令牌,将搜索押金和搜索令牌发送给区块链上搜索分发合约;区块链上搜索分发合约冻结用户的搜索押金,同时处理用户搜索令牌形成授权搜索令牌,发送给外包服务提供方中的多个云服务器。
8、搜索匹配阶段:外包服务提供方中的多个云服务器接收智能合约的授权搜索令牌,同时将自身身份标识符和云服务器预付押金发送给区块链上搜索分发合约,区块链上搜索分发合约冻结云服务器的预付押金;随后,外包服务提供方中的多个云服务器使用授权搜索令牌和存储的加密数据进行搜索匹配得到结果集合 r;
9、相等判定测试阶段:外包服务提供方中的多个云服务器上分别处理自己的结果集合 r得到相等判定结果集合,发送给区块链上相等判定合约;区块链上相等判定合约执行相等判定算法,认定真实可信的搜索结果、诚实的云服务器和恶意的云服务器,并通知所述真实可信的搜索结果对应的云服务器,该云服务器向搜索用户返回相应的结果集合作为搜索结果;
10、追责阶段:相等判定合约调用搜索分发合约执行押金的支付、返还或者扣除操作,同时,相等判定合约将恶意服务器身份信息报告给系统管理员,由系统管理员执行追责操作。
11、在本发明的一较佳实施方式中,系统管理员部署的区块链为联盟链;
12、同态异或函数 f的定义为:
13、,
14、伪随机函数g的定义为:
15、,
16、其中,,均是由一个标准的密钥生成器生成的位的二进制随机密钥串;
17、同态异或函数 f的属性为:
18、,
19、其中,是同态异或函数 f的密钥,是同态异或函数 f的输入,它们的组成的基本形式皆为位的二进制随机排列字符串;
20、哈希函数h的定义为:;哈希函数h的定义为:;其中,指的是任意长度的01字符串空间,指的是长度的01字符串空间。
21、在本发明的一较佳实施方式中,密钥分发阶段具体包括以下步骤:
22、1)密钥分发中心从的字符空间中选取四个位随机数,计算密钥;
23、2)针对数据所有者发送的注册请求,密钥分发中心生成数据所有者更新密钥,位的自身身份标识符,并使用安全信道向数据所有者发送更新密钥,在区块链上公开数据所有者的身份标识符,同时,密钥分发中心在区块链上部署该数据所有者的智能合约,并在智能合约中存储密钥;其中,数据所有者的身份标识符被公开记录在区块链上;
24、3)针对系统外包服务提供方中的多个云服务器,密钥分发中心为外包服务提供方中的多个云服务器生成不同的身份标识符,为每一个注册的云服务器选择两个位的随机数,计算,令云服务器搜索密钥,判定密钥;计算云服务器搜索参数,使用安全信道向云服务器分别发送搜索密钥和相等判定密钥,公开云服务器的身份标识符和用户搜索参数;其中,外包服务提供方中的各个云服务器的身份标识符和搜索参数被区块链上的智能合约记录在区块链上;
25、4)针对系统中不同用户发送的注册请求,密钥分发中心为每一个注册的用户生成不同的身份标识符,对于每一个注册用户,选择两个位的随机数,计算,用户搜索参数,令用户授权搜索密钥;使用安全信道向用户发送授权搜索密钥,公开用户的搜索参数;其中,其中,各个用户的身份标识符和搜索参数被区块链上的智能合约公开记录在区块链上。
26、在本发明的一较佳实施方式中,数据所有者将为外包服务提供方的所有外包云服务器都执行数据更新操作,数据更新阶段具体包括以下步骤:
27、1)数据所有者初始化两个空列表;
28、2)数据所有者预处理数据库,形成反向索引数据库,其中,反向索引数据库的结构为(关键字,文件索引);
29、3)数据所有者通过反向索引数据库得到下的文件索引个数,从的字符串空间中选择3个位的随机数,并使用自己的更新密钥计算更新辅助标签信息
30、;
31、;
32、4)数据所有者在列表 l中存储;
33、5)对于反向索引数据库中的每一个(关键字,文件索引)对,数据所有者从的字符串空间中选择3个位的随机数;
34、6)数据所有者使用自身的更新密钥、用户搜索参数、云服务器搜索参数和关键字计算反向搜索密钥
35、;
36、7)数据所有者计算反向搜索标签;其中,是步骤3)中,数据所有者为关键字选取的随机数;表示了按照字典顺序排序后,在关键字下的文档索引ind排序位置,其取值范围为0到;
37、8)数据所有者使用自身的更新密钥ko、具有该文档索引搜索权限的用户身份标识符、云服务器搜索参数计算反向正向更新密钥
38、;
39、9)数据所有者计算正向更新标签;
40、10)数据所有者使用自身的更新密钥ko,具有该搜索权限用户的搜索参数计算文档索引加密密钥
41、;
42、11)数据所有者使用文档索引ind和加密密钥hast计算加密数据;
43、12)数据所有者在列表l中存储;
44、13)数据所有者向云服务器发送列表lw和l。
45、在本发明的一较佳实施方式中,陷门生成阶段具体包括以下步骤:
46、1)用户从的字符串空间中选择2个位的随机数;
47、2)用户使用自己的授权搜索密钥和关键字w计算用户搜索令牌,的计算过程如下
48、
49、3)用户向区块链上搜索分发合约发送搜索令牌和搜索预付押金,其中指的是用户为外包服务提供端上的各个云服务器诚实执行搜索操作的预支付费用;
50、4)区块链上搜索分发合约接收用户发送的搜索令牌,计算授权搜索令牌,其中,授权搜索令牌
51、;
52、5)区块链上智能合约将授权搜索令牌分发给外包服务提供方上各个云服务器,并在押金池中冻结用户搜索押金。
53、在本发明的一较佳实施方式中,搜索匹配阶段具体包括以下步骤:
54、1)云服务器遍本地存储的列表lw,对于列表lw中的每一个条目,使用自身搜索密钥和授权搜索令牌ast,计算搜索辅助信息
55、;
56、2)云服务器使用搜索辅助信息计算,并使用和条目中的相比较,若和相等,则取出该条目中的;
57、3)云服务器遍历本地存储的列表l,对于列表l中的每一个条目,云服务器使用自身搜索密钥、自身身份标识符、用户授权搜索令牌ast计算反向搜索密钥
58、;
59、4)云服务器使用反向搜索密钥和步骤2)所述的计算搜索标签,i的取值范围为0到;
60、5)云服务器遍历列表l,若文档和相等,则取出文档条目,计算用户加密密钥,使用用户加密密钥解密加密索引得到加密索引,其中计算得到的;
61、6)云服务器将搜索匹配得到的文档索引加入结果集合r。
62、在本发明的一较佳实施方式中,相等判定测试阶段具体包括以下步骤:
63、1)对于结果集合r中的每一个文档索引,云服务器从的字符串空间中选择1个位的随机数,使用自身身份标识符,相等判定测试密钥计算得到相等判定数据;
64、2)云服务器将相等判定数据加入到相等判定数据集合中,将相等判定数据集合按照字典顺序排序后发送给区块链上所有判定节点;
65、3)区块链上判定节点初始化一个空集合;
66、4)区块链上相等判定节点遍历判定数据集合,对于判定数据集合中的每一个条目,相等判定测试节点使用相等判定测试密钥和云服务器的搜索参数再计算判定结果
67、,
68、并将判定结果集合添加到再处理后的判定结果集合,区块链上相等判定节点将判定结果集合发送给区块链上相等判定合约;
69、5)区块链上相等判定合约两两组合列表元素,分发给区块链上相等判定节点,进行相等判定,若两个加密数据相等,则认定这两个云服务器返回的数据是对同一个关键字的加密,算法输出两个服务器的身份标识符和1,并在结果列表中记录该算法的输出;若两个加密数据不相等,则认定这两个云服务器返回的数据是对不同关键字的加密,算法输出两个服务器的身份标识符和0,并在结果列表中记录该算法的输出;其中,结果列表的记录格式为,b是具有身份标识符和的相等判定结果,其取值范围为;
70、6)区块链上相等判定节点将结果列表返回给区块链上相等判定合约,区块链上相等判定合约对结果列表中的判定结果进行投票,选出判定结果为1且得票最高的判定节点再处理后的云服务器判定结果作为真实有效的判定结果,记录在区块链上,并通知此服务器,此服务器将搜索结果r作为真实有效的搜索结果返回给搜索用户;
71、7)区块链上相等判定合约以判定结果作为依据,选择结果列表中判定结果为0的服务器的加密结果为对照,再次组合分发给判定节点进行二次相等判定,并将结果写入结果列表中;
72、8)区块链上相等判定合约读取结果列表中内容,将结果列表中判定结果为0的服务器认定为不诚实的服务器,其余的服务器认定为诚实的云服务器。
73、在本发明的一较佳实施方式中,追责阶段具体包括以下步骤:
74、1)若服务器被认定为诚实的云服务器,则该服务器的押金将被从押金池中解冻,退还在该服务器的合约账户上,同时将搜索用户预支付的费用的的支付给该云服务器,其中n是云服务器的数量;
75、2)若该服务器被认定为恶意的云服务器,则该服务器的押金将被从押金池中解冻,发送给该搜索分发合约的合约账户上,用于支付验证节点的验证费用;该搜索用户预支付的费用的将被退回该搜索用户的合约账户;同时,该搜索分发合约将向系统管理员报告该恶意云服务器的相关身份信息。
76、与现有技术相比,本发明的有益效果是:
77、采用多服务器的形式实现数据的多备份,避免单一云服务器故障造成的数据丢失的问题;
78、使用区块链和智能合约的内部公平性,以及区块链的不可抵赖性保证交易双方信息的公开和透明性,通过双方的押金交易机制保证了交易双方资金的公平流动;
79、使用同态异或函数和一系列的随机值构建云服务器搜索参数和用户搜索参数,以实现数据在不同云服务器上的数据多备份操作,并确保不同身份的用户能够拥有不同的数据搜索权限;
80、利用区块链和智能合约可信性实现用户搜索令牌的授权,保障云服务器接收的用户授权搜索令牌的合法性和来源的可靠性;
81、利用与关键字相关联的反向搜索标签进行数据的更新,同时使用与文档索引相关联的正向删除标签进行数据的删除,从而提供了文档细粒度的删除和更新操作功能;
82、利用区块链上验证节点对多个云服务器再处理后的相等判定搜索结果进行相等判定测试,并利用节点验证和节点投票的方式提供了数据的完整性验证,验证结果被存储在区块链上,利用区块链的不可篡改性防止恶意服务器对返回的搜索结果进行抵赖,通过对恶意云服务器进行追责的方式来有效遏制外包云服务器的恶意行为,保证了用户搜索过程中的公平性和搜索结果的有效性。
83、为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。
本文地址:https://www.jishuxx.com/zhuanli/20240801/243123.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表