一种基于区块链和同态加密的数据管理方法和系统技术方案

技术编号:38048623 阅读:10 留言:0更新日期:2023-06-30 11:14
本发明专利技术提供一种基于区块链和同态加密的数据管理方法和系统,其中,该方法包括:数据持有方根据自身拥有的文档数据进行加密,并将文档安全索引表传输到云服务平台;查询方用户向云服务平台发出查询请求;云服务平台根据接收到的查询请求从文档安全索引表中查询匹配结果返回给查询方用户;查询方用户根据查询匹配结果生成二次查询请求;秘钥节点对接收的二次查询请求进行解密并对解密秘钥进行加密,将加密后的解密秘钥传输到智能合约;区块链的智能合约根据文档ID从区块链中获取相应的加密文档,将加密文档和加密后的解密秘钥传输到查询方用户;查询方用户对加密文档进行解密,获取解密文档。本发明专利技术有助于提高隐私数据管理和传输的安全性和可靠性。输的安全性和可靠性。输的安全性和可靠性。

【技术实现步骤摘要】
一种基于区块链和同态加密的数据管理方法和系统


[0001]本专利技术涉及隐私数据管理
,特别是一种基于区块链和同态加密的数据管理方法和系统。

技术介绍

[0002]目前,当文档数据使用者(查询方用户)需要从数据持有方获取需要隐私保护的文档数据时,通常是通过云服务器平台发起文档数据的获取请求或查询请求,由云服务平台根据接收到的获取请求或者查询请求从数据持有方中获取相应的文档数据,其中数据持有方在发出数据时,会采用数据使用者对应的私钥对文档数据进行加密再通过云服务平台传输给文档数据使用者。
[0003]但是,上述方式存在如下技术问题:
[0004]1)数据持有方需要为每个用户所需的文档数据进行单独的加密,数据处理量巨大。
[0005]2)在上述数据获取方式中,容易因为云服务平台被攻击从而伪造数据使用者的查询请求,从而造成隐私数据泄露的风向,影响了隐私数据的安全性。

技术实现思路

