WO2020173332A1 - Procédé et appareil d'activation d'application basée sur un environnement d'exécution de confiance - Google Patents

Procédé et appareil d'activation d'application basée sur un environnement d'exécution de confiance Download PDF

Info

Publication number
WO2020173332A1
WO2020173332A1 PCT/CN2020/075688 CN2020075688W WO2020173332A1 WO 2020173332 A1 WO2020173332 A1 WO 2020173332A1 CN 2020075688 W CN2020075688 W CN 2020075688W WO 2020173332 A1 WO2020173332 A1 WO 2020173332A1
Authority
WO
WIPO (PCT)
Prior art keywords
trusted
activation
terminal device
key
code
Prior art date
Application number
PCT/CN2020/075688
Other languages
English (en)
Chinese (zh)
Inventor
黄腾
成亮
李海东
Original Assignee
阿里巴巴集团控股有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2020173332A1 publication Critical patent/WO2020173332A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Definitions

  • the present invention relates to the technical field of application security, and in particular to an application activation method and device based on a trusted execution environment. Background technique
  • the registration code file is not encrypted and stored in the device, so that it can be copied to other devices in plain text, and the software installed on other devices can be illegally cracked.
  • the content of the registration code file may be tampered with by users to illegally extend the number of uses or validity period of the software.
  • the registration code file is not bound to the device, so that the registration code file can be used in different devices, and the software installed on other devices is illegally cracked.
  • the present invention provides an application activation method and device based on a trusted execution environment to try to solve or at least alleviate the above problems.
  • a method for activating a trusted execution environment where the trusted execution environment is deployed in a terminal device, and the method includes: receiving a terminal device identifier sent by the terminal device; A trusted identity identifier and a trusted key corresponding to the terminal device identifier, and an activation code is generated according to the terminal device identifier; the trusted identity identifier, the trusted key, and the activation code are encrypted to generate activation information; The activation information is sent to the terminal device, so that the terminal device: decrypts the activation information to obtain a trusted identity, a trusted key, and an activation code, and transmits the trusted identity to the trusted The key and activation code are encrypted and stored in a secure storage space.
  • an activation verification method of a trusted execution environment which is executed in a trusted execution environment of a terminal device, and the method includes: obtaining a trusted identity, a trusted key, and a trusted The activation code of the execution environment, where the activation code includes use authority information and verification information of the trusted execution environment, and the verification information includes using the trusted key to pair the trusted identity, use authority information, and terminal
  • the ciphertext generated by encrypting the device identification; obtaining the terminal device identification, and encrypting the trusted identity, usage authority information, and terminal device identification with a trusted key to generate a first ciphertext; if the first ciphertext is If the text is consistent with the verification information, and the current use environment of the terminal device matches the use authority information, the trusted execution environment is activated successfully.
  • a terminal device wherein a trusted execution environment is deployed on the terminal device, the trusted execution environment includes an activation management application, and the activation management application is adapted to execute the above A trusted execution environment activation method, a trusted execution environment activation verification method, a trusted execution environment-based application activation method, and a trusted execution environment-based application activation verification method.
  • a server including: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, so
  • the program instructions include instructions for executing the trusted execution environment activation method and the application activation method based on the trusted execution environment as described above.
  • an application activation system based on a trusted execution environment including: the terminal device as described above; and the server as described above.
  • the invention provides an application activation scheme based on a trusted execution environment.
  • the trusted execution environment is an independent and trusted environment with an isolated hardware environment and an independent operating system, which can be used to store, process, and protect sensitive data.
  • the trusted execution environment in the terminal device is activated.
  • the trusted execution environment can provide trusted application activation to other applications of the terminal device.
  • the verification service to ensure the safety of other applications.
  • the activation code of the trusted execution environment and the registration code of the application are encrypted and stored in the secure storage space through the trusted execution environment.
  • the data in the secure storage space can only be read by the activation management application in the trusted execution environment, which ensures that Will not be illegally obtained and tampered with.
  • the server In the process of activating the trusted execution environment, the server generates the trusted identity and the trusted key of the terminal device. Subsequently, the trusted key is applied to the encrypted transmission process of the activation code of the trusted execution environment and the registration code of the application.
  • the trusted key is transmitted only once between the terminal device and the server, that is, during and only during the process of activating the trusted execution environment, the server encrypts the generated trusted key and transmits it to the terminal device.
  • the trusted key In the process of activating the application by the trusted execution environment, the trusted key is no longer transmitted. Therefore, the trusted key is only stored in the terminal device and the server. Even if other devices monitor the registration information transmitted between the terminal device and the server, since the trusted key cannot be obtained, it cannot decrypt the registration information.
  • the registration code is obtained, thereby further improving the transmission security of the application registration code.
  • Both the activation code of the trusted execution environment and the registration code of the application are embedded with the trusted identity of the terminal device, thereby ensuring the uniqueness and non-copyability of the activation code and registration code of each terminal device. If the activation code and registration code are maliciously tampered with, the activation verification of the trusted execution environment of the terminal device and the application will fail. In addition, even if the activation code and registration code are copied to other terminal devices, they cannot be used to activate the trusted execution environment or applications of other terminal devices.
  • Fig. 1 shows a schematic diagram of a trusted execution environment activation system 100 according to an embodiment of the present invention
  • Fig. 2 shows a schematic diagram of an application activation system 200 based on a trusted execution environment according to an embodiment of the present invention
  • FIG. 3 shows a flowchart of a method 300 (terminal device side) for activating a trusted execution environment according to an embodiment of the present invention
  • Fig. 9 shows a schematic diagram of an application activation process based on a trusted execution environment according to an embodiment of the present invention
  • Fig. 10 shows an application activation method 1000 based on a trusted execution environment according to an embodiment of the present invention (server side ) Flow chart;
  • FIG. 11 shows a method 1100 for verifying application activation based on a trusted execution environment according to an embodiment of the present invention Flow chart of;
  • Fig. 12 shows a schematic diagram of an application activation verification process based on a trusted execution environment according to an embodiment of the present invention. detailed description
  • the invention provides an application activation scheme based on a trusted execution environment.
  • the trusted execution environment in the terminal device is activated.
  • the trusted execution environment can provide trusted application activation to other applications of the terminal device. And activate the verification service to ensure the safety of other applications.
  • Fig. 1 shows a schematic diagram of a trusted execution environment activation system 100 according to an embodiment of the present invention.
  • the system 100 includes a terminal device 110 and a server 120.
  • the system 100 shown in FIG. 1 only includes one terminal device 110 and one server 120, those skilled in the art will understand that in practice, the system 100 may include any number of terminal devices 110 and server 120.
  • the present invention does not limit the number of terminal devices 110 and server 120 included in the system 100.
  • the terminal device 110 may be specifically implemented as any device, such as a mobile phone, a tablet computer, a smart wearable device, a smart home appliance, a car machine, a drone, etc., but is not limited thereto.
  • a trusted execution environment (TEE for short) and a rich execution environment (REE for short) are deployed in the terminal device 110.
  • the trusted execution environment and the rich execution environment have mutually isolated hardware and independent operating systems to meet the operating requirements of applications with different security levels.
  • the hardware isolation between the trusted execution environment and the rich execution environment can be realized by, for example, the security extension technology of ARM TrustZone or C-SKY, but is not limited to this.
  • Trusted applications cannot directly communicate with external parties (such as servers, other terminal devices, users, etc.), and It is necessary to use the common application in the rich execution environment as a communication relay, that is, the trusted application in the trusted execution environment communicates with the outside via the common application in the rich execution environment.
  • the server 120 may be any device that is used to provide a trusted execution environment online activation service to the terminal device 110, such as a physical server, or a computing instance deployed in the physical server, but is not limited to this.
  • the server 120 is used to provide the terminal device 110 with an online activation service of a trusted execution environment. After the trusted execution environment is activated, the terminal device 110 can use the trusted execution environment to process and protect sensitive data.
  • the trusted execution environment includes an activation management application 112, and the activation management application 112 communicates with the server 120 via an interface application 113 deployed in the rich execution environment, and is used to activate the trusted execution environment.
  • the activation management application 112 reads the terminal device identification, and sends the terminal device identification to the server 120 via the interface application 113.
  • the server 120 generates an activation code according to the terminal device identifier, generates a trusted identity identifier and a trusted key of the terminal device, and stores the trusted identity identifier and trusted key in association with the terminal device identifier.
  • the trusted identity identifier is a character string that can represent the uniqueness of the device.
  • the trusted key is a character string derived through a specific algorithm according to a trusted identity, and is used to encrypt key information related to the terminal device 110.
  • the server 120 encrypts the trusted identity, the trusted key, and the activation code to generate activation information, and sends the activation information to the activation management application 112 via the interface application 113.
  • the activation management application 112 decrypts the activation information to obtain the trusted identity, the trusted key, and the activation code, and then encrypts and stores the trusted identity, the trusted key, and the activation code in the secure storage space 111.
  • Common applications in the rich execution environment can call trusted applications in the trusted execution environment.
  • the called trusted application will further call the activation management application 112 to trigger the activation verification of the trusted execution environment.
  • the activation management application 112 reads the trusted identity, the trusted key, and the activation code from the secure storage space 111, and verifies whether the trusted execution environment is successfully activated according to the trusted identity, the trusted key, and the activation code. Then, The verification result is returned to the trusted application called by the ordinary application. If the verification activation is successful, the called trusted application executes the call of the normal application, and returns the call result to the normal application.
  • the first common application 114 in the rich execution environment is a shopping application
  • the first trusted application 115 is an electronic payment application.
  • the first common application 114 calls the first trusted application 115 to implement the electronic payment function.
  • First Trusted Application 115 After being called, the activation management application 112 is triggered to perform activation verification of the trusted execution environment.
  • the activation management application 112 reads the trusted identity, trusted key, and activation code from the secure storage space 111, verifies whether the trusted execution environment is successfully activated according to the trusted identity, trusted key, and activation code, and The verification result is returned to the first trusted application. If the verification activation is successful, the first trusted application 115 executes the call of the first common application 114 to implement the electronic payment function, and returns the call result (whether the payment is successful) to the first common application 114.
  • FIG. 2 shows a schematic diagram of an application activation system 200 based on a trusted execution environment according to an embodiment of the present invention.
  • the system 200 includes a terminal device 110 and a server 120.
  • a trusted execution environment and a rich execution environment are deployed in the terminal device 110, and a second common application 116 is deployed in the rich execution environment.
  • the second common application 116 may be activated based on the trusted execution environment.
  • the server 120 further includes an application server 122 and an authentication server 124.
  • the application server 122 is a server that provides methods and data calls to the second ordinary application 116, and can generate usage permission information (such as effective time, expiration time, available times, etc.) for activating the second ordinary application 116.
  • the authentication server 124 is used to verify the identity of the terminal device 110, generate verification information according to the use authority information, and encrypt the use authority information and the verification information, and so on.
  • the second common application 116 triggers the activation management application 112 to verify whether the trusted execution environment is successfully activated, and in the case that the trusted execution environment is successfully activated, sends the trusted identity of the terminal device to the application server 122.
  • the application server 122 sends the trusted identity to the authentication server 124.
  • the authentication server 124 verifies the identity of the terminal device 110, and returns the verification result to the application server 122. In the case that the authentication server 124 passes the verification, the application server 122 generates the use permission information of the second common application 116, and sends the use permission information to the authentication server 124.
  • step S310 the terminal device identifier is sent to the server.
  • the terminal device identifier is used to uniquely identify a terminal device. Since the terminal device identifier is unique, it can also be called a device fingerprint.
  • the terminal device identification can be, for example, the MAC (Media Access Control) address, CPU serial number, hard disk serial number and other information of the terminal device, or the calculation result obtained by processing the MAC address and CPU serial number of the terminal device, etc. , But not limited to this.
  • the present invention does not limit the specific content of the terminal equipment identification.
  • the terminal device identification is obtained by calling a corresponding data interface, and the data interface is usually provided by the manufacturer of the terminal device.
  • step S310 is executed by the activation management application in the trusted execution environment.
  • the activation management application 112 cannot directly communicate with the server, but sends the terminal device identification to the server via the interface application 113 in the rich execution environment.
  • an authentication code in addition to sending the terminal device identification to the server, an authentication code can also be generated according to the terminal device identification, and the authentication code is sent to the server together, so that the server can verify the authentication code. After the code verification is passed, an activation code is generated according to the terminal device identification.
  • the authentication code includes a preset key, a first cipher text, and a first mapping value, where the first cipher text is a cipher generated by using the preset key to encrypt the session key and the terminal device identifier.
  • the first mapping value is a value obtained by using a preset mapping function to map the session key and the terminal device identifier.
  • the preset key is one of the configuration information of the activation management application 112, and accordingly, the value of the preset key can be read from the configuration information of the activation management application.
  • the session key is generated by the terminal device, for example, by the activation management application 112.
  • the activation management application 112 when the activation management application 112 communicates with the server, the activation management application 112 will generate a token for this communication, the token including the preset key read from the configuration information And the generated session key. According to the preset key and the session key in the token, the first ciphertext can be determined, and then the authentication code can be generated.
  • the token may also include other information, such as the application identifier of the activation management application 112, the version number of the activation management application 112, and the purpose of the preset key. , Preset key types, etc. The present invention does not limit the specific information included in the token.
  • the encryption algorithm used to generate the first ciphertext and the mapping function used to generate the first mapping value can be set by those skilled in the art, and the present invention does not limit this.
  • the encryption algorithm used to generate the first ciphertext may be an AES encryption algorithm
  • the mapping function used to generate the first mapping value may be a hash algorithm, but is not limited to this.
  • the server can verify the authentication code according to the following method: read a preset key from the authentication code, and use the preset key to decrypt the first cipher text in the authentication code to obtain Session key and terminal device identification. Subsequently, the preset mapping function is used to calculate the second mapping value of the session key and the terminal device identifier, and if the second mapping value is consistent with the first mapping value in the authentication code, the authentication code verification is passed.
  • the preset key is Provisioning Key1
  • the first cipher text is Pro vis Encryp t (Session Key + Dev_FP), that is, the first cipher text is the provisioning key Provisioning Key1 used to pair the session key Session Key
  • the ciphertext obtained by encrypting with the terminal device identifier Dev_FP.
  • the first mapping value is Hash_Sha256 (Session Key + Dev_FP), that is, the first mapping value is the hash value of the session key Session Key calculated by using the SHA256 algorithm and the terminal device identifier Dev_FP.
  • the authentication code AuthCode1 may also include other fields, such as the application identifier of the activation management application 112, the version number of the activation management application 112, and the preset password.
  • the present invention does not limit the number and types of fields included in the authentication code.
  • the server After sending the authentication code AuthCode1 and the terminal device identification Dev_FP shown in Table 1 to the server, the server will verify the authentication code: first, read the provisioning key Provisioning Key1 from the authentication code AuthCode1. Subsequently, the Provisioning Key is used to decrypt the first ciphertext Provis io ning_Key_Encrypt (Session Key + Dev_FP) to recover the Session Key. Finally, the SHA256 algorithm is used to calculate the hash value of the recovered session key Session Key and the terminal device identification Dev_FP. If the hash value is the same as the first in AuthCode1 If the mapping values are consistent, the AuthCode1 verification is successful.
  • step S320 the activation information returned by the server is received, the activation information includes the encrypted trusted identity, the trusted key, and the activation code, where the trusted identity, the trusted key, and the terminal device identity are the same Correspondingly, the activation code is generated according to the terminal device identification.
  • the trusted identity and the trusted key are generated by the server.
  • the server generates a trusted identity and a trusted key, and stores the trusted identity and the trusted key in association with the terminal device identity.
  • a trusted identity identifier is a string that can represent the uniqueness of a device. It is used to uniquely identify a terminal device, and it has the security attributes of being non-tamperable, non-forgeable, and globally unique.
  • the trusted key is a character string derived through a specific algorithm based on the trusted identity, which is used to encrypt key information related to the terminal device corresponding to the trusted identity.
  • the activation code is generated according to the terminal device identification, and is used to activate the trusted execution environment of the terminal device. According to an embodiment, the activation code includes use permission information and verification information of the trusted execution environment.
  • the usage authority information can be configured, and it can include at least one of effective time, expiry time, and available times, and can also include other information except effective time, expiry time, and available times.
  • the invention does not limit the specific content included in the usage right information.
  • the verification information is used to verify the activation code to ensure that the activation code has not been illegally tampered with.
  • the verification information includes a cipher text generated by encrypting the trusted identity identifier, the use authority information, and the terminal device identifier using a trusted key.
  • the present invention does not limit the specific encryption algorithm used to generate the verification information.
  • the encryption algorithm used to generate the verification information may be, for example, the HMAC (Hash-based Message Authentication Code) algorithm, but is not limited thereto.
  • the activation code ActiCode may also include other fields, such as the algorithm used to encrypt the activation code ActiCode using a trusted key IDkey, The key check value KCV (Key Checksum Value) for verifying whether the trusted key IDkey has been tampered with, and the algorithm for generating the key check value KCV, etc.
  • the present invention is concerned with the number and types of fields included in the activation code There are no restrictions.
  • the activation information includes an encrypted trusted identity, a trusted key, and an activation code.
  • the activation information may be generated according to the following steps: encrypt the activation code with a trusted key to generate the activation code ciphertext; use the session key to encrypt the trusted identity, the trusted key, and the activation code
  • the text is encrypted to generate activation information.
  • the session key is determined in advance by the terminal device and the server. For example, the session key can be agreed upon in advance by the terminal device and the server before the terminal device transmits the terminal device identification and authentication code to the server; for another example, see Table 1. Session Key Session Key can be implicit in the authentication code AuthCode1 and transferred to the server; etc.
  • the steps for generating activation information are as follows: First, use the trusted key IDkey to encrypt the activation code ActiCode to generate the activation code ciphertext ActiCode’. Subsequently, the session key Session Key determined from the authentication code AuthCode1 is used to encrypt the trusted identity ID, the trusted key IDkey, and the activation code ciphertext ActiCode' to generate activation information.
  • step S330 is executed.
  • the decryption process of the activation information is as follows: First, the session key Session Key is used to decrypt the activation information to obtain the trusted identity ID, the trusted key IDkey, and the activation code ciphertext ActiCode'. Subsequently, the trusted key IDkey is used to decrypt the activation code ciphertext ActiCode' to obtain the activation code ActiCode.
  • step S340 is executed.
  • step S340 the trusted identity, the trusted key, and the activation code are encrypted and stored in a secure storage space.
  • the data in the secure storage space can only be read by the activation management application 112 in the trusted execution environment, which ensures that the data therein will not be illegally obtained or tampered with.
  • the trusted identity, trusted key, and activation code in step S330 instead of directly encrypting and storing the trusted identity, trusted key, and activation code in a secure storage space,
  • the activation code is first verified according to the terminal device identification to ensure that the activation information has not been illegally tampered with during the transmission process between the server and the terminal device. After the activation code is verified, the trusted identity, the trusted key and the activation code are encrypted and stored in the secure storage space.
  • the trusted execution environment of the terminal device is activated.
  • the trusted identity, trusted key, and activation code in the secure storage space 111 can only be read by the activation management application 112 in the trusted execution environment.
  • step S401 the user triggers the activation management application 112 to perform the trusted execution environment through the interface application 113 Activation verification.
  • step S402 and S403 the activation management application 112 reads the activation code ActiCode of the trusted execution environment from the secure storage space 111, verifies the ActiCode, and sends the verification result to the interface application 113 in step S404. If ActiCode is not stored in the secure storage space 111 or the activation management application 112 fails to verify the ActiCode, then in step S404, the activation management application 112 will return to the interface application 113 a result that the trusted execution environment is not activated. Subsequently, step S405 is executed.
  • step S405 the interface application 113 triggers the activation management application 112 to activate the trusted execution environment.
  • step S406 the activation management application 112 obtains the terminal device identifier Dev_FP through the interface provided by the terminal device manufacturer, obtains the preset key Provisioning Key1, and generates the session key Session Key.
  • step S407 the activation management application 112 generates an authentication code according to the terminal device identifier Dev_FP
  • AuthCode1 includes a preset key Provisioning Key1, a first ciphertext Pro vis io ning_Ke y_Encrypt (S es io n Key + Dev_FP), and a first mapping value Has h_S ha256 (S es s io n Key + Dev_FP)
  • step S410 the server 120 verifies the authentication code AuthCode1: First, read the preset key Provisioning Key1 from the authentication code AuthCode1. Subsequently, the Provisioning Key1 is used to decrypt the first cipher text Provisioning_Key_Encrypt (Session Key + Dev_FP) to recover the session key Session Key. Finally, the SHA256 algorithm is used to calculate the hash value of the recovered session key Session Key and the terminal device identifier Dev_FP. If the hash value is consistent with the first mapping value in AuthCode1, the authentication of AuthCode1 is successful. Subsequently, step S411 is executed.
  • step S411 the server 120 generates a trusted identity ID and a trusted key IDkey, and stores the trusted identity ID and the trusted key IDkey in association with the terminal device identity Dev_FP.
  • step S412 the server 120 generates the activation code ActiCode according to the terminal device identifier Dev_FP.
  • the ActiCode includes the effective time Stimel, the expiration time Etimel, the available times Timesl, and the verification information HMAC (IDkey, Dev_FP + ID + Stimel). + Etimel +Timesl ).
  • Use the trusted key IDkey to encrypt the activation code ActiCode to generate the activation code ciphertext ActiCode'; use the session key Session Key to encrypt the trusted identity ID, the trusted key IDkey, and the activation code ciphertext ActiCode', Generate activation information.
  • the server 120 sends the activation information to the interface application 113.
  • step S414 the interface application 113 sends the activation information to the activation management application 112.
  • step S415 the activation management application 112 uses the Session Key to decrypt the activation information to obtain the trusted identity ID, the trusted key IDkey, and the activation code ciphertext ActiCode'. Subsequently, the trusted key IDkey is used to decrypt the activation code ciphertext ActiCode' to obtain the activation code ActiCode.
  • step S416 the activation management application 112 obtains the terminal device identifier Dev_FP through the data interface provided by the manufacturer of the terminal device. Based on the HMAC algorithm, a trusted key IDkey is used to encrypt the terminal device identifier Dev_FP, the trusted identity identifier ID, the effective time Stimel, the expiration time Etimel, and the available times Times 1, to generate the second ciphertext. If they are consistent with the activation of the second ciphertext verification information is verified by the activation code, step S417 o
  • the activation management application 112 encrypts and stores the trusted identity ID, the trusted key IDkey, and the activation code ActiCode in the secure storage space 111, and the trusted execution environment is successfully activated.
  • step S419 the activation management application 112 feeds back the result of successful activation of the trusted execution environment to the interface application
  • the method 500 is executed in the server (for example, the server 120 shown in FIG. 1), which corresponds to the aforementioned method 300 executed in the terminal device. As shown in FIG. 5, the method 500 starts at step S510.
  • step S510 the terminal device identifier sent by the terminal device is received.
  • step S510 the server receives the terminal device identifier from the interface application 113.
  • step S510 in addition to receiving the terminal device identification, the authentication code sent by the terminal device is also received, and the authentication code is generated according to the terminal device identification.
  • the authentication code is verified, and after the authentication code is verified, step S520 is executed to generate an activation code according to the terminal device identifier.
  • the authentication code includes a preset key, a first cipher text, and a first mapping value, where the first cipher text is a cipher generated by using the preset key to encrypt the session key and the terminal device identifier.
  • the first mapping value is a value obtained by using a preset mapping function to map the session key and the terminal device identifier.
  • the server can verify the authentication code according to the following method: read the preset key from the authentication code, and use the preset key to decrypt the first cipher text in the authentication code to obtain the session key And terminal device identification. Subsequently, the preset mapping function is used to calculate the second mapping value of the session key and the terminal device identification, if the second mapping value is compared with the first mapping in the authentication code If the values are consistent, the authentication code verification is passed.
  • step S310 For the specific implementation steps of the generation and verification of the authentication code, please refer to the relevant description of the aforementioned step S310, which will not be repeated here.
  • step S520 a trusted identity identifier and a trusted key corresponding to the terminal device identifier are generated, and an activation code is generated according to the terminal device identifier.
  • the trusted identity identifier is used to uniquely identify a terminal device, and it has security attributes that cannot be tampered with, cannot be forged, and are globally unique.
  • the trusted key is a key corresponding to a trusted identity, which is used to encrypt key information.
  • the server can generate the trusted identity and the trusted key according to any algorithm, and the present invention does not limit the specific algorithm used to generate the trusted identity and the trusted key. After the trusted identity and the trusted key are generated, the trusted identity and the trusted key are associated and stored.
  • the activation code is generated according to the terminal device identification, and is used to activate the trusted execution environment of the terminal device. According to an embodiment, the activation code includes use permission information and verification information of the trusted execution environment.
  • the use authority information of the trusted execution environment is used to mark the use authority of the trusted execution environment.
  • the usage authority information may include, for example, effective time, expiration time, and available times, but is not limited to this.
  • the verification information is used to verify the activation code to ensure that the activation code has not been illegally tampered with.
  • the verification information includes a cipher text generated by encrypting the trusted identity identifier, the use authority information, and the terminal device identifier using a trusted key.
  • the present invention does not limit the specific encryption algorithm used to generate the verification information.
  • the encryption algorithm used to generate the verification information may be, for example, the HMAC algorithm, but is not limited thereto.
  • the activation code ActiCode please refer to Table 2 above, and will not be repeated here.
  • step S530 the trusted identity, the trusted key and the activation code are encrypted to generate activation information.
  • the activation code is encrypted with a trusted key to generate the activation code ciphertext; the session key is used to encrypt the trusted identity, the trusted key, and the activation code ciphertext to generate activation information .
  • the session key is used to encrypt the trusted identity, the trusted key, and the activation code ciphertext to generate activation information .
  • step S540 the activation information is sent to the terminal device, so that the terminal device: decrypts the activation information to obtain the trusted identity, the trusted key, and the activation code, and the trusted identity, the trusted key And the activation code are encrypted and stored in a secure storage space.
  • step S540 For the specific implementation process of step S540, reference may be made to the relevant descriptions of the foregoing steps S330 and 340, which are not repeated here.
  • Common applications in the rich execution environment can call trusted applications in the trusted execution environment. When a trusted application is called, the called trusted application will further call the activation management application 112 to trigger the activation of the trusted execution environment Verification.
  • FIG. 6 shows a flowchart of a method 600 for verifying activation of a trusted execution environment according to an embodiment of the present invention.
  • the method 600 is executed in the trusted execution environment of the terminal device, for example, executed by the activation management application 112 in the trusted execution environment. As shown in FIG. 6, the method 600 starts at step S610.
  • a trusted identity, a trusted key, and an activation code of a trusted execution environment are obtained.
  • the activation code includes use authority information and verification information of the trusted execution environment, and the verification information includes using a trusted key pair
  • the activation management application 112 reads the trusted identity ID, the trusted key IDkey, and the activation code ActiCode of the trusted execution environment from the secure storage space 111.
  • the activation code ActiCode further includes usage authority information.
  • the activation code ActiCode includes the effective time Stimel, the expiration time Etimel, and the available times Times 1, and the verification information HMAC (IDkey, Dev_FP + ID + Stimel + Etimel + Timesl) o
  • the verification information is based on the HMAC algorithm, using a trusted key IDkey to encrypt the terminal device ID Dev_FP, trusted identity ID, effective time Stimel, expiration time Etimel and available times Time si The generated message digest.
  • step S620 the terminal device identifier is obtained, and the trusted identity identifier, the use right information, and the terminal device identifier are encrypted by using the trusted key to generate a third ciphertext.
  • the terminal device identifier Dev_FP is obtained through the data interface provided by the terminal device manufacturer, and based on the HMAC algorithm, the trusted key IDkey is used to identify the trusted identity ID, effective time Stimel, expiration time Etimel, and available times Times 1 and the terminal device identifier Dev_FP are encrypted to generate the third ciphertext.
  • step S630 if the third ciphertext is consistent with the verification information, and the current use environment of the terminal device matches the use authority information, the trusted execution environment is activated successfully.
  • the activation management application 112 reads the trusted identity ID, the trusted key IDkey, and the activation code ActiCode of the trusted execution environment from the secure storage space 111. As shown in Table 2, ActiCode comprising effective time Stimel, expiration time Etimel, the available number of check information Times 1 and HMAC (IDkey, Dev_FP + ID + Stimel + Etimel + Timesl) o
  • step S705 the activation management application 112 obtains the terminal device identifier Dev_FP through the data interface provided by the manufacturer of the terminal device. Based on the HMAC algorithm, a trusted key IDkey is used to encrypt the trusted identity ID, the expiration time Stimel, the expiration time Etimel, the available times Timesl, and the terminal device identity Dev_FP to generate the third ciphertext. If the third cipher text is consistent with the verification information in the activation code, the activation code verification is passed, and the trusted execution environment has been activated.
  • step S706 the activation management application 112 sends the result that the trusted execution environment has been activated to the first trusted application 115.
  • step S707 the first trusted application 115 executes the call requested by the first normal application 114.
  • step S708 the first trusted application 115 returns the call result to the first normal application 114.
  • the trusted execution environment can provide activation and activation verification services to other applications of the terminal device 110, thereby ensuring the security of other applications.
  • FIG. 8 shows a flowchart of a method 800 for application activation based on a trusted execution environment according to an embodiment of the present invention.
  • the method 800 is executed in the trusted execution environment of the terminal device, for example, executed by the activation management application 112 in the trusted execution environment.
  • the method 200 can be used to activate common applications in a rich execution environment, such as the second common application 116 shown in FIG. 2. As shown in FIG. 8, the method 800 starts at step S810.
  • step S810 the trusted identity of the terminal device is sent to the server.
  • the trusted identity is stored in the secure storage space 111 of the terminal device, and it can only be read by a specific trusted application in the trusted execution environment, such as the activation management application 112. After the activation management application 112 obtains the trusted identity, it sends the trusted identity to the server 120 through the application to be activated in the rich execution environment (for example, the second common application 116 in FIG. 2).
  • the trusted identity of the terminal device before sending the trusted identity to the server, it is necessary to verify whether the trusted execution environment is successfully activated; in the case that the trusted execution environment is successfully activated, then the trusted identity of the terminal device is sent To the server.
  • the steps shown in the foregoing method 600 can be followed to verify whether the trusted execution environment is successfully activated. If If the trusted execution environment is successfully activated, the trusted execution environment is available, and the application to be activated can be activated based on the trusted execution environment. If the activation of the trusted execution environment fails, the trusted execution environment is unavailable. At this time, the aforementioned method 300 needs to be executed to activate the trusted execution environment. After the trusted execution environment is activated, the method 800 of the present invention can be executed.
  • step S810 in addition to sending the trusted identity to the server, step S810 also generates an authentication code based on the trusted identity, and sends the authentication code and the trusted identity to the server, so that the server can pair The authentication code is verified, and after the authentication code is verified, the registration code is generated according to the trusted identity.
  • the authentication code includes a preset key, a fourth cipher text, and a third mapping value, where the fourth cipher text is a cipher text generated by using the preset key to encrypt the trusted identity, and the first The three-mapping value is a value obtained by using a preset mapping function to map the trusted identity.
  • the preset key is one of the configuration information of the activation management application 112, and accordingly, the value of the preset key can be read from the configuration information of the activation management application.
  • the activation management application 112 when the activation management application 112 communicates with the server, the activation management application 112 will generate a token for this communication, the token including the preset key read from the configuration information .
  • the fourth ciphertext can be determined, and then the authentication code can be generated.
  • the token may also include other information, such as the application identifier of the activation management application 112, the version number of the activation management application 112, and the purpose of the preset key. , Preset key types, etc.
  • the present invention does not limit the specific information included in the token.
  • the encryption algorithm used to generate the fourth ciphertext and the mapping function used to generate the third mapping value can be set by those skilled in the art, and the present invention does not limit this.
  • the encryption algorithm used to generate the fourth ciphertext may be an AES encryption algorithm
  • the mapping function used to generate the third mapping value may be a hash algorithm, but is not limited to this.
  • the server can verify the authentication code to ensure that the authentication code and the trusted identity are not tampered with during transmission.
  • the server can verify the authentication code according to the following method:
  • Table 3 shows an example of the authentication code AuthCode2 in the application activation process based on the trusted execution environment: table 3
  • the preset key is Provisioning Key2
  • the fourth ciphertext is Provisioning_Key_Encrypt(ID)
  • SP the fourth ciphertext is the ciphertext obtained by using the provisioning key Provisioning Key2 to encrypt the trusted identity ID.
  • the third mapping value is Hash_Sha256(ID), that is, the third mapping value is the hash value of the trusted identity ID calculated using the SHA256 algorithm.
  • the authentication code AuthCode2 may also include other fields, such as the application identifier of the activation management application 112, the version number of the activation management application 112, and the preset secret.
  • the present invention does not limit the number and types of fields included in the authentication code.
  • the server After sending the authentication code AuthCode2 shown in Table 3 to the server, the server will verify the authentication code: First, read the provisioning key Provisioning Key2 from the authentication code AuthCode2. Subsequently, the fourth cipher text Provisioning_Key_Encrypt (ID) is decrypted using Provisioning Key2 to obtain a trusted identity ID. Finally, the SHA256 algorithm is used to calculate the hash value of the trusted identity ID. If the hash value is consistent with the third mapping value in AuthCode2, the AuthCode2 verification is successful.
  • step S820 the registration information returned by the server is received, the registration information includes the registration code encrypted with the trusted key corresponding to the trusted identity, and the registration code is generated based on the trusted identity.
  • the registration code is generated according to the trusted identity and used to activate the application to be activated.
  • the registration code includes usage permission information and verification information of the application to be activated.
  • the usage permission information of the application is used to mark the usage permission of the application.
  • the usage authority information may include, for example, effective time, expiration time, and available times, but is not limited thereto.
  • the usage authority information includes effective time and expiration time
  • the user can use the application normally only within the time range of effective time to expiration time, and the application is not available outside the time range of effective time to expiration time.
  • the usage permission information includes the available times
  • the usage permission information includes the available times, the user can only use the application within the available times. If the user uses the application for the available times, the application is no longer available.
  • the usage authority information can be configured, and it can include at least one of effective time, expiration time, and available times, and can also include other information except effective time, expiration time, and available times.
  • the invention does not limit the specific content included in the usage permission information of the application.
  • the verification information is used to verify the registration code to ensure that the registration code has not been illegally tampered with.
  • the verification information includes a cipher text generated by using a trusted key to encrypt the trusted identity and usage authority information.
  • the present invention does not limit the specific encryption algorithm used to generate the verification information.
  • the encryption algorithm used to generate the verification information may be, for example, the HMAC (Hash-based Message Authentication Code) algorithm, but is not limited thereto.
  • Table 4 shows an example of the registration code License:
  • the usage authority information of the application includes the effective time Stime2, the expiration time Etime2, and the available times Times2.
  • the verification information is HMAC (IDkey, ID + Stime2 + Etime2 + Times2), that is, the verification information is based on the HMAC algorithm, using a trusted key IDkey to identify the trusted identity ID, effective time Stime2, expiration time Etime2, and available times
  • the message digest generated by Times2 encryption is HMAC (IDkey, ID + Stime2 + Etime2 + Times2), that is, the verification information is based on the HMAC algorithm, using a trusted key IDkey to identify the trusted identity ID, effective time Stime2, expiration time Etime2, and available times.
  • the registration information includes the registration code encrypted with the trusted key corresponding to the trusted identity. That is, the server first determines the trusted key corresponding to the trusted identity, and then uses the trusted key to encrypt the registration code to generate registration information.
  • the process of encrypting the registration code to generate registration information in method 800 is slightly different from the process of encrypting the activation code to generate activation information in method 300.
  • the activation code is double-encrypted by the trusted key and the session key; in the method 800, the registration code is only single-encrypted by the trusted key. This is because in the method 300, the trusted key is generated for the first time, and the trusted key needs to be sent to the terminal device along with the activation code.
  • the session key to encrypt the trusted key to make the trusted key invisible to the outside.
  • the trusted key is not transmitted, but is only stored in the terminal device and the server. Even if other devices monitor the registration information transmitted between the terminal device and the server, since the trusted key cannot be obtained, It also cannot decrypt the registration information to obtain the registration code. Therefore, in the method 800, the security of the registration code can be ensured by only single-encrypting the registration code with the trusted key, and there is no need to use the session key for secondary encryption.
  • step S830 the trusted key is used to decrypt the registration information to obtain the registration code.
  • step S840 the registration code is encrypted and stored in a secure storage space.
  • the data in the secure storage space can only be read by the activation management application 112 in the trusted execution environment, which ensures that the data in it will not be illegally obtained. And tampering.
  • the registration code is not directly encrypted and stored in a secure storage space, but the registration code is first verified according to the trusted identity identifier to ensure that the registration information is on the server and the terminal device. No illegal tampering during the transmission. After the registration code is verified, the registration code is encrypted and stored in the secure storage space.
  • the verification process of the registration code license is as follows: Obtain the trusted key IDkey, based on the HMAC algorithm, use the trusted key IDkey to perform the trusted identity ID, effective time Stime2, expiration time Etime2, and available times Times2 Encrypt and generate the fifth ciphertext. If the fifth cipher text is consistent with the verification information in the registration code, the registration code verification is passed. Otherwise, the verification fails.
  • the registration code of the application to be activated is encrypted and stored in the secure storage space 111
  • the activation of the application to be activated is completed.
  • the registration code in the secure storage space 111 can only be read by the activation management application 112 in the trusted execution environment.
  • Fig. 9 shows a schematic diagram of an application activation process based on a trusted execution environment according to an embodiment of the present invention.
  • the secure storage space 111, the activation management application 112, and the second common application 116 are located in the terminal device, the activation management application 112 is a trusted application in a trusted execution environment, and the second common application 116 is a trusted application in a rich execution environment.
  • the application server 122 and the authentication server 124 are located on the server.
  • the application server 122 is used to provide methods and data calls to the second ordinary application 116, and generate use permission information of the second ordinary application 116 (for example, effective time, expiration time, available times, etc.).
  • the authentication server 124 is used to verify the identity of the terminal device 110, and to encrypt related data.
  • step S901 the second normal application 116 initiates a request to the activation management application 112 to initialize the trusted execution environment.
  • the activation management application 112 performs activation verification on the trusted execution environment based on the request. If the trusted execution environment activation verification is successful, step S902 is executed.
  • the activation management application 112 reads the trusted identity identification ID and the trusted key IDkey from the secure storage space 111.
  • step S904 the activation management application 112 generates the authentication code AuthCode2 according to the trusted identity ID.
  • AuthCode2 includes the preset key Provisioning Key2, the fourth cipher text ProvisioninLKey_Encrypt(ID), and the third mapping value. Hash_Sha256(ID).
  • step S905 the activation management application 112 sends the trusted identity ID and the authentication code AuthCode2 to The second general application 116.
  • step S906 the second common application 116 sends the trusted identity ID and the authentication code AuthCode2 to the application server 122.
  • step S907 the application server 122 to the trusted identity ID and the authentication code to the authentication server transmits AuthCode2 124 o
  • step S908 the authentication server 124 verifies the authentication code AuthCode2: First, read the preset key Provisioning Key2 from the authentication code AuthCode2. Subsequently, the fourth cipher text Provisioning_Key_Encrypt (ID) is decrypted using Provisioning Key2 to obtain a trusted identity ID. Finally, the SHA256 algorithm is used to calculate the hash value of the trusted identity ID. If the hash value is consistent with the third mapping value in AuthCode2, the AuthCode2 verification is successful.
  • step S909 the authentication server 124 returns the successful verification result of the authentication code AuthCode2 to the application server 122.
  • step S910 the application server 122 generates the use permission information of the second common application 116, referring to Table 4.
  • the use permission information includes the effective time Stime2, the expiration time Etime2, and the available times Times2.
  • step S911 the application server 122 sends the generated usage authority information to the authentication server 124.
  • step S912 the authentication server 124 generates verification information, referring to Table 4, the verification information is HMAC (IDkey, ID + Stime2 + Etime2 + Times2). Subsequently, the use permission information and verification information are combined to form the registration code License. Look up the trusted key IDkey corresponding to the trusted identity ID, and use the IDkey to encrypt the License to generate registration information.
  • the authentication server 124 sequentially passes through the application server 122 and the second common application 116, and sends the registration information to the activation management application 112.
  • step S916 the activation management application 112 uses the trusted key IDkey to decrypt the registration information to obtain the registration code License. Use the trusted key IDkey to encrypt the trusted identity ID, the effective time Stime2, the expiration time Etime2, and the available times Times2 to generate the fifth ciphertext. If the fifth ciphertext is consistent with the verification information in the License, the registration code verification is passed, and step S917 is executed.
  • the activation management application 112 encrypts and stores the registration code License in the secure storage space 111, and the second common application 116 is successfully activated.
  • step S919 the activation management application 112 feeds back the result of the successful activation of the second common application 116 to the second common application 116.
  • FIG. 10 shows a flow of an application activation method 1000 based on a trusted execution environment according to an embodiment of the present invention Cheng Tu.
  • the method 100 is executed in the server (for example, the server 120 shown in FIG. 2), and corresponds to the method 800 executed in the terminal device, and is suitable for the application to be activated (for example, the second ordinary application 116 shown in FIG. 2). ) To activate.
  • the server further includes an application server (for example, the application server 122 shown in FIG. 2) and an authentication server (for example, the authentication server 124 shown in FIG. 2), and the application server and the authentication server have a division of labor Collaborate to achieve application activation based on a trusted execution environment.
  • the application server can directly communicate with the application to be activated, and is used to provide methods and data calls to the application to be activated, and generate usage permission information of the application to be activated (for example, effective time, expiration time, available times, etc.).
  • the authentication server usually does not directly communicate with the application to be activated, and is used to verify the identity of the terminal device 110, and to encrypt related data.
  • the method begins at step 101000 S lOlO o
  • step S1010 the trusted identity sent by the terminal device is received.
  • the trusted identity is stored in the secure storage space 111 of the terminal device, and it can only be read by a specific trusted application in the trusted execution environment, such as the activation management application 112. After the activation management application 112 obtains the trusted identity, it is sent to the application server through the application to be activated. Correspondingly, the application server receives the trusted identity sent by the application to be activated.
  • step S1010 in addition to receiving the trusted identity, the authentication code sent by the terminal device is also accepted, and the authentication code is generated according to the trusted identity.
  • the authentication code is verified, and after the authentication code is verified, step S520 is executed to generate a registration code according to the trusted identity.
  • the application server 122 after the application server 122 receives the trusted identity and the authentication code sent by the second common application 116, it forwards the trusted identity and the authentication code to the authentication server 124, and the authentication server 124 To verify the authentication code.
  • the application server 122 After the application server 122 receives the trusted identity and the authentication code sent by the second common application 116, it forwards the trusted identity and the authentication code to the authentication server 124, and the authentication server 124 To verify the authentication code.
  • the application server 122 After the application server 122 receives the trusted identity and the authentication code sent by the second common application 116, it forwards the trusted identity and the authentication code to the authentication server 124, and the authentication server 124 To verify the authentication code.
  • step S1020 a registration code is generated according to the trusted identity.
  • the registration code includes use permission information and verification information of the application to be activated, where the use permission information is used to mark the use permission of the application, which may include, for example, effective time, expiration time, available times, etc. But it is not limited to this.
  • the verification information is used to verify the registration code to ensure that the registration code has not been illegally tampered with.
  • the verification information includes a cipher text generated by using a trusted key to encrypt the trusted identity identifier and the use authority information.
  • the usage permission information in the registration code is generated by the application server 122.
  • the application server 122 After the application server 122 generates the usage permission information, it sends the usage permission information to the authentication server 124, which is generated by the authentication server 124 Into the verification information.
  • the authentication server 124 For the specific generation process of the usage authority information and the verification information, reference may be made to the relevant description of the foregoing step S820, which is not repeated here.
  • step S1030 the trusted key corresponding to the trusted identity is used to encrypt the registration code to generate registration information.
  • step S1030 is performed by the authentication server 124.
  • step S1040 the registration information is sent to the terminal device, so that the terminal device: decrypts the registration information with the trusted key to obtain the registration code; and encrypts the registration code and stores it in a secure storage space.
  • step S1040 the authentication server 124 sequentially passes through the application 122 and the application to be activated, and sends the registration information to the activation management application 112 in the terminal device.
  • the activation management application 112 uses the trusted key to decrypt the registration information to obtain the registration code; and encrypts and stores the registration code in a secure storage space.
  • step S1040 For the specific implementation process of step S1040, reference may be made to the related descriptions of the foregoing steps S830 and S840, which will not be repeated here.
  • the activation verification of the application will be triggered. Only when it is verified that the application activation is successful, the user can use the application; if the verification of the application activation fails, the application is not available to the user.
  • FIG. 11 shows a flowchart of a method 1100 for verifying application activation based on a trusted execution environment according to an embodiment of the present invention.
  • the method 1100 is executed in the trusted execution environment of the terminal device, for example, executed by the activation management application 112 in the trusted execution environment.
  • the method l loo starts with step smo.
  • step smo the trusted identity, the trusted key, and the registration code of the application to be verified are obtained.
  • the registration code includes usage authority information and verification information, and the verification information is the use of the trusted key to the trusted identity, Use permission information to encrypt the generated ciphertext.
  • the activation verification application 112 obtains the trusted identity, the trusted key, and the registration code of the application to be verified from the secure storage space 111.
  • step S1120 a trusted key is used to encrypt the trusted identity and usage authority information to generate a sixth ciphertext.
  • step S1130 if the sixth ciphertext is consistent with the verification information, the registration code is sent to the application to be verified, so that the application determines whether the activation is successful according to whether the current use environment matches the use permission information.
  • the use permission information includes effective time, expiration time, and available times.
  • the current use environment of the application includes information such as time and used times. If the current time is within the range of effective time to expiration time, and the used times of the application are less than or equal to the available times, the current use environment matches the use permission information, and the application is successfully activated.
  • Fig. 12 shows a schematic diagram of an application activation verification process based on a trusted execution environment according to an embodiment of the present invention.
  • the secure storage space 111, the activation management application 112, and the second common application 116 are all located in the terminal device 110
  • the activation management application 112 is a trusted application in a trusted execution environment
  • the second common application 116 is a rich execution environment Common applications in.
  • step S1201 when the user uses the second common application 116, the second common application 116 initiates an activation verification request to the activation management application 112.
  • the activation management application 112 obtains the trusted identity ID, the trusted key IDkey, and the activation code ActiCode of the trusted execution environment from the secure storage space 111.
  • step S 1204 the activation management application 112 verifies whether the trusted execution environment is successfully activated according to the trusted identity ID, the trusted key IDkey, and the activation code ActiCode. In the case that the trusted execution environment is successfully activated, step S 1205 is continued.
  • the activation management application 112 obtains the registration code License from the secure storage space 111. See Table 4.
  • the License includes the effective time Stime2, the expiration time Etime2, the available times Times2, and the verification information HMAC (IDkey, ID + Stime2 + Etime2 + Times2).
  • step S 1207 the activation management application 112 uses the trusted key IDkey to encrypt the trusted identity ID, the effective time Stime2, the expiration time Etime2, and the available times Times2 to generate a sixth ciphertext. If the sixth ciphertext is consistent with the verification information in the License, step S1208 is executed.
  • step S 1208 the activation management application 112 sends the registration code to the second common application 116.
  • step S 1209 the second common application 116 obtains the current use environment, and the current use environment includes the current time and the number of times the second common application 116 has been used.
  • the various technologies described here can be implemented in combination with hardware or software, or a combination of them. Therefore, the method and device of the present invention, or some aspects or parts of the method and device of the present invention may be embedded in a tangible medium, such as a removable hard disk, U disk, floppy disk, CD-ROM, or any other machine-readable storage medium
  • a tangible medium such as a removable hard disk, U disk, floppy disk, CD-ROM, or any other machine-readable storage medium
  • program code ie instructions
  • the computing device When the program code is executed on a programmable computer, the computing device generally includes a processor, Read storage medium (including volatile and non-volatile memory and/or storage element), at least one input device, and at least one output device.
  • the memory is configured to store program code; the processor is configured to execute the application activation method based on the trusted execution environment of the present invention according to instructions in the program code stored in the memory.
  • readable media include readable storage media and communication media.
  • the readable storage medium stores information such as computer readable instructions, data structures, program modules, or other data.
  • Communication media generally embody computer-readable instructions, data structures, program modules, or other data by modulated data signals such as carrier waves or other transmission mechanisms, and include any information delivery media. Combinations of any of the above are also included in the scope of readable media.
  • modules or units or components of the device in the example disclosed herein can be arranged in the device as described in this embodiment, or alternatively can be positioned differently from the device in this example In one or more devices.
  • the modules in the preceding examples can be combined into one module or can be divided into multiple sub-modules.
  • modules or units or components in the embodiments can be combined into one module or unit or component, and in addition, they can be divided into multiple sub-modules or sub-units Or subcomponents. Except that at least some of such features and/or processes or units are mutually exclusive, any combination can be used to compare all features disclosed in this specification (including the accompanying claims, abstract and drawings) and any method or methods disclosed in this manner or All the processes or units of the equipment are combined. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
  • a processor with the necessary instructions for implementing the method or method element forms a device for implementing the method or method element.
  • the elements of the device embodiment described herein are examples of the device: The device is used to implement the function performed by the element for the purpose of implementing the invention.

