一种账户数据处理方法、装置、设备及存储介质制造方法及图纸

技术编号:25088431 阅读:13 留言:0更新日期:2020-07-31 23:32
本申请实施例公开了一种账户数据处理方法、装置、设备及存储介质,该方法包括:获取第一用户终端所发送的业务处理请求;在确定业务处理请求为合法请求时,基于用户公钥生成第一用户的第一原始账户,将第一原始账户写入可信执行环境;调用可信执行环境中的可信应用程序,生成第一原始账户对应的密钥对;基于K个子密钥对中的子公钥生成与第一原始账户相关联的K个匿名账户,建立第一原始账户与K个匿名账户之间的映射哈希值;在将每个匿名账户和每个匿名账户对应的映射哈希值写入中心节点所属的区块链时,将每个匿名账户返回给第一用户终端,以使第一用户终端基于每个匿名账户执行目标业务。采用本申请实施例,可以确保用户的真实账户信息的安全性。

【技术实现步骤摘要】
一种账户数据处理方法、装置、设备及存储介质
本申请涉及区块链
,尤其涉及一种账户数据处理方法、装置、设备及存储介质。
技术介绍
目前,在区块链系统中进行资产转移时,会采用存储在用户终端中的真实账户进行资产转移,比如,在区块链中的用户终端A与用户终端B进行资产转移时,用户终端A可以根据自己的真实账户信息(例如,交易账户1)向用户终端B的真实账户信息(例如,交易账户2)发送某类资产信息(例如,电子票据XX等),即当用户终端A与用户终端B在完成资产交易之后,会在链上直接公开包含真实账户信息的交易记录,进而存在将用户的真实账户信息直接暴露在区块链上的风险,进而降低了用户账户信息的安全性。申请内容本申请实施例提供一种账户数据处理方法、装置、设备及存储介质,可以确保用户的真实账户信息的安全性。本申请实施例一方面提供一种账户数据处理方法,该方法由部署有可信执行环境的中心节点执行,包括:获取第一用户终端所发送的业务处理请求;业务处理请求携带第一用户终端对应的第一用户的用户公钥;用户公钥用于指示中心节点生成第一用户的第一原始账户;在确定业务处理请求为合法请求时,基于用户公钥生成第一用户的第一原始账户,将第一原始账户写入可信执行环境;调用可信执行环境中的可信应用程序,生成第一原始账户对应的密钥对;密钥对中包含K个子密钥对;K为正整数;K个子密钥对中的每个子密钥对均包含为第一原始账户所配置的子公钥;基于K个子密钥对中的子公钥生成与第一原始账户相关联的K个匿名账户,建立第一原始账户与K个匿名账户之间的映射哈希值;在将每个匿名账户和每个匿名账户对应的映射哈希值写入中心节点所属的区块链时,将每个匿名账户返回给第一用户终端,以使第一用户终端基于每个匿名账户执行目标业务。本申请实施例一方面提供一种账户数据处理方法,该方法由第一用户终端执行,包括:向部署有可信执行环境的中心节点发送业务处理请求;业务处理请求携带第一用户终端对应的第一用户的用户公钥;用户公钥用于指示中心节点生成第一用户的第一原始账户;接收中心节点所返回的K个匿名账户;K为正整数;K个匿名账户是由中心节点基于第一原始账户对应的K个子密钥对中的子公钥所生成的;K个子密钥对是由中心节点调用可信执行环境中的可信应用程序所生成的。本申请实施例一方面提供一种账户数据处理装置,该装置运行于部署有可信执行环境的中心节点,包括:获取模块,用于获取第一用户终端所发送的业务处理请求;业务处理请求携带第一用户终端对应的第一用户的用户公钥;用户公钥用于指示中心节点生成第一用户的第一原始账户;生成模块,用于在确定业务处理请求为合法请求时,基于用户公钥生成第一用户的第一原始账户,将第一原始账户写入可信执行环境;调用模块,用于调用可信执行环境中的可信应用程序,生成第一原始账户对应的密钥对;密钥对中包含K个子密钥对;K为正整数;K个子密钥对中的每个子密钥对均包含为第一原始账户所配置的子公钥;建立模块,用于基于K个子密钥对中的子公钥生成与第一原始账户相关联的K个匿名账户,建立第一原始账户与K个匿名账户之间的映射哈希值;返回模块,用于在将每个匿名账户和每个匿名账户对应的映射哈希值写入中心节点所属的区块链时,将每个匿名账户返回给第一用户终端,以使第一用户终端基于每个匿名账户执行目标业务。其中,业务处理请求中包含与第一用户终端相关联的注册业务数据信息和用户签名信息;用户签名信息为第一用户终端通过第一用户的用户私钥对注册业务数据信息进行签名后所得到的;该装置还包括:验签模块,用于基于用户公钥对用户签名信息进行验签,得到验签结果;第一确定模块,用于在验签结果指示验证成功时,确定第一用户为合法用户,且将第一用户所发起的业务处理请求确定为合法请求;第二确定模块,用于在验签结果指示验证失败时,确定第一用户为非法用户,且将第一用户所发起的业务处理请求确定为非法请求。其中,该生成模块包括:第一哈希计算单元,用于在确定业务处理请求为合法请求时,通过第一哈希规则和第二哈希规则对用户公钥进行哈希计算,得到用户公钥对应的公钥哈希值;第二哈希计算单元,用于将一个字节的地址版本号作为公钥哈希值的头部,得到第一拼接字符串,对第一拼接字符串进行哈希计算,得到第一拼接字符串对应的待处理哈希值,从待处理哈希值中获取公钥哈希值的校验值;编码单元,用于将校验值作为第一拼接字符串的尾部,得到第二拼接字符串,对第二拼接字符串进行编码处理,将编码处理后所得到的编码字符串作为第一用户的第一原始账户,将第一原始账户写入可信执行环境。其中,该调用模块包括:调用单元,用于调用可信执行环境中的可信应用程序,获取可信应用程序中的私钥生成规则,根据私钥生成规则生成与第一原始账户相关联的K个子私钥;生成单元,用于通过可信应用程序中的哈希加密规则,生成与K个子私钥分别对应的子公钥;一个子私钥对应一个子公钥,且一个子私钥与一个子公钥用于构建一个子密钥对;第一确定单元,用于根据K个子私钥以及K个子私钥分别对应的子公钥,确定第一原始账户对应的K个子密钥对,将K个子密钥对作为第一原始账户对应的密钥对。其中,该建立模块包括:第一获取单元,用于从K个子密钥对中获取子密钥对Mi;i为小于或者等于K的正整数;子密钥对Mi中包含子公钥Yi和子私钥Xi;子公钥Yi是由子私钥Xi经过可信应用程序中的哈希加密规则所得到的;子私钥Xi是由可信应用程序中的私钥生成规则所得到的;第二确定单元,用于对子密钥对Mi中的子公钥Yi进行哈希计算,得到子公钥Yi对应的子公钥哈希值,获取与子公钥哈希值相关联的地址字符串和校验字符串,基于地址字符串,子公钥哈希值以及校验字符串,确定子密钥对Mi对应的匿名账户;加密单元,用于在得到K个子密钥对中的每个子密钥对的匿名账户时,在可信执行环境中,通过与可信执行环境相关联的可信密钥对中的可信公钥,对所述第一原始账户进行加密处理,得到加密处理后的账户加密信息;建立单元,用于建立账户加密信息和K个匿名账户之间的哈希映射关系表,根据哈希映射关系表中的K个哈希映射关系,确定第一原始账户与K个匿名账户之间的映射哈希值;一个哈希映射关系用于确定一个映射哈希值。其中,该装置还包括:打包处理模块,用于将K个匿名账户中的每个匿名账户以及每个匿名账户对应的映射哈希值进行打包处理,得到待写入中心节点所属的区块链的待验证区块;广播模块,用于将待验证区块广播至区块链上的共识节点,以使共识节点对获取到的待验证区块进行共识,得到共识结果;共识节点和中心节点均为区块链上的区块链节点;写入模块,用于若在共识节点所返回的共识结果中存在超过1/2的共识结果指示共识成功,则确定区块链上的区块链节点达成共识,将待验证区块作为目标区块写入区块链。其中,K个匿名账户中包含第一匿名账户,第一匿名账户用于指示第一用户终端执行向第二匿名账户对应的第二本文档来自技高网...

