CN108664280A - 一种嵌入式***启动方法及装置 - Google Patents

一种嵌入式***启动方法及装置 Download PDF

Info

Publication number
CN108664280A
CN108664280A CN201710208114.9A CN201710208114A CN108664280A CN 108664280 A CN108664280 A CN 108664280A CN 201710208114 A CN201710208114 A CN 201710208114A CN 108664280 A CN108664280 A CN 108664280A
Authority
CN
China
Prior art keywords
information
digital certificate
boot section
embedded system
program
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.)
Withdrawn
Application number
CN201710208114.9A
Other languages
English (en)
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.)
Sanechips Technology Co Ltd
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201710208114.9A priority Critical patent/CN108664280A/zh
Priority to PCT/CN2017/095333 priority patent/WO2018176707A1/zh
Publication of CN108664280A publication Critical patent/CN108664280A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种嵌入式***启动方法,包括:在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***。本发明还同时公开了一种嵌入式***启动装置。

Description

一种嵌入式***启动方法及装置
技术领域
本发明涉及嵌入式***技术领域,尤其涉及一种嵌入式***启动方法及装置。
背景技术
随着科学技术的不断发展,嵌入式设备被广泛应用于人们的日常生活中。其中,嵌入式***(Embedded System)是嵌入式设备的核心组成部分;所谓嵌入式***,是一种完全嵌入受控器件内部,为特定应用而定制设计的专用计算机***,嵌入式***可用于控制、监视或辅助各种设备、机器或用于工厂运作的设备。嵌入式***与个人计算机这样的通用计算机***不同,嵌入式***通常执行的是带有特定要求的预先定义的任务。由于嵌入式***只针对一项特殊的任务,相关设计人员可以对嵌入式***进行优化,减小尺寸、降低成本。嵌入式***通常会进行大量生产,所以单个的成本节约,可以能够随着产量的提升进行成倍的放大。
目前,嵌入式***的引导程序仅支持启动一种模式的嵌入式***,如:引导启动安全模式的嵌入式***,或引导启动非安全模式的嵌入式***。如果需要从启动一种模式的嵌入式***切换至启动另一种模式的嵌入式***,就需要相关人员重新编写启动代码并重新投片生产,将重新编写的启动代码写入嵌入式***的相关芯片中,这样,显然会大大增加嵌入式***的研发周期,耗费大量时间以及人力物力。
发明内容
有鉴于此,本发明实施例期望提供一种嵌入式***启动方法及装置,能由引导程序启动不同模式的嵌入式***,更灵活方便的引导启动嵌入式***。
为达到上述目的,本发明实施例提供了一种嵌入式***启动方法,所述方法包括:
在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;所述方法还包括:
引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;
根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***。
上述方法中,所述配置信息设置于一次性可编程OTP模块中。
上述方法中,所述根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***之前,所述方法还包括:
获取第一信息和第二信息,所述第一信息包括第一数字证书和第二验证数字证书;所述第二信息包括第二数字证书和操作***程序。
上述方法中,所述配置信息还包括第一验证数字证书;
所述根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***,包括:
当所述***启动方式对应的引导启动程序为对应于安全引导区的引导启动程序时,所述引导启动程序以所述第一验证数字证书为准,对所述第一信息中的第一数字证书进行第一次验证;
所述第一次验证通过后,以第一信息中的第二验证数字证书为准,对第二信息中的第二数字证书进行第二次验证;
所述第二次验证通过后,判断所述第二信息中的操作***程序是否加密,确定操作***程序被加密、且所述配置信息中还包括解密密钥时,使用所述解密密钥对所述操作***程序进行解密;
所述操作***程序解密成功后,启动安全引导区。
上述方法中,所述第一次验证包括:以所述配置信息中的第一验证数字证书为准,验证所述第一信息中的第一数字证书是否与所述第一验证数字证书相同,相同时,所述第一次验证通过;
所述第二次验证包括:以第一信息中的第二验证数字证书为准,验证所述第二信息中的第二数字证书是否与所述第二验证数字证书相同,相同时,所述第二次验证通过。
上述方法中,所述根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***,包括:
当所述***启动方式对应的引导启动程序为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
本发明实施例还提供了一种嵌入式***启动装置,所述装置包括:设置模块、读取模块、引导模块;其中,
设置模块,用于在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;
读取模块,用于在引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;
引导启动模块,用于根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***。
上述装置中,所述装置还包括:OTP模块,用于存储所述配置信息。
上述装置中,所述读取模块还用于:获取第一信息和第二信息,所述第一信息包括第一数字证书和第二验证数字证书;所述第二信息包括第二数字证书和操作***程序。
上述装置中,所述读取模块读取的配置信息还包括第一验证数字证书;
所述引导启动模块具体用于:
当所述***启动方式对应的引导启动程序为对应于安全引导区的引导启动程序时,所述引导启动程序以所述第一验证数字证书为准,对所述第一信息中的第一数字证书进行第一次验证;
所述第一次验证通过后,以第一信息中的第二验证数字证书为准,对第二信息中的第二数字证书进行第二次验证;
所述第二次验证通过后,判断所述第二信息中的操作***程序是否加密,确定操作***程序被加密、且所述配置信息中还包括解密密钥时,使用所述解密密钥对所述操作***程序进行解密;
所述操作***程序解密成功后,启动安全引导区。
上述装置中,所述引导启动模块还具体用于:在第一次验证中,以所述配置信息中的第一验证数字证书为准,验证所述第一信息中的第一数字证书是否与所述第一验证数字证书相同,相同时,所述第一次验证通过;
在第二次验证中,以第一信息中的第二验证数字证书为准,验证所述第二信息中的第二数字证书是否与所述第二验证数字证书相同,相同时,所述第二次验证通过。
上述装置中,所述引导启动模块具体用于:当所述***启动方式对应的引导启动程序为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
本发明实施例提供的嵌入式***启动方法及装置,在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***。如此,可以通过引导启动程序引导启动安全引导区启动嵌入式***、或引导启动非安全引导区启动嵌入式***,使得嵌入式***的应用更加广泛,更灵活方便的引导启动嵌入式***;并且,由于不需要重新编写启动代码并重新投片生产,可以大大缩短嵌入式***的研发周期,避免时间以及人力物力的耗费。
附图说明
图1为本发明实施例嵌入式***启动方法的流程示意图;
图2为本发明实施例确定嵌入式***启动方式的流程示意图;
图3为本发明实施例嵌入式***启动方法的总流程示意图;
图4为本发明实施例确定嵌入式***安全状态的流程示意图;
图5为本发明实施例启动嵌入式安全***流程示意图;
图6为本发明实施例启动嵌入式安全***详细示意图;
图7为本发明实施例启动嵌入式非安全***示意图;
图8为本发明实施例嵌入式***启动装置的组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细说明。
图1为本发明实施例嵌入式***启动方法的流程示意图,如图1所示,本发明实施例嵌入式***启动方法包括:
步骤101:在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;
步骤102:引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;
其中,所述配置信息,所述配置信息设置于一次性可编程(OTP,One TimeProgrammable)模块中。
步骤103:根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***。
上述步骤103之前,本发明实施例嵌入式***的启动方法还包括:获取第一信息和第二信息,所述第一信息包括第一数字证书和第二验证数字证书;所述第二信息包括第二数字证书和操作***程序;
其中,当所述***启动方式对应的引导启动程序为对应于安全引导区的引导启动程序、且所述配置信息还包含第一验证数字证书时,所述引导启动程序以所述第一验证数字证书为准,对所述第一信息中的第一数字证书进行第一次验证;
所述第一次验证通过后,以第一信息中的第二验证数字证书为准,对第二信息中的第二数字证书进行第二次验证;
所述第二次验证通过后,判断所述第二信息中的操作***程序是否加密,确定操作***程序被加密、且配置信息中还包含解密密钥时,使用所述解密密钥对所述操作***程序进行解密;
所述操作***程序解密成功后,启动安全引导区。
当所述***启动方式为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
下面以具体实施例对本发明嵌入式启动方法进行详细描述说明:
图2为本发明实施例确定嵌入式***启动方式的流程示意图,本发明实施例中所述配置信息是预先设置的安全状态字段,如图2所示,本发明实施例确定嵌入式***启动方式包括:
步骤201:读取嵌入式***中OTP中预先设置的安全状态字段;
在实际应用中,OTP中预先设置的安全状态字段可以根据嵌入式***实际应用场景进行设定,所述安全状态字段录入OTP后即不可再次更改;
步骤202:确定嵌入式***启动方式;
步骤203:如果确定为安全启动方式,则对嵌入式***镜像文件进行验证签名和解密;
所述步骤203之前还包括:根据所述嵌入式***芯片中的空片标志,确定出嵌入式***芯片是否为空片,如果是空片,则停止启动嵌入式***;
如果不是空片,则读取所述OTP中的mk_en字段,根据所述mk_en字段判断是否存在MKID信息,如果所述mk_en为1,则确定存在MKID信息,判断所述MKID信息与第一级嵌入式***镜像中的MKID信息是否一致,如果所述MKID不一致,则停止启动嵌入式***;其中,所述mk_en字段表示OTP中是否存储有嵌入式芯片身份识别信息,所述MKID为嵌入式芯片身份识别信息;
如果所述MKID一致,则进一步判断OTP中的第一验证数字证书BL_KEY0是否与第一级嵌入式***镜像中数字证书中的RSA密钥是否一致,如果BL_KEY0与RSA密钥不一致,则停止启动嵌入式***;
如果BL_KEY与RSA密钥一致,则对第一级嵌入式***镜像进行验证签名,如果验证签名不成功,则停止启动嵌入式***;
如果验证签名成功,则判断第二验证数字证书BL_KEY1与第二级镜像中数字证书中的RSA密钥是否一致,如果BL_KEY1与第二级镜像中数字证书中的RSA密钥不一致,则停止启动嵌入式***;
如果BL_KEY1与第二级镜像中数字证书中的RSA密钥一致,则对第二级镜像进行解密,如果对第二级镜像解密不成功,则停止启动嵌入式***;
如果对第二级镜像解密成功,则引导启动安全引导区启动嵌入式***;
步骤204:启动嵌入式***,之后结束本次处理流程;
其中,运行通过验证签名和解密后的嵌入式***镜像,启动安全嵌入式***。
步骤205:如果确定为非安全启动方式,则以非安全模式启动嵌入式***;
其中,如果确定嵌入式***启动方式为非安全方式,表明嵌入式***镜像不需要进行验证签名和解密即可运行,根据Flash存储器中的空片标志,确定出嵌入式***装置是否为空片,如果是空片,则停启动安全嵌入式***;
如果不是空片,将所述Flash存储器中的***镜像存入嵌入式***的RAM存储器中,启动嵌入式***。
上述步骤201之前,本发明实施例的方法还可以包括:执行固化程序及初始化的步骤,具体如图3所示。
图3为本发明实施例嵌入式***启动方法的总流程示意图,如图3所示,本发明实施例嵌入式***启动方法的处理流程包括:
步骤301:嵌入式***上电后,执行固化在ROM存储器中的程序;
在实际应用中,所述固化在ROM存储器中的程序是BootLoader程序,所述BootLoader程序用于初始化嵌入式硬件设备、建立内存空间映射图,将嵌入式***中软硬件环境调整至工作状态,为调用操作嵌入式***内核准备好运行环境;所述Boot Loader程序根据嵌入式***装置体系的不用而不同,同时Boot Loader程序也依赖于嵌入式硬件设备的配置,因此,Boot Loader程序并不通用,对于不同的嵌入式设备而言,即使不同的嵌入式设备使用一致的装置体系进行构建,如果正常运行在一种嵌入式设备上的Boot Loader程序需要在另一种嵌入式设备上正常运行,也通常需要对Boot Loader程序进行针对性修改。
步骤302:初始化配置,将Flash存储器中嵌入式***镜像文件存入RAM存储器中;
步骤303:读取嵌入式***中OTP中预先设置的安全状态字段;
在实际应用中,OTP中预先设置的安全状态字段可以根据嵌入式***实际应用场景进行设定,所述安全状态字段录入OTP后即不可再次更改;
步骤304:确定嵌入式***启动方式,如果确定为安全启动方式,则执行步骤305,如果确定为非安全启动方式,则执行步骤307;
步骤305:对嵌入式***镜像文件进行验证签名和解密;
步骤306:启动嵌入式***,之后结束本次处理流程;
步骤307:以非安全模式启动嵌入式***。
图4为本发明实施例确定嵌入式***安全状态的流程示意图,如图4所示,在实际应用中,确定嵌入式安全状态流程具体包括以下步骤:
步骤401:读取OTP中启动方式字段;
步骤402:当所述启动方式字段代码为1时,表示需要安全引导启动嵌入式***,执行步骤404;如所述启动方式字段代码为0时,表示需要非安全引导启动嵌入式***,执行步骤403;
步骤403:启动嵌入式***,之后结束本次处理流程;
其中,将嵌入式***镜像加载入嵌入式***RAM存储器后,以非安全引导程序引导启动嵌入式***,无需对嵌入式***镜像进行验证签名和解密;
步骤404:对嵌入式***镜像验证签名和解密;
在实际应用中,当以安全引导方式启动嵌入式***时,表明需要对嵌入式***镜像进行验证签名和解密,只有当验证签名成功和解密成功同时完成后,再运行加载入RAM存储器中的嵌入式***镜像,完成启动嵌入式***;如果所述验证签名和解密任意一个没有通过验证或解密失败,则停止启动当前嵌入式***。
图5为本发明实施例启动嵌入式安全***流程示意图,如图5所示,在实际应用中,启动安全嵌入式***流程具体包括以下步骤:
步骤501:读取嵌入式***芯片中的空片标志;
所述空片标志表征嵌入式***装置是否已烧录入操作***程序;
步骤502:判断嵌入式***装置是否为空片,如果是空片,执行步骤513;如果不是空片,执行步骤503;
步骤503:读取OTP中的mk_en字段,其中,mk_en字段表示是否存储有嵌入式芯片身份标识信息;
步骤504:判断mk_en字段是否等于1,如果等于1,确定存在MKID,执行步骤505;如果不等于1,确定不存在MKID,跳过步骤505,执行步骤506;
步骤505:判断OTP中MKID是否与第一镜像中的MKID一致,如果一致,执行步骤506;如果不一致,执行步骤513;
其中,所述MKID为嵌入式***芯片表示信息;
步骤506:判断OTP中BL_KEY0是否与第一级嵌入式***镜像数字证书中的RSA密钥一致,如果一致,执行步骤507;如果不一致,执行步骤513;
步骤507:对第一级嵌入式***镜像进行验证签名;
步骤508:判断验证签名是否成功,如果成功,执行步骤509;如果不成功,执行步骤513;
步骤509:判断BK_KEY1是否与第二镜像数字证书中RSA密钥一致,如果一致,执行步骤510;如果不一致,执行步骤513;
步骤510:对第二级嵌入式***镜像进行解密;
步骤511:判断第二镜像解密是否成功,如果成功,执行步骤512;如果不成功,执行步骤513;
步骤512:启动嵌入式***,之后结束本次处理流程;
步骤513:停止启动嵌入式***。
图6为本发明实施例启动嵌入式安全***详细示意图,如图6所示,在实际应用中,嵌入式***镜像进行验证签名和解密具体包括以下步骤:
步骤601:使用上一级代码中的第一数字证书或密钥KEY信息对嵌入式***镜像的证书进行验证;对所述第一数字证书或密钥KEY信息进行hash运算,将获得的固定长度的二进制数值存入第一结果sign_hash1中;
其中,如果是对第一级嵌入式***镜像进行验证签名,则使用OTP中预设的KEY信息或第一数字证书对所述第一级嵌入式***镜像证书进行验证签名;如对第二级嵌入式***镜像进行验证签名,则使用第一级嵌入式***镜像中的KEY信息或第一数字证书对第二级嵌入式***镜像证书进行验证签名,以此类推;
步骤602:对步骤601中所述嵌入式***镜像证书或KEY信息进行hash运算,将获得的固定长度的二进制数值存入第二结果sign_hash2中;
步骤603:判断sign_hash1和sign_hash2是否相等,如果相等,执行步骤604;如果不相等,执行步骤610;
步骤604:对嵌入式***镜像代码进行hash运算,将获得的固定长度的二进制数值存入***镜像代码结果code_hash1中;
步骤605:判断嵌入式***镜像证书中预存的***镜像代码验证信息code_hash与code_hash1是否相等,如果相等,执行步骤607;如果不相等,执行步骤610;
步骤606:判断嵌入式***镜像是否加密,如果加密,执行步骤607;如果未加密,执行步骤609;
步骤607:用OTP中的密钥对嵌入式***镜像进行解密;
步骤608:判断解密是否成功,如果成功,执行步骤609;如果不成功,执行步骤610;
步骤609:运行解密后的嵌入式***镜像,启动嵌入式***,之后结束本次处理流程;
步骤610:停止启动嵌入式***。
图7为本发明实施例启动嵌入式非安全***示意图,如图7所示,确定嵌入式***为非安全状态,启动非安全嵌入式***包括以下步骤:
步骤701:读取嵌入式***芯片空片标志;
步骤702:判断嵌入式***装置是否是空片,如果是空片,执行步骤703;如果不是空片,执行步骤704;
步骤703:停止启动嵌入式***,之后结束本次处理流程;
步骤704:运行RAM存储器中嵌入式***镜像,启动嵌入式***。
图8为本发明实施例嵌入式***启动装置的结构示意图,如图8所示,本发明实施例嵌入式***启动装置包括:
设置模块801,用于在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;
读取模块802,用于在引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;
引导启动模块803,用于根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***;
其中,所述装置还包括:OTP模块804,用于存储所述配置信息;
所述读取模块802,还用于:获取第一信息和第二信息,所述第一信息包括第一数字证书和第二验证数字证书;所述第二信息包括第二数字证书和操作***程序;
所述引导启动模块803具体用于:
当所述***启动方式对应的引导启动程序为对应于安全引导区的引导启动程序时,所述引导启动程序以所述第一验证数字证书为准,对所述第一信息中的第一数字证书进行第一次验证;
所述第一次验证通过后,以第一信息中的第二验证数字证书为准,对第二信息中的第二数字证书进行第二次验证;
所述第二次验证通过后,判断所述第二信息中的操作***程序是否加密,确定操作***程序被加密、且所述配置信息中还包括解密密钥时,使用所述解密密钥对所述操作***程序进行解密;
所述操作***程序解密成功后,启动安全引导区;
其中,所述第一次验证包括:以所述配置信息中的第一验证数字证书为准,验证所述第一信息中的第一数字证书是否与所述第一验证数字证书相同,相同时,所述第一次验证通过;
所述第二次验证包括:以第一信息中的第二验证数字证书为准,验证所述第二信息中的第二数字证书是否与所述第二验证数字证书相同,相同时,所述第二次验证通过;
所述引导启动模块803还具体用于:当所述***启动方式对应的引导启动程序为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
在实际应用中,所述设置模块801、读取模块802、引导启动模块803均可由嵌入式***中的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
如上所述,本发明实施例提供的嵌入式***启动方法及装置,在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***。如此,本发明实施例提供的嵌入式启动方法及装置可以同时兼容启动安全嵌入式***和非安全嵌入式***,当用户需要启动另一种嵌入式***时,不必修改启动嵌入式的引导程序或重新开发新的装置,降低研发周期,节省人力物力。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种嵌入式***启动方法,其特征在于,在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;所述方法还包括:
引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;
根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***。
2.根据权利要求1所述的方法,其特征在于,所述配置信息设置于一次性可编程OTP模块中。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***之前,所述方法还包括:
获取第一信息和第二信息,所述第一信息包括第一数字证书和第二验证数字证书;所述第二信息包括第二数字证书和操作***程序。
4.根据权利要求3所述的方法,其特征在于,所述配置信息还包括第一验证数字证书;
所述根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***,包括:
当所述***启动方式对应的引导启动程序为对应于安全引导区的引导启动程序时,所述引导启动程序以所述第一验证数字证书为准,对所述第一信息中的第一数字证书进行第一次验证;
所述第一次验证通过后,以第一信息中的第二验证数字证书为准,对第二信息中的第二数字证书进行第二次验证;
所述第二次验证通过后,判断所述第二信息中的操作***程序是否加密,确定操作***程序被加密、且所述配置信息中还包括解密密钥时,使用所述解密密钥对所述操作***程序进行解密;
所述操作***程序解密成功后,启动安全引导区。
5.根据权利要求4所述的方法,其特征在于,所述第一次验证包括:以所述配置信息中的第一验证数字证书为准,验证所述第一信息中的第一数字证书是否与所述第一验证数字证书相同,相同时,所述第一次验证通过;
所述第二次验证包括:以第一信息中的第二验证数字证书为准,验证所述第二信息中的第二数字证书是否与所述第二验证数字证书相同,相同时,所述第二次验证通过。
6.根据权利要求1所述的方法,其特征在于,所述根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***,包括:
当所述***启动方式对应的引导启动程序为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
7.一种嵌入式***启动装置,其特征在于,所述装置包括:设置模块、读取模块、引导模块;其中,
设置模块,用于在嵌入式***芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;
读取模块,用于在引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括***启动方式;
引导启动模块,用于根据所述***启动方式执行所述***启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式***。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:OTP模块,用于存储所述配置信息。
9.根据权利要求7或8所述的装置,其特征在于,所述读取模块还用于:获取第一信息和第二信息,所述第一信息包括第一数字证书和第二验证数字证书;所述第二信息包括第二数字证书和操作***程序。
10.根据权利要求9所述的装置,其特征在于,所述读取模块读取的配置信息还包括第一验证数字证书;
所述引导启动模块具体用于:
当所述***启动方式对应的引导启动程序为对应于安全引导区的引导启动程序时,所述引导启动程序以所述第一验证数字证书为准,对所述第一信息中的第一数字证书进行第一次验证;
所述第一次验证通过后,以第一信息中的第二验证数字证书为准,对第二信息中的第二数字证书进行第二次验证;
所述第二次验证通过后,判断所述第二信息中的操作***程序是否加密,确定操作***程序被加密、且所述配置信息中还包括解密密钥时,使用所述解密密钥对所述操作***程序进行解密;
所述操作***程序解密成功后,启动安全引导区。
11.根据权利要求10所述的装置,其特征在于,所述引导启动模块还具体用于:在第一次验证中,以所述配置信息中的第一验证数字证书为准,验证所述第一信息中的第一数字证书是否与所述第一验证数字证书相同,相同时,所述第一次验证通过;
在第二次验证中,以第一信息中的第二验证数字证书为准,验证所述第二信息中的第二数字证书是否与所述第二验证数字证书相同,相同时,所述第二次验证通过。
12.根据权利要求7所述的装置,其特征在于,所述引导启动模块具体用于:当所述***启动方式对应的引导启动程序为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
CN201710208114.9A 2017-03-31 2017-03-31 一种嵌入式***启动方法及装置 Withdrawn CN108664280A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710208114.9A CN108664280A (zh) 2017-03-31 2017-03-31 一种嵌入式***启动方法及装置
PCT/CN2017/095333 WO2018176707A1 (zh) 2017-03-31 2017-07-31 一种嵌入式***启动方法及装置、计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710208114.9A CN108664280A (zh) 2017-03-31 2017-03-31 一种嵌入式***启动方法及装置

