WO2023134376A1 - 信息处理方法和装置 - Google Patents
信息处理方法和装置 Download PDFInfo
- Publication number
- WO2023134376A1 WO2023134376A1 PCT/CN2022/138807 CN2022138807W WO2023134376A1 WO 2023134376 A1 WO2023134376 A1 WO 2023134376A1 CN 2022138807 W CN2022138807 W CN 2022138807W WO 2023134376 A1 WO2023134376 A1 WO 2023134376A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tui
- terminal device
- interface
- display
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/84—Protecting input, output or interconnection devices output devices, e.g. displays or monitors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/032—Protect output to user by software means
Definitions
- the present application relates to the technical field of terminals, and in particular to an information processing method and device.
- terminal devices can provide users with different functions, so that terminal devices can meet different needs of users.
- terminal devices when terminal devices provide users with different functions, users may be required to enter user names, passwords or However, hackers may obtain sensitive information of users by cracking the system and other means.
- Embodiments of the present application provide an information processing method and apparatus, so as to improve the security of display results obtained by a terminal device.
- TEE can provide a trusted user interface (trusted user interface, TUI) function
- TUI trusted user interface
- the terminal device by setting a TEE that can execute the display request processing process and obtain the display result in the terminal device, when the terminal device obtains the first display request through the first TEE, because the first display request Including the display information of the first interface, therefore, the terminal device can draw the first interface through the first TUI framework in the first TEE, so as to realize the processing of the first display request. Since the TUI display driver is integrated in the second TEE, The terminal device can call the TUI display driver of the second TEE to display the first interface, thereby improving the security of the terminal device to obtain the display result.
- the embodiments of the present application provide an information processing method and apparatus, which are applied to terminal equipment.
- the terminal equipment is deployed with a Rich Execution Environment REE and at least two Trusted Execution Environments TEE.
- the REE includes one or more applications.
- the method Including: when the terminal device obtains the first display request in the first application, the terminal device obtains the first display request from the first application based on the first trusted user interface TUI trusted application; wherein, the first application is any REE application, the first display request is used to display the first interface, the first display request includes the display information of the first interface, the first TUI trusted application runs in the first TEE, and the first TEE is at least two trusted execution environment TEEs
- the TUI display driver is integrated in the TEE; the terminal device is based on the TUI server and calls the TUI display driver to display the first interface. In this way, the terminal device can draw the first interface through the first TUI frame in the first TEE, and display the first interface through the TUI display driver in the second TEE, thereby improving the security of the terminal device to obtain the display result.
- the second TEE further integrates a TUI input driver
- the first interface includes an input component
- the method further includes: when the terminal device receives a trigger for the input component on the first interface based on the TUI server , the terminal device obtains the first security information based on the TUI server; wherein, the first security information is obtained by the TUI server calling the TUI input driver, the first security information is information input based on the input component, and the first security information includes: account password or payment password; the terminal device obtains the first security information from the TUI server based on the first TUI trusted application; the terminal device sends the first security information to the first server based on the first TUI trusted application; wherein, the first server is used for the service The first application; when the first server judges that the first security information matches the preset security information, the terminal device obtains information indicating that the matching is successful from the first server based on the first application; the terminal device displays the second information based on the first application. interface. In this way, after the terminal device displays the first
- the terminal device obtains the first security information from the TUI server based on the first TUI trusted application, including: the terminal device sends the first security information to the virtual machine monitor based on the TUI server; The virtual machine monitor sends the first security information to the system kernel of the first TEE; the terminal device sends the first security information to the virtual machine inter-process communication VM IPC client based on the system kernel of the first TEE; the terminal device sends the first security information based on the virtual machine inter-process communication
- the VM IPC client sends the first security information to the first TUI framework; when the terminal device calls the TUI application programming interface API, the terminal device sends the first security information to the first TUI trusted application based on the first TUI framework; the terminal device The first security information is acquired based on the first TUI trusted application.
- the first TUI trusted application is in the first TEE
- the TUI server is in the second TEE
- the first TEE and the second TEE can perform data interaction through a virtual machine monitor, thereby improving the security of
- the terminal device obtains the first display request from the first application based on the first trusted user interface TUI trusted application, including: the terminal device sends the first display request to the system kernel of the REE based on the first application ; The terminal device sends the first display request to the virtual machine monitor based on the REE system kernel; the terminal device sends the first display request to the first TUI trusted application based on the virtual machine monitor; the terminal device obtains the first TUI trusted application based on the first TUI.
- a display request In this way, after the terminal device acquires the first display request based on the first TUI trusted application, the terminal device may perform subsequent steps.
- the terminal device obtains the first display request from the first TUI trusted application based on the first TUI framework, including: when the terminal device invokes the TUI application programming interface API, the terminal device may The messaging application sends the first display request to the first TUI framework; the terminal device obtains the first display request based on the first TUI framework. In this way, after the terminal device acquires the first display request based on the first TUI frame, the terminal device may perform subsequent steps.
- the terminal device obtains information for instructing to display the first interface from the first TUI framework based on the TUI server, including: the terminal device communicates with the VM IPC client between processes of the virtual machine based on the first TUI framework , sending information for instructing to display the first interface; the terminal device sends information for instructing to display the first interface to the system kernel of the first TEE based on the virtual machine interprocess communication VM IPC client; the terminal device is based on the information of the first TEE
- the system kernel sends the information for instructing to display the first interface to the virtual machine monitor; the terminal device sends the information for instructing to display the first interface to the TUI server based on the virtual machine monitor; the terminal device obtains the information for instructing based on the TUI server Display the information of the first interface.
- the terminal device can display the first interface. Since the TUI server is located in the second TEE, the terminal device can improve the security of displaying the first interface. sex.
- the terminal device acquires the first display request in the first application, including: the terminal device displays a third interface; where the third interface is one of the interfaces in the first application, and the third interface includes an input Area: when the terminal device receives a trigger on the input area on the third interface through the first application, the terminal device obtains the first display request.
- the terminal device displaying the third interface includes: the terminal device displaying a fourth interface; where the fourth interface includes a first control for opening the first application; when the terminal device uses the first application in the When the fourth interface receives the trigger for the first control, the terminal device obtains the second display request; wherein, the second display request is used to display the third interface, and the second display request includes display information of the third interface; the terminal device obtains the second display request according to the third interface. The second is to display the request, and the third interface is displayed.
- the terminal device displays the third interface according to the second display request, including: the terminal device sends the second display request to the system kernel of REE based on the first application; The machine monitor sends the second display request; the terminal device sends the second display request to the first TUI trusted application based on the virtual machine monitor; when the terminal device calls the TUI application programming interface API, the terminal device sends the second display request based on the first TUI trusted application Send a second display request to the first TUI framework; the terminal device draws a third interface based on the first TUI framework; the terminal device sends a message for instructing to display the third interface to the virtual machine interprocess communication VM IPC client based on the first TUI framework Information; the terminal device is based on the virtual machine inter-process communication VM IPC client, and sends information for instructing to display the third interface to the system kernel of the first TEE; the terminal device sends information to the virtual machine monitor based on the system kernel of the first TEE.
- the information for instructing to display the third interface including: the terminal device
- the terminal device obtains the first display request in the first application, including: the terminal device displays a fifth interface; wherein, the fifth interface is one of the interfaces after the first application is opened, and the fifth interface includes The third control: when the terminal device receives the trigger for the third control, the terminal device obtains the first display request.
- an embodiment of the present application provides an information processing device, which is applied to a terminal device.
- the information processing device is deployed with a Rich Execution Environment REE and at least two Trusted Execution Environments TEE.
- the REE includes one or more applications.
- the device includes processing unit and display unit.
- the processing unit is configured to: when the terminal device acquires the first display request in the first application, the trusted application based on the first trusted user interface TUI acquires the first display request from the first application; wherein, the first application is For any application in the REE, the first display request is used to display the first interface, the first display request includes the display information of the first interface, the first TUI trusted application runs in the first TEE, and the first TEE is at least two The TEE in the Trusted Execution Environment TEE; the processing unit is also used to: obtain the first display request from the first TUI trusted application based on the first TUI framework; wherein, the first TUI framework runs in the first TEE; the processing unit is also used For: drawing the first interface based on the first TUI frame; the processing unit is also used for: obtaining information for indicating display of the first interface from the first TUI frame based on the TUI server; wherein, the TUI server runs in the second TEE, The second TEE is a TEE in at least two trusted execution environment T
- the second TEE further integrates a TUI input driver
- the first interface includes an input component
- the processing unit is further configured to: when the terminal device receives a trigger on the input component on the first interface based on the TUI server , the first security information is obtained based on the TUI server; where the first security information is obtained by the TUI server calling the TUI input driver, the first security information is based on the information input by the input component, and the first security information includes: account password or Payment password;
- the processing unit is also used to: obtain the first security information from the TUI server based on the first TUI trusted application; the processing unit is also used to: send the first security information to the first server based on the first TUI trusted application; wherein , the first server is used to serve the first application; when the first server judges that the first security information matches the preset security information, the processing unit is further configured to: obtain from the first server based on the first application the information indicating that the matching is successful information; the display unit is also used for: displaying the second interface
- the processing unit is specifically configured to: send the first security information to the virtual machine monitor based on the TUI server; send the first security information to the system kernel of the first TEE based on the virtual machine monitor;
- the system kernel of a TEE sends the first security information to the virtual machine inter-process communication VM IPC client;
- the terminal device sends the first security information to the first TUI framework based on the virtual machine inter-process communication VM IPC client; when the terminal device calls the TUI
- the API is used, the first security information is sent to the first TUI trusted application based on the first TUI framework; and the first security information is acquired based on the first TUI trusted application.
- the processing unit is specifically configured to: send the first display request to the system kernel of the REE based on the first application; send the first display request to the virtual machine monitor based on the system kernel of the REE; The device sends a first display request to the first TUI trusted application; and obtains the first display request based on the first TUI trusted application.
- the processing unit is specifically configured to: when the terminal device invokes a TUI application programming interface API, send a first display request to the first TUI framework based on the first TUI trusted application; Get the first display request.
- the processing unit is specifically configured to: send information for instructing to display the first interface to the virtual machine inter-process communication VM IPC client based on the first TUI framework; based on the virtual machine inter-process communication VM IPC
- the client sends information for instructing to display the first interface to the system kernel of the first TEE; sends information for instructing to display the first interface based on the system kernel of the first TEE to the virtual machine monitor;
- the TUI server sends information for instructing to display the first interface; based on the TUI, the server acquires the information for instructing to display the first interface.
- the processing unit is specifically configured to: display a third interface; wherein, the third interface is one of the interfaces in the first application, and the third interface includes an input area; When the third interface receives the trigger on the input area, it acquires the first display request.
- the processing unit is specifically configured to: display a fourth interface; where the fourth interface includes a first control for opening the first application; when the terminal device receives the When the first control is triggered, a second display request is obtained; wherein, the second display request is used to display the third interface, and the second display request includes display information of the third interface; according to the second display request, the third interface is displayed.
- the processing unit is specifically configured to: send a second display request to the REE system kernel based on the first application; send the second display request to the virtual machine monitor based on the REE system kernel;
- the device sends a second display request to the first TUI trusted application; when the terminal device calls the TUI application programming interface API, based on the first TUI trusted application, the second display request is sent to the first TUI framework; based on the first TUI framework, the drawing
- the third interface based on the first TUI framework, to the virtual machine inter-process communication VM IPC client, sending information for instructing to display the third interface; based on the virtual machine inter-process communication VM IPC client, sending to the system kernel of the first TEE Information for instructing to display the third interface; based on the system kernel of the first TEE, sending information for instructing to display the third interface to the virtual machine monitor; sending information for instructing to display the third interface to the TUI server based on the virtual machine monitor Interface information; based on the TUI server, call the T
- the processing unit is specifically configured to: display a fifth interface; wherein, the fifth interface is one of the interfaces after the first application is opened, and the fifth interface includes a third control; when the terminal device receives the When the third control is triggered, obtain the first display request.
- the embodiment of the present application provides an information processing device, which may include a processor and a memory, the memory is used to store code instructions, and the processor is used to run the code instructions to perform any one of the first aspect or the first aspect.
- the memory is used to store code instructions
- the processor is used to run the code instructions to perform any one of the first aspect or the first aspect. The method described in One possible implementation.
- an embodiment of the present application provides an information processing system, and the system may include: the second aspect and the apparatus described in various possible implementation manners of the second aspect.
- the embodiment of the present application provides a computer-readable storage medium, in which a computer program or instruction is stored, and when the computer program or instruction is run on the computer, the computer executes the first aspect or the first The method described in any possible implementation of the aspect.
- the embodiments of the present application provide a computer program product including a computer program, which, when the computer program is run on the computer, causes the computer to execute the method described in the first aspect or any possible implementation of the first aspect .
- the present application provides a chip or a chip system, the chip or chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through lines, and the at least one processor is used to run computer programs or instructions, To perform the method described in the first aspect or any possible implementation manner of the first aspect; wherein, the communication interface in the chip may be an input/output interface, a pin, or a circuit.
- the chip or the chip system described above in the present application further includes at least one memory, and instructions are stored in the at least one memory.
- the memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (eg, a read-only memory, a random access memory, etc.).
- FIG. 1 is a schematic diagram of a single TEE implementation of a TUI function provided by an embodiment of the present application
- FIG. 2 is a schematic diagram of the structure of a multi-TEE implementation of the TUI function provided by the embodiment of the present application;
- FIG. 3 is a schematic diagram of a hardware structure of a terminal device provided in an embodiment of the present application.
- FIG. 4 is a schematic diagram of the structure of a multi-TEE implementation of the TUI function provided by the embodiment of the present application;
- FIG. 5 is a schematic flowchart of an information processing method provided in an embodiment of the present application.
- FIG. 6 is a schematic flowchart of an information processing method provided in an embodiment of the present application.
- FIG. 7 is a schematic interface diagram of an information processing method provided by an embodiment of the present application.
- FIG. 8 is a schematic interface diagram of an information processing method provided by an embodiment of the present application.
- FIG. 9 is a schematic structural diagram of an information processing device provided in an embodiment of the present application.
- FIG. 10 is a schematic structural diagram of a chip provided by an embodiment of the present application.
- words such as “first” and “second” are used to distinguish the same or similar items with basically the same function and effect.
- the first chip and the second chip are only used to distinguish different chips, and their sequence is not limited.
- words such as “first” and “second” do not limit the quantity and execution order, and words such as “first” and “second” do not necessarily limit the difference.
- “at least one” means one or more, and “multiple” means two or more.
- “And/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist at the same time, and B exists alone, where A, B can be singular or plural.
- the character “/” generally indicates that the contextual objects are an “or” relationship.
- “At least one of the following” or similar expressions refer to any combination of these items, including any combination of single or plural items.
- At least one item (piece) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple .
- terminal devices can provide users with different functions, so that terminal devices can meet different needs of users.
- users may be required to enter user names, passwords or
- hackers may obtain sensitive information of users by cracking the system, malicious input methods, keystroke logs, screenshots, etc., posing a threat to the security of user accounts.
- the terminal device can switch the operating environment to TEE, so that the terminal device can obtain the display request through TEE. Display the request, and then the terminal device can execute the processing process of the display request through the TUI function provided by the TEE to obtain the display result.
- FIG. 1 is a schematic diagram of a single TEE implementation of the TUI function provided by the embodiment of the present application.
- the terminal device when the terminal device obtains a display request through the application in the REE, the terminal device can use the application to display The request is sent to the system kernel of REE.
- the terminal device switches the operating environment from REE to TEE through the secure monitor call (SMC) instruction or the virtual machine monitor call (hypervisor call, HVC) instruction
- SMC secure monitor call
- HVC virtual machine monitor call
- the terminal device can send the request to the TUI trusted application through the REE system kernel, because the TUI device driver includes the TUI display driver and the TUI input driver Therefore, the TUI trusted application can present the display result to the user through a secure display buffer (secure display buffer) through the TUI display driver.
- SMC secure monitor call
- HVC hypervisor call
- the terminal device When the display result indicates that the terminal device displays the input interface, the user can input sensitive information through the input interface. In this way, the terminal device can directly obtain the sensitive information input by the user through the TUI input driver, thereby achieving the purpose of protecting the sensitive information input by the user.
- the TUI function provided in the terminal device allows the user to safely input sensitive information, so that a safe channel is formed between the user input interface, the system, and the application program to transmit sensitive information, ensuring the integrity of the user input. Sensitive information is not stolen, and sensitive information can be safely passed to the application layer.
- the terminal device is divided into four privilege levels (exception level, EL) in REE and TEE, respectively, EL0, EL1, EL2 and EL3, EL0 represents the common user space, EL2 is the system kernel space, EL2/ EL3 is a more secure virtual machine monitor (hypervisor) space or trusted zone (TrustZone) space.
- EL exception level
- EL1 EL1
- EL2 the system kernel space
- EL2/ EL3 is a more secure virtual machine monitor (hypervisor) space or trusted zone (TrustZone) space.
- FIG. 1 is an architecture diagram of a TEE in a terminal device providing a TUI function.
- FIG. It can be called the secure world in the terminal device.
- the application in the REE can obtain the display request, and the terminal device can enter EL1 from EL0.
- the terminal device can pass through The HVC instruction or SMC instruction switches the operating environment from REE to TEE, so that the terminal device can send a display request from REE to TEE, and then the terminal device can get the display result through the TUI device driver in TEE; among them, TEE can be based on TrustZone
- the operating environment of the technology TEE can also be the operating environment based on the hypervisor technology, and the SMC instruction and the HVC instruction are located at EL2 or EL3.
- the terminal device deploys the TEE on the chip, and the TEE device driver is integrated into the TEE security system of the TEE. In this way, the terminal device executes the processing process of the display request through the TUI function provided by the TEE.
- the terminal device when the terminal device obtains multiple display requests through the application in the REE, since the terminal device executes the display result processing process through the same TEE, and obtains the display result through the same TEE, this may reduce the The end device gets security for displaying results.
- the terminal device can deploy multiple TEEs on the chip, and the TEE security system in each TEE integrates the TUI device driver.
- TUI trusted applications in different TEEs obtain display requests from different applications in the REE
- TUI trusted applications in different TEEs can obtain display results through the TUI device driver in the TEE security system.
- FIG. 2 is a schematic diagram of the structure of a multi-TEE implementation of the TUI function provided by the embodiment of the present application.
- the TEE includes the first TUI trusted application and the first TEE security system, the first TEE security system integrates the TUI device driver, the second TEE includes the second TUI trusted application and the second TEE security system, and the second TEE security system integrates The TUI device driver, the third TEE includes the third TUI trusted application and the third TEE security system and integrates the TUI device driver in the third TEE security system, and any TUI device driver includes a TUI display driver and a TUI input driver.
- the first TUI trusted application can provide TUI display service and TUI input service for the application in REE, for example, the first TUI trusted application can provide TUI display service and TUI input service for the first application in REE , since the first TEE works under the hypervisor mechanism, the first TEE is a trusted virtual machine running the first TEE system, wherein, the relevant content of the second TEE and the relevant content of the third TEE can refer to the above-mentioned first TEE Relevant content will not be repeated here.
- some embodiments of the present application provide an information processing method and apparatus, by setting a TEE in the terminal device that can execute the display request processing process and obtain the display result, so that when the terminal device obtains the first display through the first TEE
- the terminal device can draw the first interface through the first TUI frame in the first TEE, thereby realizing the processing of the first display request.
- the TUI display driver is integrated in the second TEE, and the terminal device can call the TUI display driver of the second TEE to display the first interface, thereby improving the security of the display result obtained by the terminal device.
- FIG. 3 is a schematic diagram of the hardware structure of a terminal device provided in the embodiment of the present application.
- the terminal device 100 may include processing Device 110, external memory interface 120, internal memory 121, power management module 141, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, sensor module 180, button 190, camera 193, display screen 194, user interface 130 And charging management module 140 etc.;
- sensor module 180 can comprise: Pressure sensor 180A, acceleration sensor 180E, fingerprint sensor 180H and touch sensor 180K etc.; Screen".
- the structure shown in the embodiment of the present application does not constitute a specific limitation on the terminal device 100; it can be understood that the terminal device 100 may include more or less components than those shown in the figure, or combine certain components, Some components may be split or arranged differently; wherein, the illustrated components may be realized by hardware, software or a combination of software and hardware.
- the terminal device when the user clicks on the control provided by the application through the touch screen, the terminal device receives the trigger for the control, and the terminal device can obtain a display request through the application. If the display request indicates that the interface displayed by the terminal device is related to sensitive information For the relevant interface, the terminal device invokes the TUI display driver according to the display request to obtain the display result, and can present the display result to the user through the display screen. For example, the terminal device can present the payment completion interface to the user through the display screen.
- Fig. 4 is a schematic diagram of the architecture of a multi-TEE implementation of the TUI function provided by the embodiment of the present application.
- the difference from the schematic diagram of the architecture shown in Fig. 2 is that in Fig. 4, the first The first TEE security system in the TEE and the third TEE security system in the third TEE do not integrate the TUI device driver, and the second TEE security system in the second TEE integrates the TUI device driver.
- the TUI device driver in the second TEE is the core system to complete the TUI function, but since the TUI device driver is not integrated in the first TEE, the first TEE can send the obtained display request to the second TEE through the virtual machine monitor.
- the second TUI trusted application in the TEE enables the second TUI trusted application to complete the functions of TUI display and TUI input through the TUI device driver in the second TEE.
- the third TEE can also send the request to the first Two TEEs are used for processing. In this way, when multiple TEEs are deployed on the terminal device, the terminal device can use the second TEE to uniformly process the TUI request. The manufacturing cost of the terminal equipment can be saved.
- first TEE and the third TEE can be understood as the TEEs provided by the terminal equipment manufacturer, or that the first TEE and the third TEE are TEEs deployed by the terminal equipment manufacturer, and the second TEE can be understood as the TEE of the terminal equipment.
- the TEE provided by the chip manufacturer, or understood as the second TEE is the original TEE in the terminal device (such as TEE provided), so that the terminal device can allow the TUI device driver in the second TEE security system to act as a driver, so that the TUI device driver in the second TEE security system can act as a proxy to process the display requests of other TEEs to obtain display results .
- multiple hypervisor-based TEEs can be deployed in the terminal device, the first TEE is one of the multiple hypervisor-based TEEs, the third TEE is one of the multiple hypervisor-based TEEs, and the second TEE is Based on the TEE of TrustZone technology, if the TUI device driver is not integrated in the first TEE and the third TEE, the first TEE and the third TEE can obtain the display results through the TUI device driver in the second TEE, thereby avoiding the first
- the deep coupling of TEE and the third TEE and the integration of TUI drivers also enable terminal equipment manufacturers to deploy their own TEEs to implement TUI-related services.
- FIG. 5 is a schematic flowchart of an information processing method provided in an embodiment of the present application. As shown in FIG. 5 , the following steps may be included:
- S501 The terminal device receives a first display request through a first application in the REE.
- the first application in the REE can be understood as a client application (client application, CA), and the first display request is used to display the first interface of the first application, and the first interface is the first interface after opening the first application.
- the first interface may be an interface related to sensitive information in the first application, for example, the first interface may include an interface for entering a password, etc., and the first display request includes display information of the first interface; wherein, the first interface
- the specific content can be set according to the actual application scenario, which is not limited in this embodiment of the application.
- the terminal device receives the first display request through the first application in the REE, including the following possible implementations:
- the terminal device displays a third interface
- the third interface is one of the interfaces in the first application
- the third interface includes an input area.
- the terminal device receives the When the input area is triggered, the terminal device receives the first display request; wherein, the third interface may also be understood as an interface related to sensitive information in the first application.
- the terminal device displays the third interface
- a possible implementation manner is: the terminal device displays the fourth interface, the fourth interface includes the first control for opening the first application, when the terminal device uses the first application to open the fourth interface
- the terminal device acquires a second display request, the second display request is used to display the third interface, the second display request includes display information of the third interface, and the terminal device sends the second display request based on the first application to the third interface.
- a TUI trusted application sends a second display request
- the terminal device obtains the second display request from the first TUI trusted application based on the first TUI framework, so that the first TUI framework according to the display information of the third interface in the second display request, Drawing the third interface, the terminal device sends information for instructing to display the third interface to the TUI server based on the first TUI framework, so that the TUI server calls the TUI display driver to display the third interface according to the information for instructing to display the third interface .
- the terminal device when the terminal device sends the second display request to the first TUI trusted application based on the first application, the first TUI trusted application runs in the first TEE, since the REE and the first TEE run under the hypervisor mechanism, therefore,
- the first TEE can be called the first TEE virtual machine (virtual machine, VM), so that the terminal device can send a second display request to the system kernel of the REE based on the first application, and the terminal device can monitor the virtual machine based on the system kernel of the REE.
- the server sends the second display request, and the terminal device may send the second display request to the first TUI trusted application based on the virtual machine monitor.
- the terminal device when the terminal device obtains the second display request from the first TUI trusted application based on the first TUI framework, the first TUI framework runs in the first TEE, when the terminal device calls the TUI application programming interface (application programming interface, API), the terminal device can send a second display request to the first TUI framework based on the first TUI trusted application, so that the terminal device can obtain the second display request based on the first TUI framework;
- the API of the TUI is a global platform organization (defined by the global platform (GP)
- the API of TUI can be described as GP TUI API
- the standard API of TUI can be described as TUI API
- the terminal device when the terminal device sends the information for instructing to display the third interface to the TUI server based on the first TUI framework, the terminal device may send the information to the VM inter-process communication (inter-process communication, IPC) client based on the first TUI framework.
- IPC inter-process communication
- the terminal device can send the information for instructing to display the third interface to the first TEE system kernel based on the VM IPC client, and the terminal device can send the information to the virtual machine monitor based on the first TEE system kernel
- the terminal device can send the information for instructing to display the third interface to the TUI server based on the virtual machine monitor; wherein, the TUI server can be understood as the second TUI trusted in Figure 4 Application, the first TEE system kernel is the system kernel of the first TEE.
- the terminal device when the terminal device receives a trigger on the input area on the third interface through the first application, the terminal device can call the TUI input driver to obtain the location information of the input area based on the TUI server, and then the terminal device can obtain the location information of the input area based on the TUI server. When the location information of the input area is reached, the terminal device may receive a first display request.
- the position information of the input area may refer to the point information of the input area.
- the terminal device may acquire [x , y] position.
- the first TUI framework is a TUI framework inside the first TEE, and the first TUI framework can be used to complete the core logic of the TUI, or it can be understood that the first TUI framework can be used to draw an interface.
- the first TEE system kernel is the kernel module of the first TEE, and the first TUI framework can call the modules related to the VM IPC client, so that the first TUI framework is based on the calling module and the TUI service in the second TEE Data interaction between terminals, wherein, VM IPC client-related modules may include one or more of the following: libTrustedUI module, MinkIPC module or VMSocket module.
- the TUI server runs in the second TEE. Since the second TEE works under the hypervisor mechanism, the second TEE is a trusted virtual machine, and the TUI server is a server running on a trusted virtual machine. , the TUI server may obtain information from the first TEE, and further, the TUI server may invoke a TUI display driver or a TUI input driver according to the obtained information.
- the REE is the operating environment in the terminal device, or it can be understood that the REE is the operating environment of the Android (Android) operating system. Since the REE works under the hypervisor mechanism, the REE can be called the main virtual machine, and the REE can be An application running in a non-secure world may be called a non-secure application, and the application is a CA.
- the terminal device displays a fifth interface
- the fifth interface is one of the interfaces after the first application is opened
- the fifth interface includes a third control
- the terminal device receives a trigger for the third control , the terminal device receives the first display request.
- S502 The first application sends a first display request to the first TUI trusted application.
- the first application may send a first display request to the system kernel of the REE, and the system kernel of the REE sends the first display request to the first TUI trusted application through a virtual machine monitor.
- the first TUI framework acquires a first display request from the first TUI trusted application.
- the first TUI framework may obtain the first display request from the first TUI trusted application through the GP TUI API.
- the first TUI framework draws the first interface according to the display information of the first interface in the first display request.
- the first TUI framework sends information for instructing to display the first interface to the TUI server.
- the first TUI framework can call the VM IPC client to send information for instructing the display of the first interface to the first TEE system kernel, since the first TEE and the second TEE run under the hypervisor mechanism, therefore, the first TEE A TEE system kernel may send information for instructing to display the first interface to the TUI server through the hypervisor.
- the TUI server invokes a TUI display driver to display the first interface according to the information indicating to display the first interface.
- the TUI display driver can be used to display and output the interface of the TUI, and the interface of the TUI can be understood as an interface related to sensitive information operations.
- the information for instructing to display the first interface may call the TUI display driver to display the first interface, and the first interface includes an input component, which may be an input keyboard or the like.
- TUI server When the TUI server receives a trigger on the input component on the first interface, the TUI server invokes the TUI input driver to acquire first security information based on the input of the input component.
- the TUI server sends the first security information to the first TUI trusted application through the first TUI framework.
- the TUI server can send The first TEE system kernel sends the first security information
- the first TEE system kernel can send the first security information to the first TUI framework through the VM IPC client
- the first TUI framework can send it to the first TUI trusted application through the GP TUI API
- the first security information so that the first TUI trusted application obtains the first security information; wherein, the first security information may include one or more of the following: account password or payment password.
- the specific content of the first security information may be set according to an actual application scenario, and is not limited in this embodiment of the present application.
- the TUI server sends the first security information to the first TUI trusted application through the first TUI framework.
- a possible implementation method is: when the TUI server When the first interface receives the trigger for the second control, the TUI server sends the first security information to the first TUI trusted application through the first TUI framework.
- the first TUI trusted application sends first security information from the first server.
- the first server is a server corresponding to the first application, and the first server is used to serve the first application.
- the first server judges that the first security information matches the preset security information
- the first server The matching result of the first security information may be sent to the first application. For example, when the username and password entered by the user are the same as the preset username and password, the first server may send information indicating that the matching is successful to the first application.
- S511 The first application displays a second interface according to the information indicating that the matching is successful.
- the second interface is related to the first interface.
- the second interface is the interface after successful login
- the first interface is the payment interface
- the second interface is the payment interface. interface after success.
- FIG. 6 is a schematic flow chart of an information processing method provided by an embodiment of the present application.
- the interaction process among REE, first TEE, and second TEE The content adaptation description shown in FIG. 5 can be referred to; wherein, the GP TUI API, the first TUI framework, the VM IPC client, and the first TEE system kernel are in the first TEE security system.
- FIG. 5 shows the interaction process between the first TEE and the second TEE, and the interaction process between the third TEE and the second TEE can be described with reference to the content shown in FIG. 5 .
- FIG. 7 is a schematic interface diagram of an information processing method provided by the embodiment of the present application.
- the interface shown in a in FIG. 7 includes the following one One or more application controls, such as file management controls, email controls, sports health controls, and smart life controls.
- the interface also includes a first application control 701.
- the terminal device receives the trigger on the first application control 701, and the terminal device can display the interface shown in b in FIG.
- the interface shown by a in FIG. 7 is the fourth interface
- the interface shown by b in FIG. 7 is the third interface
- the third interface is the login interface, which includes an account input area and a password input area.
- the interface is the first interface.
- the first interface includes an input component and a second control.
- the input component can be an input keyboard.
- the terminal device can receive The input component is triggered, and then the terminal device can obtain the account number and password input by the user based on the input component.
- the terminal device may display an interface shown in d in FIG. 7 , which may be called a second interface, and this interface is an interface after login.
- FIG. 8 is a schematic interface diagram of an information processing method provided by the embodiment of the present application.
- the interface includes the following One or more application controls, for example, file management controls, email controls, sports health controls or smart life controls
- the interface also includes a first application control 801, when the first application in the terminal device is in the login state , when the user triggers the first application control 801 through operations such as clicking or triggering, the terminal device receives the operation on the first application control 801, and the terminal device may display the interface shown in b in FIG. 8 .
- the interface includes a revenue and expenditure detail control and a transfer control 802, etc.
- the terminal device receives the trigger of the transfer control 802,
- the terminal device may display an interface shown in c in FIG. 8 , which includes a confirmation control 803.
- the terminal device may display an interface as shown in d in FIG. 8; wherein, the interface shown in c in FIG. 8 may be called the fifth interface, and the confirmation control 803 may be called the third control, as shown in d in FIG.
- the interface of may be referred to as a first interface, and the interface includes an input component.
- the terminal device when the user triggers the input component by clicking or touching, the terminal device receives the trigger on the input component, and when it is determined that the input password matches the preset password, the terminal device The device may display an interface shown in e in FIG. 8 , which may be called a second interface, and this interface is an interface after the transfer is successful.
- the terminal device implements the processing process of the relevant interface of the first application in the REE through the first TUI trusted application and the first TUI framework, and the first TUI trusted application and the first TUI A TUI framework runs in the first TEE. It can be understood that the terminal device can also process the related interface of the second application in the REE through the third TUI trusted application and the third TUI framework in the third TEE. For example, when the terminal device obtains the third display request through the second application in the REE, the terminal device can The relevant interface of the second application is displayed. For a specific implementation manner, reference may be made to the content adaptation description shown in FIGS. 5-8 , which will not be repeated here.
- the terminal device when the terminal device processes the relevant interface of the second application in the REE through the third TUI trusted application and the third TUI framework in the third TEE, the terminal device also uses the TUI display driver to display the second application.
- the related interface of the second application for example, the login interface or the password input interface of the second application, the specific content may refer to the content adaptation description shown in FIG. 5 , which will not be repeated here.
- the TEE in the embodiment of the present application can run in the TrustZone environment, and can also run in a trusted virtual environment such as a hypervisor.
- the method provided in the embodiment of the present application is a method for implementing the TUI function with multiple TEEs , in the embodiment of this application, one of the TEEs in the terminal device can integrate the TUI device driver, while the other deployed TEEs in the terminal device may not integrate the TUI device driver, so that the workload of integrated drivers can be reduced and the manufacturing of the terminal device can be saved. cost.
- the terminal device can use the TEE deployed by itself to implement the TUI service.
- the terminal equipment manufacturer can control the business logic of the TUI on the TEE deployed by the terminal equipment manufacturer to improve security, thereby improving the independent control right of the terminal equipment manufacturer to the TUI function, or understood as , can improve the control right of the terminal equipment manufacturer to the TEE; moreover, the method of some embodiments of the present application can make the TEE of the chip manufacturer only be responsible for TUI display and TUI input, so that the terminal equipment manufacturer can have control over the TEE of the chip manufacturer.
- FIG. 9 is a schematic structural diagram of an information processing device provided in an embodiment of the present application.
- the information processing device can be applied to a terminal device.
- the information processing device is deployed with a Rich Execution Environment REE and at least two Trusted Execution Environments TEE.
- the REE includes one or more applications.
- the device 900 may include: a processing unit 901 and a display unit 902, wherein the processing unit 901 is used to support the information processing device to perform information processing steps, and the display unit 902 is used to The step of supporting the information processing device to perform the display.
- the processing unit is configured to: when the terminal device acquires the first display request in the first application, the trusted application based on the first trusted user interface TUI acquires the first display request from the first application; wherein, the first application is For any application in the REE, the first display request is used to display the first interface, the first display request includes the display information of the first interface, the first TUI trusted application runs in the first TEE, and the first TEE is at least two The TEE in the Trusted Execution Environment TEE; the processing unit is also used to: obtain the first display request from the first TUI trusted application based on the first TUI framework; wherein, the first TUI framework runs in the first TEE; the processing unit is also used For: drawing the first interface based on the first TUI frame; the processing unit is also used for: obtaining information for indicating display of the first interface from the first TUI frame based on the TUI server; wherein, the TUI server runs in the second TEE, The second TEE is a TEE in at least two trusted execution environment T
- the second TEE further integrates a TUI input driver
- the first interface includes an input component
- the processing unit is further configured to: when the terminal device receives a trigger on the input component on the first interface based on the TUI server , the first security information is obtained based on the TUI server; where the first security information is obtained by the TUI server calling the TUI input driver, the first security information is based on the information input by the input component, and the first security information includes: account password or Payment password;
- the processing unit is also used to: obtain the first security information from the TUI server based on the first TUI trusted application; the processing unit is also used to: send the first security information to the first server based on the first TUI trusted application; wherein , the first server is used to serve the first application; when the first server judges that the first security information matches the preset security information, the processing unit is further configured to: obtain from the first server based on the first application the information indicating that the matching is successful information; the display unit is also used for: displaying the second interface
- the processing unit is specifically configured to: send the first security information to the virtual machine monitor based on the TUI server; send the first security information to the system kernel of the first TEE based on the virtual machine monitor;
- the system kernel of a TEE sends the first security information to the virtual machine inter-process communication VM IPC client;
- the terminal device sends the first security information to the first TUI framework based on the virtual machine inter-process communication VM IPC client; when the terminal device calls the TUI
- the API is used, the first security information is sent to the first TUI trusted application based on the first TUI framework; and the first security information is acquired based on the first TUI trusted application.
- the processing unit is specifically configured to: send the first display request to the system kernel of the REE based on the first application; send the first display request to the virtual machine monitor based on the system kernel of the REE; The device sends a first display request to the first TUI trusted application; and obtains the first display request based on the first TUI trusted application.
- the processing unit is specifically configured to: when the terminal device invokes a TUI application programming interface API, send a first display request to the first TUI framework based on the first TUI trusted application; Get the first display request.
- the processing unit is specifically configured to: send information for instructing to display the first interface to the virtual machine inter-process communication VM IPC client based on the first TUI framework; based on the virtual machine inter-process communication VM IPC
- the client sends information for instructing to display the first interface to the system kernel of the first TEE; sends information for instructing to display the first interface based on the system kernel of the first TEE to the virtual machine monitor;
- the TUI server sends information for instructing to display the first interface; based on the TUI, the server acquires the information for instructing to display the first interface.
- the processing unit is specifically configured to: display a third interface; wherein, the third interface is one of the interfaces in the first application, and the third interface includes an input area; When the third interface receives the trigger on the input area, it acquires the first display request.
- the processing unit is specifically configured to: display a fourth interface; where the fourth interface includes a first control for opening the first application; when the terminal device receives the When the first control is triggered, a second display request is obtained; wherein, the second display request is used to display the third interface, and the second display request includes display information of the third interface; according to the second display request, the third interface is displayed.
- the processing unit is specifically configured to: send a second display request to the REE system kernel based on the first application; send the second display request to the virtual machine monitor based on the REE system kernel;
- the device sends a second display request to the first TUI trusted application; when the terminal device calls the TUI application programming interface API, based on the first TUI trusted application, the second display request is sent to the first TUI framework; based on the first TUI framework, the drawing
- the third interface based on the first TUI framework, to the virtual machine inter-process communication VM IPC client, sending information for instructing to display the third interface; based on the virtual machine inter-process communication VM IPC client, sending to the system kernel of the first TEE Information for instructing to display the third interface; based on the system kernel of the first TEE, sending information for instructing to display the third interface to the virtual machine monitor; sending information for instructing to display the third interface to the TUI server based on the virtual machine monitor Interface information; based on the TUI server, call the T
- the processing unit is specifically configured to: display a fifth interface; wherein, the fifth interface is one of the interfaces after the first application is opened, and the fifth interface includes a third control; when the terminal device receives the When the third control is triggered, obtain the first display request.
- the information processing apparatus may further include: a storage unit 903 .
- the processing unit 901, the display unit 902, and the storage unit 903 are connected through a communication bus.
- the storage unit 903 may include one or more memories, and the memories may be devices used to store programs or data in one or more devices and circuits.
- the storage unit 903 may exist independently and be connected to the processing unit 901 of the information processing device through a communication bus; the storage unit 903 may also be integrated with the processing unit 901 .
- An information processing apparatus may be used in an information processing device, a circuit, a hardware component, or a chip.
- FIG. 10 is a schematic structural diagram of a chip provided in an embodiment of the present application.
- the chip 1000 includes one or more than two (including two) processors 1010 and a communication interface 1030 .
- the memory 1040 stores the following elements: executable modules or data structures, or subsets thereof, or extensions thereof.
- the memory 1040 may include a read-only memory and a random access memory, and provides instructions and data to the processor 1010.
- a part of the memory 1040 may also include a non-volatile random access memory (non-volatile random access memory, NVRAM).
- the memory 1040 , the communication interface 1030 and the memory 1040 are coupled together through the bus system 1020 .
- the bus system 1020 may include not only a data bus, but also a power bus, a control bus, and a status signal bus.
- the various buses are labeled bus system 1020 in FIG. 10 .
- the methods described in the foregoing embodiments of the present application may be applied to the processor 1010 or implemented by the processor 1010 .
- the processor 1010 may be an integrated circuit chip with signal processing capabilities.
- each step of the above method may be implemented by an integrated logic circuit of hardware in the processor 1010 or instructions in the form of software.
- the above-mentioned processor 1010 may be a general-purpose processor (for example, a microprocessor or a conventional processor), a digital signal processor (digital signal processing, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), an off-the-shelf programmable gate Array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gates, transistor logic devices or discrete hardware components, the processor 1010 can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present invention .
- DSP digital signal processing
- ASIC application specific integrated circuit
- FPGA field-programmable gate array
- the steps of the method combined with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
- the software module may be located in a mature storage medium in the field such as random access memory, read-only memory, programmable read-only memory, or electrically erasable programmable read only memory (EEPROM).
- the storage medium is located in the memory 1040, and the processor 1010 reads the information in the memory 1040, and completes the steps of the above method in combination with its hardware.
- the instructions stored in the memory for execution by the processor may be implemented in the form of computer program products.
- the computer program product may be written in the memory in advance, or may be downloaded and installed in the memory in the form of software.
- a computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
- the computer can be a general purpose computer, special purpose computer, computer network, or other programmable apparatus.
- Computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g. Coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL) or wireless (such as infrared, wireless, microwave, etc.) transmission to another website site, computer, server or data center.
- Computer readable storage medium can be Any available media capable of being stored by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media.
- available media may include magnetic media (e.g., floppy disks, hard disks, or tapes), optical media (e.g., A digital versatile disc (digital versatile disc, DVD)), or a semiconductor medium (for example, a solid state disk (solid state disk, SSD)), etc.
- magnetic media e.g., floppy disks, hard disks, or tapes
- optical media e.g., A digital versatile disc (digital versatile disc, DVD)
- a semiconductor medium for example, a solid state disk (solid state disk, SSD)
- Computer-readable media may include computer storage media and communication media, and may include any medium that can transfer a computer program from one place to another.
- a storage media may be any target media that can be accessed by a computer.
- the computer-readable medium may include compact disc read-only memory (compact disc read-only memory, CD-ROM), RAM, ROM, EEPROM or other optical disc storage; the computer-readable medium may include a magnetic disk memory or other disk storage devices.
- any connected cord is properly termed a computer-readable medium.
- Disk and disc includes compact disc (CD), laser disc, compact disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Reproduce data.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种信息处理方法和装置,通过在终端设备中设置可执行显示请求处理过程和得到显示结果的TEE,这样,当终端设备通过第一TEE获取第一显示请求时,由于第一显示请求中包括第一界面的显示信息,因此,终端设备可以通过第一TEE中的第一TUI框架绘制第一界面,从而实现对第一显示请求的处理过程,由于第二TEE中集成了TUI显示驱动,终端设备可以调用第二TEE的TUI显示驱动显示第一界面,从而提高终端设备得到显示结果的安全性。
Description
本申请要求于2022年01月17日提交中国国家知识产权局、申请号为202210051809.1、申请名称为“信息处理方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及终端技术领域,尤其涉及一种信息处理方法和装置。
随着终端技术的发展,终端设备可以为用户提供不同的功能,从而使得终端设备可以满足用户不同的需求,其中,在终端设备为用户提供不同的功能时,可能需要用户输入用户名、密码或卡号等敏感信息,但是,黑客可能会通过破解系统等方式获取用户的敏感信息。
发明内容
本申请实施例提供一种信息处理方法和装置,以提高终端设备得到显示结果的安全性。
在一些场景中,由于终端设备中部署有富执行环境(rich execution environment,REE)和可信执行环境(trusted execution environment,TEE),TEE可以提供可信用户界面(trusted user interface,TUI)功能,当终端设备通过REE中的应用获取到显示请求时,终端设备可以将运行环境切换至TEE,使得终端设备可以通过TEE获取显示请求,进而,终端设备可以通过TEE提供的TUI功能执行显示请求的处理过程,以得到显示结果。
在本申请的一些实施例中,通过在终端设备中设置可执行显示请求处理过程和得到显示结果的TEE,这样,当终端设备通过第一TEE获取第一显示请求时,由于第一显示请求中包括第一界面的显示信息,因此,终端设备可以通过第一TEE中的第一TUI框架绘制第一界面,从而实现对第一显示请求的处理过程,由于第二TEE中集成了TUI显示驱动,终端设备可以调用第二TEE的TUI显示驱动显示第一界面,从而提高终端设备得到显示结果的安全性。
第一方面,本申请实施例提供一种信息处理方法和装置,应用于终端设备,终端设备部署有富执行环境REE和至少两个可信执行环境TEE,REE包括一个或多个应用,该方法包括:当终端设备在第一应用获取第一显示请求时,终端设备基于第一可信用户界面TUI可信应用从第一应用获取第一显示请求;其中,第一应用为REE中的任一应用,第一显示请求用于显示第一界面,第一显示请求包括第一界面的显示信息,第一TUI可信应用运行在第一TEE中,第一TEE为至少两个可信执行环境TEE中的TEE;终端设备基于第一TUI框架从第一TUI可信应用获取第一显示请求;其中,第一TUI框架运行在第一TEE中;终端设备基于第一TUI框架绘制第一界面;终端设备基于TUI服务端从第一TUI框架获取用于指示显示第一界面的信息;其中,TUI服务端运行在第二TEE中,第二TEE为至少两个可信执行环境TEE中的TEE,第二TEE中集成TUI显示驱动;终 端设备基于TUI服务端,调用TUI显示驱动显示第一界面。这样,终端设备可以通过第一TEE中的第一TUI框架绘制第一界面,并通过第二TEE中的TUI显示驱动显示第一界面,从而提高终端设备得到显示结果的安全性。
在一种可能的实现方式中,第二TEE中还集成TUI输入驱动,第一界面包括输入组件,该方法还包括:当终端设备基于TUI服务端在第一界面接收到对输入组件的触发时,终端设备基于TUI服务端获取第一安全信息;其中,第一安全信息是TUI服务端调用TUI输入驱动得到的,第一安全信息为基于输入组件输入的信息,第一安全信息包括:账号密码或支付密码;终端设备基于第一TUI可信应用从TUI服务端获取第一安全信息;终端设备基于第一TUI可信应用向第一服务器发送第一安全信息;其中,第一服务器用于服务第一应用;当第一服务器判断第一安全信息与预设的安全信息匹配时,终端设备基于第一应用从第一服务器获取用于指示匹配成功的信息;终端设备基于第一应用显示第二界面。这样,终端设备显示第一界面后,终端设备在第一界面接收到对输入组件的触发时,使得基于第一服务器的判定,终端设备可以提高显示第二界面的安全性。
在一种可能的实现方式中,终端设备基于第一TUI可信应用从TUI服务端获取第一安全信息,包括:终端设备基于TUI服务端向虚拟机监视器发送第一安全信息;终端设备基于虚拟机监视器向第一TEE的系统内核发送第一安全信息;终端设备基于第一TEE的系统内核向虚拟机进程间通信VM IPC客户端发送第一安全信息;终端设备基于虚拟机进程间通信VM IPC客户端,向第一TUI框架发送第一安全信息;当终端设备调用TUI应用程序编程接口API时,终端设备基于第一TUI框架向第一TUI可信应用发送第一安全信息;终端设备基于第一TUI可信应用获取第一安全信息。第一TUI可信应用在第一TEE中,TUI服务端在第二TEE中,第一TEE和第二TEE可以通过虚拟机监视器进行数据交互,从而可以提高终端设备的系统的安全性。
在一种可能的实现方式中,终端设备基于第一可信用户界面TUI可信应用从第一应用获取第一显示请求,包括:终端设备基于第一应用向REE的系统内核发送第一显示请求;终端设备基于REE的系统内核向虚拟机监视器发送第一显示请求;终端设备基于虚拟机监视器向第一TUI可信应用发送第一显示请求;终端设备基于第一TUI可信应用获取第一显示请求。这样,终端设备基于第一TUI可信应用获取第一显示请求后,终端设备可以执行后续的步骤。
在一种可能的实现方式中,终端设备基于第一TUI框架从第一TUI可信应用获取第一显示请求,包括:当终端设备调用TUI应用程序编程接口API时,终端设备基于第一TUI可信应用向第一TUI框架发送第一显示请求;终端设备基于第一TUI框架获取第一显示请求。这样,终端设备基于第一TUI框架获取第一显示请求后,终端设备可以执行后续的步骤。
在一种可能的实现方式中,终端设备基于TUI服务端从第一TUI框架获取用于指示显示第一界面的信息,包括:终端设备基于第一TUI框架向虚拟机进程间通信VM IPC客户端,发送用于指示显示第一界面的信息;终端设备基于虚拟机进程间通信VM IPC客户端,向第一TEE的系统内核发送用于指示显示第一界面的信息;终端设备基于第一TEE的系统内核向虚拟机监视器发送用于指示显示第一界面的信息;终端设备基于虚拟机监视器向TUI服务端发送用于指示显示第一界面的信息;终端设备基于TUI服务端获取用于指示显示第一界面的信息。这样,终端设备基于TUI服务端获取用于指示显示第一界面的信息后,终端设备可以显示第一界面,由于TUI服务端位于第二TEE中,因此, 终端设备可以提高显示第一界面的安全性。
在一种可能的实现方式中,终端设备在第一应用获取第一显示请求,包括:终端设备显示第三界面;其中,第三界面为第一应用中的其中一个界面,第三界面包括输入区域;当终端设备通过第一应用在第三界面接收到对输入区域的触发时,终端设备获取第一显示请求。
在一种可能的实现方式中,终端设备显示第三界面,包括:终端设备显示第四界面;其中,第四界面包括用于打开第一应用的第一控件;当终端设备通过第一应用在第四界面接收到对第一控件的触发时,终端设备获取第二显示请求;其中,第二显示请求用于显示第三界面,第二显示请求包括第三界面的显示信息;终端设备根据第二显示请求,显示第三界面。
在一种可能的实现方式中,终端设备根据第二显示请求,显示第三界面,包括:终端设备基于第一应用向REE的系统内核发送第二显示请求;终端设备基于REE的系统内核向虚拟机监视器发送第二显示请求;终端设备基于虚拟机监视器向第一TUI可信应用发送第二显示请求;当终端设备调用TUI应用程序编程接口API时,终端设备基于第一TUI可信应用向第一TUI框架发送第二显示请求;终端设备基于第一TUI框架绘制第三界面;终端设备基于第一TUI框架向虚拟机进程间通信VM IPC客户端,发送用于指示显示第三界面的信息;终端设备基于虚拟机进程间通信VM IPC客户端,向第一TEE的系统内核发送用于指示显示第三界面的信息;终端设备基于第一TEE的系统内核,向虚拟机监视器发送用于指示显示第三界面的信息;终端设备基于虚拟机监视器向TUI服务端发送用于指示显示第三界面的信息;终端设备基于TUI服务端,调用TUI显示驱动显示第三界面。
在一种可能的实现方式中,终端设备在第一应用获取第一显示请求,包括:终端设备显示第五界面;其中,第五界面为打开第一应用后的其中一个界面,第五界面包括第三控件;当终端设备接收到对第三控件的触发时,终端设备获取第一显示请求。
第二方面,本申请实施例提供一种信息处理装置,应用于终端设备,信息处理装置部署有富执行环境REE和至少两个可信执行环境TEE,REE包括一个或多个应用,该装置包括处理单元和显示单元。
示例性的,处理单元用于:当终端设备在第一应用获取第一显示请求时,基于第一可信用户界面TUI可信应用从第一应用获取第一显示请求;其中,第一应用为REE中的任一应用,第一显示请求用于显示第一界面,第一显示请求包括第一界面的显示信息,第一TUI可信应用运行在第一TEE中,第一TEE为至少两个可信执行环境TEE中的TEE;处理单元还用于:基于第一TUI框架从第一TUI可信应用获取第一显示请求;其中,第一TUI框架运行在第一TEE中;处理单元还用于:基于第一TUI框架绘制第一界面;处理单元还用于:基于TUI服务端从第一TUI框架获取用于指示显示第一界面的信息;其中,TUI服务端运行在第二TEE中,第二TEE为至少两个可信执行环境TEE中的TEE,第二TEE中集成TUI显示驱动;显示单元用于:基于TUI服务端,调用TUI显示驱动显示第一界面。
在一种可能的实现方式中,第二TEE中还集成TUI输入驱动,第一界面包括输入组件,处理单元还用于:当终端设备基于TUI服务端在第一界面接收到对输入组件的触发时,基于TUI服务端获取第一安全信息;其中,第一安全信息是TUI服务端调用TUI输入驱动得到的,第一安全信息为基于输入组件输入的信息,第一安全信息包括:账号密 码或支付密码;处理单元还用于:基于第一TUI可信应用从TUI服务端获取第一安全信息;处理单元还用于:基于第一TUI可信应用向第一服务器发送第一安全信息;其中,第一服务器用于服务第一应用;当第一服务器判断第一安全信息与预设的安全信息匹配时,处理单元还用于:基于第一应用从第一服务器获取用于指示匹配成功的信息;显示单元还用于:基于第一应用显示第二界面。
在一种可能的实现方式中,处理单元具体用于:基于TUI服务端向虚拟机监视器发送第一安全信息;基于虚拟机监视器向第一TEE的系统内核发送第一安全信息;基于第一TEE的系统内核向虚拟机进程间通信VM IPC客户端发送第一安全信息;终端设备基于虚拟机进程间通信VM IPC客户端,向第一TUI框架发送第一安全信息;当终端设备调用TUI应用程序编程接口API时,基于第一TUI框架向第一TUI可信应用发送第一安全信息;基于第一TUI可信应用获取第一安全信息。
在一种可能的实现方式中,处理单元具体用于:基于第一应用向REE的系统内核发送第一显示请求;基于REE的系统内核向虚拟机监视器发送第一显示请求;基于虚拟机监视器向第一TUI可信应用发送第一显示请求;基于第一TUI可信应用获取第一显示请求。
在一种可能的实现方式中,处理单元具体用于:当终端设备调用TUI应用程序编程接口API时,基于第一TUI可信应用向第一TUI框架发送第一显示请求;基于第一TUI框架获取第一显示请求。
在一种可能的实现方式中,处理单元具体用于:基于第一TUI框架向虚拟机进程间通信VM IPC客户端,发送用于指示显示第一界面的信息;基于虚拟机进程间通信VM IPC客户端,向第一TEE的系统内核发送用于指示显示第一界面的信息;基于第一TEE的系统内核向虚拟机监视器发送用于指示显示第一界面的信息;基于虚拟机监视器向TUI服务端发送用于指示显示第一界面的信息;基于TUI服务端获取用于指示显示第一界面的信息。
在一种可能的实现方式中,处理单元具体用于:显示第三界面;其中,第三界面为第一应用中的其中一个界面,第三界面包括输入区域;当终端设备通过第一应用在第三界面接收到对输入区域的触发时,获取第一显示请求。
在一种可能的实现方式中,处理单元具体用于:显示第四界面;其中,第四界面包括用于打开第一应用的第一控件;当终端设备通过第一应用在第四界面接收到对第一控件的触发时,获取第二显示请求;其中,第二显示请求用于显示第三界面,第二显示请求包括第三界面的显示信息;根据第二显示请求,显示第三界面。
在一种可能的实现方式中,处理单元具体用于:基于第一应用向REE的系统内核发送第二显示请求;基于REE的系统内核向虚拟机监视器发送第二显示请求;基于虚拟机监视器向第一TUI可信应用发送第二显示请求;当终端设备调用TUI应用程序编程接口API时,基于第一TUI可信应用向第一TUI框架发送第二显示请求;基于第一TUI框架绘制第三界面;基于第一TUI框架向虚拟机进程间通信VM IPC客户端,发送用于指示显示第三界面的信息;基于虚拟机进程间通信VM IPC客户端,向第一TEE的系统内核发送用于指示显示第三界面的信息;基于第一TEE的系统内核,向虚拟机监视器发送用于指示显示第三界面的信息;基于虚拟机监视器向TUI服务端发送用于指示显示第三界面的信息;基于TUI服务端,调用TUI显示驱动显示第三界面。
在一种可能的实现方式中,处理单元具体用于:显示第五界面;其中,第五界面为 打开第一应用后的其中一个界面,第五界面包括第三控件;当终端设备接收到对第三控件的触发时,获取第一显示请求。
第三方面,本申请实施例提供一种信息处理装置,该装置可以包括处理器和存储器,存储器用于存储代码指令,处理器用于运行代码指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
第四方面,本申请实施例提供一种信息处理系统,该系统可以包括:第二方面及第二方面的各种可能的实现方式中描述的装置。
第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
第六方面,本申请实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
第七方面,本申请提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法;其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
应当理解的是,本申请的第二方面至第七方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
图1为本申请实施例提供的一种单TEE实现TUI功能的架构示意图;
图2为本申请实施例提供的一种多TEE实现TUI功能的架构示意图;
图3为本申请实施例提供的一种终端设备的硬件结构示意图;
图4为本申请实施例提供的一种多TEE实现TUI功能的架构示意图;
图5为本申请实施例提供的一种信息处理方法的流程示意图;
图6为本申请实施例提供的一种信息处理方法的流程示意图;
图7为本申请实施例提供的一种信息处理方法的界面示意图;
图8为本申请实施例提供的一种信息处理方法的界面示意图;
图9为本申请实施例提供的一种信息处理装置的结构示意图;
图10为本申请实施例提供的一种芯片的结构示意图。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一芯片和第二芯片仅仅是为了区分不同的芯片,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
随着终端技术的发展,终端设备可以为用户提供不同的功能,从而使得终端设备可以满足用户不同的需求,其中,在终端设备为用户提供不同的功能时,可能需要用户输入用户名、密码或卡号等敏感信息,但是,黑客可能会通过破解系统、恶意输入法、按键日志、截屏等方式获取用户的敏感信息,使得对用户账号安全形成威胁。
可能的方式中,由于终端设备中部署有REE和TEE,TEE提供TUI功能,当终端设备通过REE中的应用获取显示请求时,终端设备可以将运行环境切换至TEE,使得终端设备可以通过TEE获取显示请求,进而终端设备可以通过TEE提供的TUI功能执行显示请求的处理过程,以得到显示结果。
示例性的,图1为本申请实施例提供的一种单TEE实现TUI功能的架构示意图,如图1所示,当终端设备通过REE中的应用获取显示请求时,终端设备可以通过应用将显示请求发送至REE的系统内核,当终端设备通过安全系统调用(secure monitor call,SMC)指令或虚拟机监视器调用(hypervisor call,HVC)指令将运行环境由REE切换至TEE时,由于TEE中包括TUI可信应用和TEE安全系统,且TEE安全系统中集成TEE设备驱动,因此,终端设备可以通过REE的系统内核将请求发送至TUI可信应用,由于TUI设备驱动包括TUI显示驱动和TUI输入驱动,因此,TUI可信应用可以通过TUI显示驱动将显示结果通过安全显示缓冲区(secure display buffer)呈现给用户。
在显示结果指示终端设备显示的是输入界面时,用户可以通过输入界面输入敏感信息,这样,终端设备可以通过TUI输入驱动直接获取用户输入的敏感信息,从而达到保护用户输入的敏感信息的目的。
可以理解的是,终端设备中提供的TUI功能,可以让用户安全地输入敏感信息,从而使得在用户输入界面、系统、应用程序之间形成一个安全的通道用于传递敏感信息,保证用户输入的敏感信息不被盗取,并且可以安全地把敏感信息传递给应用层。
在图1中,终端设备在REE和TEE分别划分了4个特权级(exception level,EL),分别为EL0,EL1,EL2以及EL3,EL0表示普通的用户空间,EL2为系统内核空间,EL2/EL3为更为安全的虚拟机监视器(hypervisor)空间或可信区域(TrustZone)空间。
可以理解的是,图1所示的架构示意图为终端设备中的一个TEE提供TUI功能的架构示意图,在图1中,REE也可称为终端设备中的非安全世界(normal world),TEE也可称为终端设备中的安全世界(secure world),当REE中的应用需要使用TUI功能时,REE中的应用可以获取显示请求,终端设备可以从EL0进入到EL1,进一步地,终端设备可以通过HVC指令或SMC指令将运行环境由REE切换到TEE,从而使得终端设备可 以将显示请求从REE发送至TEE,进而终端设备可以通过TEE中的TUI设备驱动得到显示结果;其中,TEE可以是基于TrustZone技术的运行环境,TEE也可以是基于hypervisor技术的运行环境,SMC指令、HVC指令位于EL2或EL3。
在上述方式中,终端设备在芯片上部署TEE,且TEE的TEE安全系统中集成TUI设备驱动,这样,终端设备通过TEE提供的TUI功能执行显示请求的处理过程。
但是,在上述方式中,当终端设备通过REE中的应用获取到多个显示请求时,由于终端设备是通过同一个TEE执行显示结果处理过程,并通过同一个TEE得到显示结果,这可能会降低终端设备得到显示结果的安全性。
可能的方式中,终端设备可以在芯片上部署多个TEE,每个TEE中的TEE安全系统集成TUI设备驱动,这样,当不同TEE中的TUI可信应用获取来自REE中的不同应用的显示请求时,不同TEE中的TUI可信应用可以通过TEE安全系统中的TUI设备驱动得到显示结果。
示例性的,图2为本申请实施例提供的一种多TEE实现TUI功能的架构示意图,如图2所示,终端设备部署有第一TEE、第二TEE和第三TEE,其中,第一TEE包括第一TUI可信应用和第一TEE安全系统,第一TEE安全系统中集成TUI设备驱动,第二TEE包括第二TUI可信应用和第二TEE安全系统,第二TEE安全系统中集成TUI设备驱动,第三TEE包括第三TUI可信应用和第三TEE安全系统第三TEE安全系统中集成TUI设备驱动,任一个TUI设备驱动都包括TUI显示驱动和TUI输入驱动。
在图2中,当终端设备通过REE中的应用获取显示请求时,并通过TEE中的TUI设备驱动得到显示结果的实现过程,可以参考图1所示的内容适应描述,与图1所示的过程不同的是,在图2中,当终端设备通过REE中的应用获取到多个显示请求时,终端设备可以调用不同的TEE来得到显示结果;其中,图2所示的REE中的应用可以为第一应用,也可以为第二应用,不同的TEE可以用于处理不同应用获取的显示请求。
在图2中,第一TUI可信应用可以为REE中的应用提供TUI显示服务和TUI输入服务,例如,第一TUI可信应用可以为REE中的第一应用提供TUI显示服务和TUI输入服务,由于第一TEE工作在hypervisor机制下,因此,第一TEE为运行第一TEE系统的可信虚拟机,其中,第二TEE的相关内容和第三TEE的相关内容可以参考上述第一TEE的相关内容,在此不在赘述。
但是,在上述方式中,由于每个TEE中的TEE安全系统都集成TUI设备驱动,因此,这可能会提高终端设备的制造成本。
有鉴于此,本申请一些实施例提供一种信息处理方法和装置,通过在终端设备中设置可执行显示请求处理过程和得到显示结果的TEE,这样,当终端设备通过第一TEE获取第一显示请求时,由于第一显示请求中包括第一界面的显示信息,因此,终端设备可以通过第一TEE中的第一TUI框架绘制第一界面,从而实现对第一显示请求的处理过程,由于第二TEE中集成了TUI显示驱动,终端设备可以调用第二TEE的TUI显示驱动显示第一界面,从而提高终端设备得到显示结果的安全性。
本申请实施例的方法可以应用于终端设备,示例性的,示例性的,图3为本申请实施例提供的一种终端设备的硬件结构示意图,如图3所示,终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,传感器模块180,按键190,摄像头193,显示屏194,用户接口130以及充电管理模块140等;其中,传感器模块180可以包括:压力传 感器180A,加速度传感器180E,指纹传感器180H和触摸传感器180K等;其中,触摸传感器180K与显示屏194可以组成触摸屏,也称“触控屏”。
需要说明的是,本申请实施例示意的结构并不构成对终端设备100的具体限定;可以理解的是,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置;其中,图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例中,当用户通过触控屏点击应用提供的控件时,终端设备接收到对控件的触发,终端设备可以通过应用获取显示请求,若显示请求指示终端设备显示的界面为与敏感信息相关的界面时,终端设备根据显示请求调用TUI显示驱动得到显示结果,并可以通过显示屏向用户呈现显示结果,例如,终端设备可以通过显示屏向用户呈现支付完成界面等。
结合图2和图3,示例性的,图4为本申请实施例提供的一种多TEE实现TUI功能的架构示意图,与图2所示的架构示意图不同的是,在图4中,第一TEE中的第一TEE安全系统以及第三TEE中的第三TEE安全系统没有集成TUI设备驱动,第二TEE中的第二TEE安全系统集成TUI设备驱动。
其中,第二TEE中的TUI设备驱动是完成TUI功能的核心系统,但由于第一TEE中没有集成TUI设备驱动,因此,第一TEE可以将获取的显示请求通过虚拟机监视器发送给第二TEE中的第二TUI可信应用,使得第二TUI可信应用可以通过第二TEE中的TUI设备驱动完成TUI显示和TUI输入的功能,同样地,第三TEE也可将请求发发送至第二TEE进行处理,这样,在终端设备部署多个TEE的情况下,终端设备可以使用第二TEE来统一处理TUI的请求,与多个TEE中的任一个TEE都需要部署TUI设备驱动相比,可以节省终端设备的制造成本。
需要说明的是,第一TEE和第三TEE可以理解为终端设备厂商提供的TEE,或者理解为,第一TEE和第三TEE为终端设备厂商部署的TEE,第二TEE可以理解为终端设备的芯片厂商提供的TEE,或者理解为,第二TEE为终端设备中原有的TEE(如
提供的TEE),这样,终端设备可以让第二TEE安全系统中的TUI设备驱动充当驱动的角色,使得第二TEE安全系统中的TUI设备驱动可以代理处理其他TEE的显示请求,以得到显示结果。
需要说明的是,终端设备中可以部署多个基于hypervisor技术的TEE,第一TEE为多个基于hypervisor技术的其中一个TEE,第三TEE为多个基于hypervisor技术的其中一个TEE,第二TEE为基于TrustZone技术的TEE,在第一TEE和第三TEE中不集成TUI设备驱动的情况下,第一TEE和第三TEE可以通过第二TEE中的TUI设备驱动得到显示结果,从而可以避免第一TEE和第三TEE深度耦合、集成TUI驱动的问题,也使得终端设备厂商可以部署自己的TEE来实现与TUI相关的业务。
结合图4所示的内容,示例性的,图5为本申请实施例提供的一种信息处理方法的流程示意图,如图5所示,可以包括以下步骤:
S501:终端设备通过REE中的第一应用接收到第一显示请求。
本申请实施例中,REE中的第一应用可以理解为客户端应用(client application,CA),第一显示请求用于显示第一应用的第一界面,第一界面为打开第一应用后的其中一个界面,第一界面可以为第一应用中与敏感信息相关的界面,例如,第一界面可以包括输入密码界面等,第一显示请求包括第一界面的显示信息;其中,第一界面的具体内容,可 以根据实际应用场景设定,本申请实施例不作限定。
本申请实施例中,终端设备通过REE中的第一应用接收到第一显示请求,包括以下可能的实现方式:
在第一种可能的实现方式中,终端设备显示第三界面,第三界面为第一应用中的其中一个界面,第三界面包括输入区域,当终端设备通过第一应用在第三界面接收到对输入区域的触发时,终端设备接收到第一显示请求;其中,第三界面也可以理解为第一应用中与敏感信息相关的界面。
可以理解的是,终端设备显示第三界面,可能的实现方式为:终端设备显示第四界面,第四界面包括用于打开第一应用的第一控件,当终端设备通过第一应用在第四界面接收到对第一控件的触发时,终端设备获取第二显示请求,第二显示请求用于显示第三界面,第二显示请求包括第三界面的显示信息,终端设备基于第一应用向第一TUI可信应用发送第二显示请求,终端设备基于第一TUI框架从第一TUI可信应用获取第二显示请求,使得第一TUI框架根据第二显示请求中的第三界面的显示信息,绘制第三界面,终端设备基于第一TUI框架向TUI服务端发送用于指示显示第三界面的信息,使得TUI服务端根据用于指示显示第三界面的信息,调用TUI显示驱动显示第三界面。
其中,在终端设备基于第一应用向第一TUI可信应用发送第二显示请求中,第一TUI可信应用运行在第一TEE中,由于REE和第一TEE运行在hypervisor机制下,因此,第一TEE可以称为第一TEE虚拟机(virtual machine,VM),这样,终端设备可以基于第一应用向REE的系统内核发送第二显示请求,终端设备可以基于REE的系统内核向虚拟机监视器发送第二显示请求,终端设备可以基于虚拟机监视器向第一TUI可信应用发送第二显示请求。
其中,在终端设备基于第一TUI框架从第一TUI可信应用获取第二显示请求中,第一TUI框架运行在第一TEE中,当终端设备调用TUI的应用程序编程接口(application programming interface,API)时,终端设备可以基于第一TUI可信应用向第一TUI框架发送第二显示请求,使得终端设备基于第一TUI框架可以得到第二显示请求;其中,TUI的API是全球平台组织(global platform,GP)定义的,TUI的API可以描述为GP TUI API,或者,TUI的标准API可以描述为TUI API,从而使得第一TEE可以通过GP TUI API提供TUI的功能。
其中,在终端设备基于第一TUI框架向TUI服务端发送用于指示显示第三界面的信息中,终端设备基于第一TUI框架可以向VM进程间通信(inter-process communication,IPC)客户端发送用于指示显示第三界面的信息,终端设备基于VM IPC客户端可以向第一TEE系统内核发送用于指示显示第三界面的信息,终端设备基于第一TEE系统内核可以向虚拟机监视器发送用于指示显示第三界面的信息,终端设备基于虚拟机监视器可以向TUI服务端发送用于指示显示第三界面的信息;其中,TUI服务端可以理解为图4中的第二TUI可信应用,第一TEE系统内核为第一TEE的系统内核。
可以理解的是,当终端设备通过第一应用在第三界面接收到对输入区域的触发时,终端设备可以基于TUI服务端,调用TUI输入驱动获取输入区域的位置信息,进而,终端设备基获取到输入区域的位置信息时,终端设备可以接收到第一显示请求。
其中,输入区域的位置信息可以指的是输入区域的点位信息,例如,用户在显示屏的[x,y]位置处触摸输入区域时,终端设备可以通过TUI服务端的TUI输入驱动获取[x,y]位置。
需要说明的是,第一TUI框架为第一TEE内部的TUI框架,第一TUI框架可以用于完成TUI的核心逻辑,或者理解为,第一TUI框架可以用于绘制界面。
需要说明的是,第一TEE系统内核为第一TEE的内核模块,第一TUI框架可以调用VM IPC客户端相关的模块,从而使得第一TUI框架基于调用的模块与第二TEE中的TUI服务端进行数据交互,其中,VM IPC客户端相关的模块可以包括下述的一种或多种:libTrustedUI模块、MinkIPC模块或VMSocket模块。
需要说明的是,TUI服务端运行在第二TEE中,由于第二TEE工作在hypervisor机制下,因此,第二TEE为可信虚拟机,TUI服务端为运行于可信虚拟机上的服务端,TUI服务端可以获取来自第一TEE的信息,进而,TUI服务端可以根据获取到的消息调用TUI显示驱动或TUI输入驱动。
需要说明的是,REE为终端设备中的运行环境,或者理解为,REE为安卓(Android)操作系统的运行环境,由于REE工作在hypervisor机制下,因此,REE可以称为主虚拟机,REE可以运行非安全世界的应用,该应用可以称为非安全应用,该应用为CA。
在第二种可能的实现方式中,终端设备显示第五界面,第五界面为打开第一应用后的其中一个界面,第五界面包括第三控件,当终端设备接收到对第三控件的触发时,终端设备接收到第一显示请求。
S502:第一应用向第一TUI可信应用发送第一显示请求。
本申请实施例中,结合图4,第一应用可以向REE的系统内核发送第一显示请求,REE的系统内核通过虚拟机监视器向第一TUI可信应用发送第一显示请求。
S503:第一TUI框架从第一TUI可信应用获取第一显示请求。
本申请实施例中,第一TUI框架可以通过GP TUI API从第一TUI可信应用获取第一显示请求。
S504:第一TUI框架根据第一显示请求中的第一界面的显示信息,绘制第一界面。
S505:第一TUI框架向TUI服务端发送用于指示显示第一界面的信息。
本申请实施例中,第一TUI框架可以调用VM IPC客户端向第一TEE系统内核发送用于指示显示第一界面的信息,由于第一TEE和第二TEE运行在hypervisor机制下,因此,第一TEE系统内核可以通过hypervisor向TUI服务端发送用于指示显示第一界面的信息。
S506:TUI服务端根据用于指示显示第一界面的信息,调用TUI显示驱动显示第一界面。
本申请实施例中,由于TUI服务端中包括TUI显示驱动,TUI显示驱动可以用于对TUI的界面进行显示输出,TUI的界面可以理解为与敏感信息操作相关的界面,这样,TUI服务端根据用于指示显示第一界面的信息,可以调用TUI显示驱动显示第一界面,第一界面包括输入组件,输入组件可以为输入键盘等。
S507:当TUI服务端在第一界面接收到对输入组件的触发时,TUI服务端调用TUI输入驱动获取基于输入组件输入的第一安全信息。
S508:TUI服务端通过第一TUI框架向第一TUI可信应用发送第一安全信息。
本申请实施例中,由于第二TEE和第一TEE运行在hypervisor机制下,TUI服务端运行在第二TEE中,第一TUI框架运行在第一TEE中,因此,TUI服务端可以通过hypervisor向第一TEE系统内核发送第一安全信息,第一TEE系统内核可以通过VM IPC客户端向第一TUI框架发送第一安全信息,第一TUI框架可以通过GP TUI API向第一 TUI可信应用发送第一安全信息,从而使得第一TUI可信应用获得第一安全信息;其中,第一安全信息可以包括下述的一种或多种:账号密码或支付密码。
可以理解的是,第一安全信息的具体内容,可以根据实际应用场景设定,本申请实施例不作限定。
结合S507和S508描述的内容,当第一界面还包括第二控件时,TUI服务端通过第一TUI框架向第一TUI可信应用发送第一安全信息,可能的实现方式为:当TUI服务端在第一界面接收到对第二控件的触发时,TUI服务端通过第一TUI框架向第一TUI可信应用发送第一安全信息。
S509:第一TUI可信应用从第一服务器发送第一安全信息。
S510:当第一安全信息与预设的安全信息匹配时,第一服务器向第一应用发送用于指示匹配成功的信息。
本申请实施例中,第一服务器为第一应用对应的服务器,第一服务器用于服务第一应用,这样,当第一服务器判断第一安全信息与预设的安全信息匹配时,第一服务器可以向第一应用发送第一安全信息的匹配结果,例如,当用户输入的用户名和密码与预设的用户名和密码相同时,第一服务器可以向第一应用发送用于指示匹配成功的信息。
S511:第一应用根据用于指示匹配成功的信息,显示第二界面。
本申请实施例中,第二界面与第一界面有关,例如,当第一界面为登录界面时,第二界面为登录成功后的界面;当第一界面为支付界面时,第二界面为支付成功后的界面。
结合图5所示的内容,示例性的,图6为本申请实施例提供的一种信息处理方法的流程示意图,在图6中,REE、第一TEE以及第二TEE之间的交互过程,可以参考图5所示的内容适应描述;其中,GP TUI API、第一TUI框架、VM IPC客户端以及第一TEE系统内核在第一TEE安全系统中。
需要说明的是,在图6中,当REE中的第一应用获取的显示请求需要使用到第四TEE中的驱动时,第一应用可以向REE中的系统内核发送显示请求,由于第四TEE运行在TrustZone机制下,因此,REE中的系统内核可以通过虚拟机监视器向第四TEE发送显示请求,虚拟机监视器通过SMC指令将运行环境切换至第四TEE时,虚拟机监视器可以向第四TEE中的可信应用发送显示请求,这样,第四TEE中的可信应用可以通过第四TEE的系统内核和第四TEE中的驱动,得到显示请求对应的界面。
可以理解的是,图5是第一TEE和第二TEE之间的交互过程,第三TEE和第二TEE之间的交互过程可以参考图5所示的内容适应描述。
结合图5和图6所示的内容,示例性的,图7为本申请实施例提供的一种信息处理方法的界面示意图,在图7中的a所示的界面,该界面包括下述一种或多种应用控件,例如,文件管理控件、电子邮件控件、运动健康控件以及智慧生活控件,该界面还包括第一应用控件701,当用户通过点击或触摸等操作触发第一应用控件701时,终端设备接收到对第一应用控件701的触发,终端设备可以显示图7中的b所示的界面;其中,第一应用控件701可以称为第一控件,第一控件用于打开第一应用,图7中的a所示的界面为第四界面,图7中的b所示的界面为第三界面,第三界面为登录界面,该界面包括账号输入区域和密码输入区域。
在图7中的b所示的界面中,当用户通过点击或触摸等操作触发账号输入区域时,终端设备接收到账号输入区域的触发,终端设备可以显示图7中的c所示的界面,该界面为第一界面,第一界面包括输入组件和第二控件,输入组件可以为输入键盘,当用户 通过输入键盘在账号输入区域输入账号以及在密码输入区域输入密码时,终端设备可以接收到对输入组件的触发,进而,终端设备可以获取用户基于输入组件输入的账号和密码,这样,当终端设备在第一界面接收到对第二控件的触发,并在确定输入的账号和密码与预设的账号和密码匹配时,终端设备可以显示图7中的d所示的界面,该界面可以称为第二界面,该界面为登录后的界面。
结合图5和图6所示的内容,示例性的,图8为本申请实施例提供的一种信息处理方法的界面示意图,在图8中的a所示的界面中,该界面包括下述一种或多种应用控件,例如,文件管理控件、电子邮件控件、运动健康控件或智慧生活控件,该界面还包括第一应用控件801,在终端设备中的第一应用为登录状态的情况下,当用户通过点击或触发等操作触发第一应用控件801时,终端设备接收到对第一应用控件801的操作,终端设备可以显示图8中的b所示的界面。
在图8中的b所示的界面中,该界面包括收支明细控件以及转账控件802等,当用户通过点击或触摸等操作触发转账控件802时,终端设备接收到对转账控件802的触发,终端设备可以显示图8中的c所示的界面,该界面包括确认控件803,当用户在图8中的c所示的界面输入转账金额,并通过点击或触摸等操作触发确认控件803时,终端设备可以显示如图8中的d所示的界面;其中,图8中的c所示的界面可以称为第五界面,确认控件803可以称为第三控件,图8中的d所示的界面可以称为第一界面,该界面包括输入组件。
在图8中的d所示的界面中,当用户通过点击或触摸等操作触发输入组件时,终端设备接收到对输入组件的触发,并在确定输入的密码与预设的密码匹配时,终端设备可以显示图8中的e所示的界面,该界面可以称为第二界面,该界面为转账成功后的界面。
在图5-图8所示的内容中,终端设备是通过第一TUI可信应用和第一TUI框架实现对REE中的第一应用的相关界面的处理过程,第一TUI可信应用和第一TUI框架运行在第一TEE中,可以理解的是,终端设备也可以通过第三TEE中的第三TUI可信应用和第三TUI框架实现对REE中的第二应用的相关界面的处理过程,例如,当终端设备通过REE中的第二应用获取到第三显示请求时,终端设备基于第二应用、第三TUI可信应用、第三TUI框架以及TUI服务端之间的交互过程,可以显示第二应用的相关界面,具体的实现方式可以参考图5-图8所示的内容适应描述,在此不再赘述。
需要说明的是,在终端设备通过第三TEE中的第三TUI可信应用和第三TUI框架实现对REE中的第二应用的相关界面的处理过程中,终端设备也是通过TUI显示驱动显示第二应用的相关界面,例如,第二应用的登录界面或输入密码界面等,具体内容可以参考图5所示的内容适应描述,在此不再赘述。
结合上述内容,可以理解的是,本申请实施例中的TEE可以运行于TrustZone环境,也可以运行于hypervisor等可信虚拟环境,本申请实施例提供的方法是一种多TEE实现TUI功能的方法,在本申请实施例中,终端设备中的其中一个TEE可以集成TUI设备驱动,而终端设备中其他部署的TEE可以不集成TUI设备驱动,从而可以降低集成驱动的工作量,节省终端设备的制造成本。
可以理解的是,当终端设备部署的TEE可以为REE中的应用提供TUI服务时,终端设备可以使用自己部署的TEE实现TUI的业务。
进一步地,可以理解的是,若芯片厂商向终端设备厂商不提供操作TUI功能的能力,可能会限制终端设备厂商对TUI功能方面的提升,以及可能会限制终端设备厂商对TUI 功能的安全性方面的提升,在本申请一些实施例的方法中,终端设备厂商可以在自己部署的TEE上控制TUI的业务逻辑,提升安全性,从而可以提高终端设备厂商对TUI功能的自主控制权,或者理解为,可以提高终端设备厂商对TEE的控制权;而且,本申请一些实施例的方法可以让芯片厂商的TEE只负责TUI显示和TUI输入,使得终端设备厂商可以对芯片厂商的TEE有控制权。
上面已对本申请实施例的信息处理方法进行了说明,下面对本申请实施例提供的执行上述信息处理方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的信息处理装置可以执行上述信息处理方法中的步骤。
示例性的,图9为本申请实施例提供的一种信息处理装置的结构示意图,信息处理装置可以应用于终端设备,信息处理装置部署有富执行环境REE和至少两个可信执行环境TEE,REE包括一个或多个应用,如图9所示,该装置900可以包括:处理单元901和显示单元902,其中,处理单元901用于支持信息处理装置执行信息处理的步骤,显示单元902用于支持信息处理装置执行显示的步骤。
示例性的,处理单元用于:当终端设备在第一应用获取第一显示请求时,基于第一可信用户界面TUI可信应用从第一应用获取第一显示请求;其中,第一应用为REE中的任一应用,第一显示请求用于显示第一界面,第一显示请求包括第一界面的显示信息,第一TUI可信应用运行在第一TEE中,第一TEE为至少两个可信执行环境TEE中的TEE;处理单元还用于:基于第一TUI框架从第一TUI可信应用获取第一显示请求;其中,第一TUI框架运行在第一TEE中;处理单元还用于:基于第一TUI框架绘制第一界面;处理单元还用于:基于TUI服务端从第一TUI框架获取用于指示显示第一界面的信息;其中,TUI服务端运行在第二TEE中,第二TEE为至少两个可信执行环境TEE中的TEE,第二TEE中集成TUI显示驱动;显示单元用于:基于TUI服务端,调用TUI显示驱动显示第一界面。
在一种可能的实现方式中,第二TEE中还集成TUI输入驱动,第一界面包括输入组件,处理单元还用于:当终端设备基于TUI服务端在第一界面接收到对输入组件的触发时,基于TUI服务端获取第一安全信息;其中,第一安全信息是TUI服务端调用TUI输入驱动得到的,第一安全信息为基于输入组件输入的信息,第一安全信息包括:账号密码或支付密码;处理单元还用于:基于第一TUI可信应用从TUI服务端获取第一安全信息;处理单元还用于:基于第一TUI可信应用向第一服务器发送第一安全信息;其中,第一服务器用于服务第一应用;当第一服务器判断第一安全信息与预设的安全信息匹配时,处理单元还用于:基于第一应用从第一服务器获取用于指示匹配成功的信息;显示单元还用于:基于第一应用显示第二界面。
在一种可能的实现方式中,处理单元具体用于:基于TUI服务端向虚拟机监视器发送第一安全信息;基于虚拟机监视器向第一TEE的系统内核发送第一安全信息;基于第一TEE的系统内核向虚拟机进程间通信VM IPC客户端发送第一安全信息;终端设备基于虚拟机进程间通信VM IPC客户端,向第一TUI框架发送第一安全信息;当终端设备调用TUI应用程序编程接口API时,基于第一TUI框架向第一TUI可信应用发送第一安全信息;基于第一TUI可信应用获取第一安全信息。
在一种可能的实现方式中,处理单元具体用于:基于第一应用向REE的系统内核发送第一显示请求;基于REE的系统内核向虚拟机监视器发送第一显示请求;基于虚拟机监视器向第一TUI可信应用发送第一显示请求;基于第一TUI可信应用获取第一显示请 求。
在一种可能的实现方式中,处理单元具体用于:当终端设备调用TUI应用程序编程接口API时,基于第一TUI可信应用向第一TUI框架发送第一显示请求;基于第一TUI框架获取第一显示请求。
在一种可能的实现方式中,处理单元具体用于:基于第一TUI框架向虚拟机进程间通信VM IPC客户端,发送用于指示显示第一界面的信息;基于虚拟机进程间通信VM IPC客户端,向第一TEE的系统内核发送用于指示显示第一界面的信息;基于第一TEE的系统内核向虚拟机监视器发送用于指示显示第一界面的信息;基于虚拟机监视器向TUI服务端发送用于指示显示第一界面的信息;基于TUI服务端获取用于指示显示第一界面的信息。
在一种可能的实现方式中,处理单元具体用于:显示第三界面;其中,第三界面为第一应用中的其中一个界面,第三界面包括输入区域;当终端设备通过第一应用在第三界面接收到对输入区域的触发时,获取第一显示请求。
在一种可能的实现方式中,处理单元具体用于:显示第四界面;其中,第四界面包括用于打开第一应用的第一控件;当终端设备通过第一应用在第四界面接收到对第一控件的触发时,获取第二显示请求;其中,第二显示请求用于显示第三界面,第二显示请求包括第三界面的显示信息;根据第二显示请求,显示第三界面。
在一种可能的实现方式中,处理单元具体用于:基于第一应用向REE的系统内核发送第二显示请求;基于REE的系统内核向虚拟机监视器发送第二显示请求;基于虚拟机监视器向第一TUI可信应用发送第二显示请求;当终端设备调用TUI应用程序编程接口API时,基于第一TUI可信应用向第一TUI框架发送第二显示请求;基于第一TUI框架绘制第三界面;基于第一TUI框架向虚拟机进程间通信VM IPC客户端,发送用于指示显示第三界面的信息;基于虚拟机进程间通信VM IPC客户端,向第一TEE的系统内核发送用于指示显示第三界面的信息;基于第一TEE的系统内核,向虚拟机监视器发送用于指示显示第三界面的信息;基于虚拟机监视器向TUI服务端发送用于指示显示第三界面的信息;基于TUI服务端,调用TUI显示驱动显示第三界面。
在一种可能的实现方式中,处理单元具体用于:显示第五界面;其中,第五界面为打开第一应用后的其中一个界面,第五界面包括第三控件;当终端设备接收到对第三控件的触发时,获取第一显示请求。
在一种可能的实施例中,信息处理装置还可以包括:存储单元903。处理单元901、显示单元902、存储单元903通过通信总线相连。
存储单元903可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。
存储单元903可以独立存在,通过通信总线与信息处理装置具有的处理单元901相连;存储单元903也可以和处理单元901集成在一起。
信息处理装置可以用于信息处理设备、电路、硬件组件或者芯片中。
示例性的,图10为本申请实施例提供的一种芯片的结构示意图。芯片1000包括一个或两个以上(包括两个)处理器1010和通信接口1030。
在一些实施方式中,存储器1040存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
本申请实施例中,存储器1040可以包括只读存储器和随机存取存储器,并向处理器 1010提供指令和数据。存储器1040的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
本申请实施例中,存储器1040、通信接口1030以及存储器1040通过总线系统1020耦合在一起。其中,总线系统1020除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图10中将各种总线都标为总线系统1020。
上述本申请实施例描述的方法可以应用于处理器1010中,或者由处理器1010实现。处理器1010可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1010中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1010可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器1010可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electrically erasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器1040,处理器1010读取存储器1040中的信息,结合其硬件完成上述方法的步骤。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compact disc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如 红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
上述的组合也应包括在计算机可读介质的范围内。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
- 一种信息处理方法,其特征在于,应用于终端设备,所述终端设备部署有富执行环境REE和至少两个可信执行环境TEE,所述REE包括一个或多个应用,所述方法包括:当所述终端设备在第一应用获取第一显示请求时,所述终端设备基于第一可信用户界面TUI可信应用从所述第一应用获取所述第一显示请求;其中,所述第一应用为所述REE中的任一所述应用,所述第一显示请求用于显示第一界面,所述第一显示请求包括所述第一界面的显示信息,所述第一TUI可信应用运行在第一TEE中,所述第一TEE为所述至少两个可信执行环境TEE中的TEE;所述终端设备基于第一TUI框架从所述第一TUI可信应用获取所述第一显示请求;其中,所述第一TUI框架运行在所述第一TEE中;所述终端设备基于所述第一TUI框架绘制所述第一界面;所述终端设备基于TUI服务端从所述第一TUI框架获取用于指示显示所述第一界面的信息;其中,所述TUI服务端运行在第二TEE中,所述第二TEE为所述至少两个可信执行环境TEE中的TEE,所述第二TEE中集成TUI显示驱动;所述终端设备基于所述TUI服务端,调用所述TUI显示驱动显示所述第一界面。
- 根据权利要求1所述的方法,其特征在于,所述第二TEE中还集成TUI输入驱动,所述第一界面包括输入组件,所述方法还包括:当所述终端设备基于所述TUI服务端在所述第一界面接收到对所述输入组件的触发时,所述终端设备基于所述TUI服务端获取第一安全信息;其中,所述第一安全信息是所述TUI服务端调用所述TUI输入驱动得到的,所述第一安全信息为基于所述输入组件输入的信息,所述第一安全信息包括:账号密码或支付密码;所述终端设备基于所述第一TUI可信应用从所述TUI服务端获取所述第一安全信息;所述终端设备基于所述第一TUI可信应用向第一服务器发送所述第一安全信息;其中,所述第一服务器用于服务所述第一应用;当所述第一服务器判断所述第一安全信息与预设的安全信息匹配时,所述终端设备基于所述第一应用从所述第一服务器获取用于指示匹配成功的信息;所述终端设备基于所述第一应用显示第二界面。
- 根据权利要求2所述的方法,其特征在于,所述终端设备基于所述第一TUI可信应用从所述TUI服务端获取所述第一安全信息,包括:所述终端设备基于所述TUI服务端向虚拟机监视器发送所述第一安全信息;所述终端设备基于所述虚拟机监视器向所述第一TEE的系统内核发送所述第一安全信息;所述终端设备基于所述第一TEE的系统内核向虚拟机进程间通信VM IPC客户端发送所述第一安全信息;所述终端设备基于所述虚拟机进程间通信VM IPC客户端,向所述第一TUI框架发送所述第一安全信息;当所述终端设备调用TUI应用程序编程接口API时,所述终端设备基于所述第一 TUI框架向所述第一TUI可信应用发送所述第一安全信息;所述终端设备基于所述第一TUI可信应用获取所述第一安全信息。
- 根据权利要求1-3任一项所述的方法,其特征在于,所述终端设备基于第一可信用户界面TUI可信应用从所述第一应用获取所述第一显示请求,包括:所述终端设备基于所述第一应用向所述REE的系统内核发送所述第一显示请求;所述终端设备基于所述REE的系统内核向虚拟机监视器发送所述第一显示请求;所述终端设备基于所述虚拟机监视器向所述第一TUI可信应用发送所述第一显示请求;所述终端设备基于所述第一TUI可信应用获取所述第一显示请求。
- 根据权利要求1-4任一项所述的方法,其特征在于,所述终端设备基于第一TUI框架从所述第一TUI可信应用获取所述第一显示请求,包括:当所述终端设备调用TUI应用程序编程接口API时,所述终端设备基于所述第一TUI可信应用向所述第一TUI框架发送所述第一显示请求;所述终端设备基于所述第一TUI框架获取所述第一显示请求。
- 根据权利要求1-5任一项所述的方法,其特征在于,所述终端设备基于TUI服务端从所述第一TUI框架获取用于指示显示所述第一界面的信息,包括:所述终端设备基于所述第一TUI框架向虚拟机进程间通信VM IPC客户端,发送所述用于指示显示所述第一界面的信息;所述终端设备基于所述虚拟机进程间通信VM IPC客户端,向所述第一TEE的系统内核发送所述用于指示显示所述第一界面的信息;所述终端设备基于所述第一TEE的系统内核向虚拟机监视器发送所述用于指示显示所述第一界面的信息;所述终端设备基于所述虚拟机监视器向所述TUI服务端发送所述用于指示显示所述第一界面的信息;所述终端设备基于所述TUI服务端获取所述用于指示显示所述第一界面的信息。
- 根据权利要求1-6任一项所述的方法,其特征在于,所述终端设备在所述第一应用获取第一显示请求,包括:所述终端设备显示第三界面;其中,所述第三界面为第一应用中的其中一个界面,所述第三界面包括输入区域;当所述终端设备通过所述第一应用在所述第三界面接收到对所述输入区域的触发时,所述终端设备获取所述第一显示请求。
- 根据权利要求7所述的方法,其特征在于,所述终端设备显示第三界面,包括:所述终端设备显示第四界面;其中,所述第四界面包括用于打开所述第一应用的第一控件;当所述终端设备通过所述第一应用在所述第四界面接收到对所述第一控件的触发时,所述终端设备获取第二显示请求;其中,所述第二显示请求用于显示所述第三界面,所述第二显示请求包括所述第三界面的显示信息;所述终端设备根据所述第二显示请求,显示所述第三界面。
- 根据权利要求8所述的方法,其特征在于,所述终端设备根据所述第二显示请 求,显示所述第三界面,包括:所述终端设备基于所述第一应用向所述REE的系统内核发送所述第二显示请求;所述终端设备基于所述REE的系统内核向虚拟机监视器发送所述第二显示请求;所述终端设备基于所述虚拟机监视器向所述第一TUI可信应用发送所述第二显示请求;当所述终端设备调用TUI应用程序编程接口API时,所述终端设备基于所述第一TUI可信应用向所述第一TUI框架发送所述第二显示请求;所述终端设备基于所述第一TUI框架绘制所述第三界面;所述终端设备基于所述第一TUI框架向虚拟机进程间通信VM IPC客户端,发送用于指示显示所述第三界面的信息;所述终端设备基于所述虚拟机进程间通信VM IPC客户端,向所述第一TEE的系统内核发送所述用于指示显示所述第三界面的信息;所述终端设备基于所述第一TEE的系统内核,向所述虚拟机监视器发送所述用于指示显示所述第三界面的信息;所述终端设备基于所述虚拟机监视器向所述TUI服务端发送所述用于指示显示所述第三界面的信息;所述终端设备基于所述TUI服务端,调用所述TUI显示驱动显示所述第三界面。
- 根据权利要求1-6任一项所述的方法,其特征在于,所述终端设备在所述第一应用获取第一显示请求,包括:所述终端设备显示第五界面;其中,所述第五界面为打开所述第一应用后的其中一个界面,所述第五界面包括第三控件;当所述终端设备接收到对所述第三控件的触发时,所述终端设备获取第一显示请求。
- 一种信息处理装置,其特征在于,包括处理器和存储器,所述存储器用于存储代码指令;所述处理器用于运行所述代码指令,以执行如权利要求1-10中任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP22894001.1A EP4273731B1 (en) | 2022-01-17 | 2022-12-13 | Information processing method and apparatus |
| US18/038,568 US12475267B2 (en) | 2022-01-17 | 2022-12-13 | Information processing method and apparatus for obtaining a display result by a terminal device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210051809.1 | 2022-01-17 | ||
| CN202210051809.1A CN116484438B (zh) | 2022-01-17 | 2022-01-17 | 信息处理方法和装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023134376A1 true WO2023134376A1 (zh) | 2023-07-20 |
Family
ID=87210681
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/138807 Ceased WO2023134376A1 (zh) | 2022-01-17 | 2022-12-13 | 信息处理方法和装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12475267B2 (zh) |
| EP (1) | EP4273731B1 (zh) |
| CN (2) | CN118797752A (zh) |
| WO (1) | WO2023134376A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116484438A (zh) * | 2022-01-17 | 2023-07-25 | 荣耀终端有限公司 | 信息处理方法和装置 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119440714A (zh) * | 2023-07-31 | 2025-02-14 | 华为技术有限公司 | 虚拟机实现方法、装置及计算机可读存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105528554A (zh) * | 2015-11-30 | 2016-04-27 | 华为技术有限公司 | 用户界面切换方法和终端 |
| CN109753347A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种实现驱动的系统及方法 |
| WO2020200411A1 (en) * | 2019-04-01 | 2020-10-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Attestation of trusted execution environments |
| CN113192237A (zh) * | 2020-01-10 | 2021-07-30 | 阿里巴巴集团控股有限公司 | 支持tee和ree的物联网设备以及实现tee和ree间通信的方法 |
| US20210303734A1 (en) * | 2020-03-24 | 2021-09-30 | Red Hat, Inc. | Elastic launch for trusted execution environments |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102281782B1 (ko) * | 2014-11-14 | 2021-07-27 | 삼성전자주식회사 | 무선 통신 시스템에서 단말의 어플리케이션을 원격으로 관리하는 방법 및 장치 |
| WO2016172944A1 (zh) * | 2015-04-30 | 2016-11-03 | 华为技术有限公司 | 终端的界面显示方法和终端 |
| EP3370449B1 (en) | 2015-11-25 | 2020-01-08 | Huawei Technologies Co., Ltd. | Method and device for configuring security indication information |
| WO2018094631A1 (zh) * | 2016-11-24 | 2018-05-31 | 华为技术有限公司 | 数据处理的方法及其终端 |
| CN110618847A (zh) * | 2018-06-20 | 2019-12-27 | 华为技术有限公司 | 一种用户界面的显示方法和终端设备 |
| CN111383015B (zh) * | 2018-12-29 | 2023-11-03 | 华为技术有限公司 | 交易安全处理方法、装置及终端设备 |
| CN112307483B (zh) | 2019-07-30 | 2025-02-21 | 华为技术有限公司 | 可信用户界面的显示方法及电子设备 |
| CN112711452B (zh) * | 2019-10-24 | 2023-11-03 | 华为技术有限公司 | 一种图像显示方法与电子设备 |
| CN113051542A (zh) * | 2019-12-26 | 2021-06-29 | 华为技术有限公司 | 二维码处理方法和设备 |
| CN113536285A (zh) * | 2020-04-13 | 2021-10-22 | 成都鼎桥通信技术有限公司 | 终端设备的专用密码加密方法和装置 |
| CN113051572A (zh) * | 2020-12-10 | 2021-06-29 | 中国银联股份有限公司 | 可信应用的控制方法和设备、计算机存储介质以及终端 |
| CN113868673B (zh) * | 2021-12-06 | 2022-04-19 | 荣耀终端有限公司 | 漏洞检测方法和装置 |
| CN118797752A (zh) * | 2022-01-17 | 2024-10-18 | 荣耀终端有限公司 | 信息处理方法和装置 |
| CN116049813B (zh) * | 2022-07-29 | 2023-10-20 | 荣耀终端有限公司 | 基于可信执行环境的触屏数据处理方法、设备及存储介质 |
| CN115396852B (zh) * | 2022-08-23 | 2024-11-05 | 无锡融卡科技有限公司 | 基于可信执行环境的移动终端、可信服务系统及可信应用管理方法 |
-
2022
- 2022-01-17 CN CN202410813370.0A patent/CN118797752A/zh active Pending
- 2022-01-17 CN CN202210051809.1A patent/CN116484438B/zh active Active
- 2022-12-13 WO PCT/CN2022/138807 patent/WO2023134376A1/zh not_active Ceased
- 2022-12-13 EP EP22894001.1A patent/EP4273731B1/en active Active
- 2022-12-13 US US18/038,568 patent/US12475267B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105528554A (zh) * | 2015-11-30 | 2016-04-27 | 华为技术有限公司 | 用户界面切换方法和终端 |
| CN109753347A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种实现驱动的系统及方法 |
| WO2020200411A1 (en) * | 2019-04-01 | 2020-10-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Attestation of trusted execution environments |
| CN113192237A (zh) * | 2020-01-10 | 2021-07-30 | 阿里巴巴集团控股有限公司 | 支持tee和ree的物联网设备以及实现tee和ree间通信的方法 |
| US20210303734A1 (en) * | 2020-03-24 | 2021-09-30 | Red Hat, Inc. | Elastic launch for trusted execution environments |
Non-Patent Citations (2)
| Title |
|---|
| See also references of EP4273731A4 |
| YANG SUISHAN: "Research on Architecture of Secure Mobile Phones Based on TEE", MOBILE COMMUNICATIONS, YIDONG TONGXIN ZAZHISHE, CN, vol. 40, no. 21, 15 November 2016 (2016-11-15), CN , pages 34 - 38, XP093081192, ISSN: 1006-1010, DOI: 10.3969/j.issn.1006-1010.2016.21.007 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116484438A (zh) * | 2022-01-17 | 2023-07-25 | 荣耀终端有限公司 | 信息处理方法和装置 |
| CN116484438B (zh) * | 2022-01-17 | 2024-07-02 | 荣耀终端有限公司 | 信息处理方法和装置 |
| US12475267B2 (en) | 2022-01-17 | 2025-11-18 | Honor Device Co., Ltd. | Information processing method and apparatus for obtaining a display result by a terminal device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118797752A (zh) | 2024-10-18 |
| CN116484438B (zh) | 2024-07-02 |
| US20240354450A1 (en) | 2024-10-24 |
| EP4273731A1 (en) | 2023-11-08 |
| CN116484438A (zh) | 2023-07-25 |
| EP4273731B1 (en) | 2025-05-21 |
| US12475267B2 (en) | 2025-11-18 |
| EP4273731A4 (en) | 2024-10-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110651269B (zh) | 隔离的容器事件监视 | |
| US10169071B2 (en) | Hypervisor-hosted virtual machine forensics | |
| US9348636B2 (en) | Transferring files using a virtualized application | |
| US11023088B2 (en) | Composing the display of a virtualized web browser | |
| US11599675B2 (en) | Detecting data leakage to websites accessed using a remote browsing infrastructure | |
| US20160164880A1 (en) | Systems And Methods Of Transaction Authorization Using Server-Triggered Switching To An Integrity-Attested Virtual Machine | |
| KR20200052950A (ko) | 사용자 인터페이스 디스플레이 방법 및 단말기 디바이스 | |
| CN105528554A (zh) | 用户界面切换方法和终端 | |
| WO2018228199A1 (zh) | 一种授权方法以及相关设备 | |
| US12164634B2 (en) | Object inspection via operating system share function | |
| US12273384B2 (en) | User activity-triggered URL scan | |
| WO2023134376A1 (zh) | 信息处理方法和装置 | |
| WO2023123850A1 (zh) | 一种固件可信根的实现方法、装置、设备和可读存储介质 | |
| US10635816B2 (en) | Restricting reprogramming of a redirected USB device | |
| EP3550462B1 (en) | Security system and method for protecting against malicious code | |
| US9727534B1 (en) | Synchronizing cookie data using a virtualized browser | |
| KR100985076B1 (ko) | Usb 디바이스 보안 장치 및 방법 | |
| US20250061203A1 (en) | Device runtime update pre-authentication | |
| US20220232038A1 (en) | Web Conference Security | |
| CN111095251B (zh) | 电子设备及其控制方法 | |
| JP2025534940A (ja) | 情報処理方法、装置、及び電子デバイス | |
| WO2024002342A1 (zh) | 基于云技术的可信执行系统及方法 | |
| US12348627B2 (en) | Executing attestation client code by executing a dynamic root of trust for measurement (DRTM) sequence to attest health of a computing device | |
| CN113486331A (zh) | Api调用请求处理方法、装置、电子设备及可读存储介质 | |
| CN115237744A (zh) | 数据传输方法、装置及终端 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 18038568 Country of ref document: US |
|
| ENP | Entry into the national phase |
Ref document number: 2022894001 Country of ref document: EP Effective date: 20230526 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWG | Wipo information: grant in national office |
Ref document number: 2022894001 Country of ref document: EP |
|
| WWG | Wipo information: grant in national office |
Ref document number: 18038568 Country of ref document: US |