CN115221527A - 电子装置及其控制方法 - Google Patents
电子装置及其控制方法 Download PDFInfo
- Publication number
- CN115221527A CN115221527A CN202210756239.6A CN202210756239A CN115221527A CN 115221527 A CN115221527 A CN 115221527A CN 202210756239 A CN202210756239 A CN 202210756239A CN 115221527 A CN115221527 A CN 115221527A
- Authority
- CN
- China
- Prior art keywords
- public key
- electronic device
- characteristic value
- memory
- circuit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012795 verification Methods 0.000 claims description 27
- 101100020531 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) LAC1 gene Proteins 0.000 description 31
- 238000004364 calculation method Methods 0.000 description 17
- 101150085401 dgt2 gene Proteins 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 230000007547 defect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种电子装置及其控制方法。该电子装置包括一只读存储器,该只读存储器储存一公钥的一第一特征值。该控制方法包括:从一外部储存装置读取该公钥及该电子装置的多个启动流程代码;执行该多个启动流程代码;以及根据该第一特征值对该公钥进行验证。该公钥用以验证该多个启动流程代码,该第一特征值的位元数小于该公钥的位元数。该只读存储器设置于一第一芯片上,而该外部储存装置由一第二芯片构成。
Description
技术领域
本申请涉及电子装置,具体涉及一种电子装置的启动流程及电子装置的控制方法。
背景技术
图1是现有技术的运行Linux系统的电子装置的启动流程(boot flow)的示意图,主要包括以下数个启动程序:ROM boot(只读存储器(read-only memory,ROM)启动)110、Miniboot 120、U-boot 130及Kernel(核心)140。ROM boot、Miniboot、U-boot及Kernel为本技术领域具有通常知识者所熟知,故不再赘述。
为了避免启动流程代码(即固件)遭到篡改,ROM boot 110会使用公钥122及签章(signature)124来验证(verify)Miniboot 120的真实性(authenticity),而Miniboot 120使用公钥122及签章132来验证U-boot 130的真实性。签章124与签章132是使用私钥对启动流程代码(即,Miniboot 120与U-boot 130)进行签章(sign)所产生的数据,而该私钥与公钥122是一密钥对。
为防止公钥122不被篡改,现有技术是将公钥122储存于受保护的储存媒体内,现有技术的缺点在于,公钥122的大小会大大地影响电子产品的成本(公钥122愈大,则所需的储存媒体愈大,成本愈高)。
发明内容
本申请实施例提供一种电子装置及其控制方法,以改善先前技术的不足。
本申请实施例提供一种电子装置,该电子装置存取储存一公钥及该电子装置的多个启动流程代码的一外部储存装置,该电子装置包括:一只读存储器、一计算电路以及一加密及解密电路。只读存储器用来储存该公钥的一第一特征值。计算电路用来执行该多个启动流程代码。加密及解密电路用来根据该第一特征值对该公钥进行验证。该公钥用以验证该多个启动流程代码,该第一特征值的位元数小于该公钥的位元数。该只读存储器、该计算电路及该加密及解密电路设置于一第一芯片上,而该外部储存装置由一第二芯片构成。
本申请实施例提供一种电子装置的控制方法,该电子装置包括一只读存储器,该只读存储器储存一公钥的一第一特征值,该方法包括:从一外部储存装置读取该公钥及该电子装置的多个启动流程代码;执行该多个启动流程代码;以及,根据该第一特征值对该公钥进行验证。该公钥用以验证该多个启动流程代码,该第一特征值的位元数小于该公钥的位元数。该只读存储器设置于一第一芯片上,而该外部储存装置由一第二芯片构成。
本申请的实施例所体现的技术手段可以改善先前技术的缺点的至少其中之一,因此本申请相较于先前技术可以降低成本。
有关本申请的特征、实作与功效,兹配合图式作实施例详细说明如下。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的运行Linux系统的电子装置的启动流程的示意图;
图2是本申请实施例提供的电子装置的功能方块图;
图3是本申请实施例提供的电子装置的控制方法的流程图;
图4是本申请实施例提供的电子装置启动流程的流程图;
图5是本申请实施例提供的签章验证流程的流程图;
图6是本申请实施例提供的一次性可编程只读存储器的示意图;以及
图7是本申请实施例提供的烧录控制的流程图。
【符号说明】
110:只读存储器启动(ROM boot)
120:Miniboot
122:公钥
130:U-boot
140:核心(Kernel)
124,132:签章
201:电子装置
202:外部存储器
203:外部储存装置
210:计算电路
220:储存控制电路
230:只读存储器控制电路
240:加密及解密电路
250:第一只读存储器
260:第二只读存储器
270:储存电路
272:暂存器
274:存储器
Bcode:启动流程代码
Pkey:公钥
DGT1:第一特征值
DGT2:第二特征值
S510:公钥验证程序
S520:签章验证程序
600:一次性可编程只读存储器
610:存储器区块
620:控制位元
S310,S320,S330,S410,S420,S430,S440,S450,S460,S470,S480,S490,S510,S512,S514,S516,S518,S519,S520,S522,S524,S526,S528,S710,S720,S730,S740:步骤
具体实施方式
以下说明内容的技术用语是参照本技术领域的习惯用语,如本说明书对部分用语有加以说明或定义,该部分用语的解释是以本说明书的说明或定义为准。
本申请的揭露内容包括电子装置及其控制方法。由于本申请的电子装置所包括的部分元件单独而言可能为已知元件,因此在不影响该装置发明的充分揭露及可实施性的前提下,以下说明对于已知元件的细节将予以节略。此外,本申请的电子装置的控制方法的部分或全部流程可以是软件和/或固件的形式,并且可通过本申请的电子装置或其等效装置来执行,在不影响该方法发明的充分揭露及可实施性的前提下,以下方法发明的说明将着重于步骤内容而非硬件。
图2是本申请实施例提供的电子装置的功能方块图。电子装置201耦接外部存储器202(例如动态随机存取存储器(dynamic random access memory,DRAM))及外部储存装置203(例如快闪存储器(flash memory)、嵌入式多媒体卡(embedded multimedia card,eMMC)或安全数位(secure digital,SD)记忆卡)。外部储存装置203储存电子装置201的启动流程代码Bcode(即,与电子装置201启动相关的固件)及公钥Pkey。
电子装置201包括计算电路210、储存控制电路220、只读存储器控制电路230、加密及解密电路240、第一只读存储器250、第二只读存储器260及储存电路270。储存电路270包括暂存器272及存储器274(例如静态随机存取存储器(static random access memory,SRAM))。在一实施例中,电子装置201由一芯片构成,而计算电路210、储存控制电路220、只读存储器控制电路230、加密及解密电路240、第一只读存储器250、第二只读存储器260及储存电路270设置于此芯片上,而外部存储器202及外部储存装置203各由另一芯片构成。
在一些实施例中,启动流程代码Bcode包括图1的ROM boot以外的部分(其中公钥Pkey可以对应到公钥122),而ROM boot储存于第一只读存储器250。与Miniboot、U-boot及Kernel相关的程序码可以以影像档案(image file)的形式储存于外部储存装置203。储存控制电路220可以在适当的时间从外部储存装置203读取启动流程代码Bcode,并且将启动流程代码Bcode储存至外部存储器202。计算电路210及加密及解密电路240可以存取外部存储器202以取得启动流程代码Bcode。启动流程代码Bcode由计算电路210执行。计算电路210可以通过更改暂存器272的暂存值来控制只读存储器控制电路230及加密及解密电路240。
图3是本申请实施例提供的电子装置的控制方法的流程图,包括以下步骤。
步骤S310:只读存储器控制电路230从第二只读存储器260读取第一特征值DGT1。
步骤S320:只读存储器控制电路230将第一特征值DGT1储存至储存电路270,例如,储存到存储器274中。
步骤S330:计算电路210执行电子装置201的启动流程。以下将配合图4详细说明电子装置201的启动流程。
如图3所示,第一特征值DGT1是在电子装置201启动(步骤S330)之前就被从第二只读存储器260读出(步骤S310),并储存至储存电路270(步骤S320)。更明确地说,只读存储器控制电路230被设计为一旦电子装置201接上电源或是开机就自动执行步骤S310及步骤S320。因为第一特征值DGT1在电子装置201的启动流程中扮演关键的角色(将于下方详述),所以在启动流程开始之前就先将第一特征值DGT1备妥有助于提升启动流程的顺畅度及稳定度。
图4是本申请实施例提供的电子装置启动流程的流程图。以下的讨论请同时参阅图2及图4。
步骤S410:计算电路210执行ROM boot。更明确地说,计算电路210从第一只读存储器250读取ROM boot并执行ROM boot。在一实施例中,ROM boot代码中包括启动公钥验证及启动Miniboot签章验证的指令或代码,计算电路210执行到启动公钥验证及启动Miniboot签章验证的指令或代码时会发送控制指令至加密及解密电路240以进行验证流程。在一实施例中,ROM boot代码中亦包括将Miniboot代码从外部储存装置203读取至电子装置201一存储器的指令或代码,其中该存储器例如可包括于储存电路270中。
步骤S420:计算电路210及加密及解密电路240验证Miniboot的签章。签章验证流程将在下方配合图5详述。
步骤S430:判断验证是否成功(成功代表签章为真(authentic),即Miniboot没有被篡改;失败代表公钥Pkey和/或签章为假(inauthentic),即启动流程代码Bcode和/或公钥Pkey可能被篡改)。如果验证成功,则启动流程前往步骤S440;否则,结束启动流程(步骤S490)。
步骤S440:计算电路210执行Miniboot,即,计算电路210从电子装置201的存储器读取Miniboot并执行。在一实施例中,Miniboot代码包括用以初始化外部存储器202的指令或代码,计算电路210执行Miniboot的过程中包括初始化外部存储器202的操作。
步骤S450:计算电路210及加密及解密电路240验证U-boot的签章。签章验证流程将在下方配合图5详述。
步骤S460:判断验证是否成功。如果验证成功(代表U-boot没有被篡改),则启动流程前往步骤S470;否则,结束启动流程(步骤S490)。
步骤S470:计算电路210执行U-boot,即,计算电路210从外部存储器202读取U-boot并执行。
步骤S480:计算电路210执行Kernel,即,计算电路210从外部存储器202读取Kernel并执行。
步骤S490:结束启动流程,即,计算电路210停止执行启动流程。
在一实施例中,在执行步骤S480前,亦可利用计算电路210及加密及解密电路240验证Kernel的签章,确认Kernel未被修改后才执行Kernel。
图5是本申请实施例提供的签章验证流程的流程图,主要包括公钥验证程序S510及签章验证程序S520。以下的讨论请同时参阅图2及图5。
公钥验证程序S510包括以下步骤。
步骤S512:加密及解密电路240从储存电路270的存储器274中读取第一特征值DGT1。第一特征值DGT1已在启动流程开始之前被储存于储存电路270(步骤S320)。在一实施例中,为提高安全性,电子装置201中仅加密及解密电路240可控制只读存储器控制电路230以从第二只读存储器读取第一特征值DGT1,计算电路210并不知道第一特征值DGT1的位置也无法读取第一特征值DGT1。
步骤S514:计算电路210从外部储存装置203读取公钥Pkey,并且将公钥Pkey储存至储存电路270的暂存器272。
步骤S516:计算电路210以第一特征值运算方法对公钥Pkey进行特征值运算以得到公钥Pkey的第二特征值DGT2,并且将第二特征值DGT2储存至储存电路270的暂存器272。在一实施例中,可由加密及解密电路240对公钥Pkey进行特征值运算以得到公钥Pkey的第二特征值DGT2。在电子装置201出厂前,电子装置201的制造商使用该第一特征值运算方法对公钥Pkey进行特征值运算以得到第一特征值DGT1,并且将第一特征值DGT1通过只读存储器控制电路230储存至第二只读存储器260。在一些实施例中,该第一特征值运算方法包括但不限于杂凑算法(亦称为杂凑函式(Hash function)),而其他的特征值运算方法亦适用于本案。第一特征值DGT1的长度(即,位元数)小于公钥Pkey的长度。
步骤S518:加密及解密电路240从储存电路270的暂存器272读取第二特征值DGT2,并且比对第一特征值DGT1与第二特征值DGT2。
步骤S519:加密及解密电路240判断第一特征值DGT1是否等于第二特征值DGT2。如果第一特征值DGT1等于第二特征值DGT2,则进入签章验证程序S520;否则,加密及解密电路240判定签章验证失败。
由于公钥Pkey的第一特征值DGT1是以第一特征值运算方法对公钥Pkey运算所产生结果(即,第一特征值DGT1在某种程度上可代表公钥Pkey),所以在第一特征值DGT1及第二特征值DGT2都没有被篡改的情况下,步骤S519的结果应该为是。然而,如果第一特征值DGT1及第二特征值DGT2的任一者被篡改(代表电子装置201和/或外部储存装置203很可能已遭到恶意攻击),则计算电路210不应该继续电子装置201的启动流程。因此,当步骤S519的结果为否时,加密及解密电路240通过暂存器272通知计算电路210公钥Pkey为假,并且略过签章验证程序S520。当公钥Pkey为假时,签章验证程序S520必将失败。因此,计算电路210可以根据公钥Pkey为假来直接认定签章验证失败(即,步骤S430及步骤S460的结果为否)并结束启动流程(步骤S490)。
签章验证程序S520包括以下步骤。
步骤S522:加密及解密电路240读取启动流程代码Bcode。更明确地说,如果正在执行步骤S420,则加密及解密电路240在此步骤是从储存电路270读取与Miniboot相关的程序码;如果正在执行步骤S450,则加密及解密电路240在此步骤是从外部存储器202读取与U-boot相关的程序码。
步骤S524:加密及解密电路240使用第二特征值运算方法对启动流程代码Bcode进行运算,以得到启动流程代码Bcode的第三特征值。在一些实施例中,第二特征值运算方法等于第一特征值运算方法。
步骤S526:加密及解密电路240使用公钥Pkey解密签章,以得到启动流程代码Bcode的第四特征值。更明确地说,如果正在执行步骤S420,则加密及解密电路240在此步骤是解密Miniboot的签章(例如图1的签章124);如果正在执行步骤S450,则加密及解密电路240在此步骤是解密U-boot的签章(例如图1的签章132)。如果启动流程代码Bcode没有遭到篡改,则第三特征值应该等于第四特征值。
步骤S528:加密及解密电路240判断第三特征值是否等于第四特征值。当第三特征值不等于第四特征值时,代表Miniboot(或U-boot)及其签章的至少其中一者已遭到篡改;此时计算电路210应该停止执行启动流程。因此,当步骤S528的结果为否时,加密及解密电路240通过暂存器272通知计算电路210签章验证失败。步骤S528的结果为是代表签章验证成功。
综上所述,因为本申请在第二只读存储器260储存的是公钥Pkey的特征值(而非公钥Pkey本身),且特征值的长度小于公钥Pkey的长度,所以本案可以使用较小的第二只读存储器260(即,降低电子装置201的成本)。举例来说,如果公钥Pkey是RSA2048加密算法或RSA4096加密算法的公钥,则公钥Pkey的长度是2048位元或4096位元;而且,当第一特征值DGT1是杂凑函式SHA-256的结果时,第一特征值DGT1的长度是256位元,只有2048位元或4096位元的1/8或1/16,大幅降低对第二只读存储器260的需求。
在一些实施例中,第二只读存储器260可以是一次性可编程只读存储器(one timeprogrammable(OTP)read-only memory(ROM))(例如一次性写入存储器(one timeprogrammable(OTP)memory)或电子可程序熔丝(electrically programmable fuse,eFuse))。一次性可编程只读存储器可以防止数据被篡改,进一步确保第一特征值DGT1的真实性。当第二只读存储器260以一次性可编程只读存储器实作时,储存公钥Pkey的特征值(而非公钥Pkey本身)还可以进一步提高第二只读存储器260的烧录成功率(即,提高电子装置201的良率),原因是特征值的位元数小于公钥Pkey的位元数(待烧录的值的位元数愈小,则烧录的成功率愈高)。
图6是本申请实施例提供的一次性可编程只读存储器的示意图。一次性可编程只读存储器600包括存储器区块610及控制位元620。存储器区块610可以储存前述的第一特征值DGT1,而控制位元620指示存储器区块610是否可以被烧录。当第二只读存储器260以一次性可编程只读存储器600实作时,只读存储器控制电路230根据控制位元620的值决定是否烧录存储器区块610。举例来说,当控制位元620的值为0时,只读存储器控制电路230才可烧录存储器区块610。当第二只读存储器260以图6的一次性可编程只读存储器600实作时,本申请的电子装置的控制方法还包括第二只读存储器260的烧录控制。烧录控制的流程如图7所示,包括以下步骤。
步骤S710:在对存储器区块610进行烧录之前,只读存储器控制电路230读取控制位元620的值。
步骤S720:判断控制位元620是否等于一预设值(例如位元0)。如果等于,则流程进入步骤S730;否则,流程进入步骤S740。
步骤S730:只读存储器控制电路230烧录存储器区块610。
步骤S740:只读存储器控制电路230拒绝烧录存储器区块610。
许多一次性可编程只读存储器是以位元为单位进行烧录。举例来说,如果存储器区块610被烧录过后的值为“11111010”,则该值的第0及第2位元仍可以再次被烧录为1,但其他位元则无法再被烧录为0。图7的烧录控制可以防止存储器区块610的数据被篡改或恶意破坏(例如二次烧录)。
在一些实施例中,当第一特征值运算方法是杂凑算法(例如密码杂凑函式(cryptographic hash function))时,第一特征值DGT1及第二特征值DGT2皆为公钥Pkey的杂凑值(即,杂凑算法的结果,又称为讯息摘要(message digest)或摘要(digest))。因为杂凑值具有相当的独特性,所以部分的杂凑值(例如杂凑值的前半部或后半部)就足以代表公钥Pkey。换句话说,第二只读存储器260可以只储存部分的第一特征值DGT1,以进一步降低电子装置201的成本及提升一次性可编程只读存储器600的烧录成功率。当第二只读存储器260只储存部分的第一特征值DGT1时,加密及解密电路240在步骤S518中以第二特征值DGT2的相对应部分来与第一特征值DGT1的该部分做比较。
计算电路210可以是具有程序执行能力的电路或电子元件,例如中央处理器、微处理器、微控制器、微处理单元、数位讯号处理电路(digital signal processor,DSP)或其等效电路。在其他的实施例中,本领域技术人员可以根据以上的揭露内容来设计计算电路210,也就是说,计算电路210可以是特殊应用集成电路(Application SpecificIntegrated Circuit,ASIC)或是由可程序化逻辑装置(Programmable Logic Device,PLD)等电路或硬件实作。
在一些实施例中,电子装置201是一个芯片,而电子装置201、外部存储器202及外部储存装置203形成一个嵌入式系统。
本申请的嵌入式系统同时储存公钥Pkey及其第一特征值DGT1,这有助于电子装置201有效得知嵌入式系统是否遭受错误注入(fault injection)的恶意攻击。因为如果嵌入式系统遭到错误注入的恶意攻击,则公钥Pkey及第一特征值DGT1都会被改变,如此一来公钥验证程序S510必然不会成功。
需要说明的是,本申请实施例中,“多个”指代“两个及两个以上”。
前述实施例虽以电子装置的启动流程为例,然此并非对本申请的限制,本技术领域人员可依本申请的揭露适当地将本申请应用于其它类型的数据的签章验证程序。
以上对本申请实施例所提供的电子装置及其控制方法进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (19)
1.一种电子装置,其特征在于,所述电子装置存取储存一公钥及所述电子装置的多个启动流程代码的一外部储存装置,所述电子装置包括:
一只读存储器,用来储存所述公钥的一第一特征值;
一计算电路,用来执行所述多个启动流程代码;以及
一加密及解密电路,用来根据所述第一特征值对所述公钥进行验证;
其中,所述公钥用以验证所述多个启动流程代码,所述第一特征值的位元数小于所述公钥的位元数;
其中,所述只读存储器、所述计算电路及所述加密及解密电路设置于一第一芯片上,而所述外部储存装置由一第二芯片构成。
2.如权利要求1所述的电子装置,其特征在于,所述外部储存装置还储存一签章,所述签章与所述多个启动流程代码相关,当所述公钥通过验证时,所述加密及解密电路使用所述公钥解密所述签章。
3.如权利要求1所述的电子装置,其特征在于,所述电子装置还包括:
一储存电路;以及
一只读存储器控制电路,用来在所述计算电路执行所述多个启动流程代码之前从所述只读存储器读取所述第一特征值,并且将所述第一特征值储存至所述储存电路。
4.如权利要求1所述的电子装置,其特征在于,所述加密及解密电路比对所述第一特征值与对所述公钥进行运算所得的一第二特征值以对所述公钥进行验证。
5.如权利要求4所述的电子装置,其特征在于,所述第一特征值是所述公钥的一第一杂凑值,而所述第二特征值是所述公钥的一第二杂凑值。
6.如权利要求4所述的电子装置,其特征在于,所述第一特征值是所述公钥的一第一杂凑值的一部分,而所述第二特征值是所述公钥的一第二杂凑值的一部分。
7.如权利要求1所述的电子装置,其特征在于,所述只读存储器是一一次性可编程只读存储器。
8.如权利要求7所述的电子装置,其特征在于,所述电子装置还包括:
一只读存储器控制电路,用来控制所述一次性可编程只读存储器;
其中,所述只读存储器控制电路在所述一次性可编程只读存储器被烧录之前检查所述一次性可编程只读存储器的一控制位元的值,所述控制位元指示储存所述第一特征值的一存储器区块是否可以被烧录。
9.如权利要求1所述的电子装置,其特征在于,当所述公钥未通过验证时,所述计算电路停止执行所述多个启动流程代码。
10.一种电子装置的控制方法,其特征在于,所述电子装置包括一只读存储器,所述只读存储器储存一公钥的一第一特征值,所述方法包括:
从一外部储存装置读取所述公钥及所述电子装置的多个启动流程代码;
执行所述多个启动流程代码;以及
根据所述第一特征值对所述公钥进行验证;
其中,所述公钥用以验证所述多个启动流程代码,所述第一特征值的位元数小于所述公钥的位元数;
其中,所述只读存储器设置于一第一芯片上,而所述外部储存装置由一第二芯片构成。
11.如权利要求10所述的方法,其特征在于,所述外部储存装置储存一签章,所述签章与所述多个启动流程代码相关,所述方法还包括:
当所述公钥通过验证时,使用所述公钥解密所述签章。
12.如权利要求10所述的方法,其特征在于,所述电子装置还包括一储存电路,所述方法还包括:
在执行所述多个启动流程代码之前从所述只读存储器读取所述第一特征值,并且将所述第一特征值储存至所述储存电路。
13.如权利要求10所述的方法,其特征在于,所述方法还包括:
比对所述第一特征值与对所述公钥进行运算所得的一第二特征值以对所述公钥进行验证。
14.如权利要求13所述的方法,其特征在于,所述第一特征值是所述公钥的一第一杂凑值,而所述第二特征值是所述公钥的一第二杂凑值。
15.如权利要求13所述的方法,其特征在于,所述第一特征值是所述公钥的一第一杂凑值的一部分,而所述第二特征值是所述公钥的一第二杂凑值的一部分。
16.如权利要求10所述的方法,其特征在于,所述只读存储器是一一次性可编程只读存储器。
17.如权利要求16所述的方法,其特征在于,所述方法还包括:
在所述一次性可编程只读存储器被烧录之前检查所述一次性可编程只读存储器的一控制位元的值,所述控制位元指示储存所述第一特征值的一存储器区块是否可以被烧录。
18.如权利要求10所述的方法,其特征在于,所述方法还包括:
当所述公钥未通过验证时,停止执行所述多个启动流程代码。
19.如权利要求10所述的方法,其特征在于,根据所述第一特征值对所述公钥进行验证的步骤是在所述多个启动流程代码的一Miniboot启动程序或一U-boot启动程序前执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210756239.6A CN115221527A (zh) | 2022-06-29 | 2022-06-29 | 电子装置及其控制方法 |
US18/204,402 US20240005005A1 (en) | 2022-06-29 | 2023-06-01 | Electronic device and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210756239.6A CN115221527A (zh) | 2022-06-29 | 2022-06-29 | 电子装置及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221527A true CN115221527A (zh) | 2022-10-21 |
Family
ID=83609257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210756239.6A Pending CN115221527A (zh) | 2022-06-29 | 2022-06-29 | 电子装置及其控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240005005A1 (zh) |
CN (1) | CN115221527A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI843444B (zh) * | 2023-02-20 | 2024-05-21 | 大陸商星宸科技股份有限公司 | 電子裝置及其操作方法 |
-
2022
- 2022-06-29 CN CN202210756239.6A patent/CN115221527A/zh active Pending
-
2023
- 2023-06-01 US US18/204,402 patent/US20240005005A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI843444B (zh) * | 2023-02-20 | 2024-05-21 | 大陸商星宸科技股份有限公司 | 電子裝置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20240005005A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7461268B2 (en) | E-fuses for storing security version data | |
JP6373888B2 (ja) | 情報処理装置及び制御方法 | |
JP4769608B2 (ja) | 起動検証機能を有する情報処理装置 | |
JP5493951B2 (ja) | 情報処理装置、正当性検証方法及びプログラム | |
US11803366B2 (en) | Firmware updating system and method | |
CN112347518B (zh) | 储存装置 | |
JPWO2002057904A1 (ja) | ダウンロード機能を有する制御装置 | |
CN114064130B (zh) | 具有双重安全启动的自动驾驶系统 | |
US20070083768A1 (en) | Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, program loading method, and integrated circuit | |
CN110363010B (zh) | 一种基于MPSoC芯片的系统安全启动方法 | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
CN113486360B (zh) | 基于risc-v的安全启动方法及系统 | |
CN109814934B (zh) | 数据处理方法、装置、可读介质和系统 | |
CN113553115B (zh) | 一种基于异构多核芯片的启动方法以及存储介质 | |
JP2010033576A (ja) | バイオスの更新を行う電子機器及び方法 | |
CN115221527A (zh) | 电子装置及其控制方法 | |
JP6622360B2 (ja) | 情報処理装置 | |
CN117009976A (zh) | 固件加载的控制方法、装置及芯片 | |
TWI824602B (zh) | 電子裝置及其控制方法 | |
CN111695164B (zh) | 电子设备及其控制方法 | |
CN114065218B (zh) | 一种SoC系统芯片安全启动方法 | |
CN117972731B (zh) | 一种固件加载方法、启动方法、嵌入式设备及存储介质 | |
TWI826048B (zh) | 資料安全性校驗方法及電子裝置 | |
JP2004355561A (ja) | 起動装置 | |
CN118312947A (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 |