首页 / 专利库 / 银行与财务事项 / 货币 / 数字货币 / 一种硬钱包及基于硬钱包的验证方法

一种硬钱包及基于硬钱包的验证方法

阅读:1057发布:2020-06-14

专利汇可以提供一种硬钱包及基于硬钱包的验证方法专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种硬钱包及基于硬钱包的验证方法,涉及 数字 货币 技术领域,解决了现有硬钱包传输数据不安全的技术问题。本申请的硬钱包包括:输入模 块 、显示模块、密钥存储模块、内部处理模块和通信模块;输入模块、显示模块、密钥存储模块分别与内部处理模块连接;内部处理模块与通信模块连接;通信模块与移动终端连接;其中,密钥存储模块用于存储用户的认证信息,账户的密钥信息,设置内部标志位,生成临时的公私钥对,以及对交易数据进行签名。本申请主要用于 区块链 钱包。,下面是一种硬钱包及基于硬钱包的验证方法专利的具体信息内容。

1.一种硬钱包,其特征在于,包括:输入模、显示模块、密钥存储模块、内部处理模块和通信模块;输入模块、显示模块、密钥存储模块分别与内部处理模块连接;内部处理模块与通信模块连接;通信模块与移动终端连接;其中,密钥存储模块用于存储用户的认证信息,账户的密钥信息,设置内部标志位,生成临时的公私钥对,以及对交易数据进行签名。
2.如权利要求1所述的硬钱包,其特征在于,内部处理模块将从通信模块接收的指令分发到输入模块、显示模块或者密钥存储模块。
3.如权利要求2所述的硬钱包,其特征在于,密钥存储模块基于ECC非对称算法生成临时公私钥对或者对交易数据进行签名。
4.如权利要求3所述的硬钱包,其特征在于,密钥存储模块利用分层确定性的方法生成临时的公私钥对。
5.一种使用硬钱包验证的方法,其特征在于,包括:
通信模块接收移动终端发送的请求第一公钥的请求,并将请求发送给内部处理模块,内部处理模块将请求发送给密钥存储模块;
密钥存储模块生成第一公私钥对,密钥存储模块依次经内部处理模块、通信模块向移动终端返回第一公钥;
通信模块接收移动终端发送的用第一公钥加密的用户的认证信息和第一信息的密文信息、第二公钥,并将加密后的密文信息和第二公钥经内部处理模块返回给密钥存储模块;
密钥存储模块解密密文信息,验证密文信息中的认证信息;
响应于解密得到的认证信息与密钥存储模块内部存储的认证信息匹配或者认证信息定,密钥存储模块设置内部标志位,生成第一会话密钥和第一收条,并将第一收条经内部处理模块和通信模块返回移动终端,移动终端判断是否开启安全通道;
响应于安全通道开启,密钥存储模块判断内部标志位,响应于内部标志位为假,硬钱包与移动终端直接进行交易。
6.如权利要求5所述的方法,其特征在于,密钥存储模块验证密文信息中的认证信息的方法为:
密钥存储模块用第一私钥解密密文信息,得到包含认证信息的明文信息;
密钥存储模块将解密得到的认证信息与内部存储的认证信息进行比较;
密钥存储模块判断解密得到的认证信息与内部存储的认证信息是否匹配、认证信息是否锁定以及得到的认证信息是否有剩余尝试次数。
7.如权利要求6所述的方法,其特征在于,响应于密钥存储模块判断解密得到的认证信息与内部存储的认证信息不匹配且还有剩余尝试次数,密钥存储模块将信息反馈给内部处理模块,内部处理模块指示通信模块与移动终端断开连接。
8.如权利要求5所述的方法,其特征在于,密钥存储模块判断内部标志位时,响应于内部标志位为真,密钥存储模块执行重置认证信息的指令,重置认证信息的指令完成后,硬钱包与移动终端开始进行交易。
9.一种基于硬钱包的验证方法,其特征在于,包括:
移动终端向硬钱包请求第一公钥;
硬钱包向移动终端返回第一公钥;
移动终端请求用户输入认证信息,生成第二公私钥对,将用户的认证信息和第一信息用硬钱包返回的第一公钥加密,将加密后的密文信息和第二公钥返回给硬钱包;
硬钱包验证认证信息,硬钱包用第一私钥解密密文信息得到包含认证信息的明文信息,提取出的认证信息与内部存储的认证信息进行比较;
响应于提取出的认证信息与硬钱包内部存储的认证信息匹配或者认证信息锁定,硬钱包设置内部标志位,根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条,并将第一收条返回移动终端;
移动终端根据密钥分散算法,用第二私钥、第一公钥、用户的认证信息和第一信息计算出安全通道的第二会话密钥和第二收条;
移动终端比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包与移动终端安全通道开启;
安全通道开启后,响应于硬钱包判断内部标志位为假,硬钱包与移动终端直接进行交易。
10.如权利要求9所述的方法,其特征在于,响应于第一收条和第二收条不一致,过程密钥协商失败,密钥存储模块将信息反馈给内部处理模块,内部处理模块指示通信模块与移动终端断开连接。