Abstract

La présente invention concerne un procédé d'activation d'un environnement d'exécution de confiance, l'environnement d'exécution de confiance étant déployé dans un dispositif terminal. Le procédé consiste à : envoyer un identificateur de dispositif terminal à un serveur ; recevoir des informations d'activation renvoyées par un serveur, les informations d'activation comprenant un identificateur d'identité de confiance crypté, une clé de confiance et un code d'activation, l'identificateur d'identité de confiance et la clé de confiance correspondant à l'identificateur de dispositif terminal, et le code d'activation étant généré en fonction de l'identificateur de dispositif terminal ; décrypter les informations d'activation pour obtenir l'identificateur d'identité de confiance, la clé de confiance et le code d'activation ; et crypter et stocker l'identificateur d'identité de confiance, la clé de confiance et le code d'activation dans un espace de stockage sécurisé. La présente invention concerne également un procédé de vérification d'activation d'un environnement d'exécution de confiance, des procédés d'activation d'application basée sur un environnement d'exécution de confiance et des procédés de vérification d'activation, ainsi que des appareils correspondants.
PCT/CN2020/075688 2019-02-27 2020-02-18 Procédé et appareil d'activation d'application basée sur un environnement d'exécution de confiance WO2020173332A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910145498.3A CN111625829A (zh) 2019-02-27 2019-02-27 基于可信执行环境的应用激活方法及装置
CN201910145498.3 2019-02-27

