Trusted application program starting method and device, equipment, storage medium and product

By performing integrity verification of trusted applications and creating target anonymous pipelines, the problem of integrity damage during application installation is solved, and the application is securely started and run, ensuring integrity, security and reliability.

CN119740221AActive Publication Date: 2025-04-01LINGSHU TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411800329.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-09
Publication Date
2025-04-01
Estimated Expiration
2044-12-09

AI Technical Summary

Technical Problem

In trusted data space applications, the installation process of trusted applications will destroy the integrity of the trusted data space virtual machine, resulting in the application being maliciously tampered with or impostor during installation or startup. How to ensure the integrity and security of trusted applications has become an urgent problem.

Method used

By performing integrity verification of the target trusted application, if the verification passes, a target anonymous pipeline between the target application is created and other anonymous pipelines are blocked to ensure that the application runs through a secure channel at startup.

Benefits of technology

It realizes secure startup of trusted applications, establishes a secure channel for parent-child process communication through anonymous pipelines, identifies the identity of trusted application processes, avoids impostors and fraud during the connection process, and ensures the integrity, security and reliability of the application.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119740221A_ABST
    Figure CN119740221A_ABST
Patent Text Reader

Abstract

The invention discloses a trusted application program starting method and device, equipment, a storage medium and a product. The method comprises the steps that in response to a program starting request of a target trusted application program, integrity verification is conducted on the target trusted application program, and an integrity verification result is obtained; if the integrity verification result is that the verification is passed, creating a target anonymous pipeline with the target trusted application, and shielding other anonymous pipelines at the same time; the other anonymous pipelines are anonymous pipelines except the target anonymous pipeline; and starting the target trusted application program according to the program starting parameter of the target trusted application program, so that the target trusted application program is connected with the target anonymous pipeline and runs the application program of the target trusted application program. According to the technical scheme of the embodiment of the invention, the integrity and security of the trusted application program in the processes of installation, starting, operation and the like can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a trusted application startup method, device, equipment, storage medium and product. Background Art

[0002] Trusted applications are applications that have been verified and trusted in terms of security, privacy, and integrity. Such applications usually follow strict development, security, and privacy standards to ensure that user data and systems are not compromised by malicious behavior or vulnerabilities. Trusted application integrity means that the application remains in its original state throughout its life cycle, ensuring that it has not been tampered with, modified, or destroyed without authorization.

[0003] In the trusted data space application, the trusted application is incrementally installed by the user through the manager according to the data application requirements. However, the installation process of the trusted application itself is a kind of integrity destruction of the trusted data space virtual machine. Therefore, how to ensure the integrity of the trusted application, so as to ensure that the trusted application is not maliciously tampered or impersonated during the installation or startup process, has become a problem that needs to be solved urgently. Summary of the invention

[0004] The present invention provides a trusted application startup method, device, equipment, storage medium and product to ensure the integrity and security of the trusted application during installation, startup and operation.

[0005] According to one aspect of the present invention, a method for starting a trusted application is provided, the method comprising:

[0006] In response to a program start request of a target trusted application, performing integrity verification on the target trusted application to obtain an integrity verification result;

[0007] If the integrity verification result is that the verification is passed, a target anonymous pipe is created between the target trusted application and other anonymous pipes are shielded; the other anonymous pipes are anonymous pipes other than the target anonymous pipe;

[0008] The target trusted application is started according to the program startup parameters of the target trusted application, so that the target trusted application is connected to the target anonymous pipe and runs its own application.

[0009] According to another aspect of the present invention, a trusted application startup device is provided, the device comprising:

[0010] A verification module, configured to respond to a program start request of a target trusted application program, perform integrity verification on the target trusted application program, and obtain an integrity verification result;

[0011] A pipeline establishment module, used for creating a target anonymous pipeline between the target trusted application and the target trusted application if the integrity verification result is a verification pass, while shielding other anonymous pipelines; the other anonymous pipelines are anonymous pipelines other than the target anonymous pipeline;

[0012] The program startup module is used to start the target trusted application according to the program startup parameters of the target trusted application, so that the target trusted application can connect to the target anonymous pipe and run its own application.

[0013] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0014] at least one processor; and

[0015] a memory communicatively connected to the at least one processor; wherein,

[0016] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the trusted application startup method described in any embodiment of the present invention.

