数据加密、解密和共享方法、设备、系统及存储介质技术方案

技术编号:28429548 阅读:32 留言:0更新日期:2021-05-11 18:39
本申请实施例提供一种数据加密、解密和共享方法、设备、系统及存储介质。在本申请实施例中,在区块链上根据对称密钥对待处理数据进行对称加密,对于对称密钥进行非对称加密,并将待处理数据的密文和对称密钥的密文写入区块链。这种采用对称加密和非对称加密相结合的加密方式,一方面可提高对数据加密处理的效率,另一方面还有利于保障数据的安全性。

【技术实现步骤摘要】
数据加密、解密和共享方法、设备、系统及存储介质
本申请涉及数据处理
,尤其涉及一种数据加密、解密和共享方法、设备、系统及存储介质。
技术介绍
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其中,区块链具有开放性、不可篡改、分布式共享全局账本等优点,但同时这些特性也带来数据泄露问题,严重影响了区块链技术在许多业务场景中的应用。因此,如何保障区块链中数据的安全性和隐私性已成为亟待解决的问题。
技术实现思路
本申请的多个方面提供一种数据加密、解密和共享方法、设备、系统及存储介质,用以提高数据的安全性和隐私性。本申请实施例提供一种数据加密方法,包括:获取待处理数据和对称密钥,所述待处理数据是由第一用户提供的;根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;将所述待处理数据的密文和所述对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。本申请实施例还提供一种数据解密方法,包括:从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。本申请实施例还提供一种数据共享方法,包括:r>从可访问的区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。本申请实施例还提供一种数据加密方法,包括:获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:获取待处理数据和对称密钥;所述待处理数据是由第一用户提供的根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;将所述待处理数据的密文和所述对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;从可访问的区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。本申请实施例还提供一种区块链系统,包括:多台节点设备,其中,所述节点设备,用于:获取第一用户提供的待处理数据和第一对称密钥;根据所述第一对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;根据所述区块链系统中的第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一对称密钥的密文;以及将所述待处理数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。在一些实施例中,所述节点设备,还用于:从所述区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到第二对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述第二对称密钥对所述数据密文进行对称解密,得到数据明文。本申请实施例还提供一种区块链系统,包括:多台节点设备,其中,所述节点设备,用于:从区块链中获取待共享数本文档来自技高网...

【技术保护点】
1.一种数据加密方法,其特征在于,包括:/n获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;/n根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;/n将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;/n将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;/n根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;/n将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。/n

【技术特征摘要】
1.一种数据加密方法,其特征在于,包括:
获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;
根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;
将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;
将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;
根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;
将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。


2.根据权利要求1所述的方法,其特征在于,所述将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,包括:
将所述第二用户的公钥和所述第一对称密钥的密文形成的第一键值对以及所述第一类数据的密文存储至所述区块链的世界状态变量中;并将所述第一键值对和所述第一类数据的密文对应的日志存储至所述区块链的区块账本中。


3.根据权利要求1所述的方法,其特征在于,所述将所述中间数据的密文和所述第二对称密钥的密文写入区块链,包括:
将所述第三用户的公钥和所述第二对称密钥的密文形成的第二键值对以及所述中间数据的密文存储至所述区块链的世界状态变量中;并将所述第二键值对和所述中间数据的密文对应的日志存储至所述区块链的区块账本中。


4.一种数据解密方法,其特征在于,包括:
从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;
根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。


5.根据权利要求4所述的方法,其特征在于,所述从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文,包括:
根据用户下发的访问指令中的待访问数据的标识,从所述区块链中获取所述数据密文以及所述数据密文对应的公钥与密钥密文之间的对应关系;
将所述本端私钥对应的公钥在所述数据密文对应的公钥与密钥密文之间的对应关系中匹配,以得到所述数据密文对应的密钥密文。


6.根据权利要求4所述的方法,其特征在于,所述待访问数据均具有指定属性;或者,所述待访问数据均不具有所述指定属性;或者,所述待访问数据部分具有指定属性。


7.根据权利要求5所述的方法,其特征在于,若所述待访问数据部分具有指定属性,则所述根据用户下发的访问指令中的待访问数据的标识,从所述区块链中获取所述数据密文以及所述待处理数据对应的公钥与密钥密文之间的对应关系,包括:
从所述待访问数据的标识中识别出具有所述指定属性的第一类数据的标识和不具有所述指定属性的第二类数据的标识;
根据所述第一类数据的标识和所述第二类数据的标识,从所述区块链的世界状态变量中分别获取所述第一类数据和所述第二类数据分别对应的公钥与密钥密文之间的对应关系。


