WO2021082222A1 - 通信方法、存储方法、运算方法及装置 - Google Patents

通信方法、存储方法、运算方法及装置 Download PDF

Info

Publication number
WO2021082222A1
WO2021082222A1 PCT/CN2019/126409 CN2019126409W WO2021082222A1 WO 2021082222 A1 WO2021082222 A1 WO 2021082222A1 CN 2019126409 W CN2019126409 W CN 2019126409W WO 2021082222 A1 WO2021082222 A1 WO 2021082222A1
Authority
WO
WIPO (PCT)
Prior art keywords
application program
trusted
information
execution
user application
Prior art date
Application number
PCT/CN2019/126409
Other languages
English (en)
French (fr)
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 WO2021082222A1 publication Critical patent/WO2021082222A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Definitions

  • the present invention relates to the field of communication technology, in particular to a terminal communication method and device, a storage method and device, and an operation method and device.
  • the vehicle end and the server end usually use TLS (Transport Layer Security, Transport Layer Security) authentication, and it is a two-way authentication to ensure the confidentiality, integrity and credibility of communication.
  • TLS Transport Layer Security, Transport Layer Security
  • the car side must verify whether the server is a trusted server, and the server side must also verify whether the car side is a trusted car, otherwise the two parties will not establish normal communication.
  • the server and each vehicle must have an independent private key, certificate, and root certificate of the other party.
  • the root certificate is used to verify the authenticity of the other party's certificate, and the private key and certificate are used to negotiate the key.
  • the attacker can easily forge the server and connect the vehicle with a fake server to control the vehicle; if the private key is extracted or reversed, the attacker can forge the vehicle and communicate with the server. Authentication connection affects communication security.
  • the embodiment of the present invention provides a terminal communication method to solve the problems that the root certificate of the vehicle is easy to be replaced and the private key is easy to leak in the prior art.
  • the embodiment of the present invention also provides a terminal communication device to ensure the implementation and application of the above method.
  • the embodiment of the present invention discloses a communication method of a terminal, which is applied to an execution subject having a trusted application program and a user application program.
  • the program runs in an operating system environment, and the method includes:
  • the trusted application program verifies the first operation data set sent by the user application program, and generates a verification result for a preset execution object;
  • the trusted application signs the second operation data set sent by the user application to generate target data for the execution object;
  • the trusted application program sends the target data to the user application program, so that the execution subject sends the target data to the execution object.
  • the trusted execution environment corresponds to a key
  • the first operation data set includes a target root certificate adapted to the execution object and public key information
  • the first operation data set sent by the application program is verified, and the verification result for the execution object is generated, including:
  • the trusted application uses the root key to decrypt the target root certificate to obtain the initial root key for the public key information
  • the trusted application uses the initial root key to verify the public key information, generates the verification result, and returns the verification result to the user application.
  • the trusted execution environment corresponds to a key
  • the second operation data set includes target private key information adapted to the execution subject and handshake data for the execution object
  • the trusted The application program signs the second operation data set sent by the user application program to generate target data for the execution object, including:
  • the trusted application uses the root key to decrypt the target private key information to obtain the initial private key information for the handshake data;
  • the trusted application uses the initial private key information to sign the handshake data, generates target data, and returns the target data to the user application.
  • the trusted execution environment corresponds to a key
  • the method further includes:
  • the user application uses a preset first password to encrypt the preset first information to generate first encrypted information;
  • the first information includes an initial root certificate adapted to the execution object, or, adapted to The initial private key information of the execution subject;
  • the trusted application decrypts the first encrypted information sent by the user application to obtain the first information
  • the trusted application program encrypts the first information by using the root key to generate second encrypted information, where the second encrypted information includes the target root certificate, or the target private key information;
  • the user application program stores the second encrypted information in the file system of the execution subject.
  • the trusted application program verifies the first operation data set sent by the user application program, and generates a verification result for the execution object, including:
  • the trusted application verifies the first operation data set sent by the user application, and generates a verification result for the execution object;
  • the terminal sensitive information communication includes at least one of login services, payment services, online upgrade services, remote control services, and sensitive information distribution and upload services.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the embodiment of the present invention also provides a method for storing communication data, which is applied to an execution subject having a trusted application program and a user application program, the trusted application program runs in a trusted execution environment, and the user application program runs in a trusted execution environment.
  • the user application uses a preset first password to encrypt preset first information to generate first encrypted information, where the first information includes an initial root certificate that is adapted to the preset execution object, or is adapted to The initial private key information of the execution subject;
  • the trusted application decrypts the first encrypted information to obtain the first information
  • the trusted application program encrypts the first information by using the root key to generate second encrypted information, where the second encrypted information includes a target root certificate, or target private key information;
  • the user application program stores the second encrypted information in the file system of the execution subject.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the embodiment of the present invention also provides an operation method of communication data, which is applied to an executive body having a trusted application program and a user application program.
  • the trusted application program runs in a trusted execution environment
  • the user application program runs in a trusted execution environment.
  • Operating system environment, the trusted execution environment corresponds to a key, and the method includes:
  • the trusted application uses the root key to decrypt the target root certificate to obtain the initial root key for the public key information
  • the trusted application program uses the initial root key to perform operations on the public key information to generate a first operation result
  • the trusted application program returns the first operation result to the user application program.
  • it also includes:
  • the trusted application receives a second operation data set sent by the user application, where the second operation data includes preset target private key information and handshake data for the execution object;
  • the trusted application uses the root key to decrypt the target private key information to obtain the initial private key information for the handshake data;
  • the trusted application program uses the initial private key information to perform operations on the handshake data to generate a second operation result
  • the trusted application program returns the second operation result to the user application program.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the embodiment of the present invention also provides a communication device of a terminal, which is applied to an execution subject having a trusted application program and a user application program, the trusted application program runs in a trusted execution environment, and the user application program runs in an operation System environment, the device includes:
  • a verification module configured for the trusted application to verify the first operation data set sent by the user application, and to generate a verification result for a preset execution object
  • the signature module is configured to, when the verification result is that the execution object is authentic, the trusted application program signs the second operation data set sent by the user application program to generate target data for the execution object ;
  • the communication module is configured to send the target data to the user application by the trusted application, so that the execution subject sends the target data to the execution object.
  • the trusted execution environment corresponds to a key
  • the first operation data set includes a target root certificate and public key information corresponding to the execution object
  • the verification module includes:
  • the first decryption sub-module is used for the trusted application to decrypt the target root certificate by using the root key to obtain the initial root key for the public key information;
  • the verification sub-module is used for the trusted application program to verify the public key information using the initial root key, generate the verification result, and return the verification result to the user application program.
  • the trusted execution environment corresponds to a key
  • the second operation data set includes target private key information and handshake data for the execution object
  • the signature module includes:
  • the second decryption submodule is used for the trusted application program to decrypt the target private key information by using the root key to obtain the initial private key information for the handshake data;
  • the signature module is used for the trusted application program to use the initial private key information to sign the handshake data, generate target data, and return the target data to the user application program.
  • the trusted execution environment corresponds to a key
  • the device further includes:
  • the first encryption module is used for the user application to encrypt the preset first information with a preset first password to generate first encrypted information, the first information including the initial root adapted to the execution object Certificate, or, adapted to the initial private key information of the execution subject;
  • the first decryption module is configured to decrypt the first encrypted information by the trusted application to obtain the first information
  • the second encryption module is configured to use the root key for the trusted application to encrypt the first information sent by the user application to generate second encrypted information, where the second encrypted information includes the target root Certificate, or, target private key information;
  • the storage module is used for the user application to store the second encrypted information in the vehicle-mounted system of the execution subject.
  • the verification module includes:
  • the communication type acquisition sub-module is used to acquire the communication type between the execution subject and the execution object
  • the verification submodule is used for when the communication type is terminal sensitive information communication, the trusted application verifies the first operation data set sent by the user application, and generates a verification result for the execution object ;
  • the terminal sensitive information communication includes at least one of login services, payment services, online upgrade services, remote control services, and sensitive information distribution and upload services.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the embodiment of the present invention also provides a communication data storage device, which is applied to an execution subject having a trusted application program and a user application program, the trusted application program runs in a trusted execution environment, and the user application program runs in a trusted execution environment.
  • Operating system environment the trusted execution environment corresponds to a key
  • the device includes:
  • the first encryption module is used for the user application to encrypt the preset first information using the preset first password to generate first encrypted information, the first information including the initial root certificate corresponding to the preset execution object , Or, the initial private key information corresponding to the execution subject;
  • a decryption module used for the trusted application to decrypt the first encrypted information to obtain the first information
  • the second encryption module is used for the trusted application program to encrypt the first information by using the root key to generate second encrypted information, the second encrypted information including the target root certificate, or the target private key information;
  • the information storage module is used for the user application to store the second encrypted information in the file system of the execution subject.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the embodiment of the present invention also provides a computing device for communication data, which is applied to an executive body having a trusted application program and a user application program, the trusted application program runs in a trusted execution environment, and the user application program runs in a trusted execution environment.
  • Operating system environment the trusted execution environment corresponds to a key
  • the device includes:
  • the first data set acquisition module is used for the trusted application program to receive a first operation data set sent by the user application, the first operation data set including a preset target root certificate and information on a preset execution object Public key information;
  • a first decryption module configured for the trusted application program to decrypt the target root certificate by using the root key to obtain the initial root key for the public key information
  • the first calculation module is used for the trusted application program to use the initial root key to perform calculations on the public key information to generate a first calculation result
  • the first result return module is used for the trusted application program to return the first operation result to the user application program.
  • it also includes:
  • the second data set acquisition module is used for the trusted application program to receive a second operation data set sent by the user application, the second operation data including preset target private key information and information on the execution object Handshake data;
  • the second decryption module is used for the trusted application program to decrypt the target private key information by using the root key to obtain the initial private key information for the handshake data;
  • a second calculation module configured for the trusted application program to use the initial private key information to perform calculations on the handshake data to generate a second calculation result
  • the second result return module is used for the trusted application program to return the second operation result to the user application program.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the trusted application program runs in a trusted execution environment
  • the user application program runs in an operating system environment.
  • the first operation data set sent by the user application is verified, and a verification result for the preset execution object is generated. Then, when the verification result is that the execution object is credible, the trusted application performs the second operation data set sent by the user application.
  • the trusted application sends the target data to the user application, so that the execution subject sends the target data to the execution object, thereby verifying the execution object in the trusted execution environment,
  • the handshake data between the execution subject and the execution object is signed to ensure the security of the root certificate and the private key, thereby improving the security of the communication between the execution subject and the execution object.
  • FIG. 1 is a flowchart of the steps of Embodiment 1 of a terminal communication method of the present invention
  • Embodiment 2 is a flowchart of the steps of Embodiment 2 of a terminal communication method of the present invention
  • FIG. 3 is a flowchart of steps of an embodiment of a method for storing communication data of the present invention
  • FIG. 4 is a flowchart of steps of an embodiment of a method for calculating communication data of the present invention
  • FIG. 5 is a structural block diagram of an embodiment of a terminal communication device of the present invention.
  • FIG. 6 is a structural block diagram of an embodiment of a method for storing communication data of the present invention.
  • Fig. 7 is a structural block diagram of an embodiment of a communication data operation method of the present invention.
  • Embodiment 1 of a terminal communication method of the present invention there is shown a step flow chart of Embodiment 1 of a terminal communication method of the present invention.
  • the method is applied to an executive body having a trusted application program and a user application program, and the trusted application program runs on A trusted execution environment, where the user application program runs in an operating system environment, may specifically include the following steps:
  • Step 101 The trusted application verifies the first operation data set sent by the user application, and generates a verification result for the execution object;
  • TLS authentication is required between the terminal and the server, and mutual authentication is used to ensure the confidentiality, integrity, and credibility of communication.
  • Both the server and the terminal need to have independent private keys, certificates, and each other's root certificate.
  • the root certificate is used to verify the authenticity of the other party's certificate, and the private key and certificate are used to negotiate the key.
  • the terminal must verify whether the server is a trusted server, and the server must also verify whether the terminal is a trusted terminal, otherwise the two parties will not establish normal communication.
  • the execution subject may include at least one of a vehicle, a drone, a mobile terminal, and a PC terminal
  • the execution object may include at least one of a server and a database
  • the execution subject may be connected via a network or near-field. Communication, etc. communicate with the execution object.
  • the execution subject is referred to as the terminal below, and the execution object is the server as an example for illustrative description.
  • the chip of the terminal may include a trusted execution environment (Trusted Execution Environment operating system, TEE OS) and an operating system environment (Rich operating system, Rich OS).
  • TEE OS provides a secure execution environment for trusted applications (TA), while also protecting the confidentiality, integrity and access rights of TA’s resources and data.
  • TEE OS external API Application Programming Interface, Application Programming Interface
  • CA Application Programming Interface
  • the terminal when the terminal communicates with the server, the terminal can first verify the server to determine whether the server is a trusted server, so as to prevent the terminal from connecting with a fake server, thereby controlling the terminal. Then, the terminal can verify the first operation data set sent by the user application running in the operating system environment through the trusted application running in the trusted execution environment, and generate a verification result for the server.
  • Step 102 When the verification result is that the execution object is authentic, the trusted application signs a second operation data set sent by the user application to generate target data for the execution object;
  • the verification result includes the verification result that the server is trusted and the verification result that the server is not trusted.
  • the terminal can perform the second operation data set sent by the user application through the trusted application. Sign, and then generate target data for the server, thereby establishing a communication connection with the server, so that data transmission between the terminal and the server, and realize the corresponding function.
  • Step 103 The trusted application program sends the target data to the user application program, so that the execution subject sends the target data to the execution object.
  • the signed target data can be sent to the user application, and the terminal sends the target data to the server, thereby establishing a connection between the vehicle and the server.
  • the communication connection ensures the security of the communication between the terminal and the server.
  • the trusted application program runs in a trusted execution environment
  • the user application program runs in an operating system environment.
  • the first operation data set sent by the user application is verified, and a verification result for the preset execution object is generated. Then, when the verification result is that the execution object is credible, the trusted application performs the second operation data set sent by the user application.
  • the trusted application sends the target data to the user application, so that the execution subject sends the target data to the execution object, thereby verifying the execution object in the trusted execution environment,
  • the handshake data between the execution subject and the execution object is signed to ensure the security of the root certificate and the private key, thereby improving the security of the communication between the execution subject and the execution object.
  • FIG. 2 there is shown a step flow chart of the second embodiment of a terminal communication method of the present invention.
  • the method is applied to a vehicle with a trusted application and a user application.
  • the trusted application runs on a
  • the user application program runs in the operating system environment, which may specifically include the following steps:
  • Step 201 The trusted application verifies the first operation data set sent by the user application, and generates a verification result for a preset server;
  • the vehicle when the vehicle communicates with the server, the vehicle can first verify the server to determine whether the server is a trusted server, so as to prevent the vehicle from connecting with a fake server, thereby controlling the vehicle. Then, the vehicle can verify the first operation data set sent by the user application running in the operating system environment through the trusted application program running in the trusted execution environment, and generate a verification result for the server.
  • the feasible execution environment and the operating system environment can run on the same processor, and the processor corresponds to a unique root key, thereby ensuring the real-time performance of terminal communication and reducing Hardware and development costs.
  • the execution subject may include at least one of vehicles, drones, mobile terminals, and PC terminals
  • the execution object may include at least one of a server and a database
  • the execution subject may be connected via a network or near-field. Communication, etc. communicate with the execution object.
  • the following example describes the vehicle as the execution subject and the server as the execution object, and the present invention is not limited to this.
  • the chip of the vehicle may include the trusted execution environment TEE OS and the operating system Rich OS.
  • TEE OS provides a secure execution environment for trusted applications TA, and also protects the confidentiality, integrity and access rights of TA's resources and data.
  • TEE OS external API allows users running in Rich OS The application CA accesses TA's services and data, so that TEE OS not only has an independent and trusted computing environment, but also can conveniently provide services for Rich OS.
  • the TEE OS of each chip has a unique root key, which cannot be read, and the data encrypted by this root key can only be decrypted in the TEE OS of the chip, so that it can The root key is used to encrypt and decrypt the data communicated by the vehicle to ensure the security of the data.
  • the process of reading and using it needs to be performed in TEE OS.
  • TEE OS can perform operations on the operation data set sent by Rich OS by providing an operation interface. Operation ensures the safety of data operation.
  • the vehicle when the vehicle communicates with the server, the vehicle can verify the server to determine whether the server is a trusted server, so as to prevent the vehicle from connecting with a fake server, thereby controlling the vehicle. Then, the vehicle can verify the first operation data set sent by the user application running in the operating system environment through the trusted application program running in the trusted execution environment, and generate a verification result for the server.
  • the first operation data set may include a target root certificate adapted to the server and public key information.
  • step 201 may include the following sub-steps:
  • Sub-step S11 acquiring the communication type between the execution subject and the execution object
  • Sub-step S12 when the communication type is terminal sensitive information communication, the trusted application verifies the first operation data set sent by the user application, and generates a verification result for the execution object;
  • the terminal sensitive information communication includes at least one of login services, payment services, online upgrade services, remote control services, and sensitive information distribution and upload services.
  • the server can be verified first to ensure that the server is a trusted server.
  • the vehicle-mounted system of the vehicle can first obtain the communication type between the vehicle and the server.
  • the communication type belongs to the login service, payment service, online upgrade service, remote control service, and sensitive information delivery and
  • a trusted verification of the server is triggered, and the first operation data set sent by the user application running in the operating system environment is performed through the trusted application running in the trusted execution environment. Verify and generate verification results for the server.
  • the target root certificate is the root certificate encrypted with the root key of TEE OS.
  • the on-board system can call The root certificate verification interface of the CA transmits the public key information to the CA, and then the CA can obtain the target root certificate, and send the target root certificate and the public key information to the TA as the first operation data set.
  • the TA receives the first operation data set, it can use the root key to decrypt the target root certificate, thereby obtaining the initial root key for the root key, that is, the root key of the plaintext, and then the root key of the plaintext can be used.
  • the key performs calculation verification on the public key information, thereby generating a verification calculation result, and then the verification calculation result can be returned to the user application to inform the user whether the server is trustworthy or not.
  • the execution subject may encrypt the preset first information by using the preset first password through the user application to generate the first encrypted information, and the first information includes the appropriate The initial root certificate allocated to the preset server, or the initial private key information adapted to the vehicle; the trusted application decrypts the first encrypted information to obtain the first information; The trust application uses the root key to encrypt the first information to generate second encrypted information.
  • the second encrypted information includes the target root certificate or target private key information; the user application encrypts the The second encrypted information is stored in the file system of the execution subject.
  • the first password can be a universal password
  • the CA can provide a certificate preset/update interface, so that before the vehicle performs TLS authentication service, the universal password can be used by the CA for the initial root certificate adapted to the server, or suitable
  • the initial private key information allocated to the vehicle is encrypted to obtain the first encrypted information, and the first encrypted information is sent to the TA, so as to ensure the security of the root certificate or the private key information before entering the TEE OS.
  • the initial root certificate is an unencrypted root certificate adapted to the server
  • the initial private key information is unencrypted private key information adapted to the vehicle.
  • the TA When the TA receives the first encrypted information, it can decrypt the first encrypted information with the fixed key corresponding to the universal password to obtain the initial root certificate adapted to the server or the initial private key information adapted to the vehicle, and then TA can use the root key to re-encrypt the initial root certificate adapted to the server or the initial private key information adapted to the vehicle, generate second encrypted information, and then send the second encrypted information to the CA, so that the CA can
  • the target root certificate encrypted by the root key and the target private key information encrypted by the root key are stored in the vehicle-mounted system to realize the secure storage of the root key and the private key information and ensure the security of vehicle communication.
  • the initial root certificate adapted to the server or the initial private key information adapted to the vehicle can be performed using the universal password through CA1.
  • Encrypt, generate the first encrypted information, and send the first encrypted information to TA1 decrypts the first encrypted information to obtain the initial root certificate adapted to the server, or the initial private key information adapted to the vehicle, Then TA1 can use the root key to re-encrypt the initial root certificate adapted to the server, or re-encrypt the initial private key information adapted to the vehicle to generate second encrypted information, and use the root key to encrypt the target root certificate
  • the target private key information is sent to CA1, and CA1 stores the target root certificate and target private key information in the file system of the vehicle.
  • the vehicle system can call the root certificate verification interface of CA2 to obtain the target root certificate stored in the file system and the public key information for the server, and then transfer the target root certificate and public key
  • the information is sent to TA2, and TA2 uses the root key to decrypt the target root certificate to obtain the root certificate in plain text, and then uses the root certificate in the plain text to verify the public key information to determine whether the server’s public key information is trustworthy.
  • it is determined whether the server is credible, so as to prevent the vehicle from establishing a communication connection with an untrusted server, ensuring the security of vehicle communication, and avoiding losses to the user.
  • Step 202 When the verification result is that the server is authentic, the trusted application signs the second operation data set sent by the user application to generate target data for the server;
  • the verification operation result can be obtained, which may include the verification result that the execution object is credible and the verification result that the execution object is not credible.
  • the trusted application can sign the second operation data set sent by the user application to generate target data for the execution object, thereby establishing a communication connection with the execution object.
  • the second operation data set may include target private key information adapted to the execution subject and handshake data for the execution object.
  • the handshake data can be a certification request for the vehicle to establish a communication connection with the server.
  • the on-board system can call the CA's private key signature interface. And pass the handshake data to the CA, and then the CA can obtain the target private key information, and send the handshake data and the target private key information to the TA as the second operation data set.
  • the TA receives the second operation data set, it can use the root key to decrypt the target private key information, and obtain the initial private key information for the handshake data, and then use the initial private key information to sign the handshake data.
  • the certificate and the private key information adapted to the vehicle are encrypted, decrypted, and calculated to realize the security of the entire life cycle of the root certificate and private key information, thereby ensuring the security of communication between the vehicle and the server.
  • the initial root certificate adapted to the server or the initial private key information adapted to the vehicle can be performed using the universal password through CA1.
  • Encrypt, generate the first encrypted information, and send the first encrypted information to TA1 decrypts the first encrypted information to obtain the initial root certificate adapted to the server, or the initial private key information adapted to the vehicle, Then TA1 can use the root key to re-encrypt the initial root certificate adapted to the server, or re-encrypt the initial private key information adapted to the vehicle to generate second encrypted information, and use the root key to encrypt the target root certificate
  • the target private key information is sent to CA1, and CA1 stores the target root certificate and target private key information in the file system of the vehicle.
  • the vehicle system can call the root certificate verification interface of CA2 to obtain the target root certificate stored in the file system and the public key information for the server, and then transfer the target root certificate and public key
  • the information is sent to TA2, and TA2 uses the root key to decrypt the target root certificate to obtain the root certificate in plain text, and then uses the root certificate in the plain text to verify the public key information to determine whether the server’s public key information is trustworthy.
  • it is determined whether the server is credible, so as to prevent the vehicle from establishing a communication connection with an untrusted server, ensuring the security of vehicle communication, and avoiding losses to the user.
  • the vehicle-mounted system can call the CA2 private key signature interface to obtain the target private key information stored in the file system, and obtain the handshake data for the server, and then send the target private key information and handshake data to TA2:
  • TA2 uses the root key to decrypt the target private key information to obtain the plaintext private key information, and then uses the plaintext private key information to sign the handshake data to obtain the target data, so as to realize the vehicle's effective handshake data
  • Sexual authentication enables the server to authenticate the data sent by the vehicle, preventing illegal vehicles from reporting false information and illegally requesting data after the authentication connection with the server, ensuring the data security of the server.
  • Step 203 The trusted application program sends the target data to the user application program, so that the vehicle sends the target data to the server.
  • the signed target data can be sent to the user application, so that the vehicle-mounted system can send the target data to the execution object to establish the execution subject and
  • the communication connection between the execution objects ensures the security of the execution subject's networking.
  • the application services of the vehicle need to be connected to the Internet, such as login services, payment services, online upgrade services, remote control services, and sensitive information distribution and upload services. They put forward higher requirements for communication security: between the vehicle and the server.
  • TLS authentication is used between and mutual authentication is used to ensure the confidentiality, integrity and credibility of communication.
  • the vehicle does not load the root certificate and private key information from the vehicle’s file system or memory, nor does it perform calculations in the local memory, but sends the data to be processed through the CA
  • data encryption, decryption, and calculations are performed in TEE OS.
  • it can ensure the security of the entire life cycle of root certificates and private keys, and on the other hand, it can ensure the security of vehicle networking.
  • the trusted application program runs in a trusted execution environment
  • the user application program runs in an operating system environment.
  • the first operation data set sent by the user application is verified, and a verification result for the preset execution object is generated. Then, when the verification result is that the execution object is credible, the trusted application performs the second operation data set sent by the user application.
  • the trusted application sends the target data to the user application, so that the execution subject sends the target data to the execution object, thereby verifying the execution object in the trusted execution environment,
  • the handshake data between the execution subject and the execution object is signed to ensure the security of the root certificate and the private key, thereby improving the security of the communication between the execution subject and the execution object.
  • FIG. 3 there is shown a step flow chart of an embodiment of a method for storing communication data of the present invention.
  • the method is applied to an executive body with a trusted application program and a user application program.
  • the trusted application program runs on A trusted execution environment, where the user application program runs in an operating system environment, and the trusted execution environment corresponds to a key, which may specifically include the following steps:
  • Step 301 The user application uses a preset first password to encrypt preset first information to generate first encrypted information, where the first information includes an initial root certificate adapted to the preset execution object, or, The initial private key information adapted to the execution subject;
  • Step 302 The trusted application decrypts the first encrypted information to obtain the first information
  • Step 303 The trusted application uses the root key to encrypt the first information to generate second encrypted information, where the second encrypted information includes the target root certificate, or the target private key information;
  • Step 304 The user application program stores the second encrypted information in the file system of the execution subject.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the trusted application program runs in a trusted execution environment
  • the user application program runs in an operating system environment.
  • the first operation data set sent by the user application is verified, and a verification result for the preset execution object is generated. Then, when the verification result is that the execution object is credible, the trusted application performs the second operation data set sent by the user application.
  • the trusted application sends the target data to the user application, so that the execution subject sends the target data to the execution object, thereby verifying the execution object in the trusted execution environment,
  • the handshake data between the execution subject and the execution object is signed to ensure the security of the root certificate and the private key, thereby improving the security of the communication between the execution subject and the execution object.
  • FIG. 4 there is shown a flow chart of the steps of an embodiment of a method for computing communication data of the present invention.
  • the method is applied to an execution object with a trusted application program and a user application program.
  • the trusted application program runs on A trusted execution environment, where the user application program runs in an operating system environment, and the trusted execution environment corresponds to a key, which may specifically include the following steps:
  • Step 401 The trusted application receives a first operation data set sent by the user application, where the first operation data set includes a preset target root certificate and public key information for the execution object;
  • Step 402 The trusted application uses the root key to decrypt the target root certificate to obtain an initial root key for the public key information
  • Step 403 The trusted application program uses the initial root key to perform an operation on the public key information to generate a first operation result
  • Step 404 The trusted application program returns the first operation result to the user application program.
  • Step 405 The trusted application receives a second operation data set sent by the user application, where the second operation data includes preset target private key information and handshake data for the execution object;
  • Step 406 The trusted application uses the root key to decrypt the target private key information to obtain the initial private key information for the handshake data;
  • Step 407 The trusted application program uses the initial private key information to perform operations on the handshake data to generate a second operation result
  • Step 408 The trusted application program returns the second operation result to the user application program.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the execution subject when the execution subject needs to use the root certificate to sign the public key information of the execution object, or use the private key information to sign the handshake data, the data to be processed and the encrypted file system can be encrypted through the user application.
  • Root certificate or private key information is transferred to TEE OS, decrypted with the root key through trusted applications, and performed operations, thereby verifying the execution object in the trusted execution environment, and simultaneously verifying the execution subject and the execution object
  • the handshake data is signed to ensure the security of the root certificate and the private key, thereby improving the security of the communication between the execution subject and the execution object.
  • FIG. 5 there is shown a structural block diagram of an embodiment of a communication device for a terminal of the present invention, which is applied to an executive body having a trusted application program and a user application program, the trusted application program running in a trusted execution environment,
  • the user application program runs in an operating system environment, and may specifically include the following modules:
  • the verification module 501 is configured to verify the first operation data set sent by the user application by the trusted application, and generate a verification result for a preset execution object;
  • the signature module 502 is configured to, when the verification result is that the execution object is authentic, the trusted application program signs the second operation data set sent by the user application program to generate a target for the execution object data;
  • the communication module 503 is configured to send the target data to the user application by the trusted application, so that the execution subject sends the target data to the execution object.
  • the trusted execution environment corresponds to a key
  • the first operation data set includes a target root certificate and public key information corresponding to the execution object
  • the verification module 501 includes:
  • the first decryption sub-module is used for the trusted application to decrypt the target root certificate by using the root key to obtain the initial root key for the public key information;
  • the verification sub-module is used for the trusted application program to verify the public key information using the initial root key, generate the verification result, and return the verification result to the user application program.
  • the trusted execution environment corresponds to a key
  • the second operation data set includes target private key information and handshake data for the execution object
  • the signature module 502 includes:
  • the second decryption submodule is used for the trusted application program to decrypt the target private key information by using the root key to obtain the initial private key information for the handshake data;
  • the signature module 502 is used for the trusted application program to use the initial private key information to sign the handshake data, generate target data, and return the target data to the user application program.
  • the trusted execution environment corresponds to a key
  • the device further includes:
  • the first encryption module is used for the user application to encrypt the preset first information with a preset first password to generate first encrypted information, the first information including the initial root adapted to the execution object Certificate, or, adapted to the initial private key information of the execution subject;
  • the first decryption module is used for the trusted application to decrypt the first encrypted information to obtain the first information
  • the second encryption module is configured to use the root key for the trusted application to encrypt the first information sent by the user application to generate second encrypted information, where the second encrypted information includes the target root Certificate, or, target private key information;
  • the storage module is used for the user application to store the second encrypted information in the vehicle-mounted system of the execution subject.
  • the verification module 501 includes:
  • the communication type acquisition sub-module is used to acquire the communication type between the execution subject and the execution object
  • the verification submodule is used for when the communication type is terminal sensitive information communication, the trusted application verifies the first operation data set sent by the user application, and generates a verification result for the execution object ;
  • the terminal sensitive information communication includes at least one of login services, payment services, online upgrade services, remote control services, and sensitive information distribution and upload services.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • FIG. 6 there is shown a structural block diagram of an embodiment of a communication data storage device of the present invention, which is applied to an executive body with a trusted application program and a user application program, the trusted application program running in a trusted execution environment ,
  • the user application program runs in an operating system environment;
  • the trusted execution environment corresponds to a key, and the device includes:
  • the first encryption module 601 is used for the user application to encrypt preset first information using a preset first password to generate first encrypted information, the first information including the initial root corresponding to the preset execution object Certificate, or, initial private key information corresponding to the execution subject;
  • the decryption module 602 is used for the trusted application program to decrypt the first encrypted information to obtain the first information
  • the second encryption module 603 is used for the trusted application program to encrypt the first information using the root key to generate second encrypted information, where the second encrypted information includes the target root certificate, or the target private Key information
  • the information storage module 604 is used for the user application to store the second encrypted information in the file system of the execution subject.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • FIG. 7 there is shown a structural block diagram of an embodiment of a computing device for communication data of the present invention, which is applied to an executive body with a trusted application program and a user application program, the trusted application program running in a trusted execution environment ,
  • the user application program runs in an operating system environment;
  • the trusted execution environment corresponds to a key, and the device includes:
  • the first data set acquisition module 701 is configured to receive, by the trusted application, a first operation data set sent by the user application, the first operation data set includes a preset target root certificate and a preset execution object Public key information;
  • the first decryption module 702 is configured to use the root key to decrypt the target root certificate by the trusted application to obtain the initial root key for the public key information;
  • the first calculation module 703 is used for the trusted application program to use the initial root key to perform calculations on the public key information to generate a first calculation result
  • the first result returning module 704 is configured to return the first operation result to the user application by the trusted application.
  • the second data set acquisition module is used for the trusted application program to receive a second operation data set sent by the user application, the second operation data including preset target private key information and information on the execution object Handshake data;
  • the second decryption module is used for the trusted application program to decrypt the target private key information by using the root key to obtain the initial private key information for the handshake data;
  • a second calculation module configured for the trusted application program to use the initial private key information to perform calculations on the handshake data to generate a second calculation result
  • the second result return module is used for the trusted application program to return the second operation result to the user application program.
  • the trusted execution environment and the operating system environment run on the same processor; the processor corresponds to a unique root key.
  • the execution subject includes at least one of a vehicle, a drone, a mobile terminal, and a PC terminal; the execution object includes at least one of a server and a database.
  • the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment.
  • the embodiment of the present invention also provides a terminal, including:
  • One or more processors are One or more processors.
  • the embodiment of the present invention also provides one or more machine-readable media on which instructions are stored, which when executed by one or more processors, cause the processors to execute the method described in the embodiments of the present invention.
  • the embodiments of the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may be implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, EEPROM, Flash, eMMC, etc.) containing computer-usable program codes. The form of a computer program product.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, EEPROM, Flash, eMMC, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing terminal equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the instruction device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing terminal equipment, so that a series of operation steps are executed on the computer or other programmable terminal equipment to produce computer-implemented processing, so that the computer or other programmable terminal equipment
  • the instructions executed above provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种通信方法、存储方法、运算方法及装置,所述通信方法通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。

