CN109492370A - 终端启动方法、终端及签名设备 - Google Patents
终端启动方法、终端及签名设备 Download PDFInfo
- Publication number
- CN109492370A CN109492370A CN201710811694.0A CN201710811694A CN109492370A CN 109492370 A CN109492370 A CN 109492370A CN 201710811694 A CN201710811694 A CN 201710811694A CN 109492370 A CN109492370 A CN 109492370A
- Authority
- CN
- China
- Prior art keywords
- terminal
- certificate
- verification certificate
- verification
- programming
- 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
Classifications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Telephone Function (AREA)
Abstract
本申请公开了一种终端启动方法、终端及签名设备。其中,该方法包括:当检测到终端中存在校验证书时,所述终端采用预设的公钥对所述校验证书进行解签,以获取得到所述校验证书携带的标识和状态值;其中,所述校验证书是签名设备通过预设的私钥签名后写入所述终端的;所述终端获取主芯片的芯片标识和所述终端的当前状态值;所述终端判断所述芯片标识是否与所述校验证书携带的标识相同,以及所述当前状态值是否与所述校验证书携带的状态值相同;如果均相同,所述终端正常启动。采用本申请,能够通过引入校验证书进行终端的程序启动控制,提升了防盗可靠性,且无需引入专门电路,实现成本低。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种终端启动方法、终端及签名设备。
背景技术
目前,手机等终端被盗的情况发生越来越普遍,因此,手机的防盗功能越来越受重视。有的手机丢失后,用户可通过使能防盗功能远程锁定手机,锁定手机后,即使该手机被刷机或者恢复出厂设置,重新启动时也要求输入相关锁屏密码才能启动,从而起到防盗的功能。然而,当前锁屏密码都是存储在外部存储器件如通用闪存存储(Universal FlashStorage,缩写:UFS)或嵌入式的多媒体存储卡(embedded Multi Media Card,缩写:eMMC)上的,这就使得非法用户能够通过更换UFS或eMMC对手机进行翻新来使用该手机。或者,由于不同容量存储的手机价格差距远远超过存储器本身的价格差距,一些商家可能非法更换存储器件,比如将64G存储器件的手机,更换成128G存储器件的手机再售出。而由于手机经常存在存储器件损坏的情况,手机厂商维修点要求能够更换存储器件,因此需要确定该存储器件能够更换。这就导致无法有效实现该防盗功能,可靠性较差。
为了解决上述问题,现有技术中能够通过将防盗功能设置在主芯片中,来解决防盗锁定。这就使得一旦被盗手机被云端成功锁定,比如通过PC工具远程操作锁定,则即使更换存储器件也无法翻新,解锁只有拿到手机时,PC通过USB连接手机后,运行解锁工具才能解锁。然而,该方式下芯片引入了专门电路和底层机制,实现机制较为复杂,增加了成本。而且,如果在云端成功锁定之前就更换存储器件,并刷入无云端锁定功能的第三方只读存储器(read-only memory,缩写:ROM),则无法再锁定该被盗手机。
发明内容
本发明实施例提供了一种终端启动方法、终端及签名设备,能够通过引入校验证书进行终端的程序启动控制,提升了防盗可靠性,且无需引入专门电路,实现成本低。
一方面,本发明实施例提供了一种终端启动方法,包括:当检测到终端中存在校验证书时,该终端采用预设的公钥对该校验证书进行解签,以获取得到该校验证书携带的标识和状态值,并获取主芯片的芯片标识和该终端的当前状态值,进而判断该芯片标识是否与该校验证书携带的标识相同,以及该当前状态值是否与该校验证书携带的状态值相同,并在均相同时,确定启动该校验证书对应的程序,即终端可正常启动。从而能够过引入校验证书进行终端的终端启动控制,提升了防盗可靠性,且无需引入专门电路,实现成本低。
其中,该校验证书可以是签名设备通过预设的私钥签名后写入该终端的,且该校验证书携带有标识和状态值信息。该公钥和该私钥可以为预先设置的密钥对。
在一种可能的设计中,该终端可检测存储器件是否发生更换,如果检测到存储器件发生更换,检测预置的该存储器件对应的证书分区内是否存在校验证书。
在一种可能的设计中,该终端检测存储器件是否发生更换,可以具体为:终端检测该存储器件的重放保护内存块密钥RPMB Key是否被烧写;如果该RPMB Key未被烧写,该终端确定存储器件发生更换。或者,终端中可存储合法的存储器件的标识,并可通过获取当前存储器件的标识,检测该标识是否与存储的合法的存储器件的标识相同,如果不同,则表明存储器件发生更换。从而能够通过确定终端的存储器件是否更换,来触发检测校验证书,并在确定校验证书正确时确定该更换合法,即可正常启动程序。可选的,该标识可存储于终端芯片熔丝的空间中。
在一种可能的设计中,如果该终端检测到该RPMB Key被烧写,该终端可检测该RPMB Key是否正确;如果该RPMB Key正确,该终端可正常启动,即确定启动该校验证书对应的程序。
在一种可能的设计中,如果该RPMB Key被烧写,但不正确,也可表明存储器件发生了更换。进一步的,终端在检测到不正确的RPMB Key时,则可不再校验证书,不再启动,即禁止启动校验证书对应的程序。
在一种可能的设计中,该终端中预置有至少一个熔丝位,且每更换一次存储器件,一个熔丝位被烧写;在该检测预置的该存储器件对应的证书分区内是否存在校验证书之前,该终端还可判断该终端中的存储器件的更换次数是否达到该至少一个熔丝位指示的最大更换次数,比如该最大更换次数可以为该至少一个熔丝位的总位数对应的数值;如果达到该最大更换次数,该终端确定不启动该校验证书对应的程序,即不再启动;如果未达到该最大更换次数,该终端执行检测预置的该存储器件对应的证书分区内是否存在校验证书的步骤。以降低终端开销。
在一种可能的设计中,该终端中预置有至少一个熔丝位。进一步的,该终端还可检测该至少一个熔丝位的烧写状态,以及检测该校验证书的类型,该校验证书的类型包括锁定证书和解锁证书;如果该至少一个熔丝位处于第一状态,且该校验证书为锁定证书,该终端被锁定,禁止启动该解锁证书对应的程序,并增加烧写一个熔丝位。进一步的,该终端确定启动该校验证书对应的程序,可以具体为:如果该至少一个熔丝位处于第二状态,且该校验证书为解锁证书,该终端被解锁,启动该解锁证书对应的程序,并增加烧写一个熔丝位。其中,该烧写状态可包括第一状态和第二状态,用于指示该至少一个熔丝位中被烧写的位数为奇数或偶数。
在一种可能的设计中,在该终端检测该校验证书的类型之前,该终端还可判断该终端被锁定的次数是否达到该至少一个熔丝位指示的最大锁定次数;如果达到该最大锁定次数,该终端禁止启动该解锁证书对应的程序。其中,该最大锁定次数可以为该至少一个熔丝位的总位数的二分之一。
在一种可能的设计中,该当前状态值可以为该终端中的存储器件的更换次数、随机数、该终端被锁定的次数、该终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项。进一步的,当该终端的当前状态值为随机数时,不同校验证书对应的随机数不同。从而确保该校验证书一机一用,而且该校验证书只能使用一次。
在一种可能的设计中,当更换了存储器件且检测到校验证书正确后,终端还可烧入RPMB Key,以确保终端正常工作。
另一方面,本发明实施例还提供了一种终端启动方法,包括:签名设备获取终端的主芯片的芯片标识和该终端的当前状态值,生成携带该主芯片的芯片标识和该当前状态值的校验证书,并采用预设的私钥对该校验证书进行签名,在该终端写入签名后的该校验证书。
其中,该芯片标识可用于确保每个终端获取的校验证书不同,该状态值可用于确保每次获取的校验证书不同。
在一种可能的设计中,该校验证书还可携带有该校验证书的类型,该校验证书的类型包括锁定证书或解锁证书。以便于终端区分该证书为锁定证书还是解锁证书。
在一种可能的设计中,该当前状态值为该终端中的存储器件的更换次数、随机数、该终端被锁定的次数、该终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项。进一步的,当该终端的当前状态值为随机数时,不同校验证书对应的随机数不同。从而确保该校验证书一机一用,而且该校验证书只能使用一次。
又一方面,本发明实施例还提供了一种终端,该终端具有实现上述方法示例中终端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元或模块。
在一种可能的设计中,终端的结构中可包括处理单元和通信单元,所述处理单元被配置为支持终端执行上述方法中相应的功能。所述通信单元用于支持终端与其他设备之间的通信。所述终端还可以包括存储单元,所述存储单元用于与处理单元耦合,其保存终端必要的程序指令和数据。作为示例,处理单元可以为处理器,通信单元可以为通信接口,存储单元可以为存储器。
又一方面,本发明实施例提供一种签名设备,该签名设备具有实现上述方法示例中签名设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元或模块。
在一种可能的设计中,签名设备的结构中包括通信单元和处理单元,所述处理单元被配置为支持签名设备执行上述方法中相应的功能。所述通信单元用于支持签名设备与其他设备之间的通信。所述签名设备还可以包括存储单元,所述存储单元用于与处理单元耦合,其保存签名设备必要的程序指令和数据。作为示例,处理单元可以为处理器,通信单元可以为通信接口,存储单元可以为存储器。
又一方面,本发明实施例提供了一种通信***,该***包括上述方面的终端和/或签名设备。在另一种可能的设计中,该***还可以包括本发明实施例提供的方案中与该终端或签名设备进行交互的其他设备。
又一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述终端所用的计算机软件指令,其包括用于执行上述方面所设计的程序。
又一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述签名设备所用的计算机软件指令,其包括用于执行上述方面所设计的程序。
又一方面,本申请还提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
又一方面,本申请提供了一种芯片***,该芯片***包括处理器,用于支持终端实现上述方面中所涉及的功能,例如,例如生成或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片***还包括存储器,所述存储器,用于保存终端必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包括芯片和其他分立器件。
又一方面,本申请提供了一种芯片***,该芯片***包括处理器,用于支持签名设备实现上述方面中所涉及的功能,例如,例如接收或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片***还包括存储器,所述存储器,用于保存签名设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包括芯片和其他分立器件。
本发明实施例提供的方案中,终端可通过预设的公钥对所述校验证书进行解签以获取该校验证书携带的标识和状态值,进而通过判断终端的芯片标识是否与该校验证书携带的标识相同,以及终端的当前状态值是否与该校验证书携带的状态值相同来确定该校验证书是否正确,并在两者均相同时确定该校验证书正确,由此终端可正常启动程序,否则,不启动程序。这就提升了终端的安全性,避免对终端器件进行非法篡改。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本发明实施例提供的一种终端启动***的场景示意图;
图2是本发明实施例提供的一种终端启动方法的流程示意图;
图3是本发明实施例提供的另一种终端启动方法的流程示意图;
图4是本发明实施例提供的又一种终端启动方法的流程示意图;
图5是本发明实施例提供的一种eFuse bit的结构示意图;
图6是本发明实施例提供的一种锁定或解锁终端的场景示意图;
图7是本发明实施例提供的又一种终端启动方法的流程示意图;
图8是本发明实施例提供的一种终端启动***的结构示意图;
图9是本发明实施例提供的一种终端的结构示意图;
图10是本发明实施例提供的另一种终端的结构示意图;
图11是本发明实施例提供的又一种终端的结构示意图;
图12是本发明实施例提供的一种签名设备的结构示意图;
图13是本发明实施例提供的另一种签名设备的结构示意图;
图14是本发明实施例提供的又一种签名设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
在本申请中,终端可以是指一种具有通信功能的设备,其可以包括具有无线通信功能的手持设备如手机、平板电脑、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。该终端也可以叫做其他名称,例如:终端,用户设备(英文:UserEquipment,缩写:UE),移动台,用户单元,站台,蜂窝电话,个人数字助理,无线调制解调器,无线通信设备,手持设备,膝上型电脑,无绳电话,无线本地环路台等。该终端设备可以是指无线终端、有线终端。该无线终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备,其可以经无线接入网(如RAN,radio access network)与一个或多个核心网进行通信。
在本申请中,签名设备可以是指服务器,或者其他独立的设备或实体,本申请不做限定。
在本申请中,终端中可配置存储器件,该存储器件可包括但不限于通用闪存存储(Universal Flash Storage,缩写:UFS)、嵌入式的多媒体存储卡(embedded Multi MediaCard,缩写:eMMC)等等。存储器件(简称“存储器”,又称“flash”)的重放保护内存块(ReplayProtected Memory Block,缩写:RPMB)Key,可以是存储器件出厂时烧入的,该烧入了RPMBKey的存储器件只允许编程一次,且该RPMB Key无法被外部读出。进一步的,该RPMB Key可以是由终端的主芯片自己的HUK派生出的,也即,该RPMB Key与主芯片存在绑定关系。新的存储器件的RPMB Key处于未编程状态,该存储器件出厂时,可以触发对RPMB Key进行编程,此后,该RPMB Key不再允许被编程。
请参见图1,是本申请提供的一种终端启动***的场景示意图。具体的,如图1所示,该***包括签名设备和终端,并可预先设置一个密钥对,包括公钥和私钥。其中,该私钥可存储于签名设备,该公钥可存储于终端中,例如存储于终端的主芯片的eFuse中;或者,也可以直接将该公钥的哈希Hash存储于该主芯片eFuse中。其中,该eFuse中可预留有一些bit供给一次性编程熔断使用,每bit熔断后(熔断值为1,否则为0)即不可恢复,一般芯片都可以有几千bit左右的芯片熔丝。
具体的,当终端在产线完成存储器件的RPMB Key的烧写,即第一次烧写之后,即可置eFuse bit位。比如初始eFuse bit可以为全0,即flash eFuse count=0,经过第一次烧写RPMB Key后,即可烧写第一个eFuse bit,flash eFuse count=1。此后,更换存储器件如eMMC或UFS则需要合法证书,或者,锁定终端和/或解锁终端也需要合法证书,即需要授权才允许该存储器件更换或者锁定终端或者解锁终端的操作。
本申请公开了一种终端启动方法、终端、签名设备及***,能够过引入校验证书进行终端的程序启动控制,提升了防盗可靠性,且无需引入专门电路,实现成本低。以下分别详细说明。
请参见图2,图2是本发明实施例提供的一种终端启动方法的流程示意图。具体的,如图2所示,本发明实施例的终端启动方法可包括以下步骤:
201、当检测到终端中存在校验证书时,终端采用预设的公钥对该校验证书进行解签,以获取得到该校验证书携带的标识和状态值。
其中,该校验证书可以是签名设备通过预设的私钥签名后写入该终端的,且该校验证书携带有标识和状态值信息。该公钥和该私钥可以为预先设置的密钥对。
202、终端获取主芯片的芯片标识和终端的当前状态值。
其中,该当前状态值可用于指示该终端的当前状态,比如该终端的当前状态值可以为终端中的存储器件的更换次数、随机数、终端被锁定的次数、终端被解锁的次数以及预置的熔丝位(eFuse bit)中被烧写的位数中的任一项,以确保该证书一机一用,而且该证书只能使用一次。
具体的,签名设备可获取终端的芯片标识和终端的当前状态值,并根据该芯片标识和终端的当前状态值生成校验证书,采用预设的私钥签名后将该校验证书写入终端。从而终端可通过校验该校验证书是否正确来确定是否启动终端,以确保终端的安全性。
203、终端判断该芯片标识是否与该校验证书携带的标识相同,以及该终端的当前状态值是否与该校验证书携带的状态值相同。
204、如果均相同,则终端正常启动。
具体的,如果终端确定该获取的芯片标识与该校验证书携带的标识相同,以及该当前状态值与该校验证书携带的状态值相同,终端即可确定启动该校验证书对应的程序,即正常启动终端。其中,该校验证书对应的程序与该校验证书的用途相对应,比如该校验证书用于确定更换存储器件的合法性时,该校验证书对应的程序可包括终端更换存储器件后需启动的程序,再如该校验证书用于锁定终端时,该校验证书对应的程序可包括终端被锁定后需启动的程序,又如该校验证书用于解锁终端时,该校验证书对应的程序可包括终端解锁后启动的程序,等等,此处不一一列举。
在某些场景下,比如在更换了存储器件如eMMC或UFS,或者,需要锁定或解锁终端时,需要检测终端中是否存在证书,以及检测该证书是否正确,并在证书正确时启动该证书对应的程序,即成功启动终端。具体的,在检测证书的正确性时,终端可采用预设的公钥对校验证书进行解签,且解签成功后,再通过检测自身存储的芯片标识是否与该校验证书携带的标识相同,以及检测存储的终端的当前状态值是否与该校验证书携带的状态值相同,进而在两者均相同时,确定该校验证书正确,由此可启动该校验证书对应的程序,即正常启动终端,比如启动ROM。
在本发明实施例中,终端可通过预设的公钥对所述校验证书进行解签以获取该校验证书携带的标识和状态值,进而通过判断终端的芯片标识是否与该校验证书携带的标识相同,以及终端的当前状态值是否与该校验证书携带的状态值相同来确定该校验证书是否正确,并在两者均相同时确定该校验证书正确,由此终端可正常启动程序,否则,不启动。这就提升了终端的安全性,避免对终端器件进行非法篡改。
请参见图3,图3是本发明实施例提供的一种终端启动方法的流程示意图。具体的,如图3所示,本发明实施例的终端启动方法可包括以下步骤:
301、终端检测存储器件是否发生更换。
可选的,该终端检测存储器件是否发生更换,可以具体为:终端检测存储器件如eMMC或UFS的RPMB Key是否被烧写,如果该RPMB Key未被烧写,则可确定存储器件发生更换。或者,还可以通过其他方式检测存储器件是否发生更换,比如通过检测存储器件的标识是否发生改变,来确定存储器件是否发生更换。具体的,终端中可存储合法的存储器件的标识,并可按照预设的时间间隔获取当前存储器件的标识,检测该标识是否与存储的合法的存储器件的标识相同,如果不同,则表明存储器件发生更换。可选的,终端中可预留一段存储空间以存储该合法的存储器件的标识。其中,每一个标识用于唯一确定一个存储器件。对于终端检测存储器件是否发生更换的检测方式,本发明实施例不做限定。可选的,该标识可存储于终端芯片熔丝空间中。
进一步可选的,如果该RPMB Key被烧写,但不正确,也可表明存储器件发生了更换,但是此时可不再检测校验证书,不再启动,即禁止启动校验证书对应的程序。
302、如果检测到存储器件发生更换,终端判断该终端中的存储器件的更换次数是否达到最大更换次数。
具体的,终端中可预置有至少一个熔丝位即eFuse bit。例如,终端出厂时,当烧写完成RPMB key之后,可置多个eFuse bit位,其中,预置n位,则表明可更换n-1次存储器件(以下简称“flash”)。举例来说,假设一共预留8位eFuse bit,则最多可以更换7次flash,即该eFuse bit对应的最大更换次数为7,并且更换flash需要合法证书。具体的,初始eFusebit可以为全0,即flash eFuse count=0,经过第一次烧写RPMB Key后,即可将flasheFuse count=1,即烧写第一个bit。此后,每更换一次flash,可烧写一个bit。从而终端可通过检测eFuse bit的烧写状态来确定flash更换次数,比如在预置的eFuse bit全部被烧写时,即存储器件的更换次数与该预留的eFuse bit的总位数相同时,确定达到最大更换次数。
303、如果未达到该最大更换次数,终端检测预置的该存储器件对应的证书分区内是否存在校验证书。
具体的,如果检测到flash发生更换,且未达到该最大更换次数时,终端可检测是否存在正确的校验证书,包括检测是否存在校验证书,以及检测该校验证书是否正确(合法)。
进一步的,如果达到该最大更换次数,终端可确定不启动该校验证书对应的程序,即不启动终端。
304、当检测到终端中存在校验证书时,终端采用预设的公钥对该校验证书进行解签,以获取得到该校验证书携带的标识和状态值。
305、终端获取主芯片的芯片标识和终端的当前状态值,并判断该芯片标识是否与该校验证书携带的标识相同,以及该终端的当前状态值是否与该校验证书携带的状态值相同。
可选的,该终端的当前状态值为该终端中的存储器件的更换次数、随机数、该终端被锁定的次数、该终端被解锁的次数以及预置的熔丝位中被烧写的位中的任一项。进一步的,当该终端的当前状态值为随机数时,不同校验证书对应的随机数不同。从而确保该校验证书一机一用,而且每个校验证书只能使用一次。其中,该芯片标识和/或该当前状态值可以熔丝在eFuse中,比如该芯片标识可以为SOC_ID或DIE_ID等等,又如该当前状态值可以为上述的flash eFuse count等等。
306、如果均相同,终端正常启动。
具体的,终端在检测证书是否正确时,可采用预设的公钥对校验证书进行解签,且解签成功后,再通过检测自身存储的芯片标识是否与该校验证书携带的标识相同,以及检测存储的终端的当前状态值是否与该校验证书携带的状态值相同,进而在两者均相同时,确定该校验证书正确,表明该flash为合法更换,由此可启动该校验证书对应的程序,即可正常启动终端,比如启动ROM;否则,不启动终端程序。
进一步可选的,在检测终端中是否存在正确的校验证书之前,还可先检测flash的RPMB Key是否被烧写。如果终端检测到该RPMB Key被烧写,该终端可检测该RPMB Key是否正确,比如通过检测该RPMB Key是否是该终端的HUK派生出来的来确定该RPMB Key是否正确,并具体在检测到该RPMB Key是终端自身的HUK派生出来的,如通过MAC(MessageAuthentication Codes)算法校验得到该RPMB Key是终端自身的HUK派生出来的时,可确定该RPMB Key正确,否则是错误的。进一步的,如果该RPMB Key正确,该终端确定启动该校验证书对应的程序。可选的,该MAC算法可包括SHA-HMAC(Secure Hash Algorithm-Hashbased Message Authentication Code)算法。
举例来说,以状态值为flash更换次数,芯片标识为SOC_ID为例,终端可判断外部存储的RPMB Key有无编程以及是否正确,终端是否存在正确的校验证书,来确定是否正常启动终端程序。具体的,如果RPMB Key被编程,且RPMB Key是正确的,则正常启动;如果RPMBKey是错的,直接就不启动。如果没有编程,即未烧入RPMB Key,则可认为是更换了flash,则需要校验证书,即检测校验证书是否存在以及是否正确。其中,该校验证书是通过将终端芯片的唯一ID如SOC_ID和更换次数(eFuse count)送到签名设备如服务器(下面以签名设备为服务器为例进行说明),服务器采用预设的私钥进行制作生成的,由此能够确保每次生成的证书不同。进一步的,如果检测到该校验证书正确,则允许启动终端,否则不允许启动,停留在接受Fastboot命令模式,直到烧入正确的证书到新的flash中。可选的,该芯片标识如SOC_ID以及更换次数可以是运行在高维点的装备工具从终端读取,并发送给该服务器(拥有私钥)以制作证书的。证书制作成功后,服务器可返回给装备工具,由装备工具写入终端存储器件对应的证书分区中。其中,SOC_ID和更换次数可以均存储在eFuse中。该Fastboot命令模式可支持读取芯片标识如SOC_ID,读取终端的当前状态值如更换次数信息等等,并支持烧入证书的命令。例如,装备工具可通过USB发送Fastboot命令读取终端的SOC_ID,flash eFuse count等等。
其中,该SOC_ID可用于确保每个终端获取的证书不同,该flash_eFuse_count可用于确保每次获取的证书不同。或者,终端还可以采用随机数发生器产生每次唯一的随机数代替该flash eFuse count送往后台服务器生成证书,在不掉电情况下等待证书并校验随机数是否正确,并可登录服务器查询flash更换次数。或者,还可以采用其他方式区别每一次的证书,本发明实施例不做限定。
进一步可选的,当更换了存储器件且检测到校验证书正确后,还可烧入RPMB Key,以确保终端正常工作。即则需要将flash_eFuse_count再烧写1位,然后写入RPMB Key。如果超过预置的eFuse bit对应的最大更换次数则不再启动。
进一步可选的,在终端成功启动后,还可以进行其他更换flash的维修流程,比如射频校准和测试、整机功能测试等等。
在本发明实施例中,终端可通过识别存储器件的RPMB key是否翻新,以及根据终端主芯片eFuse存储的不可更改的公钥,存储在eFuse的终端主芯片唯一的ID,存储在eFuse更换存储器件的次数,检测服务器生成的每台唯一,每次唯一证书正确后再启动更换新存储器后的程序,由此建立了一个授信换存储器件的机制,实现了芯片级防存储器更换,而无需增加芯片电路和实现复杂度,成本较低,解决了当前终端被非法换存储器件的问题,从而提升了终端的安全性,避免对终端器件进行非法篡改。
请参见图4,图4是本发明实施例提供的又一种终端启动方法的流程示意图。具体的,如图4所示,本发明实施例的终端启动方法可包括以下步骤:
401、终端检测预置的至少一个熔丝位的烧写状态。
其中,该烧写状态可包括第一状态和第二状态,用于指示该至少一个熔丝位中被烧写的位数为奇数或偶数。具体的,终端中可预置有一段eFuse空间,该eFuse空间包括至少一个熔丝位即eFuse bit,进而终端可通过对该eFuse bit烧写来实现锁定或解锁终端。例如,eFuse的这段空间示意图可以如图5所示。其中,“1”可以表示该bit位被烧写(写入),“0”可表示该bit未被烧写,则该图5可表示烧写了2个bit,即eFuse字段为2。可选的,该eFuse字段的最大长度可以由终端厂商设置得到,即允许设置最大锁定或解锁多少次,比如设置为200bit,则允许100次锁定和100次解锁。
具体的,当需要锁定终端时,比如终端丢失时,终端用户可远程锁定该终端。例如,终端用户可使用预设的登录信息(包括与该终端对应的用户名和密码)登录签名设备如服务器,对登录信息验证成功时可成功登录服务器,进而可向终端发送锁定消息。进一步的,终端与服务器交互得到该锁定消息之后,写入一个1bit,表明需锁定该终端。进一步的,再写1bit,表明需解锁该终端,再往下写1bit,表明需锁定该终端,以此类推,此处不赘述。进一步的,该锁定消息中可携带锁定证书,该锁定证书可以是根据终端的芯片标识和终端的当前状态值生成的。
402、当检测到终端中存在校验证书时,终端检测该校验证书是否正确以及检测该校验证书的类型。
具体的,终端在检测证书是否正确时,可采用预设的公钥对校验证书进行解签,且解签成功后,再通过检测自身存储的芯片标识是否与该校验证书携带的标识相同,以及检测存储的终端的当前状态值是否与该校验证书携带的状态值相同,进而在两者均相同时,确定该校验证书正确,由此可启动该校验证书对应的程序,比如锁定终端或解锁终端。其中,该终端的当前状态值可以为为终端中的存储器件的更换次数、随机数、终端被锁定的次数、终端被解锁的次数以及预置的熔丝位(eFuse bit)中被烧写的位数中的任一项。进一步的,当该终端的当前状态值为随机数时,不同校验证书对应的随机数不同,以确保该证书一机一用,而且该证书只能使用一次。
其中,该校验证书的类型可包括锁定证书或解锁证书。可选的,该校验证书可携带该类型信息,以便于终端区分该证书为锁定证书还是解锁证书。
403、如果该至少一个熔丝位处于第一状态,且该校验证书为正确的锁定证书,该终端被锁定,禁止启动该解锁证书对应的程序,并增加烧写一个熔丝位。
404、如果该至少一个熔丝位处于第二状态,且该校验证书为正确的解锁证书,该终端被解锁,启动该解锁证书对应的程序,并增加烧写一个熔丝位。
可选的,该第一状态可以是指被烧写的eFuse bit为偶数,相应的,该第二状态可以是指被烧写的eFuse bit为奇数,比如出厂时eFuse bit为0时;或者,该第一状态可以是指被烧写的eFuse bit为奇数,相应的,该第二状态可以是指被烧写的eFuse bit为偶数,比如出厂时eFuse bit为1时。以第一状态为偶数,第二状态为奇数为例,终端出厂时该eFuse字段设置为全部为0,***处理未锁定状态。由此终端可通过检测eFuse的字段被烧写的bit位并结合证书来确定是否锁定或解锁,如果是奇数,则保持锁定;如果是偶数,则保持解锁。如果是偶数,且有正确的锁定证书,则再置1个bit,变为奇数,锁定终端;如果是奇数,且有正确的解锁证书,则再置1个bit,变为偶数,解除锁定。如果bit都用完,则可设置将该锁定永久变砖,连厂家也无法翻新该终端。该方案下,一旦锁定,即使更换存储器也是没有用的,只有通过正确的解锁证书才能实现正常启动。
可选的,终端还可以判断该终端被锁定的次数是否达到该至少一个熔丝位指示的最大锁定次数,如果未达到该最大锁定次数,终端可再检测校验证书是否存在、是否正确、检测校验证书的类型等等。如果达到该最大锁定次数,该终端可以直接禁止启动该解锁证书对应的程序。
举例来说,如图6所示,以终端的当前状态值为eFuse bit被烧写的位数即eFuse_lock_count,芯片标识为SOC_ID为例,用户登录服务器且身份校验通过后,终端可发送当前eFuse_lock_count、SOC_ID到服务器。该服务器中存储有预设的私钥(公钥在终端eFuse中且不可修改),并采用私钥对eFuse_lock_count,SOC_ID签发一个锁定证书,向终端发送包括该锁定证书的锁定消息。其中,SOC_ID确保该锁定证书只能用于此终端,而eFuse_lock_count(不可回滚)可确保该终端只能用此证书一次,确保每次获取的证书不同。终端重新启动***发现eFuse_lock_count为偶数,则校验一下锁定证书,如果无锁定证书或锁定证书校验不正确,就正常启动,删除错误证书。如果有正确的锁定证书,则置eFuse bit位,eFuse_lock_count变成奇数,则可禁止正常启动程序。可选的,置eFuse bit位,eFuse字段变成奇数之后,还可格式化终端所有数据,删除锁定证书,并重启,以避免用户隐私泄露。进一步的,终端重新启动***发现eFuse_lock_count是奇数,则可以检测是否达到终端被锁定的最大锁定次数。如果达到锁定解锁的最大值,则终端不再启动;如果还没到最大锁定次数,则可以检测查看是否存在正确的解锁证书,如果有解锁证书,且确定该解锁证书正确后,即可置eFuse_lock_count加1bit,删除解锁证书,并正常启动终端。
进一步可选的,为了防止被非法root后非法锁定攻击,在获取到证书将该证书写入存储器件指定的证书分区后,待重启后fastboot软件程序校验证书通过后再置eFuse_lock_count锁定,即写入1bit,而不是在kernel接口中直接置eFuse_lock_count。也就是说,只有正确的锁定证书才能锁定。相应地,只有正确的解锁证书才能解锁。其中,该解锁证书可是合法维修点用fastboot命令烧写进终端的,该解锁证书的烧写过程与上述的更换存储器件对应的校验证书类似。Fastboot需要提供命令支持读取eFuse_lock_count,SOC_ID,支持fastboot命令烧入解锁证书等等。
在本发明实施例中,能够通过预置一段eFuse空间,将偶数eFuse bit作为解锁状态,奇数bit作为锁定状态,利用终端主芯片eFuse存储的不可更改的公钥,存储在eFuse的终端主芯片唯一的ID,以及eFuse字段的值,检测服务器生成的每台唯一,每次唯一的锁定证书或解锁证书正确后,才实现芯片级锁定或解锁,防止在不更换存储器的情况下对终端进行翻新,比如在小偷获取到开机密码或者通过其他手段物理擦除了存储器的数据开机的情况下对终端进行翻新,从而提升了终端的安全性。
请参见图7,图7是本发明实施例提供的又一种终端启动方法的流程示意图。具体的,如图7所示,本发明实施例的终端启动方法可包括以下步骤:
701、签名设备获取终端的主芯片的芯片标识和该终端的当前状态值。
其中,该当前状态值可以为该终端中的存储器件的更换次数、随机数、该终端被锁定的次数、该终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项。
702、签名设备生成携带该主芯片的芯片标识和该当前状态值的校验证书,并采用预设的私钥对该校验证书进行签名。
703、签名设备在该终端写入签名后的该校验证书。
可选的,该校验证书还携带有该校验证书的类型,该校验证书的类型可包括锁定证书或解锁证书。
在某些场景下,比如在更换了存储器件如eMMC或UFS,或者,需要锁定或解锁终端时,签名设备可获取终端的芯片标识和终端的当前状态值,并根据该芯片标识和终端的当前状态值生成校验证书,采用预设的私钥签名后将该校验证书写入终端。从而终端可通过校验该校验证书是否正确来确定是否启动终端,比如终端可采用预设的公钥对校验证书进行解签,且解签成功后,再通过检测自身存储的芯片标识是否与该校验证书携带的标识相同,以及检测存储的终端的当前状态值是否与该校验证书携带的状态值相同,进而在两者均相同时,确定该校验证书正确,由此可启动该校验证书对应的程序,即正常启动终端,以确保终端的安全性。
在本发明实施例中,终端可通过预设的公钥对所述校验证书进行解签以获取该校验证书携带的标识和状态值,进而通过判断终端的芯片标识是否与该校验证书携带的标识相同,以及终端的当前状态值是否与该校验证书携带的状态值相同来确定该校验证书是否正确,并在两者均相同时确定该校验证书正确,由此终端可正常启动程序,否则,不启动程序。这就提升了终端的安全性,避免对终端器件进行非法篡改。
上述方法实施例都是对本申请的终端启动方法的举例说明,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
请参见图8,图8是本发明实施例提供的一种终端启动***的结构示意图。具体的,如图8所示,本发明实施例的终端启动***可包括签名设备801和终端802;其中,
签名设备801,用于获取终端802的主芯片的芯片标识和所述终端802的当前状态值,生成携带所述主芯片的芯片标识和所述当前状态值的校验证书,并采用预设的私钥对所述校验证书进行签名,在所述终端802写入签名后的所述校验证书;
终端802,用于当检测到存在校验证书时,采用预设的公钥对所述校验证书进行解签,以获取得到所述校验证书携带的标识和状态值;其中,所述公钥和所述私钥为预先设置的密钥对;获取主芯片的芯片标识和所述终端的当前状态值;判断所述芯片标识是否与所述校验证书携带的标识相同,以及所述当前状态值是否与所述校验证书携带的状态值相同;如果均相同,则正常启动。
具体的,该签名设备801可参照上述图2至图7所示实施例中签名设备的相关描述,该终端802可参照上述图2至图7所示实施例中终端的相关描述,此处不赘述。
图9示出了上述实施例中所涉及的终端的一种可能的结构示意图,参阅图9所示,该终端900可包括:处理单元901和通信单元902。其中,这些单元可以执行上述方法示例中的相应功能,例如,处理单元901,用于当检测到存在校验证书时,采用预设的公钥对所述校验证书进行解签,以获取得到所述校验证书携带的标识和状态值;其中,所述校验证书是签名设备通过预设的私钥签名后写入所述终端的,所述公钥和所述私钥为预先设置的密钥对;通信单元902,用于获取主芯片的芯片标识和所述终端的当前状态值;所述处理单元901,还用于判断所述芯片标识是否与所述校验证书携带的标识相同,以及所述当前状态值是否与所述校验证书携带的状态值相同,并在两者均相同时,正常启动。
可选的,所述处理单元901,还用于检测存储器件是否发生更换,并在检测到存储器件发生更换时,检测预置的所述存储器件对应的证书分区内是否存在校验证书。
可选的,所述处理单元901,可具体用于检测所述存储器件的重放保护内存块密钥RPMB Key是否被烧写,并在检测到所述RPMB Key未被烧写时,确定存储器件发生更换。
可选的,所述处理单元901,还用于在检测到所述RPMB Key被烧写时,检测所述RPMB Key是否正确,并在检测到所述RPMB Key正确时,正常启动。
可选的,所述终端中预置有至少一个熔丝位,且每更换一次存储器件,一个熔丝位被烧写;
所述处理单元901,还用于判断所述终端中的存储器件的更换次数是否达到所述至少一个熔丝位指示的最大更换次数,在达到所述最大更换次数时,确定不启动所述校验证书对应的程序,并在未达到所述最大更换次数时,检测预置的所述存储器件对应的证书分区内是否存在校验证书。其中,该最大更换次数可以为该至少一个熔丝位的总位数对应的数值。
可选的,所述终端中预置有至少一个熔丝位;
所述处理单元901,还用于检测所述至少一个熔丝位的烧写状态,以及检测所述校验证书的类型,所述校验证书的类型包括锁定证书和解锁证书;其中,该烧写状态可包括第一状态和第二状态,用于指示该至少一个熔丝位中被烧写的位数为奇数或偶数。
所述处理单元901,还用于在所述至少一个熔丝位处于第一状态,且所述校验证书为锁定证书,所述终端被锁定,禁止启动所述解锁证书对应的程序,并增加烧写一个熔丝位;
所述处理单元901,具体用于在所述至少一个熔丝位处于第二状态,且所述校验证书为解锁证书,所述终端被解锁,启动所述解锁证书对应的程序,并增加烧写一个熔丝位。
可选的,所述处理单元901,还用于判断所述终端被锁定的次数是否达到所述至少一个熔丝位指示的最大锁定次数,并在达到所述最大锁定次数时,禁止启动所述解锁证书对应的程序。其中,该最大锁定次数可以为该至少一个熔丝位的总位数的二分之一。
可选的,所述当前状态值为所述终端中的存储器件的更换次数、随机数、所述终端被锁定的次数、所述终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现,本申请不做限定。
在采用集成的单元的情况下,图10示出了上述实施例中所涉及的终端的另一种可能的结构示意图,如图10所示,该终端1000可包括:处理单元1002和通信单元1003。处理单元1002可用于对终端的动作进行控制管理,例如,处理单元1002用于支持终端执行图2至图4中的过程,和/或用于本文所描述的技术的其它过程。通信单元1003用于支持终端与其他设备的通信,例如与图2至图8中示出的功能模块或设备之间的通信。终端还可以包括存储单元1001,用于存储终端的程序代码和数据。
其中,处理单元1002可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1003可以是通信接口。存储单元1001可以是存储器。
当处理单元1002为处理器,通信单元1003为通信接口,存储单元1001为存储器(存储器件)时,本发明实施例所涉及的终端可以为图11所示的终端。此外,该终端还可包括主芯片。该存储器可以包括eMMC或UFS等等。
参阅图11所示,该终端1100可包括:至少一个处理器1102、至少一个通信接口1103、至少一个存储器1101以及总线1104、主芯片1105。其中,主芯片1105、通信接口1103、处理器1102以及存储器1101通过总线1104相互连接;总线1104可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本申请公开内容所描述的方法或者算法的步骤可以采用硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。该软件指令可以由相应的软件模块组成,该软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可以向该存储介质写入信息。当然,该存储介质也可以是处理器的组成部分。该处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于终端中。当然,该处理器和存储介质也可以作为分立组件存在于该终端中。
图12示出了上述实施例中所涉及的签名设备的一种可能的结构示意图,参阅图12所示,该签名设备1200可包括:通信单元1201和处理单元1202。其中,这些单元可以执行上述方法示例中的签名设备如服务器的相应功能,例如,通信单元1201,用于获取终端的主芯片的芯片标识和所述终端的当前状态值;处理单元1202,用于生成携带所述主芯片的芯片标识和所述当前状态值的校验证书,并采用预设的私钥对所述校验证书进行签名;所述通信单元1201,还用于在所述终端写入签名后的所述校验证书。
可选的,所述校验证书还携带有所述校验证书的类型,所述校验证书的类型包括锁定证书或解锁证书。
可选的,所述当前状态值可以为所述终端中的存储器件的更换次数、随机数、所述终端被锁定的次数、所述终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项或多项,本申请不做限定。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现,本申请不做限定。
在采用集成的单元的情况下,图13示出了上述实施例中所涉及的签名设备的另一种可能的结构示意图,如图13所示,该签名设备1300可包括:处理单元1302和通信单元1303。处理单元1302可用于对签名设备的动作进行控制管理,例如,处理单元1302用于支持签名设备执行图7中的过程,和/或用于本文所描述的技术的其它过程。通信单元1303用于支持签名设备与其他网络实体的通信,例如与图2至图8中示出的功能模块或设备之间的通信。签名设备还可以包括存储单元1301,用于存储签名设备的程序代码和数据。
其中,处理单元1302可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1303可以是通信接口。存储单元1301可以是存储器。
当处理单元1302为处理器,通信单元1303为通信接口,存储单元1301为存储器时,本发明实施例所涉及的签名设备可以为图14所示的签名设备。
参阅图14所示,该签名设备1400可包括:处理器1402、通信接口1403、存储器1401以及总线1404。其中,通信接口1403、处理器1402以及存储器1401通过总线1404相互连接;总线1404可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本申请公开内容所描述的方法或者算法的步骤可以采用硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可以向该存储介质写入信息。当然,该存储介质也可以是处理器的组成部分。该处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于签名设备中。当然,该处理器和存储介质也可以作为分立组件存在于签名设备中。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、签名设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、签名设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的签名设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (22)
1.一种终端启动方法,其特征在于,包括:
当检测到终端中存在校验证书时,所述终端采用预设的公钥对所述校验证书进行解签,以获取得到所述校验证书携带的标识和状态值;其中,所述校验证书是签名设备通过预设的私钥签名后写入所述终端的,所述公钥和所述私钥为预先设置的密钥对;
所述终端获取主芯片的芯片标识和所述终端的当前状态值;
所述终端判断所述芯片标识是否与所述校验证书携带的标识相同,以及所述当前状态值是否与所述校验证书携带的状态值相同;
如果均相同,所述终端正常启动。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述终端检测存储器件是否发生更换;
如果检测到存储器件发生更换,所述终端检测预置的所述存储器件对应的证书分区内是否存在校验证书。
3.根据权利要求2所述的方法,其特征在于,所述终端检测存储器件是否发生更换,包括:
所述终端检测所述存储器件的重放保护内存块密钥RPMB Key是否被烧写;
如果所述RPMB Key未被烧写,所述终端确定存储器件发生更换。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述终端检测到所述RPMB Key被烧写,所述终端检测所述RPMB Key是否正确;
如果所述RPMB Key正确,所述终端正常启动。
5.根据权利要求2所述的方法,其特征在于,所述终端中预置有至少一个熔丝位,且每更换一次存储器件,一个熔丝位被烧写;在所述检测预置的所述存储器件对应的证书分区内是否存在校验证书之前,所述方法还包括:
所述终端判断所述终端中的存储器件的更换次数是否达到最大更换次数,所述最大更换次数为所述至少一个熔丝位的总位数对应的数值;
如果达到所述最大更换次数,所述终端确定不启动所述校验证书对应的程序;
如果未达到所述最大更换次数,所述终端执行检测预置的所述存储器件对应的证书分区内是否存在校验证书的步骤。
6.根据权利要求1所述的方法,其特征在于,所述终端中预置有至少一个熔丝位;所述方法还包括:
所述终端检测所述至少一个熔丝位的烧写状态,所述烧写状态包括第一状态和第二状态,用于指示所述至少一个熔丝位中被烧写的位数为奇数或偶数;
所述终端检测所述校验证书的类型,所述校验证书的类型包括锁定证书和解锁证书;
如果所述至少一个熔丝位处于所述第一状态,且所述校验证书为锁定证书,所述终端被锁定,禁止启动所述解锁证书对应的程序,并增加烧写一个熔丝位;
所述终端正常启动,包括:
如果所述至少一个熔丝位处于所述第二状态,且所述校验证书为解锁证书,所述终端被解锁,所述终端正常启动,并增加烧写一个熔丝位。
7.根据权利要求6所述的方法,其特征在于,在所述终端检测所述校验证书的类型之前,所述方法还包括:
所述终端判断所述终端被锁定的次数是否达到最大锁定次数,所述最大锁定次数为所述至少一个熔丝位的总位数的二分之一;
如果达到所述最大锁定次数,所述终端禁止启动所述解锁证书对应的程序。
8.根据权利要求1所述的方法,其特征在于,所述当前状态值为所述终端中的存储器件的更换次数、随机数、所述终端被锁定的次数、所述终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项。
9.一种终端启动方法,其特征在于,包括:
签名设备获取终端的主芯片的芯片标识和所述终端的当前状态值;
所述签名设备生成携带所述主芯片的芯片标识和所述当前状态值的校验证书,并采用预设的私钥对所述校验证书进行签名;
所述签名设备在所述终端写入签名后的所述校验证书。
10.根据权利要求9所述的方法,其特征在于,所述校验证书还携带有所述校验证书的类型,所述校验证书的类型包括锁定证书或解锁证书。
11.根据权利要求9或10所述的方法,其特征在于,所述当前状态值为所述终端中的存储器件的更换次数、随机数、所述终端被锁定的次数、所述终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项。
12.一种终端,其特征在于,包括:处理单元和通信单元;其中,
所述处理单元,用于当检测到终端中存在校验证书时,采用预设的公钥对所述校验证书进行解签,以获取得到所述校验证书携带的标识和状态值;其中,所述校验证书是签名设备通过预设的私钥签名后写入所述终端的,所述公钥和所述私钥为预先设置的密钥对;
所述通信单元,用于获取主芯片的芯片标识和所述终端的当前状态值;
所述处理单元,还用于判断所述芯片标识是否与所述校验证书携带的标识相同,以及所述当前状态值是否与所述校验证书携带的状态值相同,并在两者均相同时,控制所述终端正常启动。
13.根据权利要求12所述的终端,其特征在于,
所述处理单元,还用于检测存储器件是否发生更换,并在检测到存储器件发生更换时,检测预置的所述存储器件对应的证书分区内是否存在校验证书。
14.根据权利要求13所述的终端,其特征在于,
所述处理单元,具体用于检测所述存储器件的重放保护内存块密钥RPMB Key是否被烧写,并在检测到所述RPMB Key未被烧写时,确定存储器件发生更换。
15.根据权利要求14所述的终端,其特征在于,
所述处理单元,还用于在检测到所述RPMB Key被烧写时,检测所述RPMB Key是否正确,并在检测到所述RPMB Key正确时,控制所述终端正常启动。
16.根据权利要求13所述的终端,其特征在于,所述终端中预置有至少一个熔丝位,且每更换一次存储器件,一个熔丝位被烧写;
所述处理单元,还用于判断所述终端中的存储器件的更换次数是否达到最大更换次数,在达到所述最大更换次数时,确定不启动所述校验证书对应的程序,并在未达到所述最大更换次数时,检测预置的所述存储器件对应的证书分区内是否存在校验证书;
其中,所述最大更换次数为所述至少一个熔丝位的总位数对应的数值。
17.根据权利要求12所述的终端,其特征在于,所述终端中预置有至少一个熔丝位;
所述处理单元,还用于检测所述至少一个熔丝位的烧写状态,以及检测所述校验证书的类型,其中,所述烧写状态包括第一状态和第二状态,用于指示所述至少一个熔丝位中被烧写的位数为奇数或偶数,所述校验证书的类型包括锁定证书和解锁证书;
所述处理单元,还用于在所述至少一个熔丝位处于所述第一状态,且所述校验证书为锁定证书时,所述终端被锁定,禁止启动所述解锁证书对应的程序,并增加烧写一个熔丝位;
所述处理单元,具体用于在所述至少一个熔丝位处于所述第二状态,且所述校验证书为解锁证书时,所述终端被解锁,控制所述终端正常启动,并增加烧写一个熔丝位。
18.根据权利要求17所述的终端,其特征在于,
所述处理单元,还用于判断所述终端被锁定的次数是否达到最大锁定次数,并在达到所述最大锁定次数时,禁止启动所述解锁证书对应的程序;
其中,所述最大锁定次数为所述至少一个熔丝位的总位数的二分之一。
19.根据权利要求12所述的终端,其特征在于,所述当前状态值为所述终端中的存储器件的更换次数、随机数、所述终端被锁定的次数、所述终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项。
20.一种签名设备,其特征在于,包括:通信单元和处理单元;其中,
所述通信单元,用于获取终端的主芯片的芯片标识和所述终端的当前状态值;
所述处理单元,用于生成携带所述主芯片的芯片标识和所述当前状态值的校验证书,并采用预设的私钥对所述校验证书进行签名;
所述通信单元,还用于在所述终端写入签名后的所述校验证书。
21.根据权利要求20所述的签名设备,其特征在于,所述校验证书还携带有所述校验证书的类型,所述校验证书的类型包括锁定证书或解锁证书。
22.根据权利要求20或21所述的签名设备,其特征在于,所述当前状态值为所述终端中的存储器件的更换次数、随机数、所述终端被锁定的次数、所述终端被解锁的次数以及预置的熔丝位中被烧写的位数中的任一项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710811694.0A CN109492370B (zh) | 2017-09-11 | 2017-09-11 | 终端启动方法、终端及签名设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710811694.0A CN109492370B (zh) | 2017-09-11 | 2017-09-11 | 终端启动方法、终端及签名设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109492370A true CN109492370A (zh) | 2019-03-19 |
CN109492370B CN109492370B (zh) | 2022-06-28 |
Family
ID=65687451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710811694.0A Active CN109492370B (zh) | 2017-09-11 | 2017-09-11 | 终端启动方法、终端及签名设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109492370B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113159A (zh) * | 2019-05-07 | 2019-08-09 | 青岛黄海学院 | 一种物联网加密终端 |
CN110598384A (zh) * | 2019-09-16 | 2019-12-20 | Oppo(重庆)智能科技有限公司 | 信息保护方法、信息保护装置及移动终端 |
CN111950675A (zh) * | 2020-08-12 | 2020-11-17 | 深圳安捷丽新技术有限公司 | 评估存储器介质的***和方法 |
CN112585042A (zh) * | 2020-03-17 | 2021-03-30 | 华为技术有限公司 | 车辆控制方法、通信装置及计算机可读存储介质 |
WO2021169106A1 (zh) * | 2020-02-25 | 2021-09-02 | 苏州浪潮智能科技有限公司 | 一种可信启动方法、装置、电子设备及可读存储介质 |
CN113343245A (zh) * | 2021-05-27 | 2021-09-03 | 长沙海格北斗信息技术有限公司 | 芯片安全启动方法、安全芯片及其接收机 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324914A (zh) * | 2008-05-19 | 2008-12-17 | 深圳华为通信技术有限公司 | 一种防盗版的方法和装置 |
CN102571347A (zh) * | 2011-12-16 | 2012-07-11 | 华为技术有限公司 | 现场可更换单元的校验方法、装置和通信设备 |
CN105303094A (zh) * | 2015-05-07 | 2016-02-03 | 同方计算机有限公司 | 一种usb主控芯片的安全自验***及自验方法 |
WO2016070382A1 (zh) * | 2014-11-06 | 2016-05-12 | 华为技术有限公司 | 一种安全信息配制方法、安全验证方法以及相关芯片 |
CN106951771A (zh) * | 2017-03-17 | 2017-07-14 | 上海与德科技有限公司 | 一种安卓操作***的移动终端使用方法 |
-
2017
- 2017-09-11 CN CN201710811694.0A patent/CN109492370B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324914A (zh) * | 2008-05-19 | 2008-12-17 | 深圳华为通信技术有限公司 | 一种防盗版的方法和装置 |
CN102571347A (zh) * | 2011-12-16 | 2012-07-11 | 华为技术有限公司 | 现场可更换单元的校验方法、装置和通信设备 |
WO2016070382A1 (zh) * | 2014-11-06 | 2016-05-12 | 华为技术有限公司 | 一种安全信息配制方法、安全验证方法以及相关芯片 |
CN105303094A (zh) * | 2015-05-07 | 2016-02-03 | 同方计算机有限公司 | 一种usb主控芯片的安全自验***及自验方法 |
CN106951771A (zh) * | 2017-03-17 | 2017-07-14 | 上海与德科技有限公司 | 一种安卓操作***的移动终端使用方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113159A (zh) * | 2019-05-07 | 2019-08-09 | 青岛黄海学院 | 一种物联网加密终端 |
CN110113159B (zh) * | 2019-05-07 | 2020-01-10 | 青岛黄海学院 | 一种物联网加密终端 |
CN110598384A (zh) * | 2019-09-16 | 2019-12-20 | Oppo(重庆)智能科技有限公司 | 信息保护方法、信息保护装置及移动终端 |
CN110598384B (zh) * | 2019-09-16 | 2022-02-22 | Oppo(重庆)智能科技有限公司 | 信息保护方法、信息保护装置及移动终端 |
WO2021169106A1 (zh) * | 2020-02-25 | 2021-09-02 | 苏州浪潮智能科技有限公司 | 一种可信启动方法、装置、电子设备及可读存储介质 |
CN112585042A (zh) * | 2020-03-17 | 2021-03-30 | 华为技术有限公司 | 车辆控制方法、通信装置及计算机可读存储介质 |
CN111950675A (zh) * | 2020-08-12 | 2020-11-17 | 深圳安捷丽新技术有限公司 | 评估存储器介质的***和方法 |
CN113343245A (zh) * | 2021-05-27 | 2021-09-03 | 长沙海格北斗信息技术有限公司 | 芯片安全启动方法、安全芯片及其接收机 |
Also Published As
Publication number | Publication date |
---|---|
CN109492370B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492370A (zh) | 终端启动方法、终端及签名设备 | |
EP3374911B1 (en) | Unlock and recovery for encrypted devices | |
US9443073B2 (en) | System and method for verifying status of an authentication device | |
KR101216306B1 (ko) | 이동 단말기에서의 구성 파라미터 갱신 | |
EP3777082B1 (en) | Trusted platform module-based prepaid access token for commercial iot online services | |
JP7194847B2 (ja) | デジタルキー、端末デバイス、及び媒体の同一性を認証する方法 | |
KR101061332B1 (ko) | 메모리 카드의 이용을 제어하기 위한 장치 및 방법 | |
US20090193211A1 (en) | Software authentication for computer systems | |
US8543841B2 (en) | Secure hosted execution architecture | |
US20200145421A1 (en) | Method for authentication and authorization and authentication server using the same | |
CN108335105B (zh) | 数据处理方法及相关设备 | |
CN103984904A (zh) | 一种防止移动终端锁屏密码被破解的方法及装置 | |
CN104601324A (zh) | 一种针对应用的验证方法、终端和*** | |
WO2015055141A1 (zh) | 终端设备的调试端口控制方法和装置 | |
EP2330787A1 (en) | Generation of a time-dependent password, particularly in a mobile comunication device | |
JP2012065123A (ja) | Icカードシステム、その通信端末、携帯端末 | |
CN110691352B (zh) | 一种sim卡访问控制方法、装置、介质和设备 | |
JP7423856B2 (ja) | 電気自動車用充電ステーションの識別方法 | |
CN102752754A (zh) | 用户识别卡锁数据进行安全认证的方法及移动终端 | |
WO2017201908A1 (zh) | 应用程序安全管理方法和*** | |
CN113724424A (zh) | 用于设备的控制方法和装置 | |
US20190042758A1 (en) | A method of verifying the integrity of an electronic device, and a corresponding electronic device | |
KR20170051423A (ko) | 소진성 네트워크 자원의 사용 방법 및 장치 | |
CN109033848A (zh) | 存储数据安全运行方法及*** | |
CN104052726A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |