Inter-application communication methods, communication systems, inter-application communication devices and vehicles

By verifying trusted proofs and public key signatures between cross-device applications through cloud devices, automatic authentication is achieved, solving the problem of inconvenient cross-device application authentication operations and improving user experience and authentication efficiency.

CN119968628BActive Publication Date: 2026-04-03YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-06
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

In existing technologies, cross-device application authentication requires users to log in to the same account on different electronic devices or manually scan a code, which is inconvenient, affects user experience, and has low authentication efficiency or limited applicability.

Method used

The application on both ends of the communication is verified through cloud devices. Automatic authentication is achieved by using trusted proofs and public key signatures, without the need for user intervention, and application data is shared between devices.

Benefits of technology

It improves user convenience and authentication efficiency, ensures data security, and reduces the authentication process perceived by users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119968628B_ABST
    Figure CN119968628B_ABST
Patent Text Reader

Abstract

This invention provides an inter-application communication method, communication system, inter-application communication device, and vehicle, relating to the field of communication technology. The method involves cloud devices verifying applications on both communication endpoints, resulting in a faster, smoother, and more efficient verification process. Furthermore, it enables automatic verification of applications on both endpoints, eliminating the need for user intervention and improving user convenience. Users are unaware of the verification process, ensuring a superior user experience. Specifically, the communicating devices send verification information of the applications on the other device to the cloud device, which then verifies the applications. The cloud device performs signature verification on the applications based on pre-assigned application identifiers and trusted proofs. When both applications on the two devices are successfully verified, the first device trusts the application on the second device, and the second device trusts the application on the first device. The two devices can also share application data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to an inter-application communication method, communication system, inter-application communication device, and vehicle. Background Technology

[0002] Currently, applications on different electronic devices can communicate with each other and transmit data, allowing users to experience the functions of one electronic device on another. For example, a mobile phone can share music from its music app to a car's music app, allowing the user to hear music played from the car and have a better listening experience.

[0003] Before cross-device communication can take place, applications on different electronic devices need to trust or authenticate each other. This ensures that data is sent from one application on one electronic device to another and that the data is not leaked or tampered with during the communication process, thus guaranteeing data security.

[0004] Current solutions require users to log in to the same account on different electronic devices' apps to complete app authentication. If the same account isn't logged in on different devices, the apps cannot communicate. Alternatively, other solutions require users to scan a QR code on one electronic device's app to complete authentication. However, regardless of the method, app authentication across different devices involves excessive steps, is inconvenient for users, and negatively impacts user experience. Summary of the Invention

[0005] This application provides an inter-application communication method, communication system, inter-application communication device, and vehicle. The cloud device verifies the applications on both communication ends respectively, and can also realize automatic verification of applications on both ends without user intervention in the verification process, thereby improving the convenience of user operation and ensuring user experience.

[0006] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:

[0007] Firstly, an inter-application communication method is provided for communication between a first application and a second application. The first application runs on a first device, and the second application runs on a second device. The first device and the second device establish a communication connection. The second application is an application corresponding to the first application. In this inter-application communication method, the first device sends first verification information of the first application to the second device. The first verification information includes the identification information of the first application, the public key of the first application, and a first signature. The first signature is obtained by signing the identification information and the public key of the first application based on a trusted proof of the first application. The second device receives the first verification information and sends it to a cloud device. The cloud device is used to assign application identifiers and trusted proofs to applications registered on the cloud side. The applications registered on the cloud side include the first application and the second application. When the cloud device successfully verifies the first signature in the first verification information based on the trusted proof of the first application, the second device sends second verification information of the second application to the first device. The second verification information includes the identification information of the second application, the public key of the second application, and a second signature. The second signature is obtained by signing the identification information and the public key of the second application based on a trusted proof of the second application. The first device receives the second verification information and sends it to the cloud device. When the cloud device successfully verifies the second signature in the second verification information based on the trusted proof of the second application, the first device and the second device share application data between the first application and the second application, wherein the application data is data of the first application or data of the second application.

[0008] In the aforementioned inter-application communication method, the communicating devices send verification information of the applications on the other device to the cloud device, which then verifies the applications. The cloud device performs signature verification on the applications based on pre-allocated application identifier information and trusted proofs. When both applications on the two devices are successfully verified, the first device trusts the application on the second device, and the second device trusts the application on the first device. Furthermore, the two devices can share application data, thus enabling cross-device application communication. This method, as described in this application embodiment, allows the cloud device to verify the applications, and the entire verification process is faster, smoother, and more efficient. Additionally, it enables automatic verification of applications on both devices without user intervention, improving user convenience and ensuring a seamless user experience.

[0009] In one possible implementation of the first aspect, the method further includes: a second device obtaining first information from a first device; the first information being used to indicate a second application. In this implementation, the second device can accurately determine the second application based on the first information, and after successfully verifying the first signature of the first application on the cloud device, send second verification information of the second application to the first device, so that the first device can continue to verify the signature of the second application on the second device through the cloud device.

[0010] In one possible implementation of the first aspect, the aforementioned first information includes a relationship lookup table, wherein the relationship lookup table includes the correspondence between the identification information of the first application and the identification information of the second application. Alternatively, the first information includes an application identifier for the second application, and the type of the application identifier can correspond to a short-range communication type. When the short-range communication type is Bluetooth communication, the application identifier is a Universally Unique Identifier (UUID). In this implementation, the second device can accurately determine the second application based on the relationship lookup table or the application identifier, and after the cloud device successfully verifies the first signature of the first application, it sends the second verification information of the second application to the first device, so that the first device can continue to verify the signature of the second application on the second device through the cloud device.

[0011] In one possible implementation of the first aspect, the aforementioned first information is carried in or included in the first verification information.

[0012] In one possible implementation of the first aspect, when the first device and the second device share application data between the first application and the second application, the first device generates a shared key based on the private key of the first application and the public key of the second application from the second verification information. The first device then generates encrypted application data of the first application based on the shared key and sends the encrypted application data of the first application to the second device. In this implementation, the application data shared between the communicating first and second devices needs to be transmitted encrypted. The first device encrypts the application data to be sent based on the shared key, thereby ensuring the security of the application data during sharing.

[0013] In one possible implementation of the first aspect, when the first device and the second device share application data between the first application and the second application, the first device receives encrypted application data of the second application sent by the second device. The first device obtains the decrypted application data of the second application based on the shared key. In this implementation, the sharing of application data between the first device and the second device is bidirectional; that is, the first device can provide the first application with application data of the second application on the second device, and the second device can provide the second application with application data of the first application on the first device. Furthermore, the shared application data is transmitted encrypted, thereby ensuring the security of the application data during sharing.

[0014] In one possible implementation of the first aspect, when the first device and the second device share application data between the first and second applications, the first device determines a working key based on the current communication connection between the first and second devices. This working key is a key generated from a random number, and different working keys correspond to different communication connections for different session periods. The first device uses the working key to encrypt the application data of the first application and uses a shared key to encrypt the working key. The first device sends the encrypted application data of the first application and the encrypted working key to the second device. In this implementation, the first and second devices do not need to generate a shared key for each communication connection; that is, there is no need to perform a key negotiation process after each communication connection. The shared key obtained after the initial negotiation is encrypted and saved. This significantly reduces the communication time between applications on both devices after subsequent communication connections are established, improving communication efficiency and ensuring a better user experience. Furthermore, after re-establishing a communication connection, only the shared key is used to encrypt each newly generated working key, and the working key is used to encrypt the application data. This also reduces the frequency of shared key usage, reduces the risk of shared key leakage, and ensures the security of application data during transmission.

[0015] In one possible implementation of the first aspect, when the first device and the second device share application data between the first application and the second application, the first device receives encrypted application data of the second application and an encrypted working key sent by the second device. The first device uses the shared key to decrypt and obtain the working key. The first device uses the working key to decrypt the application data of the second application. In this implementation, the sharing of application data between the first device and the second device is bidirectional. Furthermore, it also allows for the encrypted storage of the shared key obtained after the initial negotiation, and after subsequent communication connections are established, the sharing key is used only to encrypt each newly generated working key, and the working key is used to encrypt the application data. This reduces the frequency of shared key usage, decreases the risk of shared key leakage, and ensures the security of application data during transmission.

[0016] In one possible implementation of the first aspect, the method further includes: a cloud device sending a cloud identifier to a first device; the cloud identifier indicating a cloud service provided by the cloud device. The first device sending the identity information of a first application to the cloud device. Upon successful verification of the cloud identifier by the first device and successful verification of the identity information of the first application by the cloud device, the cloud device sending a trusted certificate of the first application to the first device. The first device receiving the trusted certificate of the first application from the cloud device. In this implementation, the trusted certificate is proof information assigned by the cloud device after mutual trust is established between the application on the first device and the cloud device. During subsequent communication between the application and the cloud device, the cloud device can use the trusted certificate of the application to verify the application's signature, thereby verifying that the public key transmitted during application communication has not been tampered with.

[0017] In one possible implementation of the first aspect, the method further includes: the cloud device sending a cloud identifier to the second device; the second device sending the identity information of the second application to the cloud device; and, upon successful verification of the cloud identifier and the identity information of the second application by the second device, the cloud device sending a trusted certificate of the second application to the second device; and the second device receiving the trusted certificate of the second application from the cloud device. In this implementation, the trusted certificate is proof information assigned by the cloud device after mutual trust is established between the application on the second device and the cloud device. During subsequent communication between the applications, the cloud device can use the trusted certificate of the application to verify the application's signature, thereby verifying that the public key transmitted during application communication has not been tampered with.

[0018] In one possible implementation of the first aspect, the method further includes: a first device sending an application message to a second device; the application message being generated by a first application. In response to the application message, the second device sends a response message to the first device; the response message being generated by the second application. Furthermore, when the first device and the second device share application data between the first and second applications, based on the application message being generated by the first application and the response message being generated by the second application, the first device provides application data from the second application of the second device to the first application, and / or the second device provides application data from the first application of the first device to the second application. In this implementation, the first device can automatically send the application message based on the communication connection, thereby enabling communication between the first application and the second application responding to the application message after the second device sends a response message, thus enabling the sharing of application data between the first and second devices.

[0019] In one possible implementation of the first aspect, a first device receives an application message sent by a second device; the application message is generated by the second application. In response to the application message, the first device sends a response message to the second device; the response message is generated by the first application. Furthermore, when the first device and the second device share application data between the first and second applications, based on the application message being generated by the second application and the response message being generated by the first application, the first device provides application data from the second application on the second device to the first application, and / or the second device provides application data from the first application on the first device to the second application. In this implementation, the second device can automatically send application messages based on a communication connection, thereby enabling communication between the second application and the first application that responded to the application message after the first device sends a response message, thus enabling the sharing of application data between the first and second devices. That is, in the above method of this application, either the first device sends the application message and the second application on the second device responds, or the second device sends the application message and the first application on the first device responds.

[0020] In one possible implementation of the first aspect, when the first device sends the first verification information of the first application to the second device, the first device sends the first verification information of the first application to the second device in response to a user's triggering operation on the first or second application, or in response to an operation to establish a communication connection between the first and second devices. In this implementation, the user's operation only affects the launch of the first or second application. After the first or second application is launched, the first device automatically sends the first verification information, and the user does not need to participate in subsequent processes. This also makes the user unaware of the application verification process between the first and second devices, improving operational convenience and ensuring user experience.

[0021] In one possible implementation of the first aspect, when the first device and the second device share application data between the first and second applications, the sharing occurs in response to a user's triggering operation on the first or second application, or in response to an operation to re-establish a communication connection after the communication connection is broken. In this implementation, the cloud device can pre-perform signature verification for the corresponding applications on the first and second devices, thereby saving time spent verifying application signatures when there is a data sharing requirement between the first and second devices, quickly completing the sharing of application data between the first and second devices, and ensuring a better user experience.

[0022] In one possible implementation of the first aspect, the application data of the first or second application is one or more of navigation data, music data, video data, and image data. When the first device and the second device share application data between the first and second applications, the first device sends the application data of the first application to the second device; the second device receives the application data and displays the application data on the second application. Alternatively, the second device sends the application data of the second application to the first device; the first device receives the application data and displays the application data on the first application.

[0023] In one possible implementation of the first aspect, the aforementioned communication connection includes one or more of Bluetooth connection, Bluetooth connection, hotspot connection, infrared connection, near field communication connection, and ultra-wideband connection.

[0024] Secondly, an inter-application communication method is provided, applied to a first device, wherein the first device establishes a communication connection with a second device, a first application runs on the first device, and a second application runs on the second device, wherein the second application is an application corresponding to the first application; the method includes:

[0025] The system sends first verification information of the first application to the second device. The first verification information includes the identification information of the first application, the public key of the first application, and a first signature. The first signature is obtained by signing the identification information and the public key of the first application based on the trusted proof of the first application. When the cloud device successfully verifies the first signature in the first verification information based on the trusted proof of the first application, it receives second verification information sent by the second device and sends second verification information to the cloud device. The second verification information includes the identification information of the second application, the public key of the second application, and a second signature. The second signature is obtained by signing the identification information and the public key of the second application based on the trusted proof of the second application. The cloud device is used to assign application identifiers and trusted proofs to applications registered on the cloud side. Applications registered on the cloud side include the first application and the second application. When the cloud device successfully verifies the second signature in the second verification information based on the trusted proof of the second application, it shares application data between the first application and the second application with the second device. The application data is either data from the first application or data from the second application.

[0026] In one possible implementation of the second aspect, the method further includes: sending first information to a second device; the first information is used to instruct a second application.

[0027] In one possible implementation of the second aspect, the first information includes a relationship lookup table; the relationship lookup table includes the correspondence between the identification information of the first application and the identification information of the second application; or, the first information includes the application identification code of the second application.

[0028] In one possible implementation of the second aspect, the first information is carried in or included in the first verification information.

[0029] In one possible implementation of the second aspect, sharing application data between the first application and the second application with the second device includes: generating a shared key based on the private key of the first application and the public key of the second application in the second verification information; generating encrypted application data of the first application based on the shared key, and sending the encrypted application data of the first application to the second device.

[0030] In one possible implementation of the second aspect, sharing application data between the first application and the second application with the second device includes: receiving encrypted application data of the second application sent by the second device; and obtaining decrypted application data of the second application based on a shared key.

[0031] In one possible implementation of the second aspect, sharing application data between the first application and the second application with the second device includes: determining a working key based on the current communication connection between the first device and the second device; the working key is a key generated based on a random number, and different working keys correspond to different communication connections for different session periods; encrypting the application data of the first application using the working key, and encrypting the working key using a shared key; and sending the encrypted application data of the first application and the encrypted working key to the second device.

[0032] In one possible implementation of the second aspect, sharing application data between the first application and the second application with the second device includes: receiving encrypted application data of the second application and an encrypted working key sent by the second device; the working key is a key generated by the second device based on a random number, and different working keys correspond to different communication connections for different session periods; obtaining the working key by decrypting using the shared key; and decrypting the application data of the second application using the working key.

[0033] In one possible implementation of the second aspect, the method further includes: receiving a cloud identifier sent by a cloud device; the cloud identifier being used to indicate cloud services provided by the cloud device; sending the identity information of a first application to the cloud device; and, if the first device successfully verifies the cloud identifier and the cloud device successfully verifies the identity information of the first application, receiving a trusted certificate of the first application sent by the cloud device.