[0006]针对上述问题,本专利技术旨在提供一种基于区块链和同态加密的数据管理方法和系统。
[0007]本专利技术的目的采用以下技术方案来实现:
[0008]第一方面,本专利技术提出一种基于区块链和同态加密的数据管理方法,包括:
[0009]数据持有方根据自身拥有的文档数据进行加密,并生成文档安全索引表,将文档安全索引表传输到云服务平台;并将加密后的文档传输到区块链进行存储;其中文档安全索引表包含加密文档列表和对应的加密文档标识,其中加密文档标识包含有文档ID和秘钥节点信息;<br/>[0010]查询方用户向云服务平台发出一次查询请求,其中查询请求中包含有关键字;
[0011]云服务平台根据接收到的查询请求从文档安全索引表中查询匹配结果,将匹配结果返回给查询方用户;其中匹配结果包括匹配加密文档列表和对应的匹配加密文档的标识,其中匹配加密文档的标识包含有文档ID和秘钥节点信息;
[0012]查询方用户根据查询匹配结果生成二次查询请求,其中二次查询请求包含文档ID和查询方用户对应的私钥;并采用与秘钥节点对应的公钥对二次查询请求进行加密,得到加密后的二次查询请求,并将加密后的二次查询请求发送到区块链的智能合约;
[0013]区块链的智能合约将接收到的加密后的二次查询请求提交至相应的秘钥节点;
[0014]秘钥节点采用自身的私钥对接收的二次查询请求进行解密,得到文档ID,并根据得到的文档ID获取相应的解密秘钥,并采用查询方用户对应的私钥对解密秘钥进行加密,将加密后的解密秘钥传输到智能合约;
[0015]区块链的智能合约根据文档ID从区块链中获取相应的加密文档,将加密文档和加密后的解密秘钥传输到查询方用户;
[0016]查询方用户通过自身的公钥对加密后的解密秘钥进行解密获取解密秘钥,并采用解密秘钥对加密文档进行解密,获取解密文档。
[0017]一种实施方式中,该方法还包括:数据持有方为自身拥有的文档从区块链中分配设置两个秘钥节点,并建立文档标识对应秘钥节点的节点索引表,将节点索引表分别传输给相应的秘钥节点。
[0018]一种实施方式中,该方法还包括:数据持有方根据加密文档相应的解密秘钥生成两个子秘钥,其中两个自秘钥相加得到解密秘钥;
[0019]数据持有方将两个子秘钥分别发送给两个秘钥节点。
[0020]一种实施方式中,查询方用户根据查询匹配结果生成二次查询请求,具体包括:
[0021]查询方用户随机生成一对公钥和私钥;
[0022]查询方用户采用第一秘钥节点对应的公钥对二次查询请求进行加密,其中二次查询请求包含文档ID和查询方用户的私钥,并将加密后的二次查询请求发送到区块链的智能合约;
[0023]区块链的智能合约将接收到的加密后的二次查询请求提交至相应的第一秘钥节点;
[0024]第一秘钥节点采用自身的私钥对对接收的二次查询请求进行解密,得到文档ID和查询方用户的私钥;
[0025]第一秘钥节点随机生成一对子钥串,其中子钥串的长度与子秘钥的长度相同;
[0026]第一秘钥节点根据文档ID查询相应的第一子秘钥,采用第一子钥串对第一子秘钥进行同态加密,得到第一秘钥密文,并采用查询方用户对应的私钥对第一子钥串和第二子钥串进行同态加密,得到子钥串密文;
[0027]第一秘钥节点将文档ID、第二子钥串和子钥串密文组成第一许可信息,并采用第二秘钥节点的公钥对第一许可信息进行加密,将加密后的第一许可信息发送到区块链的智能合约;
[0028]区块链的智能合约将加密后的第一许可信息发送到第二秘钥节点;
[0029]第二秘钥节点根据接收到加密后的第一许可信息采用自身的秘钥进行解密并提取文档ID和第二子钥串,并根据文档ID查询相应的第二子秘钥,采用第二子钥串对第二子秘钥进行同态加密,得到第二秘钥密文;
[0030]第二秘钥节点将第一秘钥密文、第二秘钥密文、子钥串密文和文档ID生成许可密文,并将许可密文传输到智能合约;
[0031]区块链的智能合约将根据许可密文从区块链中调取相应的加密文档,将加密文档和许可密文打包传输到查询方用户。
[0032]一种实施方式中,该方法还包括:
[0033]查询方用户通过自身的公钥对许可密文中的子钥串密文进行解密,得到解密后第一子钥串和第二子钥串,并基于加法同态性对第一秘钥密文、第二秘钥密文、第一子钥串和第二子钥串进行解密,得到第一子秘钥和第二子秘钥之和,并解出解密密钥;采用解密秘钥对加密文件进行解密,得到解密文档。
[0034]一种实施方式中,查询方用户向云服务平台发出一次查询请求,包括:
[0035]一次查询请求还包括查询方用户的身份验证信息;
[0036]该方法还包括:
[0037]云服务平台根据接收到的身份验证信息对查询方用户进行身份验证,验证通过后,根据接收到的查询请求从文档安全索引表中查询匹配结果,将匹配结果返回给查询方用户。
[0038]第二方面,本专利技术提出一种基于区块链和同态加密的数据管理系统,包括数据持有方、区块链、云服务平台、查询方用户和秘钥节点;其中,
[0039]数据持有方用于根据自身拥有的文档数据进行加密,并生成文档安全索引表,将文档安全索引表传输到云服务平台;并将加密后的文档传输到区块链进行存储;其中文档安全索引表包含加密文档列表和对应的加密文档标识,其中加密文档标识包含有文档ID和秘钥节点信息;
[0040]查询方用户用于向云服务平台发出一次查询请求,其中查询请求中包含有关键字;
[0041]云服务平台用于根据接收到的查询请求从文档安全索引表中查询匹配结果,将匹配结果返回给查询方用户;其中匹配结果包括匹配加密文档列表和对应的匹配加密文档的标识,其中匹配加密文档的标识包含有文档ID和秘钥节点信息;
[0042]查询方用户还用于根据查询匹配结果生成二次查询请求,其中二次查询请求包含文档ID和查询方用户对应的私钥;并采用与秘钥节点对应的公钥对二次查本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链和同态加密的数据管理方法,其特征在于,包括:数据持有方根据自身拥有的文档数据进行加密,并生成文档安全索引表,将文档安全索引表传输到云服务平台;并将加密后的文档传输到区块链进行存储;其中文档安全索引表包含加密文档列表和对应的加密文档标识,其中加密文档标识包含有文档ID和秘钥节点信息;查询方用户向云服务平台发出一次查询请求,其中查询请求中包含有关键字;云服务平台根据接收到的查询请求从文档安全索引表中查询匹配结果,将匹配结果返回给查询方用户;其中匹配结果包括匹配加密文档列表和对应的匹配加密文档的标识,其中匹配加密文档的标识包含有文档ID和秘钥节点信息;查询方用户根据查询匹配结果生成二次查询请求,其中二次查询请求包含文档ID和查询方用户对应的私钥;并采用与秘钥节点对应的公钥对二次查询请求进行加密,得到加密后的二次查询请求,并将加密后的二次查询请求发送到区块链的智能合约;区块链的智能合约将接收到的加密后的二次查询请求提交至相应的秘钥节点;秘钥节点采用自身的私钥对接收的二次查询请求进行解密,得到文档ID,并根据得到的文档ID获取相应的解密秘钥,并采用查询方用户对应的私钥对解密秘钥进行加密,将加密后的解密秘钥传输到智能合约;区块链的智能合约根据文档ID从区块链中获取相应的加密文档,将加密文档和加密后的解密秘钥传输到查询方用户;查询方用户通过自身的公钥对加密后的解密秘钥进行解密获取解密秘钥,并采用解密秘钥对加密文档进行解密,获取解密文档。2.根据权利要求1所述的一种基于区块链和同态加密的数据管理方法,其特征在于,该方法还包括:数据持有方为自身拥有的文档从区块链中分配设置两个秘钥节点,并建立文档标识对应秘钥节点的节点索引表,将节点索引表分别传输给相应的秘钥节点。3.根据权利要求2所述的一种基于区块链和同态加密的数据管理方法,其特征在于,该方法还包括:数据持有方根据加密文档相应的解密秘钥生成两个子秘钥,其中两个自秘钥相加得到解密秘钥;数据持有方将两个子秘钥分别发送给两个秘钥节点。4.根据权利要求3所述的一种基于区块链和同态加密的数据管理方法,其特征在于,查询方用户根据查询匹配结果生成二次查询请求,具体包括:查询方用户随机生成一对公钥和私钥;查询方用户采用第一秘钥节点对应的公钥对二次查询请求进行加密,其中二次查询请求包含文档ID和查询方用户的私钥,并将加密后的二次查询请求发送到区块链的智能合约;区块链的智能合约将接收到的加密后的二次查询请求提交至相应的第一秘钥节点;第一秘钥节点采用自身的私钥对对接收的二次查询请求进行解密,得到文档ID和查询方用户的私钥;第一秘钥节点随机生成一对子钥串,其中子钥串的长度与子秘钥的长度相同;第一秘钥节点根据文档ID查询相应的第一子秘钥,采用第一子钥串对第一子秘钥进行同态加密,得到第一秘钥密文,并采用查询方用户对应的私钥对第一子钥串和第二子钥串
进行同态加密,得到子钥串密文;第一秘钥节点将文档ID、第二子钥串和子钥串密文组成第一许可信息,并采用第二秘钥节点的公钥对第一许可信息进行加密,...

【专利技术属性】
技术研发人员:陈岸青李金湖王斌康毅滨林建雄肖郑海陈艺燕潘鑫宇赖鸿波
申请(专利权)人:国网信通亿力科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1