8.根据权利要求7所述的方法,其特征在于,所述将所述本端私钥对应的公钥在所述数据密文对应的公钥与密钥密文之间的对应关系中匹配,以得到所述数据密文对应的密钥密文,包括:
将所述本端私钥对应的公钥分别在所述第一类数据和所述第二类数据分别对应的公钥与密钥密文之间的对应关系进行匹配,以得到所述第一类数据对应的第一密钥密文和所述第二类数据对应的第二密钥密文。


9.根据权利要求8所述的方法,其特征在于,所述根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥,包括:
根据所述本端私钥对分别对第一密钥密文和所述第二密钥密文进行非对称解密,以得到第一对称密钥和第二对称密钥。


10.根据权利要求9所述的方法,其特征在于,所述根据所述对称密钥对所述数据密文进行对称解密,得到数据明文,包括:
根据所述第二对称密钥对所述数据密文进行解密,以得到所述第二类数据的明文和所述第一类数据的密文;
根据所述第一对称密钥对所述第一类数据的密文进行解密,以得到所述第一类数据的明文。


11.一种数据加密方法,其特征在于,包括:
获取待处理数据和对称密钥,所述待处理数据是由第一用户提供的;
根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;
根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;
将所述待处理数据的密文和所述对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。


12.根据权利要求11所述的方法,其特征在于,所述获取对称密钥,包括:
在获取所述待处理数据的过程中,为所述待处理数据随机生成所述对称密钥。


13.根据权利要求11所述的方法,其特征在于,所述待处理数据均具有指定属性;或者,所述待处理数据均不具有所述指定属性;或者,所述待处理数据部分具有指定属性。


14.根据权利要求12所述的方法,其特征在于,若所述待处理数据部分具有指定属性,则所述为所述待处理数据随机生成所述对称密钥,包括:
从所述待处理数据中识别出具有所述指定属性的第一类数据和不具有所述指定属性的第二类数据;
为所述第一类数据和所述第二类数据分别生成第一随机密钥和第二随机密钥,其中,所述第一随机密钥和所述第二随机密钥为对称密钥。


15.根据权利要求14所述的方法,其特征在于,所述根据所述对称密钥对所述待处理数据进行加密处理,以得到所述待处理数据的密文,包括:
根据所述第一随机密钥对所述第一类数据进行对称加密,以得到所述第一类数据的密文;
将所述待处理数据中的第一类数据替换为所述第一类数据的密文,以得到中间数据;
根据所述第二随机密钥对所述中间数据进行对称加密,以得到所述中间数据的密文,作为所述待处理数据的密文。


16.根据权利要求15所述的方法,其特征在于,所述根据第二用户的公钥对所述对称密钥进行非对称加密,包括:
根据具有访问所述第一类数据的权限的第一类用户的公钥对所述第一随机密钥进行非对称加密,以得到所述第一随机密钥的密文;
根据具有访问所述第二类数据的权限的第二类用户的公钥对所述第二随机密钥进行非对称加密,以得到所述第二随机密钥的密文。


17.根据权利要求16所述的方法,其特征在于,所述将所述待处理数据的密文和所述对称密钥的密文写入区块链,包括:
将所述第一类用户的公钥和所述第一随机密钥的密文形成的第一键值对以及所述第一类数据的密文存储至所述区块链的世界状态变量中;并将所述第一键值对和所述第一类数据的密文对应的日志存储至所述区块链的区块账本中;
将所述第二类用户的公钥和所述第二随机密钥的密文形成的第二键值对以及所述待处理数据的密文存储至所述区块链的世界状态变量中;并将所述第二键值对和所述待处理数据的密文对应的日志存储至所述区块链的区块账本中。


18.一种数据共享方法,其特征在于,包括:
从可访问的区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;
根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;
获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;
根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;
将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。


19.一种计算机设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
获取待处理数据和对称密钥;所述待处理数据是由第一用户提供的;
根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;
根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;
将所述待处理数据的密文和所述对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。


20.一种计算机设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;
根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。


21.一种计算机设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
从可访问的区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;
根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;
获取第二对称密钥,并根据所述第二对称密钥对所述...

【专利技术属性】
技术研发人员:许重建陀前途钟文波
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1