【技术保护点】
1.一种账户数据处理方法,其特征在于,所述方法由部署有可信执行环境的中心节点执行,包括:/n获取第一用户终端所发送的业务处理请求;所述业务处理请求携带所述第一用户终端对应的第一用户的用户公钥;所述用户公钥用于指示所述中心节点生成所述第一用户的第一原始账户;/n在确定所述业务处理请求为合法请求时,基于所述用户公钥生成所述第一用户的第一原始账户,将所述第一原始账户写入所述可信执行环境;/n调用所述可信执行环境中的可信应用程序,生成所述第一原始账户对应的密钥对;所述密钥对中包含K个子密钥对;K为正整数;K个子密钥对中的每个子密钥对均包含为所述第一原始账户所配置的子公钥;/n基于所述K个子密钥对中的子公钥生成与所述第一原始账户相关联的K个匿名账户,建立所述第一原始账户与所述K个匿名账户之间的映射哈希值;/n在将每个匿名账户和所述每个匿名账户对应的映射哈希值写入所述中心节点所属的区块链时,将所述每个匿名账户返回给所述第一用户终端,以使所述第一用户终端基于所述每个匿名账户执行目标业务。/n

【技术特征摘要】
1.一种账户数据处理方法,其特征在于,所述方法由部署有可信执行环境的中心节点执行,包括:
获取第一用户终端所发送的业务处理请求;所述业务处理请求携带所述第一用户终端对应的第一用户的用户公钥;所述用户公钥用于指示所述中心节点生成所述第一用户的第一原始账户;
在确定所述业务处理请求为合法请求时,基于所述用户公钥生成所述第一用户的第一原始账户,将所述第一原始账户写入所述可信执行环境;
调用所述可信执行环境中的可信应用程序,生成所述第一原始账户对应的密钥对;所述密钥对中包含K个子密钥对;K为正整数;K个子密钥对中的每个子密钥对均包含为所述第一原始账户所配置的子公钥;
基于所述K个子密钥对中的子公钥生成与所述第一原始账户相关联的K个匿名账户,建立所述第一原始账户与所述K个匿名账户之间的映射哈希值;
在将每个匿名账户和所述每个匿名账户对应的映射哈希值写入所述中心节点所属的区块链时,将所述每个匿名账户返回给所述第一用户终端,以使所述第一用户终端基于所述每个匿名账户执行目标业务。