[0034] In one possible implementation of the second aspect, the method further includes: sending an application message to a second device; the application message being generated by a first application; receiving a response message from the second device in response to the application message; the response message being generated by the second application; and sharing application data between the first application and the second application with the second device, including: providing application data from the second application of the second device to the first application based on the application message being generated by the first application and the response message being generated by the second application, and / or sending application data of the first application to the second device; the application data of the first application is used to provide the second application of the second device.

[0035] In one possible implementation of the second aspect, the method further includes: receiving an application message sent by a second device; the application message being generated by a second application; responding to the application message and sending a response message to the second device; the response message being generated by a first application; and sharing application data between the first application and the second application with the second device, including: based on the application message being generated by the second application and the response message being generated by the first application, providing application data from the second application of the second device to the first application, and / or sending application data of the first application to the second device; the application data of the first application is used to provide the second application of the second device.

[0036] In one possible implementation of the second aspect, sending the first verification information of the first application to the second device includes: in response to a user's triggering operation on the first application or the second application, or in response to an operation in which the first device establishes a communication connection with the second device, sending the first verification information of the first application to the second device.

[0037] In one possible implementation of the second aspect, sharing application data between the first application and the second application with the second device includes: in response to a user's triggering operation on the first application or the second application, or, after a communication connection is broken, in response to an operation to re-establish a communication connection between the first device and the second device, sharing application data between the first application and the second application with the second device.

[0038] In one possible implementation of the second aspect, the communication connection includes one or more of Bluetooth connection, Bluetooth connection, hotspot connection, infrared connection, near field communication connection, and ultra-wideband connection.

[0039] Thirdly, an inter-application communication method is provided, applied to a second device, wherein the second device establishes a communication connection with a first device, a first application runs on the first device, and a second application runs on the second device, wherein the second application is an application corresponding to the first application; the method includes:

[0040] The system receives first verification information for a first application sent by a first device and sends the first verification information to a cloud device. The first verification information includes the identifier information of the first application, the public key of the first application, and a first signature. The first signature is obtained by signing the identifier information and public key of the first application based on the trusted proof of the first application. The cloud device is used to assign application identifiers and trusted proofs to applications registered on the cloud side. The applications registered on the cloud side include the first application and the second application. When the cloud device successfully verifies the first signature in the first verification information based on the trusted proof of the first application, it sends second verification information for the second application to the first device. The second verification information includes the identifier information of the second application, the public key of the second application, and a second signature. The second signature is obtained by signing the identifier information and public key of the second application based on the trusted proof of the second application. When the cloud device successfully verifies the second signature in the second verification information based on the trusted proof of the second application, it shares application data between the first application and the second application with the first device. The application data is either data from the first application or data from the second application.

[0041] In one possible implementation of the third aspect, the method further includes: receiving first information sent by the first device; the first information is used to instruct the second application.

[0042] In one possible implementation of the third aspect, the first information includes a relationship lookup table; the relationship lookup table includes the correspondence between the identification information of the first application and the identification information of the second application; or, the first information includes the application identification code of the second application.

[0043] In one possible implementation of the third aspect, the first information is carried in or included in the first verification information.

[0044] In one possible implementation of the third aspect, sharing application data between the first application and the second application with the first device includes: generating a shared key based on the private key of the second application and the public key of the first application in the first verification information; generating encrypted application data of the second application based on the shared key; and sending the encrypted application data of the second application to the first device.

[0045] In one possible implementation of the third aspect, sharing application data between the first application and the second application with the first device includes: receiving encrypted application data of the first application sent by the first device; and obtaining decrypted application data of the first application based on a shared key.

[0046] In one possible implementation of the third aspect, sharing application data between the first application and the second application with the first device includes: determining a working key based on the current communication connection between the first device and the second device; the working key is a key generated based on a random number, and different working keys correspond to different communication connections for different session periods; encrypting the application data of the second application using the working key, and encrypting the working key using a shared key; and sending the encrypted application data of the second application and the encrypted working key to the first device.

[0047] In one possible implementation of the third aspect, sharing application data between the first application and the second application with the first device includes: receiving encrypted application data of the first application and an encrypted working key sent by the first device; the working key is a key generated by the first device based on a random number, and different working keys correspond to different communication connections for different session periods; obtaining the working key by decrypting using the shared key; and decrypting the application data of the first application using the working key.

[0048] In one possible implementation of the third aspect, the method further includes: receiving a cloud identifier sent by a cloud device; the cloud identifier being used to indicate cloud services provided by the cloud device; sending the identity information of the second application to the cloud device; and, if the second device successfully verifies the cloud identifier and the cloud device successfully verifies the identity information of the second application, receiving a trusted certificate of the second application sent by the cloud device.

[0049] In one possible implementation of the third aspect, the method further includes: sending an application message to a first device; the application message being generated by a second application; receiving a response message from the first device in response to the application message; the response message being generated by the first application; and sharing application data between the first application and the second application with the first device, including: providing application data from the first application of the first device to the second application based on the application message being generated by the second application and the response message being generated by the first application, and / or sending application data of the second application to the first device; the application data of the second application being used to provide the first application of the first device.

[0050] In one possible implementation of the third aspect, the method further includes: receiving an application message sent by a first device; the application message being generated by a first application; responding to the application message by sending a response message to the first device; the response message being generated by a second application; and sharing application data between the first application and the second application with the first device, including: providing application data from the first application of the first device to the second application based on the application message being generated by the first application and the response message being generated by the second application, and / or sending application data of the second application to the first device; the application data of the second application is used to provide the first application of the first device.

[0051] In one possible implementation of the third aspect, the communication connection includes one or more of Bluetooth connection, Bluetooth connection, hotspot connection, infrared connection, near field communication connection, and ultra-wideband connection.

[0052] Fourthly, an inter-application communication method is provided for communication between a first application and a second application. The first application runs on a first device, and the second application runs on a second device. The first device and the second device establish a communication connection. The second application is an application corresponding to the first application. In this method, the first device sends first verification information of the first application to the second device. The first verification information includes the identification information of the first application, the public key of the first application, and encrypted first preset content. The encrypted first preset content is generated by the first device encrypting the identification information and / or the public key of the first application using a proof identifier. The proof identifier is an identifier assigned by a cloud device to the device where the application registered on the cloud side resides for application verification. The applications registered on the cloud side include the first application and the second application. The second device receives the first verification information and decrypts the encrypted first preset content in the first verification information using the proof identifier received from the cloud device. When the decrypted first preset content matches the identifier information and / or public key of the first application in the first verification information received by the second device, the second device sends second verification information of the second application to the first device. This second verification information includes the identifier information of the second application, the public key of the second application, and encrypted second preset content. The encrypted second preset content is generated by the second device encrypting the identifier information and / or the public key of the second application using a proof identifier. The first device receives the second verification information and decrypts the encrypted second preset content within it using the proof identifier. When the decrypted second preset content matches the identifier information and / or the public key of the second application in the second verification information received by the second device, the first device and the second device share application data between the first and second applications. This application data is either data from the first application or data from the second application.

[0053] In the aforementioned inter-application communication method, the communicating devices can verify the applications on the other device separately. When both applications on the two devices are successfully verified, the first device trusts the application on the second device, and the second device trusts the application on the first device. Furthermore, the two devices can share application data, thereby enabling cross-device application communication. In this embodiment, the cloud device grants the first and second devices the ability to verify applications, enabling them to mutually trust each other without the cloud device's involvement in the application signature verification process. This saves transmission time between the first and cloud devices, and between the second and cloud devices, significantly improving application verification and communication efficiency. Simultaneously, it eliminates the need for user participation in the verification process, enhancing user convenience and ensuring a seamless user experience.

[0054] In one possible implementation of the fourth aspect, the proof identifier includes any one of the following: a public key and a private key from a key pair generated by the cloud device, a target key sent by the cloud device, an application certificate for the first application, an application certificate for the second application, and a cloud identifier of the cloud device. When the proof identifier includes the public key and a private key from a key pair generated by the cloud device, the cloud device sends the public key from the key pair to the first device and the private key from the key pair to the second device; or, the cloud device sends the public key from the key pair to the second device and the private key from the key pair to the first device.

[0055] Fifthly, an inter-application communication method is provided, applied to a first device, wherein the first device establishes a communication connection with a second device, a first application runs on the first device, and a second application runs on the second device, the second application being an application corresponding to the first application. The method includes: sending first verification information of the first application to the second device; the first verification information includes identification information of the first application, a public key of the first application, and encrypted first preset content, wherein the encrypted first preset content is generated by the first device encrypting the identification information of the first application and / or the public key of the first application using a proof identifier, and the proof identifier is an identifier assigned by a cloud device to the device where an application registered on the cloud side resides for application verification; the applications registered on the cloud side include the first application and the second application; the second device decrypts the encrypted first preset content in the first verification information using the proof identifier received from the cloud device, and the decrypted first preset content is compared with the identification information of the first application and / or the first application in the first verification information received by the second device. When the public key is the same, the system receives the second verification information sent by the second device and decrypts the encrypted second preset content in the second verification information using the proof identifier. The second verification information includes the identification information of the second application, the public key of the second application, and the encrypted second preset content. The encrypted second preset content is generated by the second device encrypting the identification information of the second application and / or the public key of the second application using the proof identifier. When the decrypted second preset content is the same as the identification information of the second application and / or the public key of the second application in the second verification information received by the second device, the system shares the application data between the first application and the second application with the second device. The application data is the data of the first application or the data of the second application.

[0056] Sixthly, an inter-application communication method is provided, applied to a second device, the second device establishing a communication connection with a first device, the first device running a first application, and the second device running a second application, the second application being an application corresponding to the first application. The method includes: receiving first verification information of the first application sent by the first device, and decrypting encrypted first preset content in the first verification information using a proof identifier received from a cloud device; the first verification information includes identification information of the first application, a public key of the first application, and encrypted first preset content, the encrypted first preset content being generated by the first device encrypting the identification information and / or the public key of the first application using the proof identifier, the proof identifier being an identifier assigned by the cloud device to the device where the application registered on the cloud side resides for application verification; the application registered on the cloud side includes the first application and the second application; the decrypted first preset content and the identification information and / or the public key of the first application in the first verification information received by the second device are then compared. When the public keys used are the same, the second verification information of the second application is sent to the first device; the second verification information includes the identification information of the second application, the public key of the second application, and encrypted second preset content, the encrypted second preset content is generated by the second device encrypting the identification information of the second application and / or the public key of the second application using the proof identifier; when the first device decrypts the encrypted second preset content in the second verification information using the proof identifier, and the decrypted second preset content is the same as the identification information of the second application and / or the public key of the second application in the second verification information received by the second device, the application data between the first application and the second application is shared with the first device, the application data being the data of the first application or the data of the second application.

[0057] A seventh aspect provides a communication system, including a first device and a second device for establishing a communication connection, wherein a first application runs on the first device, and a second application runs on the second device, the second application being an application corresponding to the first application; the first device is used to execute an inter-application communication method as described in the second aspect and any implementation thereof, and the second device is used to execute an inter-application communication method as described in the third aspect and any implementation thereof.

[0058] Eighthly, a communication system is provided, including a first device and a second device for establishing a communication connection, wherein a first application runs on the first device, and a second application runs on the second device, the second application being an application corresponding to the first application; the first device is used to execute the inter-application communication method as described in the fifth aspect, and the second device is used to execute the inter-application communication method as described in the sixth aspect.

[0059] A ninth aspect provides an inter-application communication device, including a memory and one or more processors; the memory is coupled to the processors; wherein the memory stores computer program code, the computer program code including computer instructions, which, when executed by the processor, cause the inter-application communication device to perform an inter-application communication method as described in the second aspect and any implementation thereof, or to perform an inter-application communication method as described in the third aspect and any implementation thereof, or to perform an inter-application communication method as described in the fifth aspect, or to perform an inter-application communication method as described in the sixth aspect.

[0060] A tenth aspect provides an electronic device, the electronic device including a memory and one or more processors; the memory is coupled to the processors; wherein the memory stores computer program code, the computer program code including computer instructions, which, when executed by the processor, cause the electronic device to perform an inter-application communication method as described in the second aspect and any implementation thereof, or to perform an inter-application communication method as described in the third aspect and any implementation thereof, or to perform an inter-application communication method as described in the fifth aspect, or to perform an inter-application communication method as described in the sixth aspect.

[0061] Eleventhly, a vehicle is provided that includes the inter-application communication device of the ninth aspect.

[0062] In a twelfth aspect, a computer-readable storage medium is provided, including computer instructions that, when executed on an electronic device, cause the electronic device to perform an inter-application communication method as described in the second aspect and any implementation thereof, or to perform an inter-application communication method as described in the third aspect and any implementation thereof, or to perform an inter-application communication method as described in the fifth aspect, or to perform an inter-application communication method as described in the sixth aspect.

[0063] In a thirteenth aspect, a computer program product is provided that, when the computer program product is run on a computer, causes the computer to execute the inter-application communication method as described in the second aspect and any implementation thereof, or to execute the inter-application communication method as described in the third aspect and any implementation thereof, or to execute the inter-application communication method as described in the fifth aspect, or to execute the inter-application communication method as described in the sixth aspect.

[0064] Understandably, the beneficial effects achievable by the inter-application communication methods described in the second, third, fourth, fifth, and sixth aspects, the communication system described in the seventh and eighth aspects, the inter-application communication device described in the ninth aspect, the electronic device described in the tenth aspect, the vehicle described in the eleventh aspect, the computer-readable storage medium described in the twelfth aspect, and the computer program product described in the thirteenth aspect can be referred to the beneficial effects of the first aspect and any possible implementation thereof, and will not be repeated here. Attached Figure Description

[0065] Figure 1 A schematic diagram of a communication system shown in an embodiment of this application. Figure 1 ;

[0066] Figure 2 A schematic diagram of a communication system shown in an embodiment of this application. Figure 2 ;

[0067] Figure 3 A schematic diagram of a communication system shown in an embodiment of this application. Figure 3 ;

[0068] Figure 4 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of this application;

[0069] Figure 5 This is a schematic diagram of the software structure of an electronic device according to an embodiment of this application;

[0070] Figure 6 This is a schematic diagram illustrating a dual-sided trust mechanism between the edge and cloud, as shown in an embodiment of this application.

[0071] Figure 7 A flowchart illustrating an inter-application communication method as shown in an embodiment of this application. Figure 1 ;

[0072] Figure 8 This is a schematic diagram illustrating a cloud device verifying a signature, as shown in an embodiment of this application.

[0073] Figure 9 This application illustrates an embodiment of a vehicle-mounted device determining a second application. Figure 1 ;

[0074] Figure 10 This application illustrates an embodiment of a vehicle-mounted device determining a second application. Figure 2 ;

[0075] Figure 11This application illustrates a scenario where an in-vehicle device presents application data for a first application, as shown in an embodiment of this application. Figure 1 ;

[0076] Figure 12 This application illustrates a scenario where an in-vehicle device presents application data for a first application, as shown in an embodiment of this application. Figure 2 ;

[0077] Figure 13 A flowchart illustrating an inter-application communication method as shown in an embodiment of this application. Figure 2 ;

[0078] Figure 14 A flowchart illustrating an inter-application communication method as shown in an embodiment of this application. Figure 3 ;

[0079] Figure 15 This is a schematic diagram of an electronic device as shown in an embodiment of this application. Detailed Implementation

[0080] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" are not necessarily different. Meanwhile, in the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is being used as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of terms such as "exemplary" or "for example" is intended to present related concepts in a concrete manner for ease of understanding.

[0081] Furthermore, the business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0082] Cross-device or cross-platform application communication refers to the ability of applications on different electronic devices to communicate and transmit data, allowing users to experience the functions of one electronic device on another. For example, a mobile phone can share music from its music app to a car's music app, allowing the user to hear music played from the car and have a better listening experience. Alternatively, a mobile phone can send map information from its navigation app to a car's navigation app, allowing the user to view map information and navigation content in the car.

[0083] Before cross-device communication can take place, applications on different electronic devices need to trust or authenticate each other and obtain the same key. This ensures that when applications on different electronic devices communicate, the communication data encrypted with the key is not leaked or tampered with, thus guaranteeing data security.

[0084] In some current solutions, after establishing a communication connection between electronic devices, users need to log in to the same account on different applications on different devices to complete the application authentication. However, between applications without account logins or whose account systems are not interconnected, even if a transmission channel is established via a software bus, application authentication and communication are impossible. Furthermore, excessive user involvement in the application authentication process increases user operations, reduces ease of use, and not only affects user experience but also reduces authentication efficiency.

[0085] In other solutions, after establishing a communication connection between electronic devices, users need to use an app on one device to scan a QR code on another device's app. The QR code shares a public key or token information to complete authentication between the applications. Furthermore, the applications can use the same public key to encrypt communication data. However, this method still requires users to manually scan the code, which reduces convenience, impacts user experience, and lowers authentication efficiency.

[0086] In some other schemes, after a communication connection is established between electronic devices, each device authenticates the device certificate of the communicating device. Once authentication is successful, applications on different electronic devices can communicate. Furthermore, the different electronic devices negotiate a key using the device certificates and use this key to encrypt data transmitted during communication. However, this authentication method is only applicable to authentication between electronic devices from the same manufacturer, and its scope of application is very limited.

[0087] As can be seen from the above, even if these solutions can achieve authentication between applications on different electronic devices, there are problems such as reduced ease of operation due to excessive user involvement, impact on user experience, low authentication efficiency, or limited applicability of the authentication solution.

[0088] Based on the above, this application provides an inter-application communication method. The method is applied to communication between a first application and a second application. The first application runs on a first device, the second application runs on a second device, and the first device and the second device establish a communication connection. The second application is an application corresponding to the first application.

[0089] In this method, a first device sends first verification information of a first application to a second device. This first verification information includes the first application's identifier, its public key, and a first signature. The first signature is obtained by signing the first application's identifier and public key using a trusted proof of the first application. The second device then receives the first verification information and sends it to a cloud device. The cloud device is used to assign application identifiers and trusted proofs to applications registered on the cloud side. The applications registered on the cloud side include both the first application and the second application. When the cloud device successfully verifies the first signature in the first verification information based on the trusted proof of the first application, the second device sends second verification information of the second application to the first device. This second verification information includes the second application's identifier, its public key, and a second signature. The second signature is obtained by signing the second application's identifier and public key using a trusted proof of the second application. The first device receives the second verification information and sends it to the cloud device. When the cloud device successfully verifies the second signature in the second verification information based on the trusted proof of the second application, the first device and the second device share application data between the first and second applications. This application data is either data from the first application or data from the second application.

[0090] In the above method, the communicating devices send verification information of the applications on the other device to the cloud device, which then verifies the applications. The cloud device performs signature verification on the applications based on pre-allocated application identifier information and trusted proofs. When both applications on the two devices are successfully verified, the first device trusts the application on the second device, and the second device trusts the application on the first device. The two devices can also share application data, thus enabling cross-device application communication. This method, as described in this application embodiment, allows the cloud device to verify the applications, and the entire verification process is faster, smoother, and more efficient. Furthermore, it enables automatic verification of applications on both devices without user intervention, improving user convenience and ensuring a seamless user experience.

[0091] This application provides an inter-application communication method that can be applied to a communication system. See also... Figure 1 As shown, the communication system includes a first device 1, a second device 2, and a cloud device 3. The first device 1 and the second device 2 establish a communication connection, and both devices can communicate with the cloud device 3. The communication between the first device 1 and the cloud device 3 can be based on a wireless local area network (WLAN) or on Long Term Evolution (LTE) technology. Similarly, the communication between the first device 2 and the cloud device 3 can also be based on a WLAN or on LTE.

[0092] The first device 1 includes application software 1 (hereinafter referred to as application 1), and the second device 2 includes application software 2 (hereinafter referred to as application 2) corresponding to application 1.

[0093] Cloud device 3 pre-assigns identification information and trusted credentials to application 1 and application 2.

[0094] The first device 1 signs the identification information and public key of application 1 based on the trusted proof of application 1, to obtain the signature 1 of application 1, and generates the verification information 1 of application 1 based on the identification information, public key and signature 1 of application 1.

[0095] The second device 2 signs the identification information and public key of application 2 based on the trusted proof of application 2, to obtain the signature 2 of application 2, and generates the verification information 2 of application 2 based on the identification information, public key and signature 2 of application 2.

[0096] When application 1 on the first device 1 and application 2 on the second device 2 need to communicate, the first device 1 sends verification information 1 of application 1 to the second device 2. The second device 2 receives verification information 1 and sends verification information 1 to the cloud device 3, requesting the cloud device 3 to verify verification information 1.

[0097] Cloud device 3 verifies signature 1 of application 1 based on the trusted proof of application 1. When the identification information of application 1 corresponding to the obtained signature 1 is the same as the identification information assigned to application 1 by cloud device 3, the signature 1 is successfully verified. In this case, the second device 2 can trust application 1 on the first device 1 and can also ensure that the public key corresponding to application 1 has not been tampered with during transmission.

[0098] The second device 2 sends verification information 2 corresponding to application 1 to the first device 1. The first device 1 receives the verification information 2 and sends it to the cloud device 3, requesting the cloud device 3 to verify the verification information 2.

[0099] Similarly, cloud device 3 verifies application 2's signature 2 based on application 2's trusted proof. When the identification information of application 2 corresponding to the obtained signature 2 is the same as the identification information assigned to application 2 by cloud device 3, the signature 2 is successfully verified. In this case, first device 1 can trust application 2 on second device 2, and it can also be guaranteed that the public key corresponding to application 2 has not been tampered with during transmission.

[0100] In some embodiments, the cloud device 3 can also grant the first device 1 and the second device 2 the ability to verify applications. This allows the first device 1 and the second device 2 to perform a process of mutually trusting applications without the cloud device 3 needing to participate in verifying the signature of application 1 on the first device 1 and the signature of application 2 on the second device 2. This saves transmission time between the first device and the cloud device, and between the second device and the cloud device, significantly improving the efficiency of application verification and communication in the inter-application communication method of this embodiment.

[0101] In this scenario, cloud device 3 can send verification identifiers, such as proof identifiers, to first device 1 and second device 2 for application verification. First device 1 uses the proof identifier to encrypt preset content, which is related to application 1 on first device 1. Then, first device 1 sends the encrypted preset content to second device 2. Second device 2 uses the proof identifier to decrypt the encrypted preset content, obtains the preset content, and compares it with the application 1-related content stored on second device 2. If they match, second device 2 can trust application 1 on first device 1. Similarly, first device 1 can trust application 2 on second device 2 in the same way. The proof identifier sent by cloud device 3 can be the public and private keys in a key pair generated by cloud device 3, a fixed key, or cloud identifiers of cloud device 3 (e.g., cloud certificates), application certificates of application 1, application certificates of application 2, etc.

[0102] Furthermore, the preset content can be pre-agreed application-related preset data or information between the first device 1 and the second device 2, such as application identification information, application public key, application signature, application digest information, etc., and the application digest information can be information generated based on the application identification information and / or application public key; and when the first device 1 sends encrypted content to the second device 2, the preset content can be the application identification information, application public key, application signature, application digest information, etc., in the first verification information of application 1, and when the second device 2 sends encrypted content to the first device 1, the preset content can be the application identification information, application signature, application digest information, etc., in the second verification information of application 2. The application digest information can be generated by the device where the application resides or by the peer device. Moreover, the verification information of the first application or the second application can include the application identification information, application public key, encrypted preset content, etc., or can also include the application signature.

[0103] For example, cloud device 3 generates a key pair and sends the public key from the key pair to first device 1 and the private key from the key pair to second device 2. First device 1 generates a digest of application 1 based on application information such as the identification information and / or public key of application 1, encrypts the digest of application 1 based on the public key in the key pair, and sends the encrypted digest of application 1 to second device 2. Second device 2 decrypts the encrypted digest of application 1 based on the private key in the key pair to obtain the digest of application 1. Second device 2 then generates a digest of application 1 based on application information such as the identification information, public key, and signature of application 1 stored locally or already acquired. Second device 2 then compares the generated digest of application 1 with the decrypted digest of application 1. If they match, second device 2 trusts application 1 on first device 1.

[0104] It is understandable that the first device 1 and the second device 2 use asymmetric encryption algorithms to encrypt or decrypt preset data based on the public or private key in the same key pair.

[0105] After the first device 1 and the second device 2 trust each other's application 2 and application 1 respectively, the first device 1 and the second device 2 can share application data between application 1 and application 2.

[0106] For example, the first device 1 can send application data of application 1 to the second device 2, and the second device 2 can display the application data of application 1 on application 2. Alternatively, the second device 2 can send application data of application 2 to the first device 1, and the first device 1 can display the application data of application 2 on application 1, etc.

[0107] In some embodiments, the situation where application 1 on the first device 1 and application 2 on the second device 2 need to communicate may include: after the first device 1 and the second device 2 establish a communication connection, the user launches (e.g., triggers, clicks, etc.) application 1 or launches application 2.

[0108] For example, when a user launches application 1, the first device 1 can directly send the verification message 1 of application 1 to the second device 2. Since application 2 corresponds to application 1, the second device 2 receives the verification information 1 of application 1 and, after successfully verifying the signature 1 of application 1 on the cloud device 3, sends the verification information 2 of application 2 to the first device 1.

[0109] Alternatively, when a user launches application 1, the first device 1 sends an application message (e.g., a broadcast message) to the application on the second device 2 via application 1 through a communication connection. Since application 2 corresponds to application 1, application 2 can respond to the application message. The second device 2 then sends a response message to the first device 1 via application 2 and a communication connection. After that, the first device 1 sends the verification information 1 of application 1 to the second device 2. The second device 2 receives the verification information 1 of application 1 and, after successfully verifying the signature 1 of application 1 on the cloud device 3, sends the verification information 2 of application 2 to the first device 1.

[0110] In other embodiments, the situation where application 1 on the first device 1 and application 2 on the second device 2 need to communicate may also include: after the first device 1 and the second device 2 establish a communication connection, the first device 1 automatically sends application messages (e.g., broadcast messages) to the application on the second device 2 based on the communication connection through application 1.

[0111] For example, after the first device 1 and the second device 2 establish a communication connection, the first device 1 sends an application message (e.g., a broadcast message) to the application on the second device 2 through application 1 based on the communication connection. Since application 2 corresponds to application 1, application 2 can respond to the application message. The second device 2 sends a response message to the first device 1 through application 2 based on the communication connection. After that, the first device 1 sends the verification information 1 of application 1 to the second device 2. The second device 2 receives the verification information 1 of application 1 and, after successfully verifying the signature 1 of application 1 on the cloud device 3, sends the verification information 2 of application 2 to the first device 1.

[0112] In some embodiments, the communication system described above may also be a system including a first device 1, a second device 2, and a server 4, wherein the server 4 may be a cloud device or a physical server. When the server 4 is a physical server, see [link to relevant documentation]. Figure 2 As shown, server 4 is connected to the Internet and is in the same local area network as the first device 1 and the second device 2. Based on this communication system, the first device 1 and the second device 2 can send application verification information to server 4 via the local area network, and server 4 can verify the signatures of the applications on the first device 1 and the second device 2 via the Internet.

[0113] The communication connection between the first device and the second device can be a long-range communication connection or a short-range communication connection. When the communication connection is a short-range communication connection, it can be one or more of the following: Bluetooth connection, Wi-Fi connection, hotspot connection, infrared connection, near-field communication connection, ultra-wideband connection, and wireless LAN connection.

[0114] When the communication connection is a long-distance communication connection, see Figure 3As shown, the communication system described above may also include a relay server 5. The relay server 5 is used to forward communication data between electronic devices.

[0115] For example, when a long-distance communication connection is established between the first device 1 and the second device 2, the first device 1 sends application data of application 1 to the relay server 5, and the relay server 5 then forwards the application data of application 1 to the second device 2. Alternatively, the second device 2 sends application data of application 2 to the relay server 5, and the relay server 5 then forwards the application data of application 2 to the first device 1.

[0116] In other embodiments, the relay server 5 can be either cloud device 3 or other devices independent of cloud device 3. This application does not specifically limit this.

[0117] In some embodiments, cloud device 3 refers to a cluster of cloud-side devices or cloud-side servers, i.e., a cluster includes multiple cloud-side servers or cloud-side devices, and the cloud-side devices in the cluster can communicate with each other. Application 1 and Application 2 can register on the same cloud-side device or not, and the cloud-side device that verifies the application can be the same cloud-side device that registered the application or not. Even if Application 1 and Application 2 are not registered on the same cloud-side device, or the cloud-side device that verifies the application is not the same cloud-side device that registered the application, the cloud-side devices can still obtain the identity information of unregistered applications in the current cloud-side device through information communication, such as application identification information, package name, certificate fingerprint information, etc., thereby verifying the application's signature or identity.

[0118] In some embodiments, the first device 1 and the second device 2 may be devices containing the same operating system, such as the Android open source project (AOSP) Android system, etc.

[0119] In this embodiment, the inter-application communication is bidirectional. That is, when application 1 on the first device 1 and application 2 on the second device 2 need to communicate, the first device 1 can send the verification information 1 of application 1 to the second device 2 first, or the second device 2 can send the verification information 2 of application 2 to the first device 1 first. In other words, the first device in the above communication system can also be the second device, and the second device can also be the first device. This embodiment does not impose any specific restrictions on this.

[0120] Based on the aforementioned communication system, when implementing the inter-application communication method in this application embodiment, the communicating devices respectively send verification information of the application on the peer device to the cloud device, and the cloud device performs signature verification on the application. When both corresponding applications on the two devices are successfully verified, the first device trusts the application on the second device, the second device trusts the application on the first device, and the two devices can share data between applications, thereby realizing cross-device communication between applications. This method in this application embodiment has the cloud device verifying the application, and the entire verification process is faster, smoother, and more efficient. Furthermore, it can achieve automatic verification of applications on both devices without user intervention, improving user convenience and ensuring a seamless user experience.

[0121] In some embodiments, the first device 1 in the above communication system can be an electronic device such as a mobile phone, tablet computer, laptop computer, smart wearable device, or in-vehicle terminal, and the second device 2 can be an electronic device such as a mobile phone, tablet computer, laptop computer, smart wearable device, or in-vehicle terminal. The in-vehicle terminal may include a vehicle infotainment system and a rear-seat screen in the vehicle. The application data for Application 1 and Application 2 can be one or more of image data, video data, audio data, and navigation data. Application 1 and Application 2 can be of the same or different types.

[0122] Figure 4 A schematic diagram of a hardware structure for an electronic device is shown.

[0123] See Figure 4 As shown, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.

[0124] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0125] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc.

[0126] The controller can serve as the nerve center and command center of the electronic device 100. The controller can generate operation control signals based on the instruction opcode and timing signals to control instruction fetching and execution. The processor 110 may also include a memory for storing instructions and data.

[0127] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0128] USB interface 130 is a USB standard compliant interface, specifically a Mini USB interface, Micro USB interface, USB Type-C interface, etc. Charging management module 140 receives charging input from the charger. Power management module 141 connects to battery 142, and charging management module 140 connects to processor 110.