Description

通信方法、存储方法、运算方法及装置 技术领域
本发明涉及通信技术领域,特别是涉及一种终端的通信方法及装置、一种存储方法及装置、一种运算方法及装置。
背景技术
随着车辆逐渐智能化和网联化,车辆上越来越多的应用服务需要联网,它们对通信安全提出了更高要求。例如,车端和服务端通常使用TLS(Transport Layer Security,传输层安全性协议)认证,并且是双向认证,以确保通信的保密性、完整性和可信性。车端要验证服务器是否为可信的服务器,服务端也要验证车端是否为可信的车,否则双方不会建立正常通信。在验证过程中,需要服务端和每个车端都要拥有独立的私钥、证书和对方的根证书。在TLS握手过程中,根证书用于验证对方证书的真实,私钥和证书用于协商密钥。
因此,如果根证书被替换,攻击者容易伪造服务端,使车辆与一个假的服务器连接,从而控制车辆;如果私钥被提取或者被逆向出来,攻击者就可以伪造车端,与服务端进行认证连接,影响通信安全。
发明内容
本发明实施例提供了一种终端的通信方法,以解决现有技术中车辆的根证书容易被替换,私钥容易泄露的问题。
相应的,本发明实施例还提供了一种终端的通信装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种终端的通信方法,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述方法包括:
所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
可选地,所述可信执行环境对应于一根密钥;所述第一运算数据集包括适配所述执行客体的目标根证书以及公钥信息;所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果,包括:
所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序。
可选地,所述可信执行环境对应于一根密钥;所述第二运算数据集包括适配所述执行主体的目标私钥信息以及针对所述执行客体的握手数据;所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据,包括:
所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
可选地,所述可信执行环境对应于一根密钥,所述方法还包括:
所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息;所述第一信息包括适配于所述执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
所述可信应用程序对所述用户应用程序发送的所述第一加密信息进行解密,得到所述第一信息;
所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二 加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
可选地,所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果,包括:
获取所述执行主体与所述执行客体之间的通信类型;
当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种通信数据的存储方法,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述方法包括:
所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于预设执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种通信数据的运算方法,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述可信执行环境对应于一根密钥,所述方法包括:
所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
所述可信应用程序将所述第一运算结果返回所述用户应用程序。
可选地,还包括:
所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
所述可信应用程序将所述第二运算结果返回所述用户应用程序。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种终端的通信装置,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述装置包括:
验证模块,用于所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
签名模块,用于当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
通信模块,用于所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
可选地,所述可信执行环境对应于一根密钥,所述第一运算数据集包括目标根证书以及与所述执行客体对应的公钥信息,所述验证模块包括:
第一解密子模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
验证子模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序。
可选地,所述可信执行环境对应于一根密钥,所述第二运算数据集包括目标私钥信息以及针对所述执行客体的握手数据,所述签名模块包括:
第二解密子模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
签名模块,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
可选地,所述可信执行环境对应于一根密钥,所述装置还包括:
第一加密模块,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于所述执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
第一解密模块,用于所述可信应用程序对所述第一加密信息进行解密, 得到所述第一信息;
第二加密模块,用于所述可信应用程序采用所述根密钥对所述用户应用程序发送的所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
存储模块,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的车载系统中。
可选地,所述验证模块包括:
通信类型获取子模块,用于获取所述执行主体与所述执行客体之间的通信类型;
验证子模块,用于当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种通信数据的存储装置,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一加密模块,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括与预设执行客体对应的初始根证书,或,与所述执行主体对应的初始私钥信息;
解密模块,用于所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
第二加密模块,用于所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
信息存储模块,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例还提供了一种通信数据的运算装置,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
第一解密模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
第一运算模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
第一结果返回模块,用于所述可信应用程序将所述第一运算结果返回所述用户应用程序。
可选地,还包括:
第二数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
第二解密模块,用于所述可信应用程序采用所述根密钥对所述目标私钥 信息进行解密,得到针对所述握手数据的初始私钥信息;
第二运算模块,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
第二结果返回模块,用于所述可信应用程序将所述第二运算结果返回所述用户应用程序。
可选地,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
可选地,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
本发明实施例包括以下优点:
在本发明实施例中,应用于具有可信应用程序以及用户应用程序的执行主体,其中,可信应用程序运行于可信执行环境,用户应用程序运行与操作系统环境,通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
附图说明
图1是本发明的一种终端的通信方法实施例一的步骤流程图;
图2是本发明的一种终端的通信方法实施例二的步骤流程图;
图3是本发明的一种通信数据的存储方法实施例的步骤流程图;
图4是本发明的一种通信数据的运算方法实施例的步骤流程图;
图5是本发明的一种终端的通信装置实施例的结构框图;
图6是本发明的一种通信数据的存储方法实施例的结构框图;
图7是本发明的一种通信数据的运算方法实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种终端的通信方法实施例一的步骤流程图,所述方法应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,具体可以包括如下步骤:
步骤101,所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
随着终端逐渐智能化和网联化,终端上越来越多的应用服务需要联网,比如登陆服务、支付服务、在线升级、远程车控、数据下发和上报等,它们对通信安全提出了更高要求。举例而言,终端和服务器之间需要使用TLS认证,并且是双向认证,以确保通信的保密性、完整性和可信性。则需要服务器和终端都拥有独立的私钥、证书以及对方的根证书,在TLS握手过程中,根证书用于验证对方证书的真实性,私钥和证书则用于协商密钥。终端要验证服务器是否为可信的服务器,服务器也要验证终端是否为可信的终端,否则双方不会建立正常通信。
作为一种示例,执行主体可以包括车辆、无人机、移动终端以及PC终端中的至少一种终端,执行客体可以包括服务器以及数据库中的至少一种,则执行主体可以通过网络连接、近场通信等等与执行客体进行通信连接。为了便于理解与说明,以下称执行主体为终端,并以执行客体为服务器为例进行示例性说明。
在具体实现中,在终端的芯片中可以包括可信执行环境(Trusted Execution Environment operating system,TEE OS),以及操作系统环境(Rich operating system,Rich OS)。其中,TEE OS提供了可信应用程序(Trusted Application,TA)的安全执行环境,同时也保护了TA的资源和数据的保密性,完整性和访问权限,同时TEE OS外部API(Application Programming Interface,应用程序编程接口)则可以让运行在Rich OS中的用户应用程序 (Client Application,CA)访问TA的服务和数据,从而TEE OS既拥有独立可信的计算环境,又能方便为Rich OS提供服务。
在具体实现中,终端与服务器进行通信时,终端可以先对服务器进行验证,以判断服务器是否为可信服务器,避免终端与一个假的服务器连接,从而控制终端。则终端可以通过运行在可信执行环境中的可信应用程序,对运行在操作系统环境中的用户应用程序发送的第一运算数据集进行验证,并生成针对服务器的验证结果。
步骤102,当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
在具体实现中,验证结果包括服务器可信的验证结果以及服务器不可信的验证结果,当验证结果为服务器可信时,终端可以通过可信应用程序对用户应用程序发送的第二运算数据集进行签名,然后生成针对服务器的目标数据,从而建立与服务器之间的通信连接,以便终端与服务器之间进行数据传输,并实现相应的功能。
步骤103,所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
在具体实现中,可信应用程序对第二运算数据集签名完毕后,可以将签名后的目标数据发送至用户应用程序,并由终端将目标数据发送至服务器,从而建立车辆与服务器之间的通信连接,保证了终端与服务器之间通信的安全性。
在本发明实施例中,应用于具有可信应用程序以及用户应用程序的执行主体,其中,可信应用程序运行于可信执行环境,用户应用程序运行与操作系统环境,通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行 客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
参照图2,示出了本发明的一种终端的通信方法实施例二的步骤流程图,所述方法应用于具有可信应用程序以及用户应用程序的车辆,其中,可信应用程序运行于可信执行环境,用户应用程序运行于操作系统环境,具体可以包括如下步骤:
步骤201,所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设服务器的验证结果;
在具体实现中,车辆与服务器进行通信时,车辆可以先对服务器进行验证,以判断服务器是否为可信服务器,避免车辆与一个假的服务器连接,从而控制车辆。则车辆可以通过运行在可信执行环境中的可信应用程序,对运行在操作系统环境中的用户应用程序发送的第一运算数据集进行验证,并生成针对服务器的验证结果。
在本发明实施例的一种可选实施例中,可行执行环境与操作系统环境可以运行于同一处理器中,且处理器对应于唯一的根密钥,从而保证终端通信的实时性,并降低硬件和开发成本。
需要说明的是,执行主体可以包括车辆、无人机、移动终端以及PC终端中的至少一种终端,执行客体可以包括服务器以及数据库中的至少一种,则执行主体可以通过网络连接、近场通信等等与执行客体进行通信连接。为了方便了解与描述,以下以车辆为执行主体,以服务器为执行客体进行示例行描述,本发明不局限于此。
作为一种示例,在车辆的芯片中可以包括可信执行环境TEE OS,以及操作系统Rich OS。其中,TEE OS提供了可信应用程序TA的安全执行环境,同时也保护了TA的资源和数据的保密性,完整性和访问权限,同时TEE OS外部API则可以让运行在Rich OS中的用户应用程序CA访问TA的服务和数据,从而TEE OS既拥有独立可信的计算环境,又能方便为Rich OS提供 服务。
在具体实现中,每个芯片的TEE OS都拥有独一无二的根密钥,此根密钥无法读出,且经过此根密钥加密的数据只能在本芯片的TEE OS中才能解密,从而可以通过该根密钥对车辆通信的数据进行加密、解密,保证数据的安全性。同时,对于高度敏感的通信数据,在Rich OS中是不可见的,其读取和使用的过程需要在TEE OS中进行,则TEE OS可以通过提供运算接口,对Rich OS发送的运算数据集进行运算,保证了数据运算的安全性。
在本发明实施例中,车辆与服务器进行通信时,车辆可以对服务器进行验证,以判断服务器是否为可信服务器,避免车辆与一个假的服务器连接,从而控制车辆。则车辆可以通过运行在可信执行环境中的可信应用程序,对运行在操作系统环境中的用户应用程序发送的第一运算数据集进行验证,并生成针对服务器的验证结果。其中,第一运算数据集可以包括适配所述服务器的目标根证书以及公钥信息。
在本发明实施例的一种可选实施例中,为了降低反复进行通信验证,可以通过设置对敏感通信类型的通信过程进行验证,则步骤201可以包括如下子步骤:
子步骤S11,获取所述执行主体与所述执行客体之间的通信类型;
子步骤S12,当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。当终端需要进行这些通信服务时,可以先对服务器进行验证,确保服务器为可信的服务器。
在本发明实施例的一种示例中,车辆的车载系统可以先获取车辆与服务器之间的通信类型,当通信类型属于登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种时,则触发对服务器进行可信验证,通过运行在可信执行环境中的可信应用程序,对运行在操作系统环境中的用户应用程序发送的第一运算数据集进行验证,并生成针对服务 器的验证结果。
在具体实现中,目标根证书为采用TEE OS的根密钥进行加密的根证书,则在车辆进行TLS认证服务过程中,当需要验证服务器的公钥信息是否为可信时,车载系统可以调用CA的根证书验证接口,并将公钥信息传递给CA,接着CA可以获取目标根证书,并将目标根证书以及公钥信息作为第一运算数据集发送至TA。当TA接收到第一运算数据集后,可以先采用根密钥对目标根证书进行解密,从而得到针对根密钥的初始根密钥,即明文的根密钥,接着可以采用该明文的根密钥对公钥信息进行运算验证,从而生成验证运算结果,然后可以将验证运算结果返回至用户应用程序,以告知用户应用程序,服务器是否可信。
在本发明实施例的一种可选实施例中,执行主体可以通过用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于预设服务器的初始根证书,或,适配于所述车辆的初始私钥信息;所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
在具体实现中,第一密码可以为通用密码,CA可以提供证书预置/更新接口,从而当车辆进行TLS认证服务之前,可以通过CA采用通用密码对于适配于服务器的初始根证书,或适配于车辆的初始私钥信息进行加密,得到第一加密信息,并将已经进行第一加密信息发送至TA,从而可以保证根证书,或,私钥信息在进入TEE OS之前的安全性。其中,初始根证书为适配于服务器且未加密的根证书,初始私钥信息为适配于车辆且未加密的私钥信息。
当TA接收到第一加密信息后,可以采用与通用密码对应的固定密钥对第一加密信息进行解密,得到适配于服务器的初始根证书,或适配于车辆的初始私钥信息,接着TA可以采用根密钥重新对适配于服务器的初始根证书,或适配于车辆的初始私钥信息进行加密,生成第二加密信息,然后将第二加 密信息发送至CA,从而CA可以将采用根密钥加密的目标根证书,以及采用根密钥加密的目标私钥信息存储于车载系统中,实现根密钥以及私钥信息的安全存储,保证了车辆通信的安全性。
在本发明实施例的一种示例中,在车辆进行TLS认证服务的过程中,可以先通过CA1采用通用密码对适配于服务器的初始根证书,或,适配于车辆的初始私钥信息进行加密,生成第一加密信息,并将第一加密信息发送至TA1,由TA1对第一加密信息进行解密,得到适配于服务器的初始根证书,或,适配于车辆的初始私钥信息,接着TA1可以采用根密钥对适配于服务器的初始根证书,或,适配于车辆的初始私钥信息重新进行加密,生成第二加密信息,并将采用根密钥加密后的目标根证书以及目标私钥信息发送至CA1,由CA1将目标根证书以及目标私钥信息存储于所述车辆的文件系统中。
当需要验证服务器公钥信息是否可信时,车载系统可以调用CA2的根证书验证接口,获取文件系统中存储的目标根证书,以及获取针对服务器的公钥信息,然后将目标根证书以及公钥信息发送至TA2,由TA2采用根密钥对目标根证书进行解密,得到明文的根证书,然后采用该明文的根证书对公钥信息进行验证运算,以判断服务器的公钥信息是否可信,进而判断服务器是否可信,从而避免车辆与不可信的服务器建立通信连接,保证了车辆通信的安全性,避免给用户带来损失。
需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,在本发明实施例的思想指导下,本领域技术人员可以根据实际情况进行设置,本发明对此不作限制。
步骤202,当所述验证结果为所述服务器可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述服务器的目标数据;
在本发明实施例中,可信应用程序对执行客体的公钥信息进行验证运算后,可以得到验证运算结果,可以包括执行客体可信的验证结果,以及执行客体不可信的验证结果。当验证结果为执行客体可信时,则可信应用程序可 以对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,从而建立与执行客体之间的通信连接。其中,第二运算数据集可以包括适配于执行主体的目标私钥信息以及针对执行客体的握手数据。
在具体实现中,握手数据可以为车辆与服务器建立通信连接的认证请求,则在车辆进行TLS认证服务过程中,当车辆需要对握手数据进行签名时,车载系统可以调用CA的私钥签名接口,并将握手数据传递给CA,接着CA可以获取目标私钥信息,并将握手数据以及目标私钥信息作为第二运算数据集发送至TA。当TA接收到第二运算数据集后,可以先采用根密钥对目标私钥信息进行解密,得到针对握手数据的初始私钥信息后,再采用该初始私钥信息对握手数据进行签名运算,生成签名后的目标数据,然后将该目标数据返回CA,以使车辆将该目标数据发送至服务器,建立与服务器之间的通信连接,从而实现在车辆的TEE OS中对适配于服务器的根证书,以及适配于车辆的私钥信息进行加密、解密以及运算,实现了根证书和私钥信息的全生命周期的安全性,进而保证了车辆与服务器之间通信安全。
在本发明实施例的一种示例中,在车辆进行TLS认证服务的过程中,可以先通过CA1采用通用密码对适配于服务器的初始根证书,或,适配于车辆的初始私钥信息进行加密,生成第一加密信息,并将第一加密信息发送至TA1,由TA1对第一加密信息进行解密,得到适配于服务器的初始根证书,或,适配于车辆的初始私钥信息,接着TA1可以采用根密钥对适配于服务器的初始根证书,或,适配于车辆的初始私钥信息重新进行加密,生成第二加密信息,并将采用根密钥加密后的目标根证书以及目标私钥信息发送至CA1,由CA1将目标根证书以及目标私钥信息存储于所述车辆的文件系统中。
当需要验证服务器公钥信息是否可信时,车载系统可以调用CA2的根证书验证接口,获取文件系统中存储的目标根证书,以及获取针对服务器的公钥信息,然后将目标根证书以及公钥信息发送至TA2,由TA2采用根密钥对目标根证书进行解密,得到明文的根证书,然后采用该明文的根证书对公钥信息进行验证运算,以判断服务器的公钥信息是否可信,进而判断服务器 是否可信,从而避免车辆与不可信的服务器建立通信连接,保证了车辆通信的安全性,避免给用户带来损失。
当验证结果为服务器可信时,车载系统可以调用CA2的私钥签名接口,获取文件系统中存储的目标私钥信息,以及获取针对服务器的握手数据,然后将目标私钥信息以及握手数据发送至TA2,由TA2采用根密钥对目标私钥信息进行解密,得到明文的私钥信息,然后采用该明文的私钥信息对握手数据进行签名运算,得到目标数据,从而实现车辆对握手数据进行有效性认证,使得服务器可以对车辆发送的数据进行认证,避免非法车辆与服务器进行认证连接后,上报虚假信息、非法请求数据,保证了服务器的数据安全。
需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,在本发明实施例的思想指导下,本领域技术人员可以根据实际情况进行设置,本发明对此不作限制。
步骤203,所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述车辆将所述目标数据发送至所述服务器。
在本发明实施例中,当可信应用程序对握手数据进行签名完毕后,可以将签名后的目标数据发送至用户应用程序,从而车载系统可以将目标数据发送至执行客体,以建立执行主体与执行客体之间的通信连接,保证了执行主体联网的安全性。
在具体实现中,车辆的应用服务需要联网,如登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务等,它们对通信安全提出了更高要求:车辆和服务器之间使用TLS认证,并且是双向认证,以确保通信的保密性、完整性和可信性。则在车辆与服务器之间进行TLS认证的过程中,车辆不从车辆的文件系统或内存中加载根证书和私钥信息,也不在本地内存中进行运算,而是通过将待处理数据通过CA发送至TA,在TEE OS中进行数据的加密、解密以及运算,一方面可以保证根证书和私钥的全生命周期的安全性,另一方面可以保证车辆联网的安全。
在本发明实施例中,应用于具有可信应用程序以及用户应用程序的执行主体,其中,可信应用程序运行于可信执行环境,用户应用程序运行与操作 系统环境,通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
参照图3,示出了本发明的一种通信数据的存储方法实施例的步骤流程图,所述方法应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述可信执行环境对应于一根密钥,具体可以包括如下步骤:
步骤301,所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于预设执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
步骤302,所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
步骤303,所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
步骤304,所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
在本发明实施例中,应用于具有可信应用程序以及用户应用程序的执行 主体,其中,可信应用程序运行于可信执行环境,用户应用程序运行与操作系统环境,通过可信应用程序对用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果,接着当验证结果为执行客体可信时,可信应用程序对用户应用程序发送的第二运算数据集进行签名,生成针对执行客体的目标数据,然后可信应用程序将目标数据发送至用户应用程序,以使执行主体将目标数据发送至执行客体,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
参照图4,示出了本发明的一种通信数据的运算方法实施例的步骤流程图,所述方法应用于具有可信应用程序以及用户应用程序的执行客体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述可信执行环境对应于一根密钥,具体可以包括如下步骤:
步骤401,所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对所述执行客体的公钥信息;
步骤402,所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
步骤403,所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
步骤404,所述可信应用程序将所述第一运算结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,还可以包括如下步骤:
步骤405,所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
步骤406,所述可信应用程序采用所述根密钥对所述目标私钥信息进行 解密,得到针对所述握手数据的初始私钥信息;
步骤407,所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
步骤408,所述可信应用程序将所述第二运算结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
在本发明实施例中,当执行主体需要使用根证书对执行客体的公钥信息,或者使用私钥信息对握手数据进行签名时,可以通过用户应用程序将待处理的数据和文件系统中加密的根证书或私钥信息,传入TEE OS中,通过可信应用程序用根密钥进行解密,并进行运算,从而通过在可信执行环境中对执行客体进行验证,同时对执行主体与执行客体之间的握手数据进行签名,保证了根证书以及私钥的安全性,进而提高了执行主体与执行客体之间通信的安全性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种终端的通信装置实施例的结构框图,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,具体可以包括如下模块:
验证模块501,用于所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
签名模块502,用于当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
通信模块503,用于所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
在本发明实施例的一种可选实施例中,所述可信执行环境对应于一根密钥,所述第一运算数据集包括目标根证书以及与所述执行客体对应的公钥信息,所述验证模块501包括:
第一解密子模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
验证子模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,所述可信执行环境对应于一根密钥,所述第二运算数据集包括目标私钥信息以及针对所述执行客体的握手数据,所述签名模块502包括:
第二解密子模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
签名模块502,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
在本发明实施例的一种可选实施例中,所述可信执行环境对应于一根密钥,所述装置还包括:
第一加密模块,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于所述执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
第一解密模块,用于所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
第二加密模块,用于所述可信应用程序采用所述根密钥对所述用户应用程序发送的所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
存储模块,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的车载系统中。
在本发明实施例的一种可选实施例中,所述验证模块501包括:
通信类型获取子模块,用于获取所述执行主体与所述执行客体之间的通信类型;
验证子模块,用于当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
参照图6,示出了本发明的一种通信数据的存储装置实施例的结构框图,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一加密模块601,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括与预设执行客体对应的初始根证书,或,与所述执行主体对应的初始私钥信息;
解密模块602,用于所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
第二加密模块603,用于所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
信息存储模块604,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
参照图7,示出了本发明的一种通信数据的运算装置实施例的结构框图,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
第一数据集获取模块701,用于所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
第一解密模块702,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
第一运算模块703,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
第一结果返回模块704,用于所述可信应用程序将所述第一运算结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,还包括:
第二数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
第二解密模块,用于所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
第二运算模块,用于所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
第二结果返回模块,用于所述可信应用程序将所述第二运算结果返回所述用户应用程序。
在本发明实施例的一种可选实施例中,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
在本发明实施例的一种可选实施例中,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种终端,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装 置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器、EEPROM、Flash以及eMMC等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求 或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种终端的通信方法及装置、一种通信数据的存储方法及装置与一种通信数据的运算方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (19)

  1. 一种终端的通信方法,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述方法包括:
    所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
    当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
    所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
  2. 根据权利要求1所述的方法,其特征在于,所述可信执行环境对应于一根密钥;所述第一运算数据集包括适配所述执行客体的目标根证书以及公钥信息;所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果,包括:
    所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
    所述可信应用程序采用所述初始根密钥对所述公钥信息进行验证,生成所述验证结果,并将所述验证结果返回所述用户应用程序。
  3. 根据权利要求1所述的方法,其特征在于,所述可信执行环境对应于一根密钥;所述第二运算数据集包括适配所述执行主体的目标私钥信息以及针对所述执行客体的握手数据;所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据,包括:
    所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
    所述可信应用程序采用所述初始私钥信息对所述握手数据进行签名,生成目标数据,并将所述目标数据返回所述用户应用程序。
  4. 根据权利要求1所述的方法,其特征在于,所述可信执行环境对应于一根密钥,所述方法还包括:
    所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息;所述第一信息包括适配于所述执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
    所述可信应用程序对所述用户应用程序发送的所述第一加密信息进行解密,得到所述第一信息;
    所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
    所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
  5. 根据权利要求1-4任一所述的方法,其特征在于,所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果,包括:
    获取所述执行主体与所述执行客体之间的通信类型;
    当所述通信类型为终端敏感信息通信时,则所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对所述执行客体的验证结果;
    其中,所述终端敏感信息通信至少包括登录服务、支付服务、在线升级服务、远程控制服务以及敏感信息下发和上传服务中的一种。
  6. 根据权利要求1所述的方法,其特征在于,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
  7. 根据权利要求1所述的方法,其特征在于,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
  8. 一种通信数据的存储方法,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述可信执行环境对应于一根密钥,所述方法包括:
    所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括适配于预设执行客体的初始根证书,或,适配于所述执行主体的初始私钥信息;
    所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
    所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
    所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
  9. 根据权利要求8所述的方法,其特征在于,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
  10. 根据权利要求8所述的方法,其特征在于,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
  11. 一种通信数据的运算方法,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述方法包括:
    所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
    所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
    所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
    所述可信应用程序将所述第一运算结果返回所述用户应用程序。
  12. 根据权利要求11所述的方法,其特征在于,还包括:
    所述可信应用程序接收所述用户应用程序发送的第二运算数据集,所述第二运算数据包括预设的目标私钥信息以及针对所述执行客体的握手数据;
    所述可信应用程序采用所述根密钥对所述目标私钥信息进行解密,得到针对所述握手数据的初始私钥信息;
    所述可信应用程序采用所述初始私钥信息对所述握手数据进行运算,生成第二运算结果;
    所述可信应用程序将所述第二运算结果返回所述用户应用程序。
  13. 根据权利要求11所述的方法,其特征在于,所述可信执行环境与所述操作系统环境运行于同一处理器;所述处理器对应于唯一的根密钥。
  14. 根据权利要求11所述的方法,其特征在于,所述执行主体包括车辆、无人机、移动终端以及PC终端中的至少一种;所述执行客体包括服务器以及数据库中的至少一种。
  15. 一种终端的通信装置,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述装置包括:
    验证模块,用于所述可信应用程序对所述用户应用程序发送的第一运算数据集进行验证,生成针对预设执行客体的验证结果;
    签名模块,用于当所述验证结果为所述执行客体可信时,所述可信应用程序对所述用户应用程序发送的第二运算数据集进行签名,生成针对所述执行客体的目标数据;
    通信模块,用于所述可信应用程序将所述目标数据发送至所述用户应用程序,以使所述执行主体将所述目标数据发送至所述执行客体。
  16. 一种通信数据的存储装置,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境,所述可信执行环境对应于一根密钥,所述装置包括:
    第一加密模块,用于所述用户应用程序采用预设第一密码对预设的第一信息进行加密,生成第一加密信息,所述第一信息包括与预设执行客体对应 的初始根证书,或,与所述执行主体对应的初始私钥信息;
    解密模块,用于所述可信应用程序对所述第一加密信息进行解密,得到所述第一信息;
    第二加密模块,用于所述可信应用程序采用所述根密钥对所述第一信息进行加密,生成第二加密信息,所述第二加密信息包括目标根证书,或,目标私钥信息;
    信息存储模块,用于所述用户应用程序将所述第二加密信息存储于所述执行主体的文件系统中。
  17. 一种通信数据的运算装置,其特征在于,应用于具有可信应用程序以及用户应用程序的执行主体,所述可信应用程序运行于可信执行环境,所述用户应用程序运行于操作系统环境;所述可信执行环境对应于一根密钥,所述装置包括:
    第一数据集获取模块,用于所述可信应用程序接收所述用户应用程序发送的第一运算数据集,所述第一运算数据集包括预设的目标根证书以及针对预设执行客体的公钥信息;
    第一解密模块,用于所述可信应用程序采用所述根密钥对所述目标根证书进行解密,得到针对所述公钥信息的初始根密钥;
    第一运算模块,用于所述可信应用程序采用所述初始根密钥对所述公钥信息进行运算,生成第一运算结果;
    第一结果返回模块,用于所述可信应用程序将所述第一运算结果返回所述用户应用程序。
  18. 一种终端,其特征在于,包括:
    一个或多个处理器;和
    其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端执行如权利要求1-7或8-10或11-14所述的一个或多个的方法。
  19. 一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7或8-10或11-14所述的一个或多个的方法。
PCT/CN2019/126409 2019-11-01 2019-12-18 通信方法、存储方法、运算方法及装置 WO2021082222A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911061968.4 2019-11-01
CN201911061968.4A CN110838919B (zh) 2019-11-01 2019-11-01 通信方法、存储方法、运算方法及装置

Publications (1)

Publication Number Publication Date
WO2021082222A1 true WO2021082222A1 (zh) 2021-05-06

Family

ID=69576002

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/126409 WO2021082222A1 (zh) 2019-11-01 2019-12-18 通信方法、存储方法、运算方法及装置

Country Status (2)

Country Link
CN (1) CN110838919B (zh)
WO (1) WO2021082222A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111542050B (zh) * 2020-03-27 2021-05-18 广西东信易联科技有限公司 一种基于tee的保障虚拟sim卡远程初始化安全的方法
WO2021217559A1 (zh) * 2020-04-30 2021-11-04 华为技术有限公司 数据保护方法及装置
CN112669491B (zh) * 2020-12-16 2022-12-09 广州橙行智动汽车科技有限公司 一种车辆数字钥匙分配管理方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958793A (zh) * 2010-03-03 2011-01-26 北京唐朝科技股份有限公司 双公钥密码身份识别、密钥认证与数字签名一体化解决方案
US20170277869A1 (en) * 2016-03-25 2017-09-28 Mstar Semiconductor, Inc. Computing device and data processing method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444627B2 (en) * 2014-12-24 2016-09-13 Intel Corporation System and method for providing global platform compliant trusted execution environment
CN105260663B (zh) * 2015-09-15 2017-12-01 中国科学院信息工程研究所 一种基于TrustZone技术的安全存储服务系统及方法
GB201609462D0 (en) * 2016-05-30 2016-07-13 Silverleap Technology Ltd System and method for ensuring system integrity against, and detection of, rollback attacks for stored value data in mobile devices
CN110213039B (zh) * 2018-02-28 2021-01-29 华为技术有限公司 一种管理方法、终端和服务器
CN109560933B (zh) * 2018-10-12 2022-04-08 蚂蚁蓉信(成都)网络科技有限公司 基于数字证书的认证方法及系统、存储介质、电子设备
CN112468473B (zh) * 2018-11-16 2023-10-24 创新先进技术有限公司 可信应用程序的远程证明方法及装置、电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958793A (zh) * 2010-03-03 2011-01-26 北京唐朝科技股份有限公司 双公钥密码身份识别、密钥认证与数字签名一体化解决方案
US20170277869A1 (en) * 2016-03-25 2017-09-28 Mstar Semiconductor, Inc. Computing device and data processing method