说明书全文

一种硬钱包及基于硬钱包的验证方法

技术领域

[0001] 本申请涉及数字货币技术领域,具体涉及一种硬钱包及基于硬钱包的验证方法。

背景技术

[0002] 链钱包作为数字货币系统中的一部分,在其中担任着密钥存储和交易签名的功能。区块链钱包有几种不同的形式,比如纸钱包、热钱包和硬钱包,由于硬钱包将密钥存储在硬件中而且能够实现密钥离线存储,吸引了很多数字货币投资者的追捧。
[0003] 在实际应用中,当用户需要交易时,手机app或者PC端app和硬钱包进行连接,建立安全通道生成相同的过程密钥,然后基于此过程密钥进行后续的认证信息验证、交易数据发送、获取签名等操作。
[0004] 认证信息代表用户的身份信息,也就是硬钱包真正的持有者。在上述流程中,app与硬钱包建立连接后,通信双方先要建立一个安全通道生成相同的过程密钥后,才能验证认证信息的有效性;而且对认证信息加密的密钥一般是对称密钥,对称密钥的安全性较低,此时硬钱包相当于联网状态,一旦恶意的用户截获到通信数据并通过暴运算很可能破解用户认证信息,造成关键信息的泄露。发明内容
[0005] 本申请的目的在于提出一种硬钱包、一种使用硬钱包验证的方法以及一种基于硬钱包的验证方法,用于解决现有硬钱包传输数据不安全的技术问题。
[0006] 本申请的硬钱包包括:输入模块、显示模块、密钥存储模块、内部处理模块和通信模块;输入模块、显示模块、密钥存储模块分别与内部处理模块连接;内部处理模块与通信模块连接;通信模块与移动终端连接;其中,密钥存储模块用于存储用户的认证信息,账户的密钥信息,设置内部标志位,生成临时的公私钥对,以及对交易数据进行签名。
[0007] 优选地,内部处理模块将从通信模块接收的指令分发到输入模块、显示模块或者密钥存储模块。
[0008] 优选地,密钥存储模块基于ECC非对称算法生成临时公私钥对或者对交易数据进行签名。
[0009] 优选地,密钥存储模块利用分层确定性的方法生成临时的公私钥对。
[0010] 本申请的硬钱包,一方面,基于非对称算法生成临时公私钥对,在每一次使用硬钱包,建立硬钱包和移动终端的交易过程中随机生成的,因此后续计算出来的过程密钥每次都是不一样的,做到一次一密;另一方面,将认证信息验证和安全通道建立的流程合并,无需单独发送校验认证信息指令,减少了执行指令的时间,提高了通信效率。
[0011] 本申请还提出一种使用硬钱包验证的方法,包括:通信模块接收移动终端发送的请求第一公钥的请求,并将请求发送给内部处理模块,内部处理模块将请求发送给密钥存储模块;密钥存储模块生成第一公私钥对,密钥存储模块依次经内部处理模块、通信模块向移动终端返回第一公钥;通信模块接收移动终端发送的用第一公钥加密的用户的认证信息和第一信息的密文信息、第二公钥,并将加密后的密文信息和第二公钥经内部处理模块返回给密钥存储模块;密钥存储模块解密密文信息,验证密文信息中的认证信息;响应于解密得到的认证信息与密钥存储模块内部存储的认证信息匹配或者认证信息定,密钥存储模块设置内部标志位,生成第一会话密钥和第一收条,并将第一收条经内部处理模块和通信模块返回移动终端,移动终端判断是否开启安全通道;响应于安全通道开启,密钥存储模块判断内部标志位,响应于内部标志位为假,硬钱包与移动终端直接进行交易。
[0012] 优选地,密钥存储模块验证密文信息中的认证信息的方法为:密钥存储模块用第一私钥解密密文信息,得到包含认证信息的明文信息;密钥存储模块将解密得到的认证信息与内部存储的认证信息进行比较;密钥存储模块判断解密得到的认证信息与内部存储的认证信息是否匹配、认证信息是否锁定以及得到的认证信息是否有剩余尝试次数。
[0013] 可选地,响应于密钥存储模块判断解密得到的认证信息与内部存储的认证信息不匹配且还有剩余尝试次数,密钥存储模块将信息反馈给内部处理模块,内部处理模块指示通信模块与移动终端断开连接。
[0014] 可选地,密钥存储模块判断内部标志位时,响应于内部标志位为真,密钥存储模块执行重置认证信息的指令,重置认证信息的指令完成后,硬钱包与移动终端开始进行交易。
[0015] 本申请的使用硬钱包验证的方法与本申请的硬钱包的技术效果一致,在此就不一一赘述。
[0016] 本申请还提出一种基于硬钱包的验证方法,包括:
[0017] 移动终端向硬钱包请求第一公钥;
[0018] 硬钱包向移动终端返回第一公钥;
[0019] 移动终端请求用户输入认证信息,生成第二公私钥对,将用户的认证信息和第一信息用硬钱包返回的第一公钥加密,将加密后的密文信息和第二公钥返回给硬钱包;
[0020] 硬钱包验证认证信息,硬钱包用第一私钥解密密文信息得到包含认证信息的明文信息,提取出的认证信息与内部存储的认证信息进行比较;
[0021] 响应于提取出的认证信息与硬钱包内部存储的认证信息匹配或者认证信息锁定,硬钱包设置内部标志位,根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条,并将第一收条返回移动终端;
[0022] 移动终端根据密钥分散算法,用第二私钥、第一公钥、用户的认证信息和第一信息计算出安全通道的第二会话密钥和第二收条;
[0023] 移动终端比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包与移动终端安全通道开启;
[0024] 安全通道开启后,响应于硬钱包判断内部标志位为假,硬钱包与移动终端直接进行交易。
[0025] 可选地,响应于第一收条和第二收条不一致,过程密钥协商失败,密钥存储模块将信息反馈给内部处理模块,内部处理模块指示通信模块与移动终端断开连接。
[0026] 本申请的基于硬钱包的验证方法与本申请的硬钱包的技术效果一致,在此就不一一赘述。附图说明
[0027] 为了更清楚地说明本申请实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0028] 图1是本申请的硬钱包的结构示意图;
[0029] 图2是本申请的基于硬钱包的验证方法。
[0030] 附图标记说明:
[0031] 1—硬钱包;11—输入模块;12—显示模块;
[0032] 13—密钥存储模块;14—内部处理模块;15—通信模块;
[0033] 2—移动终端。

