WO2018176707A1 - 一种嵌入式系统启动方法及装置、计算机存储介质 - Google Patents

一种嵌入式系统启动方法及装置、计算机存储介质 Download PDF

Info

Publication number
WO2018176707A1
WO2018176707A1 PCT/CN2017/095333 CN2017095333W WO2018176707A1 WO 2018176707 A1 WO2018176707 A1 WO 2018176707A1 CN 2017095333 W CN2017095333 W CN 2017095333W WO 2018176707 A1 WO2018176707 A1 WO 2018176707A1
Authority
WO
WIPO (PCT)
Prior art keywords
verification
information
digital certificate
boot
startup
Prior art date
Application number
PCT/CN2017/095333
Other languages
English (en)
French (fr)
Inventor
韩宏娜
Original Assignee
深圳市中兴微电子技术有限公司
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 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Publication of WO2018176707A1 publication Critical patent/WO2018176707A1/zh

Links

Images

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

Definitions

  • the present invention relates to the field of embedded systems, and in particular, to an embedded system startup method and apparatus, and a computer storage medium.
  • the embedded system is the core component of the embedded device; the so-called embedded system is a dedicated computer system completely embedded in the controlled device and customized for specific applications.
  • the embedded system can be used for control. Monitor or assist with various equipment, machines, or equipment used in factory operations.
  • Embedded systems Unlike general-purpose computer systems such as personal computers, embedded systems typically perform predefined tasks with specific requirements. Since the embedded system is only for a specific task, the relevant designers can optimize the embedded system to reduce the size and cost. Embedded systems are typically mass-produced, so individual cost savings can be multiplied as production increases.
  • the bootloader for embedded systems only supports embedded systems that start a mode, such as an embedded system that boots into a secure mode, or an embedded system that boots into a non-secure mode. If you need to switch from an embedded system that starts one mode to an embedded system that starts another mode, you need to rewrite the startup code and re-project the production, which will be rewritten.
  • the dynamic code is written into the relevant chip of the embedded system, which obviously increases the development cycle of the embedded system, and takes a lot of time and manpower and material resources.
  • embodiments of the present invention are directed to an embedded system startup method and apparatus, and a computer storage medium, which can start different systems of embedded systems by a boot program, and more flexible and convenient booting of the embedded system.
  • an embodiment of the present invention provides an embedded system startup method, where the method includes:
  • a secure boot area and a non-secure boot area are respectively disposed on the embedded system chip, and the secure boot area and the non-secure boot area respectively correspond to different boot startup programs; the method further includes:
  • the preset configuration information is read, and the configuration information includes at least a system startup mode.
  • the booting startup program corresponding to the system startup mode is executed according to the system startup manner, and the corresponding boot area is booted to start the embedded system.
  • the configuration information is set in the one-time programmable OTP module.
  • the method before the booting program corresponding to the system startup mode is executed according to the system startup mode, and the booting of the corresponding boot area is started, the method further includes:
  • the first information comprising a first digital certificate and a second verification digital certificate
  • the second information comprising a second digital certificate and an operating system program
  • the configuration information further includes a first verification digital certificate
  • the booting program corresponding to the system startup mode is executed according to the system startup mode, and the booting corresponding boot area is started to boot the embedded system, including:
  • the boot startup program corresponding to the system startup mode is a boot startup program corresponding to the secure boot area
  • the boot startup program is based on the first verification digital certificate, and the first The first digital certificate in a message is first verified;
  • the second verification of the second digital certificate in the second information is performed based on the second verification digital certificate in the first information
  • the secure boot area is started.
  • the first verification comprises: verifying, by the first verification digital certificate in the configuration information, whether the first digital certificate in the first information is the same as the first verification digital certificate, When the same, the first verification is passed;
  • the second verification includes: verifying, by the second verification digital certificate in the first information, whether the second digital certificate in the second information is the same as the second verification digital certificate, and when The second verification passed.
  • the booting program corresponding to the system startup mode is executed according to the system startup mode, and the booting corresponding boot area is started to boot the embedded system, including:
  • the boot startup program corresponding to the system startup mode is a boot program corresponding to the non-secure boot area
  • the boot program directly starts the non-secure boot area.
  • the embodiment of the present invention further provides an embedded system starting device, where the device includes: a setting module, a reading module, and a guiding module;
  • a setting module configured to set a secure boot area and a non-secure boot area on the embedded system chip, where the secure boot area and the non-secure boot area respectively correspond to different boot startup programs;
  • a reading module configured to read preset configuration information after the boot loader runs, where the configuration information includes at least a system startup mode
  • the booting module is configured to execute the booting startup program corresponding to the system startup mode according to the system startup manner, and boot the corresponding booting area to start the embedded system.
  • the apparatus further includes: an OTP module configured to store the configuration information.
  • the reading module is further configured to: acquire first information and second information, the first information includes a first digital certificate and a second verification digital certificate; and the second information includes a second digital certificate and Operating system program.
  • the configuration information read by the reading module further includes a first verification digital certificate
  • the boot startup module is further configured to:
  • the boot startup program corresponding to the system startup mode is a boot startup program corresponding to the secure boot area
  • the boot startup program takes the first verification digital certificate as a standard, and the first number in the first information The certificate is verified for the first time;
  • the second verification of the second digital certificate in the second information is performed based on the second verification digital certificate in the first information
  • the secure boot area is started.
  • the booting-starting module is further configured to: in the first verification, verify, according to the first verification digital certificate in the configuration information, whether the first digital certificate in the first information is The first verification digital certificate is the same, and when the same, the first verification is passed;
  • the second verification digital certificate in the second information is used to verify whether the second digital certificate in the second information is the same as the second verification digital certificate. The second verification passed.
  • the booting startup module is further configured to: when the booting startup program corresponding to the system startup mode is a booting program corresponding to the non-secure booting zone, the booting program directly starts the non-secure booting zone.
  • An embodiment of the present invention further provides a computer storage medium, where the computer storage medium is stored A computer program configured to perform the above-described embedded system startup method.
  • the embedded system startup method and device and the computer storage medium provided by the embodiments of the present invention provide a secure boot area and a non-secure boot area on the embedded system chip, and the secure boot area and the non-secure boot area respectively correspond to different boot starts.
  • the preset configuration information is read, and the configuration information includes at least a system startup mode; and the boot startup program corresponding to the system startup mode is executed according to the system startup manner, and the corresponding booting is started.
  • the zone starts the embedded system.
  • the booting program can be booted to boot the secure boot area to start the embedded system, or boot the non-secure boot area to start the embedded system, so that the embedded system is more widely used, and the embedded system is booted more flexibly and conveniently; Since there is no need to rewrite the startup code and re-spin production, the development cycle of the embedded system can be greatly shortened, and time and manpower and material resources are avoided.
  • FIG. 1 is a schematic flowchart of a method for starting an embedded system according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of determining an activation mode of an embedded system according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a method for starting an embedded system according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of determining a security state of an embedded system according to an embodiment of the present invention.
  • FIG. 5 is a schematic flowchart of starting an embedded security system according to an embodiment of the present invention.
  • FIG. 6 is a detailed schematic diagram of starting an embedded security system according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of starting an embedded non-secure system according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a structure of an embedded system starting device according to an embodiment of the present invention.
  • an embedded system startup method includes:
  • Step 101 Set a secure boot area and a non-secure boot area on the embedded system chip, where the secure boot area and the non-secure boot area respectively correspond to different boot startup programs;
  • Step 102 After the boot loader is completed, the preset configuration information is read, and the configuration information includes at least a system startup manner.
  • the configuration information is set in an One Time Programmable (OTP) module.
  • OTP One Time Programmable
  • Step 103 Perform a boot startup program corresponding to the system startup mode according to the system startup manner, and boot a corresponding boot region to start the embedded system.
  • the method for starting the embedded system of the embodiment of the present invention further includes: acquiring the first information and the second information, where the first information includes a first digital certificate and a second verification digital certificate; and the second information includes a second digital certificate and an operating system program;
  • the boot startup program corresponding to the system startup mode is a boot startup program corresponding to the secure boot area
  • the configuration information further includes the first verification digital certificate
  • the boot startup program uses the first verification digit Subject to the certificate, performing the first verification on the first digital certificate in the first information
  • the second verification of the second digital certificate in the second information is performed based on the second verification digital certificate in the first information
  • the secure boot area is started.
  • the boot program directly launches the non-secure boot area when the system boot mode is a boot program corresponding to the non-secure boot area.
  • the embodiment of the present invention determines that the embedded system startup manner includes:
  • Step 201 Read a security status field preset in the OTP in the embedded system.
  • the preset security status field in the OTP can be set according to the actual application scenario of the embedded system, and the security status field cannot be changed again after being entered into the OTP.
  • Step 202 Determine an embedded system startup mode.
  • Step 203 If it is determined to be a secure boot mode, verify and sign the embedded system image file;
  • the step 203 further includes: determining, according to the blank flag in the embedded system chip, whether the embedded system chip is an empty slice, and if it is an empty slice, stopping starting the embedded system;
  • the embedded system is stopped;
  • BL_KEY1 is the same as the RSA key in the digital certificate in the second-level image, then The secondary image is decrypted. If the second-level image is unsuccessful, the embedded system is stopped.
  • Step 204 Start the embedded system, and then end the processing flow
  • the security embedded system is started by verifying the signature and the decrypted embedded system image.
  • Step 205 If it is determined to be a non-secure boot mode, the embedded system is started in a non-secure mode;
  • the embedded system startup mode is determined to be non-secure mode, it indicates that the embedded system image does not need to be verified and signed and decrypted, and the embedded system device is determined to be empty according to the blank flag in the flash memory. If it is a blank, stop the secure embedded system;
  • the system image in the flash memory is stored in the RAM memory of the embedded system to start the embedded system.
  • the method of the embodiment of the present invention may further include: performing a curing process and an initialization step, as shown in FIG. 3 .
  • FIG. 3 is a schematic flowchart of a method for starting an embedded system according to an embodiment of the present invention. As shown in FIG. 3, a processing flow of an embedded system startup method according to an embodiment of the present invention includes:
  • Step 301 After the embedded system is powered on, execute a program that is solidified in the ROM memory.
  • the program that is solidified in the ROM memory is a BootLoader program
  • the BootLoader program is used to initialize an embedded hardware device, establish a memory space map, and adjust the software and hardware environment in the embedded system to a working state for calling.
  • Operating the embedded system kernel to prepare the operating environment; the Boot Loader program is different according to the embedded system device system, and the Boot Loader program also depends on the configuration of the embedded hardware device, therefore, the Boot Loader program is not universal, Different embedded devices, even different embedded devices It is built using a consistent device architecture. If the Boot Loader program running on an embedded device needs to run normally on another embedded device, it is usually necessary to make specific modifications to the Boot Loader program.
  • Step 302 Initialize the configuration, and store the embedded system image file in the flash memory into the RAM memory.
  • Step 303 Read a security status field preset in the OTP in the embedded system.
  • the preset security status field in the OTP can be set according to the actual application scenario of the embedded system, and the security status field cannot be changed again after being entered into the OTP.
  • Step 306 Determine the embedded system startup mode, if it is determined to be a safe startup mode, step 305 is performed, if it is determined to be a non-safe startup mode, step 307 is performed;
  • Step 305 Perform verification verification and decryption on the embedded system image file.
  • Step 306 Start the embedded system, and then end the processing flow
  • Step 307 Start the embedded system in a non-secure mode.
  • determining an embedded security state process specifically includes the following steps:
  • Step 401 Read a startup mode field in the OTP.
  • Step 402 When the startup mode field code is 1, it indicates that the embedded system needs to be booted securely, and step 404 is performed; if the startup mode field code is 0, it indicates that the embedded system needs to be started by non-secure boot, and the steps are executed. 403;
  • Step 403 Start the embedded system, and then end the processing flow
  • the embedded system image is loaded into the embedded system RAM memory, the embedded system is booted by the non-secure boot program, and the embedded system image is not required to be verified and signed and decrypted;
  • Step 404 Verify signature and decryption of the embedded system image
  • the embedded system when the embedded system is booted in a secure boot mode, it indicates that it needs to be embedded.
  • the input system image is verified for signature and decryption. Only after the verification signature is successful and the decryption succeeds, the embedded system image loaded into the RAM memory is executed to complete the startup of the embedded system; if the verification signature and decryption are performed at any one If the verification fails or the decryption fails, the current embedded system is stopped.
  • FIG. 5 is a schematic diagram of a process for starting an embedded security system according to an embodiment of the present invention. As shown in FIG. 5, in an actual application, the process of starting a secure embedded system specifically includes the following steps:
  • Step 501 Read an empty slice flag in the embedded system chip.
  • the blank flag indicates whether the embedded system device has been burned into the operating system program
  • Step 502 Determine whether the embedded system device is empty, if it is a blank, step 513; if it is not a blank, step 503;
  • Step 503 Read the mk_en field in the OTP, where the mk_en field indicates whether embedded chip identity information is stored.
  • Step 504 Determine whether the mk_en field is equal to 1, if it is equal to 1, determine the existence of the MKID, perform step 505; if not equal to 1, determine that there is no MKID, skip step 505, perform step 506;
  • Step 505 Determine whether the MKID in the OTP is consistent with the MKID in the first image, if yes, go to step 506; if not, go to step 513;
  • the MKID is an embedded system chip representation information
  • Step 506 Determine whether the BL_KEY0 in the OTP is consistent with the RSA key in the first-level embedded system image digital certificate, if yes, go to step 507; if not, go to step 513;
  • Step 507 Perform verification verification on the first-level embedded system image.
  • Step 508 Determine whether the verification signature is successful, if successful, perform step 509; if not, perform step 513;
  • Step 509 Determine whether BK_KEY1 is consistent with the RSA key in the second image digital certificate. If yes, go to step 510; if they are inconsistent, go to step 513;
  • Step 510 Decrypt the second-level embedded system image.
  • Step 511 Determine whether the second image decryption is successful, if successful, perform step 512; if not, perform step 513;
  • Step 512 Start the embedded system, and then end the processing flow
  • Step 513 Stop starting the embedded system.
  • FIG. 6 is a detailed schematic diagram of starting an embedded security system according to an embodiment of the present invention. As shown in FIG. 6 , in an actual application, performing verification signature and decryption of an embedded system image specifically includes the following steps:
  • Step 601 Verify the certificate of the embedded system image by using the first digital certificate or the key KEY information in the upper level code; perform a hash operation on the first digital certificate or the key KEY information, and obtain a fixed length The binary value is stored in the first result sign_hash1;
  • the first-level embedded system image is verified and signed, the first-level embedded system image certificate is verified and signed by using the preset KEY information or the first digital certificate in the OTP;
  • the embedded system image is verified and signed, and the second level embedded system image certificate is verified and signed by using the KEY information or the first digital certificate in the first level embedded system image, and so on;
  • Step 602 Perform a hash operation on the embedded system image certificate or KEY information in step 601, and store the obtained fixed length binary value in the second result sign_hash2;
  • Step 603 Determine whether sign_hash1 and sign_hash2 are equal, if they are equal, perform step 604; if not, perform step 610;
  • Step 604 Perform a hash operation on the embedded system image code, and store the obtained fixed length binary value into the system image code result code_hash1;
  • Step 605 Determine whether the system image code verification information code_hash and code_hash1 pre-stored in the embedded system image certificate are equal, if yes, step 607; if not, step 610;
  • Step 606 Determine whether the embedded system image is encrypted, if encrypted, perform step 607; if not, perform step 609;
  • Step 607 Decrypt the embedded system image by using the key in the OTP.
  • Step 608 Determine whether the decryption is successful, if successful, perform step 609; if not, perform step 610;
  • Step 609 Run the decrypted embedded system image, start the embedded system, and then end the processing flow;
  • Step 610 Stop starting the embedded system.
  • starting the non-secure embedded system includes the following steps:
  • Step 701 Read an embedded system chip blank flag
  • Step 702 Determine whether the embedded system device is a blank, if it is a blank, step 703; if it is not a blank, step 704;
  • Step 703 Stop starting the embedded system, and then end the processing flow
  • Step 704 Run an embedded system image in the RAM memory to start the embedded system.
  • FIG. 8 is a schematic structural diagram of an apparatus for starting an embedded system according to an embodiment of the present invention. As shown in FIG. 8 , an apparatus for starting an embedded system according to an embodiment of the present invention includes:
  • the setting module 801 is configured to set a secure boot area and a non-secure boot area on the embedded system chip, where the secure boot area and the non-secure boot area respectively correspond to different boot startup programs;
  • the reading module 802 is configured to: after the running of the boot loader is completed, read preset configuration information, where the configuration information includes at least a system startup mode;
  • the booting start module 803 is configured to execute a booting startup program corresponding to the system startup mode according to the system startup manner, and boot a corresponding boot area to start the embedded system;
  • the device further includes: an OTP module 804 configured to store the configuration information;
  • the reading module 802 is further configured to: acquire first information and second information, the first letter
  • the information includes a first digital certificate and a second verification digital certificate;
  • the second information includes a second digital certificate and an operating system program;
  • the boot startup module 803 is further configured to:
  • the boot startup program corresponding to the system startup mode is a boot startup program corresponding to the secure boot area
  • the boot startup program takes the first verification digital certificate as a standard, and the first number in the first information The certificate is verified for the first time;
  • the second verification of the second digital certificate in the second information is performed based on the second verification digital certificate in the first information
  • the first verification includes: verifying, by the first verification digital certificate in the configuration information, whether the first digital certificate in the first information is the same as the first verification digital certificate, and when , the first verification passed;
  • the second verification includes: verifying, by the second verification digital certificate in the first information, whether the second digital certificate in the second information is the same as the second verification digital certificate, and when The second verification passed;
  • the boot-up module 803 is further configured to: when the boot-up program corresponding to the system boot mode is a boot program corresponding to the non-secure boot area, the boot program directly starts the non-secure boot area.
  • the setting module 801, the reading module 802, and the booting and starting module 803 can all be implemented by a central processing unit (CPU), a microprocessor (MPU, a Micro Processor Unit), and a digital system in an embedded system.
  • CPU central processing unit
  • MPU Microprocessor
  • DSP Digital Signal Processor
  • FPGA Field Programmable Gate Array
  • the embedded system startup method and apparatus provide a secure boot area and a non-secure boot area on the embedded system chip, and the secure boot area and the non-secure boot area respectively correspond to different boot starts.
  • the preset configuration information is read, and the configuration information includes at least a system startup mode; and the boot startup program corresponding to the system startup mode is executed according to the system startup manner, and the corresponding booting is started.
  • the zone starts the embedded system.
  • the embedded booting method and apparatus provided by the embodiments of the present invention can be compatible with both the booting secure embedded system and the non-secure embedded system. When the user needs to start another embedded system, it is not necessary to modify the booting bootloader or Re-develop new devices, reduce development cycles, and save manpower and resources.
  • the apparatus for tracking the service signaling may also be stored in a computer readable storage medium if it is implemented in the form of a software function module and sold or used as a separate product.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions.
  • a computer device (which may be a personal computer, server, or network device, etc.) is caused to perform all or part of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • an embodiment of the present invention further provides a computer storage medium, wherein a computer program is configured, and the computer program is configured to execute the embedded system startup method of the embodiment of the present invention.
  • a secure boot area and a non-secure boot area are set on the embedded system chip, and the secure boot area and the non-secure boot area respectively correspond to different boot startup programs; after the boot loader runs, read The preset configuration information is obtained, and the configuration information includes at least a system startup mode.
  • the boot startup program corresponding to the system startup mode is executed according to the system startup manner, and the corresponding boot area is booted to start the embedded system.
  • the booting program can be booted to boot the secure boot area to start the embedded system, or boot the non-secure boot area to start the embedded system, so that the embedded system is more widely used, and the embedded system is booted more flexibly and conveniently; Since there is no need to rewrite the startup code and re-spin production, the development cycle of the embedded system can be greatly shortened, and time and manpower and material resources are avoided.

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

一种嵌入式系统启动方法及装置、计算机存储介质
相关申请的交叉引用
本申请基于申请号为201710208114.9、申请日为2017年03月31日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本发明涉及嵌入式系统技术领域,尤其涉及一种嵌入式系统启动方法及装置、计算机存储介质。
背景技术
随着科学技术的不断发展,嵌入式设备被广泛应用于人们的日常生活中。其中,嵌入式系统(Embedded System)是嵌入式设备的核心组成部分;所谓嵌入式系统,是一种完全嵌入受控器件内部,为特定应用而定制设计的专用计算机系统,嵌入式系统可用于控制、监视或辅助各种设备、机器或用于工厂运作的设备。嵌入式系统与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,相关设计人员可以对嵌入式系统进行优化,减小尺寸、降低成本。嵌入式系统通常会进行大量生产,所以单个的成本节约,可以能够随着产量的提升进行成倍的放大。
目前,嵌入式系统的引导程序仅支持启动一种模式的嵌入式系统,如:引导启动安全模式的嵌入式系统,或引导启动非安全模式的嵌入式系统。如果需要从启动一种模式的嵌入式系统切换至启动另一种模式的嵌入式系统,就需要相关人员重新编写启动代码并重新投片生产,将重新编写的启 动代码写入嵌入式系统的相关芯片中,这样,显然会大大增加嵌入式系统的研发周期,耗费大量时间以及人力物力。
发明内容
有鉴于此,本发明实施例期望提供一种嵌入式系统启动方法及装置、计算机存储介质,能由引导程序启动不同模式的嵌入式系统,更灵活方便的引导启动嵌入式系统。
为达到上述目的,本发明实施例提供了一种嵌入式系统启动方法,所述方法包括:
在嵌入式系统芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;所述方法还包括:
引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括系统启动方式;
根据所述系统启动方式执行所述系统启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式系统。
上述方法中,所述配置信息设置于一次性可编程OTP模块中。
上述方法中,所述根据所述系统启动方式执行所述系统启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式系统之前,所述方法还包括:
获取第一信息和第二信息,所述第一信息包括第一数字证书和第二验证数字证书;所述第二信息包括第二数字证书和操作系统程序。
上述方法中,所述配置信息还包括第一验证数字证书;
所述根据所述系统启动方式执行所述系统启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式系统,包括:
当所述系统启动方式对应的引导启动程序为对应于安全引导区的引导启动程序时,所述引导启动程序以所述第一验证数字证书为准,对所述第 一信息中的第一数字证书进行第一次验证;
所述第一次验证通过后,以第一信息中的第二验证数字证书为准,对第二信息中的第二数字证书进行第二次验证;
所述第二次验证通过后,判断所述第二信息中的操作系统程序是否加密,确定操作系统程序被加密、且所述配置信息中还包括解密密钥时,使用所述解密密钥对所述操作系统程序进行解密;
所述操作系统程序解密成功后,启动安全引导区。
上述方法中,所述第一次验证包括:以所述配置信息中的第一验证数字证书为准,验证所述第一信息中的第一数字证书是否与所述第一验证数字证书相同,相同时,所述第一次验证通过;
所述第二次验证包括:以第一信息中的第二验证数字证书为准,验证所述第二信息中的第二数字证书是否与所述第二验证数字证书相同,相同时,所述第二次验证通过。
上述方法中,所述根据所述系统启动方式执行所述系统启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式系统,包括:
当所述系统启动方式对应的引导启动程序为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
本发明实施例还提供了一种嵌入式系统启动装置,所述装置包括:设置模块、读取模块、引导模块;其中,
设置模块,配置为在嵌入式系统芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;
读取模块,配置为在引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括系统启动方式;
引导启动模块,配置为根据所述系统启动方式执行所述系统启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式系统。
上述装置中,所述装置还包括:OTP模块,配置为存储所述配置信息。
上述装置中,所述读取模块还配置为:获取第一信息和第二信息,所述第一信息包括第一数字证书和第二验证数字证书;所述第二信息包括第二数字证书和操作系统程序。
上述装置中,所述读取模块读取的配置信息还包括第一验证数字证书;
所述引导启动模块还配置为:
当所述系统启动方式对应的引导启动程序为对应于安全引导区的引导启动程序时,所述引导启动程序以所述第一验证数字证书为准,对所述第一信息中的第一数字证书进行第一次验证;
所述第一次验证通过后,以第一信息中的第二验证数字证书为准,对第二信息中的第二数字证书进行第二次验证;
所述第二次验证通过后,判断所述第二信息中的操作系统程序是否加密,确定操作系统程序被加密、且所述配置信息中还包括解密密钥时,使用所述解密密钥对所述操作系统程序进行解密;
所述操作系统程序解密成功后,启动安全引导区。
上述装置中,所述引导启动模块还配置为:在第一次验证中,以所述配置信息中的第一验证数字证书为准,验证所述第一信息中的第一数字证书是否与所述第一验证数字证书相同,相同时,所述第一次验证通过;
在第二次验证中,以第一信息中的第二验证数字证书为准,验证所述第二信息中的第二数字证书是否与所述第二验证数字证书相同,相同时,所述第二次验证通过。
上述装置中,所述引导启动模块还配置为:当所述系统启动方式对应的引导启动程序为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
本发明实施例还提供一种计算机存储介质,该计算机存储介质存储有 计算机程序,该计算机程序配置为执行上述嵌入式系统启动方法。
本发明实施例提供的嵌入式系统启动方法及装置、计算机存储介质,在嵌入式系统芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括系统启动方式;根据所述系统启动方式执行所述系统启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式系统。如此,可以通过引导启动程序引导启动安全引导区启动嵌入式系统、或引导启动非安全引导区启动嵌入式系统,使得嵌入式系统的应用更加广泛,更灵活方便的引导启动嵌入式系统;并且,由于不需要重新编写启动代码并重新投片生产,可以大大缩短嵌入式系统的研发周期,避免时间以及人力物力的耗费。
附图说明
图1为本发明实施例嵌入式系统启动方法的流程示意图;
图2为本发明实施例确定嵌入式系统启动方式的流程示意图;
图3为本发明实施例嵌入式系统启动方法的总流程示意图;
图4为本发明实施例确定嵌入式系统安全状态的流程示意图;
图5为本发明实施例启动嵌入式安全系统流程示意图;
图6为本发明实施例启动嵌入式安全系统详细示意图;
图7为本发明实施例启动嵌入式非安全系统示意图;
图8为本发明实施例嵌入式系统启动装置的组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细说明。
图1为本发明实施例嵌入式系统启动方法的流程示意图,如图1所示,本发明实施例嵌入式系统启动方法包括:
步骤101:在嵌入式系统芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;
步骤102:引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括系统启动方式;
其中,所述配置信息,所述配置信息设置于一次性可编程(OTP,One Time Programmable)模块中。
步骤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 Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array) 等实现。
如上所述,本发明实施例提供的嵌入式系统启动方法及装置,在嵌入式系统芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括系统启动方式;根据所述系统启动方式执行所述系统启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式系统。如此,本发明实施例提供的嵌入式启动方法及装置可以同时兼容启动安全嵌入式系统和非安全嵌入式系统,当用户需要启动另一种嵌入式系统时,不必修改启动嵌入式的引导程序或重新开发新的装置,降低研发周期,节省人力物力。
本发明实施例上述业务信令跟踪的装置如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应地,本发明实施例还提供一种计算机存储介质,其中存储有计算机程序,该计算机程序配置为执行本发明实施例的嵌入式系统启动方法。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
工业实用性
本发明实施例的技术方案,在嵌入式系统芯片上设置安全引导区和非安全引导区,所述安全引导区和非安全引导区各自对应不同的引导启动程序;引导加载程序运行完成后,读取预设的配置信息,所述配置信息至少包括系统启动方式;根据所述系统启动方式执行所述系统启动方式对应的引导启动程序,引导启动对应的引导区启动嵌入式系统。如此,可以通过引导启动程序引导启动安全引导区启动嵌入式系统、或引导启动非安全引导区启动嵌入式系统,使得嵌入式系统的应用更加广泛,更灵活方便的引导启动嵌入式系统;并且,由于不需要重新编写启动代码并重新投片生产,可以大大缩短嵌入式系统的研发周期,避免时间以及人力物力的耗费。