[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the trusted application startup method described in any embodiment of the present invention when executed.

[0018] According to another aspect of the present invention, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the trusted application startup method is implemented.

[0019] The technical solution of the embodiment of the present invention verifies the integrity of the target trusted application, and when the integrity verification passes, creates a target anonymous pipe between the target trusted application and shields other anonymous pipes, and starts the target trusted application according to the program startup parameters of the target trusted application, so that the target trusted application can connect to the target anonymous pipe and run its own application, thereby realizing the secure startup of the trusted application, identifying the identity of the trusted application process by using anonymous pipes to establish a secure channel for parent-child process communication, effectively avoiding impersonation and fraud in other communication methods during the connection process or after the connection is successful, and ensuring the integrity, security and reliability of the trusted application startup process.

[0020] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0022] Figure 1 is a flow chart of a trusted application startup method provided according to Embodiment 1 of the present invention;

[0023] Figure 2A This is a schematic diagram of an interaction process of a trusted application based on integrity verification according to Embodiment 2 of the present invention;

[0024] Figure 2B This is a schematic diagram of a remote certification report acquisition process interaction provided in accordance with Embodiment 2 of the present invention;

[0025] Figure 3 is a schematic diagram of the structure of a trusted application startup device provided according to Embodiment 3 of the present invention;

[0026] Figure 4 It is a structural schematic diagram of an electronic device that implements the trusted application startup method of an embodiment of the present invention. DETAILED DESCRIPTION

[0027] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0028] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0029] Embodiment 1

[0030] Figure 1 This is a flow chart of a trusted application startup method provided in Embodiment 1 of the present invention. This embodiment is applicable to trusted application installation, startup and operation, etc. The method can be executed by a trusted application startup device, which can be implemented in the form of hardware and / or software, and can be configured in an electronic device. Figure 1 As shown, the method includes:

[0031] S110 . In response to a program start request of a target trusted application, integrity verification is performed on the target trusted application to obtain an integrity verification result.

[0032] S120. If the integrity verification result is that the verification is passed, a target anonymous pipe is created between the target trusted application and other anonymous pipes are shielded; other anonymous pipes are anonymous pipes other than the target anonymous pipe.

[0033] S130 . Start the target trusted application according to the program startup parameters of the target trusted application, so that the target trusted application can connect to the target anonymous pipe and run its own application.

[0034] Among them, trusted applications refer to applications that have been verified and trusted in terms of security, privacy and integrity. The characteristics of trusted applications may include: security authentication, digital signatures, privacy protection and trusted sources. Among them, security authentication means that the trusted application has passed security testing and certification to ensure that its code has no known vulnerabilities and its behavior is predictable and controlled; digital signature means that trusted applications usually use digital signatures to verify the identity of the developer to ensure that the software has not been tampered with; privacy protection means that the collection and use of user data by trusted applications is transparent and complies with privacy regulations to ensure that the data will not be abused; trusted sources mean that trusted applications usually come from official, internal corporate development teams or verified developers, which effectively reduces the risk of obtaining malicious applications.

[0035] The integrity of a trusted application means that the application remains in its original state during its life cycle, ensuring that it is not tampered with, modified, or destroyed without authorization. This includes the integrity of the application's code, configuration files, data, and runtime behavior. Ensuring application integrity is to ensure that the application runs as expected and is not destroyed by malware or external attackers, thereby ensuring security and reliability.

[0036] The execution subject of this embodiment is a trusted application manager, which can be used to install and start trusted applications. Through the trusted application manager, it is ensured that only applications that have passed integrity and security verification can be started normally, thereby avoiding impersonation and fraud during application installation or startup.

[0037] The target trusted application may be a trusted application that needs to be securely started. The program startup parameters may be parameters required by the trusted application manager to start the target trusted application, and may be pre-configured and stored in the trusted application manager. For example, the program startup parameters may include environment configuration parameters, input data parameters, network configuration parameters, security verification parameters, and log and debugging parameters.

[0038] The program start request may be a request to start a target trusted application, which may be initiated actively by a relevant technical staff, or initiated by a target trusted application, or automatically initiated by a trusted application manager based on set rules.

[0039] The trusted application manager performs integrity verification on the target trusted application. Specifically, the trusted application manager calculates the file hash value of each program file contained in the target trusted application, sorts and encodes each file hash value, and calculates the current hash value of the target trusted application in combination with the program version and program name of the target trusted application. The trusted application manager obtains the release hash value of the target trusted application when the program is released, and compares the current hash value with the release hash value. If the hash value comparison is successful, the integrity verification of the target trusted application is passed; if the hash value comparison fails, the integrity verification of the target trusted application fails.

