一种联盟链加密数据定期共享方法及系统与流程

文档序号:23540370发布日期:2021-01-05 20:48阅读:45来源:国知局
一种联盟链加密数据定期共享方法及系统与流程

本发明涉及一种联盟链加密数据定期共享方法及系统,属于联盟链技术领域。



背景技术:

区块链是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用智能合约来编程和操作数据的一种去中心化基础架构与分布式计算范式,区块链有其特有的区块产生、交易产生和验证协议,具有分布式、公开透明、不可更改、不可伪造、可追溯性以及高度信任等特征。区块链的数据是以哈希数据存储的方式进行保存,区块链的非对称加密机制有效的保护了账户隐私和交易数据,使用区块链来存储数据的加密形式,可以有效防止明文数据的泄露,数据已成为企业的重要资产,如何在企业内部对数据的访问权限进行有效控制、在企业之间安全共享数据一直是一个挑战。数据的公开共享对企业,学术研究等都具有重要意义,区块链中的分布式账本可以从某些方面解决上述问题,但是区块链所应用的非对称加密机制仅可进行一对一的安全传输。



技术实现要素:

针对上述问题,本发明的目的是提供了一种联盟链加密数据定期共享方法及系统,其既保证了未公开阶段数据的安全性和一致性,又能够保证智能合约触发后数据必须公开共享。

为实现上述目的,本发明采取以下技术方案:一种联盟链加密数据定期共享方法,包括以下步骤:s1k级别的任务用户通过普通用户节点定期公开任务,若级别k大于等于任务对应的设定级别,则向任务用户分配3k个不同的普通用户节点对应的公钥;s2任务用户对完整数据内容加密和签名,并将完整数据随机打乱,分成3k个部分,分别传给3k个不同的普通用户,3k个不同的普通用户对其分到的数据进行加密和签名;s3将步骤s2中所有的加密数据的信息发送到智能合约中,任务用户设置触发时间;s4在智能合约中定期检查是否达到触发时间,若达到触发时间,智能合约通知3k个不同的普通用户,其在规定时间内对联盟链上数据进行解密,并公开数据。

进一步,步骤s2中数据随机打乱,并分成3k个部分,其中3k个部分,只有当大于等于2k个普通用户对用自己公钥加密的部分进行解密后才能够根据数据随机打乱的顺序还原完整数据内容。

进一步,步骤s3中的加密数据的信息包括数据内容的随机打乱顺序、数据分配结果和其对应加密公钥顺序。

进一步,步骤s3中的智能合约的创建步骤包括:s3.1接收任务用户提交的合约创建申请;s3.2根据合约创建申请生成合约和合约记录;s3.3将合约发送至任务用户,任务用户对合约进行签名;s3.4存储步骤s3.3中经过任务用户签名的合约,在联盟链发布合约的信息。

进一步,步骤s4中在规定时间内对联盟链上数据进行解密,若普通用户在规定时间公开了联盟链上的数据则获得交易金额奖励,提高用户级别,若普通用户提前解密数据或超时后仍未解密则不能获得交易金额,并降低用户级别。

进一步,普通用户节点的初始级别是1级,最高级别是5级,普通用户节点完成智能合约任务次数超过预定次数,级别上升1级,违约超过预定次数,降低1级。

进一步,步骤s1中,将普通用户在规定时间内对联盟链上解密的数据按照数据随机打乱的顺序进行还原,将还原后的数据与任务用户的完整数据进行对比,以判断任务用户与普通用户提供的内容是否一致。

进一步,步骤s4中智能合约的执行步骤包括:s4.1设置所有智能合约的定期检查,逐条遍历智能合约内容;s4.2当达到触发时间时,创建合约事务记录,将合约事务记录发布至联盟链中,自动通知3k个不同的普通用户在规定时间内进行解密。

进一步,智能合约内容包括智能合约的状态、事务和触发条件。

本发明公开了一种联盟链加密数据定期共享系统,包括:数据分配模块,用于使k级别的任务用户通过普通用户节点定期公开任务,若级别k大于等于任务对应的设定级别,则向任务用户分配3k个不同的普通用户节点对应的公钥;数据加密模块,用于使任务用户对完整数据内容加密和签名,并将完整数据随机打乱,分成3k个部分,分别传给3k个不同的普通用户,3k个不同的普通用户对其分到的数据进行加密和签名;智能合约模块,用于将步骤s2中所有的加密数据的信息发送到智能合约中,任务用户设置触发时间;解密输出模块,用于在智能合约中定期检查是否达到触发时间,若达到触发时间,智能合约通知3k个不同的普通用户,其在规定时间内对联盟链上数据进行解密,并公开数据。