Publications (1)

Publication Number Publication Date
CN108664280A true CN108664280A (zh) 2018-10-16

Family

ID=63675120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710208114.9A Withdrawn CN108664280A (zh) 2017-03-31 2017-03-31 一种嵌入式***启动方法及装置

Country Status (2)

Country Link
CN (1) CN108664280A (zh)
WO (1) WO2018176707A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710295A (zh) * 2018-11-23 2019-05-03 北京计算机技术及应用研究所 一种安全可靠地fpga远程升级方法
CN110363010A (zh) * 2019-07-17 2019-10-22 中国大恒(集团)有限公司北京图像视觉技术分公司 一种基于MPSoC芯片的***安全启动方法
CN114647461A (zh) * 2022-05-19 2022-06-21 深圳比特微电子科技有限公司 一种嵌入式***的启动方法和***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1786916A (zh) * 2004-12-09 2006-06-14 三星电子株式会社 安全引导设备和方法
US20060179308A1 (en) * 2005-02-07 2006-08-10 Andrew Morgan System and method for providing a secure boot architecture
CN102650944A (zh) * 2011-02-28 2012-08-29 国民技术股份有限公司 一种操作***安全引导装置及引导方法
CN103069384A (zh) * 2010-08-10 2013-04-24 桑迪士克以色列有限公司 用从储存设备加载的操作***代码安全地引导主机设备的主机设备和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052778A (en) * 1997-01-13 2000-04-18 International Business Machines Corporation Embedded system having dynamically linked dynamic loader and method for linking dynamic loader shared libraries and application programs
CN101699402B (zh) * 2009-06-12 2012-06-27 苏州国芯科技有限公司 一种多模式启动的嵌入式***
CN101826027A (zh) * 2010-05-28 2010-09-08 深圳市融创天下科技发展有限公司 一种嵌入式***及其升级方法
CN104951328A (zh) * 2014-03-31 2015-09-30 国基电子(上海)有限公司 嵌入式设备及其启动方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1786916A (zh) * 2004-12-09 2006-06-14 三星电子株式会社 安全引导设备和方法
US20060179308A1 (en) * 2005-02-07 2006-08-10 Andrew Morgan System and method for providing a secure boot architecture
CN103069384A (zh) * 2010-08-10 2013-04-24 桑迪士克以色列有限公司 用从储存设备加载的操作***代码安全地引导主机设备的主机设备和方法
CN102650944A (zh) * 2011-02-28 2012-08-29 国民技术股份有限公司 一种操作***安全引导装置及引导方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹英培 等: "基于Xilinx Zynq的嵌入式***的BOOT方式探究", 《WWW.PAPER.EDU.CN/RELEASEPAPER/CONTENT/201509-274》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710295A (zh) * 2018-11-23 2019-05-03 北京计算机技术及应用研究所 一种安全可靠地fpga远程升级方法
CN109710295B (zh) * 2018-11-23 2022-05-27 北京计算机技术及应用研究所 一种安全可靠的fpga远程升级方法
CN110363010A (zh) * 2019-07-17 2019-10-22 中国大恒(集团)有限公司北京图像视觉技术分公司 一种基于MPSoC芯片的***安全启动方法
CN110363010B (zh) * 2019-07-17 2021-11-16 中国大恒(集团)有限公司北京图像视觉技术分公司 一种基于MPSoC芯片的***安全启动方法
CN114647461A (zh) * 2022-05-19 2022-06-21 深圳比特微电子科技有限公司 一种嵌入式***的启动方法和***

