Secure operating system middleware and method of operating the same

CN122594040APending Publication Date: 2026-08-18SAMSUNG (CHINA) SEMICONDUCTOR CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610494148.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-04-14
Publication Date
2026-08-18

AI Technical Summary

Technical Problem

这种技术具有扩展性差、低效率、安全性差、灵活性差等缺点

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122594040A_ABST
    Figure CN122594040A_ABST
Patent Text Reader

Abstract

A secure operating system middleware and an operating method thereof are provided. The operating method includes receiving a request through a virtual machine monitor, wherein the request includes at least one of a first request associated with a secure operating system, which is transmitted by at least one virtual machine, and a second request associated with the at least one virtual machine, which is transmitted by the secure operating system, determining a request type of the request, and processing the request based on the request type.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of secure operating systems, and more specifically, to a secure operating system middleware and its operation method. Background Technology

[0002] Currently, the ARM TrustZone specification provides a secure execution environment, often referred to as a trusted execution environment, in which a secure operating system and a regular operating system can run simultaneously. The regular operating system runs in the rich execution environment, and trusted services in the secure operating system can provide critical security functions to the regular operating system. With the widespread adoption of virtualization technology, multiple virtual machines are becoming increasingly common. Multiple operating systems (e.g., Linux, Android, etc.) can run simultaneously on a virtual machine monitor, and all require trusted services from the secure operating system.

[0003] However, current virtualization support for secure operating systems typically employs methods such as implementing front-end and back-end drivers in different virtual machines or adding middleware for the secure operating system within the virtual machine monitor. This technique suffers from drawbacks including poor scalability, low efficiency, poor security, and poor flexibility. Summary of the Invention

[0004] According to one aspect of an exemplary embodiment of this disclosure, a method for operating a secure operating system is provided. The method may be executed by secure operating system middleware in a security monitor. The method may include: receiving a request via a virtual machine monitor, wherein the request includes at least one of a first request associated with the secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system; determining a request type of the request; and processing the request based on the request type.

[0005] According to one aspect of an exemplary embodiment of this disclosure, a secure operating system middleware in a security monitor is provided. The secure operating system middleware may include: a request manager configured to receive requests through a virtual machine monitor, determine the request type of the requests, wherein the requests include at least one of a first request associated with a secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system; and a processor configured to process the requests based on the request type.

[0006] According to one aspect of an exemplary embodiment of the present disclosure, an electronic device is provided. The electronic device may include: at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform the following operations: receive a request via a virtual machine monitor, wherein the request includes at least one of a first request associated with a secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system; determine a request type; and process the request based on the request type. Attached Figure Description

[0007] The above and other objects and features of the present invention will become clearer from the following detailed description taken in conjunction with the accompanying drawings, in which: Figure 1 This is a flowchart illustrating an operation method performed by a security operating system middleware in a security monitor according to an example embodiment of the present disclosure; Figure 2 This is a block diagram illustrating a secure operating system middleware in a security monitor according to an example embodiment of the present disclosure. Detailed Implementation

[0008] In the following description, various exemplary embodiments of the present disclosure are illustrated with reference to the accompanying drawings, wherein the same reference numerals are used to denote the same or similar elements, features, and structures. However, it is not intended to limit the present disclosure to the specific embodiments described herein, and it is intended that the present disclosure cover all modifications, equivalents, and / or substitutions of the present disclosure, provided they fall within the scope of the appended claims and their equivalents. The terms and words used in the following description and claims are not limited to their dictionary meanings, but are used only to enable a clear and consistent understanding of the present disclosure. Therefore, it will be apparent to those skilled in the art that the following description of various exemplary embodiments of the present disclosure is for illustrative purposes only and is not intended to limit the purpose of the present disclosure as defined by the appended claims and their equivalents.

[0009] It should be understood that, unless the context clearly indicates otherwise, the singular form includes the plural form. The terms “comprising,” “including,” and “having” as used herein indicate the presence of a function, operation, or element of this disclosure, but do not exclude other functions, operations, or elements.

