区块链数据库加密和解密方法、装置、设备及其存储介质制造方法及图纸

技术编号:21205185 阅读:56 留言:0更新日期:2019-05-25 02:50
本申请公开了区块链数据库加密和解密方法、装置、设备及其存储介质。该方法包括:获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,非对称秘钥对包括第一公钥与第一私钥;根据应用高级加密标准AES算法,利用对称秘钥对与操作记录相关的目标数据进行加密,得到目标数据密文;根据椭圆曲线密钥交换协议ECDH算法,分别基于每个用户公钥、第一私钥对对称秘钥进行加密,得到与每个用户公钥一一对应的加密数据;建立加密数据和与之对应的用户公钥之间的关联关系,得到关联数据;串行化处理目标数据密文、第一公钥、关联数据,得到串行化数据;将串行化数据发送至区块链节点。本申请实施例有效地解决了区块链数据库的操作透明化存在的问题。

Block chain database encryption and decryption methods, devices, devices and storage media

This application discloses block chain database encryption and decryption methods, devices, devices and storage media. The method includes: obtaining symmetric key, asymmetric key pair and at least one authorized user public key, and asymmetric key pair includes the first public key and the first private key; encrypting the target data related to the operation record by using symmetric key according to the advanced encryption standard AES algorithm; and obtaining the target data ciphertext according to the elliptic curve key exchange protocol ECDH algorithm, respectively. The symmetric secret key is encrypted based on each user's public key and the first private key, and the encrypted data corresponding to each user's public key is obtained one by one; the relationship between the encrypted data and the corresponding user's public key is established, and the associated data is obtained; the target data is processed serially, the first public key and the associated data are obtained, and the serialized data is sent to the block chain section. Point. The application embodiment effectively solves the problem of operation transparency of block chain database.

【技术实现步骤摘要】
区块链数据库加密和解密方法、装置、设备及其存储介质
本申请一般涉及信息安全
,尤其涉及区块链数据库加密和解密方法、装置、设备及其存储介质。
技术介绍
数据库是按照一定数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。区块链从本质上而言,也是一个数据库,是一个去中心化的数据库。在区块链与传统数据库相结合的场景中,对数据的操作都记录在区块链系统中,数据库中会展示数据的最新状态。但是,由于区块链是一个开放的系统,作何人都能看到对数据库表的操作,然后,把这些操作在本地进行数据库表操作的重放,可以得到数据库表中的真实数据。实际应用中,在使用数据库的时候,用户有一些敏感数据是不希望所有人都能看到,而只是想授权给其中一部分人去读取这些敏感数据,这时候就需要有一定的方法使得数据被保护起来,并且只能让指定的用户可以读取。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种区块链数据库加密和解密方法、装置、设备及其存储介质,对数据库表的部分操作进行加密处理,从而对数据库表的操作进行保护。第一方面,本申请实施例提供了一种用于区块链数据库加密方法,该方法包括:区块链数据库的操作记录被记录到区块链节点之前,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,其中,非对称秘钥对包括第一公钥与第一私钥;根据应用高级加密标准AES算法,利用对称秘钥对与操作记录相关的目标数据进行加密,得到目标数据密文;根据椭圆曲线密钥交换协议ECDH算法,分别基于每个用户公钥、所述第一私钥对对称秘钥进行加密,得到与每个用户公钥一一对应的加密数据;建立加密数据和与之对应的用户公钥之间的关联关系,得到关联数据;串行化处理目标数据密文、第一公钥、关联数据,得到串行化数据;将串行化数据发送至区块链节点。第二方面,本申请实施例提供了一种用于区块链数据库解密方法,该方法包括:从区块链数据库中读取串行化数据,该串行化数据是至少一个客户端对目标数据密文、非对称秘钥对中的第一公钥、关联数据进行串行化处理得到的,目标数据密文是根据应用高级加密标准AES算法,利用对称秘钥对与操作记录相关的目标数据进行加密得到的,关联数据是通过建立加密数据和与之对应的用户公钥之间的关联关系得到的,加密数据是根据椭圆曲线密钥交换协议ECDH算法,分别基于每个用户公钥、第一私钥对对称秘钥进行加密得到的,非对称秘钥对包括第一私钥和第一公钥;将串行化数据进行反串行化处理,得到目标数据密文、用户公钥、关联数据;判断客户端提供的用户私钥是否与关联数据中的用户公钥匹配;如果匹配,则根据用户私钥和第一公钥对关联数据中的加密数据进行解密,得到对称密钥;利用对称密钥对目标数据密文进行解密得到目标数据。第三方面,本申请实施例提供了一种用于区块链数据库加密装置,该装置包括:秘钥获取单元,用于区块链数据库的操作记录被记录到区块链节点之前,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,其中,非对称秘钥对包括第一公钥与第一私钥;目标数据加密单元,用于根据应用高级加密标准AES算法,利用对称秘钥对与操作记录相关的目标数据进行加密,得到目标数据密文;秘钥加密单元,用于根据椭圆曲线密钥交换协议ECDH算法,分别基于每个用户公钥、第一私钥对对称秘钥进行加密,得到与每个用户公钥一一对应的加密数据;关联关系建立单元,用于建立加密数据和与之对应的用户公钥之间的关联关系,得到关联数据;串行化处理单元,用于对目标数据密文、第一公钥、关联数据进行串行化处理,得到串行化数据;发送单元,将串行化数据发送至区块链节点。第四方面,本申请实施例提供了一种应用于区块链数据库解密装置,该装置包括:数据读取单元,用于从区块链数据库中读取串行化数据,其中,串行化数据是至少一个客户端对目标数据密文、非对称秘钥对的第一公钥、关联数据进行串行化处理得到的,目标数据密文是根据应用高级加密标准AES算法,利用对称秘钥对与操作记录相关的目标数据进行加密得到的,关联数据是通过建立加密数据和与之对应的用户公钥之间的关联关系得到的,加密数据是根据椭圆曲线密钥交换协议ECDH算法,分别基于每个用户公钥、第一私钥对对称秘钥进行加密得到的,非对称秘钥对包括第一私钥和第一公钥;反串行化处理单元,用于将串行化数据进行反串行化处理,得到目标数据密文、用户公钥、关联数据;判断单元,用于判断客户端提供的用户私钥是否与关联数据中的用户公钥匹配;第一解密单元,用于如果匹配,则根据用户私钥和第一公钥对关联数据中的加密数据进行解密,得到对称密钥;第二解密单元,用于利用对称密钥对目标数据密文进行解密得到目标数据。第五方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如本申请实施例描述的方法。第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于:该计算机程序被处理器执行时实现如本申请实施例描述的方法。本申请实施例,在区块链数据库的操作记录被记录到区块链节点之前,利用获取的对称密钥对与操作记录相关的内容(敏感数据)进行加密处理,然后,利用非对称秘钥对中的第一私钥和用户公钥对该对称秘钥进行处理,使得只有被授权的用户可以对敏感数据进行读取操作,以解决在区块链数据库中对数据库表的操作透明化存在的问题。进一步增强了敏感数据的安全性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出了本申请实施例提供的用于区块链数据库加密的方法的流程示意图;图2示出了本申请实施例提供的用于区块链数据库解密的方法的流程示意图;图3示出了根据本申请一个实施例的用于区块链数据库加密装置300的示例性结构框图;图4示出了根据本申请一个实施例的用于区块链数据库解密装置400的示例性结构框图;图5示出了适于用来实现本申请实施例的终端设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。请参考图1,图1示出了本申请实施例提供的用于区块链数据库加密的方法的流程示意图。该方法可以在客户端侧执行。如图1所示,该方法包括:步骤110,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥。传统的SQL数据库以表作为存储数据的基本单位,例如以JSON、Key-values及表等形式作为基本单位。在区块链数据库中,数据是以资产作为存储和管理的基本单位。本申请实施例,基于区块链数据库的应用场景中,由于区块链的开放性,导致任何人都可以看到对数据库表的操作,并且可以根据这些操作在本地重放数据库表的操作,得到数据库表的真实数据。但是,在实际应用中,有些用户的敏感数据是不希望被所有用户可见,而仅限制,或授权部分用户可以读取这些敏感数据。本申请实施例,提出一种在区块链数据库的操作记录被记录到区块链节点之前,应用加密技术对这些敏感数据进行加密处本文档来自技高网...