Also Published As

Publication number Publication date
CN110838919B (zh) 2021-04-13
CN110838919A (zh) 2020-02-25

Similar Documents

Publication Publication Date Title
US12047362B2 (en) Systems and methods for secure multi-party communications using a proxy
US20210367795A1 (en) Identity-Linked Authentication Through A User Certificate System
CN110380852B (zh) 双向认证方法及通信系统
US8532620B2 (en) Trusted mobile device based security
US11102191B2 (en) Enabling single sign-on authentication for accessing protected network services
US7526649B2 (en) Session key exchange
TWI701929B (zh) 密碼運算、創建工作密鑰的方法、密碼服務平台及設備
WO2019020051A1 (zh) 一种安全认证的方法及装置
WO2021120871A1 (zh) 认证密钥协商方法、装置、存储介质及设备
US20140282840A1 (en) Managing data handling policies
US10990692B2 (en) Managing data handling policies
US9565211B2 (en) Managing exchanges of sensitive data
WO2021082222A1 (zh) 通信方法、存储方法、运算方法及装置
TW202011712A (zh) 密碼運算、創建工作密鑰的方法、密碼服務平台及設備
CN112597523B (zh) 文件处理方法、文件转换加密机、终端、服务器及介质
CN117081736A (zh) 密钥分发方法、密钥分发装置、通信方法及通信装置
CN110912685A (zh) 建立受保护通信信道
WO2023284691A1 (zh) 一种账户的开立方法、系统及装置
KR102209531B1 (ko) 클라우드 환경에서 인증서 및 개인키의 저장 방법 및 그 인증서 및 개인키를 다운로드 하는 방법
CN115277078A (zh) 用于处理基因数据的方法、装置、设备和介质
CN116318637A (zh) 设备安全入网通信的方法和系统
CN114065170A (zh) 平台身份证书的获取方法、装置和服务器
CN113328860A (zh) 一种基于区块链的用户隐私数据安全提供方法
US20140282838A1 (en) Managing data handling policies
US12047496B1 (en) Noncustodial techniques for granular encryption and decryption

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: 19950851

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: 19950851

Country of ref document: EP

Kind code of ref document: A1