[0010] For example, the expression “A or B”, “A and / or B”, “at least one of A and B” or “at least one of A or B” may include A, B, and both A and B. For example, the expression “A or B” or “at least one of A and B” may indicate (1) A alone, (2) B alone, or (3) both A and B.

[0011] In the various exemplary embodiments of this disclosure, it is intended that when a component (e.g., a first component) is referred to as being "coupled" or "connected" to, or being "coupled" or "connected" to, another component (e.g., a second component), the component may be directly connected to, or may be connected via, another component (e.g., a third component). In contrast, when a component (e.g., a first component) is referred to as being "directly coupled" or "directly connected" to, or being directly coupled to or directly connected to, another component (e.g., a second component), there is no other component (e.g., a third component) between the component and the other component.

[0012] The expression “configured as” used in describing the various exemplary embodiments of this disclosure may be used interchangeably, for example, with expressions such as “suitable for,” “capable of,” “designed to,” “suitable for,” “manufactured as,” and “capable.” The term “configured as” may not necessarily indicate that the hardware is “specifically designed for.” Rather, in some cases, the expression “a device configured as…” may indicate that the device and another device or part are “capable of….” For example, the expression “a processor configured to perform A, B, and C” may indicate a dedicated processor (e.g., an embedded processor) for performing the respective operations or a general-purpose processor (e.g., a central processing unit CPU or application processor (AP)) for performing the respective operations by executing at least one software program stored in a memory device.

[0013] The terminology used herein is intended to describe certain exemplary embodiments of this disclosure, but is not intended to limit the scope of other exemplary embodiments. Unless otherwise stated herein, all terms used herein (including technical or scientific terms) may have the same meaning as commonly understood by one of ordinary skill in the art. Generally, terms defined in dictionaries should be considered to have the same meaning as in the context of the relevant field, and should not be interpreted differently or as having an overly formal meaning unless expressly defined herein. In no event should the terminology defined in this disclosure be construed as excluding the exemplary embodiments of this disclosure.

[0014] Figure 1 This is a flowchart illustrating an operational method performed by a security operating system middleware in a security monitor according to an example embodiment of the present disclosure.

[0015] Reference Figure 1In operation S110, requests to the secure operating system sent by at least one virtual machine can be received through the hypervisor, and / or requests associated with the virtual machine sent by the secure operating system can be received through the hypervisor. According to example embodiments of this disclosure, the secure operating system may include, but is not limited to, ExynosTEE. According to example embodiments of this disclosure, at least one virtual machine and the secure operating system may be in an exception level (EL) 1 state according to the TrustZone specification, the virtual machine monitor may be in an EL2 state, and the security monitor (EL3 monitor) and the secure operating system middleware may be in an EL3 state, but are not limited thereto.

[0016] In operation S120, the request type of the request associated with the secure operating system and / or the request associated with the virtual machine can be determined. According to example embodiments of this disclosure, the request type may include, but is not limited to, at least one of a register world shared memory request, a register system page request, and a remote call request.

[0017] In operation S130, requests to the secure operating system can be processed based on the request type. Furthermore, information associated with the processing of the request can be sent to the secure operating system or the corresponding virtual machine based on the request type.

[0018] According to an example embodiment of this disclosure, when the request type is a registration system page request and the request is a request associated with a secure operating system sent by at least one virtual machine, the steps for processing the request may include: initializing a system page used to store secure operating system information and sending the initialization result to the corresponding virtual machine via a virtual machine monitor. In the same or other embodiments, the system page may be stored in secure operating system middleware. According to an example embodiment of this disclosure, the secure operating system information may include, but is not limited to, the log status of the secure operating system, the count of pending requests, etc. Here, those skilled in the art can set the method for initializing the system page according to actual needs.

[0019] According to an example embodiment of this disclosure, when the request type is a remote call request and the request is a request associated with a virtual machine sent by a secure operating system, the steps for processing the request may include: adding the current request associated with the corresponding virtual machine to a message queue; adding the processing result of the corresponding virtual machine on the current request to the message queue; and when the current request is executed in the order it was added to the message queue, sending the processing result to the secure operating system. In the same or other embodiments, the message queue may be stored in the secure operating system middleware. Here, those skilled in the art can configure the method for the virtual machine to process remote call requests according to actual needs.

[0020] According to an example embodiment of this disclosure, when the request type is a world shared memory registration request and the request is a request associated with a secure operating system sent by at least one virtual machine, the steps for processing the request may include: sending the request to the secure operating system, receiving a world shared memory serial number from the secure operating system, storing the world shared memory corresponding to the serial number in a world shared memory pool, and sending the world shared memory serial number to the corresponding virtual machine. In the same or other embodiments, the world shared memory pool may be stored in the secure operating system middleware. Here, the secure operating system may process the received world shared memory registration request to obtain the world shared memory serial number, and those skilled in the art can configure the method for the secure operating system to process the world shared memory registration request according to actual needs.

[0021] According to the example embodiments of this disclosure, virtualization support for a secure operating system for multiple virtual machines can be achieved through middleware in a security monitor without adding a new module to each virtual machine or virtual machine monitor. This can adapt to different numbers of virtual machines and different secure operating systems, thereby improving scalability and flexibility. Since it does not rely on front-end drivers and back-end drivers in the virtual machines, data interaction is not exposed to other virtual machines or virtual machine monitors, thereby improving security and efficiency.

[0022] Figure 2 This is a block diagram illustrating a secure operating system middleware in a security monitor according to an example embodiment of the present disclosure.

[0023] Reference Figure 2 The security operating system middleware 200 in the security monitor may include a request manager 210 and a processor 220.

[0024] It should be understood that the request manager 210 and the processor 220 may be implemented as a combination of hardware and software components, including a processor, memory, and a combination of one or more instructions to be executed and stored.

[0025] The request manager 210 can be configured to receive requests via a virtual machine monitor and determine the request type, wherein the request may include a request associated with a secure operating system sent by at least one virtual machine and / or a request associated with a virtual machine sent by the secure operating system. According to example embodiments of this disclosure, the request type may include, but is not limited to, at least one of a register world shared memory request, a register system page request, and a remote call request.

[0026] Processor 220 can be configured to process requests to a secure operating system based on the request type.

[0027] The processor 220 can also be configured to perform the following operations: when the request type is a registration system page request and the request is a request associated with a secure operating system sent by at least one virtual machine, initialize the system page used to store secure operating system information and send the initialization result to the corresponding virtual machine through the virtual machine monitor, wherein the processor 220 is also configured to store the system page.

[0028] The processor 220 can also be configured to perform the following operations: when the request type is a remote call request and the request is a request associated with a virtual machine sent by the secure operating system, add the current request associated with the corresponding virtual machine to the message queue, add the processing result of the corresponding virtual machine on the current request to the message queue, and send the processing result to the secure operating system when the current request is executed in the order in which the current request was added to the message queue. The processor 220 can also be configured to store the message queue.

[0029] The processor 220 can also be configured to perform the following operations: when the request type is a registration world shared memory request and the request is a request associated with a security operating system sent by at least one virtual machine, send the request to the security operating system, receive the world shared memory serial number from the security operating system, store the world shared memory corresponding to the serial number in the world shared memory pool, and send the world shared memory serial number to the corresponding virtual machine, wherein the processor 220 can also be configured to store the world shared memory pool.

[0030] The security operating system middleware in the security monitor according to the example embodiments of this disclosure is not limited to the above-described units. Those skilled in the art can use more or fewer units to implement the functions of the above-described units according to actual needs. For example, the processor 220 can be divided into three units to handle the registration system page request, remote call request, and registration world shared memory request respectively, which will not be elaborated here.

[0031] According to an exemplary embodiment of this disclosure, an electronic device is provided, including a memory and a processor, wherein the memory stores computer-executable instructions that, when executed by the processor, perform the aforementioned method.

