WO2024164112A1 - Procédé et appareil de communication inter-applications, système de communication et véhicule - Google Patents
Procédé et appareil de communication inter-applications, système de communication et véhicule Download PDFInfo
- Publication number
- WO2024164112A1 WO2024164112A1 PCT/CN2023/074630 CN2023074630W WO2024164112A1 WO 2024164112 A1 WO2024164112 A1 WO 2024164112A1 CN 2023074630 W CN2023074630 W CN 2023074630W WO 2024164112 A1 WO2024164112 A1 WO 2024164112A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- cloud
- data
- key
- verification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Definitions
- the present application relates to the field of communication technology, and in particular to an inter-application communication method, a communication system, an inter-application communication device, and a vehicle.
- a mobile phone can share music on a music app to a car's music app, so that users can listen to the music played by the car and get a better listening experience.
- users need to log in the same account on applications of different electronic devices to complete authentication between applications. If the same account is not logged in on applications of different electronic devices, the applications cannot communicate with each other.
- users need to use an application of one electronic device to scan a QR code on an application of another electronic device to complete authentication between applications.
- authentication between applications on different electronic devices requires too many operations, which is not convenient for users and affects the user experience.
- the embodiments of the present application provide an inter-application communication method, a communication system, an inter-application communication device and a vehicle, in which a cloud device verifies the applications on both ends of the communication respectively, and can also realize automatic verification of applications on devices on both ends without the need for users to participate in the verification process, thereby improving the convenience of user operations and ensuring the user experience.
- an inter-application communication method is provided, which is applied to the communication between a first application and a second application, wherein the first application runs on a first device, the second application runs on a second device, and the first device establishes a communication connection with the second device; the second application is an application corresponding to the first application.
- the first device sends first verification information of the first application to the second device, wherein the first verification information includes identification information of the first application, a public key of the first application, and a first signature, and the first signature is obtained by signing the identification information of the first application and the public key of the first application according to the trusted proof of the first application.
- the second device receives the first verification information and sends the first verification information to a cloud device, wherein the cloud device is used to allocate application identification and trusted proof to applications registered on the cloud side, and the applications registered on the cloud side include the first application and the second application.
- the cloud device successfully verifies the first signature in the first verification information according to the trusted proof of the first application
- the second device sends the second verification information of the second application to the first device, wherein the second verification information includes identification information of the second application, a public key of the second application, and a second signature, and the second signature is obtained by signing the identification information of the second application and the public key of the second application according to 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.
- the first device and the second device share the application data between the first application and the second application, wherein the application data is the data of the first application or the second application. data.
- the communicating devices respectively send the verification information of the application on the opposite device to the cloud device, and the cloud device verifies the application, and the cloud device performs signature verification on the application based on the pre-assigned application identification information and trusted proof.
- the first device trusts the application on the second device
- the second device trusts the application on the first device
- the two devices can share data between the applications, thereby realizing communication between applications across devices.
- the cloud device verifies the application, and the entire verification process is faster, smoother, and more efficient.
- the method further includes: the second device obtains the first information from the first device; the first information is used to indicate the second application.
- the second device can accurately determine the second application based on the first information, and after the cloud device successfully verifies the first signature of the first application, the second device sends the second verification information of the second application to the first device, so that the first device continues to perform signature verification on the second application on the second device through the cloud device.
- the above-mentioned first information includes a relationship comparison table, wherein the relationship comparison table includes the correspondence between the identification information of the first application and the identification information of the second application.
- the first information includes an application identification code of the second application, and the type of the application identification code may correspond to the short-range communication type, and when the short-range communication type is Bluetooth communication, the application identification code is a universal unique identification code UUID.
- the second device can accurately determine the second application based on the relationship comparison table or the application identification code, 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 continues to perform signature verification on the second application on the second device through the cloud device.
- the first information is carried in or included in the first verification information.
- the first device 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 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.
- the application data shared between the first device and the second device in communication needs to be encrypted for transmission, and the first device encrypts the application data to be sent based on the shared key, thereby ensuring the security of the application data when the application data is shared.
- the first device when the first device and the second device share application data between the first application and the second application, the first device receives the 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.
- the sharing of application data between the first device and the second device is bidirectional, that is, the first device can provide the application data of the second application on the second device for the first application, and the second device can provide the application data of the first application on the first device for the second application.
- the shared application data is transmitted in encrypted form, thereby ensuring the security of the application data when the application data is shared.
- the first device determines a working key based on a current communication connection between the first device and the second device, wherein the working key is a key generated according to a random number, and communication connections of different session periods correspond to Different working keys.
- 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 the encrypted application data of the first application and the encrypted working key to the second device.
- the first device and the second device do not need to generate a shared key every time a communication connection is established, that is, there is no need to perform a key negotiation process after each communication connection.
- the shared key obtained after the first negotiation can be encrypted and saved. In this way, after the subsequent communication connection is established, the communication time between applications on the two-end devices will be greatly reduced, the efficiency of communication will be improved, and the user experience will be guaranteed. After the communication connection is established again in the subsequent period, 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 also reduce the frequency of use of the shared key, reduce the risk of shared key leakage, and ensure the security of application data during transmission.
- the first device when the first device and the second device share application data between the first application and the second application, 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 decrypts using the shared key to obtain the working key. The first device decrypts the application data of the second application using the working key.
- the sharing of application data between the first device and the second device is bidirectional, and it is also possible to encrypt and save the shared key obtained after the first negotiation, and after the communication connection is subsequently established, only use the shared key to encrypt each newly generated working key, and use the working key to encrypt the application data, which can also reduce the frequency of use of the shared key, reduce the risk of shared key leakage, and ensure the security of application data during transmission.
- the above method also 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.
- the cloud device sends a trusted certificate of the first application to the first device.
- the first device receives the trusted certificate of the first application from the cloud device.
- the trusted certificate is the certificate information assigned by the cloud device after the application on the first device and the cloud device have mutually trusted each other.
- the cloud device can use the trusted certificate of the application to verify the signature of the application, thereby verifying that the public key transmitted during the application communication process has not been tampered with.
- the above method also 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.
- the cloud device sends a trusted certificate of the second application to the second device.
- the second device receives the trusted certificate of the second application from the cloud device.
- the trusted certificate is the certificate information assigned by the cloud device after the application on the second device and the cloud device have mutually trusted each other.
- the cloud device can use the trusted certificate of the application to verify the signature of the application, thereby verifying that the public key transmitted during the application communication process has not been tampered with.
- the above method also includes: the first device sends an application message to the second device; the application message is generated by the first application.
- the second device sends a reply message to the first device in response to the application message; the reply 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, based on the application message generated by the first application and the reply message generated by the second application, the first device provides the application data from the second application of the second device to the first application, and/or the second device provides the application data from the first application of the first device to the second application.
- the first device can automatically send the application message based on the communication connection, so that the second device sends a reply message in response to the application message.
- the message After the message is received, communication between the first application and the second application that responds to the application message is realized, and application data of the first application or the second application is shared between the first device and the second device.
- the first device receives an application message sent by the second device; the application message is generated by the second application.
- the first device responds to the application message and sends a reply message to the second device; the reply message is generated by the first application.
- the first device and the second device share application data between the first application and the second application, based on the application message generated by the second application and the reply message generated by the first application, the first device provides the application data from the second application of the second device to the first application, and/or the second device provides the application data from the first application of the first device to the second application.
- the second device can automatically send an application message based on the communication connection, so that after the first device sends a reply message to reply to the application message, the communication between the second application and the first application that replies to the application message is realized, and the application data of the first application or the second application is shared between the first device and the second device. That is, in the above method of the present application, it can be that the first device sends an application message and the second application on the second device replies, or it can be that the second device sends an application message and the first application on the first device replies.
- the first device when the first device sends the first verification information of the first application to the second device, in response to the user's triggering operation on the first application or the second application, or in response to the first device and the second device establishing a communication connection operation, the first device sends the first verification information of the first application to the second device.
- the user's operation only affects the startup of the first application or the second application. After the first application or the second application is started, the first device automatically sends the first verification information, and the user does not need to participate in the subsequent process. This can also make the user unaware of the application verification process between the first device and the second device, improve the convenience of operation, and ensure the user experience.
- the cloud device can pre-verify the signature of the corresponding application on the first device and the second device, thereby saving time for verifying the application signature when there is a need to share data between the first device and the second device, quickly completing the sharing of application data between the first device and the second device, and ensuring the user experience.
- the application data of the first application or the second application is one or more of navigation data, music data, video data, and picture data.
- the first device and the second device share the application data between the first application and the second application
- the first device sends the application data of the first application to the second device; the second device receives the application data and presents the application data on the second application.
- the second device sends the application data of the second application to the first device; the first device receives the application data and presents the application data on the first application.
- the communication connection includes one or more of a Bluetooth connection, a green tooth connection, a hotspot connection, an infrared connection, a near field communication connection, and an ultra-wideband connection.
- an inter-application communication method is provided, which is applied to a first device, wherein the first device establishes a communication connection with a second device, a first application is run on the first device, and a second application is run on the second device, wherein the second application is an application corresponding to the first application; the method includes:
- the first verification information includes identification information of the first application, a public key of the first application, and a first signature, the first signature verifying the authenticity of the first application according to the trusted proof of the first application
- the cloud device obtains identification information and a public key signature of the first application; when the cloud device successfully verifies the first signature in the first verification information according to the trusted proof of the first application, the cloud device 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 the second signature, and the second signature is obtained by the trusted proof of the second application on the identification information of the second application and the public key signature of the second application;
- the cloud device is used to allocate application identification and trusted proof 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 according to the trusted proof of the second application, the application data between the first application
- the method further includes: sending first information to the second device; the first information is used to indicate the second application.
- the first information includes a relationship comparison table; the relationship comparison table includes a correspondence between identification information of the first application and identification information of the second application; or, the first information includes an application identification code of the second application.
- the first information is carried in or included in the first verification information.
- application data between a first application and a second application is shared with a second device, including: generating a shared key based on a private key of the first application and a public key of the second application in 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.
- 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 according to a shared key.
- application data between a first application and a second application is shared with a second device, including: determining a working key based on a current communication connection between the first device and the second device; the working key is a key generated according to a random number, and communication connections in different session periods correspond to different working keys; using the working key to encrypt the application data of the first application, and using the shared key to encrypt the working key; and sending the encrypted application data of the first application and the encrypted working key to the second device.
- application data between a first application and a second application is shared with a second device, including: 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 according to a random number, and communication connections in different session periods correspond to different working keys; using the shared key to decrypt to obtain the working key; and using the working key to decrypt the application data of the second application.
- the above method also includes: receiving a cloud identifier sent by a cloud device; the cloud identifier is used to indicate a cloud service provided by the cloud device; sending identity information of a first application to the cloud device; and receiving a trusted certificate of the first application sent by the cloud device when the first device successfully verifies the cloud identifier and the cloud device successfully verifies the identity information of the first application.
- the method further includes: sending an application message to the second device; the application message is generated by the first application; receiving a response message sent by the second device in response to the application message; the response message is generated by the second application; sharing the application data between the first application and the second application with the second device, including: 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 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 be provided to the second application of the second device.
- the above method also includes: receiving an application message sent by the second device; the application message is generated by the second application; in response to the application message, sending a reply message to the second device; the reply message is generated by the first application; sharing application data between the first application and the second application with the second device, including: based on the application message generated by the second application, the reply message is generated by the first application, providing the application data of the second application from the second device to the first application, and/or sending the application data of the first application to the second device; the application data of the first application is used to be provided to the second application of the second device.
- sending first verification information of the first application to the second device includes: sending the first verification information of the first application to the second device in response to a user triggering operation on the first application or the second application, or in response to an operation of establishing a communication connection between the first device and the second device.
- sharing application data between a first application and a second application with a second device includes: responding to a trigger operation of a user on the first application or the second application, or, after the communication connection is disconnected, responding to an operation of the first device and the second device re-establishing a communication connection, sharing the application data between the first application and the second application with the second device.
- the communication connection includes one or more of a Bluetooth connection, a green tooth connection, a hotspot connection, an infrared connection, a near field communication connection, and an ultra-wideband connection.
- an inter-application communication method is provided, which is applied to a second device, wherein the second device establishes a communication connection with a first device, a first application is run on the first device, and a second application is run on the second device, wherein the second application is an application corresponding to the first application; the method includes:
- the first verification information includes identification information of the first application, a public key of the first application and a first signature, and the first signature is obtained by signing the identification information of the first application and the public key of the first application according to the trusted proof of the first application;
- the cloud device is used to allocate application identification and trusted proof to applications registered on the cloud side; the applications registered on the cloud side include a first application and a second application; when the cloud device successfully verifies the first signature in the first verification information according to the trusted proof of the first application, send second verification information of the second application to the first device;
- the second verification information includes identification information of the second application, a public key of the second application and a second signature, and the second signature is obtained by signing the identification information of the second application and the public key of the second application according to the trusted proof of the second application; when the cloud device successfully verifies the second signature in the second verification information according to the trusted proof of the second application, share application data between the first application and
- the method further includes: receiving first information sent by the first device; the first information is used to indicate the second application.
- the first information includes a relationship comparison table; the relationship comparison table includes a correspondence between identification information of the first application and identification information of the second application; or, the first information includes an application identification code of the second application.
- the first information is carried in or included in the first verification information.
- sharing application data between the first application and the second application with the first device includes: generating a shared key according to a private key of the second application and a public key of the first application in the first verification information; generating encrypted application data of the second application according to the shared key, and sending the encrypted application data of the second application to the first device.
- Application data of the second application includes: generating a shared key according to a private key of the second application and a public key of the first application in the first verification information; generating encrypted application data of the second application according to the shared key, and sending the encrypted application data of the second application to the first device.
- sharing application data between a first application and a second application with a 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 according to a shared key.
- application data between a first application and a second application is shared with a first device, including: determining a working key based on a current communication connection between the first device and the second device; the working key is a key generated according to a random number, and communication connections in different session periods correspond to different working keys; encrypting the application data of the second application using the working key, and encrypting the working key using the shared key; and sending the encrypted application data of the second application and the encrypted working key to the first device.
- application data between a first application and a second application is shared with a first device, including: 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 according to a random number, and communication connections in different session periods correspond to different working keys; decrypting using the shared key to obtain the working key; and decrypting the application data of the first application using the working key.
- the above method also includes: receiving a cloud identifier sent by a cloud device; the cloud identifier is used to indicate a cloud service provided by the cloud device; sending identity information of a second application to the cloud device; and receiving a trusted certificate of the second application sent by the cloud device when the second device successfully verifies the cloud identifier and the cloud device successfully verifies the identity information of the second application.
- the above method also includes: sending an application message to the first device; the application message is generated by the second application; receiving 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, including: based on the application message being generated by the second application, the response message being generated by the first application, providing application data from the first application of the first device to 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 be provided to the first application of the first device.
- the method also includes: receiving an application message sent by the first device; the application message is generated by the first application; in response to the application message, sending a reply message to the first device; the reply message is generated by the second application; sharing application data between the first application and the second application with the first device, including: based on the application message being generated by the first application and the reply message being generated by the second application, providing application data from the first application of the first device to 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 be provided to the first application of the first device.
- the communication connection includes one or more of a Bluetooth connection, a green tooth connection, a hotspot connection, an infrared connection, a near field communication connection, and an ultra-wideband connection.
- an inter-application communication method is provided, which is applied to the communication between a first application and a second application, wherein the first application runs on a first device, the second application runs on a second device, and the first device establishes a communication connection with the second device; the second application is an application corresponding to the first application.
- the first device sends first verification information of the first application to the second device, wherein 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 certification identifier, wherein the certification identifier is an identifier for verifying the application assigned by the cloud device to the device where the application registered on the cloud side is located, and the application registered on the cloud side includes the first Application and second application.
- the second device receives the first verification information, and uses the certification identifier received from the cloud device to decrypt the encrypted first preset content in the first verification information.
- the second device sends the second verification information of the second application to the first device, wherein 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, and the encrypted second preset content is generated after the second device encrypts the identification information of the second application and/or the public key of the second application using the certification identifier.
- the first device receives the second verification information, and uses the certification identifier to decrypt the encrypted second preset content in the second verification information.
- the first device and the second device share the application data between the first application and the second application, wherein the application data is the data of the first application or the data of the second application.
- the communicating devices can respectively verify the applications on the opposite device.
- the first device trusts the application on the second device
- the second device trusts the application on the first device
- the two devices can share data between the applications, thereby realizing communication between applications across devices.
- the cloud device grants the ability to verify the application to the first device and the second device, so that the first device and the second device can realize the process of mutually trusting the application without the cloud device participating in the process of verifying the application signature.
- the transmission time of information between the first device and the cloud device and between the second device and the cloud device can be saved, which greatly improves the efficiency of application verification and communication efficiency.
- there is no need for users to participate in the verification process which improves the convenience of user operation. Users will not perceive the verification process, thereby ensuring the user experience.
- the certification identifier includes any one of a public key and a private key in a key pair generated by the cloud device, a target key sent by the cloud device, an application certificate of the first application, an application certificate of the second application, and a cloud identifier of the cloud device.
- the certification identifier includes a public key and a private key in a 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.
- a method for communication between applications is provided, which is applied to a first device, where the first device establishes a communication connection with a second device, where a first application runs on the first device, and a second application runs on the second device, where the second application is an application corresponding to the first application.
- the method includes: sending first verification information of a first application to a 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, the encrypted first preset content is generated by the first device using a certification identifier to encrypt the identification information of the first application and/or the public key of the first application, the certification identifier is an identifier for verifying the application assigned by the cloud device to the device where the application registered on the cloud side is located; the application registered on the cloud side includes the first application and the second application; when the second device uses the certification identifier received from the cloud device to decrypt the encrypted first preset content in the first verification information, and the decrypted first preset content is the same as 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, receiving the second verification information sent by the second device, and using the certification identifier to decrypt the encrypted second preset content in the second verification information; the second verification information includes the identification information of the second application
- a method for communication between applications is provided, which is applied to a second device, wherein the second device establishes a communication connection with a first device, a first application is run on the first device, and a second application is run on the second device, wherein the second application is an application corresponding to the first application.
- the method comprises: receiving first verification information of the first application sent by the first device, and decrypting the encrypted first preset content in the first verification information using a certification identifier received from a cloud device;
- the first verification information comprises identification information of the first application, a public key of the first application, and the encrypted first preset content, wherein the encrypted first preset content is generated after the first device encrypts the identification information of the first application and/or the public key of the first application using the certification identifier, and the certification 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 comprises the first application and the second application;
- the decrypted first preset content is decrypted with 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.
- 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 the encrypted second preset content, and the encrypted second preset content is generated after the second device uses the certification identifier to encrypt the identification information of the second application and/or the public key of the second application;
- the first device uses the certification identifier to decrypt the encrypted second preset content in the second verification information, 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, application data between the first application and the second application is shared with the first device, and the application data is the data of the first application or the data of the second application.
- a communication system including a first device and a second device that establish a communication connection, a first application running on the first device, and a second application running 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 in the second aspect and any implementation thereof, and the second device is used to execute the inter-application communication method as in the third aspect and any implementation thereof.
- a communication system comprising a first device and a second device establishing a communication connection, wherein a first application is run on the first device and a second application is run 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 in the fifth aspect, and the second device is used to execute the inter-application communication method as in the sixth aspect.
- an inter-application communication device comprising a memory and one or more processors; the memory is coupled to the processor; wherein a computer program code is stored in the memory, and the computer program code comprises computer instructions, and when the computer instructions are executed by the processor, the inter-application communication device executes the inter-application communication method as in the second aspect and any implementation thereof, or executes the inter-application communication method as in the third aspect and any implementation thereof, or executes the inter-application communication method as in the fifth aspect, or executes the inter-application communication method as in the sixth aspect.
- an electronic device comprising a memory and one or more processors; the memory is coupled to the processor; wherein the memory stores a computer program code, the computer program code comprising a computer program code; Machine instructions, when the computer instructions are executed by the processor, enable the electronic device to execute the inter-application communication method as in the second aspect and any implementation thereof, or execute the inter-application communication method as in the third aspect and any implementation thereof, or execute the inter-application communication method as in the fifth aspect, or execute the inter-application communication method as in the sixth aspect.
- a vehicle comprising the inter-application communication device in the ninth aspect.
- a computer-readable storage medium comprising computer instructions.
- the electronic device executes the inter-application communication method as in the second aspect and any implementation thereof, or executes the inter-application communication method as in the third aspect and any implementation thereof, or executes the inter-application communication method as in the fifth aspect, or executes the inter-application communication method as in the sixth aspect.
- a computer program product is provided.
- the computer program product runs on a computer, it enables the computer to execute the inter-application communication method as in the second aspect and any implementation thereof, or execute the inter-application communication method as in the third aspect and any implementation thereof, or execute the inter-application communication method as in the fifth aspect, or execute the inter-application communication method as in the sixth aspect.
- the beneficial effects that can be achieved by the inter-application communication method described in the second aspect, the inter-application communication method described in the third aspect, the inter-application communication method described in the fourth aspect, the inter-application communication method described in the fifth aspect, the inter-application communication method described in the sixth aspect, the communication system described in the seventh aspect, the communication system described in the eighth aspect, 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 refer to the beneficial effects in the first aspect and any possible implementation method thereof, and will not be repeated here.
- FIG1 is a schematic diagram 1 of a communication system shown in an embodiment of the present application.
- FIG2 is a second schematic diagram of a communication system shown in an embodiment of the present application.
- FIG3 is a third schematic diagram of a communication system shown in an embodiment of the present application.
- FIG4 is a schematic diagram of the hardware structure of an electronic device shown in an embodiment of the present application.
- FIG5 is a schematic diagram of a software structure of an electronic device shown in an embodiment of the present application.
- FIG6 is a schematic diagram of a terminal-cloud bilateral trust shown in an embodiment of the present application.
- FIG. 7 is a flowchart of a method for communication between applications according to an embodiment of the present application.
- FIG8 is a schematic diagram of a cloud device verifying a signature according to an embodiment of the present application.
- FIG9 is a schematic diagram 1 of a vehicle-mounted device determining a second application according to an embodiment of the present application
- FIG10 is a second schematic diagram of a vehicle-mounted device determining a second application according to an embodiment of the present application
- FIG11 is a schematic diagram 1 of an in-vehicle device presenting application data of a first application according to an embodiment of the present application;
- FIG12 is a second schematic diagram of an in-vehicle device presenting application data of a first application according to an embodiment of the present application
- FIG13 is a second flow chart of an inter-application communication method according to an embodiment of the present application.
- FIG14 is a third flow chart of an inter-application communication method according to an embodiment of the present application.
- FIG. 15 is a schematic diagram of an electronic device according to an embodiment of the present application.
- At least one of the following or its similar expressions refers to any combination of these items, including any combination of single items or plural items.
- at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
- the words "first" and "second” are used to distinguish the same items or similar items with basically the same functions and effects.
- words such as “first” and “second” do not limit the quantity and execution order, and words such as “first” and “second” do not necessarily limit the difference.
- words such as “exemplary” or “for example” are used to indicate examples, illustrations or explanations. Any embodiment or design described as “exemplary” or “for example” in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs.
- words such as “exemplary” or “for example” is intended to present related concepts in a concrete way for easy understanding.
- Application cross-terminal communication or application cross-device communication means that applications on different electronic devices can communicate with each other and transmit data, so that users can experience the functions of another electronic device on one electronic device.
- a mobile phone can share music on a music software to the music software of a vehicle, and the user can listen to the music played by the vehicle and get a better listening experience.
- a mobile phone can send map information on a navigation software to the navigation software of a vehicle, and the user can view the map information and navigation content on the vehicle.
- an inter-application communication method is provided in an embodiment of the present application, which is applied to communication between a first application and a second application, wherein the first application runs on a first device, the second application runs on a second device, and the first device establishes a communication connection with the second device, and the second application is an application corresponding to the first application.
- the first device sends first verification information of the first application to the second device, wherein the first verification information includes identification information of the first application, the public key of the first application and a first signature, and the first signature is obtained by signing the identification information of the first application and the public key of the first application according to 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, wherein the cloud device is used to allocate application identification and trusted proof to the application registered on the cloud side, and the application registered on the cloud side includes the first application and the second application.
- the second device When the cloud device successfully verifies the first signature in the first verification information according to the trusted proof of the first application, the second device sends second verification information of the second application to the first device, wherein the second verification information includes identification information of the second application, the public key of the second application and a second signature, and the second signature is obtained by signing the identification information of the second application and the public key of the second application according to 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.
- 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.
- the communicating devices respectively send the verification information of the application on the other device to the cloud device, and the cloud device verifies the application, and the cloud device performs signature verification on the application based on the pre-assigned application identification information and trusted proof.
- the first device trusts the application on the second device
- the second device trusts the application on the first device
- the two devices can share data between the applications, thereby realizing communication between applications across devices.
- the cloud device verifies the application, and the entire verification process is faster, smoother, and more efficient.
- a method for inter-application communication is provided, which can be applied to a communication system.
- the communication system includes a first device 1, a second device 2, and a cloud device 3.
- a communication connection is established between the first device 1 and the second device 2, and the first device 1 and the second device 2 can also communicate with the cloud device 3 respectively.
- the communication between the first device 1 and the cloud device 3 can be based on a wireless local area network or based on long-term evolution technology (LTE), and the communication between the first device 2 and the cloud device 3 can be based on a wireless local area network or based on LTE.
- LTE long-term evolution technology
- 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.
- application 1 application software 1
- application 2 application software 2
- the cloud device 3 pre-assigns identification information and trustworthy certificates to the application 1 and the application 2.
- the first device 1 signs the identification information and public key of the application 1 according to the trusted certificate of the application 1, and obtains the signature of the application 1. Use signature 1 of 1, and generate verification information 1 of application 1 according to the identification information of application 1, the public key and signature 1.
- the second device 2 signs the identification information and public key of the application 2 according to the trusted certificate of the application 2 to obtain the signature 2 of the application 2, and generates the verification information 2 of the application 2 according to the identification information, public key and signature 2 of the application 2.
- first device 1 When application 1 on first device 1 needs to communicate with application 2 on second device 2, first device 1 sends verification information 1 of application 1 to second device 2. Second device 2 receives verification information 1 and sends verification information 1 to cloud device 3, requesting cloud device 3 to verify verification information 1.
- the cloud device 3 verifies the signature 1 of the application 1 according to the trusted proof of the application 1.
- the identification information of the application 1 corresponding to the obtained signature 1 is the same as the identification information assigned to the application 1 by the cloud device 3, the signature 1 verification is successful.
- the second device 2 can trust the application 1 on the first device 1, and can also ensure that the public key corresponding to the application 1 has not been tampered with during the transmission process.
- the second device 2 sends the verification information 2 of the application 2 corresponding to the application 1 to the first device 1.
- the first device 1 receives the verification information 2 and sends the verification information 2 to the cloud device 3, requesting the cloud device 3 to verify the verification information 2.
- the cloud device 3 verifies the signature 2 of the application 2 according to the trusted proof of the application 2.
- the signature 2 verification is successful.
- the first device 1 can trust the application 2 on the second device 2, and can also ensure that the public key corresponding to the application 2 has not been tampered with during the transmission process.
- the cloud device 3 can send a certification mark for verifying the application to the first device 1 and the second device 2 respectively.
- the first device 1 encrypts the preset content using the certification mark, wherein the preset content is the content related to the application 1 on the first device 1.
- the first device 1 sends the encrypted preset content to the second device 2.
- the second device 2 decrypts the encrypted preset content using the certification mark to obtain the preset content, and compares the obtained preset content with the content related to the application 1 saved on the second device 2. If the two are the same, the second device 2 can trust the application 1 on the first device 1. Similarly, the first device 1 can also trust the application 2 on the second device 2 in the same way.
- the certification mark sent by the cloud device 3 can be the public key and private key in the key pair generated by the cloud device 3, or it can be a fixed key, or it can be the cloud identifier of the cloud device 3 (such as a cloud certificate), the application certificate of the application 1, the application certificate of the application 2, etc.
- the preset content may be preset data or preset information related to the application pre-agreed between the first device 1 and the second device 2, such as the identification information of the application, the public key of the application, the signature of the application, the summary information of the application, etc., and the summary information of the application may be information generated based on the identification information of the application and/or the public key of the application; and, when the first device 1 sends encrypted content to the second device 2, the preset content may be the identification information of application 1, the public key of application 1, the signature of application 1, the summary information of application 1, etc. in the first verification information of application 1; when the second device 2 sends encrypted content to the first device 1, the preset content may be the identification information of application 2, the signature of application 2, the summary information of application 2, etc.
- the summary information of the application may be generated by the device where the application is located, or by the opposite device.
- the above-mentioned first application or the second device 2 may be a plurality of pieces of information, such as the information of the application being used, or a plurality of pieces of information of the application being used.
- the verification information of the second application may include identification information of the application, a public key of the application, encrypted preset content, etc., or may also include a signature of the application.
- the cloud device 3 generates a key pair, and sends the public key in the key pair to the first device 1, and sends the private key in the key pair to the second device 2.
- the first device 1 generates summary information of application 1 based on the identification information and/or application information such as the public key of application 1, encrypts the summary information of application 1 based on the public key in the key pair, and sends the encrypted summary information of application 1 to the second device 2.
- the second device 2 decrypts the encrypted summary information based on the private key in the key pair to obtain the summary information of application 1, and the second device 2 generates summary information of application 1 based on the identification information, public key, signature and other application information of application 1 stored locally or obtained, and the second device 2 compares the generated summary information of application 1 with the decrypted summary information of application 1. If the two are consistent, the second device 2 trusts application 1 on the first device 1.
- first device 1 and the second device 2 implement a process of encrypting or decrypting preset data based on a public key or a private key in the same key pair based on an asymmetric encryption algorithm.
- 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.
- the first device 1 may send application data of application 1 to the second device 2, and the second device 2 presents the application data of application 1 on application 2.
- the second device 2 may send application data of application 2 to the first device 1, and the first device 1 presents the application data of application 2 on application 1, and so on.
- the situation where application 1 on the first device 1 needs to communicate with application 2 on the second device 2 may include: after the first device 1 and the second device 2 are communicatively connected, the user starts (e.g., triggers, clicks, etc.) application 1 or starts application 2.
- the user starts (e.g., triggers, clicks, etc.) application 1 or starts application 2.
- the first device 1 can directly send a 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 the cloud device 3 successfully verifies the signature 1 of application 1, it sends the verification information 2 of application 2 to the first device 1.
- the first device 1 when the user starts application 1, the first device 1 sends an application message (such as 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 and based on the communication connection. Thereafter, the first device 1 sends verification information 1 of application 1 to the second device 2. The second device 2 receives the verification information 1 of application 1 and sends verification information 2 of application 2 to the first device 1 after the cloud device 3 successfully verifies the signature 1 of application 1.
- an application message such as a broadcast message
- application 2 can respond to the application message.
- the second device 2 sends a response message to the first device 1 through application 2 and based on the communication connection. Thereafter, the first device 1 sends verification information 1 of application 1 to the second device 2.
- the second device 2 receives the verification information 1 of application 1 and sends verification information 2 of application 2 to the first device 1 after the cloud device 3 successfully
- the situation where application 1 on the first device 1 needs to communicate with application 2 on the second device 2 may also include: after the first device 1 and the second device 2 are communicatively connected, the first device 1 automatically sends an application message (such as a broadcast message) to the application on the second device 2 through application 1 based on the communication connection.
- an application message such as a broadcast message
- the first device 1 sends an application message (such as a broadcast message) to the application on the second device 2 through the application 1 based on the communication connection. Since the application 2 corresponds to the application 1, the application 2 can respond to the application message.
- the second device 2 sends a response message to the first device 1 through the application 2 and based on the communication connection. Thereafter, the first device 1 sends the verification information 1 of the application 1 to the second device 2.
- the second device 2 receives the verification information 1 of the application 1 and successfully verifies the signature of the application 1 on the cloud device 3. After the name 1, the verification information 2 of the application 2 is sent to the first device 1.
- the communication system 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.
- the server 4 is a physical server, as shown in FIG. 2 , the 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.
- the first device 1 and the second device 2 may respectively send application verification information to the server 4 based on the local area network, and the server 4 may verify the signatures of the applications on the first device 1 and the second device 2 based on the Internet.
- the communication connection between the first device and the second device may be a long-distance communication connection or a short-distance communication connection.
- the short-distance communication connection may be one or more of a Bluetooth connection, a green tooth connection, a hotspot connection, an infrared connection, a near-field communication connection, an ultra-wideband connection, and a wireless local area network connection.
- the communication system may further include a relay server 5.
- the relay server 5 is used to forward communication data between electronic devices.
- the first device 1 when the first device 1 establishes a long-distance communication connection with the second device 2, the first device 1 sends the application data of the application 1 to the relay server 5, and the relay server 5 forwards the application data of the application 1 to the second device 2.
- the second device 2 sends the application data of the application 2 to the relay server 5, and the relay server 5 forwards the application data of the application 2 to the first device 1.
- the relay server 5 may be either the cloud device 3 or other devices independent of the cloud device 3, which is not specifically limited in the embodiments of the present application.
- cloud device 3 represents a cluster of cloud-side devices or cloud-side servers, that is, a cluster includes multiple cloud-side servers or cloud-side devices, and the information between cloud-side devices in the cluster is interoperable.
- Application 1 and application 2 can be registered on the same cloud-side device, or they can be registered on different cloud-side devices, and the cloud-side device that verifies the application can be the cloud-side device that registers the application, or it can be a cloud-side device that is not a cloud-side device that registers the application.
- the cloud-side devices can obtain the identity information of the unregistered application in the current cloud-side device through information exchange, such as the application's identification information, package name, certificate fingerprint information, etc., so as to verify the signature or identity of the application.
- the first device 1 and the second device 2 can be devices that include the same operating system, such as the Android open source project (AOSP) Android system, etc.
- AOSP Android open source project
- the above-mentioned 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 first send verification information 1 of application 1 to the second device 2, or the second device 2 can first send verification information 2 of application 2 to the first device 1, that is, the first device in the above-mentioned communication system can also be used as the second device, and the second device can also be used as the first device.
- the first device in the above-mentioned communication system can also be used as the second device
- the second device can also be used as the first device.
- no specific limitation is made to this.
- the communicating devices respectively send the verification information of the application on the other device to the cloud device, and the cloud device performs signature verification on the application.
- the first device trusts the application on the second device
- the second device trusts the application on the first device
- the two devices can share data between the applications, thereby realizing communication between applications across devices.
- the cloud device verifies the application, and The entire verification process is faster, smoother and more efficient. In addition, it can also realize automatic verification of applications on both devices without the need for users to participate in the verification process, improving the convenience of user operation, and users will not perceive the verification process, thus ensuring the user experience.
- the first device 1 in the above communication system may be an electronic device such as a mobile phone, a tablet computer, a laptop computer, a smart wearable device, a vehicle-mounted terminal, etc.
- the second device 2 may be an electronic device such as a mobile phone, a tablet computer, a laptop computer, a smart wearable device, a vehicle-mounted terminal, etc.
- the vehicle-mounted terminal may include a vehicle computer and a rear screen in a vehicle, etc.
- the application data of application 1 and application 2 may be one or more of picture data, video data, audio data, and navigation data.
- the types of application 1 and application 2 may be the same or different.
- FIG. 4 shows a schematic diagram of a hardware structure of an electronic device.
- 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.
- 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)
- the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100.
- the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently.
- the components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
- the processor 110 may include one or more processing units.
- the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and/or a neural-network processing unit (NPU), etc.
- AP application processor
- GPU graphics processor
- ISP image signal processor
- DSP digital signal processor
- NPU neural-network processing unit
- the controller may be the nerve center and command center of the electronic device 100.
- the controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
- the processor 110 may also be provided with a memory for storing instructions and data.
- the processor 110 may include one or more interfaces.
- the interface 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.
- I2C inter-integrated circuit
- I2S inter-integrated circuit sound
- PCM pulse code modulation
- UART universal asynchronous receiver/transmitter
- MIPI mobile industry processor interface
- GPIO general-purpose input/output
- SIM subscriber identity module
- USB universal serial bus
- the USB interface 130 is an interface that complies with the USB standard specification, and may be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc.
- the charging management module 140 is used to receive charging input from a charger.
- the power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110.
- the wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
- Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals.
- Each antenna in electronic device 100 can be used to Covering single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
- the mobile communication module 150 can provide solutions for wireless communications including 2G/3G/4G/5G, etc., applied to the electronic device 100.
- the mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc.
- the mobile communication module 150 can receive electromagnetic waves from the antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation.
- the wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) network), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) and the like applied to the electronic device 100.
- WLAN wireless local area networks
- BT wireless fidelity
- GNSS global navigation satellite system
- FM frequency modulation
- NFC near field communication
- IR infrared
- 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 the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering processing, and sends the processed signal to the processor 110.
- the wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of the signal, amplify the signal, and convert it into electromagnetic waves for radiation through the antenna 2.
- a communication connection can be established between the first device and the second device through the wireless communication module 160, such as a short-distance communication connection, a long-distance communication connection, etc., and another example is a hotspot connection, Wi-Fi direct connection, Bluetooth connection, green tooth connection, infrared connection, near-field communication connection, ultra-wideband connection, etc.
- the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through 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 technology.
- the GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and/or a satellite based augmentation system (SBAS).
- GPS global positioning system
- GLONASS global navigation satellite system
- BDS Beidou navigation satellite system
- QZSS quasi-zenith satellite system
- SBAS satellite based augmentation system
- the electronic device 100 implements a display function through a GPU, a display screen 194, and an application processor.
- the display screen 194 is used to display images, videos, etc.
- the electronic device 100 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.
- the camera 193 is used to capture still images or videos.
- the first device when the electronic device 100 is the first device in the aforementioned embodiments, can display the picture 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 picture 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.
- the second device when the electronic device 100 is the second device in the aforementioned embodiment, can display the picture content, video content, navigation content, etc. of the second application on the second device through the GPU, the display screen 194, and the application processor, and can also display the first application through the GPU, the display screen 194, and the application processor.
- the external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100.
- an external memory card such as a Micro SD card
- the internal memory 121 may be used to store computer executable program codes, wherein the executable program codes include instructions.
- the processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121 .
- the processor 110 of the first device when the electronic device 100 is the first device in the aforementioned embodiment, sends the verification information of the first application to the second device by running the instructions stored in the internal memory 121. Also, the processor 110 of the first device receives the verification information of the second application sent by the second device by running the instructions stored in the internal memory 121, and sends the verification information of the second application to the cloud device, and the cloud device verifies 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 the application data of the first application to the second device by running the instructions stored in the internal memory 121, or receives the application data of the second application sent by the second device.
- the processor 110 of the second device receives the verification information of the first application sent by the first device by running the instructions stored in the internal memory 121, and sends the verification information of the first application to the cloud device, and the cloud device verifies the first application.
- the processor 110 of the second device sends the verification information of the second application to the first device by running the instructions stored in the internal memory 121.
- the processor 110 of the second device receives the application data of the first application sent by the first device, or the application data of the second application sent to the first device by running the instructions stored in the internal memory 121.
- the electronic device 100 can implement audio functions through the audio module 170 and the application processor, etc. For example, music playing, recording, etc.
- the audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals.
- the audio module 170 can also be used to encode and decode audio signals.
- the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.
- the first device when the electronic device 100 is the first device in the aforementioned embodiments, can play the audio content of the first application on the first device through the audio module 170 and the application processor, etc., 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, etc.
- the second device when the electronic device 100 is the second device in the aforementioned embodiments, can play the audio content of the second application on the second device through the audio module 170 and the application processor, etc., and can also play the audio content of the first application sent by the first device through the audio module 170 and the application processor, etc.
- the button 190 includes a power button, a volume button, etc.
- the button 190 may be a mechanical button. It may also be a touch button.
- the motor 191 may generate a vibration prompt.
- the motor 191 may be used for an incoming call vibration prompt or for touch vibration feedback.
- the indicator 192 may be an indicator light, which may be used to indicate the charging status, the change in power, or may be used to indicate messages, missed calls, notifications, etc.
- the SIM card interface 195 is used to connect a SIM card.
- the communicating devices send the verification information of the application on the other device to the cloud device respectively, and the cloud device performs signature verification on the application.
- the first device trusts the application on the second device
- the second device trusts the application on the first device
- the two devices can share the data between the applications, thereby achieving Communication between applications on cross-devices.
- the cloud device verifies the application, and the entire verification process is faster, smoother, and more efficient.
- the software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture.
- the embodiment of the present application takes the Android system of the layered architecture as an example to exemplify the software structure of the electronic device 100.
- FIG. 5 shows a schematic diagram of the software structure of the electronic device 100 .
- the layered architecture divides the software into several layers, each with clear roles and division of labor.
- the layers communicate with each other through software interfaces.
- the Android system is divided into four layers, from top to bottom, namely, the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
- the application layer can include a series of application packages.
- the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
- the corresponding applications on the first device and the second device can be applications of the same type or applications of different types. However, if they are applications of different types, one application should be able to implement the functions of the corresponding application.
- the map application on the second device can implement the navigation function, corresponding to the navigation application on the first device.
- the first device sends the navigation data of the navigation application on the first device to the second device
- the second device can present the navigation data on the map application; or
- the navigation application on the first device can implement the music playback function, corresponding to the music application on the second device.
- 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.
- the application framework layer provides application programming interface (API) and programming framework for the applications in the application layer.
- API application programming interface
- the application framework layer includes some predefined functions.
- the application framework layer may include a window manager, a content provider, a view system, a telephony manager, a resource manager, a notification manager, and the like.
- the window manager is used to manage window programs.
- the content provider is used to store and obtain data and make the data accessible to applications.
- the view system includes visual controls, such as controls for displaying text, controls for displaying pictures, etc.
- the phone manager is used to provide communication functions for the electronic device 100.
- the resource manager provides various resources for applications, such as localized strings, icons, pictures, layout files, video files, etc.
- the notification manager enables applications to display notification information in the status bar, which can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction.
- the notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, or a notification that appears on the screen in the form of a dialog window.
- Android runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.
- the core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.
- the application layer and application framework layer run in the virtual machine.
- the virtual machine combines the application layer and application
- the Java files of the framework layer are executed as binary files.
- the virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
- the system library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
- functional modules such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
- the surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
- the media library supports playback and recording of multiple common audio and video formats, as well as static image files.
- the media library can support multiple audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
- the 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis, and layer processing.
- the 2D graphics engine is a drawing engine for 2D drawing.
- the kernel layer is the layer between hardware and software.
- the kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
- the communicating devices respectively send the verification information of the application on the opposite device to the cloud device, and the cloud device performs signature verification on the application.
- the first device trusts the application on the second device
- the second device trusts the application on the first device
- the two devices can share data between the applications, thereby realizing communication between applications across devices.
- the cloud device verifies the application, and the entire verification process is faster, smoother, and more efficient.
- the identity information of the application includes the package name of the application and the certificate fingerprint.
- the package name of the application indicates the name of the program package corresponding to the application, and one application corresponds to one package name.
- the certificate fingerprint of the application represents the certificate hash value of the application, which is a short sequence used to represent a longer public key byte.
- the certificate fingerprint can usually be obtained by calculating the certificate content using hash algorithms such as sha1 or sha256.
- the certificate includes summary information of the application.
- the certificate fingerprint of the application is used to verify the application.
- the cloud device will assign a unique application identification (APPID) to the application.
- the package name of the application and the APPID correspond one to one.
- the application will obtain a legal identity and identity information (including package name, APPID, certificate fingerprint information, etc.). After that, the application can use this legal identity to communicate with other devices or other applications.
- a legal identity and identity information including package name, APPID, certificate fingerprint information, etc.
- the mutual communication between applications on different electronic devices can be performed based on the communication connection between the electronic devices, wherein the communication connection can include a short-distance communication connection and a long-distance communication connection.
- Short-range communication connections include one or more of Bluetooth connections, green tooth connections, hotspot connections, infrared connections, near field communication connections, ultra-wideband connections, and wireless local area network connections, and wireless local area network connections, and wireless local area network connections may include wireless fidelity Wi-Fi direct connections, Wi-Fi connections, etc.
- application 1 on electronic device 1 and application 2 on electronic device 2 can communicate based on the Bluetooth connection, or, after electronic device 1 and electronic device 2 are connected via a hotspot, application 1 on electronic device 1 and application 2 on electronic device 2 can communicate based on the hotspot connection.
- Long-distance communication connection can refer to the connection of electronic devices at both ends of the communication through a relay server, etc. wait.
- electronic device 1 is connected to electronic device 2 via a server, that is, electronic device 1 forwards data of application 1 to electronic device 2 via the server, or electronic device 2 forwards data of application 2 to electronic device 1 via the server.
- the short-distance communication connection between electronic devices can be established automatically or passively.
- an electronic device continuously sends broadcast messages corresponding to Bluetooth connection, and other electronic devices, after receiving the broadcast messages, send response messages to the electronic device and automatically establish Bluetooth connection with other electronic devices.
- an electronic device continuously sends broadcast messages corresponding to hotspot connection, and other electronic devices, after receiving the broadcast messages, send response messages to the electronic device and automatically establish hotspot connection with other electronic devices.
- the user can control different electronic devices to establish short-range communication connections according to their own usage requirements. For example, the user controls 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, the user controls 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.
- one of the two communicating electronic devices can be connected to the hotspot or Bluetooth of the other electronic device, and can also be connected to the hotspot or Bluetooth by the other electronic device.
- application 1 on electronic device 1 automatically starts sending application messages (e.g., broadcast messages), and the broadcast message includes an application identification code of application 1, such as a universally unique identifier (UUID), etc.
- application 1 e.g., broadcast messages
- the broadcast message includes an application identification code of application 1, such as a universally unique identifier (UUID), etc.
- All applications on electronic device 2 can receive the application message (e.g., broadcast message), but only applications (e.g., application 2) that are pre-configured with the same application identification code can send a response message to application 1 and communicate with application 1.
- application messages e.g., broadcast messages
- UUID universally unique identifier
- application 2 on electronic device 2 automatically starts sending application messages (e.g., broadcast messages), and the application messages (e.g., broadcast messages) include an application identification code of application 2, such as APPID, etc. All applications on electronic device 1 can receive the application message (e.g., broadcast message), but only applications (e.g., application 1) that are pre-configured with the same application identification code can send a response message to application 2 and communicate with application 2.
- application messages e.g., broadcast messages
- application messages include an application identification code of application 2, such as APPID, etc.
- All applications on electronic device 1 can receive the application message (e.g., broadcast message), but only applications (e.g., application 1) that are pre-configured with the same application identification code can send a response message to application 2 and communicate with application 2.
- the user can choose to start application 1 on electronic device 1 according to his or her usage needs.
- application 1 will start sending application messages (such as broadcast messages), and the broadcast message includes an application identification code of application 1.
- All applications on electronic device 2 can receive the application message (such as broadcast message), but only applications pre-configured with the same application identification code (such as application 2) can send response messages to application 1 and communicate with application 1.
- Any application in communication can send an application message (such as a broadcast message) and be responded to by other applications, or can respond to application messages (such as broadcast messages) sent by other applications.
- the Application 1 automatically or passively sends an application message (such as a broadcast message), and multiple applications on electronic device 2 can receive the application message (such as a broadcast message) and send a response message to application 1 to communicate with application 1. At this time, each application on electronic device 2 can communicate with application 1.
- an application message such as a broadcast message
- multiple applications on electronic device 2 can receive the application message (such as a broadcast message) and send a response message to application 1 to communicate with application 1.
- each application on electronic device 2 can communicate with application 1.
- the electronic devices will also obtain the application's trusted proof from the cloud device.
- the trusted proof is the proof information assigned by the cloud device after the application on the electronic device and the cloud device have mutually trusted each other.
- the cloud device can use the application's trusted proof to verify the application's signature, thereby verifying that the public key transmitted during the application communication process has not been tampered with.
- the electronic device where the application is located Before the cloud device trusts the application, the electronic device where the application is located must also trust the cloud device. That is, only after the end-cloud trust is achieved can the application on the electronic device obtain trusted proof.
- the cloud device sends a cloud identifier to the electronic device, wherein the cloud identifier is used to indicate the cloud service provided by the cloud device, or to represent the identity information of the cloud device.
- the cloud service may have a certificate authority (CA) certificate, or the identity information of the cloud device may include a CA certificate of the cloud device.
- 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 the identity of the cloud service or cloud device through a trusted third party such as a certificate authority.
- the electronic device can verify the identity of the cloud service or cloud device provided by the cloud device through the CA certificate. If the verification is successful, the electronic device trusts the cloud device. After that, the electronic device sends the identity information of the application to the cloud device, where the identity information may include the package name, APPID, certificate fingerprint information, etc. of the application. The cloud device verifies whether the package name, APPID, etc. of the application when it was registered are the same as the currently received package name, APPID, etc., and verifies the certificate fingerprint information of the application. When it is verified that the package name and APPID of the application when it was registered are the same as the currently received package name and APPID, and the certificate fingerprint information of the application is successfully verified, the cloud device can also trust the application on the electronic device.
- the cloud device may first send the cloud identification to the first device or the second device, and then the first device or the second device may send the identity information of the application to the cloud device; or the first device or the second device may first send the identity information of the application to the cloud device, and then the cloud device may send the cloud identification to the first device or the second device.
- the order in which the cloud device, the first device, the second device, etc. send identifications or information is not specifically limited.
- the cloud device can also send a token corresponding to the application to the electronic device.
- the token represents a token assigned to the application after the cloud device trusts the application.
- the cloud device can determine that the application is already trusted based on the token of the application, without having to verify the identity of the application again, and can directly verify the signature of the application.
- the inter-application communication method in the embodiment of the present application can be performed after a communication connection is established between different electronic devices.
- the executors of the inter-application communication method in the embodiments of the present application may also be manufacturers of vehicle-mounted terminals, mobile phones and other mobile terminals, operating system providers, third-party software/service providers, cloud service providers, etc.
- the following uses the above-mentioned first device being a mobile phone and the second device being a vehicle-mounted terminal as an example to illustrate the inter-application communication method in the embodiment of the present application, wherein the mobile phone includes a first application, the vehicle-mounted terminal includes a second application, the first application corresponds to the second application, and the mobile phone establishes a communication connection with the vehicle-mounted terminal.
- the method specifically It includes the following steps S701-S708.
- the mobile phone sends first verification information of the first application to the vehicle-mounted terminal.
- the first verification information is 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.
- the mobile phone may first derive a key pair corresponding to the first application according to an asymmetric encryption algorithm, and the key pair includes a public key and a private key of the first application.
- the asymmetric encryption algorithm includes an RSA algorithm, an Elgamal algorithm, a backpack algorithm, a Rabin algorithm, a D-H algorithm, an elliptic curve encryption algorithm (ECC algorithm), etc.
- the mobile phone may derive a key pair corresponding to the first application according to the ECC algorithm.
- the identification information of the first application is an application identifier assigned by the cloud device when the first application is developed, that is, APPID.
- the mobile phone then signs the identification information of the first application and the public key of the first application according to the trusted certificate of the first application, thereby obtaining the first signature of the first application.
- the trusted certificate 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.
- the mobile phone can automatically send an application message (e.g., a broadcast message) through a first application based on the communication connection, and after the vehicle-mounted terminal responds to the application message (sends a response message) through a second application, the mobile phone sends the first verification information of the first application to the vehicle-mounted terminal, thereby achieving communication between the first application and the second application that responds to the application message.
- an application message e.g., a broadcast message
- the vehicle-mounted terminal responds to the application message (sends a response message) through a second application
- the mobile phone sends the first verification information of the first application to the vehicle-mounted terminal, thereby achieving communication between the first application and the second application that responds to the application message.
- the mobile phone can monitor the communication connection between the mobile phone and other devices (such as the vehicle-mounted terminal) through the first application. After the connection is established, the mobile phone can send application messages to the application on the other device (such as the vehicle-mounted terminal) through the first application. In such an implementation, the user does not need to participate in the process of sending the first verification information. After the mobile phone establishes a communication connection with the vehicle-mounted terminal, it can automatically send the first verification information of the first application to the vehicle-mounted terminal, so that the user is unaware of the application verification process between the mobile phone and the vehicle-mounted terminal, thereby ensuring the user experience.
- the mobile phone after the mobile phone establishes a communication connection with the vehicle-mounted terminal, can send first verification information of the first application to the vehicle-mounted terminal in response to a trigger operation of the user starting the first application or the second application; or the mobile phone can also send an application message based on the communication connection through the first application in response to a trigger operation of the user starting the first application or the second application, thereby sending the first verification information of the first application to the vehicle-mounted terminal after the vehicle-mounted terminal responds to the application message through the second application.
- the mobile phone When the mobile phone sends the first verification information in response to the user's operation of launching the first application, the user's operation only affects the launching of the first application. After the first application is launched, the mobile phone automatically sends the first verification information, and the user does not need to participate in the subsequent process. This also allows the user to be unaware of the application verification process between the mobile phone and the vehicle-mounted terminal, thereby improving operational convenience and ensuring user experience.
- the mobile phone when the mobile phone responds to the user's trigger operation of starting the second application and sends the first verification information of the first application to the vehicle terminal, the user can first start the second application on the vehicle terminal, and then the vehicle terminal can send a control instruction to the mobile phone, so that the mobile phone responds to the control instruction and sends the first verification information to the vehicle terminal.
- the user's operation only affects the start of the second application, and the user does not need to participate in the subsequent process. This can also make the user unaware of the application verification process between the mobile phone and the vehicle terminal, improve the convenience of operation, and ensure the user experience.
- the mobile phone after installing the first application, can obtain a cloud identifier from the cloud device, and after completing the trust between the end and the cloud, obtain a trusted certificate for the first application from the cloud device.
- the trusted proof of the application signs the identification information of the first application and the public key of the first application, and obtains the first verification information of the first application. That is, the mobile phone can generate the corresponding first verification information for the first application in advance.
- the mobile phone can directly send the first verification information to the vehicle terminal. In this way, after the user starts the first application or the second application, the mobile phone can quickly respond and send the first verification information, saving the generation time of the first verification information and improving the efficiency of application verification between the mobile phone and the vehicle terminal.
- the mobile phone can also obtain a cloud identification from a cloud device after the user chooses to start the first application or the second application, or after the mobile phone establishes a communication connection with the vehicle-mounted terminal, and obtain a trusted certificate of the first application from the cloud device after completing the end-cloud bilateral trust. Then, the mobile phone signs the identification information of the first application and the public key of the first application according to the trusted certificate of the first application, and obtains the first verification information of the first application. And, after the first verification information is generated, the first verification information is sent to the vehicle-mounted terminal. In this way, it is possible to generate a first verification information of the first application each time communication occurs, thereby ensuring the timeliness of the first verification information and further preventing the public key in the first application from being changed.
- the vehicle-mounted terminal receives the first verification information and sends the first verification information to the cloud device.
- the cloud device that receives the first verification information may be a cloud device that allocates a trusted certificate to the first application, or may not be a cloud device that allocates a trusted certificate to the first application.
- the cloud device that receives the first verification information is not the cloud device that assigns the trusted certificate to the first application
- information sharing or data intercommunication can be achieved between the cloud device that assigns the trusted certificate to the first application and the cloud device that receives the first verification information, that is, the cloud device that receives 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.
- the cloud device that allocates the trusted certificate to the first application is cloud device A
- 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.
- cloud device B wants to verify the first signature in the first verification information
- cloud device B can obtain the trusted certificate of the first application and the identity information of the first application from cloud device A. Then, cloud device B verifies the first signature based on the obtained trusted certificate.
- S703 The cloud device verifies the first signature in the first verification information according to the trusted certificate obtained when the first application is registered, and sends the verification result to the vehicle terminal.
- the cloud device After the first application is registered in the cloud device, the cloud device will assign an APPID to the first application, and after completing the end-cloud bilateral trust, the cloud device can also send a trusted certificate of the first application to the mobile phone.
- the mobile phone signs the public key of the first application and the APPID of the first application using the trusted proof of the first application to obtain a first signature.
- the first verification information of the first application includes the public key of the first application, the APPID of the first application and the first signature. Signing the public key of the first application and the APPID of the first application is equivalent to encrypting the public key of the first application and the APPID of the first application.
- the cloud device verifies the first signature in the first verification information according to the trusted proof of the first application, which may be equivalent to the process in which the cloud device decrypts the first signature according to the trusted proof of the first application.
- the signature verification is considered successful. At the same time, it also indicates that the public key of the first application in the first verification information has not been tampered with. If the APPID of an application is not the same, it is considered that the signature verification has failed, and it also means that the public key of the first application in the first verification information has been tampered with, indicating that the first application is untrustworthy.
- 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 credible.
- the vehicle terminal receives the verification result of the cloud device, and when the cloud device successfully verifies the first signature in the first verification information according to the trusted proof of the first application (ie, the above-mentioned signature verification is successful), sends the second verification information of the second application to the mobile phone.
- the second verification information is information obtained by the vehicle terminal according to the identification information of the second application, the public key of the second application and the second signature of the second application.
- the vehicle terminal may first derive a key pair corresponding to the second application according to an asymmetric encryption algorithm, and the key pair includes a public key and a private key of the second application.
- the asymmetric encryption algorithm includes an RSA algorithm, an Elgamal algorithm, a backpack algorithm, a Rabin algorithm, a D-H algorithm, an ECC algorithm, etc.
- the vehicle terminal may derive a key pair corresponding to the second application according to the ECC algorithm.
- the identification information of the second application is the application identifier assigned by the cloud device when the second application is developed, that is, APPID.
- the vehicle terminal then signs the identification information of the second application and the public key of the second application according to 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 proof of the second application sent by the cloud device to the vehicle terminal after trusting the second application.
- the vehicle terminal 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. Thereafter, the vehicle terminal sends the second verification information of the second application to the mobile phone.
- the vehicle terminal may first determine the second application corresponding to the first application. Thereafter, the vehicle terminal sends the second verification information of the second application to the mobile phone.
- the vehicle terminal When the vehicle terminal determines the second application corresponding to the first application, it can obtain the first information from the mobile phone; wherein the first information can be used to indicate the second application, for example, including identification information, APPID, etc. of the second application.
- the vehicle terminal can determine the second application based on the first information.
- the first information can be sent by the mobile phone alone, or it can be sent by the mobile phone at the same time when sending the first verification information to the vehicle terminal, for example, it is carried and sent by the first verification information, or it is included in the first verification information.
- the first information may include a relationship comparison table, in which the relationship comparison table includes the corresponding relationship between the identification information of the first application and the identification information of the second application.
- the relationship comparison table may also be stored locally in the vehicle terminal.
- the vehicle terminal receives the first verification information sent by the mobile phone.
- the first verification information includes the identification information of the first application, etc.
- the vehicle terminal traverses or queries other corresponding identification information that has a corresponding relationship with the identification of the first application in the relationship comparison table, thereby determining the corresponding second application based on the identification information.
- the vehicle terminal sends the second verification information of the second application to the mobile phone.
- the vehicle terminal receives the first information sent by the mobile phone.
- the first information includes the above relationship comparison table.
- the vehicle terminal traverses or queries other corresponding identification information that has a corresponding relationship with the identification of the first application in the received relationship comparison table, and then The vehicle-mounted terminal then sends second verification information of the second application to the mobile phone.
- the first information may also include an application identification code of the second application.
- the type of the above application identification code may correspond to the type of communication connection between the mobile phone and the vehicle-mounted terminal.
- the type of communication connection is a Bluetooth connection
- the above application identification code is a UUID, that is, the first information includes the UUID of the second application
- the type of communication connection is a hotspot connection, Wi-Fi direct connection, Wi-Fi connection or other wireless LAN connection or an infrared connection, a near-field communication connection, or an ultra-wideband connection
- the above application identification code may be an application identifier (APPID), that is, the first information includes the APPID of the second application.
- APPID application identifier
- the vehicle terminal receives the first information sent by the mobile phone.
- the first information includes the application identification code of the second application.
- the vehicle terminal determines the corresponding second application on the vehicle terminal according to the application identification code stored in the first information. After that, the vehicle terminal sends the second verification information of the second application to the mobile phone.
- the mobile phone after the mobile phone establishes a communication connection with the vehicle terminal, the mobile phone will send an application message (such as a broadcast message, etc.) based on the communication connection through the first application, and the application message includes the application identification code of the first application.
- the application pre-configured with the application identification code of the first application will respond to the application message, and the vehicle terminal will send a response message to the mobile phone.
- the application that responds to the broadcast message is the second application.
- 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.
- the vehicle-mounted 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, send the second verification information of the second application to the mobile phone, so that the mobile phone can continue to perform signature verification on the application on the vehicle-mounted terminal through the cloud device.
- the vehicle terminal after installing the second application, can pre-generate the second verification information of the second application. After that, after the cloud device successfully verifies the signature of the first application on the mobile phone, the vehicle terminal directly sends the second verification information of the second application to the mobile phone. In this way, after the user starts the first application or the second application, the mobile phone can quickly respond and send the first verification information, saving the time of generating the first verification information and improving the efficiency of application verification between the mobile phone and the vehicle terminal.
- the vehicle terminal can also sign the identification information of the second application and the public key of the second application according to the trusted proof of the second application, and obtain the second verification information of the second application. And, after generating the second verification information, send the second verification information to the mobile phone. In this way, the second verification information of the second application can be generated each time the communication is carried out, so as to ensure the timeliness of the second verification information and further prevent the public key in the second application from being changed.
- the vehicle terminal if the cloud device fails to successfully verify the first signature in the first verification information based on the trusted proof of the first application (ie, the above-mentioned 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.
- the mobile phone receives the second verification information and sends the second verification information to the cloud device.
- the cloud device receiving the second verification information may be a device that distributes a trusted certificate to the second application.
- the cloud device may not be the cloud device that distributes the trusted proof to the second application.
- the cloud device receiving the second verification information is not the cloud device that assigns the trusted certificate to the second application
- information sharing or data intercommunication can be achieved between the cloud device that assigns the trusted certificate to the second application and the cloud device receiving the second verification information, 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.
- S706 The cloud device verifies the second signature in the second verification information according to the trusted certificate obtained when the second application is registered, and sends the verification result to the mobile phone.
- the cloud device After the second application is registered in the cloud device, the cloud device will assign an APPID to the second application, and after completing the end-cloud bilateral trust, the cloud device can also send a trusted certificate of the second application to the vehicle terminal.
- the vehicle 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 to obtain 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 of the second application and the APPID of the second application is equivalent to encrypting the public key of the second application and the APPID of the second application.
- the cloud device verifies the second signature in the second verification information according to the trusted proof of the second application, which may be equivalent to the process in which the cloud device decrypts the second signature according to the trusted proof of the second application.
- the signature verification is considered successful. At the same time, it also indicates that the public key of the second application in the second verification information has not been tampered with. If the APPID of the second application obtained by decryption is different from the APPID of the second application in the second verification information, the signature verification is considered to have failed, and it also indicates that the public key of the second application in the second verification information has been tampered with, indicating that the second application is untrustworthy.
- the cloud device sends the verification result to the mobile phone, thereby notifying the mobile phone whether the first application on the vehicle terminal is credible.
- the mobile phone receives the verification result of the cloud device, and after the cloud device successfully verifies the second signature in the second verification information according to the trusted proof of the second application, sends the application data of the first application to the vehicle terminal.
- the application data of the first application includes one or more of picture data, video data, audio data, and navigation data.
- step S707 the cloud device successfully verified the second signature of the second application, which means that the cloud device has completed the signature verification of the first application and the second application on the mobile phone and the vehicle terminal, and both have been successfully verified.
- both the mobile phone and the vehicle terminal trust each other's applications, and can also share application data between trusted applications.
- the mobile phone can send application data of the first application to the vehicle-mounted terminal, thereby sharing the application data of the first application with the vehicle-mounted terminal.
- the mobile phone if the cloud device fails to successfully verify the second signature in the second verification information based on the trusted proof of the second application (ie, the above-mentioned signature verification fails), the mobile phone will not trust the second application on the vehicle terminal, nor will it send the application data of the first application to the vehicle terminal.
- S708 The vehicle terminal receives the application data of the first application and presents the application data of the first application on the second application. data.
- the manner in which the vehicle-mounted terminal presents the application data of the first application on the second application may include one or more items such as displaying the content corresponding to the application data, playing the audio corresponding to the application data, and the like.
- the vehicle terminal when the mobile phone sends navigation data of the first application to the vehicle terminal, the vehicle terminal can display the navigation map, navigation route and other contents corresponding to the navigation data on the second application.
- the vehicle terminal can also play the audio content of the navigation data synchronously when displaying the navigation map, navigation route and other contents, thereby providing users with a better data sharing experience from both visual and auditory aspects.
- the vehicle-mounted terminal when the mobile phone sends audio data of a first application to the vehicle-mounted terminal, the vehicle-mounted terminal can play music and other content corresponding to the audio data on a second application, thereby providing users with a better data sharing experience.
- the process of sharing data between the mobile phone and the vehicle terminal is bidirectional, that is, in other embodiments, the vehicle terminal may send the application data of the second application to the mobile phone, and the mobile phone may present the application data of the second application on the first application.
- the specific content can be referred to the content in the above embodiment, which will not be repeated here.
- the mobile phone when the mobile phone and the vehicle-mounted terminal share application data, based on the application message generated by the first application and the response message generated by the second application, the mobile phone can also provide the application data of the second application from the vehicle-mounted terminal to the first application, and/or the vehicle-mounted terminal can also provide the application data of the first application from the mobile phone to the second application.
- the mobile phone and the vehicle-mounted terminal share application data, based on an application message generated by the second application and a response message generated by the first application, the mobile phone provides the application data from the second application of the vehicle-mounted terminal to the first application, and/or the vehicle-mounted terminal provides the application data from the first application of the mobile phone to the second application.
- the communicating mobile phone and vehicle terminal respectively send the verification information of the application on the other device to the cloud device, and the cloud device performs signature verification on the application.
- the vehicle terminal sends the first verification information of the first application on the mobile phone to the cloud device for verification
- the mobile phone sends the second verification information of the second application on the vehicle terminal to the cloud device for verification.
- the mobile phone trusts the second application on the vehicle terminal
- the vehicle terminal trusts the first application on the mobile phone
- the two mobile phones and the vehicle terminal can share data between applications, for example, the first application of the mobile phone displays navigation information on the second application of the vehicle terminal, and the second application of the vehicle terminal plays music on the first application of the mobile phone, etc., thereby realizing communication between applications on cross-devices.
- the cloud device verifies the application, and the entire verification process is faster, smoother, and more efficient.
- it can also realize the automatic verification of applications on dual-end devices without the need for users to participate in the verification process, thereby improving the convenience of user operation, and users will not perceive the verification process, thereby ensuring the user experience.
- the two ends for communication can share the application data of the application on either end device.
- the application data shared between the two ends for communication usually needs to be encrypted for transmission. This requires that both ends for communication have the same key to encrypt the application data to be sent and decrypt the received application data.
- the mobile phone and the vehicle terminal both store or generate the same encryption key, and the mobile phone uses the encryption key.
- the application data to be sent by the first application is encrypted using the encryption key to obtain the encrypted shared data.
- the vehicle-mounted terminal decrypts the shared data using the same encryption key to obtain the decrypted application data.
- the mobile phone and the vehicle terminal can generate the same shared key on both sides, so as to encrypt or decrypt the application data according to the shared key.
- the inter-application communication method in the embodiment of the present application can also include the following steps S1301-S1304.
- the vehicle terminal generates a shared key according to the private key of the second application and the public key of the first application in the first verification information.
- the vehicle-mounted terminal can generate a shared key according to the private key of the second application and the public key of the first application based on the key negotiation algorithm.
- the mobile phone generates a shared key according to the private key of the first application and the public key of the second application in the second verification information.
- the mobile phone may generate a shared key according to a key negotiation algorithm based on the private key of the second application and the public key of the first application.
- the mobile phone and the vehicle-mounted terminal can respectively use the Elliptic Curve Diffie–Hellman (ECDH) key exchange algorithm to generate the same shared key on both ends, thereby ensuring that the application data decrypted by the application data sending end can be accurately decrypted by the application data receiving end, ensuring the consistency of the application data of the communicating parties, and also ensuring that the application data receiving end can accurately present the content on the application of the application data sending end.
- ECDH Elliptic Curve Diffie–Hellman
- the mobile phone generates encrypted application data of the first application according to the shared key, and sends the encrypted application data of the first application to the vehicle-mounted terminal.
- the mobile phone generates encrypted application data of the first application according to the shared key, including the mobile phone encrypting the application data of the first application using the shared key.
- the vehicle-mounted terminal receives the encrypted application data of the first application, and decrypts the encrypted application data of the first application using the shared key.
- the vehicle-mounted terminal may send application data of the second application encrypted according to the shared key to the mobile phone, and send the encrypted application data of the second application to the mobile phone, and the mobile phone decrypts the data using the shared key to obtain the application data of the second application, that is, the data transmission process between the mobile phone and the vehicle-mounted terminal is bidirectional.
- the vehicle terminal may generate a shared key after receiving the first verification information sent by the mobile phone and the cloud device successfully verifies the first signature of the first application.
- the vehicle terminal may also generate a shared key after receiving the encrypted application data of the first application sent by the mobile phone.
- the vehicle terminal may also generate a shared key after receiving the first verification information of the first application; when the cloud device successfully verifies the first signature of the first application, the vehicle terminal continues to retain the shared key so as to decrypt the received application data later; and when the cloud device fails to verify the first signature of the first application, the vehicle terminal may delete the shared key.
- the mobile phone can generate a shared key after receiving the second verification information sent by the vehicle terminal and the cloud device successfully verifies the second signature of the second application. After the second verification information is sent, a shared key is generated; when the cloud device successfully verifies the second signature of the second application, the mobile phone continues to retain the shared key to encrypt the application data sent later. When the cloud device fails to verify the second signature of the second application, the mobile phone can delete the shared key.
- the mobile phone and the vehicle terminal generate the same shared key respectively, and use the shared key to encrypt the application data in the communication process, thereby ensuring the security of the application data and preventing the application data from being tampered with during the transmission process.
- the application data sending end and the application data receiving end both 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 receiving end, thereby improving the user experience.
- the mobile phone and the vehicle terminal respectively generate a shared key and encrypt it and save it locally. Then use a random number to generate a working key.
- the working key can be used to encrypt or decrypt the application data
- the shared key is used to encrypt and transmit the working key between the mobile phone and the vehicle terminal, so that the mobile phone and the vehicle terminal can have the same working key synchronously.
- the mobile phone and the vehicle terminal no longer negotiate the shared key, but at the beginning of the current session cycle, the working key is generated by one end of the communication connection, and the shared key is used to encrypt the working key, and the encrypted working key is sent to the other end of the communication connection.
- one communication connection between the mobile phone and the vehicle terminal corresponds to a session cycle.
- the inter-application communication method in the embodiment of the present application may further include the following steps S1401 - S1407 .
- the vehicle-mounted terminal generates a shared key according to the private key of the second application and the public key of the first application in the first verification information; and encrypts and stores the shared key.
- the vehicle-mounted terminal can generate a shared key according to the private key of the second application and the public key of the first application based on the key negotiation algorithm.
- the mobile phone generates a shared key according to 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 according to a random number, and encrypts and stores the shared key.
- the mobile phone may generate a shared key according to a key negotiation algorithm based on the private key of the second application and the public key of the first application.
- the mobile phone encrypts the working key using the shared key, and encrypts the application data of the first application using the working key, and sends the encrypted application data of the first application and the encrypted working key to the vehicle-mounted terminal.
- the vehicle-mounted terminal receives the encrypted application data of the first application and the encrypted working key, and decrypts using the shared key to obtain the working key, and decrypts using the working key to obtain the application data of the first application.
- the mobile phone encrypts the application data of the first application using the new working key and encrypts the new working key using the stored shared key, and sends the encrypted application data of the first application and the encrypted new working key to the vehicle terminal.
- the vehicle terminal receives the encrypted application data of the first application and the encrypted new working key, and decrypts using the stored shared key to obtain the new working key, and decrypts using the new working key to obtain the application data of the first application.
- the mobile phone may first encrypt the working key using the shared key, and then send the encrypted working key to the vehicle terminal.
- the vehicle terminal decrypts the working key using the shared key.
- the mobile phone and the vehicle terminal may use the working key to encrypt or decrypt application data.
- the vehicle-mounted terminal may generate a working key, encrypt the working key using a shared key, and then send the encrypted working key to the mobile phone.
- the mobile phone decrypts the working key using the shared key.
- the mobile phone and the vehicle-mounted terminal may use the working key to encrypt or decrypt application data.
- a working key is used between the mobile phone and the vehicle terminal to encrypt or decrypt the application data
- the working keys used between the mobile phone and the vehicle terminal are different.
- the working key can be generated by the mobile phone or the vehicle terminal. After the mobile phone or the vehicle terminal generates the working key, it is encrypted and transmitted to the other party through the shared key, so that both communicating parties have the same encryption key in this session cycle.
- the communication connection re-established between the aforementioned mobile phone and the vehicle-mounted terminal may be of the same type as or different from the type of the communication connection established previously.
- the mobile phone and the vehicle terminal are currently connected by Bluetooth.
- the mobile phone and the vehicle terminal use working key 1 to encrypt or decrypt the transmitted application data.
- the next session period begins, and the mobile phone and the vehicle terminal use working key 2 to encrypt or decrypt the transmitted application data.
- the mobile phone and the vehicle-mounted terminal can use the previously generated shared key again to encrypt and transmit the working key generated this time, so that both ends of the communication use the same working key to encrypt or decrypt the shared application data.
- the end of the session period indicates that the current communication connection between the mobile phone and the vehicle terminal is disconnected.
- the Bluetooth of the mobile phone or the vehicle terminal is turned off
- the hotspot of the mobile phone or the vehicle terminal is turned off
- the Wi-Fi of the mobile phone or the vehicle terminal is turned off, etc. This is not specifically limited in the embodiments of the present application.
- the mobile phone and the vehicle terminal can generate the same shared key after the first communication connection, and use the shared key to encrypt and transmit the working key in this session cycle. After that, when the mobile phone and the vehicle terminal establish a communication connection again, there is no need to negotiate and generate a shared key between the mobile phone and the vehicle terminal, and the shared key generated for the first time can still be used to encrypt or decrypt the new working key generated in this session cycle.
- the mobile phone and the vehicle terminal do not need to generate a shared key every time a communication connection is established, that is, there is no need to perform a key negotiation process after each communication connection.
- the key can be encrypted and saved. This will greatly reduce the communication time between applications on both devices after the communication connection is established, improve communication efficiency, and ensure the user experience.
- the mobile phone successfully verifies the second signature of the second application on the cloud device each time, it will generate a shared key based on the public key of the second application in the second verification information and the private key of the first application.
- the shared key is negotiated only when the communication connection is made for the first time. Then, when the mobile phone and the vehicle terminal establish a communication connection again, the mobile phone and the vehicle terminal do not need to be connected to the Internet again, or do not need to communicate with the cloud device again. It can be seen that the method in the above embodiment can also be used when neither the mobile phone nor the vehicle terminal has an Internet connection, thereby using more usage scenarios and a wider range of uses.
- the cloud device when the above-mentioned embodiment is applied in a scenario where the mobile phone or the vehicle-mounted 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 the vehicle-mounted terminal when the mobile phone and the vehicle-mounted terminal establish a communication connection for the first time. This will also reduce the time for signature verification after the subsequent communication connection is established, improve the sharing efficiency of application data, and ensure the user experience.
- the process of verifying the application signature by the cloud device in the aforementioned embodiment can be performed in advance, or can be performed when there is a need to share data between the mobile phone and the vehicle-mounted terminal.
- 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.
- the mobile phone and the vehicle-mounted terminal can directly share the application data between the first application and the second application. For example, the mobile phone presents the content of the second application on the vehicle-mounted terminal on the first application, or the vehicle-mounted terminal presents the content of the first application on the mobile phone on the second application.
- the user chooses to start the first application or, since the signature of the first application on the mobile phone and the signature of the second application on the vehicle terminal have been verified by the cloud device, the mobile phone and the vehicle terminal can directly share the application data of the first application.
- the vehicle terminal presents the content of the first application on the mobile phone on the second application.
- the user can also choose to start the second application, that is, the communication between the mobile phone and the vehicle terminal is two-way. For details, please refer to the content in the aforementioned embodiment, which will not be repeated here.
- the cloud device can perform signature verification of corresponding applications on the mobile phone and the vehicle-mounted terminal in advance, thereby saving time in verifying application signatures when there is a need to share data between the mobile phone and the vehicle-mounted terminal, and quickly completing the sharing of application data between the mobile phone and the vehicle-mounted terminal, thereby ensuring the user experience.
- the need for data sharing between the mobile phone and the vehicle terminal may indicate that a communication connection is established between the mobile phone and the vehicle terminal, or that after the communication connection is established between the mobile phone and the vehicle terminal, the user chooses to start the first application or the second application.
- the mobile phone can respond to the user's triggering operation on the first application or the second application, or respond to the communication connection operation between the mobile phone and the vehicle terminal, and send 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.
- the cloud device After the signatures of the first application and the second application are successfully verified, the mobile phone and the vehicle terminal begin to share the application data of the first application or the second application.
- the user can also choose to start the second application, that is, the communication between the mobile phone and the vehicle terminal is two-way.
- the communication between the mobile phone and the vehicle terminal is two-way.
- the cloud device can also perform signature verification of corresponding applications on the mobile phone and the vehicle-mounted terminal when there is a need to share data between the mobile phone and the vehicle-mounted terminal, thereby ensuring the timeliness of the application signature verification and ensuring that the applications of both communicating parties are trustworthy during this communication connection, thereby improving the security of application data shared between the mobile phone and the vehicle-mounted terminal.
- the mobile phone can send an application message (such as a broadcast message) based on the communication connection through the first application, and multiple applications on the vehicle-mounted terminal can receive the application message and send a response message to the mobile phone based on the communication connection, that is, the application message sent by the mobile phone through the first application has a "one-to-many" feature.
- each application that sends a response message can be regarded as a second application. In this case, there may also be a "one-to-many" relationship between the first application and the second application, but it does not mean that all second applications are safe.
- a second application may be successfully verified from multiple second applications, and then the mobile phone presents the application data of the second application on the first application, or the vehicle-mounted terminal presents the application data of the first application on the second application.
- the cloud device verifies the application signature of the first application and the application signature of the second application as an example to illustrate the trust of the first device in the second application and the trust of the second device in the first application in the above inter-application communication method.
- the cloud device can also grant the ability to verify the application to the first device and the second device. Thereby, the first device and the second device can realize the process of mutually trusting the application without the cloud device participating in the process of verifying the application signature.
- the information transmission time between the first device and the cloud device and between the second device and the cloud device is saved, which greatly improves the efficiency of application verification and communication efficiency in the inter-application communication method in the embodiment of the present application.
- there is no need for the user to participate in the verification process which improves the convenience of user operation. The user will not perceive the verification process, thereby ensuring the user experience.
- the cloud device when the cloud device grants the first device and the second device the ability to verify the application, it can send a certification mark for verifying the application to the first device and the second device respectively.
- the certification marks sent by the cloud device to the first device and the second device can be the same or different.
- the certification mark can include the public key and private key in the key pair generated by the cloud device, and the cloud device sends the public key (or private key) in the key pair to the first device and sends the private key (or public key) in the key pair to the second device; or, the certification mark can also be a target key, and the cloud device sends the target key to the first device and the second device respectively; or, the certification mark can also be the cloud mark of the cloud device (such as a cloud certificate), the application certificate of the first application (such as a CA certificate), the application certificate of the second application (such as a CA certificate), etc., and the cloud device sends the cloud mark or application certificate to the first device and the second device respectively.
- the cloud device sends the cloud mark or application certificate to the first device and the second device respectively.
- the first device encrypts the preset content (e.g., the first preset content) using the certification 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 certification identifier to obtain 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 saved on the second device. If If the two are the same, 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 the encrypted preset content (such as the second preset content) to the first device, and the first device decrypts and verifies it.
- the above-mentioned preset content may be preset data or preset information related to the application agreed upon in advance between the first device and the second device, such as identification information of the application, public key of the application, signature of the application, summary information of the application, etc., wherein the summary information of the application may be generated according to the identification information of the application and/or the public key of the application; and when the first device sends the encrypted first preset content to the second device, the first preset content may be the identification information of the first application, the signature of the first application, the public key of the first application, summary information of the first application, etc., and when the second device sends the encrypted second preset content to the first device, the second preset content may be the identification information of the second application, the public key of the second application, the signature of the second application, summary information of the second application, etc. wherein the summary information of the application may be generated by the first device where the application is located, or may be generated by the second device.
- the verification information of the first application or the second application may include the identification information of the application, the public key of the application, the encrypted preset content, etc., or may also include the signature of the application, etc.
- the preset content may also be other content besides the identification information of the application, the public key of the application, the signature of the application, the summary information of the application, etc., such as a fixed number or a random number related to the application, etc., and these data need to be agreed on on the first device and the second device.
- the cloud device generates a key pair, 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.
- the first device generates summary information of the first application based on the identification information, public key and other application information of the first application, encrypts the summary information of the first application based on the public key in the key pair, and sends the encrypted summary information of the first application to the second device.
- the second device decrypts the encrypted summary information based on the private key in the key pair to obtain the summary information of the first application, and the second device generates summary information of the first application based on the identification information, public key and other application information of the first application stored locally or already obtained.
- the second device compares the generated summary information of the first application with the summary information of the first application obtained after decryption. If the two are consistent, the second device trusts the first application on the first device.
- the first device and the second device implement a process of encrypting or decrypting preset data based on a public key or a private key in the same key pair based on an asymmetric encryption algorithm.
- the cloud device generates a target key and sends the target key to the first device and the second device respectively.
- the first device uses the target key 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 decrypts the encrypted information using the target key to obtain the identification information and/or public key of the first application, and the second device then compares the identification information and/or public key of the first application stored locally or obtained with the identification information and/or public key of the first application obtained after decryption. If the two are consistent, the second device trusts the first application on the first device.
- the cloud device sends the CA certificate of the cloud device to the first device and the second device respectively.
- 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 uses the CA certificate to decrypt the encrypted information to obtain the identification information and/or public key of the first application, and the second device then compares the identification information and/or public key of the first application stored locally or obtained with the identification information and/or public key of the first application obtained after decryption. If the two are consistent, the second device trusts the first application on the first device.
- the cloud device sends the CA certificate of the first application to the first device and the second device respectively.
- a 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 uses the CA certificate to decrypt the encrypted information to obtain the identification information and/or public key of the first application, and the second device then compares the identification information and/or public key of the first application stored locally or obtained with the identification information and/or public key of the first application obtained after decryption. If the two are consistent, the second device trusts the first application on the first device.
- the first device is a mobile phone
- the second device is a vehicle-mounted terminal as an example to illustrate the inter-application communication method in the embodiments of the present application.
- the first device may also be an electronic device such as a tablet computer, a laptop computer, a smart wearable device, a vehicle-mounted terminal, etc.
- the second device may also be an electronic device such as a mobile phone, a tablet computer, a laptop computer, a smart wearable device, etc.
- the specific implementation method can refer to the content in the aforementioned embodiments.
- multiple embodiments of the present application can be combined, and the combined scheme can be implemented.
- some operations in the process of each method embodiment are optionally combined, and/or the order of some operations is optionally changed.
- the execution order between the steps of each process is only exemplary and does not constitute a restriction on the execution order between the steps.
- a person of ordinary skill in the art will think of a variety of ways to reorder the operations described in the embodiments of the present application.
- the process details involved in a certain embodiment of the present application are also applicable to other embodiments in a similar manner, or different embodiments can be used in combination.
- steps in the method embodiment may be equivalently replaced by other possible steps.
- some steps in the method embodiment may be optional and may be deleted in certain usage scenarios.
- other possible steps may be added to the method embodiment.
- the method embodiments may be implemented separately or in combination.
- the aforementioned electronic device includes hardware and/or software modules corresponding to the execution of each function.
- the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or 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 combination with the embodiments, but such implementation should not be considered to be beyond the scope of the present application.
- the electronic device can be divided into functional modules according to the above method example.
- each functional module can be divided according to each function, or two or more functions can be integrated into one processing module.
- the above integrated module can be implemented in the form of hardware. It should be noted that the division of modules in this embodiment is schematic and is only a logical function division. There may be other division methods in actual implementation.
- the inter-application communication device can be an electronic device serving as the first device or the second device in the above embodiments, or can be an electronic device serving as a mobile phone or a vehicle-mounted terminal, etc.
- the embodiment of the present application also provides an electronic device, as shown in FIG15, which may include one or more processors 1001, a memory 1002, and a communication interface 1003.
- the memory 1002 and the communication interface 1003 are coupled to the processor 1001.
- the memory 1002, the communication interface 1003, and the processor 1001 may be coupled together via a bus 1004.
- the communication interface 1003 is used to transmit data with other devices.
- the memory 1002 stores computer program code.
- the computer program code includes computer instructions. When the computer instructions are executed by the processor 1001, Enable the electronic device to execute the inter-application communication method in the embodiment of the present application.
- the processor 1001 can be a processor or a controller, for example, a central processing unit (CPU), a general 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 various exemplary logic blocks, modules and circuits described in conjunction with the present disclosure.
- the processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
- the bus 1004 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus.
- PCI Peripheral Component Interconnect
- EISA Extended Industry Standard Architecture
- the bus 1004 may be divided into an address bus, a data bus, a control bus, etc.
- FIG15 only uses one thick line, but does not mean that there is only one bus or one type of bus.
- the embodiment of the present application further provides a vehicle, which includes the inter-application communication device in the above embodiment, that is, the vehicle may include the first device, or include the first device. And the inter-application communication device in the vehicle can perform the relevant method steps in the above method embodiment.
- An embodiment of the present application further provides a computer-readable storage medium, in which a computer program code is stored.
- a computer program code is stored.
- the electronic device executes the relevant method steps in the method embodiment.
- the embodiment of the present application also provides a computer program product.
- the computer program product When the computer program product is run on a computer, it enables the computer to execute the relevant method steps in the above method embodiment.
- the inter-application communication device, vehicle, electronic device, computer storage medium or computer program product provided in this application is used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method provided above, and will not be repeated here.
- the disclosed devices and methods can be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the unit can be implemented in the form of hardware or in the form of software functional units.
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium.
- the technical solution of the embodiment of the present application is essentially or the part that makes the contribution or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to execute all or part of the steps of the method described in each embodiment of the present application.
- the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
La présente invention se rapporte au domaine technique des communications, et concerne un procédé et un appareil de communication inter-applications, un système de communication et un véhicule. Un dispositif en nuage vérifie séparément des applications présentes sur deux terminaux qui communiquent l'un avec l'autre, et l'ensemble du processus de vérification est plus rapide, plus doux et plus efficace. De plus, les applications présentes sur deux dispositifs terminaux peuvent être vérifiées automatiquement sans qu'un utilisateur n'ait besoin de participer au processus de vérification, ce qui permet d'améliorer la commodité des opérations de l'utilisateur, et l'utilisateur ne perçoit pas le processus de vérification, ce qui permet d'assurer une bonne expérience utilisateur. Des dispositifs qui communiquent l'un avec l'autre envoient respectivement, à un dispositif en nuage, des informations de vérification d'applications présentes sur les dispositifs homologues ; le dispositif en nuage vérifie les applications ; et le dispositif en nuage vérifie des signatures des applications sur la base d'informations d'identification d'application pré-distribuées et d'attestations de confiance. Lorsque les deux applications correspondantes des deux dispositifs sont vérifiées avec succès, un premier dispositif fait confiance à l'application présente sur un second dispositif, le second dispositif fait confiance à l'application présente sur le premier dispositif, et les deux dispositifs peuvent partager des données des applications.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/074630 WO2024164112A1 (fr) | 2023-02-06 | 2023-02-06 | Procédé et appareil de communication inter-applications, système de communication et véhicule |
| CN202380070309.5A CN119968628A (zh) | 2023-02-06 | 2023-02-06 | 应用间通信方法、通信系统、应用间通信装置及车辆 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/074630 WO2024164112A1 (fr) | 2023-02-06 | 2023-02-06 | Procédé et appareil de communication inter-applications, système de communication et véhicule |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024164112A1 true WO2024164112A1 (fr) | 2024-08-15 |
Family
ID=92261827
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/074630 Ceased WO2024164112A1 (fr) | 2023-02-06 | 2023-02-06 | Procédé et appareil de communication inter-applications, système de communication et véhicule |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN119968628A (fr) |
| WO (1) | WO2024164112A1 (fr) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008004174A2 (fr) * | 2006-07-06 | 2008-01-10 | Koninklijke Philips Electronics N.V. | Procédé d'établissement d'une voie sécurisée authentifiée |
| CN109600392A (zh) * | 2019-01-15 | 2019-04-09 | 四川虹微技术有限公司 | 一种防止信息篡改的方法及装置 |
| CN110659474A (zh) * | 2019-10-10 | 2020-01-07 | Oppo广东移动通信有限公司 | 应用间通信方法、装置、终端及存储介质 |
| CN114692119A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 校验应用的方法和电子设备 |
-
2023
- 2023-02-06 CN CN202380070309.5A patent/CN119968628A/zh active Pending
- 2023-02-06 WO PCT/CN2023/074630 patent/WO2024164112A1/fr not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008004174A2 (fr) * | 2006-07-06 | 2008-01-10 | Koninklijke Philips Electronics N.V. | Procédé d'établissement d'une voie sécurisée authentifiée |
| CN109600392A (zh) * | 2019-01-15 | 2019-04-09 | 四川虹微技术有限公司 | 一种防止信息篡改的方法及装置 |
| CN110659474A (zh) * | 2019-10-10 | 2020-01-07 | Oppo广东移动通信有限公司 | 应用间通信方法、装置、终端及存储介质 |
| CN114692119A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 校验应用的方法和电子设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119968628A (zh) | 2025-05-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP4092980B1 (fr) | Procédé de partage de données de compte et dispositif électronique | |
| CN111372325A (zh) | 建立Wi-Fi点对点连接的方法和装置 | |
| US11924184B2 (en) | Protection of communications through user equipment relay | |
| CN114584613B (zh) | 一种推送消息的方法、消息推送系统及电子设备 | |
| CN114741008B (zh) | 分布式跨设备协同方法、电子设备及通信系统 | |
| EP4336393A1 (fr) | Procédé d'authentification de sécurité, support lisible et dispositif électronique | |
| CN117131481B (zh) | 用户登录方法和电子设备 | |
| CN115550919B (zh) | 设备配对认证方法、装置、发送方设备及接收方设备 | |
| CN115065703B (zh) | 物联网系统及其认证与通信方法、相关设备 | |
| CN116830525A (zh) | 数据传输方法、装置、系统、电子设备及可读介质 | |
| US12245034B2 (en) | Secure and trusted peer-to-peer offline communication systems and methods | |
| CN113938880B (zh) | 一种应用的验证方法及装置 | |
| CN117195276A (zh) | 一种数据保护方法及电子设备 | |
| CN113301537B (zh) | 用于建立通信连接的方法、装置、电子设备以及存储介质 | |
| WO2022143157A1 (fr) | Procédé de négociation de clé et et dispositif associé correspondant | |
| CN112771815B (zh) | 密钥处理方法和装置 | |
| EP4510026A1 (fr) | Procédé et appareil de traitement de données | |
| WO2024164112A1 (fr) | Procédé et appareil de communication inter-applications, système de communication et véhicule | |
| CN116049839A (zh) | 一种数据传输方法和电子设备 | |
| CN117135631B (zh) | 设备认证方法及终端设备 | |
| CN119277336B (zh) | 一种呼叫转移设置方法、终端设备和计算机可读存储介质 | |
| CN119255333B (zh) | 一种设备交互方法、系统及电子设备 | |
| US20240333470A1 (en) | System and method for enabling short distance secure communication | |
| CN120434227A (zh) | 一种物联网设备与账号关联的方法及电子设备 | |
| WO2024222364A1 (fr) | Procédé de communication wifi et dispositif électronique |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23920327 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202380070309.5 Country of ref document: CN |
|
| WWP | Wipo information: published in national office |
Ref document number: 202380070309.5 Country of ref document: CN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |