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算法,分别基于每个用户公钥、所述第一私钥对对称秘钥进行加密,得到与每个用户公钥一一对应的加密数据;建立加密数据和与之对应的用户公钥之间 ...
【技术保护点】
1.一种用于区块链数据库加密方法,其特征在于,该方法包括:区块链数据库的操作记录被记录到区块链节点之前,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,其中,所述非对称秘钥对包括第一公钥与第一私钥;根据应用高级加密标准AES算法,利用所述对称秘钥对与所述操作记录相关的目标数据进行加密,得到目标数据密文;根据椭圆曲线密钥交换协议ECDH算法,分别基于每个所述用户公钥、所述第一私钥对所述对称秘钥进行加密,得到与每个所述用户公钥一一对应的加密数据;建立所述加密数据和与之对应的所述用户公钥之间的关联关系,得到关联数据;串行化处理所述目标数据密文、所述第一公钥、所述关联数据,得到串行化数据;将所述串行化数据发送至区块链节点。
【技术特征摘要】
1.一种用于区块链数据库加密方法,其特征在于,该方法包括:区块链数据库的操作记录被记录到区块链节点之前,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,其中,所述非对称秘钥对包括第一公钥与第一私钥;根据应用高级加密标准AES算法,利用所述对称秘钥对与所述操作记录相关的目标数据进行加密,得到目标数据密文;根据椭圆曲线密钥交换协议ECDH算法,分别基于每个所述用户公钥、所述第一私钥对所述对称秘钥进行加密,得到与每个所述用户公钥一一对应的加密数据;建立所述加密数据和与之对应的所述用户公钥之间的关联关系,得到关联数据;串行化处理所述目标数据密文、所述第一公钥、所述关联数据,得到串行化数据;将所述串行化数据发送至区块链节点。2.一种用于区块链数据库解密方法,其特征在于,该方法包括:从区块链数据库中读取串行化数据,所述串行化数据是至少一个客户端对目标数据密文、非对称秘钥对中的第一公钥、关联数据进行串行化处理得到的,其中,所述目标数据密文是根据应用高级加密标准AES算法,利用所述对称秘钥对与所述操作记录相关的目标数据进行加密得到的,所述关联数据是通过建立加密数据和与之对应的用户公钥之间的关联关系得到的,所述加密数据是根据椭圆曲线密钥交换协议ECDH算法,分别基于每个所述用户公钥、所述第一私钥对所述对称秘钥进行加密得到的,所述非对称秘钥对包括所述第一私钥和所述第一公钥;将所述串行化数据进行反串行化处理,得到所述目标数据密文、所述第一公钥、所述关联数据;判断所述客户端提供的用户私钥是否与所述关联数据中的所述用户公钥匹配;如果匹配,则根据所述用户私钥和所述第一公钥对所述关联数据中的所述加密数据进行解密,得到所述对称密钥;利用所述对称密钥对所述目标数据密文进行解密得到所述目标数据。3.一种用于区块链数据库加密装置,其特征在于,该装置包括:秘钥获取单元,用于区块链数据库的操作记录被记录到区块链节点之前,获取对称密钥、非对称秘钥对和至少一个被授权的用户公钥,其中,所述非对称秘钥对包括第一公钥与第一私钥;目标数据加密单元,用于...
【专利技术属性】
技术研发人员:吴飞鹏,卢小明,陈姝,
申请(专利权)人:北京众享比特科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。