CN109754241B - 一种硬钱包及基于硬钱包的验证方法 - Google Patents

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

Info

Publication number
CN109754241B
CN109754241B CN201811611966.3A CN201811611966A CN109754241B CN 109754241 B CN109754241 B CN 109754241B CN 201811611966 A CN201811611966 A CN 201811611966A CN 109754241 B CN109754241 B CN 109754241B
Authority
CN
China
Prior art keywords
key
receipt
authentication information
information
mobile terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811611966.3A
Other languages
English (en)
Other versions
CN109754241A (zh
Inventor
孔素红
陆道如
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hengbao Co Ltd
Original Assignee
Hengbao Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hengbao Co Ltd filed Critical Hengbao Co Ltd
Priority to CN201811611966.3A priority Critical patent/CN109754241B/zh
Publication of CN109754241A publication Critical patent/CN109754241A/zh
Application granted granted Critical
Publication of CN109754241B publication Critical patent/CN109754241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

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

Description

一种硬钱包及基于硬钱包的验证方法
技术领域
本申请涉及数字货币技术领域,具体涉及一种硬钱包及基于硬钱包的验证方法。
背景技术
区块链钱包作为数字货币系统中的一部分,在其中担任着密钥存储和交易签名的功能。区块链钱包有几种不同的形式,比如纸钱包、热钱包和硬钱包,由于硬钱包将密钥存储在硬件中而且能够实现密钥离线存储,吸引了很多数字货币投资者的追捧。
在实际应用中,当用户需要交易时,手机app或者PC端app和硬钱包进行连接,建立安全通道生成相同的过程密钥,然后基于此过程密钥进行后续的认证信息验证、交易数据发送、获取签名等操作。
认证信息代表用户的身份信息,也就是硬钱包真正的持有者。在上述流程中,app与硬钱包建立连接后,通信双方先要建立一个安全通道生成相同的过程密钥后,才能验证认证信息的有效性;而且对认证信息加密的密钥一般是对称密钥,对称密钥的安全性较低,此时硬钱包相当于联网状态,一旦恶意的用户截获到通信数据并通过暴力运算很可能破解用户认证信息,造成关键信息的泄露。
发明内容
本申请的目的在于提出一种硬钱包、一种使用硬钱包验证的方法以及一种基于硬钱包的验证方法,用于解决现有硬钱包传输数据不安全的技术问题。
本申请的硬钱包包括:输入模块、显示模块、密钥存储模块、内部处理模块和通信模块;输入模块、显示模块、密钥存储模块分别与内部处理模块连接;内部处理模块与通信模块连接;通信模块与移动终端连接;其中,密钥存储模块用于存储用户的认证信息,账户的密钥信息,设置内部标志位,生成临时的公私钥对,以及对交易数据进行签名。
优选地,内部处理模块将从通信模块接收的指令分发到输入模块、显示模块或者密钥存储模块。
优选地,密钥存储模块基于ECC非对称算法生成临时公私钥对或者对交易数据进行签名。
优选地,密钥存储模块利用分层确定性的方法生成临时的公私钥对。
本申请的硬钱包,一方面,基于非对称算法生成临时公私钥对,在每一次使用硬钱包,建立硬钱包和移动终端的交易过程中随机生成的,因此后续计算出来的过程密钥每次都是不一样的,做到一次一密;另一方面,将认证信息验证和安全通道建立的流程合并,无需单独发送校验认证信息指令,减少了执行指令的时间,提高了通信效率。
本申请还提出一种使用硬钱包验证的方法,包括:通信模块接收移动终端发送的请求第一公钥的请求,并将请求发送给内部处理模块,内部处理模块将请求发送给密钥存储模块;密钥存储模块生成第一公私钥对,密钥存储模块依次经内部处理模块、通信模块向移动终端返回第一公钥;通信模块接收移动终端发送的用第一公钥加密的用户的认证信息和第一信息的密文信息、第二公钥,并将加密后的密文信息和第二公钥经内部处理模块返回给密钥存储模块;密钥存储模块解密密文信息,验证密文信息中的认证信息;响应于解密得到的认证信息与密钥存储模块内部存储的认证信息匹配或者认证信息锁定,密钥存储模块设置内部标志位,生成第一会话密钥和第一收条,并将第一收条经内部处理模块和通信模块返回移动终端,移动终端判断是否开启安全通道;响应于安全通道开启,密钥存储模块判断内部标志位,响应于内部标志位为假,硬钱包与移动终端直接进行交易。
优选地,密钥存储模块验证密文信息中的认证信息的方法为:密钥存储模块用第一私钥解密密文信息,得到包含认证信息的明文信息;密钥存储模块将解密得到的认证信息与内部存储的认证信息进行比较;密钥存储模块判断解密得到的认证信息与内部存储的认证信息是否匹配、认证信息是否锁定以及得到的认证信息是否有剩余尝试次数。
可选地,响应于密钥存储模块判断解密得到的认证信息与内部存储的认证信息不匹配且还有剩余尝试次数,密钥存储模块将信息反馈给内部处理模块,内部处理模块指示通信模块与移动终端断开连接。
可选地,密钥存储模块判断内部标志位时,响应于内部标志位为真,密钥存储模块执行重置认证信息的指令,重置认证信息的指令完成后,硬钱包与移动终端开始进行交易。
本申请的使用硬钱包验证的方法与本申请的硬钱包的技术效果一致,在此就不一一赘述。
本申请还提出一种基于硬钱包的验证方法,包括:
移动终端向硬钱包请求第一公钥;
硬钱包向移动终端返回第一公钥;
移动终端请求用户输入认证信息,生成第二公私钥对,将用户的认证信息和第一信息用硬钱包返回的第一公钥加密,将加密后的密文信息和第二公钥返回给硬钱包;
硬钱包验证认证信息,硬钱包用第一私钥解密密文信息得到包含认证信息的明文信息,提取出的认证信息与内部存储的认证信息进行比较;
响应于提取出的认证信息与硬钱包内部存储的认证信息匹配或者认证信息锁定,硬钱包设置内部标志位,根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条,并将第一收条返回移动终端;
移动终端根据密钥分散算法,用第二私钥、第一公钥、用户的认证信息和第一信息计算出安全通道的第二会话密钥和第二收条;
移动终端比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包与移动终端安全通道开启;
安全通道开启后,响应于硬钱包判断内部标志位为假,硬钱包与移动终端直接进行交易。
可选地,响应于第一收条和第二收条不一致,过程密钥协商失败,密钥存储模块将信息反馈给内部处理模块,内部处理模块指示通信模块与移动终端断开连接。
本申请的基于硬钱包的验证方法与本申请的硬钱包的技术效果一致,在此就不一一赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请的硬钱包的结构示意图;
图2是本申请的基于硬钱包的验证方法。
附图标记说明:
1—硬钱包; 11—输入模块; 12—显示模块;
13—密钥存储模块; 14—内部处理模块; 15—通信模块;
2—移动终端。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1是本申请的硬钱包的结构示意图,如图1所示,本申请的硬钱包1括输入模块11、显示模块12、密钥存储模块13、内部处理模块14和通信模块15;输入模块11、显示模块12、密钥存储模块13分别与内部处理模块14连接;内部处理模块14与通信模块15连接;通信模块15与移动终端2连接。
本申请的硬钱包1,基于ECC非对称算法验证认证信息的有效性,在建立安全通道的过程中,提高了通信效率,提升了数据传输的安全性。
具体地,输入模块11用于用户对签名过程中的按键确认,或者是翻页操作。显示模块12用于显示生成的助记词以及交易过程中的地址、金额信息,便于用户确认和记录。内部处理模块14起到中转作用,接收通信模块15的指令,并将指令分发到不同的模块处理,并将处理结果通过通信模块15返回给移动终端2。需要解释的是,内部处理模块14将指令分发到不同的模块指的是输入模块11、显示模块12、密钥存储模块13;移动终端2指的是手机、平板电脑、PC端中的一种或多种。通信模块15用于内部处理模块14与移动终端2进行数据交互。通信模块15的通信可以是USB通信,可以是蓝牙通信,也可以是wifi通信。
优选地,密钥存储模块13,用于安全存储用户的PIN(Personal IdentificationNumber)码、不同币种不同账户的密钥信息、生成临时的公私钥对,对交易数据进行签名等功能;基于ECC(Elliptic curve cryptography,椭圆曲线密码体制)非对称算法验证认证信息的有效性。更具体地,密钥存储模块13的实现方式采用的是bip(Bitcoin ImprovementProposals,比特币改进协议)32/bip39提到的分层确定性钱包,即利用分层确定性的方法生成交易时使用的临时的公私钥对。
实施例二
本实施例适用于上述实施例所述的硬钱包1。图2是本申请的基于硬钱包1的验证方法,如图2所示,本申请的基于硬钱包1的验证方法,包括:
移动终端2向硬钱包1请求第一公钥(210);
具体地,通信模块15接收移动终端2发送的请求第一公钥的请求,并将请求发送给内部处理模块14,内部处理模块14将请求发送给密钥存储模块13。
硬钱包1向移动终端2返回第一公钥(220);
优选地,密钥存储模块13生成第一公私钥对,密钥存储模块13依次经内部处理模块14、通信模块15向移动终端2返回第一公钥。示例性地,密钥存储模块13采用ECC算法中的secp256k1算法生成第一公私钥对;第一公钥可用Wallet.Pubkey表示,第一私钥可用Wallet.Prikey表示。
移动终端2请求用户输入认证信息,生成第二公私钥对,将用户的认证信息和第一信息用硬钱包1返回的第一公钥加密,将加密后的密文信息和第二公钥返回给硬钱包1(230);
可选地,用户输入认证信息,移动终端2采用ECC算法中的secp256k1算法生成第二公私钥对,将用户的认证信息和第一信息用硬钱包1返回的第一公钥加密,将加密后的密文信息和第二公钥返回给硬钱包1。第二公钥可用Device.Pubkey表示,第二私钥可用Device.Prikey表示,密文信息可用E_SharedInfo表示,其对应的明文信息:认证信息和第一信息,用SharedInfo表示。需要指出的是,第一信息包括第一会话密钥类型、第一会话密钥长度和随机数。示例性地,认证信息为PIN码、指纹、虹膜中的一种或多种。
表1是认证信息为PIN码的SharedInfo结构的示例。
Figure GDA0003301826160000061
更具体地,通信模块15接收移动终端2发送的用第一公钥加密的用户的认证信息和第一信息的密文信息、第二公钥,并将加密后的密文信息和第二公钥经内部处理模块14返回给密钥存储模块13。
硬钱包1验证认证信息,硬钱包1用第一私钥解密密文信息得到包含认证信息的明文信息,提取出的认证信息与内部存储的认证信息进行比较(240);
具体地,密钥存储模块13解密密文信息,验证密文信息中的认证信息。更具体地,密钥存储模块13用第一私钥解密密文信息,得到包含认证信息的明文信息;密钥存储模块13将解密得到的认证信息与内部存储的认证信息进行比较;密钥存储模块13判断解密得到的认证信息与内部存储的认证信息是否匹配、认证信息是否锁定以及得到的认证信息是否有剩余尝试次数。需要解释的是,认证信息没有尝试次数的时候,认证信息锁定。
优选地,响应于密钥存储模块13判断解密得到的认证信息与内部存储的认证信息不匹配且还有剩余尝试次数,密钥存储模块13将信息反馈给内部处理模块14,内部处理模块14指示通信模块15与移动终端2断开连接。
响应于提取出的认证信息与硬钱包1内部存储的认证信息匹配或者认证信息锁定,硬钱包1设置内部标志位,根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条,并将第一收条返回移动终端2(250);
具体地,响应于解密得到的认证信息与密钥存储模块13内部存储的认证信息匹配或者认证信息锁定,密钥存储模块13设置内部标志位,生成第一会话密钥和第一收条,并将第一收条经内部处理模块14和通信模块15返回移动终端2。在一种实施方式中,密钥存储模块13将内部标志位默认设置为假,只有PIN锁定时,内部标志位为真。
更具体地,密钥存储模块13根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条。
需要解释的是,硬钱包1密钥存储模块13采用基于ECC算法的ECKA-EG算法用第一私钥和第二公钥协商得到第一公式T_W,第一公式T_W为:
T_W=ECKA-EG(Wallet.Pribkey,Device.Pubkey) 公式(1)
然后根据ECC算法中的“X9.63 Key Derivation Function”得到第一收条密钥和第一会话密钥,第二公式为:
KeyData=KDF(T_W,SharedInfo) 公式(2)
其中,KDF为Key Derivation Function的缩写,KeyData结构可用下表表示:
Figure GDA0003301826160000081
其中,L为发送指令中指定的第一会话密钥长度。密钥存储模块13用第一会话密钥类型对应的算法和第一收条密钥,对发送的数据做一个签名运算,取前L字节作为第一收条,返回到移动终端2;
移动终端2根据密钥分散算法,用第二私钥、第一公钥、用户的认证信息和第一信息计算出安全通道的第二会话密钥和第二收条(260);
需要指出的是,移动终端2采用基于ECC算法的ECKA-EG算法用第二私钥和第一公钥进行协商得到第三公式T_D,第三公式为:
T_D=ECKA-EG(Wallet.Pubkey,Device.Pribkey) 公式(3)
然后根据“X9.63 Key Derivation Function”得到第二收条密钥和第二会话密钥,第四公式为:
KeyData=KDF(T_D,SharedInfo) 公式(4)
KeyData的数据结构与步骤250中的KeyData的数据结构相同。用第二会话密钥类型对应的算法和第二收条密钥,对发送的数据做一个签名运算,取前L字节作为第二收条。
移动终端2比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包1与移动终端2安全通道开启(270);
优选地,响应于第一收条和第二收条一致,如果相同,过程密钥协商成功,第一会话密钥和第二会话密钥相同,为过程密钥,从而建立起本次通信的安全通道,后续通信用到的安全报文的计算均基于过程密钥。
可选地,响应于第一收条和第二收条不一致,过程密钥协商失败,密钥存储模块13将信息反馈给内部处理模块14,内部处理模块14指示通信模块15与移动终端2断开连接。
在一个例子中,如果硬钱包1和移动终端2通信时受到攻击导致通信数据被篡改,或者两者使用的公私钥不是一组密钥时,就会出现接收到的数据和发送的数据不一致,也就是计算收条的相关数据不一致,那么计算出的收条和收到的就不一致,导致过程密钥协商失败,断开连接。
安全通道开启后,响应于硬钱包1判断内部标志位为假,硬钱包1与移动终端2直接进行交易(280)。
具体地,响应于安全通道开启,密钥存储模块13判断内部标志位,响应于内部标志位为假,硬钱包1与移动终端2直接进行交易,继续进行后续的交易流程。响应于内部标志位为真,密钥存储模块13执行重置认证信息的指令,重置认证信息的指令完成后,硬钱包1与移动终端2开始进行交易。硬钱包1的密钥存储模块13采用bip32/bip39提到的分层确定性钱包生成交易时使用的临时公私钥对。
需要指出的是,本申请基于非对称算法生成的第一公私钥对、第二公私钥对都是临时公私钥对,在每一次使用硬钱包1,建立硬钱包1和移动终端2的交易过程中随机生成的,因此后续计算出来的过程密钥每次都是不一样的,做到一次一密;同时,将认证信息验证和安全通道建立的流程合并,无需单独发送校验认证信息指令,减少了执行指令的时间。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (7)

1.一种硬钱包,其特征在于,包括:输入模块、显示模块、密钥存储模块、内部处理模块和通信模块;输入模块、显示模块、密钥存储模块分别与内部处理模块连接;内部处理模块与通信模块连接;通信模块与移动终端连接;其中,密钥存储模块用于存储用户的认证信息,账户的密钥信息,设置内部标志位,生成临时的公私钥对,以及对交易数据进行签名;
其中,输入模块:用于用户对签名过程中的按键确认,或者翻页操作;
显示模块:用于显示生成的助记词以及交易过程中的地址、金额信息,便于用户确认和记录;
通信模块:用于内部处理模块与移动终端进行数据交互;
内部处理模块:将从通信模块接收的指令分发到输入模块、显示模块或者密钥存储模块;
其中,密钥存储模块基于ECC非对称算法生成临时公私钥对或者对交易数据进行签名;
密钥存储模块利用分层确定性的方法生成临时的公私钥对;
其中,密钥存储模块根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条;密钥存储模块采用基于ECC算法的ECKA-EG算法用第一私钥和第二公钥协商得到第一公式T_W,第一公式T_W为:
T_W=ECKA-EG(Wallet.Pribkey,Device.Pubkey);
其中,Wallet.Prikey表示第一私钥;Device.Pubkey表示第二公钥;
然后根据ECC算法中的“X9.63 Key Derivation Function”得到第一收条密钥和第一会话密钥,第二公式为:
KeyData=KDF(T_W,SharedInfo);
其中,KDF为Key Derivation Function的缩写,KeyData结构由两个部分组成,包括长度为L的第一收条密钥和长度为L的第一会话密钥;SharedInfo表示认证信息和第一信息;认证信息为PIN码、指纹和虹膜中的一种或多种;第一信息包括第一会话密钥类型、第一会话密钥长度和随机数;L为发送指令中指定的第一会话密钥长度,用第一会话密钥类型对应的算法和第一收条密钥,对发送的数据做一个签名运算,取前L字节作为第一收条;
其中,移动终端采用基于ECC算法的ECKA-EG算法用第二私钥和第一公钥进行协商得到第三公式T_D,第三公式为:
T_D=ECKA-EG(Wallet.Pubkey,Device.Pribkey);
其中,Wallet.Pubkey表示第一公钥;Device.Prikey表示第二私钥;
然后根据“X9.63 Key Derivation Function”得到第二收条密钥和第二会话密钥,第四公式为:
KeyData=KDF(T_D,SharedInfo);
用第二会话密钥类型对应的算法和第二收条密钥,对发送的数据做一个签名运算,取前L字节作为第二收条;
移动终端比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包与移动终端安全通道开启。
2.一种使用硬钱包验证的方法,其特征在于,包括:
通信模块接收移动终端发送的请求第一公钥的请求,并将请求发送给内部处理模块,内部处理模块将请求发送给密钥存储模块;
密钥存储模块生成第一公私钥对,密钥存储模块依次经内部处理模块、通信模块向移动终端返回第一公钥;
通信模块接收移动终端发送的用第一公钥加密的用户的认证信息和第一信息的密文信息、第二公钥,并将加密后的密文信息和第二公钥经内部处理模块返回给密钥存储模块;
密钥存储模块解密密文信息,验证密文信息中的认证信息;
响应于解密得到的认证信息与密钥存储模块内部存储的认证信息匹配或者认证信息锁定,密钥存储模块设置内部标志位,生成第一会话密钥和第一收条,并将第一收条经内部处理模块和通信模块返回移动终端,移动终端判断是否开启安全通道;
响应于安全通道开启,密钥存储模块判断内部标志位,响应于内部标志位为假,硬钱包与移动终端直接进行交易;
其中,密钥存储模块根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条;
其中,密钥存储模块采用基于ECC算法的ECKA-EG算法用第一私钥和第二公钥协商得到第一公式T_W,第一公式T_W为:
T_W=ECKA-EG(Wallet.Pribkey,Device.Pubkey);
其中,Wallet.Prikey表示第一私钥;Device.Pubkey表示第二公钥;
然后根据ECC算法中的“X9.63 Key Derivation Function”得到第一收条密钥和第一会话密钥,第二公式为:
KeyData=KDF(T_W,SharedInfo);
其中,KDF为Key Derivation Function的缩写,KeyData结构由两个部分组成,包括长度为L的第一收条密钥和长度为L的第一会话密钥;SharedInfo表示认证信息和第一信息;认证信息为PIN码、指纹和虹膜中的一种或多种;第一信息包括第一会话密钥类型、第一会话密钥长度和随机数;L为发送指令中指定的第一会话密钥长度,用第一会话密钥类型对应的算法和第一收条密钥,对发送的数据做一个签名运算,取前L字节作为第一收条;
其中,移动终端采用基于ECC算法的ECKA-EG算法用第二私钥和第一公钥进行协商得到第三公式T_D,第三公式为:
T_D=ECKA-EG(Wallet.Pubkey,Device.Pribkey);
其中,Wallet.Pubkey表示第一公钥;Device.Prikey表示第二私钥;
然后根据“X9.63 Key Derivation Function”得到第二收条密钥和第二会话密钥,第四公式为:
KeyData=KDF(T_D,SharedInfo);
用第二会话密钥类型对应的算法和第二收条密钥,对发送的数据做一个签名运算,取前L字节作为第二收条;
移动终端比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包与移动终端安全通道开启。
3.如权利要求2所述的方法,其特征在于,密钥存储模块验证密文信息中的认证信息的方法为:
密钥存储模块用第一私钥解密密文信息,得到包含认证信息的明文信息;
密钥存储模块将解密得到的认证信息与内部存储的认证信息进行比较;
密钥存储模块判断解密得到的认证信息与内部存储的认证信息是否匹配、认证信息是否锁定以及得到的认证信息是否有剩余尝试次数。
4.如权利要求3所述的方法,其特征在于,响应于密钥存储模块判断解密得到的认证信息与内部存储的认证信息不匹配且还有剩余尝试次数,密钥存储模块将信息反馈给内部处理模块,内部处理模块指示通信模块与移动终端断开连接。
5.如权利要求2所述的方法,其特征在于,密钥存储模块判断内部标志位时,响应于内部标志位为真,密钥存储模块执行重置认证信息的指令,重置认证信息的指令完成后,硬钱包与移动终端开始进行交易。
6.一种基于硬钱包的验证方法,其特征在于,包括:
移动终端向硬钱包请求第一公钥;
硬钱包向移动终端返回第一公钥;
移动终端请求用户输入认证信息,生成第二公私钥对,将用户的认证信息和第一信息用硬钱包返回的第一公钥加密,将加密后的密文信息和第二公钥返回给硬钱包;
硬钱包验证认证信息,硬钱包用第一私钥解密密文信息得到包含认证信息的明文信息,提取出的认证信息与内部存储的认证信息进行比较;
响应于提取出的认证信息与硬钱包内部存储的认证信息匹配或者认证信息锁定,硬钱包设置内部标志位,根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条,并将第一收条返回移动终端;
移动终端根据密钥分散算法,用第二私钥、第一公钥、用户的认证信息和第一信息计算出安全通道的第二会话密钥和第二收条;
移动终端比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包与移动终端安全通道开启;
安全通道开启后,响应于硬钱包判断内部标志位为假,硬钱包与移动终端直接进行交易;
其中,硬钱包的密钥存储模块根据密钥分散算法,用第一私钥、第二公钥和解密得到的明文信息计算出安全通道的第一会话密钥和第一收条;
其中,密钥存储模块采用基于ECC算法的ECKA-EG算法用第一私钥和第二公钥协商得到第一公式T_W,第一公式T_W为:
T_W=ECKA-EG(Wallet.Pribkey,Device.Pubkey);
其中,Wallet.Prikey表示第一私钥;Device.Pubkey表示第二公钥;
然后根据ECC算法中的“X9.63 Key Derivation Function”得到第一收条密钥和第一会话密钥,第二公式为:
KeyData=KDF(T_W,SharedInfo);
其中,KDF为Key Derivation Function的缩写,KeyData结构由两个部分组成,包括为L的第一收条密钥和长度为L的第一会话密钥;SharedInfo表示认证信息和第一信息;认证信息为PIN码、指纹和虹膜中的一种或多种;第一信息包括第一会话密钥类型、第一会话密钥长度和随机数;L为发送指令中指定的第一会话密钥长度,用第一会话密钥类型对应的算法和第一收条密钥,对发送的数据做一个签名运算,取前L字节作为第一收条;
其中,移动终端采用基于ECC算法的ECKA-EG算法用第二私钥和第一公钥进行协商得到第三公式T_D,第三公式为:
T_D=ECKA-EG(Wallet.Pubkey,Device.Pribkey);
其中,Wallet.Pubkey表示第一公钥;Device.Prikey表示第二私钥;
然后根据“X9.63 Key Derivation Function”得到第二收条密钥和第二会话密钥,第四公式为:
KeyData=KDF(T_D,SharedInfo);
用第二会话密钥类型对应的算法和第二收条密钥,对发送的数据做一个签名运算,取前L字节作为第二收条;
移动终端比较第一收条和第二收条,响应于第一收条和第二收条的信息一致,过程密钥协商成功,硬钱包与移动终端安全通道开启。
7.如权利要求6所述的方法,其特征在于,响应于第一收条和第二收条不一致,过程密钥协商失败,密钥存储模块将信息反馈给内部处理模块,内部处理模块指示通信模块与移动终端断开连接。
CN201811611966.3A 2018-12-27 2018-12-27 一种硬钱包及基于硬钱包的验证方法 Active CN109754241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811611966.3A CN109754241B (zh) 2018-12-27 2018-12-27 一种硬钱包及基于硬钱包的验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811611966.3A CN109754241B (zh) 2018-12-27 2018-12-27 一种硬钱包及基于硬钱包的验证方法

Publications (2)

Publication Number Publication Date
CN109754241A CN109754241A (zh) 2019-05-14
CN109754241B true CN109754241B (zh) 2022-02-22

Family

ID=66403040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811611966.3A Active CN109754241B (zh) 2018-12-27 2018-12-27 一种硬钱包及基于硬钱包的验证方法

Country Status (1)

Country Link
CN (1) CN109754241B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807624A (zh) * 2019-10-08 2020-02-18 南京晶达微电子科技有限公司 一种数字货币硬件冷钱包系统及其交易方法
CN111461705A (zh) * 2020-03-10 2020-07-28 北京达龙上东文化艺术传播有限责任公司 一种硬件钱包的验证方法和装置
CN111447063B (zh) * 2020-05-13 2021-02-26 江苏恒宝智能系统技术有限公司 一种冷钱包派生密钥的生成方法及装置
CN113837762B (zh) * 2020-06-24 2024-01-05 中国人民银行数字货币研究所 数字货币的支付方法及装置
CN111967864A (zh) * 2020-09-02 2020-11-20 上海思赞博微信息科技有限公司 一种将可信计算芯片集成数字货币钱包及其工作流程

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399659A (zh) * 2007-09-30 2009-04-01 中兴通讯股份有限公司 用户识别模块与终端之间的密钥认证方法和装置
CN102938696A (zh) * 2011-08-15 2013-02-20 国民技术股份有限公司 一种会话密钥的生成方法及模块
CN103178965A (zh) * 2008-01-07 2013-06-26 安全第一公司 使用多因素或密钥式分散对数据进行保护的系统和方法
CN108040044A (zh) * 2017-12-07 2018-05-15 恒宝股份有限公司 一种实现eSIM卡安全认证的管理方法及系统
CN108809643A (zh) * 2018-07-11 2018-11-13 飞天诚信科技股份有限公司 一种设备与云端协商密钥的方法、系统及设备
CN109068321A (zh) * 2018-07-19 2018-12-21 飞天诚信科技股份有限公司 协商会话密钥的方法、系统、移动终端及智能家居设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034321B (zh) * 2009-09-25 2013-01-30 国民技术股份有限公司 一种用于无线支付的认证方法及系统
CN103188212A (zh) * 2011-12-27 2013-07-03 上海博泰悦臻电子设备制造有限公司 电子钱包的安全管理方法及服务终端、电子钱包系统
WO2014080353A1 (en) * 2012-11-23 2014-05-30 Babu Sajan Secure transaction system and virtual wallet
CN103795807B (zh) * 2014-02-28 2017-08-01 徐刚 基于p2p网络的任务数据处理方法、装置及系统
US10796302B2 (en) * 2014-04-23 2020-10-06 Minkasu, Inc. Securely storing and using sensitive information for making payments using a wallet application
CN104320261B (zh) * 2014-11-05 2018-06-15 北京大唐智能卡技术有限公司 金融智能卡上实现身份认证的方法、金融智能卡和终端
CN206480041U (zh) * 2016-10-21 2017-09-08 飞天诚信科技股份有限公司 一种数字货币指纹硬件钱包
CN106651363B (zh) * 2016-12-28 2020-06-02 飞天诚信科技股份有限公司 一种硬件钱包及其持有者身份验证方法
CN106910059B (zh) * 2017-02-07 2021-02-09 桂林理工大学 可见光与条码双向公钥体制认证的离线支付方法
CN107480986B (zh) * 2017-08-14 2019-08-09 飞天诚信科技股份有限公司 一种利用硬件实现数字货币钱包的方法及硬件钱包
CN107909366A (zh) * 2017-10-17 2018-04-13 深圳真时科技有限公司 一种在可穿戴设备上实现在线支付的方法和装置
CN108965338B (zh) * 2018-09-21 2021-03-23 杭州师范大学 多服务器环境下的三因素身份认证及密钥协商的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399659A (zh) * 2007-09-30 2009-04-01 中兴通讯股份有限公司 用户识别模块与终端之间的密钥认证方法和装置
CN103178965A (zh) * 2008-01-07 2013-06-26 安全第一公司 使用多因素或密钥式分散对数据进行保护的系统和方法
CN102938696A (zh) * 2011-08-15 2013-02-20 国民技术股份有限公司 一种会话密钥的生成方法及模块
CN108040044A (zh) * 2017-12-07 2018-05-15 恒宝股份有限公司 一种实现eSIM卡安全认证的管理方法及系统
CN108809643A (zh) * 2018-07-11 2018-11-13 飞天诚信科技股份有限公司 一种设备与云端协商密钥的方法、系统及设备
CN109068321A (zh) * 2018-07-19 2018-12-21 飞天诚信科技股份有限公司 协商会话密钥的方法、系统、移动终端及智能家居设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
密钥导出函数(Key derivation function);sjrGCkym;《https://blog.csdn.net/sjrgckym/article/details/78195845》;20171010;第1页 *

Also Published As

Publication number Publication date
CN109754241A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
CN109754241B (zh) 一种硬钱包及基于硬钱包的验证方法
US10129020B2 (en) Efficient methods for protecting identity in authenticated transmissions
RU2710897C2 (ru) Способы безопасного генерирования криптограмм
CA3026191C (en) Secure channel establishment
CN109379189B (zh) 区块链账户密钥备份及恢复方法、装置、终端及系统
CN110969431B (zh) 区块链数字币私钥的安全托管方法、设备和系统
WO2019001061A1 (zh) 支付验证的方法、系统及移动设备和安全认证设备
CN112055019B (zh) 一种建立通信信道的方法及用户终端
CN113507372A (zh) 一种接口请求的双向认证方法
CN108401494B (zh) 一种传输数据的方法及系统
CN110505055A (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN110046906A (zh) 一种mpos机与服务器的双向认证交易方法及系统
WO2015055120A1 (zh) 用于安全性信息交互的装置
Al-Tamimi et al. Online security protocol for NFC mobile payment applications
US20240106633A1 (en) Account opening methods, systems, and apparatuses
CN110519222A (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
CN110768792B (zh) 主密钥生成方法、装置及敏感安全参数的加解密方法
CN108352990B (zh) 一种传输数据的方法及系统
CN114119015A (zh) 一种基于区块链和椭圆曲线网购支付方法
CN112822015A (zh) 信息传输方法及相关装置
WO2019232766A1 (zh) 交易方法、硬件钱包和交易设备
WO2019232764A1 (zh) 交易方法、硬件钱包和交易设备
CN115310976A (zh) 非接触式交易处理方法、装置及系统
Singh et al. Secure communication protocol for ATM using TLS handshake
CN115689559A (zh) 数字钱包设备及其双离线交易方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220126

Address after: 212355 Hengtang Industrial Zone, Danyang City, Zhenjiang City, Jiangsu Province

Applicant after: HENGBAO Corp.

Address before: Hengtang Industrial Park, Yunyang town, Danyang City, Zhenjiang City, Jiangsu Province

Applicant before: JIANGSU HENGBAO INTELLIGENT SYSTEM TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant