基于区块链的数据处理方法、装置、设备以及介质制造方法及图纸

技术编号:39315088 阅读:9 留言:0更新日期:2023-11-12 15:58
本申请实施例提供了一种基于区块链的数据处理方法、装置、设备以及介质,该方法包括:若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,生成与N个密钥接收对象相关联的会话密钥对,对会话密钥对中的会话私钥进行密钥拆分处理,得到N个会话私钥分片;N为大于1的整数;将N个会话私钥分片分发给N个密钥接收对象,以使N个密钥接收对象根据各自接收到的会话私钥分片生成任务处理消息;一个密钥接收对象对应一个会话私钥分片;获取与N个密钥接收对象相关联的任务联合消息,根据会话密钥对中的会话公钥对任务联合消息进行签名验证。实施本申请实施例,可以提高数据安全性。可以提高数据安全性。可以提高数据安全性。

【技术实现步骤摘要】
基于区块链的数据处理方法、装置、设备以及介质


[0001]本申请涉及区块链
,尤其涉及一种基于区块链的数据处理方法、装置、设备以及介质。

技术介绍

[0002]随着计算机技术的发展,数据安全性越来越受到重视。为了提高数据安全性,数据持有方通常会委托第三方生成并保管密钥,当需要进行数据加密时,可以从第三方中获取密钥对数据进行加密。然而,这种密钥管理方式,第三方的管理权限过大,一旦第三方的可信度无法得到保障,例如,第三方发生密钥泄露或者被攻击,就可能会造成数据持有方的数据泄露,降低数据安全性。

技术实现思路

[0003]本申请实施例提供一种基于区块链的数据处理方法、装置、设备以及介质,可以提高数据安全性。
[0004]本申请实施例一方面提供了一种基于区块链的数据处理方法,该方法包括:若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,生成与N个密钥接收对象相关联的会话密钥对,对会话密钥对中的会话私钥进行密钥拆分处理,得到N个会话私钥分片;N为大于1的整数;将N个会话私钥分片分发给N个密钥接收对象,以使N个密钥接收对象根据各自接收到的会话私钥分片生成任务处理消息;一个密钥接收对象对应一个会话私钥分片;获取与N个密钥接收对象相关联的任务联合消息,根据会话密钥对中的会话公钥对任务联合消息进行签名验证;其中,任务联合消息包括数字签名,以及由t个密钥接收对象对应的任务处理消息所组成的联合消息内容;数字签名是根据重构私钥进行签名得到的,重构私钥是由t个密钥接收对象对应的会话私钥分片恢复的;t为小于或等于N的正整数。
[0005]本申请实施例一方面提供了一种基于区块链的数据处理装置,该装置包括:密钥拆分模块,用于若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,生成与N个密钥接收对象相关联的会话密钥对,对会话密钥对中的会话私钥进行密钥拆分处理,得到N个会话私钥分片;N为大于1的整数;私钥分片分发模块,用于将N个会话私钥分片分发给N个密钥接收对象,以使N个密钥接收对象根据各自接收到的会话私钥分片生成任务处理消息;一个密钥接收对象对应一个会话私钥分片;签名验证模块,用于获取与N个密钥接收对象相关联的任务联合消息,根据会话密钥对中的会话公钥对任务联合消息进行签名验证;其中,任务联合消息包括数字签名,以及由t个密钥接收对象对应的任务处理消息所组成的联合消息内容;数字签名是根据重构私钥进行签名得到的,重构私钥是由t个密钥
接收对象对应的会话私钥分片恢复的;t为小于或等于N的正整数。
[0006]其中,密钥拆分模块包括:合约地址获取单元,用于若接收到与N个密钥接收对象相关联的会话密钥生成请求,则获取与会话密钥生成请求相关联的合约地址;白名单获取单元,用于在区块链存储的业务智能合约中查找与合约地址相关联的密钥生成合约,获取与密钥生成合约相关联的权限白名单;合约调用单元,用于获取与会话密钥生成请求相关联的密钥请求对象在区块链上的对象地址,若对象地址属于权限白名单,则调用密钥生成合约。
[0007]其中,基于区块链的数据处理装置还包括:身份验证模块,用于接收密钥请求对象发送的身份注册请求,获取身份注册请求携带的对象认证信息,对对象认证信息进行验证,得到对象认证信息对应的身份认证结果;对象添加模块,用于若身份认证结果指示认证成功,则将密钥请求对象对应的对象地址添加至权限白名单。
[0008]其中,基于区块链的数据处理装置还包括:区块封装模块,用于接收密钥请求对象发送的密钥生成合约相关联的密钥合约数据,将密钥合约数据封装为合约交易数据,按照合约交易数据在交易池中的排序,将合约交易数据封装为合约交易区块;区块共识模块,用于在业务区块链网络中对合约交易区块进行广播,以使业务区块链网络中的区块链节点对合约交易区块进行共识处理;合约部署模块,用于获取合约交易区块在业务区块链网络中的共识投票数量,若共识投票数量大于或等于数量阈值,则确定合约交易区块达成共识,将合约交易区块添加至区块链,确定密钥生成合约为发布成功状态,向密钥请求对象返回密钥生成合约对应的合约地址。
[0009]其中,密钥拆分模块包括:随机数获取单元,用于若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,生成第一密钥随机数和第二密钥随机数,获取第一密钥随机数和第二密钥随机数之间的欧拉函数值;会话公钥生成单元,用于获取第三密钥随机数,根据第三密钥随机数、以及第一密钥随机数和第二密钥随机数之间的乘积,生成会话公钥;会话私钥生成单元,用于根据第三密钥随机数、欧拉函数值、以及第一密钥随机数和第二密钥随机数之间的乘积,生成会话私钥;密钥对生成单元,用于将会话公钥和会话私钥确定为与N个密钥接收对象相关联的会话密钥对。
[0010]其中,随机数获取单元包括:第一随机数生成子单元,用于若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,根据会话密钥生成请求对应的接收时间戳生成第一密钥随机数;数据填充子单元,用于对第一密钥随机数进行数据填充,得到随机填充值,对随机填充值进行拆分处理,得到P个分段填充值;P为大于1的整数;
数据压缩子单元,用于获取压缩函数的第i个输入数据;i为1时,第i个输入数据包括初始压缩值和P个分段填充值中的第一个分段填充值;i不为1时,第i个输入数据包括压缩函数的第i