Also Published As

Publication number Publication date
WO2018176707A1 (zh) 2018-10-04

Similar Documents

Publication Publication Date Title
US8572410B1 (en) Virtualized protected storage
CN111984962B (zh) 固件安全验证方法及装置
CN107220547B (zh) 终端设备及其启动方法
CN102063591B (zh) 基于可信平台的平台配置寄存器参考值的更新方法
CN103946856B (zh) 加解密处理方法、装置和设备
CN106384052A (zh) 一种实现BMC U‑boot可信启动控制的方法
TW201512879A (zh) 行動通信裝置及其操作方法
CN103914658A (zh) 终端设备的安全启动方法及终端设备
WO2019005396A1 (en) REMOTE ATTESTATION FOR MULTI-CORE PROCESSOR
CN105117651B (zh) 一种控制单板安全启动的方法、软件包升级的方法及装置
WO2018076648A1 (zh) 一种芯片的安全启动方法及装置、计算机存储介质
EP3384423B1 (en) Device with multiple roots of trust
TW201706899A (zh) 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品
CN103745167B (zh) 单片机的iap方法及装置
CN108664280A (zh) 一种嵌入式***启动方法及装置
CN105678162A (zh) 一种基于tpm的操作***安全启动控制方法
CN118302990A (zh) 用于基于设备所有者来生成密钥的sram物理不可克隆功能(puf)存储器
CN106657551A (zh) 一种防止移动终端解锁的方法及***
CN103346883A (zh) 一种初始化电子签名工具的方法及装置
US11765149B2 (en) Secure data provisioning
CN106156632B (zh) 安全装置及在其内提供安全服务至主机的方法、安全设备
CN115357274A (zh) 远程io设备固件升级方法及***
CN114816549A (zh) 一种保护bootloader及其环境变量的方法及***
CN101447012B (zh) 一种电子设备和电子设备中固件的验证方法
CN110688663A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20181016