一种硬件钱包及其安全性提升方法和装置制造方法及图纸

技术编号:24171945 阅读:15 留言:0更新日期:2020-05-16 03:15
一种硬件钱包的安全性提升方法包括:在硬件钱包系统启动时或运行过程中,运行只读存储器中的签名验证程序,获取只读存储器中存储的厂商公钥;通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。由于硬件钱包的公钥和签名验证程序存储在只读存储器中不可修改,因此,当硬件钱包中的可写存储器被人修改后,可写存储器中的固件无法通过公钥签名验证,可以有效的避免丑恶女佣攻击或供应链攻击,阻断硬件钱包上未授权固件的运行,提高硬件钱包的安全性。

【技术实现步骤摘要】
一种硬件钱包及其安全性提升方法和装置
本申请属于区块链领域,尤其涉及一种硬件钱包及其安全性提升方法和装置。
技术介绍
区块链钱包也称为数字资产钱包,主要功能为存储私钥和使用私钥,也可包括余额查询、发送交易等基本功能,通过扩展还可包含数字资产管理,DAPP应用,通证应用等区块链入口功能。依据钱包是否连网,区块链钱包可以分为冷钱包和热钱包。其中,根据实现方式的不同,冷钱包还可以分为硬件钱包和纸钱包。其中,纸钱包,就是把密钥记在纸上,然后把纸保管起来。所述硬件钱包一般通过离线设备存储用户的私钥。由于离线设备不能通过网络访问,因此可以减少硬件钱包被网络窃取的机率,提高了用户账户资金的安全性。但是,硬件钱包的固件可能运输过程中被运营商更改,或者在使用过程中被其它非法人员更改。用户在使用含有非法固件硬件钱包时,有可能私钥会被窃取,从而会使得他人可以通过窃取的私钥盗取硬件钱包中的资金,不利于保障硬件钱包的安全性。
技术实现思路
有鉴于此,本申请实施例提供了一种硬件钱包以及安全性提升方法和装置,以解决现有技术中硬件钱包中的私钥可能会被人窃取,不利于保障硬件钱包中中资金安全性的问题。本申请实施例的第一方面提供了一种硬件钱包的安全性提升方法,所述硬件钱包的安全性提升方法包括:在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。结合第一方面,在第一方面的第一种可能实现方式中,所述通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证的步骤包括:通过预设的摘要算法计算所述可写存储器中存储的固件的摘要;根据固件的摘要和签名数据进行签名验证。结合第一方面,在第一方面的第二种可能实现方式中,所述摘要算法为散列HASH算法或消息认证码MAC算法。结合第一方面,在第一方面的第三种可能实现方式中,当硬件钱包系统运行时,获取只读存储器中存储的厂商公钥的步骤包括:通过预设的验证时间间隔,周期性的则获取只读存储中存储的厂商公钥进行签名验证。结合第一方面,在第一方面的第四种可能实现方式中,当硬件钱包系统启动时,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥的步骤包括:当硬件钱包系统启动时,执行只读存储器中的固件中的签名验证方法;根据所述签名验证方法从只读存储器中的固件中提取其中包括的公钥对可写存储器中的固件进行签名验证。结合第一方面,在第一方面的第五种可能实现方式中,所述方法还包括:当需要更新固件时,获取需要更新的固件以及固件的摘要的签名;将获取的固件以及固件的签名存储在可写存储器。结合第一方面,在第一方面的第六种可能实现方式中,所述方法还包括:当所述固件签名验证通过时,则继续运行硬件钱包。本申请实施例的第二方面提供了一种硬件钱包的安全性提升装置,所述硬件钱包的安全性提升装置包括:厂商公钥获取单元,用于在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;签名验证单元,用于通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;异常处理单元,用于当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。本申请实施例的第三方面提供了一种硬件钱包,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面任一项所述方法的步骤。本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤。本申请实施例与现有技术相比存在的有益效果是:在硬件钱包系统启动或者运行时,通过获取只读存储器中存储的厂商公钥,通过所述厂商公钥对硬件钱包的可写存储器中存储的固件进行签名验证,如果签名验证未通过,则停止运行硬件钱包和/或发出报警信息,由于硬件钱包的公钥和签名验证程序都存储在只读存储器中不可修改,因此,当硬件钱包中的可写存储器被人修改后,可写存储器中的固件无法通过公钥签名验证,可以有效的避免丑恶女佣攻击或供应链攻击,阻断硬件钱包上未授权固件的运行,提高硬件钱包的安全性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的硬件钱包的系统存储结构示意图;图2是本申请实施例提供的一种硬件钱包的安全性提升方法的实现流程示意图;图3为本申请实施例提供的一种硬件钱包的签名生成流程示意图;图4是本申请实施例提供的硬件钱包的安全性提升装置的结构示意图;图5是本申请实施例提供的硬件钱包的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。图1为本申请实施例提供的一种硬件包的存储结构示意图。如图1所示,所述硬件钱包的存储器包括只读存储器和可写存储器。其中,只读存储器中存储有硬件钱包的生产厂家预先设定厂商公钥,并且该厂商公钥在生产时烧录后不可擦除。不同硬件钱包所使用的厂商私钥也不相同,因此,在硬件钱包的只读存储器中烧录的厂商公钥也不相同。当然,所述只读存储器中还可包括预设的摘要算法,通过摘要算法可以计算数据信息的摘要,从而便于后续签名验证,判断可写存储器中的固件是否合法。如果签名验证不通过,则说明可写存储器中的固件不合法,可能被其它非法用户修改。可系统启动时,可以设定先运行只读存储器中存储的固件,获取只读存储器存储的公钥对可写存储器中的固件进行签名验证,通过验证后才可正常进入硬件钱包系统。所述硬件钱包的存储器还包括可写存储器,所述硬件钱包的可写存储器用于存储硬件钱包的程序等固件,以及固件的签名等信息。当硬件钱包升级时,由升级后的固件覆盖升级之前的固件。为了避免非法人员在固件升级时将非法的固件植入硬件钱包,运行非法人员设置的固件可能影响硬件钱包的安全性,通过只读存储器中存储的厂商公钥对所述可写存储器中的固件进行验证。图2为本申请实施例提供的一种硬件钱包的安全性提升方法的实现流程示意图,详述如下:在步骤S本文档来自技高网...

【技术保护点】
1.一种硬件钱包的安全性提升方法,其特征在于,所述硬件钱包的安全性提升方法包括:/n在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;/n通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;/n当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。/n

【技术特征摘要】
1.一种硬件钱包的安全性提升方法,其特征在于,所述硬件钱包的安全性提升方法包括:
在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;
通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;
当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。


2.根据权利要求1所述的硬件钱包的安全性提升方法,其特征在于,所述通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证的步骤包括:
通过预设的摘要算法计算所述可写存储器中存储的固件的摘要;
根据固件的摘要和签名数据进行签名验证。


3.根据权利要求2所述的硬件钱包的安全性提升方法,其特征在于,所述摘要算法为散列HASH算法或消息认证码MAC算法。


4.根据权利要求1所述的硬件钱包的安全性提升方法,其特征在于,当硬件钱包系统运行时,获取只读存储器中存储的厂商公钥的步骤包括:
通过预设的验证时间间隔,周期性的则获取只读存储中存储的厂商公钥进行签名验证。


5.根据权利要求1所述的硬件钱包的安全性提升方法,其特征在于,当硬件钱包系统启动时,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥的步骤包括:
当硬件钱包系统启动时,执行只读存储器中的固件中的签名验证方法;
根据所...

【专利技术属性】
技术研发人员:王东
申请(专利权)人:新明华区块链技术深圳有限公司
类型:发明
国别省市:广东;44

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

1