[0129] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0130] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization.

[0131] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation.

[0132] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0133] In some embodiments, when implementing the above-described inter-application communication method in the present application embodiments, the first device and the second device can establish a communication connection through the wireless communication module 160, such as a short-range communication connection, a long-range communication connection, or, for example, a hotspot connection, Wi-Fi Direct connection, Bluetooth connection, Bluetooth connection, infrared connection, near-field communication connection, ultra-wideband connection, etc.

[0134] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

[0135] Electronic device 100 implements display functions through a GPU, display screen 194, and application processor. Display screen 194 is used to display images, videos, etc. Electronic device 100 implements shooting functions through an ISP, camera 193, video codec, GPU, display screen 194, and application processor. Camera 193 is used to capture still images or videos.

[0136] In some embodiments, when the electronic device 100 is the first device in the foregoing embodiments, the first device can display the image content, video content, navigation content, etc. of the first application on the first device through the GPU, display screen 194, and application processor, etc., and can also display the image content, video content, navigation content, etc. of the second application sent by the second device through the GPU, display screen 194, and application processor, etc.

[0137] In other embodiments, when the electronic device 100 is the second device in the foregoing embodiments, the second device can display the image content, video content, navigation content, etc. of the second application on the second device through the GPU, display screen 194, and application processor, etc., or it can display the image content, video content, navigation content, etc. of the first application sent by the first device through the GPU, display screen 194, and application processor, etc.

[0138] The external storage interface 120 can be used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the electronic device 100.

[0139] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121.

[0140] In some embodiments, when the electronic device 100 is the first device in the foregoing embodiments, the processor 110 of the first device sends verification information of the first application to the second device by executing instructions stored in the internal memory 121. Also, the processor 110 of the first device receives verification information of the second application sent by the second device by executing instructions stored in the internal memory 121, and sends the verification information of the second application to a cloud device for verification of the second application. After the cloud device successfully verifies the first application and the second application respectively, the processor 110 of the first device sends application data of the first application to the second device or receives application data of the second application sent by the second device by executing instructions stored in the internal memory 121.

[0141] In other embodiments, when the electronic device 100 is the second device in the aforementioned embodiments, the processor 110 of the second device receives verification information of the first application sent by the first device by executing instructions stored in the internal memory 121, and sends the verification information of the first application to the cloud device for verification of the first application. After the cloud device successfully verifies the first application, the processor 110 of the second device sends verification information of the second application to the first device by executing instructions stored in the internal memory 121. After the cloud device successfully verifies the first application and the second application respectively, the processor 110 of the second device receives application data of the first application sent by the first device, or sends application data of the second application sent to the first device, by executing instructions stored in the internal memory 121.

[0142] Electronic device 100 can implement audio functions through audio module 170 and application processor, such as music playback and recording. Audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. Audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, audio module 170 can be located in processor 110, or some functional modules of audio module 170 can be located in processor 110.

[0143] In some embodiments, when the electronic device 100 is the first device in the foregoing embodiments, the first device can play the audio content of the first application on the first device through the audio module 170 and the application processor, and can also play the audio content of the second application sent by the second device through the audio module 170 and the application processor.

[0144] In other embodiments, when the electronic device 100 is the second device in the foregoing embodiments, the second device can play the audio content of the second application on the second device through the audio module 170 and the application processor, or it can play the audio content of the first application sent by the first device through the audio module 170 and the application processor.

[0145] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. Indicator 192 can be an indicator light, used to indicate charging status, battery level changes, or to indicate messages, missed calls, notifications, etc. SIM card interface 195 is used to connect a SIM card.

[0146] When implementing the inter-application communication method in this application embodiment based on the aforementioned electronic device, the communicating devices respectively send verification information of the application on the peer device to the cloud device, and the cloud device performs signature verification on the application. When both corresponding applications on the two devices are successfully verified, the first device trusts the application on the second device, the second device trusts the application on the first device, and the two devices can share data between applications, thereby realizing cross-device application communication. This method in this application embodiment has the cloud device verifying the application, and the entire verification process is faster, smoother, and more efficient. Furthermore, it can achieve automatic verification of applications on both devices without user intervention, improving user convenience and ensuring a seamless user experience.

[0147] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to exemplify the software structure of electronic device 100.

[0148] Figure 5 A schematic diagram of the software structure of the electronic device 100 is shown.

[0149] like Figure 5 As shown, the layered architecture divides the software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.

[0150] The application layer can include a series of application packages.

[0151] like Figure 5 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS.

[0152] In some embodiments, when implementing the inter-application communication method described in this application, the corresponding applications on the first device and the second device can be of the same type or different types. However, if they are different types of applications, one application should be able to implement the functions of the corresponding application. For example, the map application on the second device can implement navigation functions, corresponding to the navigation application on the first device. When the first device sends the navigation data of the navigation application on the first device to the second device, the second device can display the navigation data on the map application; or, the navigation application on the first device can implement music playback functions, corresponding to the music application on the second device. When the second device sends the music data of the music application on the second device to the second device, the second device can play the music data on the navigation application.

[0153] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.

[0154] like Figure 5 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.

[0155] The window manager manages window programs. The content provider stores and retrieves data, making it accessible to applications. The view system includes visual controls, such as controls for displaying text and images. The phone manager provides communication functionality to the electronic device 100. The resource manager provides applications with various resources, such as localized strings, icons, images, layout files, video files, etc. The notification manager allows applications to display notifications in the status bar, conveying informative messages that can disappear automatically after a short pause without user interaction. Notifications can also appear as icons or scrollbar text in the system's top status bar, or as dialog boxes on the screen.

[0156] The Android runtime consists of core libraries and a virtual machine. The Android runtime is responsible for scheduling and managing the Android system.

[0157] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.

[0158] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

[0159] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.

[0160] The Surface Manager manages the display subsystem and provides fusion of 2D and 3D layers for multiple applications. The Media Library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. The 3D Graphics Processing Library implements 3D graphics drawing, image rendering, compositing, and layer processing. The 2D Graphics Engine is the drawing engine for 2D graphics. The Kernel Layer is the layer between hardware and software. The Kernel Layer contains at least the display driver, camera driver, audio driver, and sensor driver.

[0161] When implementing the inter-application communication method in this application embodiment based on the aforementioned electronic device, the communicating devices respectively send verification information of the application on the peer device to the cloud device, and the cloud device performs signature verification on the application. When both corresponding applications on the two devices are successfully verified, the first device trusts the application on the second device, the second device trusts the application on the first device, and the two devices can share data between applications, thereby realizing cross-device application communication. This method in this application embodiment has the cloud device verifying the application, and the entire verification process is faster, smoother, and more efficient. Furthermore, it can achieve automatic verification of applications on both devices without user intervention, improving user convenience and ensuring a seamless user experience.

[0162] Typically, when developing application software (APP) (hereinafter referred to as an application), application developers register the identity information of the application they are developing with cloud devices (such as application alliances, servers, etc.). The application's identity information includes the application's package name and certificate fingerprint. The application's package name represents the name of the corresponding program package; one application corresponds to one package name. The application's certificate fingerprint represents the application's certificate hash value, a short sequence of bytes representing a relatively long public key. It is usually obtained by calculating the certificate fingerprint using hash algorithms such as SHA1 or SHA256. The certificate includes the application's digest information. The application's certificate fingerprint is used to verify the application. After an application developer registers the application with a cloud device, the cloud device assigns a unique application identifier (APPID) to that application. There is a one-to-one correspondence between the application's package name and APPID.

[0163] Understandably, after an application developer registers their application on a cloud device, the application obtains a legitimate identity and identity information (including package name, APPID, certificate fingerprint information, etc.). Subsequently, the application can use this legitimate identity to communicate with other devices or other applications.

[0164] In this embodiment, communication between applications on different electronic devices can be based on communication connections between the electronic devices. These communication connections can include short-range and long-range connections.

[0165] Short-range communication connections include one or more of the following: Bluetooth connection, Wi-Fi hotspot connection, infrared connection, near-field communication connection, ultra-wideband connection, and wireless LAN connection. Wireless LAN connections may include Wi-Fi Direct, Wi-Fi connection, etc.

[0166] For example, after electronic device 1 and electronic device 2 are connected via Bluetooth, application 1 on electronic device 1 and application 2 on electronic device 2 can communicate based on the Bluetooth connection. Alternatively, after electronic device 1 and electronic device 2 are connected via hotspot, application 1 on electronic device 1 and application 2 on electronic device 2 can communicate based on the hotspot connection.

[0167] Long-distance communication connections can refer to connections where electronic devices at both ends of a communication exchange communicate through a relay server or similar means.

[0168] For example, electronic device 1 and electronic device 2 are connected through a server, that is, electronic device 1 forwards data of application 1 to electronic device 2 through the server, or electronic device 2 forwards data of application 2 to electronic device 1 through the server.

[0169] Taking the establishment of short-range communication connections between electronic devices as an example, electronic devices can establish short-range communication connections automatically or passively.

[0170] For example, an electronic device continuously sends broadcast messages corresponding to a Bluetooth connection. After receiving the broadcast messages, other electronic devices send response messages to the original electronic device and automatically establish Bluetooth connections with it. Alternatively, an electronic device continuously sends broadcast messages corresponding to a hotspot connection. After receiving the broadcast messages, other electronic devices send response messages to the original electronic device and automatically establish hotspot connections with it.

[0171] For another example, a user can control different electronic devices to establish short-range communication connections according to their needs. For instance, a user can control electronic device 2 to connect to the hotspot of electronic device 1, thereby establishing a hotspot connection between electronic device 1 and electronic device 2. Alternatively, a user can control electronic device 1 to connect to the Bluetooth of electronic device 2, thereby establishing a Bluetooth connection between electronic device 1 and electronic device 2.

[0172] It is understandable that one of the two electronic devices communicating can connect to the hotspot or Bluetooth of the other electronic device, or can be connected to the hotspot or Bluetooth of the other electronic device.

[0173] Once a communication connection is established between electronic devices, applications on different electronic devices can communicate automatically or passively.

[0174] For example, after electronic device 1 and electronic device 2 establish a Bluetooth connection, application 1 on electronic device 1 automatically starts sending application messages (e.g., broadcast messages), and the broadcast messages include the application identification code of application 1, such as a universally unique identifier (UUID). Applications on electronic device 2 can receive the application messages (e.g., broadcast messages). However, only applications that have been pre-configured with the same application identification code (e.g., application 2) can send response messages to application 1 and communicate with application 1.

[0175] Alternatively, after electronic device 1 and electronic device 2 establish a hotspot connection, application 2 on electronic device 2 automatically begins to send application messages (e.g., broadcast messages), and the application messages (e.g., broadcast messages) include the application identification code of application 2, such as APPID, etc. Applications on electronic device 1 can all receive the application messages (e.g., broadcast messages). However, only applications that have been pre-configured with the same application identification code (e.g., application 1) can send response messages to application 2 and communicate with application 2.

[0176] For another example, after electronic device 1 and electronic device 2 establish a Bluetooth or hotspot connection, the user can choose to launch application 1 on electronic device 1 according to their usage needs. After the user triggers the launch of application 1, application 1 will start sending application messages (e.g., broadcast messages), and the broadcast messages include the application identification code of application 1. All applications on electronic device 2 can receive the application messages (e.g., broadcast messages). However, only applications that have been pre-configured with the same application identification code (e.g., application 2) can send response messages to application 1 and communicate with application 1.

[0177] It is understandable that after different electronic devices establish a short-range communication connection, applications with the same application identifier on different electronic devices can communicate with each other. Any application communicating can send application messages (such as broadcast messages) and be responded to by other applications, or it can also respond to application messages (such as broadcast messages) sent by other applications.

[0178] In some embodiments, after electronic device 1 and electronic device 2 establish a communication connection, application 1 on electronic device 1 automatically or passively sends application messages (e.g., broadcast messages), and multiple applications on electronic device 2 can receive these application messages (e.g., broadcast messages) and send response messages to application 1 to communicate with application 1. At this time, each application on electronic device 2 can communicate with application 1.

[0179] Furthermore, before applications on different electronic devices communicate, the electronic devices obtain a trusted certificate of the application from the cloud device. This trusted certificate is the proof information assigned by the cloud device after both the application on the electronic device and the cloud device have established trust. During subsequent communication between the applications, the cloud device can use the trusted certificate to verify the application's signature, thereby verifying that the public keys and other information transmitted during application communication have not been tampered with.

[0180] Before cloud devices can trust applications, the electronic devices on which the applications reside must also trust the cloud devices. In other words, only after trust is achieved between the end device and the cloud can the applications on the electronic devices obtain credible proof.

[0181] See Figure 6 As shown, in the process of end-to-end trust, the cloud device sends a cloud identifier to the electronic device. This cloud identifier indicates the cloud service provided by the cloud device or represents the cloud device's identity information. The cloud service may have a Certificate Authority (CA) certificate, or the cloud device's identity information may include its CA certificate. The CA certificate is used to verify the identity of the cloud service, cloud device, or server; that is, the verifier of the cloud service or cloud device can verify its identity through a trusted third party such as a Certificate Authority.

[0182] Electronic devices can verify the identity of cloud services provided by cloud devices or the identity of cloud devices themselves using CA certificates. If the verification is successful, the electronic device trusts the cloud device. Next, the electronic device sends the application's identity information to the cloud device. This identity information may include the application's package name, APPID, and certificate fingerprint information. The cloud device verifies whether the package name and APPID used during application registration are the same as those received currently, and also verifies the application's certificate fingerprint information. If the verification confirms that the application's package name and APPID used during registration match those received currently, and that the application's certificate fingerprint information is successfully verified, then the cloud device can also trust the application on the electronic device.

[0183] It is understandable that in the process of end-to-end trust, the cloud device may first send a cloud identifier to the first or second device, and then the first or second device may send the application's identity information to the cloud device; alternatively, the first or second device may first send the application's identity information to the cloud device, and then the cloud device may send the cloud identifier to the first or second device. In this embodiment, the order in which the cloud device, the first device, and the second device send identifiers or information is not specifically limited.

[0184] In some embodiments, after establishing the aforementioned end-to-end trust relationship, the cloud device can also send the application's corresponding token to the electronic device. The token represents a token assigned to the application by the cloud device after it trusts the application. Once the application obtains the token, when it accesses the cloud device again, the cloud device can determine that the application has been trusted based on the application's token, without needing to verify the application's identity again; it can directly verify the application's signature.

[0185] The inter-application communication method in this application embodiment can be performed after a communication connection is established between different electronic devices.

[0186] In addition to the electronic devices mentioned above, the execution subject of the inter-application communication method in this application embodiment can also be a manufacturer of in-vehicle terminals, mobile terminals such as mobile phones, an operating system provider, a third-party software / service provider, a cloud service provider, etc.

[0187] The following description uses a mobile phone as the first device and an in-vehicle terminal as an example to illustrate the inter-application communication method in this application embodiment. The mobile phone includes a first application, and the in-vehicle terminal includes a second application. The first application and the second application correspond to each other, and a communication connection is established between the mobile phone and the in-vehicle terminal. See also... Figure 7 As shown, the method specifically includes the following steps S701-S708.

[0188] S701, The mobile phone sends the first verification information of the first application to the vehicle terminal.

[0189] The first verification information is the information obtained by the mobile phone based on the identification information of the first application, the public key of the first application, and the first signature of the first application.

[0190] In some embodiments, the mobile phone can first derive a key pair corresponding to the first application based on an asymmetric encryption algorithm. The key pair includes the public key and private key of the first application. The asymmetric encryption algorithms include RSA, Elgamal, knapsack, Rabin, DH, and Elliptic Curve Cryptography (ECC). For example, in this embodiment, the mobile phone can derive the key pair corresponding to the first application based on the ECC algorithm.

[0191] The identification information of the first application is the application identifier, i.e., APPID, assigned by the cloud device during the development of the first application.

[0192] The mobile phone then uses the trusted proof of the first application to sign the identification information and public key of the first application, thereby obtaining the first signature of the first application. The trusted proof of the first application is the certificate of the first application sent to the mobile phone by the cloud device after trusting the first application.

[0193] In some embodiments, after a communication connection is established between a mobile phone and an in-vehicle terminal, the mobile phone can automatically send application messages (e.g., broadcast messages) based on the communication connection through a first application. After the in-vehicle terminal responds to the application message through a second application (sending a response message), the mobile phone sends the first verification information of the first application to the in-vehicle terminal, thereby realizing communication between the first application and the second application that responds to the application message.

[0194] In this scenario, the mobile phone can use a first application to monitor communication connections between itself and other devices (such as an in-vehicle terminal). Once a connection is established, the phone can send application messages to applications on other devices (such as the in-vehicle terminal) through the first application. This implementation eliminates the need for user involvement in sending the initial verification information. After establishing a communication connection with the in-vehicle terminal, the phone automatically sends the first application's verification information, making the application verification process between the phone and the in-vehicle terminal seamless for the user, thus ensuring a superior user experience.

[0195] In other embodiments, after the mobile phone establishes a communication connection with the vehicle terminal, the mobile phone may send the first verification information of the first application to the vehicle terminal in response to the user's trigger operation of launching the first application or the second application; or the mobile phone may also send an application message through the first application based on the communication connection in response to the user's trigger operation of launching the first application or the second application, so that after the vehicle terminal responds to the application message through the second application, the mobile phone sends the first verification information of the first application to the vehicle terminal.

[0196] When the phone responds to the user's action of launching the first application and sends the first verification information, the user's action only affects the launch of the first application. After the first application is launched, the phone automatically sends the first verification information. The user does not need to participate in the subsequent process. This also makes the user unaware of the application verification process between the phone and the vehicle terminal, improving the convenience of operation and ensuring the user experience.

[0197] Furthermore, when the phone responds to the user's trigger action of launching the second application and sends the first verification information of the first application to the in-vehicle terminal, the user can first launch the second application on the in-vehicle terminal. Afterwards, the in-vehicle terminal can send control commands to the phone, causing the phone to respond to the control commands and send the first verification information to the in-vehicle terminal. Similarly, the user's operation only affects the launch of the second application; the user does not need to participate in subsequent processes. This allows the user to be completely unaware of the application verification process between the phone and the in-vehicle terminal, improving operational convenience and ensuring a better user experience.

[0198] In some embodiments, after installing the first application, the mobile phone can obtain a cloud identifier from the cloud device and, after establishing trust between the end and the cloud, obtain a trusted proof of the first application from the cloud device. Then, the mobile phone uses the trusted proof of the first application to sign its identifier information and public key, obtaining the first verification information for the first application. That is, the mobile phone can pre-generate the corresponding first verification information for the first application. When the user triggers the launch of the first or second application, or after the mobile phone establishes a communication connection with the vehicle terminal, the mobile phone can directly send the first verification information to the vehicle terminal. In this way, after the user launches the first or second application, the mobile phone can quickly respond and send the first verification information, saving the time required to generate the first verification information and improving the efficiency of application verification between the mobile phone and the vehicle terminal.

[0199] In other embodiments, the mobile phone can obtain a cloud identifier from the cloud device after the user selects to launch the first application or the second application, or after the mobile phone establishes a communication connection with the vehicle terminal. After completing end-to-end trust, the mobile phone then obtains a trusted certificate for the first application from the cloud device. Subsequently, the mobile phone signs the identifier information and public key of the first application based on the trusted certificate, and obtains the first verification information of the first application. After generating the first verification information, it sends the first verification information to the vehicle terminal. This ensures that a new first verification information for the first application is generated for each communication, guaranteeing the timeliness of the first verification information and further preventing the public key and other information in the first application from being altered.

[0200] S702, the vehicle terminal receives the first verification information and sends the first verification information to the cloud device.

[0201] In some embodiments, the cloud device receiving the first verification information may be a cloud device that assigns a trusted certificate to the first application, or it may not be a cloud device that assigns a trusted certificate to the first application.

[0202] When the cloud device receiving the first verification information is not the cloud device that assigns the trusted certificate to the first application, the cloud device that assigns the trusted certificate to the first application and the cloud device receiving the first verification information can share information or communicate data. That is, the cloud device receiving the first verification information can obtain the trusted certificate of the first application from the cloud device that assigns the trusted certificate to the first application, and verify the first signature in the first verification information based on the trusted certificate.

[0203] For example, see Figure 8As shown, the cloud device that assigns the trusted certificate to the first application is cloud device A, and the cloud device that receives the first verification information is cloud device B. Cloud device A and cloud device B are in the same device cluster and can communicate with each other or use the same database. When cloud device B needs to verify the first signature in the first verification information, cloud device B can obtain the trusted certificate and identity information of the first application from cloud device A. Then, cloud device B verifies the first signature based on the obtained trusted certificate.

[0204] S703, the cloud device verifies the first signature in the first verification information based on the trusted proof obtained by the first application during registration, and sends the verification result to the vehicle terminal.

[0205] After the first application registers on the cloud device, the cloud device will assign an APPID to the first application. Furthermore, after the trust between the end and the cloud is established, the cloud device can also send a trusted certificate of the first application to the mobile phone.

[0206] The mobile phone uses the trusted proof of the first application to sign the first application's public key and APPID, obtaining the first signature. The first verification information of the first application includes the first application's public key, APPID, and first signature. Signing the first application's public key and APPID is equivalent to encrypting the first application's public key and APPID.

[0207] Correspondingly, the cloud device's verification of the first signature in the first verification information based on the trusted proof of the first application is equivalent to the cloud device decrypting the first signature based on the trusted proof of the first application.

[0208] In some embodiments, if the APPID of the first application obtained through decryption is the same as the APPID of the first application in the first verification information, the signature verification is considered successful. This also indicates that the public key of the first application in the first verification information has not been tampered with. Conversely, if the APPID of the first application obtained through decryption is different from the APPID of the first application in the first verification information, the signature verification is considered to have failed, and this also indicates that the public key of the first application in the first verification information has been tampered with, meaning the first application is untrustworthy.

[0209] The cloud device sends the verification result to the vehicle terminal, thereby notifying the vehicle terminal whether the first application on the mobile phone is trustworthy.

[0210] S704. The vehicle terminal receives the verification result from the cloud device, and when the cloud device successfully verifies the first signature in the first verification information based on the trusted proof of the first application (i.e., the above signature verification is successful), it sends the second verification information of the second application to the mobile phone.

[0211] The second verification information is information obtained by the vehicle terminal based on the identification information of the second application, the public key of the second application, and the second signature of the second application.

[0212] In some embodiments, the vehicle-mounted terminal can first derive a key pair corresponding to the second application based on an asymmetric encryption algorithm. The key pair includes the public key and private key of the second application. The asymmetric encryption algorithms include RSA, Elgamal, knapsack, Rabin, DH, ECC, etc. For example, in this embodiment, the vehicle-mounted terminal can derive the key pair corresponding to the second application based on the ECC algorithm.

[0213] The identification information of the second application is the application identifier, i.e., APPID, assigned by the cloud device during the development of the second application.

[0214] The vehicle terminal then signs the identification information and public key of the second application based on the trusted proof of the second application, thereby obtaining the second signature of the second application. The trusted proof of the second application is the certificate of the second application sent to the vehicle terminal by the cloud device after trusting the second application.

[0215] In some embodiments, in order to accurately send out the verification information of the application corresponding to the first application, after the cloud device successfully verifies the first signature of the first application, the vehicle terminal can first determine the second application corresponding to the first application. Then, the vehicle terminal sends the second verification information of the second application to the mobile phone.

[0216] Alternatively, in some embodiments, in order to accurately send out the verification information of the application corresponding to the first application, the vehicle terminal can first determine the second application corresponding to the first application after receiving the first verification information sent by the mobile phone. Then, the vehicle terminal sends the second verification information of the second application to the mobile phone.

[0217] When the vehicle terminal identifies the second application corresponding to the first application, it can obtain first information from the mobile phone. This first information can be used to indicate the second application, and may include, for example, the application's identifier information, APPID, etc. The vehicle terminal can determine the second application based on the first information. Furthermore, the first information can be sent separately by the mobile phone, or it can be sent simultaneously with the first verification information sent to the vehicle terminal; for example, it can be carried along with the first verification information or included within the first verification information.

[0218] In some embodiments, the first information may include a relationship lookup table, which includes the correspondence between the identification information of the first application and the identification information of the second application. Alternatively, the relationship lookup table may be stored locally on the vehicle terminal.

[0219] For example, see Figure 9 As shown, the vehicle-mounted terminal receives the first verification information sent by the mobile phone. This first verification information includes the identifier information of the first application. After the cloud device successfully verifies the first signature of the first application, the vehicle-mounted terminal iterates through or queries a relation lookup table to find other corresponding identifier information that corresponds to the identifier of the first application, thereby determining the corresponding second application based on this identifier information. Then, the vehicle-mounted terminal sends the second verification information of the second application to the mobile phone.

[0220] Alternatively, the vehicle-mounted terminal receives first information sent by the mobile phone. This first information includes the aforementioned relationship lookup table. After the cloud device successfully verifies the first signature of the first application, the vehicle-mounted terminal iterates through or queries the received relationship lookup table for other corresponding identifiers that have a relationship with the identifier of the first application, thereby determining the corresponding second application based on this identifier information. Then, the vehicle-mounted terminal sends the second verification information of the second application to the mobile phone.

[0221] In other embodiments, the first information may further include an application identifier for the second application. Furthermore, the type of the application identifier may correspond to the type of communication connection between the mobile phone and the vehicle terminal. For example, when the communication connection type is Bluetooth, the application identifier is a UUID, meaning the first information includes the UUID of the second application; when the communication connection type is a hotspot connection, Wi-Fi Direct, Wi-Fi connection, or other wireless LAN connection, or an infrared connection, near-field communication connection, or ultra-wideband connection, the application identifier may be an application identifier (APPID), meaning the first information includes the APPID of the second application.

[0222] For example, see Figure 10 As shown, the in-vehicle terminal receives first information sent by the mobile phone. This first information includes an application identification code for the second application. After the cloud device successfully verifies the first signature of the first application, the in-vehicle terminal determines the corresponding second application on the in-vehicle terminal based on the application identification code stored in the first information. Then, the in-vehicle terminal sends second verification information for the second application to the mobile phone.

[0223] In some embodiments, after the mobile phone establishes a communication connection with the vehicle terminal, the mobile phone sends application messages (such as broadcast messages) through the first application based on the communication connection. These application messages include the application identifier code of the first application. Among the multiple applications on the vehicle terminal connected to the mobile phone, the application pre-configured with the application identifier code of the first application will respond to the application message. The vehicle terminal will then send a response message to the mobile phone. In this case, the application responding to the broadcast message is the second application. There is a correspondence between the first application sending the application message and the second application responding to the broadcast message, and this correspondence is established through the application identifier code of the first application. After the cloud device successfully verifies the first signature of the first application, or after receiving the first verification information sent by the mobile phone, the vehicle terminal can directly send the second verification information of the second application corresponding to the first application to the mobile phone.

[0224] In this embodiment of the application, regardless of which method is used, the vehicle terminal can accurately determine the second application corresponding to the first application, and after the cloud device successfully verifies the first signature of the first application, it sends the second verification information of the second application to the mobile phone, so that the mobile phone can continue to verify the signature of the application on the vehicle terminal through the cloud device.

[0225] In some embodiments, after installing the second application, the in-vehicle terminal can pre-generate the second verification information for the second application. Then, after the cloud device successfully verifies the signature of the first application on the mobile phone, the in-vehicle terminal directly sends the second verification information of the second application to the mobile phone. In this way, after the user launches the first or second application, the mobile phone can quickly respond and send the first verification information, saving the time required to generate the first verification information and improving the efficiency of application verification between the mobile phone and the in-vehicle terminal.

[0226] In other embodiments, after the vehicle-mounted terminal successfully verifies the signature of the first application on the mobile phone via the cloud device, it can also sign the identification information and public key of the second application based on the trusted proof of the second application, and obtain the second verification information of the second application. Furthermore, after generating the second verification information, it sends the second verification information to the mobile phone. This ensures that a second verification message for the second application is generated for each communication, guaranteeing the timeliness of the second verification information and further preventing the public key and other information in the second application from being altered.

[0227] In some embodiments, if the cloud device fails to verify the first signature in the first verification information based on the trusted proof of the first application (i.e., the signature verification fails), the vehicle terminal will not trust the first application on the mobile phone, nor will it send the second verification information of the second application to the mobile phone.

[0228] S705: The mobile phone receives the second verification information and sends the second verification information to the cloud device.

[0229] In some embodiments, the cloud device receiving the second verification information may be a cloud device that assigns a trusted certificate to the second application, or it may not be a cloud device that assigns a trusted certificate to the second application.

[0230] When the cloud device receiving the second verification information is not the cloud device that assigns the trusted certificate to the second application, the cloud device that assigns the trusted certificate to the second application and the cloud device receiving the second verification information can share information or communicate data. That is, the cloud device receiving the second verification information can obtain the trusted certificate of the second application from the cloud device that assigns the trusted certificate to the second application, and verify the second signature in the second verification information based on the trusted certificate.

[0231] S706 The cloud device verifies the second signature in the second verification information based on the trusted proof obtained by the second application during registration, and sends the verification result to the mobile phone.

[0232] After the second application registers on the cloud device, the cloud device will assign an APPID to the second application. Furthermore, after the trust between the end and the cloud is established, the cloud device can also send a trusted certificate of the second application to the vehicle terminal.

[0233] The vehicle-mounted terminal uses the trusted proof of the second application to sign the public key of the second application and the APPID of the first application, obtaining a second signature. The second verification information of the second application includes the public key of the second application, the APPID of the second application, and the second signature. Signing the public key and the APPID of the second application is equivalent to encrypting the public key and the APPID of the second application.

[0234] Correspondingly, the cloud device's verification of the second signature in the second verification information based on the trusted proof of the second application is equivalent to the cloud device decrypting the second signature based on the trusted proof of the second application.

[0235] In some embodiments, if the APPID of the second application obtained through decryption is the same as the APPID of the second application in the second verification information, the signature verification is considered successful. This also indicates that the public key of the second application in the second verification information has not been tampered with. Conversely, if the APPID of the second application obtained through decryption is different from the APPID of the second application in the second verification information, the signature verification is considered to have failed, and this also indicates that the public key of the second application in the second verification information has been tampered with, meaning the second application is untrustworthy.

[0236] The cloud device sends the verification result to the mobile phone, thereby notifying the phone whether the first application on the in-vehicle terminal is trustworthy.

[0237] S707: The mobile phone receives the verification result from the cloud device, and after the cloud device successfully verifies the second signature in the second verification information based on the trusted proof of the second application, it sends the application data of the first application to the vehicle terminal.

[0238] The application data of the first application includes one or more of the following: image data, video data, audio data, and navigation data.

[0239] Since the cloud device successfully verified the first signature in the first verification information based on the first application's trusted proof before successfully verifying the second signature in the second verification information based on the second application's trusted proof, in step S707, the successful verification of the second signature of the second application by the cloud device indicates that the cloud device has completed and successfully verified the signatures of both the first and second applications on the mobile phone and the vehicle terminal. In this case, both the mobile phone and the vehicle terminal trust each other's applications and can share application data between the trusted applications.

[0240] For example, when the mobile phone and the vehicle terminal can use each other, the mobile phone can send the application data of the first application to the vehicle terminal, thereby sharing the application data of the first application with the vehicle terminal.

[0241] In some embodiments, if the cloud device fails to verify the second signature in the second verification information based on the trusted proof of the second application (i.e., the signature verification fails), the mobile phone will not trust the second application on the vehicle terminal and will not send the application data of the first application to the vehicle terminal.

[0242] S708: The vehicle terminal receives application data from the first application and displays the application data of the first application on the second application.

[0243] In some embodiments, the way in which the vehicle terminal presents the application data of the first application on the second application may include displaying the content corresponding to the application data, playing the audio corresponding to the application data, or one or more other methods.

[0244] For example, see Figure 11 As shown, when a mobile phone sends navigation data from the first application to the in-vehicle terminal, the in-vehicle terminal can display the corresponding navigation map, navigation routes, and other content on the second application. Furthermore, if the navigation data includes navigation audio data, the in-vehicle terminal can simultaneously play the audio content of the navigation data while displaying the navigation map and routes, thus providing users with a better data sharing experience from both visual and auditory perspectives.

[0245] For another example, see Figure 12As shown, when the mobile phone sends audio data from the first application to the vehicle terminal, the vehicle terminal can play music and other content corresponding to the audio data on the second application, thereby bringing users a better data sharing experience.

[0246] In this embodiment, the data sharing process between the mobile phone and the vehicle terminal is bidirectional. That is, in some other embodiments, the vehicle terminal may send application data of the second application to the mobile phone, and the mobile phone may then display the application data of the second application on the first application. For details, please refer to the above embodiments, which will not be repeated here.

[0247] In some embodiments, when the mobile phone and the vehicle terminal share application data, the application message is generated by the first application and the response message is generated by the second application. The mobile phone can also provide the application data from the second application of the vehicle terminal to the first application, and / or the vehicle terminal can also provide the application data from the first application of the mobile phone to the second application.

[0248] In other embodiments, when the mobile phone and the vehicle terminal share application data, based on the application message generated by the second application and the response message generated by the first application, the mobile phone provides the application data from the second application of the vehicle terminal to the first application, and / or the vehicle terminal provides the application data from the first application of the mobile phone to the second application.

[0249] In the inter-application communication method provided in the above embodiments, the communicating mobile phone and vehicle terminal respectively send the verification information of the application on the other end device to the cloud device, and the cloud device performs signature verification on the application. For example, the vehicle terminal sends the first verification information of the first application on the mobile phone to the cloud device for verification, and the mobile phone sends the second verification information of the second application on the vehicle terminal to the cloud device for verification.

[0250] When both applications on both devices are successfully verified, the phone trusts the second application on the in-vehicle terminal, and the in-vehicle terminal trusts the first application on the phone. Furthermore, the two phones and the in-vehicle terminal can share application data. For example, the first application on the phone can display navigation information from the second application on the in-vehicle terminal, and the second application on the in-vehicle terminal can play music from the first application on the phone. This enables cross-device communication between applications.

[0251] The method described in this application embodiment verifies the application via a cloud device, resulting in a faster, smoother, and more efficient verification process. Furthermore, it enables automatic verification of applications on both devices without user intervention, improving user convenience and ensuring a seamless user experience.

[0252] Once the corresponding application on the communicating devices is successfully verified on the cloud device, the two communicating devices can share application data from either device. To ensure the security of application data during sharing, in this embodiment, the application data shared between the communicating devices typically needs to be transmitted encrypted. This requires both communicating devices to have the same key to encrypt the application data to be sent and to decrypt the application data received.

[0253] For example, both the mobile phone and the vehicle terminal store or generate the same encryption key. The mobile phone uses the encryption key to encrypt the application data to be sent by the first application to obtain the encrypted shared data. After receiving the encrypted shared data, the vehicle terminal uses the same encryption key to decrypt the shared data to obtain the decrypted application data.

[0254] In some embodiments, the mobile phone and the vehicle terminal can each generate the same shared key on their respective sides, thereby encrypting or decrypting application data according to the shared key. Based on this, see [link to relevant documentation]. Figure 13 As shown, the inter-application communication method in this embodiment may further include the following steps S1301-S1304.

[0255] S1301. The vehicle terminal generates a shared key based on the private key of the second application and the public key of the first application in the first verification information.

[0256] The vehicle terminal can generate a shared key based on the private key of the second application and the public key of the first application according to the key negotiation algorithm.

[0257] S1302. The mobile phone generates a shared key based on the private key of the first application and the public key of the second application in the second verification information.

[0258] The mobile phone can generate a shared key based on the private key of the second application and the public key of the first application using a key negotiation algorithm.

[0259] In some embodiments, the mobile phone and the vehicle terminal can use the Elliptic Curve Diffie-Hellman (ECDH) key exchange algorithm to generate the same shared key for both ends, thereby ensuring that the application data decrypted by the application data sender can be accurately decrypted by the application data receiver, ensuring the consistency of application data between the two parties, and also ensuring that the application data receiver can accurately present the application content on the application of the application data sender.

[0260] S1303. The mobile phone generates encrypted application data of the first application based on the shared key and sends the encrypted application data of the first application to the vehicle terminal.

[0261] Among them, the mobile phone generates encrypted application data of the first application based on the shared key, including the mobile phone encrypting the application data of the first application using the shared key.

[0262] S1304. The vehicle terminal receives the encrypted application data of the first application and decrypts it using the shared key to obtain the application data of the first application.

[0263] In other embodiments, the vehicle terminal may send encrypted application data of the second application generated according to the shared key to the mobile phone, and send the encrypted application data of the second application to the mobile phone. The mobile phone uses the shared key to decrypt the data and obtain the application data of the second application. That is, the data transmission process between the mobile phone and the vehicle terminal is bidirectional.

[0264] Other contents in embodiments S1301-S1304 of this application can be referred to in the contents of S701-S708 of the foregoing embodiments, and will not be repeated here.

[0265] In some embodiments, the vehicle terminal can generate a shared key after receiving the first verification information sent by the mobile phone and the cloud device successfully verifying the first signature of the first application. Alternatively, the vehicle terminal can generate a shared key after receiving the encrypted application data of the first application sent by the mobile phone. Or, the vehicle terminal can generate a shared key after receiving the first verification information of the first application; if the cloud device successfully verifies the first signature of the first application, the vehicle terminal retains the shared key for subsequent decryption of the received application data; if the cloud device fails to verify the first signature of the first application, the vehicle terminal can delete the shared key.

[0266] In other embodiments, the mobile phone can generate a shared key after receiving the second verification information sent by the vehicle terminal and the cloud device successfully verifying the second signature of the second application. Alternatively, the mobile phone can generate the shared key after receiving the second verification information from the vehicle terminal; if the cloud device successfully verifies the second signature of the second application, the mobile phone retains the shared key for subsequent encryption of application data. If the cloud device fails to verify the second signature of the second application, the mobile phone can delete the shared key.

[0267] In this embodiment of the application, no specific restrictions are placed on the timing of the generation of shared keys by the mobile phone and the vehicle terminal.

[0268] In the above embodiments, the mobile phone and the vehicle terminal each generate the same shared key and use the shared key to encrypt application data during communication, thereby ensuring the security of application data and preventing it from being tampered with during transmission. Furthermore, both the application data sender and receiver use the same shared key to encrypt or decrypt the application data, ensuring that the application data can be accurately decrypted and presented by the application data receiver, thus improving the user experience.

[0269] Understandably, in the above embodiments, each time the mobile phone and the vehicle terminal establish a communication connection, a shared key is generated, which involves a key negotiation process. However, performing key negotiation after each communication connection is established significantly increases the communication time between applications on both devices, reducing communication efficiency.

[0270] To improve inter-application communication efficiency, in some embodiments, after the initial establishment of a communication connection, the mobile phone and the vehicle terminal each generate a shared key and encrypt and store it locally. Then, a working key is generated using a random number. When the mobile phone and the vehicle terminal share application data, the working key can be used to encrypt or decrypt the application data. Furthermore, the mobile phone and the vehicle terminal use the shared key to encrypt and transmit the working key, ensuring that both the mobile phone and the vehicle terminal have the same working key simultaneously. When establishing a communication connection again, the mobile phone and the vehicle terminal no longer negotiate the shared key. Instead, at the beginning of the current session, the end establishing the communication connection generates the working key, encrypts it using the shared key, and sends the encrypted working key to the other end establishing the communication connection. One communication connection between the mobile phone and the vehicle terminal corresponds to one session period.

[0271] Based on this, see Figure 14 As shown, the inter-application communication method in this embodiment may further include the following steps S1401-S1407.

[0272] S1401. The vehicle terminal generates a shared key based on the private key of the second application and the public key of the first application in the first verification information; and encrypts and saves the shared key.

[0273] The vehicle terminal can generate a shared key based on the private key of the second application and the public key of the first application according to the key negotiation algorithm.

[0274] S1402. The mobile phone generates a shared key based on the private key of the first application and the public key of the second application in the second verification information; and generates a working key based on a random number, and encrypts and saves the shared key.

[0275] The mobile phone can generate a shared key based on the private key of the second application and the public key of the first application using a key negotiation algorithm.

[0276] S1403 The mobile phone uses a shared key to encrypt the working key, and uses the working key to encrypt the application data of the first application, and sends the encrypted application data of the first application and the encrypted working key to the vehicle terminal.

[0277] S1404. The vehicle terminal receives the encrypted application data of the first application and the encrypted working key, and uses the shared key to decrypt and obtain the working key, and uses the working key to decrypt and obtain the application data of the first application.

[0278] S1405. After the current communication connection is broken and the mobile phone and the vehicle terminal re-establish the communication connection, the mobile phone generates a new working key based on a random number.

[0279] S1406. The mobile phone uses the new working key to encrypt the application data of the first application, and uses the saved shared key to encrypt the new working key, and sends the encrypted application data of the first application and the encrypted new working key to the vehicle terminal.

[0280] S1407. The vehicle terminal receives the encrypted application data of the first application and the encrypted new working key, and uses the saved shared key to decrypt and obtain the new working key, and uses the new working key to decrypt and obtain the application data of the first application.

[0281] In other embodiments, after the mobile phone generates the working key, it first encrypts the working key using a shared key, and then sends the encrypted working key to the vehicle terminal. The vehicle terminal then decrypts the working key using the shared key. Afterwards, the mobile phone and the vehicle terminal can use the working key to encrypt or decrypt application data.

[0282] Alternatively, the in-vehicle terminal can generate a working key, encrypt it using a shared key, and then send the encrypted working key to the mobile phone. The mobile phone can then decrypt the working key using the shared key. Afterward, the mobile phone and the in-vehicle terminal can use the working key to encrypt or decrypt application data.

[0283] It's worth noting that within a single session, i.e., during the current communication connection, the mobile phone and the vehicle terminal use a single working key to encrypt or decrypt application data. However, the working key used between the mobile phone and the vehicle terminal differs across different session periods. The working key can be generated by either the mobile phone or the vehicle terminal. After generating the working key, either the mobile phone or the vehicle terminal encrypts and transmits it to the other party using a shared key, ensuring that both parties have the same encryption key throughout the current session.

[0284] In this embodiment of the application, no specific restrictions are placed on the timing of the generation of working keys by mobile phones and vehicle terminals, or on the devices used to generate working keys.

[0285] Other contents in embodiments S1401-S1407 of this application can be referred to in the contents of S701-S708 and S1301-S1304 of the foregoing embodiments, and will not be repeated here.

[0286] In some embodiments, the communication connection re-established between the aforementioned mobile phone and vehicle terminal may be of the same or different type as the previously established communication connection.

[0287] For example, the mobile phone and the vehicle terminal are currently connected via Bluetooth. During this session, the mobile phone and the vehicle terminal use working key 1 to encrypt or decrypt the transmitted application data. After the current session ends and the mobile phone and the vehicle terminal establish a hotspot connection, the next session begins, and the mobile phone and the vehicle terminal use working key 2 to encrypt or decrypt the transmitted application data.

[0288] As can be seen, if the mobile phone and the vehicle terminal have already established a communication connection, after establishing a new communication connection, regardless of whether the type of the new communication connection is the same as the type of the previous communication connection, the mobile phone and the vehicle device can use the previously generated shared key to encrypt and transmit the newly generated working key. Thus, both ends of the communication use the same working key to encrypt or decrypt the shared application data.

[0289] In some embodiments, the end of a session indicates that the current communication connection between the mobile phone and the vehicle terminal is disconnected. For example, Bluetooth, hotspot, or Wi-Fi may be turned off on the mobile phone or vehicle terminal. This application does not impose specific limitations on this.

[0290] In the above embodiments, after the mobile phone and the vehicle terminal establish an initial communication connection, they can each generate the same shared key and use this shared key to encrypt and transmit the working key for the current session. Subsequently, when the mobile phone and the vehicle terminal re-establish a communication connection, there is no need for them to negotiate and generate a shared key again; they can simply use the initially generated shared key to encrypt or decrypt the new working key generated during the current session.

[0291] As can be seen, the mobile phone and the vehicle terminal do not need to generate a shared key for each communication connection. This means there's no need for a key negotiation process after each connection; the shared key obtained from the initial negotiation can be encrypted and stored. This significantly reduces communication time between applications on both devices after subsequent connections are established, improving communication efficiency and ensuring a better user experience.

[0292] After re-establishing the communication connection, only the shared key is used to encrypt each newly generated working key, and the working key is used to encrypt the application data. This can reduce the frequency of shared key usage, reduce the risk of shared key leakage, and ensure the security of application data during transmission.

[0293] Furthermore, if the shared key is only generated based on the public key of the second application and the private key of the first application in the second verification information after the mobile phone successfully verifies the second signature of the second application on the cloud device each time, then each shared key negotiation process requires the mobile phone or vehicle terminal to be connected to the Internet, or in other words, it requires the participation of the cloud device. However, using the method in the above embodiments of this application, the shared key is negotiated only during the initial communication connection. Therefore, when the mobile phone and vehicle terminal establish a communication connection again, neither the mobile phone nor the vehicle terminal needs to be connected to the Internet again, or communicate with the cloud device again. It is evident that the method in the above embodiments can also be used when neither the mobile phone nor the vehicle terminal has an Internet connection, thus enabling more application scenarios and a wider range of applications.

[0294] In addition, when the above embodiments are applied to scenarios where the mobile phone or vehicle terminal has no Internet connection, since there is no cloud device involved, the cloud device will not participate in the subsequent application signature verification process. That is, the cloud device only performs signature verification on the corresponding applications on the mobile phone and vehicle terminal when the mobile phone and vehicle terminal first establish a communication connection. This will also reduce the time for signature verification after the subsequent communication connection is established, improve the efficiency of application data sharing, and ensure the user experience.

[0295] The process of verifying application signatures by the cloud device in the aforementioned embodiments can be performed in advance or when there is a need for data sharing between the mobile phone and the vehicle terminal.

[0296] Based on this, in some embodiments, after the cloud device successfully verifies the second signature of the second application and the first signature of the first application, the mobile phone and the vehicle-mounted device can pre-generate the first verification information of the first application and the second verification information of the second application. When the mobile phone and the vehicle-mounted terminal re-establish communication, since the signatures of the first application on the mobile phone and the second application on the vehicle-mounted terminal have been verified by the cloud device, the mobile phone and the vehicle-mounted terminal can directly share application data between the first application and the second application. For example, the mobile phone displays the content of the second application on the vehicle-mounted terminal in the first application, or the vehicle-mounted terminal displays the content of the first application on the mobile phone in the second application.

[0297] Alternatively, if the user chooses to launch the first application during this communication connection, then since the signatures of the first application on the phone and the second application on the vehicle terminal have been verified by the cloud device, the phone and the vehicle terminal can directly share the application data of the first application. For example, the vehicle terminal can display the content of the first application on the phone in the second application. It is worth noting that the user can also choose to launch the second application during this communication connection; that is, the communication between the phone and the vehicle terminal is bidirectional. For details, please refer to the content in the aforementioned embodiments, which will not be repeated here.

[0298] In the above embodiments, the cloud device can perform signature verification for the corresponding applications on the mobile phone and the vehicle terminal in advance, thereby saving the time of verifying application signatures when there is a need for data sharing between the mobile phone and the vehicle terminal, quickly completing the sharing of application data between the mobile phone and the vehicle terminal, and ensuring the user experience.

[0299] In other embodiments, the need for data sharing between the mobile phone and the vehicle terminal can indicate that a communication connection has been established between the mobile phone and the vehicle terminal, or that after a communication connection has been established, the user chooses to launch a first application or a second application. In this case, the mobile phone can respond to the user's triggering operation for the first application or the second application, or respond to the communication connection operation between the mobile phone and the vehicle terminal, by sending the first verification information of the first application to the vehicle terminal, thereby triggering the cloud device to start verifying the signature of the first application. Furthermore, after the cloud device successfully verifies the signatures of the first application and the second application, the mobile phone and the vehicle terminal begin to share the application data of the first application or the second application. It is worth noting that after establishing a communication connection, the user can also choose to launch the second application; that is, the communication between the mobile phone and the vehicle terminal is bidirectional. For details, please refer to the content in the aforementioned embodiments, which will not be repeated here.

[0300] In the above embodiments, the signature verification of the corresponding applications on the mobile phone and the vehicle terminal by the cloud device can also be performed when there is a data sharing requirement between the mobile phone and the vehicle terminal, thereby ensuring the timeliness of application signature verification, ensuring that the applications of both parties are trustworthy during the current communication connection, and improving the security of application data shared between the mobile phone and the vehicle terminal.

[0301] As described in the foregoing embodiments, after a communication connection is established between the mobile phone and the vehicle terminal, the mobile phone can send application messages (e.g., broadcast messages) through the first application based on the communication connection. Multiple applications on the vehicle terminal can receive these application messages and send response messages to the mobile phone based on the communication connection; that is, the application messages sent by the mobile phone through the first application have a "one-to-many" characteristic. Each application sending a response message can be considered a second application. In this case, a "one-to-many" relationship may also exist between the first and second applications, but this does not mean that all second applications are secure. Subsequently, through the application signature verification process of the cloud device in the foregoing embodiments, a second application may be successfully verified from among the multiple second applications. Then, the mobile phone presents the application data of this second application on the first application, or the vehicle terminal presents the application data of the first application on this second application.

[0302] In the above embodiments of this application, the verification of the application signatures of the first application and the second application by the cloud device is used as an example to illustrate the trust of the first device in the inter-application communication method, and the trust of the second device in the first application. In other embodiments, after the cloud device completes two-way verification or trust with the first and second devices respectively, the cloud device can also grant the first and second devices the ability to verify applications. This enables the first and second devices to mutually trust applications without the cloud device participating in the application signature verification process. This saves the transmission time of information between the first device and the cloud device, and between the second device and the cloud device, greatly improving the efficiency of application verification and communication in the inter-application communication method of this application. At the same time, it eliminates the need for user participation in the verification process, improving the convenience of user operation, and the user will not be aware of the verification process, ensuring a good user experience.

[0303] Based on the above, when the cloud device grants the first and second devices the ability to verify applications, it can send verification identifiers, etc., to the first and second devices respectively. The verification identifiers sent by the cloud device to the first and second devices can be the same or different. For example, the verification identifier may include the public and private keys of a key pair generated by the cloud device; the cloud device sends the public key (or private key) of the key pair to the first device and the private key (or public key) of the key pair to the second device. Alternatively, the verification identifier may also be a target key, which the cloud device sends to both the first and second devices. Furthermore, the verification identifier may also be the cloud device's cloud identifier (e.g., a cloud certificate), the first application's application certificate (e.g., a CA certificate), the second application's application certificate (e.g., a CA certificate), etc., with the cloud device sending either the cloud identifier or the application certificate to both the first and second devices respectively.

[0304] Subsequently, the first device encrypts preset content (e.g., the first preset content) using a proof identifier and sends the encrypted preset content (e.g., the first preset content) to the second device. The second device decrypts the encrypted preset content (e.g., the first preset content) using the proof identifier, obtains the preset content (e.g., the first preset content), and compares the obtained preset content (e.g., the first preset content) with the corresponding content stored on the second device. If they match, the second device can trust the first application on the first device. Similarly, the first device can also trust the second application on the second device in the same way, that is, the second device sends encrypted preset content (e.g., the second preset content) to the first device, which then decrypts and verifies it.

[0305] The aforementioned preset content can be pre-agreed application-related preset data or information between the first and second devices, such as application identification information, application public key, application signature, and application digest information. The application digest information can be generated based on the application identification information and / or application public key. Furthermore, when the first device sends encrypted first preset content to the second device, the first preset content can be the first application's identification information, first application signature, first application public key, and first application digest information. Similarly, when the second device sends encrypted second preset content to the first device, the second preset content can be the second application's identification information, second application public key, second application signature, and second application digest information. The application digest information can be generated by either the first device or the second device.

[0306] In some embodiments, the verification information of the first or second application may include application identification information, application public key, encrypted preset content, etc., or it may include application signature, etc. In other embodiments, the preset content may be other content besides application identification information, application public key, application signature, application digest information, etc., such as fixed numbers or random numbers related to the application, and these data need to be agreed upon on the first and second devices.

[0307] For example, a cloud device generates a key pair and sends the public key from the key pair to a first device and the private key from the key pair to a second device. The first device generates a digest of the first application based on its identifier, public key, and other application information, encrypts the digest using the public key, and sends the encrypted digest to the second device. The second device decrypts the encrypted digest using the private key to obtain the digest of the first application. The second device then generates its own digest based on locally stored or previously acquired identifier, public key, and other application information of the first application. The second device compares the generated digest with the decrypted digest; if they match, the second device trusts the first application on the first device.

[0308] It is understandable that the first and second devices use asymmetric encryption algorithms to encrypt or decrypt preset data using the public or private key in the same key pair.

[0309] For another example, the cloud device generates a target key and sends it to both the first and second devices. The first device uses the target key to encrypt the identification information and / or public key of the first application in its application information, and sends the encrypted information to the second device. The second device then uses the target key to decrypt the encrypted information to obtain the identification information and / or public key of the first application. The second device then compares the locally stored or previously acquired identification information and / or public key of the first application with the decrypted identification information and / or public key. If they match, the second device trusts the first application on the first device.

[0310] For another example, the cloud device sends its CA certificate to both the first and second devices. The first device uses the CA certificate to encrypt the identification information and / or public key of the first application in its application information, and sends the encrypted information to the second device. The second device then uses the CA certificate to decrypt the encrypted information to obtain the identification information and / or public key of the first application. The second device then compares the locally stored or previously acquired identification information and / or public key of the first application with the decrypted identification information and / or public key. If they match, the second device trusts the first application on the first device.

[0311] For another example, the cloud device sends the CA certificate of the first application to both the first device and the second device. The first device uses the CA certificate to encrypt the identification information and / or public key of the first application in the application information of the first application, and sends the encrypted information to the second device. The second device then uses the CA certificate to decrypt the encrypted information to obtain the identification information and / or public key of the first application. The second device then compares the identification information and / or public key of the first application stored locally or already acquired with the decrypted identification information and / or public key of the first application. If they match, the second device trusts the first application on the first device.

[0312] In the foregoing embodiments, the first device is a mobile phone and the second device is an in-vehicle terminal, which are used as examples to illustrate the inter-application communication method in this application. In other embodiments, the first device may also be an electronic device such as a tablet computer, a laptop computer, a smart wearable device, or an in-vehicle terminal, and the second device may also be an electronic device such as a mobile phone, a tablet computer, a laptop computer, or a smart wearable device. For specific implementation methods, please refer to the content in the foregoing embodiments.

[0313] In some solutions, multiple embodiments of this application can be combined, and the combined solution can be implemented. Optionally, some operations in the processes of each method embodiment may be combined, and / or the order of some operations may be changed. Furthermore, the execution order between the steps of each process is merely exemplary and does not constitute a limitation on the execution order between steps; other execution orders are also possible. It is not intended to indicate that the execution order is the only possible order in which these operations can be performed. Those skilled in the art will conceive of various ways to reorder the operations described in the embodiments of this application. In addition, it should be noted that the process details involved in one embodiment of this application are also applicable to other embodiments in a similar manner, or different embodiments may be combined.

[0314] Furthermore, some steps in the method embodiments can be equivalently replaced with other possible steps. Alternatively, some steps in the method embodiments may be optional and can be deleted in certain use cases. Or, other possible steps may be added to the method embodiments. Moreover, the various method embodiments can be implemented individually or in combination.

[0315] It is understood that, in order to achieve the above functions, the aforementioned electronic device includes hardware and / or software modules corresponding to perform each function. Based on the algorithmic steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in conjunction with the embodiments, but such implementation should not be considered beyond the scope of this application.

[0316] This embodiment can divide the electronic device into functional modules according to the above method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0317] This application also provides an inter-application communication device, which can be an electronic device that serves as the first or second device in the above embodiments, or an electronic device that serves as a mobile phone or vehicle terminal, etc.

[0318] This application also provides an electronic device, such as... Figure 15 As shown, the electronic device may include one or more processors 1001, memory 1002, and communication interfaces 1003. The memory 1002 and communication interfaces 1003 are coupled to the processor 1001. For example, the memory 1002, communication interfaces 1003, and processor 1001 may be coupled together via a bus 1004.

[0319] The communication interface 1003 is used for data transmission with other devices. The memory 1002 stores computer program code. The computer program code includes computer instructions, which, when executed by the processor 1001, cause the electronic device to perform the inter-application communication method described in this embodiment.

[0320] The processor 1001 may be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in connection with this disclosure. The processor may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0321] Bus 1004 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Bus 1004 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 15 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0322] This application also provides a vehicle that includes the inter-application communication device described in the above embodiments; that is, the vehicle may include a first device, or may include a first device. Furthermore, the inter-application communication device in the vehicle can execute the relevant method steps described in the above method embodiments.

[0323] This application also provides a computer-readable storage medium storing computer program code. When the processor executes the computer program code, the electronic device executes the relevant method steps in the above method embodiments.

[0324] This application also provides a computer program product that, when run on a computer, causes the computer to execute the relevant method steps described in the above method embodiments.

[0325] In this application, the inter-application communication device, vehicle, electronic device, computer storage medium or computer program product are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects of the corresponding methods provided above, and will not be repeated here.

[0326] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0327] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0328] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0329] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0330] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, in essence, or the part that contributes, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0331] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. An inter-application communication method, characterized in that, It is used for communication between a first application and a second application, wherein the first application runs on a first device and the second application runs on a second device, and the first device and the second device establish a communication connection; The second application is the application corresponding to the first application; The method includes: The first device sends the first verification information of the first application to the second device; the first verification information includes the identification information of the first application, the public key of the first application, and a first signature, the first signature being obtained by signing the identification information of the first application and the public key of the first application based on the trusted proof of the first application; The second device receives the first verification information and sends the first verification information to the cloud device; the cloud device is used to assign application identifiers and trusted proofs to applications registered on the cloud side; the applications registered on the cloud side include the first application and the second application; When the cloud device successfully verifies the first signature in the first verification information based on the trusted proof of the first application, the second device sends the second verification information of the second application to the first device; the second verification information includes the identification information of the second application, the public key of the second application, and the second signature, which is obtained by signing the identification information of the second application and the public key of the second application based on the trusted proof of the second application; The first device receives the second verification information and sends the second verification information to the cloud device; When the cloud device successfully verifies the second signature in the second verification information based on the trusted proof of the second application, the first device and the second device share application data between the first application and the second application, wherein the application data is data of the first application or data of the second application.

2. The method according to claim 1, characterized in that, The method further includes: The second device obtains first information from the first device; the first information is used to instruct the second application.

3. The method according to claim 2, characterized in that, The first information includes a relationship lookup table; the relationship lookup table includes the correspondence between the identification information of the first application and the identification information of the second application; or, the first information includes the application identification code of the second application.

4. The method according to claim 2 or 3, characterized in that, The first information is carried in or included in the first verification information.

5. The method according to any one of claims 1-4, characterized in that, The first device and the second device share application data between the first application and the second application, including: The first device generates a shared key based on the private key of the first application and the public key of the second application in the second verification information; The first device generates encrypted application data of the first application based on the shared key, and sends the encrypted application data of the first application to the second device.

6. The method according to claim 5, characterized in that, The first device and the second device share application data between the first application and the second application, including: The first device receives encrypted application data of the second application sent by the second device; The first device obtains the decrypted application data of the second application based on the shared key.

7. The method according to claim 5 or 6, characterized in that, The first device and the second device share application data between the first application and the second application, including: The first device determines a working key based on the current communication connection between the first device and the second device; the working key is a key generated based on a random number, and different working keys correspond to communication connections in different session periods; The first device uses the working key to encrypt the application data of the first application, and uses the shared key to encrypt the working key; The first device sends encrypted application data of the first application and encrypted working key to the second device.

8. The method according to claim 7, characterized in that, The first device and the second device share application data between the first application and the second application, including: The first device receives the encrypted application data of the second application and the encrypted working key sent by the second device; The first device uses the shared key to decrypt and obtain the working key; The first device uses the working key to decrypt the application data of the second application.

9. The method according to any one of claims 1-8, characterized in that, The method further includes: The cloud device sends a cloud identifier to the first device; the cloud identifier is used to indicate the cloud service provided by the cloud device. The first device sends the identity information of the first application to the cloud device; If the first device successfully verifies the cloud identifier and the cloud device successfully verifies the identity information of the first application, the cloud device sends a trusted certificate of the first application to the first device. The first device receives a trusted certificate from the first application on the cloud device.

10. The method according to any one of claims 1-9, characterized in that, The method further includes: The cloud device sends a cloud identifier to the second device; The second device sends the identity information of the second application to the cloud device; If the second device successfully verifies the cloud identifier and the cloud device successfully verifies the identity information of the second application, the cloud device sends a trusted certificate of the second application to the second device. The second device receives a trusted certificate from the second application in the cloud device.

11. The method according to any one of claims 1-10, characterized in that, The method further includes: The first device sends an application message to the second device; the application message is generated by the first application. In response to the application message, the second device sends a response message to the first device; the response message is generated by the second application. The first device and the second device share application data between the first application and the second application, including: Based on the application message being generated by the first application and the response message being generated by the second application, the first device provides application data from the second application of the second device to the first application, and / or the second device provides application data from the first application of the first device to the second application.

