CN113709696B - Vehicle remote control method and device, and key initialization method and device - Google Patents

Vehicle remote control method and device, and key initialization method and device Download PDF

Info

Publication number
CN113709696B
CN113709696B CN202110932507.0A CN202110932507A CN113709696B CN 113709696 B CN113709696 B CN 113709696B CN 202110932507 A CN202110932507 A CN 202110932507A CN 113709696 B CN113709696 B CN 113709696B
Authority
CN
China
Prior art keywords
key
data
service
encryption
remote control
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.)
Active
Application number
CN202110932507.0A
Other languages
Chinese (zh)
Other versions
CN113709696A (en
Inventor
郭炯光
李廷温
李辉
牛秀元
卢声晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110932507.0A priority Critical patent/CN113709696B/en
Priority to CN202311704025.5A priority patent/CN117750325A/en
Publication of CN113709696A publication Critical patent/CN113709696A/en
Application granted granted Critical
Publication of CN113709696B publication Critical patent/CN113709696B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/037Protecting confidentiality, e.g. by encryption of the control plane, e.g. signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The embodiment of the specification provides a vehicle remote control method and device, and a key initialization method and device, wherein the vehicle remote control method comprises the following steps: acquiring an encryption request submitted by a user terminal for vehicle remote control; invoking a decryption interface in the SDK to decrypt the encryption request to obtain a remote control request; generating a remote control instruction corresponding to the remote control request, and calling an encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction; and sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.

Description

Vehicle remote control method and device, and key initialization method and device
Technical Field
The present document relates to the field of data processing technologies, and in particular, to a vehicle remote control method and device, and a key initialization method and device.
Background
In the process of developing an application program, a developer of the application program can generally encapsulate some specific functions in the application program by embedding an SDK (Software Development Kit ) component in the application program, and since these functions can be directly called through an API (Application Programming Interface ) interface provided by the SDK component, the developer will not need to develop these specific functions separately for the application program, so that the development process can be simplified.
Disclosure of Invention
One or more embodiments of the present specification provide a vehicle remote control method including: and acquiring an encryption request submitted by the user terminal for remote control of the vehicle. And calling a decryption interface in the SDK to decrypt the encryption request to obtain a remote control request. And generating a remote control instruction corresponding to the remote control request, and calling an encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction. And sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.
One or more embodiments of the present specification provide a key initialization method, including: and sending a preset key to a server, and acquiring a service key ciphertext submitted by the server. And decrypting the service key ciphertext by using the preset key to obtain a service key. And updating the preset key recorded in the key index table based on the service key to establish an index mapping relation with the intermediate key and the data key.
One or more embodiments of the present specification provide another key initialization method, including: and receiving a preset key sent by the SDK. And encrypting the service key by using the preset key to obtain a service key ciphertext. And submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
One or more embodiments of the present specification provide a vehicle remote control apparatus including: and the encryption request acquisition module is configured to acquire an encryption request submitted by the user terminal for vehicle remote control. And the encryption request decryption module is configured to call a decryption interface in the SDK to decrypt the encryption request to obtain a remote control request. And the SDK calling module is configured to generate a remote control instruction corresponding to the remote control request, and call an encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction. And the encryption control instruction sending module is configured to send the encryption control instruction to a vehicle-mounted terminal of a target vehicle so as to execute remote control actions after the vehicle-mounted terminal calls the SDK to decrypt.
One or more embodiments of the present specification provide a key initialization apparatus including: the preset key sending module is configured to send a preset key to the server and acquire a service key ciphertext submitted by the server. And the service key ciphertext decryption module is configured to decrypt the service key ciphertext by using the preset key to obtain a service key. And the preset key updating module is configured to update the preset key recorded in the key index table based on the service key so as to establish an index mapping relation with the intermediate key and the data key.
One or more embodiments of the present specification provide another key initialization apparatus, including: and the preset key receiving module is configured to receive the preset key sent by the SDK. And the service key encryption module is configured to encrypt the service key by using the preset key to obtain a service key ciphertext. And the service key ciphertext submitting module is configured to submit the service key ciphertext to the SDK so as to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
One or more embodiments of the present specification provide a vehicle remote control apparatus including: a processor; and a memory configured to store computer-executable instructions that, when executed, cause the processor to: and acquiring an encryption request submitted by the user terminal for remote control of the vehicle. And calling a decryption interface in the SDK to decrypt the encryption request to obtain a remote control request. And generating a remote control instruction corresponding to the remote control request, and calling an encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction. And sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.
One or more embodiments of the present specification provide a key initialization apparatus including: a processor; and a memory configured to store computer-executable instructions that, when executed, cause the processor to: and sending a preset key to a server, and acquiring a service key ciphertext submitted by the server. And decrypting the service key ciphertext by using the preset key to obtain a service key. And updating the preset key recorded in the key index table based on the service key to establish an index mapping relation with the intermediate key and the data key.
One or more embodiments of the present specification provide another key initialization apparatus including: a processor; and a memory configured to store computer-executable instructions that, when executed, cause the processor to: and receiving a preset key sent by the SDK. And encrypting the service key by using the preset key to obtain a service key ciphertext. And submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
One or more embodiments of the present specification provide a storage medium storing computer-executable instructions that, when executed, implement the following: and acquiring an encryption request submitted by the user terminal for remote control of the vehicle. And calling a decryption interface in the SDK to decrypt the encryption request to obtain a remote control request. And generating a remote control instruction corresponding to the remote control request, and calling an encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction. And sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.
One or more embodiments of the present specification provide a second storage medium for storing computer-executable instructions that, when executed, implement the following: and sending a preset key to a server, and acquiring a service key ciphertext submitted by the server. And decrypting the service key ciphertext by using the preset key to obtain a service key. And updating the preset key recorded in the key index table based on the service key to establish an index mapping relation with the intermediate key and the data key.
One or more embodiments of the present specification provide a third storage medium storing computer-executable instructions that, when executed, implement the following: and receiving a preset key sent by the SDK. And encrypting the service key by using the preset key to obtain a service key ciphertext. And submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
Drawings
For a clearer description of one or more embodiments of the present description or of the solutions of the prior art, the drawings that are needed in the description of the embodiments or of the prior art will be briefly described below, it being obvious that the drawings in the description that follow are only some of the embodiments described in the present description, from which other drawings can be obtained, without inventive faculty, for a person skilled in the art;
FIG. 1 is a process flow diagram of a vehicle remote control method according to one or more embodiments of the present disclosure;
FIG. 2 is a flow chart illustrating a vehicle remote control method for use in a remote control vehicle scenario according to one or more embodiments of the present disclosure;
FIG. 3 is a process flow diagram of a key initialization method provided in one or more embodiments of the present disclosure;
FIG. 4 is a process flow diagram of another key initialization method provided by one or more embodiments of the present disclosure;
FIG. 5 is a schematic diagram of a vehicle remote control device according to one or more embodiments of the present disclosure;
FIG. 6 is a schematic diagram of a key initialization apparatus provided in one or more embodiments of the present disclosure;
FIG. 7 is a schematic diagram of another key initialization apparatus provided in one or more embodiments of the present disclosure;
FIG. 8 is a schematic diagram of a vehicle remote control device according to one or more embodiments of the present disclosure;
FIG. 9 is a schematic diagram of a key initialization apparatus according to one or more embodiments of the present disclosure;
fig. 10 is a schematic structural diagram of another key initialization apparatus provided in one or more embodiments of the present disclosure.
Detailed Description
In order to enable a person skilled in the art to better understand the technical solutions in one or more embodiments of the present specification, the technical solutions in one or more embodiments of the present specification will be clearly and completely described below with reference to the drawings in one or more embodiments of the present specification, and it is obvious that the described embodiments are only some embodiments of the present specification, not all embodiments. All other embodiments, which can be made by one or more embodiments of the present disclosure without inventive effort, are intended to be within the scope of the present disclosure.
The embodiment of the vehicle remote control method provided by the specification comprises the following steps:
referring to fig. 1, a process flow diagram of a vehicle remote control method provided by the present embodiment is shown, and referring to fig. 2, a process flow diagram of a vehicle remote control method applied to a remote control vehicle scene provided by the present embodiment is shown.
Referring to fig. 1, the vehicle remote control method provided in the present embodiment specifically includes steps S102 to S108.
Step S102, an encryption request submitted by a user terminal for remote control of the vehicle is obtained.
According to the vehicle remote control method provided by the embodiment, a unified SDK is provided for a vehicle service mechanism, the vehicle service mechanism configures respective service application and vehicle machine service end on the basis of the provided SDK, vehicle remote control is realized through cooperation of the service application and the vehicle machine service end, particularly in the vehicle remote control process, the user terminal calls the SDK to encrypt a remote control request into an encryption request, the SDK is called to decrypt the encryption request after the encryption request is obtained, the SDK is called to send a generated remote control instruction to a target vehicle in an encryption mode, and finally the target vehicle calls the SDK to decrypt the encryption control instruction and then execute corresponding remote control action, so that vehicle remote control convenience and flexibility are improved through the user terminal, meanwhile, safety in the vehicle remote control process is ensured through the remote control request and an encryption and decryption system of the remote control instruction, and meanwhile, the vehicle remote control application scene is enlarged under the guarantee of remote control safety.
The remote control of the vehicle in this embodiment refers to a process of controlling the vehicle by a terminal device or an application program installed on the terminal device, for example, the vehicle is controlled to start, open/close a door, automatically fold a rearview mirror, and the like by an application program installed on a mobile terminal.
In this embodiment, the data transmission security in the vehicle remote control process is ensured by introducing a three-level key system in the SDK, where the three-level key system specifically includes: a data key for encrypting the transmission data, an intermediate key for cryptographically protecting the transmission and storage of the data key, and a service key for cryptographically protecting the transmission and storage of the intermediate key. The subsequent encryption and/or decryption processes using the encryption interface and/or decryption interface provided by the SDK are performed on the basis of the three-level key system, so that before the three-level key system is used, a key initialization process is required, where the key initialization process is specifically implemented by a server in cooperation with the SDK, and specifically, in an optional implementation manner provided by this embodiment, the key initialization process specifically includes: encrypting the service key according to the preset key sent by the SDK to obtain a service key ciphertext; and submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
In cooperation with the method, after the SDK sends the preset key to the server, the following key initialization process is executed: acquiring the service key ciphertext submitted by the server; decrypting the service key ciphertext by using the preset key to obtain a service key; updating the preset key recorded in the key index table based on the service key to establish an index mapping relation with the service key and the intermediate key, encrypting and storing the intermediate key through the service key, and encrypting and storing the data key through the intermediate key.
Optionally, the service key, the intermediate key and the data key are provided by a vehicle service organization to which the target vehicle belongs and transmitted to a server of the SDK in ciphertext form; the key index table records an index mapping relation with the service key, the intermediate key and the data key in the same index entry, and corresponds to the same vehicle service organization.
In the implementation, the user terminal invokes the SDK to encrypt a remote control request for remote control of the vehicle, the encrypted request is obtained and sent to the server, and correspondingly, the server receives the encrypted request sent by the user terminal. Optionally, the encryption request is generated based on a service application installed on the user terminal, and the service application encrypts the remote control request by calling an encryption interface in a built-in SDK component to obtain the encryption request.
For example, after a user submits a remote start touch instruction to a vehicle a and generates a remote start request through a vehicle control application installed on a mobile terminal, the vehicle control application invokes an encryption interface in a built-in SDK component to encrypt the remote start request, and the encrypted start request is obtained after the encryption process is completed.
Specifically, the service application calls an encryption interface in a built-in SDK component to encrypt the remote control request, wherein the service application transmits the remote control request and an index identifier in an interface call mode, the SDK component decrypts a stored intermediate key ciphertext based on a service key corresponding to the transmitted index identifier in the process of responding to the interface call, and utilizes the intermediate key obtained by decryption to perform secondary decryption on the stored data key ciphertext, and encrypts the remote control request according to the data key obtained by secondary decryption and the encryption interface to obtain the encryption request and return.
Encrypting the remote control request according to the data key and the encryption interface obtained by secondary decryption, wherein the method specifically comprises the steps of determining an encryption algorithm corresponding to the algorithm identifier in an encryption algorithm set corresponding to the encryption interface according to the algorithm identifier contained in the index identifier; and inputting the data key and the remote control request into an encryption algorithm to carry out encryption processing, and outputting the encryption request.
It should be noted that, the SDK component built in the service application is the same as the interface included in the SDK, the SDK component is a set of interfaces provided by the SDK embedded in the service application in the application development process, and the SDK is an SDK called by a server executing the vehicle control method, and the processes of encrypting and decrypting the SDK component and the SDK are similar, and the interfaces called in the encrypting and decrypting processes are the same.
In order to further improve the security of the remote control process of the vehicle, the processing logic for performing identity verification on the user of the remote control vehicle may be configured in the service application, so that the security of the remote control vehicle is ensured by performing identity verification on the user of the remote control vehicle, and in an alternative implementation provided in this embodiment, before the encrypted request submitted by the user terminal for performing remote control of the vehicle is obtained, the following steps are: before the user terminal invokes the SDK component to encrypt the remote control instruction, if a core body request submitted in the process of running the service application by the user terminal is detected, core body processing is carried out on a vehicle control user through a core body interface of the SDK component built in the service application; if the core passes, returning a core success response to the user terminal, and encrypting a remote control request by the user terminal based on the core success response; and if the core fails, returning a core failure response to the user terminal.
And step S104, a decryption interface in the SDK is called to decrypt the encryption request, and a remote control request is obtained.
After receiving the encryption request submitted by the user terminal for remote control, the step decrypts the encryption request, specifically decrypts the encryption request by calling a decryption interface in the SDK, and in an optional implementation manner provided in this embodiment, the encryption request and the index identifier are transferred into the SDK through interface calling, and the remote control request returned by the SDK is obtained;
after the encryption request and the index identifier are transmitted into the SDK, decrypting the stored intermediate key ciphertext based on the service key corresponding to the index identifier, performing secondary decryption on the stored data key ciphertext by using the intermediate key obtained by decryption, decrypting the encryption request by using the data key obtained by secondary decryption and the decryption interface, obtaining the remote control request and returning.
In the specific implementation process, the service key, the intermediate key and the data key are stored in a key index table in an encryption mode, in the decryption process of the encryption request, firstly, the service key of the vehicle service mechanism in the key index table is determined according to the encryption request and the vehicle service mechanism identified by the index, then, according to the mapping relation between the service key and the intermediate key and the data key in the key index table, the intermediate key ciphertext mapped by the service key and the data key ciphertext are read from the key index table, the read intermediate key ciphertext is decrypted by the service key of the vehicle service mechanism to obtain the intermediate key, the data key ciphertext is decrypted by the intermediate key obtained by decryption to obtain the data key, and finally, the encryption request is decrypted by the data key obtained by decryption to obtain the remote control request.
And step S106, generating a remote control instruction corresponding to the remote control request, and calling an encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction.
According to the remote control request obtained through decryption, a corresponding remote control instruction is generated, the target vehicle can be controlled through the remote control instruction, and in order to ensure the data transmission safety in the vehicle remote control process, the remote control instruction is sent to the target vehicle in an encrypted mode, therefore, the remote control instruction needs to be encrypted before being sent to the target vehicle, and the encrypted control instruction is obtained by encrypting the remote control instruction by calling an encryption interface in the SDK.
In an optional implementation manner provided in this embodiment, the calling the encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction includes:
transferring the remote control instruction and the index identifier to the SDK through an interface call, and acquiring the encryption control instruction returned by the SDK;
after the remote control command and the index identifier are transmitted into the SDK, decrypting the stored intermediate key ciphertext based on the service key corresponding to the index identifier, performing secondary decryption on the stored data key ciphertext by using the intermediate key obtained by decryption, encrypting the remote control command according to the data key obtained by secondary decryption and the encryption interface, obtaining the encryption control command and returning.
Optionally, encrypting the remote control instruction according to the data key obtained by secondary decryption and the encryption interface, which is implemented in the following manner:
determining an encryption algorithm corresponding to the algorithm identifier in an encryption algorithm set corresponding to the encryption interface according to the algorithm identifier contained in the index identifier;
and inputting the data key and the remote control instruction into the encryption algorithm to carry out encryption processing, and outputting the encryption control instruction.
As described above, in the process of encrypting the remote control command, the service key, the intermediate key and the data key are stored in the key index table in an encrypted manner, firstly, the service key of the vehicle service mechanism in the key index table is determined according to the vehicle service mechanism which is input with the remote control command and the index identifier, then, according to the mapping relation between the service key and the intermediate key as well as the data key in the key index table, the intermediate key ciphertext mapped by the service key and the data key ciphertext are read from the key index table, the read intermediate key ciphertext is decrypted by the service key of the vehicle service mechanism to obtain the intermediate key, and the data key ciphertext is decrypted by the intermediate key obtained by decryption to obtain the data key, finally, the data key and the encryption algorithm corresponding to the remote control command input algorithm identifier are encrypted to obtain the encryption control command, for example, the encryption algorithm corresponding to the algorithm identifier is DES (Data Encryption Standard) encryption algorithm, and then the remote control command and the data key are input into the DES encryption algorithm to carry out encryption calculation to obtain the ciphertext data of the remote control command, namely the encryption control command.
And step S108, the encryption control instruction is sent to a vehicle-mounted terminal of the target vehicle, so that the vehicle-mounted terminal can execute remote control action after calling the SDK to decrypt.
And after the encryption control instruction obtained by the encryption interface encryption in the SDK is called for the steps, the encryption control instruction is sent to the vehicle terminal of the target vehicle. Correspondingly, after the encryption control instruction is sent to the vehicle-mounted terminal of the target vehicle, the vehicle-mounted terminal calls the SDK to decrypt the encryption control instruction and executes remote control actions corresponding to the remote control instruction obtained after decryption processing.
Specifically, in the process of calling a decryption interface in the SDK to decrypt the encryption control instruction, the vehicle terminal calls an encryption control instruction and an index identifier to the SDK through the interface, and acquires a remote control instruction returned by the SDK; correspondingly, after the encryption control instruction and the index identifier are transmitted into the SDK, a service key corresponding to the index identifier is determined in a key index table, an intermediate key ciphertext mapped by the service key and a data key ciphertext are read, the intermediate key ciphertext is decrypted by using the service key, the data key ciphertext is decrypted by using the intermediate key obtained by decryption, and finally the encryption control instruction is decrypted by using the obtained data key, so that a remote control instruction is obtained and returned to the vehicle terminal.
The following describes the vehicle remote control method provided in this embodiment further by taking an application of the vehicle remote control method provided in this embodiment to a remote control scene as an example, and referring to fig. 2, the vehicle remote control method applied to the remote control scene specifically includes steps S202 to S210.
Step S202, an encryption request submitted by a user terminal for remote control of the vehicle is obtained.
Step S204, the encryption request and the index identifier are transmitted to the SDK through the interface call, and the remote control request returned by the SDK is obtained.
After the encryption request and the index identifier are transmitted into the SDK, the SDK firstly determines a service key of the vehicle service mechanism in a key index table according to the encryption request and the vehicle service mechanism of the index identifier, then reads an intermediate key ciphertext and a data key ciphertext mapped by the service key from the key index table, decrypts the read intermediate key ciphertext by using the service key, decrypts the data key ciphertext by using the intermediate key obtained by decryption to obtain a data key, and finally decrypts the encryption request by using the data key to obtain a remote control request.
Step S206, a remote control instruction corresponding to the remote control request is generated.
Step S208, a remote control instruction and an index identifier are transmitted to the SDK through interface call, and an encryption control instruction returned by the SDK is obtained.
After the remote control command and the index identifier are transmitted into the SDK, the SDK firstly determines a corresponding service key in a key index table according to a vehicle service mechanism to which the index identifier belongs, then reads an intermediate key ciphertext mapped by the service key and a data key ciphertext from the key index table, decrypts the read intermediate key ciphertext by using the service key, decrypts the data key ciphertext by using the intermediate key obtained by decryption to obtain a data key, and finally inputs the data key and the remote control command into an encryption algorithm corresponding to an algorithm identifier (contained in the index identifier) to encrypt, so as to obtain an encryption control command.
Step S210, the encryption control instruction is sent to the vehicle terminal of the target vehicle, so that the vehicle terminal calls the SDK to decrypt and then execute the remote control action.
The embodiment of the key initialization method provided in the specification comprises the following steps:
referring to fig. 3, the key initialization method provided in the present embodiment specifically includes steps S302 to S306.
Step S302, a preset key is sent to a server, and a service key ciphertext submitted by the server is obtained.
In this embodiment, the data transmission security in the vehicle remote control process is ensured by introducing a three-level key system in the SDK, where the three-level key system specifically includes: a data key for encrypting the transmission data, an intermediate key for cryptographically protecting the transmission and storage of the data key, and a service key for cryptographically protecting the transmission and storage of the intermediate key. The subsequent processes of encrypting and/or decrypting by using the encryption interface and/or decryption interface provided by the SDK are performed on the basis of a three-level key hierarchy. In order to ensure the security of key transmission, the service key, the intermediate key, and the data key are optionally provided by a vehicle service authority to which the target vehicle belongs and transmitted to the server of the SDK in ciphertext form.
In the implementation, after the preset key is sent to a server (for example, a server of a vehicle service mechanism), the server encrypts the service key according to the sent preset key to obtain a service key ciphertext; and submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
And step S304, decrypting the service key ciphertext by using the preset key to obtain a service key.
As described above, the server encrypts the service key by using the preset key, so as to submit the service key to the SDK by using the service key ciphertext, thereby ensuring data security of the service key in the transmission process, and after the SDK obtains the service key ciphertext submitted by the server, decrypting the service key ciphertext by using the preset key, thereby obtaining the service key in a plaintext form.
Step S306, updating the preset key recorded in the key index table based on the service key to establish an index mapping relationship with the intermediate key and the data key.
In this embodiment, the record in the key index table has an index mapping relationship with the service key, the intermediate key and the data key in the same index entry, and corresponds to the same vehicle service organization. The service key of the vehicle service mechanism, the intermediate key submitted by the vehicle service mechanism and the data key establish an index mapping relation for subsequent encryption and/or decryption of the data by updating the service key submitted by the server of the vehicle service mechanism to the key index table.
In an optional implementation manner provided in this embodiment, the process of encrypting data specifically includes:
responding to the interface call, and acquiring an index identifier, data to be encrypted and an encryption algorithm identifier which are input by the interface call;
decrypting the intermediate key ciphertext mapped by the service key in the key index table through the service key mapped by the index identifier to obtain an intermediate key;
decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key;
and inputting the data key and the data to be encrypted into an encryption algorithm corresponding to the encryption algorithm identifier to carry out encryption processing, so as to obtain ciphertext data.
It should be noted that, the interface call here includes: the server of the vehicle service mechanism calls an interface initiated by the SDK, the user terminal calls the interface initiated by the SDK, and/or the vehicle machine terminal of the vehicle calls the interface initiated by the SDK. In other words, the SDK can perform an interface call of encryption processing in response to any one or more of a server of the vehicle service mechanism, a user terminal, and a vehicle-mounted terminal of the vehicle. The following specifically describes the above encryption process by taking the interface call initiated by the server of the vehicle service mechanism for the SDK as an example, and the process of the interface call initiated by the user terminal and the vehicle terminal of the vehicle for the SDK is similar to the interface call initiated by the server of the vehicle service mechanism for the SDK, which is referred to as the interface call initiated by the server of the vehicle service mechanism for the SDK, and this embodiment will not be described in detail herein.
Specifically, the server of the vehicle service mechanism performs data encryption for interface call initiated by the SDK, and the data encryption process performed by the SDK in response to the interface call specifically includes:
and after the remote control command and the index identifier are transmitted into the SDK through an interface call, the SDK determines a service key of the vehicle service mechanism in a key index table according to the index identifier, then reads a service key mapped intermediate key ciphertext and a data key ciphertext from the key index table according to the mapping relation between the service key and the intermediate key and between the service key and the data key in the key index table, decrypts the read intermediate key ciphertext by using the service key, decrypts the data key ciphertext by using the intermediate key obtained by decryption to obtain a data key, finally encrypts the data key and an encryption algorithm corresponding to the remote control command input algorithm identifier to obtain the encryption control command, and inputs the remote control command and the data key into a DES encryption algorithm to carry out encryption calculation to obtain ciphertext data of the remote control command, namely the encryption control command, if the encryption algorithm corresponding to the algorithm identifier is DES (Data Encryption Standard) encryption algorithm.
In an optional implementation manner provided in this embodiment, the process of decrypting the data specifically includes:
responding to the interface call, and acquiring an index identifier and data to be decrypted which are transmitted by the interface call;
decrypting the intermediate key ciphertext mapped by the service key in the key index table through the service key mapped by the index identifier to obtain an intermediate key;
decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key;
and carrying out decryption processing on the data to be decrypted through the data key to obtain plaintext data.
The interface call here, which is similar to the encryption process type, includes: the server of the vehicle service mechanism calls an interface initiated by the SDK, the user terminal calls the interface initiated by the SDK, and/or the vehicle machine terminal of the vehicle calls the interface initiated by the SDK. In other words, the SDK can perform the interface call of the decryption process in response to any one or more of the server of the vehicle service mechanism, the user terminal, and the on-board terminal of the vehicle. The following specifically describes the above decryption process by taking the interface call initiated by the server of the vehicle service mechanism for the SDK as an example, and the process of the interface call initiated by the user terminal and the vehicle terminal of the vehicle for the SDK is similar to the interface call initiated by the server of the vehicle service mechanism for the SDK, which is referred to as the interface call initiated by the server of the vehicle service mechanism for the SDK, and this embodiment will not be described in detail herein.
Specifically, the data decryption process performed by the server of the vehicle service mechanism for interface call initiated by the SDK and performed by the SDK in response to the interface call specifically includes:
and the vehicle-mounted terminal transmits an encryption control instruction and an index identifier to the SDK through an interface call, after the encryption control instruction and the index identifier are transmitted to the SDK, the SDK determines a service key corresponding to the index identifier in a key index table, reads an intermediate key ciphertext and a data key ciphertext mapped by the service key, decrypts the intermediate key ciphertext by using the service key, decrypts the data key ciphertext by using the intermediate key obtained by decryption, and finally decrypts the encryption control instruction by using the obtained data key to obtain the remote control instruction.
Another key initialization method embodiment provided in the present specification is as follows:
referring to fig. 4, a process flow diagram of a key initialization method provided in this embodiment is shown.
The key initialization method provided in the foregoing embodiments is applied to the SDK, and the key initialization method provided in the present embodiment is applied to the server, and the two are mutually matched in the execution process, so that reference is made to the corresponding content of the foregoing method embodiments in this embodiment, and this embodiment is not described in detail herein.
Referring to fig. 4, the present embodiment provides a key initialization method, which specifically includes steps S402 to S406.
Step S402, receiving a preset key sent by the SDK.
And step S404, encrypting the service key by using the preset key to obtain a service key ciphertext.
And step S406, submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
In this embodiment, the data transmission security in the vehicle remote control process is ensured by introducing a three-level key system in the SDK, where the three-level key system specifically includes: a data key for encrypting the transmission data, an intermediate key for cryptographically protecting the transmission and storage of the data key, and a service key for cryptographically protecting the transmission and storage of the intermediate key. The subsequent processes of encrypting and/or decrypting by using the encryption interface and/or decryption interface provided by the SDK are performed on the basis of a three-level key hierarchy. In order to ensure the security of key transmission, the service key, the intermediate key, and the data key are optionally provided by a vehicle service authority to which the target vehicle belongs and transmitted to the server of the SDK in ciphertext form.
In the implementation, after the preset key is sent to a server (for example, a server of a vehicle service mechanism), the server encrypts the service key according to the sent preset key to obtain a service key ciphertext; and submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
Specifically, the present embodiment maintains an index mapping relationship between keys through a key index table, where records in the key index table have an index mapping relationship with service keys, intermediate keys, and data keys in the same index entry, and correspond to the same vehicle service organization. The service key of the vehicle service mechanism, the intermediate key submitted by the vehicle service mechanism and the data key establish an index mapping relation for subsequent encryption and/or decryption of the data by updating the service key submitted by the server of the vehicle service mechanism to the key index table.
An embodiment of a vehicle remote control device provided in the present specification is as follows:
in the above-described embodiments, a vehicle remote control method is provided, and a vehicle remote control apparatus is provided corresponding thereto, as described below with reference to the accompanying drawings.
Referring to fig. 5, a schematic diagram of a vehicle remote control device according to the present embodiment is shown.
Since the apparatus embodiments correspond to the method embodiments, the description is relatively simple, and the relevant portions should be referred to the corresponding descriptions of the method embodiments provided above. The device embodiments described below are merely illustrative.
The present embodiment provides a vehicle remote control apparatus including:
an encryption request acquisition module 502 configured to acquire an encryption request submitted by a user terminal for vehicle remote control;
an encryption request decryption module 504 configured to invoke a decryption interface in the SDK to decrypt the encryption request, thereby obtaining a remote control request;
the SDK calling module 506 is configured to generate a remote control instruction corresponding to the remote control request, and call an encryption interface in the SDK to encrypt the remote control instruction to obtain an encrypted control instruction;
and the encryption control instruction sending module 508 is configured to send the encryption control instruction to a vehicle terminal of the target vehicle, so as to execute a remote control action after the vehicle terminal calls the SDK to decrypt.
An embodiment of a key initializing device provided in the present specification is as follows:
In the above-described embodiments, a key initialization method is provided, and a key initialization apparatus is provided corresponding to the key initialization method, and is described below with reference to the accompanying drawings.
Referring to fig. 6, a schematic diagram of a key initialization apparatus according to the present embodiment is shown.
Since the apparatus embodiments correspond to the method embodiments, the description is relatively simple, and the relevant portions should be referred to the corresponding descriptions of the method embodiments provided above. The device embodiments described below are merely illustrative.
The present embodiment provides a key initializing apparatus including:
the preset key sending module 602 is configured to send a preset key to a server and obtain a service key ciphertext submitted by the server;
a service key ciphertext decrypting module 604 configured to decrypt the service key ciphertext using the preset key to obtain a service key;
a preset key updating module 606 configured to update the preset key recorded in the key index table based on the service key, so as to establish an index mapping relationship with the intermediate key and the data key.
Another key initialization apparatus embodiment provided in the present specification is as follows:
In the above-described embodiments, another key initialization method is provided, and correspondingly, another key initialization apparatus is also provided, which is described below with reference to the accompanying drawings.
Referring to fig. 7, a schematic diagram of a key initialization apparatus according to the present embodiment is shown.
Since the apparatus embodiments correspond to the method embodiments, the description is relatively simple, and the relevant portions should be referred to the corresponding descriptions of the method embodiments provided above. The device embodiments described below are merely illustrative.
The present embodiment provides a key initializing apparatus including:
a preset key receiving module 702 configured to receive a preset key sent by the SDK;
a service key encryption module 704 configured to encrypt a service key with the preset key to obtain a service key ciphertext;
and a service key ciphertext submitting module 706 configured to submit the service key ciphertext to the SDK to establish an index mapping relationship between the service key and an intermediate key and between the service key and a data key.
An embodiment of a vehicle remote control device provided in the present specification is as follows:
in correspondence to the above-described vehicle remote control method, one or more embodiments of the present disclosure further provide a vehicle remote control device for performing the above-provided vehicle remote control method, and fig. 8 is a schematic structural diagram of the vehicle remote control device provided by the one or more embodiments of the present disclosure, based on the same technical concept.
The embodiment provides a vehicle remote control device, including:
as shown in fig. 8, the vehicle remote control device may have a relatively large difference due to different configurations or capabilities, and may include one or more processors 801 and a memory 802, where the memory 802 may store one or more storage applications or data. Wherein the memory 802 may be transient storage or persistent storage. The application programs stored in the memory 802 may include one or more modules (not shown), each of which may include a series of computer executable instructions in the vehicle remote control device. Still further, the processor 801 may be configured to communicate with a memory 802 to execute a series of computer executable instructions in the memory 802 on a vehicle remote control device. The vehicle remote control device may also include one or more power supplies 803, one or more wired or wireless network interfaces 804, one or more input/output interfaces 805, one or more keyboards 806, and the like.
In one particular embodiment, a vehicle remote control device includes a memory, and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the vehicle remote control device, and the execution of the one or more programs by one or more processors comprises computer-executable instructions for:
Acquiring an encryption request submitted by a user terminal for vehicle remote control;
invoking a decryption interface in the SDK to decrypt the encryption request to obtain a remote control request;
generating a remote control instruction corresponding to the remote control request, and calling an encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction;
and sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.
An embodiment of a key initialization apparatus provided in the present specification is as follows:
in correspondence to the above-described key initialization method, one or more embodiments of the present disclosure further provide a key initialization apparatus for performing the above-provided key initialization method, and fig. 9 is a schematic structural diagram of the key initialization apparatus provided by one or more embodiments of the present disclosure, based on the same technical concept.
The key initialization device provided in this embodiment includes:
as shown in fig. 9, the key initialization apparatus may have a relatively large difference due to different configurations or performances, and may include one or more processors 901 and a memory 902, where the memory 902 may store one or more storage applications or data. Wherein the memory 902 may be transient storage or persistent storage. The application program stored in the memory 902 may include one or more modules (not shown), each of which may include a series of computer-executable instructions in the key initialization apparatus. Still further, the processor 901 may be arranged to communicate with the memory 902 and execute a series of computer executable instructions in the memory 902 on the key initialization device. The key initialization device may also include one or more power supplies 903, one or more wired or wireless network interfaces 904, one or more input/output interfaces 905, one or more keyboards 906, and the like.
In a particular embodiment, the key initialization apparatus includes a memory, and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the key initialization apparatus, and the execution of the one or more programs by the one or more processors comprises computer-executable instructions for:
a preset key is sent to a server, and a service key ciphertext submitted by the server is obtained;
decrypting the service key ciphertext by using the preset key to obtain a service key;
and updating the preset key recorded in the key index table based on the service key to establish an index mapping relation with the intermediate key and the data key.
Another key initialization device embodiment provided in this specification is as follows:
in correspondence to the other key initialization method described above, one or more embodiments of the present disclosure further provide a key initialization apparatus for performing the key initialization method provided above, and fig. 10 is a schematic structural diagram of a key initialization apparatus provided in one or more embodiments of the present disclosure, based on the same technical concept.
The key initialization device provided in this embodiment includes:
as shown in fig. 10, the key initialization apparatus may have a relatively large difference due to different configurations or performances, and may include one or more processors 1001 and a memory 1002, where the memory 1002 may store one or more storage applications or data. Wherein the memory 1002 may be transient storage or persistent storage. The application program stored in memory 1002 may include one or more modules (not shown in the figures), each of which may include a series of computer-executable instructions in the key initialization apparatus. Still further, the processor 1001 may be configured to communicate with the memory 1002 and execute a series of computer executable instructions in the memory 1002 on the key initialization apparatus. The key initialization apparatus may also include one or more power supplies 1003, one or more wired or wireless network interfaces 1004, one or more input/output interfaces 1005, one or more keyboards 1006, etc.
In a particular embodiment, the key initialization apparatus includes a memory, and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the key initialization apparatus, and the execution of the one or more programs by the one or more processors comprises computer-executable instructions for:
Receiving a preset key sent by the SDK;
encrypting the service key by using the preset key to obtain a service key ciphertext;
and submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
An embodiment of a storage medium provided in the present specification is as follows:
in correspondence to the vehicle remote control method described above, one or more embodiments of the present specification further provide a storage medium based on the same technical idea.
The storage medium provided in this embodiment is configured to store computer executable instructions, where the computer executable instructions when executed implement the following procedures:
acquiring an encryption request submitted by a user terminal for vehicle remote control;
invoking a decryption interface in the SDK to decrypt the encryption request to obtain a remote control request;
generating a remote control instruction corresponding to the remote control request, and calling an encryption interface in the SDK to encrypt the remote control instruction to obtain an encryption control instruction;
and sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.
It should be noted that, the embodiments related to the storage medium in the present specification and the embodiments related to the vehicle remote control method in the present specification are based on the same inventive concept, so the specific implementation of this embodiment may refer to the implementation of the foregoing corresponding method, and the repetition is not repeated.
The second storage medium embodiment provided in the present specification is as follows:
in correspondence with a key initialization method described above, one or more embodiments of the present specification further provide a second storage medium based on the same technical concept.
The storage medium provided in this embodiment is configured to store computer executable instructions, where the computer executable instructions when executed implement the following procedures:
a preset key is sent to a server, and a service key ciphertext submitted by the server is obtained;
decrypting the service key ciphertext by using the preset key to obtain a service key;
and updating the preset key recorded in the key index table based on the service key to establish an index mapping relation with the intermediate key and the data key.
It should be noted that, in the present specification, the embodiment about the storage medium and the embodiment about a key initialization method in the present specification are based on the same inventive concept, so that the specific implementation of this embodiment may refer to the implementation of the foregoing corresponding method, and the repetition is omitted.
A third storage medium embodiment provided in the present specification is as follows:
in correspondence with the other key initialization method described above, one or more embodiments of the present specification further provide a third storage medium based on the same technical idea.
The storage medium provided in this embodiment is configured to store computer executable instructions, where the computer executable instructions when executed implement the following procedures:
receiving a preset key sent by the SDK;
encrypting the service key by using the preset key to obtain a service key ciphertext;
and submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
It should be noted that, in the present specification, the embodiment about the storage medium and the embodiment about another key initialization method in the present specification are based on the same inventive concept, so that the specific implementation of this embodiment may refer to the implementation of the foregoing corresponding method, and the repetition is omitted.
The foregoing describes specific embodiments of the present disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
In the 30 s of the 20 th century, improvements to one technology could clearly be distinguished as improvements in hardware (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) or software (improvements to the process flow). However, with the development of technology, many improvements of the current method flows can be regarded as direct improvements of hardware circuit structures. Designers almost always obtain corresponding hardware circuit structures by programming improved method flows into hardware circuits. Therefore, an improvement of a method flow cannot be said to be realized by a hardware entity module. For example, a programmable logic device (Programmable Logic Device, PLD) (e.g., field programmable gate array (Field Programmable Gate Array, FPGA)) is an integrated circuit whose logic function is determined by the programming of the device by a user. A designer programs to "integrate" a digital system onto a PLD without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, such programming is mostly implemented by using "logic compiler" software, which is similar to the software compiler used in program development and writing, and the original code before the compiling is also written in a specific programming language, which is called hardware description language (Hardware Description Language, HDL), but not just one of the hdds, but a plurality of kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), lava, lola, myHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are currently most commonly used. It will also be apparent to those skilled in the art that a hardware circuit implementing the logic method flow can be readily obtained by merely slightly programming the method flow into an integrated circuit using several of the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic controllers, and embedded microcontrollers, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic of the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller in a pure computer readable program code, it is well possible to implement the same functionality by logically programming the method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. Such a controller may thus be regarded as a kind of hardware component, and means for performing various functions included therein may also be regarded as structures within the hardware component. Or even means for achieving the various functions may be regarded as either software modules implementing the methods or structures within hardware components.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. One typical implementation is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each unit may be implemented in the same piece or pieces of software and/or hardware when implementing the embodiments of the present specification.
One skilled in the relevant art will recognize that one or more embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present description can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The present description is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the specification. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
One or more embodiments of the present specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments.
The foregoing description is by way of example only and is not intended to limit the present disclosure. Various modifications and changes may occur to those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. that fall within the spirit and principles of the present document are intended to be included within the scope of the claims of the present document.

Claims (20)

1. A vehicle remote control method, comprising:
acquiring an encryption request submitted by a user terminal for vehicle remote control;
the index identifier and the encryption request are transmitted to the SDK through interface call, the SDK decrypts the stored intermediate key ciphertext based on the service key corresponding to the index identifier, the stored data key ciphertext is decrypted for the second time by utilizing the intermediate key obtained by decryption, and the encryption request is decrypted by utilizing the data key obtained by the second decryption and the decryption interface, so that the remote control request returned by the SDK is obtained;
Generating a remote control instruction corresponding to the remote control request, transferring the remote control instruction and the index identifier to the SDK through an interface call, decrypting a stored intermediate key ciphertext by the SDK based on a service key corresponding to the index identifier, performing secondary decryption on a stored data key ciphertext by using an intermediate key obtained by decryption, and encrypting the remote control instruction according to a data key obtained by secondary decryption and an encryption interface to obtain an encryption control instruction returned by the SDK;
and sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.
2. The vehicle remote control method according to claim 1, the encrypting the remote control instruction according to the data key obtained by the secondary decryption and the encryption interface, comprising:
determining an encryption algorithm corresponding to the algorithm identifier in an encryption algorithm set corresponding to the encryption interface according to the algorithm identifier contained in the index identifier;
and inputting the data key and the remote control instruction into the encryption algorithm to carry out encryption processing, and outputting the encryption control instruction.
3. The vehicle remote control method according to claim 1, wherein the encryption request is generated based on a service application installed on the user terminal, the service application obtaining the encryption request by encrypting the remote control request by calling an encryption interface in a built-in SDK component.
4. The vehicle remote control method according to claim 1, further comprising, before the step of obtaining the encryption request submitted by the user terminal for vehicle remote control is performed:
if a core body request submitted in the process of running a service application by the user terminal is detected, core body processing is carried out on a vehicle control user through a core body interface of an SDK component built in the service application;
and if the core passes, returning a core success response to the user terminal, and encrypting the remote control request based on the core success response by the user terminal.
5. The vehicle remote control method according to claim 1, further comprising:
encrypting the service key according to the preset key sent by the SDK to obtain a service key ciphertext;
and submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and the intermediate key and between the service key and the data key.
6. The vehicle remote control method according to claim 5, wherein after the SDK transmits the preset key to the server, the following operations are performed:
acquiring the service key ciphertext submitted by the server;
decrypting the service key ciphertext by using the preset key to obtain a service key;
updating the preset key recorded in the key index table based on the service key to establish an index mapping relation with the service key and the intermediate key, encrypting and storing the intermediate key through the service key, and encrypting and storing the data key through the intermediate key.
7. The vehicle remote control method according to claim 6, wherein the service key, the intermediate key, and the data key are provided by a vehicle service organization to which the target vehicle belongs, and transmitted to a server of the SDK in a ciphertext form;
the key index table records an index mapping relation with the service key, the intermediate key and the data key in the same index entry, and corresponds to the same vehicle service organization.
8. A key initialization method, comprising:
A preset key is sent to a server, and a service key ciphertext submitted by the server is obtained;
decrypting the service key ciphertext by using the preset key to obtain a service key;
updating the preset key recorded in a key index table based on the service key, and establishing an index mapping relation with an intermediate key and a data key so as to encrypt and decrypt data according to the index mapping relation;
the data encryption includes: responding to interface call, calling an input index identifier mapped service key through the interface, decrypting a service key mapped intermediate key ciphertext in a key index table to obtain an intermediate key, decrypting a data key mapped data key ciphertext in the key index table by using the intermediate key to obtain a data key, and inputting the data key and an interface call input remote control instruction into an encryption algorithm corresponding to an encryption algorithm identifier to encrypt to obtain an encryption control instruction;
the data decryption includes: and in response to the interface call, decrypting the intermediate key ciphertext mapped by the service key in the key index table by calling the service key mapped by the index identifier to obtain an intermediate key, decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key, and decrypting the data to be decrypted which is called by the interface by using the data key to obtain plaintext data.
9. The key initialization method according to claim 8, the service key, the intermediate key, and the data key are provided by a vehicle service organization to which a target vehicle belongs and transmitted to an SDK in ciphertext form;
the key index table records an index mapping relation with the service key, the intermediate key and the data key in the same index entry, and corresponds to the same vehicle service organization.
10. A key initialization method, comprising:
receiving a preset key sent by the SDK;
encrypting the service key by using the preset key to obtain a service key ciphertext;
submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and an intermediate key and between the service key and a data key, so as to encrypt and decrypt data according to the index mapping relation;
the data encryption includes: responding to interface call, calling an input index identifier mapped service key through the interface, decrypting a service key mapped intermediate key ciphertext in a key index table to obtain an intermediate key, decrypting a data key mapped data key ciphertext in the key index table by using the intermediate key to obtain a data key, and inputting the data key and an interface call input remote control instruction into an encryption algorithm corresponding to an encryption algorithm identifier to encrypt to obtain an encryption control instruction;
The data decryption includes: and in response to the interface call, decrypting the intermediate key ciphertext mapped by the service key in the key index table by calling the service key mapped by the index identifier to obtain an intermediate key, decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key, and decrypting the data to be decrypted which is called by the interface by using the data key to obtain plaintext data.
11. The key initialization method according to claim 10, the service key, the intermediate key, and the data key are provided by a vehicle service organization to which a target vehicle belongs and transmitted to the SDK in ciphertext form;
the key index table records an index mapping relation with the service key, the intermediate key and the data key in the same index entry, and corresponds to the same vehicle service organization.
12. A vehicle remote control apparatus comprising:
the encryption request acquisition module is configured to acquire an encryption request submitted by the user terminal for vehicle remote control;
the encryption request decryption module is configured to transfer an index identifier and the encryption request to the SDK through an interface call, decrypt the stored intermediate key ciphertext by the SDK based on a service key corresponding to the index identifier, perform secondary decryption on the stored data key ciphertext by using the intermediate key obtained by decryption, and decrypt the encryption request by using the data key obtained by secondary decryption and a decryption interface to obtain a remote control request returned by the SDK;
The SDK calling module is configured to generate a remote control instruction corresponding to the remote control request, call the remote control instruction and the index identifier through an interface, decrypt a stored intermediate key ciphertext by the SDK based on a service key corresponding to the index identifier, decrypt a stored data key ciphertext by using the intermediate key obtained by decryption, encrypt the remote control instruction according to the data key obtained by secondary decryption and an encryption interface, and obtain an encryption control instruction returned by the SDK;
and the encryption control instruction sending module is configured to send the encryption control instruction to a vehicle-mounted terminal of a target vehicle so as to execute remote control actions after the vehicle-mounted terminal calls the SDK to decrypt.
13. A key initialization apparatus comprising:
the preset key sending module is configured to send a preset key to a server and acquire a service key ciphertext submitted by the server;
the service key ciphertext decryption module is configured to decrypt the service key ciphertext by using the preset key to obtain a service key;
a preset key updating module configured to
Updating the preset key recorded in a key index table based on the service key, and establishing an index mapping relation with an intermediate key and a data key so as to encrypt and decrypt data according to the index mapping relation;
the data encryption includes: responding to interface call, calling an input index identifier mapped service key through the interface, decrypting a service key mapped intermediate key ciphertext in a key index table to obtain an intermediate key, decrypting a data key mapped data key ciphertext in the key index table by using the intermediate key to obtain a data key, and inputting the data key and an interface call input remote control instruction into an encryption algorithm corresponding to an encryption algorithm identifier to encrypt to obtain an encryption control instruction;
the data decryption includes: and in response to the interface call, decrypting the intermediate key ciphertext mapped by the service key in the key index table by calling the service key mapped by the index identifier to obtain an intermediate key, decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key, and decrypting the data to be decrypted which is called by the interface by using the data key to obtain plaintext data.
14. A key initialization apparatus comprising:
the preset key receiving module is configured to receive a preset key sent by the SDK;
the service key encryption module is configured to encrypt a service key by using the preset key to obtain a service key ciphertext;
a service key ciphertext submitting module configured to submit the service key ciphertext to the SDK to establish an index mapping relationship between the service key and an intermediate key and a data key, so as to encrypt and decrypt data according to the index mapping relationship;
the data encryption includes: responding to interface call, calling an input index identifier mapped service key through the interface, decrypting a service key mapped intermediate key ciphertext in a key index table to obtain an intermediate key, decrypting a data key mapped data key ciphertext in the key index table by using the intermediate key to obtain a data key, and inputting the data key and an interface call input remote control instruction into an encryption algorithm corresponding to an encryption algorithm identifier to encrypt to obtain an encryption control instruction;
the data decryption includes: and in response to the interface call, decrypting the intermediate key ciphertext mapped by the service key in the key index table by calling the service key mapped by the index identifier to obtain an intermediate key, decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key, and decrypting the data to be decrypted which is called by the interface by using the data key to obtain plaintext data.
15. A vehicle remote control apparatus comprising:
a processor; and a memory configured to store computer-executable instructions that, when executed, cause the processor to:
acquiring an encryption request submitted by a user terminal for vehicle remote control;
the index identifier and the encryption request are transmitted to the SDK through interface call, the SDK decrypts the stored intermediate key ciphertext based on the service key corresponding to the index identifier, the stored data key ciphertext is decrypted for the second time by utilizing the intermediate key obtained by decryption, and the encryption request is decrypted by utilizing the data key obtained by the second decryption and the decryption interface, so that the remote control request returned by the SDK is obtained;
generating a remote control instruction corresponding to the remote control request, transferring the remote control instruction and the index identifier to the SDK through an interface call, decrypting a stored intermediate key ciphertext by the SDK based on a service key corresponding to the index identifier, performing secondary decryption on a stored data key ciphertext by using an intermediate key obtained by decryption, and encrypting the remote control instruction according to a data key obtained by secondary decryption and an encryption interface to obtain an encryption control instruction returned by the SDK;
And sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.
16. A key initialization apparatus comprising:
a processor; and a memory configured to store computer-executable instructions that, when executed, cause the processor to:
a preset key is sent to a server, and a service key ciphertext submitted by the server is obtained;
decrypting the service key ciphertext by using the preset key to obtain a service key;
updating the preset key recorded in a key index table based on the service key, and establishing an index mapping relation with an intermediate key and a data key so as to encrypt and decrypt data according to the index mapping relation;
the data encryption includes: responding to interface call, calling an input index identifier mapped service key through the interface, decrypting a service key mapped intermediate key ciphertext in a key index table to obtain an intermediate key, decrypting a data key mapped data key ciphertext in the key index table by using the intermediate key to obtain a data key, and inputting the data key and an interface call input remote control instruction into an encryption algorithm corresponding to an encryption algorithm identifier to encrypt to obtain an encryption control instruction;
The data decryption includes: and in response to the interface call, decrypting the intermediate key ciphertext mapped by the service key in the key index table by calling the service key mapped by the index identifier to obtain an intermediate key, decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key, and decrypting the data to be decrypted which is called by the interface by using the data key to obtain plaintext data.
17. A key initialization apparatus comprising:
a processor; and a memory configured to store computer-executable instructions that, when executed, cause the processor to:
receiving a preset key sent by the SDK;
encrypting the service key by using the preset key to obtain a service key ciphertext;
submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and an intermediate key and between the service key and a data key, so as to encrypt and decrypt data according to the index mapping relation;
the data encryption includes: responding to interface call, calling an input index identifier mapped service key through the interface, decrypting a service key mapped intermediate key ciphertext in a key index table to obtain an intermediate key, decrypting a data key mapped data key ciphertext in the key index table by using the intermediate key to obtain a data key, and inputting the data key and an interface call input remote control instruction into an encryption algorithm corresponding to an encryption algorithm identifier to encrypt to obtain an encryption control instruction;
The data decryption includes: and in response to the interface call, decrypting the intermediate key ciphertext mapped by the service key in the key index table by calling the service key mapped by the index identifier to obtain an intermediate key, decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key, and decrypting the data to be decrypted which is called by the interface by using the data key to obtain plaintext data.
18. A storage medium storing computer-executable instructions that when executed implement the following:
acquiring an encryption request submitted by a user terminal for vehicle remote control;
the index identifier and the encryption request are transmitted to the SDK through interface call, the SDK decrypts the stored intermediate key ciphertext based on the service key corresponding to the index identifier, the stored data key ciphertext is decrypted for the second time by utilizing the intermediate key obtained by decryption, and the encryption request is decrypted by utilizing the data key obtained by the second decryption and the decryption interface, so that the remote control request returned by the SDK is obtained;
generating a remote control instruction corresponding to the remote control request, transferring the remote control instruction and the index identifier to the SDK through an interface call, decrypting a stored intermediate key ciphertext by the SDK based on a service key corresponding to the index identifier, performing secondary decryption on a stored data key ciphertext by using an intermediate key obtained by decryption, and encrypting the remote control instruction according to a data key obtained by secondary decryption and an encryption interface to obtain an encryption control instruction returned by the SDK;
And sending the encryption control instruction to a vehicle-mounted terminal of the target vehicle so as to execute remote control action after the vehicle-mounted terminal calls the SDK to decrypt.
19. A storage medium storing computer-executable instructions that when executed implement the following:
a preset key is sent to a server, and a service key ciphertext submitted by the server is obtained;
decrypting the service key ciphertext by using the preset key to obtain a service key;
updating the preset key recorded in a key index table based on the service key, and establishing an index mapping relation with an intermediate key and a data key so as to encrypt and decrypt data according to the index mapping relation;
the data encryption includes: responding to interface call, calling an input index identifier mapped service key through the interface, decrypting a service key mapped intermediate key ciphertext in a key index table to obtain an intermediate key, decrypting a data key mapped data key ciphertext in the key index table by using the intermediate key to obtain a data key, and inputting the data key and an interface call input remote control instruction into an encryption algorithm corresponding to an encryption algorithm identifier to encrypt to obtain an encryption control instruction;
The data decryption includes: and in response to the interface call, decrypting the intermediate key ciphertext mapped by the service key in the key index table by calling the service key mapped by the index identifier to obtain an intermediate key, decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key, and decrypting the data to be decrypted which is called by the interface by using the data key to obtain plaintext data.
20. A storage medium storing computer-executable instructions that when executed implement the following:
receiving a preset key sent by the SDK;
encrypting the service key by using the preset key to obtain a service key ciphertext;
submitting the service key ciphertext to the SDK to establish an index mapping relation between the service key and an intermediate key and between the service key and a data key, so as to encrypt and decrypt data according to the index mapping relation;
the data encryption includes: responding to interface call, calling an input index identifier mapped service key through the interface, decrypting a service key mapped intermediate key ciphertext in a key index table to obtain an intermediate key, decrypting a data key mapped data key ciphertext in the key index table by using the intermediate key to obtain a data key, and inputting the data key and an interface call input remote control instruction into an encryption algorithm corresponding to an encryption algorithm identifier to encrypt to obtain an encryption control instruction;
The data decryption includes: and in response to the interface call, decrypting the intermediate key ciphertext mapped by the service key in the key index table by calling the service key mapped by the index identifier to obtain an intermediate key, decrypting the data key ciphertext mapped by the intermediate key in the key index table by using the intermediate key to obtain a data key, and decrypting the data to be decrypted which is called by the interface by using the data key to obtain plaintext data.
CN202110932507.0A 2021-08-13 2021-08-13 Vehicle remote control method and device, and key initialization method and device Active CN113709696B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110932507.0A CN113709696B (en) 2021-08-13 2021-08-13 Vehicle remote control method and device, and key initialization method and device
CN202311704025.5A CN117750325A (en) 2021-08-13 2021-08-13 Vehicle remote control method and device, and key initialization method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110932507.0A CN113709696B (en) 2021-08-13 2021-08-13 Vehicle remote control method and device, and key initialization method and device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311704025.5A Division CN117750325A (en) 2021-08-13 2021-08-13 Vehicle remote control method and device, and key initialization method and device