Publications (1)

Publication Number Publication Date
WO2020173332A1 true WO2020173332A1 (fr) 2020-09-03

Family

ID=72240190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/075688 WO2020173332A1 (fr) 2019-02-27 2020-02-18 Procédé et appareil d'activation d'application basée sur un environnement d'exécution de confiance

Country Status (3)

Country Link
CN (1) CN111625829A (fr)
TW (1) TW202109320A (fr)
WO (1) WO2020173332A1 (fr)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112398818B (zh) * 2020-11-02 2023-03-07 深圳数联天下智能科技有限公司 一种软件激活方法及其相关装置
CN112349149A (zh) * 2020-11-05 2021-02-09 中国联合网络通信集团有限公司 网联无人机监察方法、客户端、网联无人机及监管平台
CN112507325B (zh) * 2020-12-03 2022-10-28 深圳天地宽视信息科技有限公司 一种设备访问权限的管理方法、装置、设备及存储介质
CN112632481A (zh) * 2020-12-11 2021-04-09 深圳市英威腾电气股份有限公司 用于对软件进行授权的方法、终端设备及存储介质
CN112635038A (zh) * 2020-12-24 2021-04-09 赛诺联合医疗科技(北京)有限公司 一种pet-ct设备的激活方法
CN112953951B (zh) * 2021-03-02 2022-04-12 浪潮云信息技术股份公司 一种基于国产cpu的用户登录验证和安全性检测方法及系统
CN112800436B (zh) * 2021-04-07 2021-06-29 支付宝(杭州)信息技术有限公司 数据授权方法、装置及电子设备
CN114301590B (zh) * 2021-12-28 2023-11-10 西安电子科技大学 基于tpm的无人机机载控制系统的可信启动方法及系统
CN114791834B (zh) * 2022-02-25 2024-04-26 数字广东网络建设有限公司 一种应用程序的启动方法、装置、电子设备及存储介质
CN115168816B (zh) * 2022-08-03 2023-08-04 明阳产业技术研究院(沈阳)有限公司 一种软件防盗版方法、装置、设备和介质
CN117375832B (zh) * 2023-12-06 2024-02-27 飞腾信息技术有限公司 密钥管理方法、装置、计算设备及计算机可读存储介质
CN117353921B (zh) * 2023-12-06 2024-02-13 飞腾信息技术有限公司 密钥管理方法、装置、计算设备及计算机可读存储介质
CN117556391B (zh) * 2023-12-28 2024-03-22 江苏万禾科技集团有限公司 激活码的生成方法、电子设备的激活方法及其装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182732A1 (en) * 2003-01-31 2005-08-18 Microsoft Corporation Systems and methods for using machine attributes to deter software piracy in an enterprise environment
CN101211394A (zh) * 2006-12-30 2008-07-02 智多微电子(上海)有限公司 软件授权的方法和装置
CN105656898A (zh) * 2016-01-07 2016-06-08 广西英腾教育科技股份有限公司 一种基于多维度信息的激活码数据处理系统及方法
CN106446613A (zh) * 2016-08-29 2017-02-22 武汉启目科技有限公司 一种终端预装应用程序的保护方法
CN107391971A (zh) * 2017-06-13 2017-11-24 北京航天发射技术研究所 一种软件许可授权的保护方法
CN107508791A (zh) * 2017-07-12 2017-12-22 武汉精伦电气有限公司 一种基于分散密钥加密的终端身份验证方法及系统
CN107679371A (zh) * 2017-09-25 2018-02-09 用友网络科技股份有限公司 软件许可控制方法、装置、计算机设备和可读存储介质
CN107784206A (zh) * 2017-11-10 2018-03-09 北京深思数盾科技股份有限公司 软件保护方法和装置以及软件验证方法和装置
CN107832589A (zh) * 2017-11-29 2018-03-23 苏州科达科技股份有限公司 软件版权保护方法及其系统
CN108376211A (zh) * 2018-02-07 2018-08-07 杭州矩视科技有限公司 一种软件授权管理方法、服务器及系统
CN109271757A (zh) * 2018-08-10 2019-01-25 神州网信技术有限公司 一种软件的离线激活方法及系统
US10218696B2 (en) * 2016-06-30 2019-02-26 Microsoft Technology Licensing, Llc Targeted secure software deployment

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182732A1 (en) * 2003-01-31 2005-08-18 Microsoft Corporation Systems and methods for using machine attributes to deter software piracy in an enterprise environment
CN101211394A (zh) * 2006-12-30 2008-07-02 智多微电子(上海)有限公司 软件授权的方法和装置
CN105656898A (zh) * 2016-01-07 2016-06-08 广西英腾教育科技股份有限公司 一种基于多维度信息的激活码数据处理系统及方法
US10218696B2 (en) * 2016-06-30 2019-02-26 Microsoft Technology Licensing, Llc Targeted secure software deployment
CN106446613A (zh) * 2016-08-29 2017-02-22 武汉启目科技有限公司 一种终端预装应用程序的保护方法
CN107391971A (zh) * 2017-06-13 2017-11-24 北京航天发射技术研究所 一种软件许可授权的保护方法
CN107508791A (zh) * 2017-07-12 2017-12-22 武汉精伦电气有限公司 一种基于分散密钥加密的终端身份验证方法及系统
CN107679371A (zh) * 2017-09-25 2018-02-09 用友网络科技股份有限公司 软件许可控制方法、装置、计算机设备和可读存储介质
CN107784206A (zh) * 2017-11-10 2018-03-09 北京深思数盾科技股份有限公司 软件保护方法和装置以及软件验证方法和装置
CN107832589A (zh) * 2017-11-29 2018-03-23 苏州科达科技股份有限公司 软件版权保护方法及其系统
CN108376211A (zh) * 2018-02-07 2018-08-07 杭州矩视科技有限公司 一种软件授权管理方法、服务器及系统
CN109271757A (zh) * 2018-08-10 2019-01-25 神州网信技术有限公司 一种软件的离线激活方法及系统