12. The method according to any one of claims 1-11, characterized in that, The first device sends the first verification information of the first application to the second device, including: In response to a user's triggering operation on the first application or the second application, or in response to the operation of establishing the communication connection between the first device and the second device, the first device sends the first verification information of the first application to the second device.

13. The method according to any one of claims 1-12, characterized in that, The first device and the second device share application data between the first application and the second application, including: In response to a user's triggering operation on the first application or the second application, or, after the communication connection is broken, in response to the operation of the first device and the second device re-establishing a communication connection, the first device and the second device share application data between the first application and the second application.

14. The method according to any one of claims 1-13, characterized in that, The communication connection includes one or more of the following: Bluetooth connection, Bluetooth connection, hotspot connection, infrared connection, near field communication connection, and ultra-wideband connection.

15. An inter-application communication method, characterized in that, It is applied to a first device, the first device establishes a communication connection with a second device, a first application runs on the first device, and a second application runs on the second device, the second application being an application corresponding to the first application; The method includes: Send the first verification information of the first application to the second device; the first verification information includes the identification information of the first application, the public key of the first application, and a first signature, the first signature being obtained by signing the identification information of the first application and the public key of the first application based on the trusted proof of the first application; When the cloud device successfully verifies the first signature in the first verification information based on the trusted proof of the first application, it receives the second verification information sent by the second device and sends the second verification information to the cloud device. The second verification information includes the identification information of the second application, the public key of the second application, and a second signature, which is obtained by signing the identification information and the public key of the second application based on the trusted proof of the second application. The cloud device is used to assign application identifiers and trusted proofs to applications registered on the cloud side. The applications registered on the cloud side include the first application and the second application. When the cloud device successfully verifies the second signature in the second verification information based on the trusted proof of the second application, it shares application data between the first application and the second application with the second device. The application data is either the data of the first application or the data of the second application.

16. The method according to claim 15, characterized in that, The method further includes: Send a first message to the second device; the first message is used to instruct the second application.

17. The method according to claim 16, characterized in that, The first information includes a relationship lookup table; the relationship lookup table includes the correspondence between the identification information of the first application and the identification information of the second application; or, the first information includes the application identification code of the second application.

18. The method according to claim 16 or 17, characterized in that, The first information is carried in or included in the first verification information.

19. The method according to any one of claims 15-18, characterized in that, The sharing of application data between the first application and the second application with the second device includes: A shared key is generated based on the private key of the first application and the public key of the second application in the second verification information; The encrypted application data of the first application is generated based on the shared key, and then sent to the second device.

20. The method according to claim 19, characterized in that, The sharing of application data between the first application and the second application with the second device includes: Receive encrypted application data of the second application sent by the second device; The decrypted application data of the second application is obtained based on the shared key.

21. The method according to claim 19 or 20, characterized in that, The sharing of application data between the first application and the second application with the second device includes: Based on the current communication connection between the first device and the second device, a working key is determined; the working key is a key generated based on a random number, and different working keys correspond to communication connections in different session periods; The application data of the first application is encrypted using the working key, and the working key is encrypted using the shared key; The encrypted application data of the first application and the encrypted working key are sent to the second device.

22. The method according to claim 19 or 20, characterized in that, The sharing of application data between the first application and the second application with the second device includes: The device receives encrypted application data of the second application and encrypted working key sent by the second device; the working key is a key generated by the second device based on a random number, and different working keys correspond to communication connections in different session periods. The working key is obtained by decrypting using the shared key; The application data of the second application is decrypted using the working key.

23. The method according to any one of claims 15-22, characterized in that, The method further includes: Receive a cloud identifier sent by the cloud device; the cloud identifier is used to indicate the cloud service provided by the cloud device; Send the identity information of the first application to the cloud device; If the first device successfully verifies the cloud identifier and the cloud device successfully verifies the identity information of the first application, the system receives a trusted certificate of the first application sent by the cloud device.

24. The method according to any one of claims 15-23, characterized in that, The method further includes: Send an application message to the second device; the application message is generated by the first application; Receive a response message sent by the second device in response to the application message; the response message is generated by the second application. Sharing application data between the first application and the second application with the second device includes: Based on the application message being generated by the first application and the response message being generated by the second application, the application data of the second application from the second device is provided to the first application, and / or sent to the second device; the application data of the first application is used to provide the second application of the second device.

25. The method according to any one of claims 15-23, characterized in that, The method further includes: Receive application messages sent by the second device; the application messages are generated by the second application. In response to the application message, a response message is sent to the second device; the response message is generated by the first application. Sharing application data between the first application and the second application with the second device includes: Based on the fact that the application message is generated by the second application and the response message is generated by the first application, the application data of the second application from the second device is provided to the first application, and / or the application data of the first application is sent to the second device; the application data of the first application is used to provide the second application of the second device.

26. The method according to any one of claims 15-25, characterized in that, Sending the first verification information of the first application to the second device, including: In response to a user's triggering operation on the first application or the second application, or in response to the operation of establishing the communication connection between the first device and the second device, the first verification information of the first application is sent to the second device.

27. The method according to any one of claims 15-26, characterized in that, Sharing application data between the first application and the second application with the second device includes: In response to a user's triggering operation on the first application or the second application, or, after the communication connection is broken, in response to the first device and the second device re-establishing a communication connection, the application data between the first application and the second application is shared with the second device.

28. The method according to any one of claims 15-27, characterized in that, The communication connection includes one or more of the following: Bluetooth connection, Bluetooth connection, hotspot connection, infrared connection, near field communication connection, and ultra-wideband connection.

29. An inter-application communication method, characterized in that, The application is applied to a second device, which establishes a communication connection with the first device. The first device runs a first application, and the second device runs a second application, which is an application corresponding to the first application. The method includes: The system receives first verification information of the first application sent by the first device and sends the first verification information to the cloud device. The first verification information includes the identification information of the first application, the public key of the first application, and a first signature. The first signature is obtained by signing the identification information of the first application and the public key of the first application based on the trusted proof of the first application. The cloud device is used to assign application identifiers and trusted proofs to applications registered on the cloud side. The applications registered on the cloud side include the first application and the second application. When the cloud device successfully verifies the first signature in the first verification information based on the trusted proof of the first application, it sends the second verification information of the second application to the first device; the second verification information includes the identification information of the second application, the public key of the second application, and the second signature, which is obtained by signing the identification information of the second application and the public key of the second application based on the trusted proof of the second application; When the cloud device successfully verifies the second signature in the second verification information based on the trusted proof of the second application, it shares application data between the first application and the second application with the first device. The application data is either the data of the first application or the data of the second application.

30. The method according to claim 29, characterized in that, The method further includes: Receive first information sent by the first device; the first information is used to instruct the second application.

31. The method according to claim 30, characterized in that, The first information includes a relationship lookup table; the relationship lookup table includes the correspondence between the identification information of the first application and the identification information of the second application; or, the first information includes the application identification code of the second application.

32. The method according to claim 30 or 31, characterized in that, The first information is carried in or included in the first verification information.

33. The method according to any one of claims 29-32, characterized in that, The sharing of application data between the first application and the second application with the first device includes: A shared key is generated based on the private key of the second application and the public key of the first application in the first verification information; The encrypted application data of the second application is generated based on the shared key, and then sent to the first device.

34. The method according to claim 33, characterized in that, The sharing of application data between the first application and the second application with the first device includes: Receive encrypted application data of the first application sent by the first device; The decrypted application data of the first application is obtained based on the shared key.

35. The method according to claim 33 or 34, characterized in that, The sharing of application data between the first application and the second application with the first device includes: Based on the current communication connection between the first device and the second device, a working key is determined; the working key is a key generated based on a random number, and different working keys correspond to communication connections in different session periods; The working key is used to encrypt the application data of the second application, and the working key is used to encrypt the shared key; The encrypted application data of the second application and the encrypted working key are sent to the first device.

36. The method according to claim 33 or 34, characterized in that, The sharing of application data between the first application and the second application with the first device includes: The system receives encrypted application data of the first application and encrypted working key sent by the first device; the working key is a key generated by the first device based on a random number, and different working keys correspond to different communication connections in different session periods. The working key is obtained by decrypting using the shared key; The application data of the first application is decrypted using the working key.

37. The method according to any one of claims 29-36, characterized in that, The method further includes: Receive a cloud identifier sent by the cloud device; the cloud identifier is used to indicate the cloud service provided by the cloud device; Send the identity information of the second application to the cloud device; If the second device successfully verifies the cloud identifier and the cloud device successfully verifies the identity information of the second application, the second application's trusted proof is received from the cloud device.

38. The method according to any one of claims 29-37, characterized in that, The method further includes: Send an application message to the first device; the application message is generated by the second application; Receive a response message sent by the first device in response to the application message; the response message is generated by the first application; Sharing application data between the first application and the second application with the first device includes: Based on the fact that the application message is generated by the second application and the response message is generated by the first application, the application data of the first application from the first device is provided to the second application, and / or the application data of the second application is sent to the first device; the application data of the second application is used to provide the first application of the first device.

39. The method according to any one of claims 29-37, characterized in that, The method further includes: Receives an application message sent by the first device; the application message is generated by the first application. In response to the application message, a response message is sent to the first device; the response message is generated by the second application. Sharing application data between the first application and the second application with the first device includes: Based on the application message being generated by the first application and the response message being generated by the second application, the application data of the first application from the first device is provided to the second application, and / or the application data of the second application is sent to the first device; the application data of the second application is used to provide the first application of the first device.

40. The method according to any one of claims 29-39, characterized in that, The communication connection includes one or more of the following: Bluetooth connection, Bluetooth connection, hotspot connection, infrared connection, near field communication connection, and ultra-wideband connection.

41. An inter-application communication method, characterized in that, It is used for communication between a first application and a second application, wherein the first application runs on a first device and the second application runs on a second device, and the first device and the second device establish a communication connection; The second application is the application corresponding to the first application; The method includes: The first device sends the first verification information of the first application to the second device; the first verification information includes the identification information of the first application, the public key of the first application, and encrypted first preset content, wherein the encrypted first preset content is generated by the first device encrypting the identification information of the first application and / or the public key of the first application using a proof identifier, and the proof identifier is an identifier assigned by the cloud device to the device where the application registered on the cloud side is located for verifying the application; the application registered on the cloud side includes the first application and the second application; The second device receives the first verification information and uses the proof identifier received from the cloud device to decrypt the encrypted first preset content in the first verification information; When the decrypted first preset content is identical to the identification information of the first application and / or the public key of the first application in the first verification information received by the second device, the second device sends the second verification information of the second application to the first device; the second verification information includes the identification information of the second application, the public key of the second application, and the encrypted second preset content, wherein the encrypted second preset content is generated by the second device encrypting the identification information of the second application and / or the public key of the second application using the proof identifier; The first device receives the second verification information and uses the proof identifier to decrypt the encrypted second preset content in the second verification information; When the decrypted second preset content is the same as the identification information of the second application and / or the public key of the second application in the second verification information received by the second device, the first device and the second device share the application data between the first application and the second application, and the application data is the data of the first application or the data of the second application.

42. The method according to claim 41, characterized in that, The proof identifier includes any one of the public and private keys in the key pair generated by the cloud device, the target key sent by the cloud device, the application certificate of the first application, the application certificate of the second application, and the cloud identifier of the cloud device; when the proof identifier includes the public and private keys in the key pair generated by the cloud device, the cloud device sends the public key in the key pair to the first device and sends the private key in the key pair to the second device, or the cloud device sends the public key in the key pair to the second device and sends the private key in the key pair to the first device.

43. An inter-application communication method, characterized in that, It is applied to a first device, the first device establishes a communication connection with a second device, a first application runs on the first device, and a second application runs on the second device, the second application being an application corresponding to the first application; The method includes: Send the first verification information of the first application to the second device; the first verification information includes the identification information of the first application, the public key of the first application, and encrypted first preset content, wherein the encrypted first preset content is generated by the first device encrypting the identification information of the first application and / or the public key of the first application using a proof identifier, and the proof identifier is an identifier assigned by the cloud device to the device where the application registered on the cloud side is located for verifying the application; the application registered on the cloud side includes the first application and the second application; When the second device decrypts the encrypted first preset content in the first verification information using the proof identifier received from the cloud device, and the decrypted first preset content is identical to the identification information of the first application and / or the public key of the first application in the first verification information received by the second device, the second device receives the second verification information sent by the second device and decrypts the encrypted second preset content in the second verification information using the proof identifier; the second verification information includes the identification information of the second application, the public key of the second application, and the encrypted second preset content, which is generated by the second device encrypting the identification information of the second application and / or the public key of the second application using the proof identifier; When the decrypted second preset content is the same as the identification information of the second application and / or the public key of the second application in the second verification information received by the second device, the application data between the first application and the second application is shared with the second device, and the application data is the data of the first application or the data of the second application.

44. An inter-application communication method, characterized in that, The application is applied to a second device, which establishes a communication connection with the first device. The first device runs a first application, and the second device runs a second application, which is an application corresponding to the first application. The method includes: The system receives first verification information from the first device for the first application and decrypts the encrypted first preset content in the first verification information using a proof identifier received from the cloud device. The first verification information includes the identification information of the first application, the public key of the first application, and the encrypted first preset content. The encrypted first preset content is generated by the first device encrypting the identification information and / or the public key of the first application using the proof identifier. The proof identifier is an identifier assigned by the cloud device to the device where the application registered on the cloud side is located for verifying the application. The applications registered on the cloud side include the first application and the second application. When the decrypted first preset content is identical to the identifier information of the first application and / or the public key of the first application in the first verification information received by the second device, the second verification information of the second application is sent to the first device. The second verification information includes the identifier information of the second application, the public key of the second application, and the encrypted second preset content. The encrypted second preset content is generated by the second device encrypting the identifier information of the second application and / or the public key of the second application using the proof identifier. When the first device decrypts the encrypted second preset content in the second verification information using the proof identifier, and the decrypted second preset content is identical to the identifier information of the second application and / or the public key of the second application in the second verification information received by the second device, the application data between the first application and the second application is shared with the first device. The application data is either the data of the first application or the data of the second application.

45. A communication system, characterized in that, It includes a first device and a second device that establish a communication connection, wherein a first application runs on the first device and a second application runs on the second device, and the second application is an application corresponding to the first application; The first device is configured to perform the inter-application communication method as described in any one of claims 15-28, and the second device is configured to perform the inter-application communication method as described in any one of claims 29-40.

46. ​​A communication system, characterized in that, It includes a first device and a second device that establish a communication connection, wherein a first application runs on the first device and a second application runs on the second device, and the second application is an application corresponding to the first application; The first device is used to perform the inter-application communication method as described in claim 43, and the second device is used to perform the inter-application communication method as described in claim 44.

47. An inter-application communication device, characterized in that, The device includes a memory and one or more processors; the memory is coupled to the processors; wherein the memory stores computer program code, the computer program code including computer instructions, which, when executed by the processor, cause the inter-application communication device to perform the inter-application communication method as described in any one of claims 15-28, or the inter-application communication method as described in any one of claims 29-40, or the inter-application communication method as described in claim 43, or the inter-application communication method as described in claim 44.

48. A vehicle, characterized in that, The vehicle includes the inter-application communication device as described in claim 47.

49. A computer-readable storage medium, characterized in that, The method includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the inter-application communication method as described in any one of claims 15-28, or the inter-application communication method as described in any one of claims 29-40, or the inter-application communication method as described in claim 43, or the inter-application communication method as described in claim 44.

Citation Information

Patent Citations

  • Identity authentication method and device

    CN106102058A

  • Application data migration method, terminal equipment and storage medium

    CN115033899A