Publications (2)

Publication Number Publication Date
CN113709696A CN113709696A (en) 2021-11-26
CN113709696B true CN113709696B (en) 2023-12-29

Family

ID=78652836

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311704025.5A Pending CN117750325A (en) 2021-08-13 2021-08-13 Vehicle remote control method and device, and key initialization method and device
CN202110932507.0A Active CN113709696B (en) 2021-08-13 2021-08-13 Vehicle remote control method and device, and key initialization method and device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311704025.5A Pending CN117750325A (en) 2021-08-13 2021-08-13 Vehicle remote control method and device, and key initialization method and device

Country Status (1)

Country Link
CN (2) CN117750325A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116260581B (en) * 2023-05-09 2023-09-29 广东维信智联科技有限公司 Control signal remote transmission method and system
CN117527386A (en) * 2023-11-20 2024-02-06 北京天融信网络安全技术有限公司 Method, system, mobile device and vehicle end for sending remote instruction

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812871A (en) * 2014-02-24 2014-05-21 北京明朝万达科技有限公司 Development method and system based on mobile terminal application program security application
CN108632250A (en) * 2018-03-27 2018-10-09 北京安御道合科技有限公司 The method and apparatus of the generation of instruction manipulation session master key, operational order transmission
CN109495498A (en) * 2018-12-12 2019-03-19 北京车联天下信息技术有限公司 The ca authentication method, apparatus and car networking information management system of vehicle arrangement
CN111669399A (en) * 2020-06-17 2020-09-15 上海越域智能科技有限公司 Symmetric encryption system and method for vehicle Bluetooth key identity authentication mode
WO2020260136A1 (en) * 2019-06-25 2020-12-30 Thales Dis France Sa Method and system for generating encryption keys for transaction or connection data
CN112702166A (en) * 2019-10-23 2021-04-23 北京新能源汽车股份有限公司 Data transmission method, data verification device and automobile
CN112882750A (en) * 2021-03-23 2021-06-01 东软睿驰汽车技术(沈阳)有限公司 OTA upgrade package processing method and device and electronic equipment
CN113194139A (en) * 2021-04-28 2021-07-30 支付宝(杭州)信息技术有限公司 Vehicle remote control method, device and system, electronic equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2766357C (en) * 2011-01-31 2016-11-08 Trimble Navigation Limited Multi-mode vehicle computing device supporting in-cab and stand-alone operation
JP6372523B2 (en) * 2016-06-28 2018-08-15 トヨタ自動車株式会社 Locking / unlocking system, key unit
US10432600B2 (en) * 2017-06-27 2019-10-01 Uniken, Inc. Network-based key distribution system, method, and apparatus

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812871A (en) * 2014-02-24 2014-05-21 北京明朝万达科技有限公司 Development method and system based on mobile terminal application program security application
CN108632250A (en) * 2018-03-27 2018-10-09 北京安御道合科技有限公司 The method and apparatus of the generation of instruction manipulation session master key, operational order transmission
CN109495498A (en) * 2018-12-12 2019-03-19 北京车联天下信息技术有限公司 The ca authentication method, apparatus and car networking information management system of vehicle arrangement
WO2020260136A1 (en) * 2019-06-25 2020-12-30 Thales Dis France Sa Method and system for generating encryption keys for transaction or connection data
CN112702166A (en) * 2019-10-23 2021-04-23 北京新能源汽车股份有限公司 Data transmission method, data verification device and automobile
CN111669399A (en) * 2020-06-17 2020-09-15 上海越域智能科技有限公司 Symmetric encryption system and method for vehicle Bluetooth key identity authentication mode
CN112882750A (en) * 2021-03-23 2021-06-01 东软睿驰汽车技术(沈阳)有限公司 OTA upgrade package processing method and device and electronic equipment
CN113194139A (en) * 2021-04-28 2021-07-30 支付宝(杭州)信息技术有限公司 Vehicle remote control method, device and system, electronic equipment and storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
UDP穿透NAT技术实现数据唤醒车联网T-Box设备的方案;夏宝华;李佳;胡孟永;;电子技术与软件工程(第05期);全文 *
列车CCTV网络监控系统SDK的设计与应用;张飒漪;刘全利;王伟;;江南大学学报(自然科学版)(第05期);全文 *