2.根据权利要求1所述的方法,其特征在于,所述业务处理请求中包含与所述第一用户终端相关联的注册业务数据信息和用户签名信息;所述用户签名信息为所述第一用户终端通过所述第一用户的用户私钥对所述注册业务数据信息进行签名后所得到的;
所述方法还包括:
基于所述用户公钥对所述用户签名信息进行验签,得到验签结果;
在所述验签结果指示验证成功时,确定所述第一用户为合法用户,且将所述第一用户所发起的所述业务处理请求确定为合法请求;
在所述验签结果指示验证失败时,确定所述第一用户为非法用户,且将所述第一用户所发起的所述业务处理请求确定为非法请求。


3.根据权利要求1所述的方法,其特征在于,所述在确定所述业务处理请求为合法请求时,基于所述用户公钥生成所述第一用户的第一原始账户,将所述第一原始账户写入所述可信执行环境,包括:
在确定所述业务处理请求为合法请求时,通过第一哈希规则和第二哈希规则对所述用户公钥进行哈希计算,得到所述用户公钥对应的公钥哈希值;
将一个字节的地址版本号作为所述公钥哈希值的头部,得到第一拼接字符串,对所述第一拼接字符串进行哈希计算,得到所述第一拼接字符串对应的待处理哈希值,从所述待处理哈希值中获取所述公钥哈希值的校验值;
将所述校验值作为所述第一拼接字符串的尾部,得到第二拼接字符串,对所述第二拼接字符串进行编码处理,将编码处理后所得到的编码字符串作为所述第一用户的第一原始账户,将所述第一原始账户写入所述可信执行环境。


4.根据权利要求1所述的方法,其特征在于,所述调用所述可信执行环境中的可信应用程序,生成所述第一原始账户对应的密钥对,包括:
调用所述可信执行环境中的可信应用程序,获取所述可信应用程序中的私钥生成规则,根据所述私钥生成规则生成与所述第一原始账户相关联的K个子私钥;
通过所述可信应用程序中的哈希加密规则,生成与所述K个子私钥分别对应的子公钥;一个子私钥对应一个子公钥,且一个子私钥与一个子公钥用于构建一个子密钥对;
根据所述K个子私钥以及所述K个子私钥分别对应的子公钥,确定所述第一原始账户对应的K个子密钥对,将所述K个子密钥对作为所述第一原始账户对应的密钥对。


5.根据权利要求1所述的方法,其特征在于,所述基于所述K个子密钥对中的子公钥生成与所述第一原始账户相关联的K个匿名账户,建立所述第一原始账户与所述K个匿名账户之间的映射哈希值,包括:
从所述K个子密钥对中获取子密钥对Mi;i为小于或者等于K的正整数;所述子密钥对Mi中包含子公钥Yi和子私钥Xi;所述子公钥Yi是由所述子私钥Xi经过所述可信应用程序中的哈希加密规则所得到的;所述子私钥Xi是由所述可信应用程序中的私钥生成规则所得到的;
对所述子密钥对Mi中的所述子公钥Yi进行哈希计算,得到所述子公钥Yi对应的子公钥哈希值,获取与所述子公钥哈希值相关联的地址字符串和校验字符串,基于所述地址字符串,所述子公钥哈希值以及所述校验字符串,确定所述子密钥对Mi对应的匿名账户;
在得到所述K个子密钥对中的每个子密钥对的匿名账户时,在所述可信执行环境中,通过与所述可信执行环境相关联的可信密钥对中的可信公钥,对所述第一原始账户进行加密处理,得到加密处理后的账户加密信息;
建立所述账户加密信息和K个匿名账户之间的哈希映射关系表,根据所述哈希映射关系表中的K个哈希映射关系,确定所述第一原始账户与所述K个匿名账户之间的映射哈希值;一个哈希映射关系用于确定一个映射哈希值。


6.根据权利要求1所述的方法,其特征在于,还包括:
将所述K个匿名账户中的每个匿名账户以及所述每个匿名账户对应的映射哈希值进行打包处理,得到待写入所述中心节点所属的区块链的待验证区块;
将所述待验证区块广播至所述区块链上的共识节点,以使所述共识节点对获取到的所述待验证区块进行共识,得到共识结果;所述共识节点和所述中心节点均为所述区块链上的区块链节点;
若在所述共识节点所返回的共识结果中存在超过1/2的共识结果指示共识成功,则确定所述区块链上的区块链节点达成共识,将所述待验证区块作为目标区块写入所述区块链。


7.根据权利要求5所述的方法,其特征在于,所述K个匿名账户中包含第一匿名账户,所述第一匿名账户用于指示所述第一用户终端执行向第二匿名账户对应的第二用户终端进行资产转移的目标业务;
所述方法还包括:
接收第一用户终端基于第一匿名账户所发送的资产转移请求;所述资产转移请求中携带所述目标业务对应的资产...

【专利技术属性】
技术研发人员:黄焕坤王宗友刘攀张劲松朱耿良时一防廖志勇周开班刘区城杨常青蓝虎
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1