具体实施方式

[0034] 下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0035] 实施例一
[0036] 图1是本申请的硬钱包的结构示意图,如图1所示,本申请的硬钱包1括输入模块11、显示模块12、密钥存储模块13、内部处理模块14和通信模块15;输入模块11、显示模块
12、密钥存储模块13分别与内部处理模块14连接;内部处理模块14与通信模块15连接;通信模块15与移动终端2连接。
[0037] 本申请的硬钱包1,基于ECC非对称算法验证认证信息的有效性,在建立安全通道的过程中,提高了通信效率,提升了数据传输的安全性。
[0038] 具体地,输入模块11用于用户对签名过程中的按键确认,或者是翻页操作。显示模块12用于显示生成的助记词以及交易过程中的地址、金额信息,便于用户确认和记录。内部处理模块14起到中转作用,接收通信模块15的指令,并将指令分发到不同的模块处理,并将处理结果通过通信模块15返回给移动终端2。需要解释的是,内部处理模块14将指令分发到不同的模块指的是输入模块11、显示模块12、密钥存储模块13;移动终端2指的是手机、平板电脑、PC端中的一种或多种。通信模块15用于内部处理模块14与移动终端2进行数据交互。通信模块15的通信可以是USB通信,可以是蓝牙通信,也可以是wifi通信。
[0039] 优选地,密钥存储模块13,用于安全存储用户的PIN(Personal Identification Number)码、不同币种不同账户的密钥信息、生成临时的公私钥对,对交易数据进行签名等功能;基于ECC(Elliptic curve cryptography,椭圆曲线密码体制)非对称算法验证认证信息的有效性。更具体地,密钥存储模块13的实现方式采用的是bip(Bitcoin Improvement Proposals,比特币改进协议)32/bip39提到的分层确定性钱包,即利用分层确定性的方法生成交易时使用的临时的公私钥对。
[0040] 实施例二
[0041] 本实施例适用于上述实施例所述的硬钱包1。图2是本申请的基于硬钱包1的验证方法,如图2所示,本申请的基于硬钱包1的验证方法,包括:
[0042] 移动终端2向硬钱包1请求第一公钥(210);
[0043] 具体地,通信模块15接收移动终端2发送的请求第一公钥的请求,并将请求发送给内部处理模块14,内部处理模块14将请求发送给密钥存储模块13。
[0044] 硬钱包1向移动终端2返回第一公钥(220);
[0045] 优选地,密钥存储模块13生成第一公私钥对,密钥存储模块13依次经内部处理模块14、通信模块15向移动终端2返回第一公钥。示例性地,密钥存储模块13采用ECC算法中的secp256k1算法生成第一公私钥对;第一公钥可用Wallet.Pubkey表示,第一私钥可用Wallet.Prikey表示。
[0046] 移动终端2请求用户输入认证信息,生成第二公私钥对,将用户的认证信息和第一信息用硬钱包1返回的第一公钥加密,将加密后的密文信息和第二公钥返回给硬钱包1(230);
[0047] 可选地,用户输入认证信息,移动终端2采用ECC算法中的secp256k1算法生成第二公私钥对,将用户的认证信息和第一信息用硬钱包1返回的第一公钥加密,将加密后的密文信息和第二公钥返回给硬钱包1。第二公钥可用Device.Pubkey表示,第二私钥可用Device.Prikey表示,密文信息可用E_SharedInfo表示,其对应的明文信息:认证信息和第一信息,用SharedInfo表示。需要指出的是,第一信息包括第一会话密钥类型、第一会话密钥长度和随机数。示例性地,认证信息为PIN码、指纹、虹膜中的一种或多种。
[0048] 表1是认证信息为PIN码的SharedInfo结构的示例。
[0049]
[0050] 更具体地,通信模块15接收移动终端2发送的用第一公钥加密的用户的认证信息和第一信息的密文信息、第二公钥,并将加密后的密文信息和第二公钥经内部处理模块14返回给密钥存储模块13。
[0051] 硬钱包1验证认证信息,硬钱包1用第一私钥解密密文信息得到包含认证信息的明文信息,提取出的认证信息与内部存储的认证信息进行比较(240);
[0052] 具体地,密钥存储模块13解密密文信息,验证密文信息中的认证信息。更具体地,密钥存储模块13用第一私钥解密密文信息,得到包含认证信息的明文信息;密钥存储模块13将解密得到的认证信息与内部存储的认证信息进行比较;密钥存储模块13判断解密得到的认证信息与内部存储的认证信息是否匹配、认证信息是否锁定以及得到的认证信息是否有剩余尝试次数。需要解释的是,认证信息没有尝试次数的时候,认证信息锁定。
[0053] 优选地,响应于密钥存储模块13判断解密得到的认证信息与内部存储的认证信息不匹配且还有剩余尝试次数,密钥存储模块13将信息反馈给内部处理模块14,内部处理模块14指示通信模块15与移动终端2断开连接。
[0054] 响应于提取出的认证信息与硬钱包1内部存储的认证信息匹配或者认证信息锁定,硬钱包1设置内部标志位,根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条,并将第一收条返回移动终端2(250);
[0055] 具体地,响应于解密得到的认证信息与密钥存储模块13内部存储的认证信息匹配或者认证信息锁定,密钥存储模块13设置内部标志位,生成第一会话密钥和第一收条,并将第一收条经内部处理模块14和通信模块15返回移动终端2。在一种实施方式中,密钥存储模块13将内部标志位默认设置为假,只有PIN锁定时,内部标志位为真。
[0056] 更具体地,密钥存储模块13根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条。
[0057] 需要解释的是,硬钱包1密钥存储模块13采用基于ECC算法的ECKA-EG算法用第一私钥和第二公钥协商得到第一公式T_W,第一公式T_W为:
[0058] T_W=ECKA-EG(Wallet.Pribkey,Device.Pubkey)  公式(1)
[0059] 然后根据ECC算法中的“X9.63Key Derivation Function”得到第一收条密钥和第一会话密钥,第二公式为:
[0060] KeyData=KDF(T_W,SharedInfo)  公式(2)
[0061] 其中,KDF为Key Derivation Function的缩写,KeyData结构可用下表表示:
[0062]
[0063] 其中,L为发送指令中指定的第一会话密钥长度。密钥存储模块13用第一会话密钥类型对应的算法和第一收条密钥,对发送的数据做一个签名运算,取前L字节作为第一收条,返回到移动终端2;
[0064] 移动终端2根据密钥分散算法,用第二私钥、第一公钥、用户的认证信息和第一信息计算出安全通道的第二会话密钥和第二收条(260);
[0065] 需要指出的是,移动终端2采用基于ECC算法的ECKA-EG算法用第二私钥和第一公钥进行协商得到第三公式T_D,第三公式为:
[0066] T_D=ECKA-EG(Wallet.Pubkey,Device.Pribkey)  公式(3)
[0067] 然后根据“X9.63Key Derivation Function”得到第二收条密钥和第二会话密钥,第四公式为:
[0068] KeyData=KDF(T_D,SharedInfo)  公式(4)
[0069] KeyData的数据结构与步骤250中的KeyData的数据结构相同。用第二会话密钥类型对应的算法和第二收条密钥,对发送的数据做一个签名运算,取前L字节作为第二收条。
[0070] 移动终端2比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包1与移动终端2安全通道开启(270);
[0071] 优选地,响应于第一收条和第二收条一致,如果相同,过程密钥协商成功,第一会话密钥和第二会话密钥相同,为过程密钥,从而建立起本次通信的安全通道,后续通信用到的安全报文的计算均基于过程密钥。
[0072] 可选地,响应于第一收条和第二收条不一致,过程密钥协商失败,密钥存储模块13将信息反馈给内部处理模块14,内部处理模块14指示通信模块15与移动终端2断开连接。
[0073] 在一个例子中,如果硬钱包1和移动终端2通信时受到攻击导致通信数据被篡改,或者两者使用的公私钥不是一组密钥时,就会出现接收到的数据和发送的数据不一致,也就是计算收条的相关数据不一致,那么计算出的收条和收到的就不一致,导致过程密钥协商失败,断开连接。
[0074] 安全通道开启后,响应于硬钱包1判断内部标志位为假,硬钱包1与移动终端2直接进行交易(280)。
[0075] 具体地,响应于安全通道开启,密钥存储模块13判断内部标志位,响应于内部标志位为假,硬钱包1与移动终端2直接进行交易,继续进行后续的交易流程。响应于内部标志位为真,密钥存储模块13执行重置认证信息的指令,重置认证信息的指令完成后,硬钱包1与移动终端2开始进行交易。硬钱包1的密钥存储模块13采用bip32/bip39提到的分层确定性钱包生成交易时使用的临时公私钥对。
[0076] 需要指出的是,本申请基于非对称算法生成的第一公私钥对、第二公私钥对都是临时公私钥对,在每一次使用硬钱包1,建立硬钱包1和移动终端2的交易过程中随机生成的,因此后续计算出来的过程密钥每次都是不一样的,做到一次一密;同时,将认证信息验证和安全通道建立的流程合并,无需单独发送校验认证信息指令,减少了执行指令的时间。
[0077] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