本发明由于采取以上技术方案,其具有以下优点:

1、在法律,版权和企业数据应用等领域,存在数据需要隐私保护防止篡改同时需要公开共享的场景,通过建立加密数据定期公开的联盟链,既可以保证保护期内数据不被篡改,不被公开,任务用户可以将当下真实但敏感数据进行上链保存,又可在保证数据在定期时间触发后进行解密。

2、通过建立智能合约,使定时公开流程透明化,到一定时间触发后,能够通过足够的用户节点进行解密数据,从而进行共享公开。

附图说明

图1是本发明一实施例中联盟链加密数据定期共享方法的流程图。

具体实施方式

为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。

实施例一

本实施例公开了一种联盟链加密数据定期共享方法,包括以下步骤:

将联盟链节点分为联盟节点和普通用户节点,并设定普通用户节点的级别。普通用户节点的初始级别是1级,最高级别是5级,普通用户节点完成智能合约任务次数超过预定次数,级别上升1级,违约超过预定次数,降低1级。

s1k级别的任务用户通过普通用户节点定期公开任务,若级别k大于等于任务对应的设定级别,则向任务用户分配3k个不同的普通用户节点对应的公钥。

s2任务用户对完整数据内容加密和签名,并将完整数据随机打乱,分成3k个部分,分别传给3k个不同的普通用户,3k个不同的普通用户对其分到的数据进行加密和签名。

步骤s2中数据随机打乱,并分成3k个部分,其中3k个部分,只有当大于等于2k个普通用户对用自己公钥加密的部分进行解密后才能够根据数据随机打乱的顺序还原完整数据内容。这样分配可以防止有规定节点到期无法进行解密的情况而不能解释完整文件。

s3将步骤s2中所有的加密数据的信息发送到智能合约中,任务用户设置触发时间。

步骤s3中的加密数据的信息包括数据内容的随机打乱顺序、数据分配结果和其对应加密公钥顺序。

步骤s3中的智能合约的创建步骤包括:

s3.1接收任务用户提交的合约创建申请;

s3.2根据合约创建申请生成合约和合约记录;

s3.3将合约发送至任务用户,任务用户对合约进行签名;

s3.4存储步骤s3.3中经过任务用户签名的合约,在联盟链发布合约的信息。

s4在智能合约中定期检查是否达到触发时间,若达到触发时间,智能合约通知3k个不同的普通用户,其在规定时间内对联盟链上数据进行解密,并公开数据。

步骤s4中在规定时间内对联盟链上数据进行解密,若普通用户在规定时间公开了联盟链上的数据则获得交易金额奖励,提高用户级别,若普通用户提前解密数据或超时后仍未解密则不能获得交易金额,并降低用户级别。

步骤s4中,将普通用户在规定时间内对联盟链上解密的数据按照数据随机打乱的顺序进行还原,将还原后的数据与任务用户的完整数据进行对比,以判断任务用户与普通用户提供的内容是否一致。这样做既可判断任务用户是否放数据不一致的文件,也可以判断普通用户节点是否将解密后的数据进行虚假公开。

步骤s4中智能合约的执行步骤包括:

s4.1设置所有智能合约的定期检查,逐条遍历智能合约内容,智能合约内容包括智能合约的状态、事务和触发条件。

s4.2当达到触发时间时,创建合约事务记录,将合约事务记录发布至联盟链中,自动通知3k个不同的普通用户在规定时间内进行解密。

实施例二

基于相同的发明构思,本实施例公开了一种联盟链加密数据定期共享系统,包括:

数据分配模块,用于使k级别的任务用户通过普通用户节点定期公开任务,若级别k大于等于任务对应的设定级别,则向任务用户分配3k个不同的普通用户节点对应的公钥;

数据加密模块,用于使任务用户对完整数据内容加密和签名,并将完整数据随机打乱,分成3k个部分,分别传给3k个不同的普通用户,3k个不同的普通用户对其分到的数据进行加密和签名;

智能合约模块,用于将步骤s3中所有的加密数据的信息发送到智能合约中,任务用户设置触发时间;

解密输出模块,用于在智能合约中定期检查是否达到触发时间,若达到触发时间,智能合约通知3k个不同的普通用户,其在规定时间内对联盟链上数据进行解密,并公开数据。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1