【技术保护点】
1.一种用于区块链数据库加密方法,其特征在于,该方法包括:区块链数据库的操作记录被记录到区块链节点之前,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,其中,所述非对称秘钥对包括第一公钥与第一私钥;根据应用高级加密标准AES算法,利用所述对称秘钥对与所述操作记录相关的目标数据进行加密,得到目标数据密文;根据椭圆曲线密钥交换协议ECDH算法,分别基于每个所述用户公钥、所述第一私钥对所述对称秘钥进行加密,得到与每个所述用户公钥一一对应的加密数据;建立所述加密数据和与之对应的所述用户公钥之间的关联关系,得到关联数据;串行化处理所述目标数据密文、所述第一公钥、所述关联数据,得到串行化数据;将所述串行化数据发送至区块链节点。

【技术特征摘要】
1.一种用于区块链数据库加密方法,其特征在于,该方法包括:区块链数据库的操作记录被记录到区块链节点之前,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,其中,所述非对称秘钥对包括第一公钥与第一私钥;根据应用高级加密标准AES算法,利用所述对称秘钥对与所述操作记录相关的目标数据进行加密,得到目标数据密文;根据椭圆曲线密钥交换协议ECDH算法,分别基于每个所述用户公钥、所述第一私钥对所述对称秘钥进行加密,得到与每个所述用户公钥一一对应的加密数据;建立所述加密数据和与之对应的所述用户公钥之间的关联关系,得到关联数据;串行化处理所述目标数据密文、所述第一公钥、所述关联数据,得到串行化数据;将所述串行化数据发送至区块链节点。2.一种用于区块链数据库解密方法,其特征在于,该方法包括:从区块链数据库中读取串行化数据,所述串行化数据是至少一个客户端对目标数据密文、非对称秘钥对中的第一公钥、关联数据进行串行化处理得到的,其中,所述目标数据密文是根据应用高级加密标准AES算法,利用所述对称秘钥对与所述操作记录相关的目标数据进行加密得到的,所述关联数据是通过建立加密数据和与之对应的用户公钥之间的关联关系得到的,所述加密数据是根据椭圆曲线密钥交换协议ECDH算法,分别基于每个所述用户公钥、所述第一私钥对所述对称秘钥进行加密得到的,所述非对称秘钥对包括所述第一私钥和所述第一公钥;将所述串行化数据进行反串行化处理,得到所述目标数据密文、所述第一公钥、所述关联数据;判断所述客户端提供的用户私钥是否与所述关联数据中的所述用户公钥匹配;如果匹配,则根据所述用户私钥和所述第一公钥对所述关联数据中的所述加密数据进行解密,得到所述对称密钥;利用所述对称密钥对所述目标数据密文进行解密得到所述目标数据。3.一种用于区块链数据库加密装置,其特征在于,该装置包括:秘钥获取单元,用于区块链数据库的操作记录被记录到区块链节点之前,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,其中,所述非对称秘钥对包括第一公钥与第一私钥;目标数据加密单元,用于...

【专利技术属性】
技术研发人员:吴飞鹏卢小明陈姝
申请(专利权)人:北京众享比特科技有限公司
类型:发明
国别省市:北京,11

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

1