Secure boot processing method, device and storage medium for application program
By using an unchangeable root certificate built into the SoC, the security kernel verifies the legitimacy of Uboot, ensuring the transmission of the trust chain. This solves the problem of untrusted boot caused by tampering with Uboot in SPI Flash or short circuit of the security chip, achieving system boot security and meeting power industry standards.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHENGDU TD TECH LTD
- Filing Date
- 2023-12-29
- Publication Date
- 2026-04-28
AI Technical Summary
When the Uboot in the SPI Flash of an existing SoC system is tampered with or the security chip is short-circuited, the security verification fails, resulting in an unexpected kernel being loaded. The system is unable to reverse verify the Uboot, making the boot process unreliable.
By embedding an unchangeable root certificate within the SoC, the security kernel verifies the legitimacy of Uboot. After successful verification, Uboot verifies the system startup program and the security verification program, ensuring the transmission of the trust chain and preventing security issues caused by Uboot being tampered with.
It achieves complete trust chain transfer from system power-on to application startup, ensuring system startup security and compliance with power industry standards.
Smart Images

Figure CN120234807B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of chip technology, and in particular to a secure startup processing method, device and storage medium for an application. Background Technology
[0002] A system-on-a-chip (SoC) is a highly integrated electronic system that integrates multiple functional modules onto a single chip, thereby improving system performance, reducing power consumption, and decreasing physical size.
[0003] When using a SoC, the first step is to perform security verification through a security chip. The existing security verification process mainly includes: after the system is powered on, the security chip calls Uboot in the SPI Flash to perform firmware verification, and after the verification is passed, it uses SPISwitch to switch the path between the SPI Flash and the SoC so that the SoC loads Uboot in the SPI Flash, and loads and verifies the kernel and file system according to the boot of Uboot to complete the system startup.
[0004] In the aforementioned SoC architecture, if the Uboot in the SPI Flash is tampered with or the security chip is short-circuited, the security chip's verification will fail. This will also cause the loaded kernel to be an unexpected kernel, making the system unable to reverse verify the Uboot and rendering the boot process unreliable. Summary of the Invention
[0005] This application provides a secure boot processing method, device, and storage medium for applications, which solves the problem that if the Uboot in the SPI Flash is tampered with or the security chip is short-circuited before the existing chip boots, the verification of the security chip will fail, and the loaded kernel will be an unexpected kernel, making the system unable to reverse verify the Uboot and thus making the boot process unreliable.
[0006] In a first aspect, this application provides a secure startup method for an application, comprising:
[0007] In response to a system power-on signal, a secure boot procedure is invoked to verify whether Uboot is trustworthy; wherein, the secure boot procedure includes invoking a security chip to verify Uboot;
[0008] If the secure boot program verifies the Uboot result as trustworthy, it then calls the security chip based on Uboot to verify the system to be loaded and the security verification program; wherein, the system to be loaded includes the kernel and the initialization process;
[0009] If the verification results of the system to be loaded and the security verification program are both reliable, then the security verification program calls the security chip to verify the key components of each application to be loaded.
[0010] If the verification results of the key components of the application to be loaded are reliable, then the application is launched based on the key components.
[0011] In one possible design, the invocation of the secure boot procedure to verify the trustworthiness of Uboot includes:
[0012] The security kernel is triggered to invoke the built-in trusted root certificate, and the bootloader is verified according to the trusted root certificate; wherein, the bootloader is used to guide the security chip to verify Uboot;
[0013] If the bootloader is trusted, the security chip is invoked to verify Uboot based on the bootloader.
[0014] One possible design also includes:
[0015] If the verification result of Uboot is unreliable, or the verification result of the system and security verification program to be loaded is unreliable, or the verification result of the critical components of the application to be loaded is unreliable, then the system is restarted.
[0016] In one possible design, launching the application based on the key component includes:
[0017] Based on the key components, the security chip is invoked to verify the application corresponding to the key components;
[0018] If the verification result of the application corresponding to the key component is reliable, then the application is started.
[0019] Secondly, this application provides a system-on-a-chip, comprising:
[0020] A security module is used to invoke a secure boot program in response to a system power-on signal, and to verify whether Uboot is trustworthy based on the secure boot program; wherein, the secure boot program includes invoking a security chip to verify Uboot;
[0021] The business module is used to call the security chip to verify the system to be loaded and the security verification program based on Uboot if the verification result of the secure boot program is trustworthy; wherein, the system to be loaded includes the kernel and the initialization process;
[0022] The business module is also used to call the security chip to verify the key components of each application to be loaded if the verification results of the system to be loaded and the security verification program are both reliable.
[0023] The business module is also used to launch the application based on the key components if the verification result of the key components of the application to be loaded is reliable.
[0024] Optionally, the business module is specifically used to call the secure boot program to verify whether Uboot is trustworthy, including:
[0025] The security kernel is triggered to invoke the built-in trusted root certificate, and the bootloader is verified according to the trusted root certificate; wherein, the bootloader is used to guide the security chip to verify Uboot;
[0026] If the bootloader is trusted, the security chip is invoked to verify Uboot based on the bootloader.
[0027] Optionally, the business module is specifically used to launch the application based on the key components, including:
[0028] Based on the key components, the security chip is invoked to verify the application corresponding to the key components;
[0029] If the verification result of the application corresponding to the key component is reliable, then the application is started.
[0030] Furthermore, it also includes:
[0031] The restart module is used to restart the system if the verification result of Uboot is unreliable, or the verification result of the system and security verification program to be loaded is unreliable, or the verification result of the critical components of the application to be loaded is unreliable.
[0032] Thirdly, this application provides a secure boot system, comprising:
[0033] An embedded multimedia card, a security chip, and a system-on-a-chip (SoC) are provided, wherein the embedded multimedia card and the security chip are respectively connected to the SoC; wherein the SoC includes a security core and a service core, the security core is used to verify the Uboot according to the built-in trusted root certificate of the security core, and the service core is used to verify the service to be loaded in the embedded multimedia card according to the Uboot verified by the security core.
[0034] Fourthly, this application provides an electronic device, comprising:
[0035] A processor, and a memory communicatively connected to the processor;
[0036] The memory stores computer-executed instructions;
[0037] The processor executes computer execution instructions stored in the memory to implement a secure application startup process.
[0038] Fifthly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement a secure startup processing method for an application.
[0039] Sixthly, this application provides a computer program product, comprising:
[0040] A computer program that, when executed by a processor, implements a secure startup process for an application.
[0041] The secure boot processing method, device, and storage medium provided in this application, in response to a system power-on signal, invoke a secure boot program to verify the trustworthiness of Uboot. If the verification result of Uboot by the secure boot program is trustworthy, then a security chip is invoked based on Uboot to verify the system to be loaded and the security verification program. If the verification results of the system to be loaded and the security verification program are both trustworthy, then the security chip is invoked based on the security verification program to verify the key components of each application to be loaded. If the verification result of the key components of the application to be loaded is trustworthy, then the application is started based on the key components. Compared with the prior art, if the Uboot in the SPI Flash is tampered with or the security chip is short-circuited before chip boot, the verification of the security chip will fail, and it will also lead to the loading of an unexpected kernel, causing the system to be unable to reverse verify Uboot, making the boot process untrustworthy. This application achieves reliable and effective transmission of the trust chain. The trust chain transmission is uninterrupted throughout the boot process, ensuring the security of system boot and ensuring that the secure boot of the system meets the power industry standards. Attached Figure Description
[0042] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0043] Figure 1 A schematic diagram illustrating the secure startup process of an application provided by the prior art of this application;
[0044] Figure 2 A flowchart illustrating the secure startup method for applications provided in this application embodiment. Figure 1 ;
[0045] Figure 3 A flowchart illustrating the secure startup method for applications provided in this application embodiment. Figure 2 ;
[0046] Figure 4 This is a schematic diagram of the structure of the secure startup processing device for an application provided in an embodiment of this application;
[0047] Figure 5 This is a schematic diagram of the secure boot system structure provided in an embodiment of this application;
[0048] Figure 6 A schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application;
[0049] Figure 7 A flowchart illustrating the secure startup method for applications provided in this application embodiment. Figure 3 .
[0050] Explanation of reference numerals in the attached figures:
[0051] 101. Security chip; 102. SPI Flash; 103. SPI Switch; 104. System-on-a-chip; 105. Embedded multimedia card;
[0052] 401. Security Module; 402. Business Module; 403. Restart Module;
[0053] 501. Embedded multimedia card; 502. Security chip; 503. System-on-a-chip (SoC);
[0054] 601. Processor; 602. Memory; 603. Communication component; 604. Bus. Detailed Implementation
[0055] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without inventive effort are within the scope of protection of this invention.
[0056] First, the relevant concepts or terms involved in this application will be explained:
[0057] System-on-a-Chip (SoC): refers to a highly integrated electronic system that integrates multiple functional modules onto a single chip, thereby improving system performance, reducing power consumption, and decreasing physical size.
[0058] U-Boot refers to a general-purpose CPU bootloader, primarily used in the boot loading module of embedded terminals.
[0059] Kernel: refers to an operating system kernel.
[0060] Init: refers to the initialization process required for system startup.
[0061] Security chip: refers to a device that can independently generate and encrypt / decrypt keys. It has an independent processor and storage unit, which can store keys and feature data, and provide encryption and security authentication services for computers.
[0062] Serial Peripheral Interface (SPI): This refers to a synchronous peripheral interface that enables a microcontroller to communicate with various peripheral devices in a serial manner to exchange information. Peripheral devices include Flash RAM, network controllers, LCD display drivers, A / D converters, and MCUs, etc.
[0063] Embedded Multi Media Card (eMMC): refers to a standard for flash memory cards that defines the physical architecture, access interface, and protocol of storage systems based on embedded multimedia cards.
[0064] Flash memory refers to a non-volatile storage device, similar to a hard drive or solid-state drive, but with faster read and write speeds, greater durability, and lighter weight. It is commonly used to store data in devices such as mobile phones, cameras, and MP3 players.
[0065] Switch: refers to a type of switch that uses hardware to perform the filtering, learning, and forwarding processes that were previously done by software in bridges.
[0066] Figure 1 This is a schematic diagram illustrating the secure startup process of an application provided by the prior art of this application. For example... Figure 1As shown, after the existing system powers on, the security chip 101 calls the Uboot in the SPI Flash 102 to perform firmware verification. After successful verification, it uses the SPI Switch 103 to switch the path between the SPI Flash 102 and the system-on-a-chip 104, so that the system-on-a-chip 104 loads the Uboot in the SPI Flash 102. Based on the Uboot's boot instructions, it loads and verifies the kernel and file system in the embedded multimedia card 105, thus completing the system boot. Since the Uboot in the SPI Flash is publicly available and lacks security protection, it is easily accessed and tampered with. Furthermore, as can be seen from the structural layout of the boot process diagram, if the security chip 101 is short-circuited (i.e., directly connected to the system-on-a-chip 104), the verification by the security chip 101 will fail. Simultaneously, because the loaded kernel is not the kernel expected by the original Uboot, the system cannot reverse verify the Uboot, meaning the reverse verification process also fails. This results in no security verification operation during the entire boot process, making the entire boot process unreliable.
[0067] Based on the above-mentioned technical problems, the inventive concept of this application is as follows: by using a root certificate built into the SoC that cannot be changed after factory settings, the security core in the SoC verifies the legitimacy of uboot. After the verification is successful, the security core starts uboot on the service core, and uboot sends the system boot program and security verification program and other verification information to the security core for further verification. After the verification is successful, the remaining critical service programs are verified to achieve secure startup of the application. This invention aims to solve the above-mentioned technical problems of the prior art.
[0068] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0069] Figure 2 A flowchart illustrating the secure startup process of an application provided in this application embodiment. Figure 1 .like Figure 2 As shown, the method includes:
[0070] S201. In response to the system power-on signal, the secure boot program is invoked to verify whether Uboot is trustworthy.
[0071] The secure boot process includes calling a security chip to verify Uboot.
[0072] Specifically, after the system powers on, the secure boot program is first invoked to verify the trustworthiness of U-boot, instead of directly invoking U-boot to perform system security verification as in existing technologies. This avoids the possibility of U-boot being tampered with. Furthermore, the secure boot program is a built-in program that cannot be changed after leaving the factory, ensuring that the secure boot program is not tampered with. This achieves the transfer of the trust chain from the secure boot program to U-boot after the system powers on, preventing subsequent business security from being compromised due to U-boot tampering and ensuring the security of the boot process.
[0073] S202. If the verification result of the secure boot program for Uboot is trustworthy, then the secure chip is called based on Uboot to verify the system to be loaded and the secure verification program.
[0074] The system to be loaded includes the kernel and the initialization process.
[0075] Specifically, the security chip, as an independent security verification module, verifies the legitimacy of all programs within the system. Since U-Boot is the bootloader, it needs to verify the security chip during system startup after it is determined to be trustworthy. If U-Boot is untrustworthy, the bootloader that verifies the security chip will not be launched, and the system will be restarted directly to re-determine the trustworthiness of U-Boot, thus avoiding situations where U-Boot verification fails due to program bugs or other factors.
[0076] S203. If the verification results of the system to be loaded and the security verification program are both reliable, then the security verification program calls the security chip to verify the key components of each application to be loaded.
[0077] Specifically, after confirming that both the system to be loaded and the security verification program are trustworthy, the system is started based on the kernel and initialization process in the system to be loaded. After the system starts, applications still need to be loaded, so the applications to be loaded need to be verified. Similarly, the verification needs to be performed on the security chip. The security verification program is used to guide the security chip on the business core to perform reverse verification of the system and verification of key components of the application. Therefore, the security chip is started based on the security verification program to perform reverse verification of Uboot and kernel, further ensuring the reliability of the previous trust chain transmission. In addition, the key components of the business management application related to the business application to be loaded on the business core are also verified on the security chip, thereby extending the transmission of the trust chain to the business management application.
[0078] S204. If the verification result of the key component of the application to be loaded is reliable, then start the application based on the key component.
[0079] Specifically, since the business management application uniformly manages the legitimacy and startup sequence of business applications, after determining that the key components of the application to be loaded are trustworthy, the corresponding business application can be launched according to the business management application, realizing the transfer of the trust chain between the business management application and the business application, and ultimately realizing the complete transfer of the trust chain of the entire process from system power-on to application startup.
[0080] The method provided in this embodiment, in response to the system power-on signal, calls a secure boot program to verify the trustworthiness of Uboot. If the secure boot program verifies the trustworthiness of Uboot, it calls a security chip to verify the system to be loaded and the security verification program based on Uboot. If both the verification results of the system to be loaded and the security verification program are trustworthy, it calls a security chip to verify the key components of each application to be loaded based on the security verification program. If the verification results of the key components of the application to be loaded are trustworthy, the application is started based on the key components. This method achieves reliable and effective transmission of the trust chain, ensuring uninterrupted transmission of the trust chain throughout the boot process, guaranteeing the security of system startup, and ensuring that the secure startup of the system meets power industry standards.
[0081] The secure startup method of the application of this application will be described in detail below with reference to a specific embodiment.
[0082] Figure 3 A flowchart illustrating the secure startup process of an application provided in this application embodiment. Figure 2 .like Figure 3 As shown, the method includes:
[0083] S301. In response to the system power-on signal, the security kernel is triggered to call the built-in trusted root certificate and verify the boot program based on the trusted root certificate.
[0084] This bootloader is used to guide the security chip to verify Uboot.
[0085] Specifically, the built-in trusted root certificate is a root certificate that cannot be changed after the SoC is built into the factory settings. The legitimacy of the bootloader L1 is verified by the security kernel within the SoC.
[0086] S302. Determine whether the bootloader is trustworthy. If yes, execute S303; otherwise, execute S313.
[0087] S303, Based on this bootloader, the security chip is called to verify Uboot.
[0088] Specifically, once the bootloader L1 is determined to be trustworthy, the bootloader L1 then verifies the legitimacy of Uboot through the security chip, thus completing the two-stage trust chain transfer process from system power-on to Uboot.
[0089] S304. Determine whether the verification result of the secure boot program on Uboot is reliable. If yes, execute S305; otherwise, execute S313.
[0090] S305, based on Uboot, calls the security chip to verify the system to be loaded and the security verification program.
[0091] The system to be loaded includes the kernel and the initialization process.
[0092] Specifically, after Uboot passes the verification, the security core starts Uboot on the service core. Uboot then sends the verification information of the system's kernel, init, and security verification program files to the security chip and receives the return value sent by the security chip, thus realizing a seamless trust chain transfer from the security core to the service core.
[0093] S306. Determine whether the verification results of the system to be loaded and the security verification program are both reliable. If yes, execute S307; otherwise, execute S313.
[0094] S307. Based on this security verification program, the security chip is called to verify the key components of each application to be loaded.
[0095] Specifically, the return value of the security chip is analyzed. If the verification passes, the already verified kernel is restarted and the system is entered. This ensures that the program started by the system is the expected program, and also ensures that the security verification program is the expected program, thus realizing the trust chain transmission between the system and the security verification program within the business kernel.
[0096] The specific implementation of S307 is similar to that of S203, and will not be described again in this embodiment.
[0097] S308. Determine whether the verification result of the key components of the application to be loaded is reliable. If yes, execute S309; otherwise, execute S313.
[0098] S309. Based on this key component, call the security chip to verify the application corresponding to this key component.
[0099] Specifically, the security verification program verifies other critical programs, such as business management applications, through a security chip, ensuring that the critical programs running the system are as expected, thus realizing the transfer of the trust chain from the security verification program to the critical programs.
[0100] S310. Determine whether the verification result of each application corresponding to the key component is reliable. If yes, execute S311; otherwise, execute S312.
[0101] S311. Launch the application.
[0102] S312, Skip this application.
[0103] Specifically, the key components are used to manage the legitimacy and startup sequence of applications. After the key components pass the verification, the corresponding applications are verified sequentially according to the startup sequence configured by the key components. The application is started after the business application passes the verification. Since there may be more than one application in the system, if the current application fails the verification, the application is skipped and the next application is checked.
[0104] S313, Restart the system.
[0105] Specifically, restarting the system prevents applications from opening. At the same time, restarting can also re-execute the trust chain transmission process, avoiding the interruption of the trust chain due to some programs not starting properly during startup.
[0106] Figure 7 A flowchart illustrating the secure startup method for applications provided in this application embodiment. Figure 3 .like Figure 7 As shown, the method includes the following steps:
[0107] After the system is powered on, the security core first runs the trusted root certificate in the read-only memory, verifies and loads the boot program L1. L1 verifies Uboot through the security chip. If Uboot verification is successful, Uboot is launched in the service core, completing the trust chain transfer process of the security core. If Uboot verification fails, the system is restarted until Uboot verification is successful or the user actively turns off the power to stop power-on.
[0108] After the business core starts Uboot, Uboot verifies the kernel+init+security verification program through the security chip. If all verifications pass, the verified kernel+init+security verification program is loaded, and the kernel+init program is used to start the program. The security verification program verifies the critical program through the security chip. If the critical program passes the verification, the system allows the login process. The critical program continues to verify the application of each business through the security chip, and executes the application when the verification passes, thus completing the trust chain transfer process of the business core part.
[0109] If any one of the kernel+init+ security verification program or critical programs fails verification, the system will be restarted until all verifications pass.
[0110] If any application fails the verification, it will be skipped and not executed, but this will not affect the execution of other applications that have passed the verification.
[0111] The method provided in this embodiment, in response to a system power-on signal, triggers a security kernel to call a built-in trusted root certificate and verifies the bootloader based on the trusted root certificate. If the bootloader is trusted, the security chip is called to verify Uboot based on the bootloader. If the verification result of the secure boot program on Uboot is trusted, the security chip is called to verify the system to be loaded and the security verification program based on Uboot. If the verification results of the system to be loaded and the security verification program are both trusted, the security chip is called to verify the critical components of each application to be loaded based on the security verification program. If the verification result of the critical components of the application to be loaded is trusted, the security chip is called to verify the application corresponding to the critical component based on the critical component. If the verification result of the application corresponding to the critical component is trusted, the application is started. If the verification result of Uboot is untrustworthy, or the verification results of the system to be loaded and the security verification program are untrustworthy, or the verification result of the critical components of the application to be loaded is untrustworthy, the system is restarted. This method realizes the sequential transmission of the trust chain throughout the boot process, ensuring the security of system boot.
[0112] Figure 4 This is a schematic diagram of the structure of the secure startup processing device for an application provided in an embodiment of this application. Figure 4 As shown, the device includes:
[0113] Security module 401 is used to call a secure boot program in response to a system power-on signal, and to verify whether Uboot is trustworthy based on the secure boot program; wherein, the secure boot program includes calling a security chip to verify Uboot.
[0114] Business module 402 is used to call the security chip to verify the system to be loaded and the security verification program based on Uboot if the verification result of the secure boot program is trustworthy; wherein, the system to be loaded includes the kernel and the initialization process.
[0115] The business module 402 is also used to call the security chip to verify the key components of each application to be loaded if the verification results of the system to be loaded and the security verification program are both reliable.
[0116] The business module 402 is also used to start the application based on the key component if the verification result of the key component of the application to be loaded is reliable.
[0117] Optionally, this business module 402 is specifically used to call the secure boot program to verify whether Uboot is trustworthy, including:
[0118] The security kernel is triggered to call the built-in trusted root certificate, and the bootloader is verified based on the trusted root certificate; the bootloader is used to guide the security chip to verify Uboot;
[0119] If the bootloader is trusted, the security chip will be called to verify Uboot based on the bootloader.
[0120] Optionally, the business module 402 is specifically used to launch the application based on this key component, including:
[0121] Based on this key component, the security chip is invoked to verify the application corresponding to this key component;
[0122] If the verification result of the application corresponding to the critical component is reliable, then the application is launched.
[0123] Optionally, based on the above embodiments, it further includes: a restart module 403, used to restart the system if the verification result of the Uboot is unreliable, or the verification result of the system and security verification program to be loaded is unreliable, or the verification result of the key components of the application to be loaded is unreliable.
[0124] The application secure startup processing device provided in this embodiment can execute the application secure startup processing method of the above embodiment. Its implementation principle and technical effect are similar, and will not be described again in this embodiment.
[0125] In this embodiment of the invention, electronic devices or main control devices can be divided into functional modules according to the above method examples. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional module. It should be noted that the module division in this embodiment of the invention is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0126] In the specific implementation of the aforementioned secure startup processing device for the application, each module can be implemented as a processor. The processor can execute computer execution instructions stored in the memory, thereby enabling the processor to execute the aforementioned secure startup processing method for the application.
[0127] Figure 5 This is a schematic diagram of the secure boot system structure provided in an embodiment of this application. Figure 5 As shown, a secure boot system includes:
[0128] An embedded multimedia card 501, a security chip 502, and a system-on-a-chip 503 are provided, with the embedded multimedia card 501 and the security chip 502 respectively connected to the system-on-a-chip 503.
[0129] The system-on-a-chip 503 includes a security core and a service core. The security core is used to verify the Uboot according to the built-in trusted root certificate of the security core, and the service core is used to verify the service to be loaded in the embedded multimedia card 501 according to the Uboot verified by the security core.
[0130] Specifically, the U-boot used to verify system legitimacy and the secure boot program used to verify U-boot legitimacy are both encapsulated within the security core inside the system-on-chip 503. Meanwhile, the security verification program used to call and verify business applications is encapsulated within the business core inside the system-on-chip 503. This ensures the security of power-on startup through the built-in security core, preventing the original security core from being bypassed by external hardware, such as by short-circuiting the verification process to implement a system and application startup process without security verification. The external security chip 502 ensures the secure startup of the system and applications after power-on.
[0131] Figure 6 This is a schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application. Figure 6 As shown, the electronic device includes:
[0132] At least one processor 601 and memory 602.
[0133] The electronic device also includes a communication component 603.
[0134] The processor 601, memory 602, and communication component 603 are connected via bus 604.
[0135] In the specific implementation process, at least one processor 601 executes the computer execution instructions stored in the memory 602, causing at least one processor 601 to execute the secure startup processing method of the application executed on the electronic device side as described above.
[0136] The specific implementation process of processor 601 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0137] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0138] The memory may include high-speed RAM, and may also include non-volatile storage (NVM), such as at least one disk storage.
[0139] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0140] The above describes the solutions provided by the embodiments of the present invention for the functions implemented by the electronic device and the main control device.
[0141] It is understandable that electronic devices or main control devices include hardware structures and / or software modules that perform the above functions in order to achieve the above functions.
[0142] By combining the units and algorithm steps of the various examples described in the embodiments of this invention, the embodiments of this invention can be implemented in hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the technical solutions of the embodiments of this invention.
[0143] This application also provides a computer program product, including a computer program that, when executed by a processor, implements a secure startup processing method for an application.
[0144] The computer program product provided in this embodiment can execute the secure startup processing method of the application in the above embodiment. Its implementation principle and technical effect are similar, and will not be described again here.
[0145] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the secure startup processing method for the above-mentioned application.
[0146] The computer-readable storage medium provided in this embodiment can execute the secure startup processing method of the application in the above embodiment. Its implementation principle and technical effect are similar, and will not be described again here.
[0147] The aforementioned computer-readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0148] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC).
[0149] Of course, processors and readable storage media can also exist as discrete components in electronic devices or master devices.
[0150] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0151] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0152] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for securely launching an application, characterized in that, Applied to a system-on-a-chip (SoC), the SoC integrates a security core and a service core, the security core having a built-in trusted root certificate; the method includes: In response to the system power-on signal, the security core is triggered to call the trusted root certificate and verify the boot program according to the trusted root certificate; wherein, the boot program is used to guide the security chip to verify Uboot; If the bootloader is trustworthy, then the security chip is called based on the bootloader to verify whether Uboot is trustworthy; If the verification result of Uboot is reliable, then Uboot is launched on the service core through the security core, so as to call the security chip to verify the system to be loaded and the security verification program based on Uboot; wherein, the system to be loaded includes the kernel and the initialization process; If the verification results of the system to be loaded and the security verification program are both reliable, then the system is started based on the kernel and initialization process in the system to be loaded, and the security chip is started on the business core to reverse verify Uboot and the kernel based on the security verification program, and the security chip is called based on the security verification program to verify the key components of each application to be loaded. If the verification result of the key component of the application to be loaded is reliable, then the security chip is invoked to verify the application corresponding to the key component based on the key component; if the verification result of the application corresponding to the key component is reliable, then the application is started.
2. The method according to claim 1, characterized in that, Also includes: If the verification result of Uboot is unreliable, or the verification result of the system and security verification program to be loaded is unreliable, or the verification result of the critical components of the application to be loaded is unreliable, then the system is restarted.
3. A system-on-a-chip, characterized in that, The system-on-a-chip integrates a security core and a service core, and the security core has a built-in trusted root certificate; The system-on-a-chip also includes: The security module is used to respond to the system power-on signal, triggering the security core to call the trusted root certificate and verify the boot program according to the trusted root certificate; wherein, the boot program is used to guide the security chip to verify Uboot; if the boot program is trusted, the security chip is called based on the boot program to verify whether Uboot is trusted. The business module is used to, if the verification result of Uboot is trustworthy, launch Uboot on the business core through the security core, and call the security chip to verify the system to be loaded and the security verification program based on Uboot; wherein, the system to be loaded includes the kernel and the initialization process; The business module is also used to start the system based on the kernel and initialization process in the system to be loaded if the verification results of the system to be loaded and the security verification program are both reliable, and to start the security chip on the business core to reverse verify Uboot and the kernel based on the security verification program, and to call the security chip to verify the key components of each application to be loaded based on the security verification program. The business module is also used to, if the verification result of the key component of the application to be loaded is reliable, call the security chip to verify the application corresponding to the key component based on the key component; if the verification result of the application corresponding to the key component is reliable, start the application.
4. The system-on-a-chip according to claim 3, characterized in that, Also includes: The restart module is used to restart the system if the verification result of Uboot is unreliable, or the verification result of the system and security verification program to be loaded is unreliable, or the verification result of the critical components of the application to be loaded is unreliable.
5. A safe start system, characterized in that, include: An embedded multimedia card, a security chip, and a system-on-a-chip as described in claim 3 or 4, wherein the embedded multimedia card and the security chip are respectively connected to the system-on-a-chip.
6. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in claim 1 or 2.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in claim 1 or 2.
8. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of claim 1 or 2.
Citation Information
Patent Citations
Safe and credible starting method and system for power terminal
CN115879087A