Security processing system supporting confidential computing and Arm CPU processor
By introducing independent confidential processors and trusted processors into Arm CPU processors, microarchitecture design is simplified, the complexity of execution environment switching is reduced, execution efficiency is improved, and a unified user application development interface is supported, solving the problems of complex hardware design and security authentication risks in existing technologies.
Patent Information
- Application Number
- CN202411537250.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-10-31
AI Technical Summary
The existing Arm CPU processors have overly complex microarchitecture-level hardware designs, requiring system registers and status registers for multiple execution environments. This makes execution environment switching complex, unfriendly to user application development, and the implementation of cryptographic modules is unclear, posing security authentication risks.
It adopts a secure processing system, including a confidential processor, an application processor, and a trusted processor. Each processor has an independent processor core and runs in different execution environments through hardware isolation mechanisms. It also integrates a cryptographic processing module, which simplifies the microarchitecture design, supports confidential and trusted computing, reduces software context switching, and unifies the user application development interface.
It reduces processor microarchitecture complexity, improves execution efficiency, supports independent operating system kernels, simplifies user application development, and enhances security and authentication capabilities.
Smart Images

Figure CN119646814B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of confidential computing and cryptographic security related to general-purpose Arm CPU processors. Background Technology
[0002] Confidential computing typically refers to a trusted software execution environment built upon hardware support and combined with secure firmware and software to protect data and code used in computing. Data and code protected by a confidential computing environment are physically protected from monitoring or modification by ordinary application software or privileged software. Cryptographic security is a crucial technology for achieving confidential computing; cryptographic modules are typically used for the authentication, upgrade, and measurement of CPU security firmware and software, and provide a chain of trust for these secure firmware and software. Confidential computing and cryptographic security are widely used in high-security scenarios such as cloud computing, financial computing, and domestic IT innovation.
[0003] The Armv8 TrustZone architecture, based on hardware-isolated secure memory management and secure execution state, enables a trusted execution environment. The Armv9 CCA architecture, building upon TrustZone, defines a confidential computing environment for general user applications. For cryptographic security, current CPU processors typically employ on-chip built-in cryptographic acceleration peripherals or externally connected cryptographic acceleration PCIe cards.
[0004] Both existing Arm TrustZone and CCA technologies are based on the same processor physical core, but derive multiple virtual cores for different execution environments. Specifically, Arm adds dedicated confidential computing hardware extensions at the processor core microarchitecture level and defines special processor execution states and memory management models, allowing the same physical core to be time-shared across four execution environments: Root, Normal, Secure, and Realm. From the software's perspective, the four execution environments running on the same physical core use completely different software stacks, and the software running in each environment is isolated from each other in terms of memory and process management. Arm's existing technology can meet the functional requirements of confidential computing, but it has the following problems:
[0005] 1. The processor microarchitecture hardware design is overly complex, requiring numerous system and status registers for the four execution environments; 2. Ordinary user applications typically run in the Normal environment, while confidential computing applications need to run in the Realm or Secure environment. Changing the execution environment for the same physical core requires complex software context switching; 3. The virtual machines or operating system software running in the four execution environments are completely different, making the development of ordinary user applications and confidential computing applications unfriendly to users; 4. The implementation method of the cryptographic module is not clearly defined, posing a security authentication risk.
[0006] Therefore, there is an urgent need for a secure processing system that can solve the above problems. Summary of the Invention
[0007] The purpose of this invention is to provide a secure processing system and Arm CPU processor that support confidential computing. The system has a simple framework, high execution efficiency, and runs the same operating system kernel in multiple execution environments, which facilitates user application development.
[0008] To achieve the above objectives, the present invention provides a secure processing system supporting confidential computing, comprising a secure processor, a memory controller, and a cryptographic processing module. The memory controller is connected to a memory device. The secure processor is divided into a confidential processor, an application processor, and a trusted processor. Each of the confidential processor, application processor, and trusted processor has an independent processor core, so that the operating system and runtime environment of the confidential processor, application processor, and trusted processor run on the independent processor core to execute a secure processing method supporting confidential computing. The secure processing method includes: after the system is powered on, the application processor runs in a normal execution environment and loads a normal operating system to allow users to register user applications and run background programs for security service requests; according to the type of the security service request, the corresponding... The confidential processor or trusted processor runs in a confidential execution environment or trusted execution environment and loads a confidential operating system or trusted operating system to respond to background programs and wait for the registration of confidential applications or trusted applications. The application processor and the corresponding confidential processor or trusted processor construct a shared memory space in the memory controller, and construct a secure message queue in the shared memory space. The secure message queue includes a user application data queue and a security service result queue. When the user application initiates a security service request, the application processor and the corresponding confidential processor or trusted processor call the cryptographic processing module to perform corresponding encryption and decryption according to the type of the security service request, register the corresponding confidential application or trusted application, and start the corresponding confidential computing service or trusted computing service.
[0009] Preferably, the application processor and the corresponding confidential processor or trusted processor call the password processing module to perform corresponding encryption and decryption according to the type of the security service request, and register the corresponding confidential application or trusted application, and start the corresponding confidential computing service or trusted computing service. Specifically, this includes: the user application initiating a security service request, calling the password processing module to complete the password encryption of the security service request identifier, transmitting the encrypted security service request identifier to the security message mailbox, calling the password processing module to complete the password encryption of the application computing data, and loading the encrypted application computing data into the user application data queue; the confidential operating system or trusted operating system corresponding to the type of the security service request responds by having the background program read the security message mailbox to obtain the security service request identifier, and calling the password processing module... The processing module decrypts the security service application identifier and registers the corresponding confidential application or trusted application based on the security service application identifier. The corresponding confidential application or trusted application reads the user application data queue to obtain the encrypted application computing data, calls the password processing module to decrypt the application computing data, and starts the confidential computing service or trusted computing service based on the application computing data. After the confidential computing service or trusted computing service is started, the corresponding confidential application or trusted application calls the password processing module to complete the password encryption of the service result data and loads the encrypted result data into the security service result queue. The user application reads the security service result queue, calls the password processing module to decrypt the result data, and completes the confidential computing service or trusted computing service.
[0010] Specifically, the security service request identifier includes: user application identifier, user application data queue start address, user application data queue size, target security service type, target security service program identifier, target security service result queue start address, and target security service result queue size.
[0011] Preferably, the cryptographic processing module is a cryptographic coprocessor built into each of the security processors and / or a cryptographic subsystem disposed on the security processor.
[0012] Specifically, the cryptographic processing module is a cryptographic coprocessor. The steps of calling the cryptographic processing module for encryption or decryption include: the user application allocates memory space, prepares computation data, and initiates an encryption or decryption computation library call according to the type of the security service request; the ordinary operating system and the corresponding confidential or trusted operating system respond to the call of the user application and start the cryptographic coprocessor to complete the encryption or decryption computation; the user application reads the encryption computation result to confirm that the cryptographic coprocessor has completed the computation or reads the decryption computation result to confirm that the cryptographic coprocessor has completed the computation.
[0013] Specifically, the cryptographic processing module is a cryptographic subsystem. The steps of calling the cryptographic processing module to encrypt or decrypt include: the user application allocates memory space, prepares computation data, and initiates an encryption service request or a decryption service request according to the type of the security service request; the ordinary operating system and the corresponding confidential operating system or trusted operating system respond to the encryption service request or decryption service request, start the cryptographic subsystem to pass the encryption service or decryption service to the mailbox module of the cryptographic subsystem; the application parses the encryption service or decryption service type, reads the encryption operation result to confirm that the cryptographic subsystem has completed the operation, or reads the decryption operation result to confirm that the cryptographic subsystem has completed the operation.
[0014] Preferably, after the system is powered on, the application processor and the corresponding confidential processor or trusted processor run in a normal execution environment and a corresponding confidential execution environment or trusted execution environment, respectively, through a hardware isolation mechanism.
[0015] Preferably, the security processor also has an independent timer module and a watchdog module.
[0016] Preferably, the security processor, memory controller, and cryptographic processing module are integrated on a single security processor chip.
[0017] The present invention also provides an Arm CPU processor, including the security processing system described above.
[0018] Compared with existing technologies, the processor microarchitecture of this invention has low design complexity, enabling the construction of confidential computing application systems based on existing mature processor cores. Furthermore, both confidential and trusted computing software run on independent physical processor cores, without using virtual cores built from ordinary execution environments, resulting in high execution efficiency. On the other hand, when user applications of this invention call confidential or trusted applications, they do not need to undergo complex and cumbersome software context switching. Moreover, all three execution environments run the same operating system kernel, providing a unified user development interface, facilitating user application development, and supporting national cryptographic certification. Attached Figure Description
[0019] Figure 1 This is a structural diagram of the secure processor that supports confidential computing according to the present invention.
[0020] Figure 2 This is a flowchart illustrating the confidentiality service provided in the secure processing method for supporting confidential computing according to the present invention.
[0021] Figure 3 This is a flowchart illustrating the trusted service provided in the secure processing method for supporting confidential computing in this invention. Detailed Implementation
[0022] To illustrate the technical content, structural features, objectives, and effects of the present invention in detail, the following description is provided in conjunction with the embodiments and accompanying drawings.
[0023] refer to Figure 1 This invention provides a secure processing system supporting confidential computing, including a secure processor 10, a memory controller 30, and a cryptographic processing module. The secure processor 10 is divided into a confidential processor 12, an application processor 11, and a trusted processor 13. Each of the confidential processor 12, application processor 11, and trusted processor 13 has an independent processor core, interrupt controller, and memory isolation module. The computing software and operating environment of the confidential processor 12, application processor 11, and trusted processor 13 run on their respective independent processor cores. The computing software of the confidential processor 12, application processor 11, and trusted processor 13 enables the secure processor 10, memory controller 30, and cryptographic processing module to execute secure processing methods supporting confidential computing. The memory controller 30 is connected to a memory device 31, and the secure processor 10 can communicate with the memory controller 30 via a system bus network.
[0024] The application system comprises three independent and parallel execution environments: a confidential execution environment, a normal execution environment, and a trusted execution environment. The normal environment runs a mainstream user-facing operating system and allows users to register their own applications. The confidential and trusted environments can each run an operating system with the same kernel as the mainstream operating system, allowing users to independently develop and register confidential and trusted applications according to their security needs. Message interaction between user applications and confidential or trusted applications is achieved through request and response background processes. These background processes exchange messages and data through a secure message mailbox module and a secure message queue. The hardware and software startup and interaction process for user applications requesting confidential or trusted services is shown in the following diagram.
[0025] The cryptographic processing module is a cryptographic coprocessor built into each of the security processors 10 and / or a cryptographic subsystem 20 disposed on the security processor 10. The system can invoke the cryptographic services provided by the cryptographic subsystem 20 through a driver program. The cryptographic subsystem includes a microcontroller, a mailbox module, a cryptographic engine, a true random number module, a key management module, and a bus interface. The microcontroller module of the cryptographic subsystem runs secure firmware embedded in the chip hardware, providing a basic root of trust for the security processor. The mailbox module parses the cryptographic service requests transmitted by the processor subsystem and returns the cryptographic calculation completion status to the processor subsystem. The cryptographic engine and the true random number module are responsible for completing the encryption and decryption operations corresponding to the cryptographic services and completing the memory migration of calculation data and result data through the bus interface. The key management module is responsible for processing and caching the keys required by the encryption and decryption algorithms.
[0026] refer to Figure 2 The security processing method, when performing confidential computing services, includes steps S11 to S15.
[0027] S11, system power on.
[0028] S12, the application processor 11 runs in a normal execution environment and loads a normal operating system to allow users to register user applications and run background programs for security service requests; at this time, the type of security service request is a confidential service request.
[0029] S13, depending on the type of the security service request, the corresponding confidential processor runs in a confidential execution environment and loads a confidential operating system to respond to the background program waiting to register a confidential application;
[0030] Steps S12 and S13 are as follows: After the system is powered on, the application processor 11 and the confidential processor 12 run in the normal execution environment and the confidential execution environment respectively through a hardware isolation mechanism; the application processor 11 loads and starts the normal operating system through a trusted secure boot process to allow users to register applications and run background programs for security service requests. The confidential processor 12 loads the confidential operating system through a trusted secure boot process, runs the confidential service response background program, and waits for the registration of confidential programs.
[0031] S14, the application processor 11 and the confidential processor 12 construct a shared memory space in the memory controller 30, and construct a secure message queue in the shared memory space, the secure message queue including a user application data queue and a secure service result queue.
[0032] S15, when the user application initiates a security service request, according to the type of the security service request, the application processor 11 and the corresponding confidential processor 12 call the password processing module to perform corresponding encryption and decryption, register the corresponding confidential application or trusted application, and start the corresponding confidential computing service.
[0033] Step S15 includes steps S151 to S156.
[0034] S151, the user application of the application processor 11 initiates a security service request, calls the password processing module to encrypt the security service request identifier, and transmits the encrypted security service request identifier to the security message mailbox 40. The user application calls the password processing module to encrypt the security service request identifier.
[0035] The security service request includes a security service application identifier, which includes: user application identifier, user application data queue start address, user application data queue size, target security service type, target security service program identifier, target security service result queue start address, and target security service result queue size.
[0036] The target security service type determines whether it is a confidential service or a trusted service.
[0037] S152, the user application calls the password processing module to complete the password encryption of the application computing data, and loads the encrypted application computing data into the user application data queue.
[0038] When the cryptographic processing module is a cryptographic coprocessor, the steps of calling the cryptographic processing module for encryption include: the user application allocates memory space, prepares computation data, and initiates a call to the encryption computation library; the ordinary operating system responds to the application call and starts the cryptographic coprocessor of the application processor 11 to complete the encryption computation; the user application reads the encryption computation result to confirm that the cryptographic coprocessor of the application processor 11 has completed the computation.
[0039] When the cryptographic processing module is a cryptographic subsystem 20, the steps for calling the cryptographic processing module to encrypt include: the user application allocates memory space, prepares computation data, and initiates an encryption service request or a decryption service request; the ordinary operating system responds to the encryption service request or decryption service request, starts the cryptographic subsystem 20 to pass the encryption service or decryption service to the mailbox module of the cryptographic subsystem 20; the microcontroller of the cryptographic subsystem parses the encryption service or decryption service type, obtains the computation data, drives the cryptographic engine and the true random number module, and writes the computation result back to the memory space through the bus interface; the user application reads the encryption computation result or decryption computation result to confirm that the cryptographic subsystem has completed the computation.
[0040] S153, the confidential processor 12 responds to the background program by reading the secure message mailbox 40, calling the password processing module to decrypt the security service application identifier, and registering the corresponding confidential application based on the security service application identifier.
[0041] S154, the confidential application reads the user application data queue to obtain the encrypted application computing data, calls the password processing module to decrypt the application computing, and starts the confidential computing service or trusted computing service based on the application computing data.
[0042] S155, after the confidential computing service or trusted computing service is started, the confidential application calls the password processing module to complete the password encryption of the service result data, and loads the encrypted result data into the secure service result queue.
[0043] S156, the user application reads the security service result queue to obtain result data, calls the password processing module to decrypt the result data, and completes the confidential computing service.
[0044] When the cryptographic processing module is a cryptographic coprocessor, the steps of calling the cryptographic processing module to encrypt or decrypt include: the user application allocates memory space, prepares computation data, and initiates a call to the encryption or decryption computation library; the ordinary operating system and the corresponding confidential operating system respond to the application call and start the cryptographic coprocessor to complete the encryption or decryption computation; the user application reads the encryption computation result to confirm that the cryptographic coprocessor has completed the computation or reads the decryption computation result to confirm that the cryptographic coprocessor has completed the computation.
[0045] When the cryptographic processing module is the cryptographic subsystem 20, the user application allocates memory space, prepares computation data, and initiates an encryption service request or a decryption service request based on the type of the security service request. The ordinary operating system and the corresponding confidential operating system respond to the encryption service request or decryption service request, and start the cryptographic subsystem 20 to pass the encryption service or decryption service to the mailbox module of the cryptographic subsystem 20. The microcontroller of the cryptographic subsystem parses the encryption service or decryption service type, obtains the computation data, drives the cryptographic engine and the true random number module, and writes the computation result back to the memory space through the bus interface. The user application reads the encryption computation result or decryption computation result to confirm that the cryptographic subsystem 20 has completed the computation.
[0046] refer to Figure 3 The security processing method, when performing trusted computing services, includes steps S21 to S25.
[0047] S21, after the system is powered on.
[0048] S22, the application processor 11 runs in a normal execution environment and loads a normal operating system to allow users to register user applications and run background programs for security service requests; at this time, the type of security service request is a trusted service request.
[0049] S23, depending on the type of the security service request, the corresponding trusted processor runs in a trusted execution environment and loads a trusted operating system to respond to the background program and wait for the registration of a trusted application.
[0050] Steps S22 and S23 are as follows: After the system is powered on, the application processor 11 and the trusted processor 13 run in the normal execution environment and the trusted execution environment respectively through a hardware isolation mechanism; the application processor 11 loads and starts the normal operating system through a trusted secure boot process to allow users to register applications and run background programs for security service requests. The trusted processor 13 loads the trusted operating system through a trusted secure boot process, runs the trusted service response background program, and waits for trusted programs to be registered.
[0051] S24, the application processor 11 and the trusted processor 13 construct a shared memory space in the memory controller 30, and construct a secure message queue in the shared memory space, the secure message queue including a user application data queue and a security service result queue.
[0052] S25, when the user application initiates a security service request, the application processor 11 and the corresponding trusted processor 13 call the password processing module to perform corresponding encryption and decryption according to the type of the security service request, and register the corresponding trusted application or trusted application, and start the corresponding trusted computing service.
[0053] Step S25 includes steps S251 to S256.
[0054] S251, the user application of the application processor 11 initiates a security service request, transmitting an encrypted security service request identifier to the security message mailbox 40. The user application calls the password processing module to complete the password encryption of the security service request identifier.
[0055] The security service application identifier includes: user application identifier, user application data queue start address, user application data queue size, target security service type, target security service program identifier, target security service result queue start address, and target security service result queue size.
[0056] S252, the user application calls the password processing module to complete the password encryption of the application computing data and loads the encrypted application computing data into the user application data queue.
[0057] When the cryptographic processing module is a cryptographic coprocessor, the steps of calling the cryptographic processing module for encryption include: the user application allocates memory space, prepares computation data, and initiates a call to the encryption computation library; the ordinary operating system responds to the application call and starts the cryptographic coprocessor of the application processor 11 to complete the encryption computation; the user application reads the encryption computation result to confirm that the cryptographic coprocessor of the application processor 11 has completed the computation.
[0058] When the cryptographic processing module is a cryptographic subsystem 20, the steps for calling the cryptographic processing module to encrypt include: the user application allocates memory space, prepares computation data, and initiates an encryption service request or a decryption service request; the ordinary operating system responds to the encryption service request or decryption service request, starts the cryptographic subsystem 20 to pass the encryption service or decryption service to the mailbox module of the cryptographic subsystem 20; the microcontroller of the cryptographic subsystem parses the encryption service or decryption service type, obtains the computation data, drives the cryptographic engine and the true random number module, and writes the computation result back to the memory space through the bus interface; the user application reads the encryption computation result or decryption computation result to confirm that the cryptographic subsystem has completed the computation.
[0059] S253, the trusted processor 13 responds to the background program by reading the security message mailbox 40, calling the password processing module to decrypt the security service application identifier, and registering the corresponding trusted application based on the security service application identifier.
[0060] S254, the trusted application reads the user application data queue to obtain the encrypted application computing data, calls the password processing module to decrypt the application computing, and starts the trusted computing service or trusted computing service based on the application computing data.
[0061] S255, after the trusted computing service is started, the trusted application calls the password processing module to complete the password encryption of the service result data and loads the encrypted result data into the secure service result queue.
[0062] S256, the user application reads the security service result queue to obtain result data, calls the password processing module to decrypt the result data, and completes the trusted computing service.
[0063] When the cryptographic processing module is a cryptographic coprocessor, the steps of calling the cryptographic processing module for encryption or decryption include: the user application allocates memory space, prepares computation data, and initiates a call to the encryption or decryption computation library; the ordinary operating system and the corresponding trusted operating system respond to the application call and start the cryptographic coprocessor to complete the encryption or decryption computation; the user application reads the encryption computation result to confirm that the cryptographic coprocessor has completed the computation or reads the decryption computation result to confirm that the cryptographic coprocessor has completed the computation.
[0064] When the cryptographic processing module is the cryptographic subsystem 20, the user application allocates memory space, prepares computation data, and initiates an encryption service request or a decryption service request based on the type of the security service request. The ordinary operating system and the corresponding trusted operating system respond to the encryption service request or decryption service request, and start the cryptographic subsystem 20 to pass the encryption service or decryption service to the mailbox module of the cryptographic subsystem 20. The microcontroller of the cryptographic subsystem parses the encryption service or decryption service type, obtains the computation data, drives the cryptographic engine and the true random number module, and writes the computation result back to the memory space through the bus interface. The user application reads the encryption computation result or decryption computation result to confirm that the cryptographic subsystem 20 has completed the computation.
[0065] Preferably, the security processor 10 also has an independent timer module and a watchdog module.
[0066] Preferably, the security processor 10, memory controller 30, and cryptographic processing module are integrated on a single security processor chip.
[0067] The present invention also provides an Arm CPU processor, including the security processing system described above.
[0068] The above-disclosed embodiments are merely preferred embodiments of the present invention and should not be construed as limiting the scope of the present invention. Therefore, any equivalent variations made in accordance with the claims of the present invention are still within the scope of the present invention.
Claims
1. A secure processing system supporting confidential computing, characterized in that: The system includes a security processor, a memory controller, and a cryptographic processing module. The memory controller is connected to a memory device. The security processor is divided into a confidential processor, an application processor, and a trusted processor. Each of the confidential processor, application processor, and trusted processor has an independent processor core, allowing the operating system and runtime environment of the confidential processor, application processor, and trusted processor to run on their respective processor cores to execute security processing methods that support confidential computing. These security processing methods include: After the system is powered on, the application processor runs in a normal execution environment and loads a normal operating system to allow users to register user applications and run background programs for security service requests. Depending on the type of the security service request, the corresponding confidential processor or trusted processor runs in a confidential execution environment or trusted execution environment and loads a confidential operating system or trusted operating system to respond to the background program and wait for the registration of a confidential application or trusted application. The application processor and the corresponding confidential processor or trusted processor construct a shared memory space in the memory controller, and construct a secure message queue in the shared memory space. The secure message queue includes a user application data queue and a security service result queue. When the user application initiates a security service request, the application processor and the corresponding confidential processor or trusted processor call the password processing module to perform corresponding encryption and decryption according to the type of the security service request, and register the corresponding confidential application or trusted application, and start the corresponding confidential computing service or trusted computing service.
2. The security processing system as described in claim 1, characterized in that: The application processor and the corresponding confidential processor or trusted processor invoke the cryptographic processing module to perform corresponding encryption and decryption according to the type of the security service request, and register the corresponding confidential application or trusted application, and start the corresponding confidential computing service or trusted computing service, specifically including: The user application initiates a security service request, calls the password processing module to complete the password encryption of the security service request identifier, transmits the encrypted security service request identifier to the security message mailbox, calls the password processing module to complete the password encryption of the application computing data, and loads the encrypted application computing data into the user application data queue. The confidential or trusted operating system corresponding to the type of the security service request reads the security message mailbox to obtain the security service request identifier, calls the password processing module to decrypt the security service request identifier, and registers the corresponding confidential or trusted application based on the security service request identifier. The corresponding confidential application or trusted application reads the user application data queue to obtain the encrypted application computing data, calls the password processing module to decrypt the application computing data, and starts the confidential computing service or trusted computing service based on the application computing data. After the confidential computing service or trusted computing service is started, the corresponding confidential application or trusted application calls the password processing module to complete the password encryption of the service result data and loads the encrypted result data into the secure service result queue. The user application reads the security service result queue, calls the password processing module to decrypt the result data, and completes the confidential computing service or trusted computing service.
3. The security processing system as described in claim 1, characterized in that: The cryptographic processing module is a cryptographic coprocessor built into each of the security processors and / or a cryptographic subsystem set on the security processor.
4. The security processing system as described in claim 3, characterized in that: The cryptographic processing module is a cryptographic coprocessor, and the steps of encrypting or decrypting by calling the cryptographic processing module include: The user application allocates memory space, prepares computation data, and initiates a call to the encryption or decryption computation library based on the type of the security service request. The ordinary operating system and the corresponding confidential or trusted operating system respond to the call of the user application and start the cryptographic coprocessor to complete the encryption or decryption operation. The user application reads the encryption operation result to confirm that the cryptographic coprocessor has completed the operation, or reads the decryption operation result to confirm that the cryptographic coprocessor has completed the operation.
5. The security processing system as described in claim 3, characterized in that: The cryptographic processing module is a cryptographic subsystem, and the steps of encrypting or decrypting by calling the cryptographic processing module include: The user application allocates memory space, prepares computation data, and initiates an encryption service request or a decryption service request based on the type of the security service request. The ordinary operating system and the corresponding confidential or trusted operating system respond to the encryption service request or decryption service request and start the cryptographic subsystem to transmit the encryption service or decryption service to the mailbox module of the cryptographic subsystem. The microcontroller of the cryptographic subsystem parses the encryption or decryption service type, obtains the computation data, drives the cryptographic engine and the true random number module, and writes the computation result back to the memory space through the bus interface. The user application reads the encryption or decryption results to confirm that the cryptographic subsystem has completed the operation.
6. The security processing system as described in claim 2, characterized in that: The security service request identifier includes: user application identifier, user application data queue start address, user application data queue size, target security service type, target security service program identifier, target security service result queue start address, and target security service result queue size.
7. The security processing system as described in claim 1, characterized in that: After the system is powered on, the application processor and the corresponding confidential processor or trusted processor run in the normal execution environment and the corresponding confidential execution environment or trusted execution environment respectively through a hardware isolation mechanism.
8. The security processing system as described in claim 1, characterized in that: The security processor also has an independent timer module and watchdog module.
9. The security processing system as described in claim 1, characterized in that: The security processor, memory controller, and cryptographic processing module are integrated onto a single security processor chip.
10. An Arm CPU processor, characterized in that: Includes the security processing system as described in any one of claims 1-9.
Citation Information
Patent Citations
Security data storage method and system
CN104392188A
Method for realizing secure and trusted startup, security architecture system and related equipment
CN115618365A