[0040] If the trusted application manager passes the integrity verification of the target trusted application, the trusted application manager creates a target anonymous pipe between the trusted application manager and the target trusted application. The target anonymous pipe can include two pairs of anonymous pipes for parent-child communication, namely, an anonymous pipe for the trusted application manager to transmit data to the target trusted application and an anonymous pipe for the target trusted application to transmit data to the trusted application manager. At the same time of creation, a pipe descriptor corresponding to the target anonymous pipe is automatically generated, i.e., an input and output file descriptor, which is used to uniquely identify the target anonymous pipe that communicates with the target trusted application.

[0041] Optionally, creating a target anonymous pipe with a target trusted application includes: creating a target anonymous pipe with a target trusted application and generating a pipe descriptor of the target anonymous pipe; binding the pipe descriptor to the target anonymous pipe and establishing a mapping relationship between the pipe descriptor and a preset fixed descriptor; the target trusted application connects the target anonymous channel based on the fixed descriptor.

[0042] The fixed descriptor is a descriptor that is pre-negotiated with the target trusted application. On the side of the target trusted application, it can only know the fixed descriptor, not the pipe descriptor. On the side of the trusted application manager, it establishes a mapping relationship between the pipe descriptor and the fixed descriptor, specifically by copying the pipe descriptor to the fixed input and output file descriptor (fixed descriptor), thereby establishing a binding relationship with the target trusted application.

[0043] The target trusted application can be connected to the target anonymous pipe through a fixed descriptor; during the connection process, since the fixed descriptor and the pipe descriptor have a mapping relationship, the connection of the target trusted application can be mapped to the corresponding pipe descriptor to connect to the target anonymous pipe, and then communication can be established with the trusted application manager through the target anonymous pipe.

[0044] It should be noted that when the trusted application manager creates a target anonymous pipe between target trusted applications, it is necessary to shield other anonymous pipes. Other anonymous pipes are anonymous pipes other than the target anonymous pipe. The shielding purpose is to prevent other trusted application processes from accessing the pipes in the trusted application manager.

[0045] The trusted application manager starts the target trusted application according to the program startup parameters of the target trusted application, and monitors the program running state of the target trusted application, thereby determining whether the target trusted application is successfully started.

[0046] Optionally, the target trusted application runs in the following manner: connecting to the target anonymous pipe based on a fixed descriptor, and if the connection with the target anonymous pipe is successful, running its own application; if the connection with the target anonymous pipe fails, terminating its own application.

[0047] The technical solution of the embodiment of the present invention verifies the integrity of the target trusted application, and when the integrity verification passes, creates a target anonymous pipe between the target trusted application and shields other anonymous pipes, and starts the target trusted application according to the program startup parameters of the target trusted application, so that the target trusted application can connect to the target anonymous pipe and run its own application, thereby realizing the secure startup of the trusted application, identifying the identity of the trusted application process by using anonymous pipes to establish a secure channel for parent-child process communication, effectively avoiding impersonation and fraud in other communication methods during the connection process or after the connection is successful, and ensuring the integrity, security and reliability of the trusted application startup process.

[0048] After the trusted application is successfully started, it is necessary to perform a remote attestation operation before exchanging data with other requesting parties. Applications that have not been remotely attested are untrustworthy and there is a risk of data leakage. Therefore, this embodiment also provides a remote attestation method for a trusted application, which can ensure the reliability of the trusted application operating environment while also proving the reliability of the program identity itself.

[0049] In an optional embodiment, after starting the target trusted application according to the program startup parameters of the target trusted application so that the target trusted application connects to the target anonymous pipe and runs its own application, the method further includes:

[0050] Step a1, obtaining a remote attestation report acquisition request of a target trusted application; the remote attestation report acquisition request is generated by the target trusted application after successfully running its own application and receiving a remote attestation request from a data exchange party.

[0051] The data exchange party may be any party that exchanges data with the target trusted application. The data exchange party initiates a remote attestation request to the target trusted application; upon receiving the remote attestation request from the data exchange party, the target trusted application sends a remote attestation report acquisition request to the trusted application manager.

[0052] Step a2: Generate a target remote attestation report based on the remote attestation report acquisition request.

[0053] After receiving the remote attestation report acquisition request sent by the target trusted application, the trusted application manager parses the remote attestation report acquisition request and generates a target remote attestation report after authenticating the target trusted application.

[0054] Optionally, based on the remote attestation report acquisition request, a target remote attestation report is generated, including: based on the remote attestation report acquisition request, identifying the target trusted application, and generating an initial remote attestation report after the identification is passed; generating additional attestation information for the target trusted application, and attaching the additional attestation information to the initial remote attestation report to obtain an intermediate remote attestation report; and using the trusted execution environment private key to sign the intermediate remote attestation report to obtain the target remote attestation report.

[0055] Specifically, the trusted application manager parses the remote attestation acquisition request to obtain information such as the name, integrity hash value, program version, and program identifier of the trusted application, and based on the parsed results, identifies the target trusted application to ensure that the trusted application identity is reliable and authorized.

[0056] If the trusted application manager passes the identity recognition of the target trusted application, it obtains a chip-based virtual machine remote attestation report, i.e., the initial remote attestation report, based on the parsing results, such as the request source random number and program identifier. At the same time, it generates additional attestation information of the target trusted application, where the additional attestation information may include the integrity verification hash value, application name, and application version of the target trusted application. The additional attestation information is attached to the initial remote attestation report to obtain an intermediate remote attestation report.

[0057] The trusted application manager uses the virtual machine private key, that is, the trusted execution environment private key, to sign the intermediate remote attestation report to obtain the target remote attestation report.

[0058] Step a3: Send the target remote attestation report to the target trusted application through the target anonymous pipeline, so that the target trusted application can feed back the target remote attestation report to the data exchange party.

[0059] The trusted application manager sends the target remote attestation report to the target trusted application through the target anonymous pipe; the target trusted application feeds back the received target remote attestation report to the data exchange party, so that the data exchange party can perform program identity authentication based on the target remote attestation report.

[0060] Embodiment 2

[0061] This embodiment further provides a preferred example based on the above embodiment, which includes a trusted application startup process and a remote certification report acquisition process.

[0062] Figure 2A The following is a schematic diagram of a startup process interaction of a trusted application based on integrity verification according to Embodiment 2 of the present invention. The method is executed by a trusted application manager and specifically includes the following steps:

[0063] Step b1: Before the trusted application management starts the trusted application, the integrity of the feasible application is measured. The measurement method is consistent with the measurement method when the application is released. First, the hash of each file is calculated separately, and then all the file hashes are sorted and encoded. Combined with the name and version of the application, the hash of the trusted application is calculated.

[0064] Step b2: Compare the hash value of the integrity measurement with the hash value in the application release list. Before the comparison, the signature of the release list should also be verified. If the hash values ​​are the same, it means that the integrity verification is successful. Otherwise, it means that the integrity verification fails and the trusted application startup process is terminated.

[0065] Step b3: After the integrity verification is passed, two pairs of anonymous pipes are created for parent-child communication. At the same time, the child process is shielded from accessing the pipes in the parent process, and the input and output file descriptors of the corresponding child process are copied to a fixed input and output file descriptor to bind the trusted application process.

[0066] Step b4: start the trusted application according to the trusted application and the startup parameters, and monitor the running status of the application.

[0067] Step b5: When the trusted application is started as a child process, it connects to the anonymous communication channel. If the connection fails, it means that it is not started by the trusted application management, and the trusted application startup process is terminated.

[0068] After the anonymous communication channel is successfully connected, run the application logic normally.

[0069] Figure 2B This is a schematic diagram of a remote certification report acquisition process interaction provided by Embodiment 2 of the present invention, which specifically includes the following steps:

[0070] Step c1: When the trusted application receives a remote attestation request from a data exchange partner, it sends a remote attestation report acquisition request to the trusted application manager.

[0071] Step c2: The trusted application manager receives a remote attestation report acquisition request from the trusted application and identifies the trusted application process.

[0072] Step c3: If the identification is successful, the trusted application manager obtains a chip-based virtual machine remote attestation report according to the request information.

[0073] Step c4: The trusted application manager attaches the integrity information of the trusted application, including the integrity hash value, the trusted application name and the trusted application version, to the remote attestation report according to the trusted application process.

[0074] Step c5: The trusted application manager uses the virtual machine private key to sign the remote attestation report to which the trusted application integrity information is attached.

[0075] Step c6: The trusted application manager returns the signed remote attestation report to the corresponding trusted application through the bound anonymous channel.