Also Published As

Publication number Publication date
CN113709696A (en) 2021-11-26
CN117750325A (en) 2024-03-22

Similar Documents

Publication Publication Date Title
CN110990804B (en) Resource access method, device and equipment
EP3552132B1 (en) Login information processing method and device
CN112016120B (en) Event prediction method and device based on user privacy protection
US10931651B2 (en) Key management
CN109347629B (en) Secret key transmission method and system based on shared security application, storage medium and equipment
CN113709696B (en) Vehicle remote control method and device, and key initialization method and device
CN110222531B (en) Method, system and equipment for accessing database
CN111741028A (en) Service processing method, device, equipment and system
CN112287376B (en) Method and device for processing privacy data
CN111538995B (en) Data storage method and device and electronic equipment
CN116167036A (en) Digital image processing method and device
CN113037764B (en) System, method and device for executing service
CN111783071A (en) Password-based and privacy data-based verification method, device, equipment and system
CN116010992A (en) Data processing method and device, readable storage medium and electronic equipment
CN110866274A (en) Data fusion method, data fusion platform, data fusion system and data processing platform
CN108319872B (en) Method, device and equipment for generating closed container
CN111641499A (en) Block chain-based private key restoration method, device, equipment and medium
CN110750800A (en) Data security processing method, device, equipment and storage medium
CN114546524B (en) Application authority processing method and device
CN114553428B (en) Trusted verification system, trusted verification device, trusted verification storage medium and electronic equipment
CN114301606B (en) Unmanned equipment key management system, method, device, equipment and storage medium
CN116405558A (en) Cross-system data transmission processing method and device
CN113645209A (en) Vehicle end software encryption and decryption method and device based on white box
CN117955680A (en) Data processing method and related device
CN117725572A (en) SDK integrity checking method, device, medium and equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant