一种基于区块链的数据加密方法、解密方法及系统技术方案

技术编号:23984240 阅读:55 留言:0更新日期:2020-04-29 12:45
本发明专利技术公开了一种基于区块链的数据加密方法、解密方法及系统,所述加密方法包括:接收数据上链请求,获取待上链数据,所述待上链数据由多个数据项组成,每个数据项均包括一对标识数据和内容数据;对于待上链数据中的每个数据项,分别对标识数据和内容数据进行非可逆加密和可逆加密,得到待上链数据的密文,上链存储。本发明专利技术针对每个数据项的加密密钥均不相同,提供了数据的安全性。

A data encryption method, decryption method and system based on blockchain

【技术实现步骤摘要】
一种基于区块链的数据加密方法、解密方法及系统
本专利技术属于区块链
,尤其涉及一种基于区块链的数据加密方法、解密方法及系统。
技术介绍
本部分的陈述仅仅是提供了与本公开相关的
技术介绍
信息,不必然构成在先技术。基于区块链技术进行数据的存储,利用区块链去中心化、防篡改的特点保障数据的安全性,已经在很多行业开始使用。据专利技术人了解,目前在区块链数据上链存储方面,至少存在以下问题:依托于区块链本身的机制,区块链上的数据是以附加在交易中,并且以16进制进行数据存储的。加入区块链的节点,都可以访问到上链的数据,并且很容易将16进制数据转为普通文本,造成数据泄露。为了保护数据安全,防止数据泄露,目前的数据加密方法通常是使用固定密钥进行一次加密,并且采用可逆加密算法,如果密钥被破解或者泄露后,存在数据全部泄露的风险。目前在区块链中只是进行数据存储,没有有效的机制进行数据检索,而对于加密后的数据,加密保存会妨碍快速对齐数据,更难以采用传统的方式进行检索。目前业务数据在数据库等其他介质中的存储一般都是直接存储,但是在区块链这种需要依赖广播机制进行数据同步时,原始数据的存储占用空间较大,会对效率影响较大。
技术实现思路
为克服上述现有技术的不足,本专利技术提供了一种基于区块链的数据加密方法、解密方法及系统,通过针对每个数据项分别进行加密,提供了破解难度,保证了数据的安全。为实现上述目的,本专利技术的一个或多个实施例提供了如下技术方案:一种基于区块链的数据加密方法,包括以下步骤:接收数据上链请求,获取待上链数据,所述待上链数据由多个数据项组成,每个数据项均包括一对标识数据和内容数据;对于待上链数据中的每个数据项,分别对标识数据和内容数据进行非可逆加密和可逆加密,得到待上链数据的密文,上链存储。进一步地,得到待上链数据的密文后,还对密文进行压缩,得到压缩密文。进一步地,得到压缩密文后,还对压缩密文进行可逆加密,将加密后的压缩密文上链存储。进一步地,对于待上链数据中的每个数据项,加密方法具体包括:对标识数据进行非可逆加密,得到标识数据密文;以标识数据密文追加固定密钥作为加密密钥,对内容数据进行可逆加密。一个或多个实施例提供了一种应用所述数据加密方法的数据解密方法,包括以下步骤:接收数据访问请求,所述访问请求中包括待查询数据项中的标识数据;响应所述数据访问请求,获取相应的链上数据密文;同时对该标识数据进行非可逆加密,得到相应的标识数据密文;基于该标识数据密文,从链上数据密文中获取其所在数据项的内容数据密文;对内容数据密文进行解密,得到待查询的数据内容。进一步地,若链上数据密文经加密和/或压缩处理,还相应的进行解密和/或解压处理。进一步地,对内容数据密文进行解密包括:以标识数据密文追加固定密钥作为解密密钥,对内容数据进行解密。一个或多个实施例提供了一种基于区块链的数据加密系统,包括:数据获取模块,接收数据上链请求,获取待上链数据,所述待上链数据由多个数据项组成,每个数据项均包括一对标识数据和内容数据;数据加密模块,对于待上链数据中的每个数据项,分别对标识数据和内容数据进行非可逆加密和可逆加密,得到待上链数据的密文,上链存储。一个或多个实施例提供了一种基于区块链的数据解密系统,所述区块链上的数据基于所述的加密方法进行加密,所述系统包括:待查询数据获取模块,接收数据访问请求,所述访问请求中包括待查询数据项中的标识数据;数据解密模块,响应所述数据访问请求,获取相应的链上数据密文,同时对该标识数据进行非可逆加密,得到相应的标识数据密文;基于该标识数据密文,从链上数据密文中获取其所在数据项的内容数据密文;对内容数据密文进行解密,得到待查询的数据内容。一个或多个实施例提供了一种服务器,执行所述数据加密方法,和/或所述数据解密方法。以上一个或多个技术方案存在以下有益效果:本专利技术将一条健康数据以一个JSON串的形式存储,每个数据项均包括key值和value值,对于每个数据项的key值和value值分别进行不可逆加密和可逆加密,并且,每个数据项中,均以key值的密文作为value值的加密密钥,保证了每个数据项的密钥均不相同,并且,由于key值的加密采用不可逆加密,即使在数据上链存储的过程中发送数据泄露,也能有效保证数据的安全,其他人员无法识别泄露的数据,保护了居民的隐私。本专利技术在进行数据加密的基础上,还进行了数据压缩,解决了数据在区块链或其他存储介质的存储效率低和传播效率慢的问题,降低了数据对磁盘和带宽的占用率。本专利技术在数据上链之前,还进行了数据的二次加密,进一步提高数据安全性。通过本专利技术所述加密方法加密上链的数据,依然能够采用传统的检索方法进行检索,用户给出某一数据项的key值,即可查询到该数据项相应的value值,并且,数据访问时,链上数据需统一转换成业务系统数据,数据的解密在转换过程中进行,不影响业务流程中数据读取的效率。本专利技术提供了完整的数据加密和解密机制,在保证数据存储安全和传输安全的情况下,将数据进行加密存储,由于是加密数据,是无意义不可识别的,解密过程能够将密文转化为明文,让数据变成可识别有意见的业务数据,能够有效支撑业务流程的进行,保证数据的可用性。附图说明构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。图1为本专利技术实施例中基于区块链的数据加密方法流程图;图2为本专利技术实施例中基于区块链的数据解密方法流程图;图3为本专利技术实施例中各数据项加密的流程图;图4为本专利技术实施例中基于访问请求的数据项解密的流程图。具体实施方式应该指出,以下详细说明都是示例性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。实施例一本实施例公开了一种基于区块链的数据加密方法,应用于医疗健康平台中的医疗数据上链过程中,区域健康平台分层次进行建设,包括省级平台、地市级平台、区县级平台,平台通过制定数据标准逐级进行数据上传汇集,最终存储至区块链。所述方法包括以下步骤:步骤1:接收数据上链请求,获取待上链数据,所述待上链数据由多个数据项组成,每个数据项均包括一对标识数据和内容数据;所本文档来自技高网
...

