CN111160879A - 一种硬件钱包及其安全性提升方法和装置 - Google Patents
一种硬件钱包及其安全性提升方法和装置 Download PDFInfo
- Publication number
- CN111160879A CN111160879A CN201811320867.XA CN201811320867A CN111160879A CN 111160879 A CN111160879 A CN 111160879A CN 201811320867 A CN201811320867 A CN 201811320867A CN 111160879 A CN111160879 A CN 111160879A
- Authority
- CN
- China
- Prior art keywords
- memory
- hardware wallet
- firmware
- stored
- signature verification
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000015654 memory Effects 0.000 claims abstract description 118
- 238000012795 verification Methods 0.000 claims abstract description 65
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 20
- 230000002708 enhancing effect Effects 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- 230000001737 promoting effect Effects 0.000 claims 1
- 230000000903 blocking effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- KAICRBBQCRKMPO-UHFFFAOYSA-N phosphoric acid;pyridine-3,4-diamine Chemical compound OP(O)(O)=O.NC1=CC=NC=C1N KAICRBBQCRKMPO-UHFFFAOYSA-N 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
Abstract
一种硬件钱包的安全性提升方法包括:在硬件钱包系统启动时或运行过程中,运行只读存储器中的签名验证程序,获取只读存储器中存储的厂商公钥;通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。由于硬件钱包的公钥和签名验证程序存储在只读存储器中不可修改,因此,当硬件钱包中的可写存储器被人修改后,可写存储器中的固件无法通过公钥签名验证,可以有效的避免丑恶女佣攻击或供应链攻击,阻断硬件钱包上未授权固件的运行,提高硬件钱包的安全性。
Description
技术领域
本申请属于区块链领域,尤其涉及一种硬件钱包及其安全性提升方法和装置。
背景技术
区块链钱包也称为数字资产钱包,主要功能为存储私钥和使用私钥,也可包括余额查询、发送交易等基本功能,通过扩展还可包含数字资产管理,DAPP应用,通证应用等区块链入口功能。依据钱包是否连网,区块链钱包可以分为冷钱包和热钱包。其中,根据实现方式的不同,冷钱包还可以分为硬件钱包和纸钱包。其中,纸钱包,就是把密钥记在纸上,然后把纸保管起来。所述硬件钱包一般通过离线设备存储用户的私钥。由于离线设备不能通过网络访问,因此可以减少硬件钱包被网络窃取的机率,提高了用户账户资金的安全性。
但是,硬件钱包的固件可能运输过程中被运营商更改,或者在使用过程中被其它非法人员更改。用户在使用含有非法固件硬件钱包时,有可能私钥会被窃取,从而会使得他人可以通过窃取的私钥盗取硬件钱包中的资金,不利于保障硬件钱包的安全性。
发明内容
有鉴于此,本申请实施例提供了一种硬件钱包以及安全性提升方法和装置,以解决现有技术中硬件钱包中的私钥可能会被人窃取,不利于保障硬件钱包中中资金安全性的问题。
本申请实施例的第一方面提供了一种硬件钱包的安全性提升方法,所述硬件钱包的安全性提升方法包括:
在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;
通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;
当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。
结合第一方面,在第一方面的第一种可能实现方式中,所述通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证的步骤包括:
通过预设的摘要算法计算所述可写存储器中存储的固件的摘要;
根据固件的摘要和签名数据进行签名验证。
结合第一方面,在第一方面的第二种可能实现方式中,所述摘要算法为散列HASH算法或消息认证码MAC算法。
结合第一方面,在第一方面的第三种可能实现方式中,当硬件钱包系统运行时,获取只读存储器中存储的厂商公钥的步骤包括:
通过预设的验证时间间隔,周期性的则获取只读存储中存储的厂商公钥进行签名验证。
结合第一方面,在第一方面的第四种可能实现方式中,当硬件钱包系统启动时,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥的步骤包括:
当硬件钱包系统启动时,执行只读存储器中的固件中的签名验证方法;
根据所述签名验证方法从只读存储器中的固件中提取其中包括的公钥对可写存储器中的固件进行签名验证。
结合第一方面,在第一方面的第五种可能实现方式中,所述方法还包括:
当需要更新固件时,获取需要更新的固件以及固件的摘要的签名;
将获取的固件以及固件的签名存储在可写存储器。
结合第一方面,在第一方面的第六种可能实现方式中,所述方法还包括:
当所述固件签名验证通过时,则继续运行硬件钱包。
本申请实施例的第二方面提供了一种硬件钱包的安全性提升装置,所述硬件钱包的安全性提升装置包括:
厂商公钥获取单元,用于在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;
签名验证单元,用于通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;
异常处理单元,用于当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。
本申请实施例的第三方面提供了一种硬件钱包,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面任一项所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:在硬件钱包系统启动或者运行时,通过获取只读存储器中存储的厂商公钥,通过所述厂商公钥对硬件钱包的可写存储器中存储的固件进行签名验证,如果签名验证未通过,则停止运行硬件钱包和/或发出报警信息,由于硬件钱包的公钥和签名验证程序都存储在只读存储器中不可修改,因此,当硬件钱包中的可写存储器被人修改后,可写存储器中的固件无法通过公钥签名验证,可以有效的避免丑恶女佣攻击或供应链攻击,阻断硬件钱包上未授权固件的运行,提高硬件钱包的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的硬件钱包的系统存储结构示意图;
图2是本申请实施例提供的一种硬件钱包的安全性提升方法的实现流程示意图;
图3为本申请实施例提供的一种硬件钱包的签名生成流程示意图;
图4是本申请实施例提供的硬件钱包的安全性提升装置的结构示意图;
图5是本申请实施例提供的硬件钱包的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
图1为本申请实施例提供的一种硬件包的存储结构示意图。如图1所示,所述硬件钱包的存储器包括只读存储器和可写存储器。其中,只读存储器中存储有硬件钱包的生产厂家预先设定厂商公钥,并且该厂商公钥在生产时烧录后不可擦除。不同硬件钱包所使用的厂商私钥也不相同,因此,在硬件钱包的只读存储器中烧录的厂商公钥也不相同。当然,所述只读存储器中还可包括预设的摘要算法,通过摘要算法可以计算数据信息的摘要,从而便于后续签名验证,判断可写存储器中的固件是否合法。如果签名验证不通过,则说明可写存储器中的固件不合法,可能被其它非法用户修改。可系统启动时,可以设定先运行只读存储器中存储的固件,获取只读存储器存储的公钥对可写存储器中的固件进行签名验证,通过验证后才可正常进入硬件钱包系统。
所述硬件钱包的存储器还包括可写存储器,所述硬件钱包的可写存储器用于存储硬件钱包的程序等固件,以及固件的签名等信息。当硬件钱包升级时,由升级后的固件覆盖升级之前的固件。为了避免非法人员在固件升级时将非法的固件植入硬件钱包,运行非法人员设置的固件可能影响硬件钱包的安全性,通过只读存储器中存储的厂商公钥对所述可写存储器中的固件进行验证。
图2为本申请实施例提供的一种硬件钱包的安全性提升方法的实现流程示意图,详述如下:
在步骤S201中,在硬件钱包系统启动时或运行过程中,获取只读存储器中存储的厂商公钥;
具体的,如图1所示,所述硬件钱包包括只读存储器和可写存储器,在所述只读存储器中存储有厂商公钥,在所述可写存储器中存储有签名和固件程序等信息。在硬件钱包启动时,可以设定只读存储器中的固件(即程度代码)优先运行,通过只读存储器中存储的厂商公钥对可写存储器中的固件进行签名验证。
由于厂商公钥在出厂前即烧录在只读存储器中,因此非法人员无法修改硬件钱包中的只读存储器中的固件,也即硬件钱包中的公钥是可靠的。
当所述硬件钱包在运行时,也可以对硬件钱包中的固件进行签名验证。所述硬件钱包可以根据预先设定的时间间隔,周期性的对所述硬件钱包的可写存储器中的固件进行签名验证,或当调用重要的系统功能时,也进行签名验证,也可以实时的检测硬件钱包中的可写存储器中的固件是否有数据修改,如果存在数据修改,则通过只读存储器中的厂商公钥对所述可写存储器中的固件进行签名验证。
在步骤S202中,通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;
本申请所述硬件钱包的可写存储器中包括对可写存储器中的固件的签名,所述签名可以通过预设的摘要算法计算可写存储器中的固件的摘要,通过该硬件钱包的私钥对所述摘要进行签名运算,得到所述可写存储器的固件对应的签名。
当厂商公钥对可写存储器中的固件进行签名验证时,可以包括如图3所示的以下步骤:
在步骤S301中,通过预设的摘要算法计算所述可写存储器中存储的固件的摘要;
所述摘要算法可以由厂商设定,比如所述摘要算法可以包括散列HASH算法或消息认证码MAC算法等,计算得到可写存储器中存储的固件的第一摘要。即第一摘要是计算明文的固件所对应的摘要。
在步骤S302中,根据固件的摘要和签名数据进行签名验证。
根据固件的摘要和签名数据进行签名验证时,可以包括RSA签名验证方法、ECC(椭圆加密算法)签名验证方法等。
比如,在使用RSA签名验证方法时,可以通过预设的摘要算法计算所述可写存储器中存储的固件的第一摘要,然后使用厂商公钥对可写存储器中存储的签名进行解密,得到解密后的第二摘要,比较所述第一摘要与第二摘要是否相同,如果不相同,则签名验证不通过。
为了判断所述固件信息是否被修改,则可以通过对可写存储器中存储的签名进行解密得到第二摘要,来确定当前的可写存储器中的固件是否合法。
所述可写存储器中的固件,在出厂前即存储有固件以及固件对应的签名,或者在升级或恢复时,在可写存储器中都会存储有固件及其对应的签名。通过厂商公钥可对所述签名进行解密,得到签名所对应的第二摘要。
如果用户修改了可写存储器中的固件,则会导致计算的第一摘要与厂商设定的第二摘要出现偏差。如果第一摘要与第二摘要相同,则表示当前的硬件钱包中的可写存储器中的固件没有被非法修改。
在步骤S203中,当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。
如果固件签名验证未通过,则说明硬件钱包的可写存储器中的固件补修改,可以停止运行硬件钱包,避免带来资金损失。或者,还可以发出报警提示信息,比如发出文字报警提示、指示灯、声音报警提示等。
如果签名验证通过,则表明可写存储器中的固件没有被非法修改,可继续正常运行。
由于本申请用于签名验证的厂商公钥存储于只读存储器,可以保障用于验证的厂商公钥的安全性,在硬件钱包系统启动或者运行时对固件进行可靠的签名验证,有利于提高硬件钱包的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图4为本申请实施例提供的一种硬件钱包的安全性提升装置的结构示意图,详述如下:
所述硬件钱包的安全性提升装置,包括:
厂商公钥获取单元401,用于在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;
签名验证单元402,用于通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;
异常处理单元403,用于当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。
所述硬件钱包的安全性提升装置,与图2所述的硬件钱包的安全性提升方法对应。
图5是本申请一实施例提供的硬件钱包的示意图。如图5所示,该实施例的硬件钱包5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如硬件钱包的安全性提升程序。所述处理器50执行所述计算机程序52时实现上述各个硬件钱包的安全性提升方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至403的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述硬件钱包5中的执行过程。例如,所述计算机程序52可以被分割成:
厂商公钥获取单元,用于在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;
签名验证单元,用于通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;
异常处理单元,用于当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。
所述硬件钱包可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是硬件钱包5的示例,并不构成对硬件钱包5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述硬件钱包还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述硬件钱包5的内部存储单元,例如硬件钱包5的硬盘或内存。所述存储器51也可以是所述硬件钱包5的外部存储设备,例如所述硬件钱包5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述硬件钱包5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述硬件钱包所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种硬件钱包的安全性提升方法,其特征在于,所述硬件钱包的安全性提升方法包括:
在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;
通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;
当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。
2.根据权利要求1所述的硬件钱包的安全性提升方法,其特征在于,所述通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证的步骤包括:
通过预设的摘要算法计算所述可写存储器中存储的固件的摘要;
根据固件的摘要和签名数据进行签名验证。
3.根据权利要求2所述的硬件钱包的安全性提升方法,其特征在于,所述摘要算法为散列HASH算法或消息认证码MAC算法。
4.根据权利要求1所述的硬件钱包的安全性提升方法,其特征在于,当硬件钱包系统运行时,获取只读存储器中存储的厂商公钥的步骤包括:
通过预设的验证时间间隔,周期性的则获取只读存储中存储的厂商公钥进行签名验证。
5.根据权利要求1所述的硬件钱包的安全性提升方法,其特征在于,当硬件钱包系统启动时,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥的步骤包括:
当硬件钱包系统启动时,执行只读存储器中的固件中的签名验证方法;
根据所述签名验证方法从只读存储器中的固件中提取其中包括的公钥对可写存储器中的固件进行签名验证。
6.根据权利要求1所述的硬件钱包的安全性提升方法,其特征在于,所述方法还包括:
当需要更新固件时,获取需要更新的固件以及固件的摘要的签名;
将获取的固件以及固件的签名存储在可写存储器。
7.根据权利要求1所述的硬件钱包的安全性提升方法,其特征在于,所述方法还包括:
当所述固件签名验证通过时,则继续运行硬件钱包。
8.一种硬件钱包的安全性提升装置,其特征在于,所述硬件钱包的安全性提升装置包括:
厂商公钥获取单元,用于在硬件钱包系统启动时或运行过程中,执行只读存储器中存储的签名验证方法,获取只读存储器中存储的厂商公钥;
签名验证单元,用于通过只读存储器中存储的厂商公钥对可写存储器中存储的固件进行签名验证;
异常处理单元,用于当所述固件签名验证未通过时,则停止运行硬件钱包和/或发出报警信息。
9.一种硬件钱包,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811320867.XA CN111160879B (zh) | 2018-11-07 | 2018-11-07 | 一种硬件钱包及其安全性提升方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811320867.XA CN111160879B (zh) | 2018-11-07 | 2018-11-07 | 一种硬件钱包及其安全性提升方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111160879A true CN111160879A (zh) | 2020-05-15 |
CN111160879B CN111160879B (zh) | 2023-11-03 |
Family
ID=70555282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811320867.XA Active CN111160879B (zh) | 2018-11-07 | 2018-11-07 | 一种硬件钱包及其安全性提升方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111160879B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001716A (zh) * | 2020-08-25 | 2020-11-27 | 珠海优特物联科技有限公司 | 电子钱包卡系统、认证方法、装置及存储介质 |
CN112162770A (zh) * | 2020-10-20 | 2021-01-01 | 深圳技术大学 | 基于区块链实现完整性验证的固件版本升级方法及装置 |
CN112217635A (zh) * | 2020-09-16 | 2021-01-12 | 郑州信大先进技术研究院 | 一种基于区块链和高速密码卡的信息加密传输方法及系统 |
CN112433742A (zh) * | 2020-11-26 | 2021-03-02 | 中电金融设备系统(深圳)有限公司 | 安全的固件更新方法、装置、设备及存储介质 |
CN112699345A (zh) * | 2020-12-30 | 2021-04-23 | 合肥市芯海电子科技有限公司 | 固件安全运行的方法及系统、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087872A1 (en) * | 2009-10-13 | 2011-04-14 | Gaurav Shah | Firmware Verified Boot |
CN102096967A (zh) * | 2010-12-21 | 2011-06-15 | 捷德(中国)信息科技有限公司 | 电子钱包离线支付方法及消费终端 |
US20120060039A1 (en) * | 2010-03-05 | 2012-03-08 | Maxlinear, Inc. | Code Download and Firewall for Embedded Secure Application |
US20150058979A1 (en) * | 2013-08-21 | 2015-02-26 | Nxp B.V. | Processing system |
CN104572168A (zh) * | 2014-09-10 | 2015-04-29 | 中电科技(北京)有限公司 | 一种bios自更新保护系统及方法 |
CN106779636A (zh) * | 2016-11-29 | 2017-05-31 | 北京乐酷达网络科技有限公司 | 一种基于手机耳机接口的区块链数字货币钱包 |
US20170244562A1 (en) * | 2014-11-06 | 2017-08-24 | Huawei Technologies Co., Ltd. | Security information configuration method, security verification method, and related chip |
CN108255505A (zh) * | 2018-01-10 | 2018-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种固件更新方法、装置、设备及计算机可读存储介质 |
CN108347332A (zh) * | 2017-06-06 | 2018-07-31 | 清华大学 | 验证固件签名的方法及装置 |
-
2018
- 2018-11-07 CN CN201811320867.XA patent/CN111160879B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087872A1 (en) * | 2009-10-13 | 2011-04-14 | Gaurav Shah | Firmware Verified Boot |
US20120060039A1 (en) * | 2010-03-05 | 2012-03-08 | Maxlinear, Inc. | Code Download and Firewall for Embedded Secure Application |
CN102096967A (zh) * | 2010-12-21 | 2011-06-15 | 捷德(中国)信息科技有限公司 | 电子钱包离线支付方法及消费终端 |
US20150058979A1 (en) * | 2013-08-21 | 2015-02-26 | Nxp B.V. | Processing system |
CN104572168A (zh) * | 2014-09-10 | 2015-04-29 | 中电科技(北京)有限公司 | 一种bios自更新保护系统及方法 |
US20170244562A1 (en) * | 2014-11-06 | 2017-08-24 | Huawei Technologies Co., Ltd. | Security information configuration method, security verification method, and related chip |
CN106779636A (zh) * | 2016-11-29 | 2017-05-31 | 北京乐酷达网络科技有限公司 | 一种基于手机耳机接口的区块链数字货币钱包 |
CN108347332A (zh) * | 2017-06-06 | 2018-07-31 | 清华大学 | 验证固件签名的方法及装置 |
CN108255505A (zh) * | 2018-01-10 | 2018-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种固件更新方法、装置、设备及计算机可读存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001716A (zh) * | 2020-08-25 | 2020-11-27 | 珠海优特物联科技有限公司 | 电子钱包卡系统、认证方法、装置及存储介质 |
CN112217635A (zh) * | 2020-09-16 | 2021-01-12 | 郑州信大先进技术研究院 | 一种基于区块链和高速密码卡的信息加密传输方法及系统 |
CN112217635B (zh) * | 2020-09-16 | 2022-07-29 | 郑州信大先进技术研究院 | 一种基于区块链和高速加密卡的信息加密传输方法及系统 |
CN112162770A (zh) * | 2020-10-20 | 2021-01-01 | 深圳技术大学 | 基于区块链实现完整性验证的固件版本升级方法及装置 |
CN112162770B (zh) * | 2020-10-20 | 2023-11-10 | 深圳技术大学 | 基于区块链实现完整性验证的固件版本升级方法及装置 |
CN112433742A (zh) * | 2020-11-26 | 2021-03-02 | 中电金融设备系统(深圳)有限公司 | 安全的固件更新方法、装置、设备及存储介质 |
CN112699345A (zh) * | 2020-12-30 | 2021-04-23 | 合肥市芯海电子科技有限公司 | 固件安全运行的方法及系统、设备及存储介质 |
CN112699345B (zh) * | 2020-12-30 | 2022-12-09 | 合肥市芯海电子科技有限公司 | 固件安全运行的方法及系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111160879B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113167B (zh) | 一种智能终端的信息保护方法、系统以及可读存储介质 | |
CN111160879B (zh) | 一种硬件钱包及其安全性提升方法和装置 | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
AU2012205457B2 (en) | System and method for tamper-resistant booting | |
CN111723383B (zh) | 数据存储、验证方法及装置 | |
US8533492B2 (en) | Electronic device, key generation program, recording medium, and key generation method | |
CN102449631B (zh) | 用于执行管理操作的系统和方法 | |
CN111984962B (zh) | 固件安全验证方法及装置 | |
CN101308538B (zh) | 检查固件完整性的方法和设备 | |
RU2541196C2 (ru) | Способ обеспечения целостности программного обеспечения | |
US9734091B2 (en) | Remote load and update card emulation support | |
US20040019796A1 (en) | System and method for firmware authentication | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
CN109614769A (zh) | 按照参考平台清单和数据封装的安全操作系统启动 | |
CN102096841B (zh) | 安装有计算机代码的集成电路和系统 | |
CN107194237B (zh) | 应用程序安全认证的方法、装置、计算机设备及存储介质 | |
CN102063591A (zh) | 基于可信平台的平台配置寄存器参考值的更新方法 | |
JP6387908B2 (ja) | 認証システム | |
CN109445705A (zh) | 固件认证方法及固态硬盘 | |
CN107133512A (zh) | Pos终端控制方法和装置 | |
CN112346759A (zh) | 一种固件升级方法、装置及计算机可读存储介质 | |
CN110175478A (zh) | 一种主板上电方法、系统及可编程器件 | |
CN109299944B (zh) | 一种交易过程中的数据加密方法、系统及终端 | |
CN114816549B (zh) | 一种保护bootloader及其环境变量的方法及系统 | |
CN116707885A (zh) | 一种基于tpcm生成随机密钥的安全可信启动方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |