一种区块链钱包签名确权方法、装置及系统与流程

文档序号:21087220发布日期:2020-06-12 16:58阅读:来源:国知局

技术特征:

1.一种区块链钱包签名确权方法,其特征在于,在客户端包括以下步骤:

在钱包生成时先获取第一公私钥对和第二公私钥对,并使用所述第一私钥对所述第二公钥签名得到密钥签名值,保存所述密钥签名值、所述第二公私钥对和所述第一公钥;

要求钱包确权时,获取服务端发送的验证码,使用所述第二私钥对至少包括所述验证码在内的数据进行签名得到验证码签名值,把包含所述验证码签名值、所述密钥签名值、所述第一公钥和所述第二公钥在内的数据上传至所述服务端,以供所述服务端用所述第一公钥验证所述密钥签名值来确保所述第二公钥的有效性,用所述第二公钥验证所述验证码签名值来确保所述验证码的有效性和准确性,用所述验证码来认证钱包认证的通信过程的安全可信性。

2.如权利要求1所述的方法,其特征在于,“使用所述第二私钥对至少包括验证码在内的数据进行签名得到验证码签名值”进一步包括:

将包括所述服务端发送的验证码、钱包id和时间戳在内的信息按预设规则设置成原始字符串;

对所述原始字符串进行哈希运算得到哈希信息流;

使用所述第二私钥对所述哈希信息流进行签名得到所述验证码签名值。

3.如权利要求1或2所述的方法,其特征在于,“在钱包生成时先获取第一公私钥对和第二公私钥对”进一步包括:

对表明用户属性信息的用户数据通过两种不同的密钥衍生算法,生成所述第一公私钥对和所述第二公私钥对。

4.如权利要求3所述的方法,其特征在于,其进一步包括:

将用户助记词通过pbkdf2密钥衍生函数,采用hmac-sha512并进行若干次循环,衍生出所述第一公私钥对;将所述第一公私钥对通过ckd算法生成所述第二公私钥对。

5.一种区块链钱包签名确权方法,其特征在于,在服务端包括以下步骤:

向对应客户端发送验证码;

根据获取自所述客户端的验证码签名值、密钥签名值、第一公钥和第二公钥,使用所述第一公钥验证所述密钥签名值,确保所述第二公钥的有效性,其中,所述密钥签名值由所述客户端使用第一私钥对第二公钥签名得到,所述客户端在钱包生成时获取第一公私钥对和第二公私钥对;

使用所述第二公钥验证所述验证码签名值来确保所述验证码的有效性和准确性,所述验证码签名值由所述客户端使用所述第二私钥对至少包括所述验证码在内的数据进行签名得到;

使用所述验证码来认证钱包认证的通信过程的安全可信性。

6.如权利要求5所述的方法,其特征在于,“使用所述第二公钥验证所述验证码签名值来确保验证码的准确性和有效性”进一步包括:

获取预先缓存的验证码,按预先设定的规则设置成字符串,并将该字符串进行哈希运算得到哈希信息流;

用所述第二公钥验证所述验证码签名值,与本端计算所得的所述哈希信息流进行对比,验证其验证码的有效性。

7.一种用于区块链钱包签名确权的客户端装置,其特征在于,包括:

密钥签名生成模块,用于获取第一公私钥对和第二公私钥对,使用所述第一私钥对所述第二公钥签名得到密钥签名值;

存储模块,与所述密钥签名生成模块连接,用于存储所述密钥签名值、所述第二公私钥对和所述第一公钥;

确权请求模块,与所述存储模块连接,用于被要求确权时,获取服务端发送的验证码,使用所述第二私钥对至少包括所述验证码在内的数据进行签名得到验证码签名值;

传输模块,分别与所述存储模块和所述确权请求模块连接,用于把包含所述验证码签名值、所述密钥签名值、所述第一公钥和所述第二公钥在内的数据上传;

确权回复模块,用于供所述服务端用所述第一公钥验证所述密钥签名值来确保所述第二公钥的有效性,用所述第二公钥验证所述验证码签名值来确保所述验证码的有效性和准确性,用所述验证码来认证钱包认证的通信过程的安全可信性,接收并处理服务端返回的确权结果。

8.如权利要求7所述的客户端装置,其特征在于,所述确权请求模块进一步包括:

验证码获取子模块,用于获取服务端发送的验证码;

字符串设置子模块,连接所述验证码获取子模块,用于将包括所述验证码、钱包id和时间戳在内的信息按预设规则设置成原始字符串;

信息流设置子模块,连接所述字符串设置子模块,用于对所述原始字符串进行哈希运算得到哈希信息流;

验证码签名值计算子模块,连接所述信息流设置子模块和所述存储模块,用于使用所述第二私钥对所述哈希信息流进行签名得到验证码签名值。

9.一种用于区块链钱包签名确权的服务端装置,其特征在于,包括:

交互模块,用于建立与对应的客户端之间的通信;

确权处理模块,连接所述交互模块,用以用所述第一公钥验证所述密钥签名值来确保所述第二公钥的有效性,用所述第二公钥验证所述验证码签名值来确保所述验证码的有效性和准确性,用所述验证码来认证钱包认证的通信过程的安全可信性,并经由所述交互模块返回确权结果。

10.如权利要求9所述的服务端装置,其特征在于,所述确权处理模块还包括:

验证码签名值再计算子模块:用于获取预先缓存的验证码,按预先设定的规则设置成字符串,并将该字符串进行哈希运算得到哈希信息流;

验证码验证子模块:用所述第二公钥验证所述验证码签名值,与验证码签名值再计算子模块计算所得的所述哈希信息流进行对比,验证其验证码的有效性。

11.一种区块链钱包签名确权系统,其特征在于,包括如权利要求7或8所述的客户端装置及如权利要求9或10所述的服务端装置。

12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如权利要求1至4中任一项所述的方法被执行。


技术总结
本发明提供一种区块链钱包签名确权方法、装置及系统,该区块链钱包签名确权方法,包括:客户端在钱包生成时先获取第一公私钥对和第二公私钥对,并使用第一私钥对第二公钥签名得到密钥签名值,保存密钥签名值、第二公私钥对和第一公钥;客户端要求钱包确权时,获取服务端发送的验证码,使用第二私钥对至少包括验证码在内的数据进行签名得到验证码签名值,把包含验证码签名值、密钥签名值、第一公钥和第二公钥在内的数据上传至服务端以供服务端用第一公钥验证密钥签名值来确保第二公钥的有效性,用第二公钥验证验证码签名值来确保验证码的准确性和有效性,用验证码来认证钱包认证的通信过程的安全可信性。本发明安全性高,流程简单。

技术研发人员:马龙;刘毅;王蒙
受保护的技术使用者:上海佩俪信息科技有限公司
技术研发日:2020.01.17
技术公布日:2020.06.12
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1