1个输出数据和P个分段填充值中的第i个分段填充值;i为小于或等于P的正整数;第二随机数生成子单元,用于根据第i个输入数据和压缩函数,确定压缩函数对应的第i个输出数据,将压缩函数对应的第P个输出数据确定为第二密钥随机数。
[0011]其中,密钥拆分模块包括:第一分片系数获取单元,用于获取第四密钥随机数,以及获取t

1个第一分片系数;t

1个第一分片系数均不同,且t

1个第一分片系数均小于第四密钥随机数;密钥拆分函数构建单元,用于根据会话密钥对中的会话私钥、第四密钥随机数、以及t

1个第一分片系数构建密钥拆分函数;初始私钥分片获取单元,用于在密钥拆分函数中确定N个密钥接收对象分别对应的初始私钥分片;私钥分片加密单元,用于获取N个密钥接收对象分别对应的对象公钥,通过对象公钥对初始私钥分片进行加密处理,得到N个会话私钥分片。
[0012]其中,密钥拆分模块包括:第二分片系数获取单元,用于获取N个第二分片系数;N个第二分片系数中的任意两个第二分片系数互为质数;在单调递增的N个第二分片系数中,前t个第二分片系数的乘积大于会话密钥对中的会话私钥,且后t

1个第二分片系数的乘积小于会话私钥;模运算单元,用于获取会话私钥与N个第二分片系数中的第x个第二分片系数之间的模运算结果K
x
,将第x个第二分片系数和模运算结果K
x
,确定为N个密钥接收对象中的第x个密钥接收对象对应的会话私钥分片;x为小于或等于N本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,生成与N个密钥接收对象相关联的会话密钥对,对所述会话密钥对中的会话私钥进行密钥拆分处理,得到N个会话私钥分片;N为大于1的整数;将所述N个会话私钥分片分发给所述N个密钥接收对象,以使所述N个密钥接收对象根据各自接收到的会话私钥分片生成任务处理消息;一个密钥接收对象对应一个会话私钥分片;获取与N个密钥接收对象相关联的任务联合消息,根据所述会话密钥对中的会话公钥对所述任务联合消息进行签名验证;其中,所述任务联合消息包括数字签名,以及由t个密钥接收对象对应的任务处理消息所组成的联合消息内容;所述数字签名是根据重构私钥进行签名得到的,所述重构私钥是由所述t个密钥接收对象对应的会话私钥分片恢复的;t为小于或等于N的正整数。2.根据权利要求1所述的方法,其特征在于,所述若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,包括:若接收到与N个密钥接收对象相关联的会话密钥生成请求,则获取与所述会话密钥生成请求相关联的合约地址;在区块链存储的业务智能合约中查找与所述合约地址相关联的密钥生成合约,获取与所述密钥生成合约相关联的权限白名单;获取与所述会话密钥生成请求相关联的密钥请求对象在区块链上的对象地址,若所述对象地址属于所述权限白名单,则调用所述密钥生成合约。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收所述密钥请求对象发送的身份注册请求,获取所述身份注册请求携带的对象认证信息,对所述对象认证信息进行验证,得到所述对象认证信息对应的身份认证结果;若所述身份认证结果指示认证成功,则将所述密钥请求对象对应的对象地址添加至所述权限白名单。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收密钥请求对象发送的所述密钥生成合约相关联的密钥合约数据,将所述密钥合约数据封装为合约交易数据,按照所述合约交易数据在交易池中的排序,将所述合约交易数据封装为合约交易区块;在业务区块链网络中对所述合约交易区块进行广播,以使所述业务区块链网络中的区块链节点对所述合约交易区块进行共识处理;获取所述合约交易区块在所述业务区块链网络中的共识投票数量,若所述共识投票数量大于或等于数量阈值,则确定所述合约交易区块达成共识,将所述合约交易区块添加至区块链,确定所述密钥生成合约为发布成功状态,向所述密钥请求对象返回所述密钥生成合约对应的合约地址。5.根据权利要求1所述的方法,其特征在于,所述若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,生成与N个密钥接收对象相关联的会话密钥对,包括:若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生
成合约,生成第一密钥随机数和第二密钥随机数,获取所述第一密钥随机数和所述第二密钥随机数之间的欧拉函数值;获取第三密钥随机数,根据所述第三密钥随机数、以及所述第一密钥随机数和所述第二密钥随机数之间的乘积,生成会话公钥;根据所述第三密钥随机数、所述欧拉函数值、以及所述第一密钥随机数和所述第二密钥随机数之间的乘积,生成会话私钥;将所述会话公钥和所述会话私钥确定为与所述N个密钥接收对象相关联的会话密钥对。6.根据权利要求5所述的方法,其特征在于,所述若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,生成第一密钥随机数和第二密钥随机数,包括:若接收到与N个密钥接收对象相关联的会话密钥生成请求,则调用区块链中的密钥生成合约,根据所述会话密钥生成请求对应的接收时间戳生成第一密钥随机数;对所述第一密钥随机数进行数据填充,得到随机填充值,对所述随机填充值进行拆分处理,得到P个分段填充值;P为大于1的整数;获取压缩函数的第i个输入数据;i为1时,第i个输入数据包括初始压缩值和所述P个分段填充值中的第一个分段填充值;i不为1时,第i个输入数据包括所述压缩函数的第i

1个输出数据和所述P个分段填充值中的第i个分段填充值;i为小于或等于P的正整数;根据所述第i个输入数据和所述压缩函数,确定所述压缩函数对应的第i个输出数据,将所述压缩函数对应的第P个输出数据确定为第二密钥随机数。7.根据权利要求1所述的方法,其特征在于,所述对所述会话密钥对中的会话私钥进行密钥拆分处理,得到N个会话私钥分片,包括:获取第四密钥随机数...

【专利技术属性】
技术研发人员:聂凯轩王宗友朱耿良黄杨峻时一防刘汉卿刘区城廖志勇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1