一种用于区块链数据保护的同态加密方法技术

技术编号:29133616 阅读:20 留言:0更新日期:2021-07-02 22:29
本发明专利技术提供了一种用于区块链数据保护的同态加密方法,将数据分为可见数据及不可见数据,并根据可见数据及不可见数据生成可见关键字字典及不可见关键字字典;为用户端均配置一对同态密钥,包括同态公钥及同态私钥,其中私钥由用户自己保管,公钥全网公开;通过同态密钥对不可见数据和不可见关键字字典进行同态加密,将不可见数据和可见数据上传至云服务器,将可见关键字字典和不可见关键字字典上传至区块链;将需要检索的关键词发送至第三方管理机构,并验证用户身份信息,通过后进行检索,将检索结果返回给用户端。本发明专利技术提供的用于区块链数据保护的同态加密方法,通过结合同态加密与区块链技术,保证了用户数据的安全性,提高了数据查找的效率。

【技术实现步骤摘要】
一种用于区块链数据保护的同态加密方法
本专利技术涉及区块链通信
,特别是涉及一种用于区块链数据保护的同态加密方法。
技术介绍
区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,用于存储区块链网络上所有用户的余额,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。传统区块链上,用户上传的个人数据没有经过加密直接存储在区块上,导致用户的一些隐私数据完全暴露在所有节点上,当用户想要使用数据时,也无法通过关键字查询自己想要的数据。因此,设计一种用于区块链数据保护的可搜索加密数据的同态加密方法是十分有必要的。
技术实现思路
本专利技术的目的是提供一种用于区块链数据保护的同态加密方法,通过结合同态加密与区块链技术,保证了用户数据的安全性,可以通过关键字对加密数据或者未加密数据进行搜索,提高了数据查找的效率。为实现上述目的,本专利技术提供了如下方案:一种用于区块链数据保护的同态加密方法,包括如下步骤:步骤1:通过用户端对数据进行处理,将数据分为可见数据及不可见数据,根据可见数据生成可见关键字字典,根据不可见数据生成不可见关键字字典;步骤2:通过可信任的第三方管理机构为每个用户端均配置一对同态密钥,包括同态公钥及同态私钥,其中同态公钥全网公开,用于加密不可见数据,同态私钥由用户自己保管,用于解密加密过的数据;步骤3:通过用户端利用同态公钥对不可见数据和不可见关键字字典进行同态加密,将可见数据和加密后的不可见数据上传至云服务器,将可见关键字字典和加密后的不可见关键字字典上传至区块链;步骤4:通过用户端将需要检索的关键词发送至第三方管理机构,第三方管理机构对用户身份信息验证,验证通过后进行检索,并将检索结果返回给用户端;若检索的关键词为不可见数据的关键词,则需要在发送至第三方管理机构前利用同态公钥对关键词进行加密,在得到检索结果后,通过用户端利用同态私钥对检索结果进行解密。可选的,步骤1中,通过用户端对数据进行处理,包括数据清洗、数据去重及文件编号。可选的,步骤1中,根据可见数据生成可见关键字字典,具体为:从可见数据中提取可见数据关键字集合,并建立原始可见关键字字典,进而建立相应的可见关键字词干字典和可见关键字同义词字典,并为所述原始可见关键字字典中的关键字建立用于字形模糊匹配的单词向量,将各个字典合并建立可见关键字字典。可选的,步骤1中,根据不可见数据生成不可见关键字字典,具体为:从不可见数据中提取不可见数据关键字集合,并建立原始不可见关键字字典,进而建立相应的不可见关键字词干字典和不可见关键字同义词字典,并为所述原始不可见关键字字典中的关键字建立用于字形模糊匹配的单词向量,将各个字典合并建立不可见关键字字典。可选的,步骤2中,通过可信任的第三方管理机构为每个用户端均配置一对同态密钥,具体为:当有用户端加入区块链时,第三方管理机构通过同态加密算法为用户端配置一对同态密钥,并给该用户端配置一个身份标识,所述同态密钥包括同态公钥及同态私钥,其中同态公钥全网公开,同态私钥由用户自己保存,用户利用同态公钥对需要加密的数据进行加密,利用同态私钥对密文进行解密。可选的,步骤3中,通过用户端利用同态公钥对不可见数据和不可见关键字字典进行同态加密,将可见数据和加密后的不可见数据上传至云服务器,将可见关键字字典和加密后的不可见关键字字典上传至区块链,具体为:用户端利用同态公钥对不可见数据和不可见关键字字典进行同态加密,加密完成后,用户端利用同态私钥对可见数据、不可见数据、可见关键字字典及不可见关键字字典进行签名,签名完成后,将可见数据及不可见数据上传至云服务器端,将可见关键字字典及不可见关键字字典上传至区块链。可选的,步骤4中,第三方管理机构对用户身份信息验证,具体为:通过用户端将第三方管理机构配置的身份标识上传到云服务器,构建身份标识库,当第三方管理机构收到用户端的检索请求时,第三方管理机构采集该用户端的身份标识,并判断身份标识库中是否存在该用户端的身份标识,若存在,则执行后续的检索。可选的,步骤4中,通过用户端将需要检索的关键词发送至第三方管理机构,第三方管理机构对用户身份信息验证,验证通过后进行检索,并将检索结果返回给用户端,具体为:确认需要检索的数据是否为不可见数据,若为可见数据,则通过用户端根据关键字生成陷门函数,并将陷门函数发送至第三方管理机构,第三方管理机构验证用户身份信息,验证通过后进行检索,并将检索结果返回给用户端;若为不可见数据,则通过用户端利用同态公钥将关键字进行加密,并生成陷门函数,将陷门函数发送至第三方管理机构,第三方管理机构验证用户身份信息,验证通过后进行检索,并将检索结果返回给用户端,用户端接收到后,利用同态私钥进行解密,得到需要的不可见数据。根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供的用于区块链数据保护的同态加密方法,结合同态加密、区块链技术和可搜索加密技术,为具有敏感数据的业务在基于区块链的应用场景提供了技术支持;将数据分为可见数据及不可见数据,并根据可见数据生成可见关键字字典,根据不可见数据生成不可见关键字字典,便于加密不可见数据;为每个用户端均配置一对同态密钥,其中同态私钥由用户自己保管,同态公钥全网公开,保证了不可见数据的安全性;通过同态公钥对不可见数据和不可见关键字字典进行同态加密,并上传至云服务器,在没有同态私钥的情况下,任何人无法解密不可见数据和应用不可见关键字字典,保证了数据的安全性;在需要查找数据时,用户端将需要检索的关键词发送至第三方管理机构,第三方管理机构验证用户身份信息,当用户身份信息验证通过时,才能进行下一步的检索,这进一步保证了数据的安全,当关键词为不可见数据的关键词时,用户端需要通过同态公钥对关键词进行加密,通过加密后的关键词进行不可见数据的检索,防止出现不可见数据的泄露,当检索完毕后,第三方管理机构将检索结果返回给用户端,用户端通过同态私钥对检索结果进行解密,整个过程中,能查看不可见数据的只有用户自己,最大限度的保证了用户的隐私安全。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例用于区块链数据保护的同态加密方法流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本发本文档来自技高网...