Also Published As

Publication number Publication date
TW202109320A (zh) 2021-03-01
CN111625829A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
WO2020173332A1 (fr) Procédé et appareil d'activation d'application basée sur un environnement d'exécution de confiance
WO2018050081A1 (fr) Procédé et appareil d'authentification d'identité de dispositif, et support de stockage
US10574460B2 (en) Mechanism for achieving mutual identity verification via one-way application-device channels
US8196186B2 (en) Security architecture for peer-to-peer storage system
KR102202547B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
US20200412554A1 (en) Id as service based on blockchain
KR102137122B1 (ko) 보안 체크 방법, 장치, 단말기 및 서버
TW201813361A (zh) 圖形碼資訊提供、獲取方法、裝置及終端
US20130097427A1 (en) Soft-Token Authentication System
JP2010514000A (ja) 電子装置にプログラム状態データをセキュアに記憶するための方法
CN116490868A (zh) 用于可信执行环境中的安全快速机器学习推理的系统和方法
KR101531662B1 (ko) 사용자 단말과 서버간 상호 인증 방법 및 시스템
WO2021190197A1 (fr) Procédé et appareil d'authentification de dispositif de paiement biométrique, dispositif informatique et support d'informations
US20220417028A1 (en) Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession
CN106992978B (zh) 网络安全管理方法及服务器
WO2016173211A1 (fr) Procédé et dispositif de gestion d'identificateur d'application
CN115277168A (zh) 一种访问服务器的方法以及装置、系统
CN108667800B (zh) 一种访问权限的认证方法及装置
JP2024501326A (ja) アクセス制御方法、装置、ネットワーク側機器、端末及びブロックチェーンノード
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
WO2014187208A1 (fr) Procédé et système de sauvegarde de clé privée d'un jeton de signature électronique
CN111740995A (zh) 一种授权认证方法及相关装置
CN115242471B (zh) 信息传输方法、装置、电子设备及计算机可读存储介质
JP2009199147A (ja) 通信制御方法および通信制御プログラム
CN111404680B (zh) 口令管理方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20763506

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20763506

Country of ref document: EP

Kind code of ref document: A1