WO2022155973A1 - 一种终端芯片及其度量方法 - Google Patents
一种终端芯片及其度量方法 Download PDFInfo
- Publication number
- WO2022155973A1 WO2022155973A1 PCT/CN2021/073663 CN2021073663W WO2022155973A1 WO 2022155973 A1 WO2022155973 A1 WO 2022155973A1 CN 2021073663 W CN2021073663 W CN 2021073663W WO 2022155973 A1 WO2022155973 A1 WO 2022155973A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- subsystem
- security
- computing
- computing subsystem
- security subsystem
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Definitions
- the embodiments of the present application relate to the field of chips, and in particular, to a terminal chip and a measurement method thereof.
- the trustzone technology is usually used to separate computing subsystems into trusted execution environment (trust execution environment, TEE) and rich execution environment (rich execution environment, REE).
- TEE trusted execution environment
- REE rich execution environment
- REE can run Android, Linux, windows and other operating systems to support users to run rich applications
- TEE can run a small operating system of the supplier to support the operation of some key security requirements. business to ensure the security of critical business.
- the embodiments of the present application provide a terminal chip and a measurement method thereof, which can ensure the safe operation of the computing subsystem by measuring the computing subsystem.
- a first aspect of the embodiments of the present application provides a terminal chip, the terminal chip includes a computing subsystem and a security subsystem, the security subsystem is used to measure the computing subsystem, and the startup time of the security subsystem is earlier than the computing subsystem
- the startup time of the subsystem, the security subsystem includes: an integrity verification unit; the integrity verification unit is used to measure the integrity of the data in the startup process of the computing subsystem.
- the integrity measurement of the startup process of the computing subsystem can be performed to determine the calculation Whether the subsystem is maliciously attacked during the startup process can improve the security of the computing subsystem startup process.
- the function of the integrity verification unit in this application may be implemented by a hardware circuit or a software program, which is not limited in this application.
- the security subsystem further includes: a first interaction interface, through which the security subsystem accesses all resources of the computing subsystem.
- the security subsystem can read all resources of the computing subsystem through the first interactive interface, so that after the startup of the security subsystem is completed, during the startup process of the computing subsystem, the security subsystem can read the startup process of the computing subsystem and perform integrity measurement on the data to determine whether the computing subsystem has been maliciously attacked during the startup process, which can improve the security of the computing subsystem startup process.
- the above-mentioned integrity verification unit is further configured to perform integrity measurement on the data of the operation process of the above-mentioned computing subsystem.
- the security subsystem can not only measure the data of the startup process of the computing subsystem, but also measure the data of the operation process of the computing subsystem, so that the whole life cycle of the computing subsystem can be measured to ensure that the computing Safe operation of subsystems.
- the integrity verification unit is specifically configured to, when the computing subsystem switches from the rich execution environment REE to the trusted execution environment TEE, The data run by the above computing subsystem is subjected to integrity measurement.
- the security subsystem can measure when the computing subsystem switches from REE to TEE, which can ensure the security of the computing subsystem's running process. It can be understood that the security subsystem provided by the present application can measure not only the REE, but also the TEE, so as to ensure the safe operation of the entire computing subsystem.
- the security subsystem further includes: a timer, where the timer is used for timing; the integrity verification unit is further configured to, specifically, based on the timing The device is used to periodically measure the integrity of the data run by the computing subsystem. Based on this solution, the security subsystem can measure the running process of the computing subsystem regularly, thereby further ensuring the security of the running process of the computing subsystem.
- the data of the operation of the computing subsystem may only include the data of the operation of the TEE, or only the data of the operation of the REE, or may include the data of the operation of the TEE and the REE at the same time.
- the security subsystem regularly measures the integrity of the computing subsystem, if the processor of the current computing subsystem only runs the TOS, the security subsystem performs integrity measurement on the data run by the TEE.
- the security subsystem periodically measures the integrity of the computing subsystem, if the processor of the current computing subsystem only runs ROS, the security subsystem performs integrity measurement on the data run by the REE.
- the security subsystem regularly measures the integrity of the computing subsystem, if the processor of the current computing subsystem runs ROS and TOS at the same time, the security subsystem performs integrity measurement on the data run by REE and TEE.
- the security subsystem further includes: a shared buffer, where the shared buffer is used for the computing subsystem to communicate with the security subsystem.
- the computing subsystem can communicate with the security subsystem through a shared buffer.
- the computing subsystem can read data from the shared buffer of the security subsystem through the second interactive interface, and can also write data into the shared buffer of the security subsystem through the second interactive interface.
- the security subsystem further includes: a filter, which is used to intercept the first access operation of the computing subsystem, the first access operation of the computing subsystem.
- An access operation is used to request access to resources other than the shared buffer in the above-mentioned security subsystem.
- the computing subsystem can only access the shared buffer in the security subsystem, and cannot access other resources except the shared buffer in the security subsystem, thus ensuring that the computing subsystem cannot read the information in the security subsystem or changes to ensure the trustworthiness of the security subsystem.
- the shared buffer is the only resource in the security subsystem that can be accessed by the computing subsystem.
- the filter can be used. Block these access operations. For example, the computing subsystem cannot overwrite the data stored in the random access memory RAM of the security subsystem.
- the above-mentioned filter is further used to intercept the second access operation of the above-mentioned security subsystem, and the second access operation is used to request the above-mentioned computing Subsystem writes data.
- the security subsystem can read all resources in the computing subsystem, but cannot write data to the computing subsystem, so as to avoid exposing the data in the security subsystem to the computing subsystem, which can further improve the performance of the security subsystem. credibility.
- the above-mentioned security subsystem further includes: a read-only memory ROM and a processor, where the ROM is used to store the data when the above-mentioned security subsystem is powered on.
- Computer program processor for running a computer program stored in ROM.
- the processor of the security subsystem executes the computer program code stored in the ROM, so that the security subsystem can be started, and the security subsystem can be ensured to be powered on first.
- the above-mentioned security subsystem further includes a cryptographic engine, which is used to provide a cryptographic algorithm; the above-mentioned integrity verification unit is specifically used for calling The cryptographic algorithm provided by the cryptographic engine performs integrity measurement on the data of the startup process and the running process of the computing subsystem.
- the integrity verification unit can measure the integrity of the data in the startup process and the running process of the computing subsystem by invoking the cryptographic algorithm, so as to determine whether the computing subsystem has been maliciously attacked during the startup or running process, which can improve the performance of the computing subsystem. security.
- the security subsystem further includes: a random access memory RAM, where the RAM is used to store data of the startup process and the running process of the computing subsystem the corresponding benchmark value. Based on this scheme, it can be determined whether the computing subsystem is attacked through the reference value stored in the RAM.
- the RAM can also be used to temporarily store other information required by the security subsystem during operation.
- the integrity verification unit is specifically used to invoke the cryptographic algorithm provided by the cryptographic engine to calculate the data of the startup process and the running process of the computing subsystem. eigenvalue, and compare the eigenvalue with the reference value stored in RAM to indicate whether the computing subsystem is attacked. Based on this solution, the integrity verification unit can determine whether the computing subsystem is maliciously attacked by comparing the characteristic value with the reference value stored in the RAM.
- the characteristic value is the hash value.
- the integrity verification unit invokes the message authentication code MAC algorithm provided by the cryptographic engine to calculate the characteristic value of the data, the characteristic value is the MAC value.
- the above-mentioned processor is further configured to send a first indication signal to the above-mentioned computing subsystem when the above-mentioned characteristic value is the same as the reference value , the first indication signal is used to indicate that the computing subsystem is not attacked.
- a first indication signal indicating that the computing subsystem is not attacked can be sent to the computing subsystem.
- the security subsystem may also not send the first indication signal to the computing subsystem indicating that the computing subsystem is not attacked. That is to say, when the computing subsystem is not attacked, the computing subsystem can perform the startup or running process step by step regardless of the integrity measurement result of the security subsystem during the startup or running process, until the computing subsystem is attacked.
- the safety subsystem resets it.
- the above-mentioned processor is further configured to: in the case that the above-mentioned characteristic value is different from the reference value, send indication information to the server, the indication information Used to indicate that the computing subsystem is attacked; sending a second indication signal to the computing subsystem, where the second indication signal is used to reset the computing subsystem.
- the security subsystem determines that the characteristic value is different from the reference value, the security subsystem can directly reset the computing subsystem, thereby ensuring that sensitive information (eg, keys) of the computing subsystem is not leaked.
- the security subsystem can also send indication information to the server to notify the server that the computing subsystem is attacked, so that the supplier can repair the vulnerability in the computing subsystem in time.
- the security subsystem may also perform other exception processing. In this embodiment of the present application, only when the computing subsystem is attacked, the security subsystem resets the computing subsystem as an example. illustrate.
- the security subsystem further includes: a power clock management unit; the power clock management unit is used to power on or power on the security subsystem. Power down control.
- the power clock management unit for managing the power-on or power-off of the security subsystem is independently set in the security subsystem, the power-on or power-off of the security subsystem can not be controlled by the external power management unit, so the external power supply The management unit cannot control the power-off of the security subsystem, so as to avoid the problem that the computing subsystem cannot be measured after the security subsystem is powered off, which reduces the security of the computing subsystem.
- the above-mentioned processor is further configured to send a third indication signal to the external power management unit, where the third indication signal is used to instruct the external power management unit Power-up or power-down control of the safety subsystem.
- the third instruction signal is sent to the external power management unit through the safety subsystem, so that the external power management unit can perform power-off control on the safety subsystem only after receiving the third instruction signal from the safety subsystem.
- the security subsystem further includes: a watchdog; the watchdog is used to reset the security subsystem when the security subsystem hangs up. The security subsystem and the computing subsystem. Based on this solution, if the security subsystem hangs up, no one will feed the dog. After the watchdog times out, a system-wide reset will be performed, thereby preventing the computing subsystem from being attacked when it is running in an unprotected state.
- resetting the security subsystem and the computing subsystem above includes restarting the security subsystem and the computing subsystem.
- a method for measuring a terminal chip includes a computing subsystem and a security subsystem, and the method includes: powering on and starting the security subsystem; The system performs measurement; after the startup of the security subsystem is completed, the computing subsystem is powered on; the security subsystem performs integrity measurement on the data during the startup process of the computing subsystem.
- the above-mentioned method further includes: the above-mentioned security subsystem performs an integrity measurement on the data of the operation process of the above-mentioned computing subsystem.
- the above-mentioned security subsystem performs an integrity measurement on the data of the operation process of the above-mentioned computing subsystem, including: in the above-mentioned computing subsystem, the rich execution environment When the REE is switched to the trusted execution environment TEE, the security subsystem performs integrity measurement on the data run by the computing subsystem.
- the above-mentioned security subsystem performs an integrity measurement on the data in the operation process of the above-mentioned computing subsystem, including: the security subsystem regularly runs the computing subsystem. Process data integrity measurements.
- the above-mentioned security subsystem performs an integrity measurement on the data of the startup process or the running process of the above-mentioned computing subsystem, including: the above-mentioned security subsystem calculates the above-mentioned The characteristic value of the data of the startup process or the running process of the subsystem is calculated, and the characteristic value is compared with the reference value, so as to indicate whether the above-mentioned computing subsystem is attacked.
- the above-mentioned method further includes: the above-mentioned security subsystem sends the first information to the above-mentioned computing subsystem. an indication signal, the first indication signal is used to indicate that the computing subsystem is not attacked.
- the above-mentioned method further includes: the above-mentioned security subsystem sends indication information to the server, the The indication information is used to indicate that the computing subsystem is attacked; the security subsystem sends a second indication signal to the computing subsystem, and the second indication signal is used to reset the computing subsystem.
- the above method further includes: the above-mentioned security subsystem sends a third indication signal to the external power management unit, where the third indication signal is used to indicate an external The power management unit controls the power-on or power-off of the security subsystem.
- the above method further includes: the security subsystem intercepts a first access operation of the computing subsystem, where the first access operation is used to access the above Resources other than shared buffers in the security subsystem.
- the above method further includes: the security subsystem intercepts a second access operation of the security subsystem, where the second access operation is used to request The computing subsystem described above writes data.
- a terminal device in a third aspect of the embodiments of the present application, includes the terminal chip according to any one of the implementation manners of the above first aspect and an off-chip memory, where the terminal chip is used to store data from the off-chip memory. Read or write data.
- FIG. 1 is a schematic diagram of a security architecture of a computing system provided by an embodiment of the present application.
- FIG. 2 is a schematic diagram of a security architecture of another computing system provided by an embodiment of the present application.
- FIG. 3 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
- FIG. 4 is a schematic structural diagram of another terminal device provided by an embodiment of the present application.
- FIG. 5 is a schematic diagram of a software architecture of a terminal device according to an embodiment of the present application.
- FIG. 6 is a schematic flowchart of a method for measuring a terminal chip according to an embodiment of the present application.
- FIG. 7 is a schematic flowchart of another method for measuring a terminal chip according to an embodiment of the present application.
- FIG. 8 is an application schematic diagram of a method for measuring a terminal chip provided by an embodiment of the present application.
- FIG. 9 is a schematic flowchart of another method for measuring a terminal chip according to an embodiment of the present application.
- At least one (a) of a, b or c may represent: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b and c can be single or multiple.
- words such as “first” and “second” are used to distinguish the same or similar items that have basically the same function and effect, Those skilled in the art can understand that words such as “first” and “second” do not limit the quantity and execution order.
- the "first” in the first indication signal and the "second” in the second indication signal in the embodiment of the present application are only used to distinguish different indication signals.
- the descriptions of the first, second, etc. appearing in the embodiments of the present application are only used for illustration and distinguishing the description objects, and have no order. any limitations of the examples.
- SoC system on chip
- TEE trusted execution environment
- REE rich execution environment
- FIG. 1 a schematic diagram of the security architecture of a computing system
- the computing system includes REE and TEE
- the business running in the REE does not have high security requirements
- the business running in the TEE has high security requirements .
- REE can run a rich operating system (ROS) to support users to run rich applications (application, App).
- ROI rich operating system
- REE can run Android, Linux, windows and other operating systems to support users to run WeChat, Tencent Video and other applications with low security requirements.
- TEE usually runs a small operating system implemented by the supplier to support users to run trusted applications (trust application, TA), this operating system can be called trusted operating system (trust operating system, TOS).
- TEE can run the supplier's operating system to support users running signed APPs, payment APPs, face recognition, fingerprint recognition, password processing, data encryption and decryption, security authentication, key management, etc. high program.
- the above TOS and ROS can run on the same processor in a time-division multiplexing manner.
- the processor is running TOS, it is called a safe world processor, and when the processor is running ROS, it is called a normal world processor.
- TOS and ROS can also run simultaneously on different operating system kernels of a processor.
- TOS and ROS can share other physical resources at the same time.
- TOS and ROS can share central processing unit (CPU), graphics processing unit (GPU), Physical resources such as neural network processing unit (NPU), read only memory (ROM), peripherals, one-time programmable memory (eg, efuse).
- CPU central processing unit
- GPU graphics processing unit
- NPU neural network processing unit
- ROM read only memory
- peripherals one-time programmable memory (eg, efuse).
- trustzone technology improves the security of computing systems, with the increasing number of key businesses, the amount of code in the secure world isolated by trustzone is getting larger and larger, resulting in a larger and larger trusted computing base in the secure world.
- the world also faces a growing attack surface, requiring new technologies to secure computing systems.
- the secure boot technology uses cryptographic methods to verify the image level by level to ensure the credibility of the computing device.
- the code that runs when a computing device boots is usually written in ROM, and the characteristics of the ROM device ensure that this code cannot be tampered with. Only after the image to be run at the next level passes the verification, will it be executed by the computing system, so it can be ensured that the running image has not been illegally tampered with.
- the secure boot technology can only ensure that the image running on the computing device has not been tampered with.
- attackers can use these loopholes to gain higher privileges, run malicious code, and even gain access to the system.
- an attacker can conduct attacks during the secure boot process of a computing system, and exploit code vulnerabilities in the boot process, thereby bypassing security verification in the boot process.
- malware exploits a privilege configuration vulnerability and can access the entire memory space. Therefore, the secure boot technology cannot guarantee the security of the computing device when there are loopholes in the implementation of the system.
- FIG. 2 a schematic diagram of the security architecture of a computing system
- an integrity verification application is set in the TEE
- the integrity of the operation of the REE is measured by the integrity verification application.
- operations related to the kernel in the REE can be intercepted by an integrity verification application, for example, operations such as modifying the TEE operating system and writing information into a privileged code page can be intercepted.
- the integrity verification application of this scheme in the TEE can only measure the operation of the REE to ensure the safety of the operation of the REE, and cannot find the loopholes in the TEE. That is to say, this solution treats the TEE as a fully trusted system, but according to the foregoing discussion, it can be seen that the TEE is not always secure. For example, the use of Android system security vulnerabilities mentioned in the Blackhat Security Technology Conference Blackhat can break the user's fingerprint recognition function and successfully steal the user's fingerprint information. Therefore, only measuring REE and not measuring TEE will result in lower security of TEE. Moreover, this solution cannot measure the startup process of the computing system, which may cause loopholes in the startup process of the computing system to be exploited by attackers.
- an embodiment of the present application provides a terminal chip, where a security subsystem in the terminal chip can control the startup process of the computing subsystem Integrity measurement can ensure the security of the startup process of the computing subsystem.
- FIG. 3 is a schematic structural diagram of a terminal device according to an embodiment of the present application, where the terminal device includes a terminal chip and an off-chip memory.
- the terminal chip is provided with a security subsystem and a computing subsystem, the security subsystem is used to measure the computing subsystem, and the startup time of the security subsystem is earlier than the startup time of the computing subsystem.
- the security subsystem includes: an integrity verification unit. The integrity verification unit is used to measure the integrity of the data in the startup process of the computing subsystem.
- the function of the integrity verification unit in the embodiment of the present application may be implemented by a hardware circuit or a software program, which is not limited in the embodiment of the present application.
- the computing subsystem is started after the security subsystem is started. Since the startup time of the security subsystem is earlier than the startup time of the computing subsystem, the security subsystem can measure the data of the startup process of the computing subsystem to determine Whether the computing subsystem is maliciously attacked during the startup process can improve the security of the computing subsystem startup process.
- the above-mentioned computing subsystem may include REE and TEE
- the above-mentioned integrity verification unit may perform integrity measurement on the data of the startup process of the computing subsystem, which may include performing integrity measurement on the data of the startup process of the REE, or may include: Integrity measurement of the data of the TEE startup process.
- the computing subsystem includes REE and TEE.
- the integrity measurement can be performed on the data of the power-on and start-up process of the TEE and the power-on and start-up process of the REE, so as to ensure the integrity of the start-up process of the computing subsystem. safety.
- the security subsystem may further include a ROM and a processor.
- ROM used to store the computer program when the security subsystem is powered up.
- the processor is also used to run the operating system of the security subsystem.
- the processor may be a central processing unit (CPU), a specific integrated circuit (application specific integrated circuit, ASIC), or one or more integrated circuits configured to implement the embodiments of the present application, for example: One or more microprocessors (digital signal processor, DSP), or, one or more field programmable gate array (field programmable gate array, FPGA).
- DSP digital signal processor
- FPGA field programmable gate array
- the embodiment of the present application does not limit the specific form of the processor.
- the computer program code stored in the ROM may be executed by the processor of the security subsystem.
- the power-on start time of the security subsystem in the embodiment of the present application is earlier than the power-on start time of the computing subsystem, after the security subsystem is powered on and started, the integrity of the power-on and start-up process of the computing subsystem can be performed. Metrics to ensure the security of the computing subsystem startup process.
- the above security subsystem can run in a closed execution environment, and the security subsystem can run customized firmware and operating system.
- the computing subsystem includes hardware resources such as an application processor (application central processing unit, ACPU), random access memory (Random Access Memory, RAM), ROM, memory controller, GPU, peripherals and the like.
- the security subsystem includes hardware resources such as CPU, RAM, and ROM, that is, the hardware resources of the security subsystem and the hardware resources of the computing subsystem are independent of each other.
- FIG. 5 is a schematic diagram of the software architecture of a terminal device.
- the computing subsystem may include REE and TEE, and the security subsystem may run a custom operating system, which can be combined with the REE.
- the running ROS and the TEE run different TOS.
- the integrity verification unit in the security subsystem can measure the operating system kernel of the TEE and the operating system kernel of the REE to ensure the safe operation of the computing subsystem.
- the processor structure of the security subsystem and the processor structure of the computing subsystem may be the same or different.
- the processor architecture of the security subsystem may be the ARM architecture
- the processor architecture of the computing subsystem may be the X86 architecture.
- the processor architecture of the security subsystem and the processor architecture of the computing subsystem may both be ARM architectures.
- the security subsystem can run a customized operating system
- the processor in the security subsystem You can run a customized operating system to start the security subsystem.
- the integrity verification unit in the security subsystem can measure the integrity of the data running during the startup of the computing subsystem to ensure that the computing subsystem Security of the boot process.
- the security subsystem may further include a first interaction interface, and the security subsystem may access all resources of the computing subsystem through the first interaction interface.
- the security subsystem may read all resources in the computing subsystem (eg, resources in RAM and registers of the computing subsystem) through the first interaction interface and the bus 1 of the computing subsystem.
- the security subsystem may also read resources in the off-chip memory through the first interactive interface.
- the security subsystem can read the image to be executed, memory-mapped page table information, etc. in the RAM or off-chip memory (eg, double data rate (DDR) synchronous dynamic random access memory) of the computing subsystem and security relevant data.
- the security subsystem can read the reset vector base address, trustzone protection controller (TZPC), trustzone memory adapter (TZMA), trustzone address space controller in the registers of the computing subsystem (trustzone address space controller, TZASC), exception vector table and other security-related data.
- TZPC trustzone protection controller
- TZMA trustzone memory adapter
- TZASC trustzone address space controller
- the security subsystem may further include a cryptographic engine (crypto engine), and the cryptographic engine is used to provide a cryptographic algorithm.
- the integrity verification unit is specifically used to invoke the cryptographic algorithm provided by the cryptographic engine to measure the integrity of the data in the startup process of the computing subsystem.
- the cryptographic engine is used to provide encryption algorithms such as a hash algorithm, a message authentication code (message authentication code, MAC) algorithm.
- the integrity verification unit may calculate the hash value of the data of the startup process of the computing subsystem by invoking the hash algorithm provided by the cryptographic engine.
- the integrity verification unit may calculate the MAC value of the data of the startup process of the computing subsystem by invoking the MAC algorithm provided by the cryptographic engine.
- the above security subsystem may further include: a random access memory RAM, where the RAM is used to store reference values corresponding to the data of the startup process and the running process of the computing subsystem.
- the RAM can also be used to temporarily store other information required by the security subsystem during operation.
- the above-mentioned integrity verification unit is specifically used to call the cryptographic engine to calculate the characteristic value of the data of the startup process of the computing subsystem, and compare the characteristic value with the reference value stored in the RAM to indicate whether the computing subsystem is be attacked. Understandably, if the characteristic value is consistent with the reference value stored in the RAM, it means that the computing subsystem has not been attacked. If the eigenvalues are inconsistent with the baseline values stored in RAM, the computing subsystem is under attack.
- the security subsystem may reset the computing subsystem, or may also perform other exception handling.
- the embodiment of the present application does not limit the specific manner of exception handling when the computing subsystem is attacked. , the following embodiments only take an example of resetting the computing subsystem by the security subsystem when the computing subsystem is attacked.
- the characteristic value is the hash value.
- the integrity verification unit invokes the MAC algorithm provided by the cryptographic engine to calculate the characteristic value of the data that starts the process, the characteristic value is the MAC value.
- the embodiment of the present application does not limit the specific type of the cryptographic algorithm provided by the cryptographic engine, and the following embodiments only take the cryptographic algorithm provided by the cryptographic engine as the hash algorithm as an example for description.
- the above-mentioned processor is further configured to send a first indication signal to the computing subsystem when the integrity verification unit determines that the characteristic value is the same as the reference value, where the first indication signal is used to indicate that the computing subsystem is not attacked .
- the first indication signal may be a hardware signal.
- the above-mentioned processor is further configured to send indication information to the server, where the indication information is used to indicate that the computing subsystem is attacked. and send a second indication signal to the computing subsystem, where the second indication signal is used to reset the computing subsystem.
- the second indication signal may be a hardware signal.
- the data of the startup process of the computing subsystem may include data that affects the safe operation of the computing subsystem during the startup process of the computing subsystem.
- the data of the startup process of the computing subsystem may include, but is not limited to, the executed kernel code, the memory-mapped page table, and the security configuration information of the REE and the TEE, and the like.
- the security subsystem is the first to be powered on, and the security subsystem can ensure the security of its own startup by verifying the startup.
- the computing subsystem starts to perform a secure startup.
- the integrity verification unit of the security subsystem can read the data of the secure startup process of the computing subsystem, and call the cryptographic engine to calculate the data. Hash value of the data, and compare the hash value with the benchmark value.
- the security subsystem sends a first indication signal to the computing subsystem indicating that the computing subsystem has not been attacked, and the computing subsystem continues to execute the next step after receiving the first indication signal startup process. If the comparison fails (the hash value is not the same as the reference value), the security subsystem determines that the computing subsystem has been attacked, and the security subsystem can directly reset the computing subsystem to ensure the sensitive information of the computing subsystem (for example, encryption key) is not disclosed.
- the security subsystem can also send indication information to the server to notify the server that the computing subsystem is attacked, so that the supplier can repair the vulnerability in the computing subsystem in time.
- the security subsystem may not send the first indication signal to the computing subsystem indicating that the computing subsystem is not attacked. That is to say, when the computing subsystem is not attacked, the computing subsystem can perform the startup process step by step regardless of the integrity measurement result of the security subsystem during the startup process, until the computing subsystem is attacked, the security subsystem will its reset.
- the security subsystem since the startup time of the security subsystem is earlier than the startup time of the computing subsystem, and the security subsystem can access all resources of the computing subsystem, the security subsystem can The startup process of the subsystem performs integrity measurement to determine whether the computing subsystem has been maliciously attacked during the startup process, which can ensure the security of the startup process of the computing subsystem.
- the integrity verification unit in the security subsystem is also used to measure the integrity of the data in the operation process of the computing subsystem.
- the processor of the computing subsystem may only run ROS, or may only run TOS, and may also run ROS and TOS at the same time.
- the integrity verification unit performs integrity measurement on the data of the operation process of the computing subsystem, which may include integrity measurement of the data of the operation process of the REE, and may also include integrity measurement of the data of the operation process of the TEE.
- the data of the operation process of the computing subsystem may include data affecting the safe operation of the computing subsystem during the operation of the computing subsystem.
- the data of the running process of the computing subsystem may include, but is not limited to, the executed kernel code, the code of the application program, the memory-mapped page table, and the security configuration information of the REE and the TEE.
- the integrity verification unit is configured to measure the integrity of the data run by the computing subsystem when the computing subsystem switches from the rich execution environment REE to the trusted execution environment TEE.
- the security subsystem can read the data run by the computing subsystem, and call the cryptographic engine to calculate the hash value of the data, and compare the hash value with the security Compare with the reference value stored in advance by the subsystem. If the comparison is passed, the security subsystem may send a first indication signal to the computing subsystem indicating that the computing subsystem is not attacked. After receiving the first indication signal, the computing subsystem can switch to the TEE and execute the security service. If the comparison fails, the security subsystem determines that the computing subsystem is attacked, and the security subsystem resets the computing subsystem, thereby ensuring the security of the TEE.
- the security subsystem may not send the first indication signal to the computing subsystem indicating that the computing subsystem is not attacked. That is, when the computing subsystem is not attacked, the computing subsystem can switch from REE to TEE regardless of the integrity measurement result of the security subsystem, and execute TEE services until the computing subsystem is attacked. reset it.
- the security subsystem may further include: a timer.
- the integrity verification unit may also periodically measure the integrity of the data run by the computing subsystem based on the timer.
- the data of the operation of the computing subsystem may only include the data of the operation of the TEE, or only the data of the operation of the REE, or may include the data of the operation of the TEE and the REE at the same time.
- the security subsystem regularly measures the integrity of the computing subsystem, if the processor of the current computing subsystem only runs the TOS, the security subsystem performs integrity measurement on the data run by the TEE.
- the security subsystem periodically measures the integrity of the computing subsystem, if the processor of the current computing subsystem only runs ROS, the security subsystem performs integrity measurement on the data run by the REE.
- the security subsystem regularly measures the integrity of the computing subsystem, if the processor of the current computing subsystem runs ROS and TOS at the same time, the security subsystem performs integrity measurement on the data run by REE and TEE.
- the security subsystem can periodically measure the integrity of the data in the running process of the computing subsystem.
- the security subsystem can periodically read REE. and TEE run data, integrity metrics for REEs and TEEs. It can be understood that the method for measuring the integrity of the REE and the TEE by the security subsystem may refer to the foregoing content, which will not be repeated here.
- the security subsystem can not only perform integrity measurement on the startup process of the computing subsystem, but also perform integrity measurement on the data in the operation process of the computing subsystem. Measure the entire life cycle of the computing subsystem to ensure the safe operation of the computing subsystem.
- the security subsystem may further include a shared buffer, where the shared buffer is used for the computing subsystem to communicate with the security subsystem.
- the shared buffer includes Inbox and Outbox, and Inbox and Outbox are generally on-chip buffers (buffers) of the SoC.
- the security subsystem may further include an inter-process communication (inter-process communication, IPC) module.
- IPC inter-process communication
- the IPC module is used to send an interrupt request to the ACPU in the computing subsystem or the processor in the security subsystem
- the shared buffer is used to cache communication data for the application processor ACPU in the computing subsystem or the processor in the security subsystem.
- the security subsystem may further include a second interaction interface, and the computing subsystem may read data from the shared buffer of the security subsystem through the second interaction interface, or may send data to the security subsystem through the second interaction interface. Write data to the shared buffer.
- the computing subsystem when the computing subsystem communicates with the security subsystem, the computing subsystem writes data into the shared buffer of the security subsystem through the second interactive interface.
- the IPC module sends an interrupt request to the processor of the security subsystem. After receiving the interrupt request, the processor of the security subsystem reads data from the shared buffer to complete the communication.
- the security subsystem communicates with the computing subsystem
- the security subsystem writes data into the shared buffer.
- the processor of the security subsystem sends an interrupt request to the ACPU of the computing subsystem through the IPC module. After receiving the interrupt request, the ACPU of the computing subsystem reads data from the shared buffer through the second interactive interface to complete the communication.
- the security subsystem may further include a filter, and the filter is used to intercept the first access operation of the computing subsystem, and the first access operation is used to request access to the security sub-system.
- the filter can intercept these access operations. In order to ensure that the computing subsystem cannot read or change the information in the security subsystem, so as to ensure the credibility of the security subsystem. For example, the computing subsystem cannot overwrite the data stored in the random access memory RAM of the security subsystem.
- the security subsystem is a system with simple functions, has a small trusted computing base, and the security subsystem has a high reliability.
- the filter in the security subsystem is further configured to intercept a second access operation of the security subsystem, where the second access operation is used to request to write data to the computing subsystem. That is to say, the security subsystem in the embodiment of the present application can read all resources in the computing subsystem, but cannot write data to the computing subsystem, so as to avoid exposing the data in the security subsystem to the computing subsystem, and can Further improve the reliability of the security subsystem.
- the external power management unit cannot power off, reset, or change the clock state of the security subsystem. Otherwise, the security subsystem may be powered off and cannot be performed on the computing subsystem. metric, resulting in reduced security of the computing subsystem.
- the first implementation is for the security subsystem to be powered directly by an independent clock and power supply, not controlled by an external power management unit.
- the second implementation is that only after the security subsystem sends a hardware signal to the external power management unit to instruct the external power management unit to power on or off the security subsystem, the external power management unit can power on or power off the security subsystem. Power down control.
- the security subsystem may further include a power clock management unit, and the power clock management unit is used for power-on or power-off control of the security subsystem.
- the power clock management unit since a power clock management unit for managing the power-on or power-off of the security subsystem is independently set in the security subsystem, the power-on or power-off of the security subsystem may not be controlled by the external power management unit. The external power management unit cannot power down the safety subsystem.
- the power clock management unit can periodically control the power-on or power-off of the security subsystem, thereby reducing the performance of the security subsystem. consumption, save power.
- the above-mentioned processor is further configured to send a third indication signal to the external power management unit, where the third indication signal is used to instruct the external power management unit to power on or power on the security subsystem. Power down control.
- the external power management unit can perform power-off control on the security subsystem only after receiving the third indication signal from the security subsystem, so as to ensure the security of the entire life cycle of the computing subsystem.
- the security subsystem in this embodiment of the present application may further include a watchdog Watchdog, This watchdog is used to reset the safety subsystem and the computing subsystem in the event that the safety subsystem hangs. Understandably, if the security subsystem hangs, no one will feed the dog. After the watchdog times out, a system-wide reset will be performed to prevent the computing subsystem from being attacked when it runs in an unprotected state.
- resetting the security subsystem and the computing subsystem above includes restarting the security subsystem and the computing subsystem.
- the security subsystem may further include a one-time programmable memory (one time programmable, OTP), and the one-time programmable memory is used to store the configuration information of the security subsystem and some key keys.
- OTP one time programmable
- the one-time programmable memory can be efuse.
- the power-on and start-up time of the security subsystem provided by the embodiments of the present application is earlier than the power-on and start-up time of the computing subsystem, so that the security subsystem can perform integrity measurement on the startup process and the running process of the computing subsystem, That is, the security subsystem can measure the whole life cycle of the computing subsystem to ensure the security of the whole life cycle of the computing subsystem.
- the security subsystem can not only measure the REE, but also measure the TEE, so as to ensure the safe operation of the entire computing subsystem.
- an embodiment of the present application further provides a method for measuring a terminal chip.
- the terminal chip may be the terminal chip shown in FIG. 3 or FIG. 4 , and the measuring method includes the following steps:
- the startup time of the security subsystem is earlier than the startup time of the computing subsystem. For example, start the computing subsystem after starting the security subsystem.
- the security startup technology may be used to verify the mirror image level by level, so as to ensure the security of the startup process of the security subsystem.
- the processor in the security subsystem shown in FIG. 4 may start the security subsystem by executing the code stored in the ROM.
- the computing subsystem is restarted, so that the security subsystem can measure the integrity of the startup process of the computing subsystem.
- a secure boot technology may be used to verify the mirror image level by level, so as to ensure the security of the startup process of the computing subsystem.
- the security subsystem measures the integrity of the startup process of the computing subsystem, and can further determine whether the startup process of the computing subsystem has been maliciously attacked or tampered with.
- the above computing subsystem may include REE and TEE.
- Starting the computing subsystem in the above step S602 may include: starting the TEE and the REE.
- the TEE can be started first, and then the REE can be started.
- the security subsystem performs integrity measurement on the data of the startup process of the computing subsystem.
- the integrity verification unit in the security subsystem shown in FIG. 4 may call the cryptographic engine to measure the integrity of the data during the startup process of the computing subsystem.
- the data content of the startup process of the computing subsystem and the specific implementation manner for the security subsystem to measure the integrity of the data of the startup process of the computing subsystem, reference may be made to the foregoing embodiments, which will not be repeated here.
- the security subsystem performs an integrity measurement on the data of the startup process of the computing subsystem, including: the security subsystem calculates the characteristic value of the data of the startup process of the computing subsystem, and compares the characteristic value with the reference value. Compare.
- the computing subsystem starts to perform the security startup.
- the security subsystem may first measure the integrity of the startup process of the TEE, and then perform the startup process of the REE. Integrity Metrics.
- the measurement method of the terminal chip starts the computing subsystem after the security subsystem is started, so that the security subsystem can measure the integrity of the startup process of the computing subsystem to ensure that the computing subsystem is started.
- Security of the subsystem startup process Moreover, when the security subsystem measures the startup process of the computing subsystem, it can not only measure the integrity of the startup process of the REE, but also the startup process of the TEE, so as to ensure the integrity of the startup process of the entire computing subsystem. safety.
- the security subsystem determines that the integrity measurement is successful. If the characteristic value of the data of the computing subsystem startup process differs from the reference value, the security subsystem fails to determine the integrity metric.
- the above method may further include step S604; in the case that the security subsystem determines that the integrity measurement fails in step S603, The above method may further include steps S605-S606.
- the security subsystem sends a first indication signal to the computing subsystem.
- the first indication signal is used to indicate that the computing subsystem is not attacked.
- the success of the above-mentioned integrity measurement means that the feature value of the data in the startup process of the computing subsystem is compared with the reference value, that is, the feature value of the data is the same as the reference value.
- the security subsystem when the integrity measurement is successful, sends a first indication signal to the computing subsystem, indicating that the computing subsystem is not attacked.
- the security subsystem may also not send the first indication signal to the computing subsystem indicating that the computing subsystem is not attacked.
- the computing subsystem can perform the startup process step by step regardless of the integrity measurement result of the security subsystem during the startup process, until the computing subsystem is attacked, the security subsystem resets it .
- the security subsystem sends indication information to the server.
- the indication information is used to indicate that the computing subsystem is attacked.
- the above-mentioned failure of the integrity measurement means that the comparison between the characteristic value of the data in the startup process of the computing subsystem and the reference value fails, that is, the characteristic value of the data is different from the reference value.
- the security subsystem when the security subsystem fails to determine the integrity measurement, the security subsystem sends indication information to the server to notify the server that the computing subsystem is attacked, so that the supplier can repair the vulnerabilities in the computing subsystem in time. , to ensure the safe operation of the computing subsystem.
- the security subsystem sends a second indication signal to the computing subsystem.
- the second indication signal is used to reset the computing subsystem.
- the security subsystem determines that the computing subsystem is attacked, and the security subsystem can directly reset the computing subsystem, thereby ensuring that the sensitive information (for example, the key) of the computing subsystem is not compromised. Give way.
- the security subsystem is first powered on to start, and the security subsystem
- the computing subsystem loads the ROM code, and the integrity verification unit of the security subsystem reads the ROM code, the code of the security application, the memory map page table, and the security configuration information of the TEE, etc. data, and measure the integrity of that data. If the data integrity measurement corresponding to the ROM code fails, restart the computing subsystem.
- the computing subsystem can continue to run the ROM code, load the bootloader (boot loader of the operating system), and further perform integrity measurement on the data corresponding to the loaded bootloader. If loading the data integrity metrics corresponding to the bootloader fails, restart the computing subsystem. If the data integrity measurement corresponding to the bootloader is loaded successfully, the computing subsystem continues to run the bootloader code, and thus executes the boot process in sequence until the TEE secure boot is completed.
- bootloader boot loader of the operating system
- the computing subsystem is started after the security subsystem is started, so that the security subsystem can measure the integrity of the startup process of the computing subsystem, so as to ensure the security of the startup process of the computing subsystem. .
- the security subsystem measures the startup process of the computing subsystem, it can not only measure the integrity of the startup process of the REE, but also the startup process of the TEE, so as to ensure the integrity of the startup process of the entire computing subsystem. safety.
- the method can also notify the server that the computing subsystem is attacked by sending indication information to the server when the security subsystem determines that the computing subsystem is attacked, so that the supplier can repair the vulnerabilities in the computing subsystem in time to ensure that Safe operation of computing subsystems. And when the computing subsystem is attacked, the computing subsystem is reset, so as to ensure that the sensitive information of the computing subsystem is not leaked.
- an embodiment of the present application further provides a method for measuring terminal chips.
- the measuring method may further include the following steps:
- the security subsystem measures the integrity of the data in the operation process of the computing subsystem.
- the integrity verification unit in the security subsystem shown in FIG. 4 may call the cryptographic engine to measure the integrity of the data during the operation of the computing subsystem.
- the content of the data in the operation process of the computing subsystem and the specific implementation manner of the security subsystem performing the integrity measurement on the data in the operation process of the computing subsystem, reference may be made to the foregoing embodiments, which will not be repeated here.
- the security subsystem performs an integrity measurement on the data of the operation process of the computing subsystem, including: the security subsystem calculates the characteristic value of the data of the operation process of the computing subsystem, and compares the characteristic value with the reference value. Compare.
- the security subsystem may periodically perform integrity measurement on the data in the operation process of the computing subsystem.
- the computing subsystem may include only REEs, or only TEEs, or both TEEs and REEs.
- the measurement method of the terminal chip starts the computing subsystem after the startup of the security subsystem is completed, so that the security subsystem can measure the integrity of the startup process and the running process of the computing subsystem. That is, the security subsystem can measure the whole life cycle of the computing subsystem to ensure the security of the whole life cycle of the computing subsystem. Moreover, when the security subsystem measures the computing subsystem, it can not only measure the integrity of the REE, but also measure the integrity of the TEE, so as to ensure the security of the entire computing subsystem.
- the above method may further include step S902; in the case that the security subsystem determines that the integrity measurement fails in step S901, The above method may further include steps S903-S904.
- the security subsystem sends a first indication signal to the computing subsystem.
- the first indication signal is used to indicate that the computing subsystem is not attacked.
- the success of the above-mentioned integrity measurement means that the characteristic value of the data in the operation process of the computing subsystem is compared with the reference value, that is, the characteristic value of the data is the same as the reference value.
- the security subsystem when the integrity measurement is successful, sends a first indication signal to the computing subsystem, indicating that the computing subsystem is not attacked.
- the security subsystem may also not send the first indication signal to the computing subsystem indicating that the computing subsystem is not attacked.
- the computing subsystem can execute the operation process step by step regardless of the integrity measurement result of the security subsystem during the startup process, until the computing subsystem is attacked, the security subsystem resets it .
- the security subsystem sends indication information to the server.
- the indication information is used to indicate that the computing subsystem is attacked.
- the above-mentioned failure of the integrity measurement means that the feature value of the data in the operation process of the computing subsystem fails to compare with the reference value, that is, the feature value of the data is different from the reference value.
- the security subsystem when the security subsystem fails to determine the integrity measurement, the security subsystem sends indication information to the server to notify the server that the computing subsystem is under attack, so that the supplier can timely detect the vulnerabilities in the computing subsystem. Make fixes to ensure safe operation of the computing subsystem.
- the security subsystem sends a second indication signal to the computing subsystem.
- the second indication signal is used to reset the computing subsystem.
- the security subsystem determines that the computing subsystem is attacked, and the security subsystem can directly reset the computing subsystem, thereby ensuring that the sensitive information (for example, the key) of the computing subsystem is not compromised. Give way.
- the computing subsystem is started after the security subsystem is started, so that the security subsystem can measure the integrity of the startup process and the running process of the computing subsystem, that is, the security subsystem It can measure the whole life cycle of the computing subsystem to ensure the safety of the whole life cycle of the computing subsystem.
- the security subsystem measures the computing subsystem, it can not only measure the integrity of the REE, but also measure the integrity of the TEE, so as to ensure the security of the entire computing subsystem.
- the method can also notify the server that the computing subsystem is attacked by sending indication information to the server when the security subsystem determines that the computing subsystem is attacked, so that the supplier can repair the vulnerabilities in the computing subsystem in time to ensure that Safe operation of computing subsystems. And when the computing subsystem is attacked, the computing subsystem is reset, so as to ensure that the sensitive information of the computing subsystem is not leaked.
- An embodiment of the present application further provides a terminal device, where the terminal device includes a terminal chip as shown in FIG. 3 or FIG. 4 and an off-chip memory, where the terminal chip is used to read or write data from the off-chip memory.
- the steps of the method or algorithm described in conjunction with the disclosure of the present application may be implemented in a hardware manner, or may be implemented in a manner of a processor executing software instructions.
- the software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (Random Access Memory, RAM), flash memory, Erasable Programmable Read-Only Memory (Erasable Programmable ROM, EPROM), electrically erasable programmable Programmable read only memory (Electrically EPROM, EEPROM), registers, hard disk, removable hard disk, compact disk read only (CD-ROM) or any other form of storage medium well known in the art.
- An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
- the storage medium can also be an integral part of the processor.
- the processor and storage medium may reside in an ASIC.
- the ASIC may be located in a terminal interface device.
- the processor and the storage medium may also exist in the terminal interface device as discrete components.
- the functions described in the present invention may be implemented in hardware, software, firmware, or any combination thereof.
- the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
- Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
- a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
Description
Claims (28)
- 一种终端芯片,其特征在于,所述终端芯片包括计算子系统和安全子系统,所述安全子系统用于对所述计算子系统进行度量,所述安全子系统的启动时间早于所述计算子系统的启动时间,所述安全子系统包括:完整性验证单元;所述完整性验证单元,用于对所述计算子系统启动过程的数据进行完整性度量。
- 根据权利要求1所述的终端芯片,其特征在于,所述安全子系统还包括:第一交互接口,所述安全子系统通过所述第一交互接口访问所述计算子系统的所有资源。
- 根据权利要求1或2所述的终端芯片,其特征在于,所述完整性验证单元,还用于对所述计算子系统运行过程的数据进行完整性度量。
- 根据权利要求3所述的终端芯片,其特征在于,所述完整性验证单元,具体用于在所述计算子系统从丰富执行环境REE切换至可信执行环境TEE时,对所述计算子系统运行的数据进行完整性度量。
- 根据权利要求3或4所述的终端芯片,其特征在于,所述安全子系统还包括:定时器,所述定时器用于计时;所述完整性验证单元,具体还用于基于所述定时器,定时对所述计算子系统运行的数据进行完整性度量。
- 根据权利要求1-5中任一项所述的终端芯片,其特征在于,所述安全子系统还包括:共享缓冲区,所述共享缓冲区用于所述计算子系统与所述安全子系统进行通信。
- 根据权利要求6所述的终端芯片,其特征在于,所述安全子系统还包括:过滤器,所述过滤器,用于拦截所述计算子系统的第一访问操作,所述第一访问操作用于请求访问所述安全子系统中除所述共享缓区以外的其他资源。
- 根据权利要求7所述的终端芯片,其特征在于,所述过滤器,还用于拦截所述安全子系统的第二访问操作,所述第二访问操作用于请求向所述计算子系统写入数据。
- 根据权利要求1-8中任一项所述的终端芯片,其特征在于,所述安全子系统还包括:只读存储器ROM和处理器,所述ROM,用于存储所述安全子系统上电时的计算机程序;所述处理器,用于运行所述ROM中存储的所述计算机程序。
- 根据权利要求1-9中任一项所述的终端芯片,其特征在于,所述安全子系统还包括密码引擎,所述密码引擎,用于提供密码算法;所述完整性验证单元,具体用于调用所述密码引擎提供的密码算法,对所述计算子系统启动过程和运行过程的数据进行完整性度量。
- 根据权利要求10所述的终端芯片,其特征在于,所述安全子系统还包括:随机存取存储器RAM,所述RAM用于存储所述计算子系统启动过程和运行过程的数据对应的基准值。
- 根据权利要求11所述的终端芯片,其特征在于,所述完整性验证单元,具体用于调用所述密码引擎提供的密码算法,计算所述计算子系统启动过程和运行过程的数据的特征值,并将所述特征值与所述RAM中存储的基准值进行比对,以指示所述 计算子系统是否被攻击。
- 根据权利要求12所述的终端芯片,其特征在于,处理器,还用于在所述特征值与所述基准值相同的情况下,向所述计算子系统发送第一指示信号,所述第一指示信号用于指示所述计算子系统未被攻击。
- 根据权利要求12所述的终端芯片,其特征在于,处理器,还用于:在所述特征值与所述基准值不同的情况下,向服务器发送指示信息,所述指示信息用于指示所述计算子系统被攻击;向所述计算子系统发送第二指示信号,所述第二指示信号用于复位所述计算子系统。
- 根据权利要求1-14中任一项所述的终端芯片,其特征在于,所述安全子系统还包括:电源时钟管理单元;所述电源时钟管理单元,用于对所述安全子系统进行上电或下电控制。
- 根据权利要求1-14中任一项所述的终端芯片,其特征在于,处理器还用于向外部电源管理单元发送第三指示信号,所述第三指示信号用于指示所述外部电源管理单元对所述安全子系统进行上电或下电控制。
- 根据权利要求1-16中任一项所述的终端芯片,其特征在于,所述安全子系统还包括:看门狗;所述看门狗用于在所述安全子系统挂死的情况下,复位所述安全子系统和所述计算子系统。
- 一种终端芯片的度量方法,其特征在于,所述终端芯片包括计算子系统和安全子系统,所述方法包括:上电启动所述安全子系统;所述安全子系统用于对所述计算子系统进行度量;在所述安全子系统启动完成后,上电启动所述计算子系统;所述安全子系统对所述计算子系统启动过程的数据进行完整性度量。
- 根据权利要求18所述的方法,其特征在于,所述方法还包括:所述安全子系统对所述计算子系统运行过程的数据进行完整性度量。
- 根据权利要求19所述的方法,其特征在于,所述安全子系统对所述计算子系统运行过程的数据进行完整性度量,包括:在所述计算子系统从丰富执行环境REE切换至可信执行环境TEE时,所述安全子系统对所述计算子系统运行的数据进行完整性度量。
- 根据权利要求19所述的方法,其特征在于,所述安全子系统对所述计算子系统运行过程的数据进行完整性度量,包括:所述安全子系统定时对所述计算子系统运行过程的数据进行完整性度量。
- 根据权利要求18-21中任一项所述的方法,其特征在于,所述安全子系统对所述计算子系统启动过程或运行过程的数据进行完整性度量,包括:所述安全子系统计算所述计算子系统启动过程或运行过程的数据的特征值,并将所述特征值与基准值进行比对,以指示所述计算子系统是否被攻击。
- 根据权利要求22所述的方法,其特征在于,在所述特征值与所述基准值相同的情况下,所述方法还包括:所述安全子系统向所述计算子系统发送第一指示信号,所述第一指示信号用于指 示所述计算子系统未被攻击。
- 根据权利要求22所述的方法,其特征在于,在所述特征值与所述基准值不同的情况下,所述方法还包括:所述安全子系统向服务器发送指示信息,所述指示信息用于指示所述计算子系统被攻击;所述安全子系统向所述计算子系统发送第二指示信号,所述第二指示信号用于复位所述计算子系统。
- 根据权利要求18-24中任一项所述的方法,其特征在于,所述方法还包括:所述安全子系统向外部电源管理单元发送第三指示信号,所述第三指示信号用于指示所述外部电源管理单元对所述安全子系统进行上电或下电控制。
- 根据权利要求18-25中任一项所述的方法,其特征在于,所述方法还包括:所述安全子系统拦截所述计算子系统的第一访问操作,所述第一访问操作用于访问所述安全子系统中除共享缓冲区以外的其他资源。
- 根据权利要求18-26中任一项所述的方法,其特征在于,所述方法还包括:所述安全子系统拦截所述安全子系统的第二访问操作,所述第二访问操作用于请求向所述计算子系统写入数据。
- 一种终端设备,其特征在于,所述终端设备包括如权利要求1-17中任一项所述的终端芯片以及片外内存,所述终端芯片用于从所述片外内存读取或写入数据。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/073663 WO2022155973A1 (zh) | 2021-01-25 | 2021-01-25 | 一种终端芯片及其度量方法 |
EP21920365.0A EP4273722B1 (en) | 2021-01-25 | 2021-01-25 | Terminal chip and measurement method therefor |
CN202180084411.1A CN116601629A (zh) | 2021-01-25 | 2021-01-25 | 一种终端芯片及其度量方法 |
US18/356,463 US20230367913A1 (en) | 2021-01-25 | 2023-07-21 | Terminal chip and measurement method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/073663 WO2022155973A1 (zh) | 2021-01-25 | 2021-01-25 | 一种终端芯片及其度量方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/356,463 Continuation US20230367913A1 (en) | 2021-01-25 | 2023-07-21 | Terminal chip and measurement method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022155973A1 true WO2022155973A1 (zh) | 2022-07-28 |
Family
ID=82548386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/073663 WO2022155973A1 (zh) | 2021-01-25 | 2021-01-25 | 一种终端芯片及其度量方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230367913A1 (zh) |
EP (1) | EP4273722B1 (zh) |
CN (1) | CN116601629A (zh) |
WO (1) | WO2022155973A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104918116A (zh) * | 2015-05-28 | 2015-09-16 | 北京视博数字电视科技有限公司 | 用于智能终端的资源播放方法及系统 |
WO2019225849A1 (ko) * | 2018-05-25 | 2019-11-28 | 주식회사 수산아이앤티 | 게스트 운영체제의 무결성과 파일 입출력 제어를 통해서 보안 서비스를 제공하는 보안 장치 및 방법 |
CN111177703A (zh) * | 2019-12-31 | 2020-05-19 | 青岛海尔科技有限公司 | 操作系统数据完整性的确定方法及装置 |
CN112016090A (zh) * | 2019-05-30 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 安全计算卡,基于安全计算卡的度量方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5582909B2 (ja) * | 2010-07-29 | 2014-09-03 | キヤノン株式会社 | プラットフォーム完全性検証システム |
US9047471B2 (en) * | 2012-09-25 | 2015-06-02 | Apple Inc. | Security enclave processor boot control |
US10402566B2 (en) * | 2016-08-01 | 2019-09-03 | The Aerospace Corporation | High assurance configuration security processor (HACSP) for computing devices |
EP3461016A4 (en) * | 2016-08-09 | 2019-06-12 | Huawei Technologies Co., Ltd. | SYSTEM ON CHIP AND PROCESSING DEVICE |
US10402567B2 (en) * | 2017-06-25 | 2019-09-03 | Microsoft Technology Licensing, Llc | Secure boot for multi-core processor |
EP3570197A1 (en) * | 2018-05-16 | 2019-11-20 | Gemalto Sa | Electronic system and method for preventing malicious actions on a processing system of the electronic system |
US10878101B2 (en) * | 2018-09-07 | 2020-12-29 | Raytheon Company | Trusted booting by hardware root of trust (HRoT) device |
-
2021
- 2021-01-25 CN CN202180084411.1A patent/CN116601629A/zh active Pending
- 2021-01-25 WO PCT/CN2021/073663 patent/WO2022155973A1/zh active IP Right Grant
- 2021-01-25 EP EP21920365.0A patent/EP4273722B1/en active Active
-
2023
- 2023-07-21 US US18/356,463 patent/US20230367913A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104918116A (zh) * | 2015-05-28 | 2015-09-16 | 北京视博数字电视科技有限公司 | 用于智能终端的资源播放方法及系统 |
WO2019225849A1 (ko) * | 2018-05-25 | 2019-11-28 | 주식회사 수산아이앤티 | 게스트 운영체제의 무결성과 파일 입출력 제어를 통해서 보안 서비스를 제공하는 보안 장치 및 방법 |
CN112016090A (zh) * | 2019-05-30 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 安全计算卡,基于安全计算卡的度量方法及系统 |
CN111177703A (zh) * | 2019-12-31 | 2020-05-19 | 青岛海尔科技有限公司 | 操作系统数据完整性的确定方法及装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4273722A4 * |
Also Published As
Publication number | Publication date |
---|---|
EP4273722A1 (en) | 2023-11-08 |
CN116601629A (zh) | 2023-08-15 |
EP4273722A4 (en) | 2024-03-13 |
EP4273722B1 (en) | 2025-05-21 |
US20230367913A1 (en) | 2023-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9542114B2 (en) | Methods and apparatus to protect memory regions during low-power states | |
CN109669734B (zh) | 用于启动设备的方法和装置 | |
TWI451338B (zh) | 用以執行保全嵌入式容器之處理器擴充技術 | |
CN106605233B (zh) | 使用处理器提供可信执行环境 | |
CN110414235B (zh) | 一种基于ARM TrustZone的主动免疫的双体系结构系统 | |
JP6053786B2 (ja) | Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm) | |
KR102244645B1 (ko) | 인증된 변수의 관리 | |
US7392415B2 (en) | Sleep protection | |
US20160350534A1 (en) | System, apparatus and method for controlling multiple trusted execution environments in a system | |
CN102270288B (zh) | 基于反向完整性验证的操作系统可信引导方法 | |
US20120036347A1 (en) | Providing fast non-volatile storage in a secure environment | |
CN102063591A (zh) | 基于可信平台的平台配置寄存器参考值的更新方法 | |
US8843742B2 (en) | Hypervisor security using SMM | |
US20090249050A1 (en) | System and method for establishing a trust domain on a computer platform | |
US20190114433A1 (en) | Method and Apparatus for Boot Variable Protection | |
US10417429B2 (en) | Method and apparatus for boot variable protection | |
US11757648B2 (en) | System and method for remote startup management | |
EP4273722B1 (en) | Terminal chip and measurement method therefor | |
JP6494143B2 (ja) | 装置、方法、集積回路、プログラム、及び有形のコンピュータ可読記憶媒体 | |
US20250130844A1 (en) | Security Framework for Virtual Machines | |
JP6316370B2 (ja) | 装置、方法、集積回路、プログラム、及び有形のコンピュータ可読記憶媒体 | |
Cheng et al. | An Attack-Immune Trusted Architecture for Supervisory Intelligent Terminal | |
CN118211239A (zh) | 一种安全架构系统、实现安全可信启动的方法和计算设备 | |
WO2019112972A1 (en) | Method and apparatus for boot variable protection | |
Zhang et al. | Protecting Code Confidentiality in Flash Controller-Based Secure Execution Environment |
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: 21920365 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180084411.1 Country of ref document: CN |
|
ENP | Entry into the national phase |
Ref document number: 2021920365 Country of ref document: EP Effective date: 20230802 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWG | Wipo information: grant in national office |
Ref document number: 2021920365 Country of ref document: EP |