【技术保护点】
1.一种用于区块链数据保护的同态加密方法,其特征在于,包括如下步骤:/n步骤1:通过用户端对数据进行处理,将数据分为可见数据及不可见数据,根据可见数据生成可见关键字字典,根据不可见数据生成不可见关键字字典;/n步骤2:通过可信任的第三方管理机构为每个用户端均配置一对同态密钥,包括同态公钥及同态私钥,其中同态公钥全网公开,用于加密不可见数据,同态私钥由用户自己保管,用于解密加密过的数据;/n步骤3:通过用户端利用同态公钥对不可见数据和不可见关键字字典进行同态加密,将可见数据和加密后的不可见数据上传至云服务器,将可见关键字字典和加密后的不可见关键字字典上传至区块链;/n步骤4:通过用户端将需要检索的关键词发送至第三方管理机构,第三方管理机构对用户身份信息验证,验证通过后进行检索,并将检索结果返回给用户端;若检索的关键词为不可见数据的关键词,则需要在发送至第三方管理机构前利用同态公钥对关键词进行加密,在得到检索结果后,通过用户端利用同态私钥对检索结果进行解密。/n

【技术特征摘要】
1.一种用于区块链数据保护的同态加密方法,其特征在于,包括如下步骤:
步骤1:通过用户端对数据进行处理,将数据分为可见数据及不可见数据,根据可见数据生成可见关键字字典,根据不可见数据生成不可见关键字字典;
步骤2:通过可信任的第三方管理机构为每个用户端均配置一对同态密钥,包括同态公钥及同态私钥,其中同态公钥全网公开,用于加密不可见数据,同态私钥由用户自己保管,用于解密加密过的数据;
步骤3:通过用户端利用同态公钥对不可见数据和不可见关键字字典进行同态加密,将可见数据和加密后的不可见数据上传至云服务器,将可见关键字字典和加密后的不可见关键字字典上传至区块链;
步骤4:通过用户端将需要检索的关键词发送至第三方管理机构,第三方管理机构对用户身份信息验证,验证通过后进行检索,并将检索结果返回给用户端;若检索的关键词为不可见数据的关键词,则需要在发送至第三方管理机构前利用同态公钥对关键词进行加密,在得到检索结果后,通过用户端利用同态私钥对检索结果进行解密。


2.根据权利要求1所述的用于区块链数据保护的同态加密方法,其特征在于,步骤1中,通过用户端对数据进行处理,包括数据清洗、数据去重及文件编号。


3.根据权利要求1所述的用于区块链数据保护的同态加密方法,其特征在于,步骤1中,根据可见数据生成可见关键字字典,具体为:
从可见数据中提取可见数据关键字集合,并建立原始可见关键字字典,进而建立相应的可见关键字词干字典和可见关键字同义词字典,并为所述原始可见关键字字典中的关键字建立用于字形模糊匹配的单词向量,将各个字典合并建立可见关键字字典。


4.根据权利要求3所述的用于区块链数据保护的同态加密方法,其特征在于,步骤1中,根据不可见数据生成不可见关键字字典,具体为:
从不可见数据中提取不可见数据关键字集合,并建立原始不可见关键字字典,进而建立相应的不可见关键字词干字典和不可见关键字同义词字典,并为所述原始不可见关键字字典中的关键字建立用于字形模糊匹配的单词向量,将各个字典合并建立不可见关键字字典。


5.根据权利要求1所述的用于区块链数据保护的同态加密方法,其特征在于,步骤2中,通过可信任的第三方...

【专利技术属性】
技术研发人员:王保春张蛟鹏余洋莫恒
申请(专利权)人:浙江永旗区块链科技有限公司
类型:发明
国别省市:浙江;33

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

1