Claims (13)

  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所述的装置,其中,所述引导启动模块还配置为:当所述系统启动方式对应的引导启动程序为对应于非安全引导区的引导程序时,所述引导程序直接启动非安全引导区。
  13. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行权利要求1-6任一项所述的嵌入式系统启动方法。
PCT/CN2017/095333 2017-03-31 2017-07-31 一种嵌入式系统启动方法及装置、计算机存储介质 WO2018176707A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2018176707A1 true WO2018176707A1 (zh) 2018-10-04

Family

ID=63675120

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710295B (zh) * 2018-11-23 2022-05-27 北京计算机技术及应用研究所 一种安全可靠的fpga远程升级方法
CN110363010B (zh) * 2019-07-17 2021-11-16 中国大恒(集团)有限公司北京图像视觉技术分公司 一种基于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
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
CN101699402A (zh) * 2009-06-12 2010-04-28 苏州国芯科技有限公司 一种多模式启动的嵌入式系统
CN101826027A (zh) * 2010-05-28 2010-09-08 深圳市融创天下科技发展有限公司 一种嵌入式系统及其升级方法
CN104951328A (zh) * 2014-03-31 2015-09-30 国基电子(上海)有限公司 嵌入式设备及其启动方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100654446B1 (ko) * 2004-12-09 2006-12-06 삼성전자주식회사 보안 부팅 장치 및 방법
US20060179308A1 (en) * 2005-02-07 2006-08-10 Andrew Morgan System and method for providing a secure boot architecture
US8996851B2 (en) * 2010-08-10 2015-03-31 Sandisk Il Ltd. Host device and method for securely booting the host device with operating system code loaded from a storage device
CN102650944A (zh) * 2011-02-28 2012-08-29 国民技术股份有限公司 一种操作系统安全引导装置及引导方法