[0076] Step c7: After receiving the remote attestation report, the trusted application responds to the trusted application of the data exchange partner for remote attestation verification.

[0077] Embodiment 3

[0078] Figure 3 A structural diagram of a trusted application startup device provided in the third embodiment of the present invention. A trusted application startup device provided in the embodiment of the present invention can be applied to trusted application installation, startup and operation, etc. The trusted application startup device can be implemented in the form of hardware and / or software, such as Figure 3 As shown, the device specifically includes: a verification module 301, a pipeline establishment module 302 and a program startup module 303. Among them,

[0079] The verification module 301 is used to respond to a program start request of a target trusted application program, perform integrity verification on the target trusted application program, and obtain an integrity verification result;

[0080] The pipeline establishment module 302 is used to create a target anonymous pipeline between the target trusted application and the target trusted application if the integrity verification result is verified to be passed, and shield other anonymous pipelines at the same time; the other anonymous pipelines are anonymous pipelines other than the target anonymous pipeline;

[0081] The program startup module 303 is used to start the target trusted application according to the program startup parameters of the target trusted application, so that the target trusted application can connect to the target anonymous pipe and run its own application.

[0082] The technical solution of the embodiment of the present invention verifies the integrity of the target trusted application, and when the integrity verification passes, creates a target anonymous pipe between the target trusted application and shields other anonymous pipes, and starts the target trusted application according to the program startup parameters of the target trusted application, so that the target trusted application can connect to the target anonymous pipe and run its own application, thereby realizing the secure startup of the trusted application, identifying the identity of the trusted application process by using anonymous pipes to establish a secure channel for parent-child process communication, effectively avoiding impersonation and fraud in other communication methods during the connection process or after the connection is successful, and ensuring the integrity, security and reliability of the trusted application startup process.

[0083] Optionally, the pipeline establishment module 302 is specifically used to:

[0084] A target anonymous pipe is created between the target trusted application and a pipe descriptor of the target anonymous pipe is generated; the pipe descriptor is bound to the target anonymous pipe and a mapping relationship between the pipe descriptor and a preset fixed descriptor is established; the target trusted application is connected to the target anonymous channel based on the fixed descriptor.

[0085] Optionally, the target trusted application is run as follows:

[0086] The target anonymous pipe is connected based on the fixed descriptor. If the connection with the target anonymous pipe is successful, the own application is run; if the connection with the target anonymous pipe fails, the own application is terminated.

[0087] Optionally, the device further comprises:

[0088] A request acquisition module, configured to acquire a remote attestation report acquisition request of the target trusted application after the target trusted application is started according to the program startup parameters of the target trusted application so that the target trusted application can connect to the target anonymous pipe and run its own application; the remote attestation report acquisition request is generated by the target trusted application when it successfully runs its own application and receives a remote attestation request from a data exchange party;

[0089] A report generation module, used to generate a target remote attestation report according to the remote attestation report acquisition request;

[0090] A report feedback module is used to send the target remote attestation report to the target trusted application through the target anonymous pipeline, so that the target trusted application can feed back the target remote attestation report to the data exchange party.

[0091] Optional report generation module, specifically for:

[0092] According to the remote attestation report acquisition request, the target trusted application is identified, and after the identification is passed, an initial remote attestation report is generated;

[0093] Generating additional attestation information of the target trusted application, and appending the additional attestation information to the initial remote attestation report to obtain an intermediate remote attestation report;

[0094] The intermediate remote attestation report is signed using a trusted execution environment private key to obtain a target remote attestation report.

[0095] Optionally, the additional certification information includes the integrity verification hash value, application name and application version of the target trusted application.

[0096] The trusted application startup device provided in the embodiment of the present invention can execute the trusted application startup method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0097] Embodiment 4

[0098] Figure 4 A schematic diagram of the structure of an electronic device 40 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0099] like Figure 4As shown, the electronic device 40 includes at least one processor 41, and a memory connected to the at least one processor 41, such as a read-only memory (ROM) 42, a random access memory (RAM) 43, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 41 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 42 or the computer program loaded from the storage unit 48 to the random access memory (RAM) 43. In the RAM 43, various programs and data required for the operation of the electronic device 40 can also be stored. The processor 41, the ROM 42, and the RAM 43 are connected to each other through a bus 44. An input / output (I / O) interface 45 is also connected to the bus 44.