[0032] According to exemplary embodiments of this disclosure, a computer-readable medium is provided that stores computer-executable instructions, which, when executed, perform the aforementioned method. Examples of computer-readable media include: read-only memory (ROM), random access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disc storage, hard disk drive (HDD), solid-state drive (SSD), card storage (e.g., multimedia card, secure digital (SD) card, or ultra-fast digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid-state drive, and any other device configured to store a computer program and any associated data, data files, and data structures in a non-transitory manner and to provide the computer program and any associated data, data files, and data structures to a processor or computer so that the processor or computer can execute the computer program. The computer program in the aforementioned computer-readable storage medium can run in an environment deployed in computer devices such as client, host, agent, or server. Furthermore, in one example, the computer program and any associated data, data files, and data structures are distributed across a networked computer system, such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed manner through one or more processors or computers.

[0033] According to exemplary embodiments of this disclosure, virtualization support for a secure operating system across multiple virtual machines is achieved through middleware in a security monitor, without requiring additional modules in each virtual machine or virtual machine monitor. This provides adaptability to different numbers of virtual machines and different secure operating systems. Embodiments of this disclosure thus improve scalability and flexibility, and because they do not rely on front-end and back-end drivers within the virtual machines, data interaction is not exposed to other virtual machines or virtual machine monitors, thereby improving security and efficiency.

[0034] According to one aspect of an exemplary embodiment of this disclosure, a method for operating a secure operating system is provided. The method may be executed by secure operating system middleware in a security monitor. The method may include: receiving a request via a virtual machine monitor, wherein the request includes at least one of a first request associated with the secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system; determining a request type of the request; and processing the request based on the request type.

[0035] The request type may include at least one of the following: register world shared memory request, register system page request, and remote call request.

[0036] The steps for processing the request may include, based on the request type being a registration system page request and the first request being received, performing the following operations: initializing the system page used to store secure operating system information; and sending the initialization result to the corresponding virtual machine via the virtual machine monitor.

[0037] System pages can be stored in secure operating system middleware.

[0038] The steps for processing the request may include, based on the request type being a remote call request and the second request being received, performing the following operations: adding the second request to a message queue; adding the processing result of the second request by the corresponding virtual machine to the message queue; and sending the processing result to the secure operating system based on the order in which the second request was added to the message queue.

[0039] Message queues can be stored in secure operating system middleware.

[0040] The steps for processing a request may include, based on the request type being a registration world shared memory request and the first request being received, performing the following operations: sending the first request to the security operating system; receiving the world shared memory serial number from the security operating system; storing the world shared memory corresponding to the serial number in the world shared memory pool; and sending the world shared memory serial number to the corresponding virtual machine.

[0041] A global shared memory pool can be stored in a secure operating system middleware.

[0042] According to one aspect of an exemplary embodiment of this disclosure, a secure operating system middleware in a security monitor is provided. The secure operating system middleware may include: a request manager configured to receive requests through a virtual machine monitor and determine the request type of the requests, wherein the requests include at least one of a first request associated with a secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system; and a processor configured to process the requests based on the request type.

[0043] The request type may include at least one of the following: register world shared memory request, register system page request, and remote call request.

[0044] The processor can also be configured to perform the following operations based on a request type of registration system page request and upon receipt of the first request: initialize a system page used to store secure operating system information; and send the initialization result to the corresponding virtual machine via the virtual machine monitor, wherein the processor is also configured to store the system page.

[0045] The processor is also configured to, based on a request type of remote call request and the receipt of a second request, perform the following operations: add the second request to a message queue; add the processing result of the second request by the corresponding virtual machine to the message queue; and send the processing result to the secure operating system based on the order in which the second request was added to the message queue, wherein the processor is also configured to store the message queue.

[0046] The processor is also configured to perform the following operations based on a request type of "Register World Shared Memory Request" and upon receipt of the first request: send the first request to the security operating system; receive the serial number of the world shared memory from the security operating system; store the world shared memory corresponding to the serial number in the world shared memory pool; and send the serial number of the world shared memory to the corresponding virtual machine.

[0047] The processor can also be configured to store a world-shared memory pool.

[0048] According to one aspect of an exemplary embodiment of the present disclosure, an electronic device is provided. The electronic device includes: at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform the following operations: receiving a request via a virtual machine monitor, wherein the request includes at least one of a first request associated with a secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system; determining a request type of the request; and processing the request based on the request type.

[0049] The request type may include at least one of the following: register world shared memory request, register system page request, and remote call request.

[0050] When the instruction is executed, the at least one processor performs the following operations based on the request type being a registration system page request and the first request being received: initializing the system page used to store secure operating system information; and sending the initialization result to the corresponding virtual machine via the virtual machine monitor, wherein the system page is stored in the secure operating system middleware.

[0051] When the instruction is executed, the at least one processor, based on the request type being a remote call request and the second request being received, performs the following operations: adding the second request to a message queue; adding the processing result of the second request by the corresponding virtual machine to the message queue; and sending the processing result to the secure operating system based on the order in which the second request was added to the message queue, wherein the message queue is stored in the secure operating system middleware.

[0052] When the instruction is executed, the at least one processor performs the following operations based on the request type being a registration world shared memory request and the first request being received: sending the first request to the secure operating system; receiving the serial number of the world shared memory from the secure operating system; storing the world shared memory corresponding to the serial number in the world shared memory pool; and sending the serial number of the world shared memory to the corresponding virtual machine, wherein the world shared memory pool is stored in the secure operating system middleware.

[0053] A non-transitory computer-readable medium may store computer-executable instructions that, when executed, perform the aforementioned method.

[0054] Although this disclosure has been shown and described with reference to specific exemplary embodiments, those skilled in the art will understand that various changes in form and detail may be made without departing from the spirit and scope of this disclosure as defined by the claims and their equivalents.

Claims

1. A method for operating a secure operating system, the method being performed by secure operating system middleware in a security monitor, the method comprising: Requests are received via a virtual machine monitor, wherein the requests include at least one of a first request associated with a secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system; Determine the request type; Requests are processed based on request type.

2. The method as described in claim 1, wherein, The request type includes at least one of the following: register world shared memory request, register system page request, and remote call request.

3. The method as described in claim 2, wherein, The steps for processing the request include performing the following operations based on the request type being a registration system page request and the first request being received: Initialize the system pages used to store secure operating system information; and The initialization results are sent to the corresponding virtual machine via the virtual machine monitor.

4. The method of claim 3, further comprising: The system pages are stored in a secure operating system middleware.

5. The method of claim 2, wherein, The steps for processing the request include performing the following operations based on the request type being a remote call request and the second request being received: Add the second request to the message queue; Add the processing result of the second request by the corresponding virtual machine to the message queue; as well as The second request is executed in the order it was added to the message queue, and the processing result is sent to the secure operating system.

6. The method of claim 5, further comprising: Store the message queue in a secure operating system middleware.

7. The method of claim 2, wherein, The steps for processing the request include performing the following operations based on the request type being a Register World Shared Memory Request and the first request being received: Send the first request to the secure operating system; Receive the serial number of the world shared memory from the secure operating system; Store the world shared memory corresponding to the serial number in the world shared memory pool; as well as Send the serial number of the world shared memory to the corresponding virtual machine.

8. The method of claim 7, further comprising: Store the world-shared memory pool in a secure operating system middleware.

9. A security operating system middleware in a security monitor, comprising: A request manager is configured to receive requests via a virtual machine monitor and determine the request type of the request, wherein the request includes at least one of a first request associated with a secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system. The processor is configured to handle requests based on the request type.

10. An electronic device, comprising: At least one processor; as well as A memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform the following operations: Requests are received via a virtual machine monitor, wherein the requests include at least one of a first request associated with a secure operating system sent by at least one virtual machine and a second request associated with the at least one virtual machine sent by the secure operating system; Determine the request type; Requests are processed based on request type.

11. A non-transitory computer-readable medium having stored thereon computer-executable instructions that, when executed, perform the method according to any one of claims 1 to 8.