Patent Citations (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
CN101699402A (zh) * 2009-06-12 2010-04-28 苏州国芯科技有限公司 一种多模式启动的嵌入式系统
CN101826027A (zh) * 2010-05-28 2010-09-08 深圳市融创天下科技发展有限公司 一种嵌入式系统及其升级方法
CN104951328A (zh) * 2014-03-31 2015-09-30 国基电子(上海)有限公司 嵌入式设备及其启动方法

Also Published As

Publication number Publication date
CN108664280A (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
US10152600B2 (en) Methods and systems to measure a hypervisor after the hypervisor has already been measured and booted
US10635821B2 (en) Method and apparatus for launching a device
US11194586B2 (en) Secure boot override in a computing device equipped with unified-extensible firmware interface (UEFI)-compliant firmware
TWI559167B (zh) 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法
US10788984B2 (en) Method, device, and system for displaying user interface
WO2018076648A1 (zh) 一种芯片的安全启动方法及装置、计算机存储介质
CN108363918B (zh) 处理器操作系统的引导启动方法、装置及处理器系统
JP6391439B2 (ja) 情報処理装置、サーバ装置、情報処理システム、制御方法及びコンピュータプログラム
KR20140027475A (ko) 파일 암호화 방법과 장치, 파일 복호화 방법과 장치
JP2015222474A (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
KR101695639B1 (ko) 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
WO2018176707A1 (zh) 一种嵌入式系统启动方法及装置、计算机存储介质
AU2015390172B2 (en) Usage control method and system for medical detection device and medical detection device
EP3048550B1 (en) Measurement method, electronic device and measurement system
US11379588B2 (en) System validation by hardware root of trust (HRoT) device and system management mode (SMM)
CN112181513B (zh) 一种基于硬件板卡的控制主机系统引导的可信度量方法
CN111095200A (zh) 嵌入式程序的安全升级方法、装置、设备及存储介质
WO2016101559A1 (zh) 一种数据安全存取方法、装置和计算机存储介质
US10771249B2 (en) Apparatus and method for providing secure execution environment for mobile cloud
EP3338214A1 (en) Secure computation environment
CN113127262A (zh) 镜像文件的生成方法、装置、电子设备及存储介质
CN110597534A (zh) 智能设备及应用程序更新方法、更新辅助方法和装置
CN112966276B (zh) 一种计算机的安全启动方法、装置及介质
WO2018014687A1 (zh) 一种参数传递方法、装置及计算机存储介质
CN114995894A (zh) 操作系统的启动控制方法、终端设备及可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17903901

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17903901

Country of ref document: EP

Kind code of ref document: A1