[0100] A number of components in the electronic device 40 are connected to the I / O interface 45, including: an input unit 46, such as a keyboard, a mouse, etc.; an output unit 47, such as various types of displays, speakers, etc.; a storage unit 48, such as a disk, an optical disk, etc.; and a communication unit 49, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 49 allows the electronic device 40 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0101] The processor 41 may be a variety of general and / or dedicated processing components with processing and computing capabilities. Some examples of the processor 41 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 41 executes the various methods and processes described above, such as a trusted application startup method.

[0102] In some embodiments, the trusted application launch method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 48. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 40 via the ROM 42 and / or the communication unit 49. When the computer program is loaded into the RAM 43 and executed by the processor 41, one or more steps of the trusted application launch method described above may be performed. Alternatively, in other embodiments, the processor 41 may be configured to execute the trusted application launch method in any other appropriate manner (e.g., by means of firmware).

[0103] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0104] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0105] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0106] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0107] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0108] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0109] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0110] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A trusted application startup method, characterized in that: include: In response to a program start request of a target trusted application, performing integrity verification on the target trusted application to obtain an integrity verification result; If the integrity verification result is that the verification is passed, a target anonymous pipe is created between the target trusted application and other anonymous pipes are shielded; the other anonymous pipes are anonymous pipes other than the target anonymous pipe; The target trusted application is started according to the program startup parameters of the target trusted application, so that the target trusted application is connected to the target anonymous pipe and runs its own application.

2. The method according to claim 1, characterized in that The step of creating a target anonymous pipe between the target trusted application program and the target anonymous pipe comprises: A target anonymous pipe is created between the target trusted application and a pipe descriptor of the target anonymous pipe is generated; the pipe descriptor is bound to the target anonymous pipe and a mapping relationship between the pipe descriptor and a preset fixed descriptor is established; the target trusted application is connected to the target anonymous channel based on the fixed descriptor.

3. The method according to claim 2, characterized in that The target trusted application runs as follows: The target anonymous pipe is connected based on the fixed descriptor. If the connection with the target anonymous pipe is successful, the own application is run; if the connection with the target anonymous pipe fails, the own application is terminated.

4. The method according to claim 1, characterized in that: After starting the target trusted application according to the program startup parameters of the target trusted application so that the target trusted application connects to the target anonymous pipe and runs its own application, the method further includes: Obtaining a remote attestation report acquisition request of the target trusted application; the remote attestation report acquisition request is generated by the target trusted application after successfully running its own application and receiving a remote attestation request from a data exchange party; Generate a target remote attestation report according to the remote attestation report acquisition request; The target remote attestation report is sent to the target trusted application through the target anonymous pipe, so that the target trusted application feeds back the target remote attestation report to the data exchange party.

5. The method according to claim 4, characterized in that The step of generating a target remote attestation report according to the remote attestation report acquisition request includes: According to the remote attestation report acquisition request, the target trusted application is identified, and after the identification is passed, an initial remote attestation report is generated; Generating additional attestation information of the target trusted application, and appending the additional attestation information to the initial remote attestation report to obtain an intermediate remote attestation report; The intermediate remote attestation report is signed using a trusted execution environment private key to obtain a target remote attestation report.

6. The method according to claim 5, characterized in that The additional certification information includes the integrity verification hash value, application name and application version of the target trusted application.

7. A trusted application launching device, characterized in that: include: A verification module, configured to respond to a program start request of a target trusted application program, perform integrity verification on the target trusted application program, and obtain an integrity verification result; A pipeline establishment module, used for creating a target anonymous pipeline between the target trusted application and the target trusted application if the integrity verification result is a verification pass, while shielding other anonymous pipelines; the other anonymous pipelines are anonymous pipelines other than the target anonymous pipeline; The program startup module is used to start the target trusted application according to the program startup parameters of the target trusted application, so that the target trusted application can connect to the target anonymous pipe and run its own application.

8. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the trusted application startup method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the trusted application startup method according to any one of claims 1 to 6 when executed.

10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the computer program implements the trusted application launching method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • User authentication method, system, equipment and medium

    CN117978532A

  • Anonymous authentication with token redemption

    EP4162647A1

  • Privacy-preserving and secure application install attribution

    US20240095364A1

  • Anonymous authentication with token redemption

    WO2023027709A1

  • Method and system for re-associating anonymised data with a data owner

    WO2024104901A1