【技术保护点】
1.一种基于区块链的数据加密方法,其特征在于,包括以下步骤:/n接收数据上链请求,获取待上链数据,所述待上链数据由多个数据项组成,每个数据项均包括一对标识数据和内容数据;/n对于待上链数据中的每个数据项,分别对标识数据和内容数据进行非可逆加密和可逆加密,得到待上链数据的密文,上链存储。/n

【技术特征摘要】
1.一种基于区块链的数据加密方法,其特征在于,包括以下步骤:
接收数据上链请求,获取待上链数据,所述待上链数据由多个数据项组成,每个数据项均包括一对标识数据和内容数据;
对于待上链数据中的每个数据项,分别对标识数据和内容数据进行非可逆加密和可逆加密,得到待上链数据的密文,上链存储。


2.如权利要求1所述的一种基于区块链的数据加密方法,其特征在于,得到待上链数据的密文后,还对密文进行压缩,得到压缩密文。


3.如权利要求2所述的一种基于区块链的数据加密方法,其特征在于,得到压缩密文后,还对压缩密文进行可逆加密,将加密后的压缩密文上链存储。


4.如权利要求1所述的一种基于区块链的数据加密方法,其特征在于,对于待上链数据中的每个数据项,加密方法具体包括:
对标识数据进行非可逆加密,得到标识数据密文;
以标识数据密文追加固定密钥作为加密密钥,对内容数据进行可逆加密。


5.一种应用如权利要求1-4任一项所述数据加密方法的数据解密方法,其特征在于,包括以下步骤:
接收数据访问请求,所述访问请求中包括待查询数据项中的标识数据;
响应所述数据访问请求,获取相应的链上数据密文;同时对该标识数据进行非可逆加密,得到相应的标识数据密文;
基于该标识数据密文,从链上数据密文中获取其所在数据项的内容数据密文;
对内容数据密文进行解密,得到待查询的数据...

【专利技术属性】
技术研发人员:赵华桥吴军高希余唐徐兴
申请(专利权)人:山东众阳健康科技集团有限公司
类型:发明
国别省市:山东;37

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

1