Vehicle safety unlocking method based on Bluetooth GATT protocol and electronic equipment

Through the Bluetooth GATT protocol vehicle security unlocking method, dynamic GATT service and key negotiation mechanism are used to realize convenient and automatic unlocking of Robotaxi vehicles, solving the cumbersome operation problems of traditional unlocking methods, and ensuring identity authentication and communication security.

CN120260164APending Publication Date: 2025-07-04DONGFENG CHANGXING (WUHAN) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510488660.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-18
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The existing Robotaxi vehicles are cumbersome to unlock, making it difficult for passengers to unlock the doors easily, especially in difficult operation under strong light or bad weather conditions.

Method used

The vehicle security unlocking method based on the Bluetooth GATT protocol is adopted. By receiving passenger order information and real-time positioning data, dynamic GATT services are created, temporary key pairs are generated and shared session keys are calculated, and automatic connection and encryption unlocking between passenger APP and vehicle are realized.

Benefits of technology

No physical button operation is required, which simplifies the door unlocking process, ensures the legality of vehicle identity and the security of command transmission, and improves the convenience and security of unlocking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120260164A_ABST
    Figure CN120260164A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of automatic driving, and provides a vehicle safety unlocking method based on a Bluetooth GATT protocol and electronic equipment, and the method comprises the steps: receiving passenger order information, and obtaining the real-time positioning data of a vehicle; when the positioning is matched with the order getting-on point, creating a dynamic GATT service, and broadcasting a service identifier; establishing a communication connection with the mobile terminal in response to a GATT connection request of the mobile terminal; generating a vehicle end temporary key pair, calculating a shared session key, and deriving a dynamic session key; receiving an encrypted unlocking instruction sent by the mobile terminal, and performing decryption processing based on the dynamic session key; and the vehicle is controlled to be unlocked after the validity of the encrypted unlocking instruction is verified. Automatic connection between the passenger APP and the vehicle can be achieved through the Bluetooth GATT protocol, the tedious key physical operation link on the vehicle body is eliminated, and unlocking is more convenient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of autonomous driving technology, and particularly to a vehicle safety unlocking method and an electronic device based on the Bluetooth GATT protocol. Background Art

[0002] In the current Robotaxi passenger vehicle process, the most common door unlocking method is that after the Robotaxi arrives at the passenger-specified boarding point, the passenger walks to the vehicle and enters the unlocking code (the last four digits of the passenger's mobile phone number) on the password input device on the side of the vehicle. After the vehicle successfully verifies, the passenger opens the door and gets in. This physical input solution is not convenient and fast enough. Some passengers may not be able to find the physical input device or know how to operate it when taking the Robotaxi for the first time.

[0003] In addition, the current mainstream technical solutions for Robotaxi door unlocking are unlocking code verification, voice recognition authentication, and two-dimensional code scanning authentication. Among them, unlocking code verification is that the passenger manually enters the unlocking code on the password input terminal on the side of the vehicle to complete the verification. Voice recognition authentication is that the passenger approaches the voice receiving module and verifies through voice password and voiceprint recognition. Two-dimensional code scanning authentication is that the vehicle generates a dynamic two-dimensional code, and the passenger scans it with the APP to trigger unlocking. And because the password input device on the vehicle body is prone to reflection of the input interface in strong light environments (such as direct sunlight), it is difficult for passengers to see the keyboard clearly; in some scenarios (such as rainy or snowy weather or when passengers carry luggage), it takes multiple attempts to complete the password input, and passengers need to actively find the vehicle body interaction module.

[0004] Therefore, how to unlock the vehicle more conveniently is a problem that needs to be solved. Summary of the Invention

[0005] In view of this, the embodiments of this application provide a vehicle safety unlocking method and an electronic device based on the Bluetooth GATT protocol, which can use the Bluetooth GATT protocol to realize the automatic connection between the passenger APP and the vehicle, eliminate the cumbersome physical operation links on the vehicle body, and make unlocking more convenient.

[0006] The first aspect of the embodiments of this application provides a vehicle safety unlocking method based on the Bluetooth GATT protocol, which is applied to the vehicle end and includes:

[0007] Receiving passenger order information and obtaining the real-time positioning data of the vehicle;

[0008] When the positioning matches the order boarding point, creating a dynamic GATT service and broadcasting the service identifier; in response to the GATT connection request from the mobile end, establishing a communication connection with the mobile end;

[0009] Generating a vehicle-end temporary key pair, calculating a shared session key, and deriving a dynamic session key;

[0010] Receive the encrypted unlocking instruction sent by the mobile terminal and perform decryption processing based on the dynamic session key;

[0011] After verifying the validity of the encrypted unlocking instruction, control the vehicle to unlock.

[0012] The second aspect of the embodiments of the present application provides a vehicle security unlocking method based on the Bluetooth GATT protocol, which is applied to the mobile terminal and includes:

[0013] Parse the passenger order information and obtain the real-time positioning data of the mobile terminal;

[0014] When the positioning matches the boarding point of the order, start Bluetooth scanning and identify the dynamic GATT service identifier;

[0015] Initiate a GATT connection request to the vehicle terminal and establish a communication connection with the vehicle terminal;

[0016] Generate a temporary key pair for the mobile terminal, calculate the shared session key, and derive the dynamic session key;

[0017] Encrypt the unlocking instruction based on the dynamic session key and send it to the vehicle terminal.

[0018] The third aspect of the embodiments of the present application provides a vehicle security unlocking device based on the Bluetooth GATT protocol, which is applied to the vehicle terminal and includes:

[0019] A data acquisition module, configured to receive passenger order information and obtain the real-time positioning data of the vehicle;

[0020] A Bluetooth module, configured to create a dynamic GATT service and broadcast the service identifier when the positioning matches the boarding point of the order;

[0021] A communication module, configured to establish a communication connection with the mobile terminal in response to a GATT connection request from the mobile terminal;

[0022] A key generation module, configured to generate a temporary key pair for the vehicle terminal, calculate the shared session key, and derive the dynamic session key;

[0023] A decryption module, configured to receive the encrypted unlocking instruction sent by the mobile terminal and perform decryption processing based on the dynamic session key;

[0024] A verification module, configured to control the vehicle to unlock after verifying the validity of the encrypted unlocking instruction.

[0025] The fourth aspect of the embodiments of the present application provides a vehicle security unlocking device based on the Bluetooth GATT protocol, which is applied to the mobile terminal and includes:

[0026] A data acquisition module, configured to parse the passenger order information and obtain the real-time positioning data of the mobile terminal;

[0027] A Bluetooth module, which is used to start Bluetooth scanning and identify a dynamic GATT service identifier when the positioning matches the pick-up point of the order;

[0028] A communication module, which is used to initiate a GATT connection request to the vehicle terminal and establish a communication connection with the vehicle terminal;

[0029] A key generation module, which is used to generate a temporary key pair for the mobile terminal, calculate a shared session key, and derive a dynamic session key;

[0030] An encryption module, which is used to encrypt the unlocking instruction based on the dynamic session key and send it to the vehicle terminal.

[0031] The fifth aspect of the embodiments of the present application provides an electronic device, including a processor, a memory, and a computer program stored in the memory and executable on the processor. The electronic device is characterized in that when the electronic device is the vehicle terminal, when the processor executes the computer program, the steps of the method provided in the first aspect of the embodiments of the present application are implemented;

[0032] When the electronic device is the mobile terminal, when the processor executes the computer program, the steps of the method provided in the second aspect of the embodiments of the present application are implemented.

[0033] The sixth aspect of the embodiments of the present application provides a computer program product, including a computer program, which when run, causes the method described in the first aspect or the second aspect of the embodiments of the present application to be executed.

[0034] The vehicle safety unlocking method based on the Bluetooth GATT protocol provided in the first aspect of the embodiments of the present application includes receiving passenger order information and obtaining real-time positioning data of the vehicle; when the positioning matches the pick-up point of the order, creating a dynamic GATT service and broadcasting the service identifier; in response to a GATT connection request from the mobile terminal, establishing a communication connection with the mobile terminal; generating a temporary key pair for the vehicle terminal, calculating a shared session key, and deriving a dynamic session key; receiving the encrypted unlocking instruction sent by the mobile terminal and performing decryption processing based on the dynamic session key; controlling the vehicle to unlock after verifying the validity of the encrypted unlocking instruction. By integrating the creation of a dynamic GATT service and an automatic key negotiation mechanism, a door unlocking process without physical operation is realized, and the problem of cumbersome operation in the traditional password input scheme is solved. Dynamically binding the vehicle positioning and order information to the Bluetooth service identifier ensures the legitimacy of vehicle identity verification in the service discovery stage, avoids the risk of misconnection, and at the same time ensures the security of instruction transmission through end-to-end encrypted communication. Using the Bluetooth GATT protocol realizes the automatic connection between the passenger APP and the vehicle, eliminates the physical operation link of the buttons on the vehicle body, and makes unlocking more convenient.

[0035] It can be understood that the beneficial effects of the above-mentioned second aspect to the sixth aspect can be referred to the relevant descriptions in the above-mentioned first aspect, and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0037] Figure 1 FIG. is a schematic flowchart of a vehicle safety unlocking method based on the Bluetooth GATT protocol provided by an embodiment of the present application;

[0038] Figure 2 FIG. is a schematic flowchart of a vehicle safety unlocking method based on the Bluetooth GATT protocol provided by another embodiment of the present application;

[0039] Figure 3 FIG. is a schematic flowchart of a vehicle safety unlocking method based on the Bluetooth GATT protocol provided by another embodiment of the present application;

[0040] Figure 4 FIG. is a schematic flowchart of a vehicle safety unlocking method based on the Bluetooth GATT protocol provided by another embodiment of the present application;

[0041] Figure 5 FIG. is an interaction sequence diagram of a vehicle safety unlocking method based on the Bluetooth GATT protocol provided by another embodiment of the present application;

[0042] Figure 6 FIG. is a schematic structural diagram of a vehicle safety unlocking device based on the Bluetooth GATT protocol provided by an embodiment of the present application;

[0043] Figure 7 FIG. is a schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0044] In the following description, specific details such as specific system structures and technologies are proposed for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.

[0045] It should be understood that, as used in the specification of this application and the appended claims, the term "comprising" indicates the presence of the described features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or their groups.

[0046] Reference to "one embodiment" or "some embodiments" or the like described in the specification of this application means that a specific feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of this application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized. The terms "comprising", "including", "having", and their variants all mean "including but not limited to", unless otherwise specifically emphasized.

[0047] As Figure 1 shown, the vehicle safety unlocking method based on the Bluetooth GATT protocol provided by the embodiment of this application is applied to the vehicle end and includes the following steps S101 to S106:

[0048] Step S101, receive passenger order information and obtain the real-time positioning data of the vehicle;

[0049] In the application, after the vehicle arrives at the order pick-up point, the in-vehicle Bluetooth module creates a custom GATT service, assigns a unique UUID, and this service is dedicated to door unlocking control, isolated from standard Bluetooth services (such as battery service, device information service) to avoid function interference.

[0050] Step S102, when the positioning matches the order pick-up point, create a dynamic GATT service and broadcast the service identifier;

[0051] Step S103, in response to the GATT connection request from the mobile terminal, establish a communication connection with the mobile terminal;

[0052] Step S104, generate a vehicle-end temporary key pair, calculate the shared session key, and derive the dynamic session key;

[0053] Step S105, receive the encrypted unlocking instruction sent by the mobile terminal and perform decryption processing based on the dynamic session key;

[0054] Step S106, control the vehicle to unlock after verifying the validity of the encrypted unlocking instruction.

[0055] In the application, the mobile terminal uses Session_Key to encrypt the unlocking request with AES-256-CTR;

[0056] The encrypted data is sent to the vehicle side through characteristic3;

[0057] After decryption at the vehicle side, the unlocking instruction is verified to ensure data integrity and source legality;

[0058] If the instruction is correct, the body control module is notified to complete vehicle unlocking.

[0059] In the embodiment of the present application, by receiving passenger order information and obtaining the real-time positioning data of the vehicle; when the positioning matches the pick-up point of the order, a dynamic GATT service is created and the service identifier is broadcast; in response to the GATT connection request from the mobile side, a communication connection with the mobile side is established; a temporary key pair for the vehicle side is generated, a shared session key is calculated, and a dynamic session key is derived; the encrypted unlocking instruction sent by the mobile side is received and decrypted based on the dynamic session key; after verifying the validity of the encrypted unlocking instruction, the vehicle is controlled to unlock. By integrating the creation of the dynamic GATT service and the automatic key negotiation mechanism, a door unlocking process without physical operation is realized, and the problem of cumbersome operation in the traditional password input scheme is solved. The vehicle positioning and order information are dynamically bound to the Bluetooth service identifier to ensure the legality of vehicle identity verification at the service discovery stage, avoid the risk of misconnection, and at the same time ensure the security of instruction transmission through end-to-end encrypted communication. The automatic connection between the passenger APP and the vehicle is realized by using the Bluetooth GATT protocol, eliminating the physical operation link of the buttons on the vehicle body, and making unlocking more convenient.

[0060] In one embodiment, generating a temporary key pair for the vehicle side, calculating a shared session key, and deriving a dynamic session key includes:

[0061] Generate a temporary key pair for the vehicle side and send the temporary public key of the vehicle side to the mobile side;

[0062] Receive the temporary public key of the mobile side sent by the mobile side, and calculate and generate a shared key based on the temporary private key of the vehicle side and the temporary public key of the mobile side, and derive a dynamic session key.

[0063] In the embodiment of the present application, by defining the specific implementation method of key exchange, the dynamic negotiation mechanism of the temporary keys of the vehicle side and the mobile side is clarified, effectively avoiding the limitation of the traditional Bluetooth pairing scheme that requires pre-binding of devices. The technical features of this claim ensure the temporariness and uniqueness of each session key. Even if a certain session key is leaked, it will not affect the security of historical or future communications, significantly enhancing the anti-attack ability of the key management system.

[0064] In one embodiment, generating a temporary key pair for the vehicle side includes:

[0065] Use the elliptic curve cryptography algorithm to generate a temporary key pair for the vehicle side including a temporary public key and a temporary private key;

[0066] Among them, the elliptic curve parameters are generated based on a prime number and an integer. The prime number is generated from the user's mobile phone number, and the integer is generated from the vehicle license plate number.

[0067] In the application, key exchange and dynamic session key generation include an initialization phase, a public key exchange phase, a shared key generation phase, and a dynamic session key generation phase.

[0068] Initialization phase:

[0069] The vehicle end generates a temporary public-private key pair (V_pub, V_priv).

[0070] The passenger APP also generates a temporary public-private key pair (P_pub, P_priv).

[0071] (1) Generate a prime number p from the passenger's mobile phone number and an integer g from the license plate number.

[0072] (2) The mobile phone end generates a random number a, P_priv = a; P_pub = g^a MOD p = A.

[0073] (3) The in-vehicle end generates a random number b, V_priv = b; V_pub = g^b MOD p = B.

[0074] Public key exchange:

[0075] The in-vehicle end pushes V_pub to the APP through characteristic2;

[0076] The passenger APP writes P_pub to characteristic3, and the in-vehicle end receives it.

[0077] Shared key generation:

[0078] Both sides calculate the shared key Shared_Key through V_priv × P_pub and P_priv × V_pub respectively.

[0079] (4) The mobile phone end calculates Shared_Key = B^a MOD p.

[0080] (5) The in-vehicle end calculates Shared_Key = A^b MOD p.

[0081] Dynamic session key generation:

[0082] Based on the TOTP (Time-Synchronized One-Time Password) algorithm, a temporary session key Session_Key is generated using the shared key and the timestamp (30-second window).

[0083] Example: Session_Key = HMAC-SHA256(Shared_Key,Current_Time / 30).

[0084] In the embodiments of the present application, by strengthening the elliptic curve parameter generation rule based on the user's mobile phone number and license plate number, the unpredictability and anti-forgery ability of the temporary key pair are enhanced. The user identity information and vehicle identifier are dynamically incorporated into the cryptographic parameter generation process, and the general key generation rule cannot be obtained through reverse engineering, improving the security of authentication.

[0085] In one embodiment, creating a dynamic GATT service includes:

[0086] Generating a dynamic service UUID based on the hash operation of the order number;

[0087] Configuring a first writable characteristic value in the GATT service based on the dynamic service UUID for receiving the user's temporary public key, a second notifiable characteristic value for sending the vehicle temporary public key, a third writable characteristic value for receiving encryption instructions, and a fourth notifiable characteristic value for sending encryption status data.

[0088] In the application, assign a unique UUID to the Service, in the format of XXXXXXXX-0000-1000-8000-00805F9B34FB, where XXXXXXXX is the first 32 bits of the SHA-256 value of the order number.

[0089] Configure four Characteristics in the Service, each Characteristic is uniquely identified by a fixed 128-bit UUID. Among them:

[0090] characteristic1, a writable characteristic value, is used for the vehicle-mounted terminal to receive the mobile phone temporary public key sent by the mobile phone terminal.

[0091] characteristic2, a notifiable characteristic value, is used for the vehicle-mounted terminal to send the vehicle-mounted temporary public key to the mobile phone terminal.

[0092] characteristic3, a writable characteristic value, is used for the vehicle-mounted terminal to receive the encrypted data sent by the mobile phone terminal.

[0093] characteristic4, a notifiable characteristic value, is used for the vehicle-mounted terminal to send the encrypted data to the mobile phone terminal.

[0094] After the custom GATT service is started, turn on the Bluetooth broadcast, and set the same UUID as the service in the broadcast packet for the mobile phone Bluetooth module to scan and filter.

[0095] Through the refined design of the dynamic service UUID and eigenvalue permissions, the embodiments of the present application achieve a deep coupling of the Bluetooth service structure and business logic. The read / write permission separation strategy for the four eigenvalues (such as encrypted write permission restrictions) effectively prevents instruction tampering. At the same time, the dynamic UUID and service data hash binding mechanism ensures the uniqueness of each service instance, avoiding the malicious reuse of historical order services.

[0096] In one embodiment, it further includes:

[0097] Send the encrypted unlock status data to the mobile terminal.

[0098] In the application, after the vehicle door is unlocked, the in-vehicle terminal encrypts the vehicle unlock status data using Session_Key with AES-256-CTR;

[0099] The in-vehicle terminal uses characteristic4 to send the encrypted vehicle unlock status data to the mobile APP;

[0100] The APP decrypts the data and displays the vehicle unlock status.

[0101] The encryption status feedback mechanism of the embodiments of the present application improves the two-way trusted communication link between the vehicle terminal and the mobile terminal. Through the closed-loop verification of the encrypted status data, the mobile terminal can confirm the execution result of the vehicle door control instruction in real time.

[0102] In one embodiment, it further includes an exception handling method, including:

[0103] Connection timeout: If the key exchange does not complete within 10 seconds, automatically disconnect the connection and prompt the passenger to retry.

[0104] Key conflict: When a duplicate session key is detected, trigger the key refresh process (re-execute the ECDH exchange).

[0105] Key exception: If the verification fails after decrypting the encrypted data, disconnect the connection and prohibit this device from connecting.

[0106] As Figure 2 shown, the embodiments of the present application also provide a vehicle security unlocking method based on the Bluetooth GATT protocol, which is applied to the mobile terminal and includes the following steps S201 to S205:

[0107] Step S201, parse the passenger order information and obtain the real-time location data of the mobile terminal;

[0108] Step S202, when the location matches the boarding point of the order, start Bluetooth scanning and identify the dynamic GATT service identifier;

[0109] In the application, the passenger arrives at the pick-up point of the order with a mobile phone. The Robotaxi APP turns on Bluetooth scanning. After scanning a Bluetooth device with the specified UUID, a GATT connection is established, and the characteristic value configuration and channel establishment are completed.

[0110] Step S203: Initiate a GATT connection request to the vehicle terminal and establish a communication connection with the vehicle terminal;

[0111] Step S204: Generate a mobile terminal temporary key pair, calculate a shared session key, and derive a dynamic session key;

[0112] Step S205: Encrypt the unlock instruction based on the dynamic session key and send it to the vehicle terminal.

[0113] In one embodiment, generating a mobile terminal temporary key pair, calculating a shared session key, and deriving a dynamic session key include:

[0114] Generate a mobile terminal temporary key pair and send the mobile terminal temporary public key to the vehicle terminal;

[0115] Receive the vehicle terminal temporary public key sent by the vehicle terminal, calculate and generate a shared key based on the mobile terminal temporary private key and the vehicle terminal temporary public key, and derive a dynamic session key.

[0116] In one embodiment, generating a mobile terminal temporary key pair includes:

[0117] Use the elliptic curve cryptography algorithm to generate a mobile terminal temporary key pair including a temporary public key and a temporary private key;

[0118] Among them, the elliptic curve parameters are generated according to prime numbers and integers. The prime numbers are generated from the user's mobile phone number, and the integers are generated from the vehicle license plate number.

[0119] In one embodiment, it further includes:

[0120] Receive and decrypt the unlock status data sent by the vehicle terminal;

[0121] Display and output the unlock status.

[0122] The embodiment of the present application also provides a vehicle safety unlocking system based on the Bluetooth GATT protocol, including a vehicle terminal (i.e., an in-vehicle terminal) and a mobile terminal. The embodiment of the present application takes the mobile phone terminal as an example for illustration, and is used to execute the vehicle safety unlocking method based on the Bluetooth GATT protocol, as Figure 3 shown, and its process is as follows:

[0123] Step 1: The passenger hails a taxi.

[0124] Step 2: The vehicle arrives at the pick-up point of the order.

[0125] Step 3: The vehicle broadcasts its GATT Services and Characteristics as a Peripheral device.

[0126] Step 4: The passenger arrives at the pick-up point of the order with the mobile phone.

[0127] Step 5: The mobile phone of the passenger discovers and connects to the Peripheral as a Central device.

[0128] Step 6: The in-vehicle device and the mobile phone each generate a temporary public-private key pair, exchange public keys, and calculate the shared key.

[0129] Step 7: Generate a dynamic session key.

[0130] Step 8: The mobile phone sends encrypted data (unlock instruction) to the in-vehicle device.

[0131] Step 9: The in-vehicle device decrypts the data and verifies the unlock instruction.

[0132] Step 10: If the verification passes, the vehicle door unlocks.

[0133] Step 11: The in-vehicle device sends encrypted data (unlock status) to the mobile phone.

[0134] Step 12: The mobile phone decrypts the data, and the APP displays the vehicle unlock status.

[0135] In one embodiment, the vehicle end includes an in-vehicle positioning module, a body control module, a Robotaxi module, and an in-vehicle Bluetooth module. The mobile end includes a mobile phone Bluetooth module, a Robotaxi APP, and a mobile phone positioning module. The interaction sequence diagram of each module for executing the vehicle security unlocking method based on the Bluetooth GATT protocol is as Figure 4 , specifically as follows:

[0136] Step 1: The in-vehicle positioning module sends vehicle positioning information to the in-vehicle Robotaxi module.

[0137] Step 1.1: The in-vehicle Robotaxi module determines whether it has reached the pick-up point of the order. If so, execute Step 1.1.1.

[0138] Step 1.1.1: The in-vehicle Robotaxi module creates a custom GATT service.

[0139] Step 1.1.2: Start Bluetooth broadcasting.

[0140] Step 2: Arrive at the pick-up point of the order with the mobile phone.

[0141] Step 2.1: The mobile phone positioning module sends mobile phone positioning information to the mobile phone RobotaxiAPP.

[0142] Step 2.1.1: The Robotaxi APP on the mobile phone determines whether it has reached the pick-up point of the order. If so, execute Step 2.1.1.1.

[0143] Step 2.1.1.1: The Robotaxi APP on the mobile phone activates the Bluetooth device scanning.

[0144] Step 2.1.1.1.1: The Bluetooth module on the mobile phone determines whether there is a device matching the SERVICE_UUID in the scanning result. If so, execute Step 2.1.1.1.1.1.

[0145] Step 2.1.1.1.1.1: The Bluetooth module on the mobile phone initiates a GATT connection request, and the Bluetooth module on the vehicle responds to the connection request, and the connection is successful.

[0146] Step 2.1.1.1.1.2: The Bluetooth module on the mobile phone discovers the GATT service, and the Bluetooth module on the vehicle sends the GATT service list to the Bluetooth module on the mobile phone.

[0147] Step 2.1.1.1.1.3: The Bluetooth module on the mobile phone sends the setting of the GATT notifiable characteristic value to the Bluetooth module on the vehicle and accepts the feedback from the Bluetooth module on the vehicle.

[0148] Step 2.1.1.1.1.4: The Bluetooth module on the mobile phone requests to modify the Mtu value (32) from the Bluetooth module on the vehicle.

[0149] Step 3: The Bluetooth module on the mobile phone generates a temporary public key pair (P_pub, P_priv) for the mobile phone.

[0150] Step 3.1: The Bluetooth module on the mobile phone sends the temporary public key (P_pub) of the mobile phone to the Bluetooth module on the vehicle.

[0151] Step 3.1.1: The Bluetooth module on the vehicle generates a temporary public key pair (V_pub, V_priv) for the vehicle.

[0152] Step 3.1.2: The Bluetooth module on the vehicle sends the temporary public key (V_pub) of the vehicle to the Bluetooth module on the mobile phone. Both parties calculate the shared key Session_Key through V_priv×P_pub and P_priv×V_pub respectively, and the dynamic session key is generated.

[0153] Step 4: The Bluetooth module on the mobile phone uses Session_Key to encrypt the unlock request with AES-256-CTR.

[0154] Step 4.1: The Bluetooth module on the mobile phone sends the encrypted unlock instruction data to the Bluetooth module on the vehicle.

[0155] Step 4.1.1: The in-vehicle Bluetooth module uses the Session_Key to decrypt the received data using AES-256.

[0156] Step 4.1.2: The in-vehicle Bluetooth module verifies the unlock instruction.

[0157] Step 4.1.3: The in-vehicle Bluetooth module sends a door unlock instruction to the body control module of the vehicle, and the body control module of the vehicle feeds back an unlock result signal to the in-vehicle Bluetooth module.

[0158] Step 5: The in-vehicle Bluetooth module uses the Session_Key to encrypt the unlock result using AES-256.

[0159] Step 5.1: The in-vehicle Bluetooth module sends the encrypted unlock result data to the mobile phone Bluetooth module.

[0160] Step 5.1.1: The mobile phone Bluetooth module uses the Session_Key to decrypt the received data using AES-256.

[0161] Step 5.1.2: The mobile phone Bluetooth module displays the unlock result on the Robotaxi APP on the mobile phone.

[0162] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

[0163] The embodiments of the present application further provide a vehicle safety unlocking device based on the Bluetooth GATT protocol, which is used to execute the steps in the embodiments of the vehicle safety unlocking method based on the Bluetooth GATT protocol. The vehicle safety unlocking device based on the Bluetooth GATT protocol can be a virtual appliance in an electronic device, run by the processor of the electronic device, or the electronic device itself.

[0164] As Figure 5 shown, the vehicle safety unlocking device 100 based on the Bluetooth GATT protocol provided by the embodiments of the present application, applied to the vehicle end, includes:

[0165] A data acquisition module 101, configured to receive passenger order information and acquire real-time positioning data of the vehicle;

[0166] A Bluetooth module 102, configured to create a dynamic GATT service and broadcast a service identifier when the positioning matches the pick-up point of the order;

[0167] A communication module 103, configured to establish a communication connection with the mobile terminal in response to a GATT connection request from the mobile terminal;

[0168] The key generation module 104 is configured to generate a vehicle temporary key pair, calculate a shared session key, and derive a dynamic session key;

[0169] The decryption module 105 is configured to receive the encrypted unlocking instruction sent by the mobile terminal and perform decryption processing based on the dynamic session key;

[0170] The verification module 106 is configured to control the unlocking of the vehicle after verifying the validity of the encrypted unlocking instruction.

[0171] In an application, each module in the vehicle security unlocking device based on the Bluetooth GATT protocol can be a software program module, can also be implemented by different logic circuits integrated in a processor, or can also be implemented by multiple distributed processors.

[0172] As Figure 6 shown, the vehicle security unlocking device 200 provided by an embodiment of the present application is applied to a mobile terminal and includes:

[0173] The data acquisition module 201 is configured to parse the passenger order information and acquire the real-time positioning data of the mobile terminal;

[0174] The Bluetooth module 202 is configured to start Bluetooth scanning and identify the dynamic GATT service identifier when the positioning matches the boarding point of the order;

[0175] The communication module 203 is configured to initiate a GATT connection request to the vehicle terminal and establish a communication connection with the vehicle terminal;

[0176] The key generation module 204 is configured to generate a mobile terminal temporary key pair, calculate a shared session key, and derive a dynamic session key;

[0177] The encryption module 205 is configured to encrypt the unlocking instruction based on the dynamic session key and send it to the vehicle terminal.

[0178] As Figure 7 shown, an embodiment of the present application further provides an electronic device 200, including: at least one processor 201 ( Figure 7 only one processor is shown in the figure), a memory 202, and a computer program 203 stored in the memory 202 and executable on at least one processor 201. When the processor 201 executes the computer program 203, the steps in the above-mentioned method embodiments are implemented.

[0179] In an application, the electronic device may include, but is not limited to, a processor and a memory. Those skilled in the art can understand, Figure 7The examples of the electronic device are merely illustrative and do not constitute a limitation on the electronic device. It may include more or fewer components than those shown in the figure, or combine some components, or have different components.

[0180] In an application, the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0181] In an application, the memory may be an internal storage unit of the electronic device in some embodiments, such as the hard disk or memory of the electronic device. The memory may also be an external storage device of the electronic device in other embodiments. For example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc., equipped on the electronic device. Further, the memory may include both the internal storage unit and the external storage device of the electronic device. The memory is used to store an operating system, application programs, a boot loader, data, and other programs, such as the program code of a computer program. The memory may also be used to temporarily store data that has been output or is to be output.

[0182] It should be noted that for the content such as information interaction and execution process between the above-mentioned devices / units, since it is based on the same concept as the method embodiment of the present application, for its specific functions and the technical effects brought, please refer to the method embodiment section for details and will not be elaborated here.

[0183] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example. In actual applications, the above-mentioned functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiments can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of the functional units and modules are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.

[0184] An embodiment of this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0185] An embodiment of this application provides a computer program product, including a computer program. When the computer program product runs on an electronic device, the electronic device can implement the steps in the above-mentioned method embodiments when executed.

[0186] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above-mentioned method embodiments of this application, a computer program can be used to instruct the relevant hardware to complete. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the device / electronic device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disc, etc. In some jurisdictions, according to legislation and patent practice, the computer-readable medium cannot be an electrical carrier signal and a telecommunication signal.

[0187] In the above embodiments, the descriptions of the various embodiments have their own focuses. For the parts not described in detail or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0188] Those of ordinary skill in the art will realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled professionals can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0189] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of devices or units can be electrical, mechanical or other forms.

[0190] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or they can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0191] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features. And these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included in the protection scope of this application.

Claims

1. A vehicle safety unlocking method based on the Bluetooth GATT protocol, characterized in that, Applied to the vehicle end, including: Receiving passenger order information and obtaining the real-time positioning data of the vehicle; When the positioning matches the pick-up point of the order, creating a dynamic GATT service and broadcasting the service identifier; Responding to the GATT connection request from the mobile end, establishing a communication connection with the mobile end; Generating a vehicle-end temporary key pair, calculating a shared session key, and deriving a dynamic session key; Receiving the encrypted unlocking instruction sent by the mobile end and performing decryption processing based on the dynamic session key; Controlling the unlocking of the vehicle after verifying the validity of the encrypted unlocking instruction.

2. The vehicle safety unlocking method based on the Bluetooth GATT protocol according to claim 1, characterized in that, The generating of the vehicle-end temporary key pair, calculating the shared session key, and deriving the dynamic session key includes: Generating a vehicle-end temporary key pair and sending the vehicle-end temporary public key to the mobile end; Receiving the mobile-end temporary public key sent by the mobile end, calculating and generating a shared key based on the vehicle-mounted temporary private key and the mobile-end temporary public key, and deriving a dynamic session key.

3. The vehicle safety unlocking method based on the Bluetooth GATT protocol according to claim 1, wherein, The generating of the vehicle-end temporary key pair includes: Using the elliptic curve cryptography algorithm to generate a vehicle-end temporary key pair including a temporary public key and a temporary private key; Wherein, the elliptic curve parameters are generated according to a prime number and an integer, the prime number is generated from the user's mobile phone number, and the integer is generated from the vehicle license plate number.

4. The vehicle safety unlocking method based on the Bluetooth GATT protocol according to claim 1, characterized in that The creating of the dynamic GATT service includes: Generating a dynamic service UUID based on the hash operation of the order number; Configuring a first writable characteristic value in the GATT service for receiving the user's temporary public key, a second notifiable characteristic value for sending the vehicle-end temporary public key, a third writable characteristic value for receiving the encrypted instruction, and a fourth notifiable characteristic value for sending the encrypted status data based on the dynamic service UUID.

5. The vehicle safety unlocking method based on the Bluetooth GATT protocol according to claim 1, characterized in that, It also includes: Sending the encrypted unlocking status data to the mobile end.

6. A vehicle safety unlocking method based on the Bluetooth GATT protocol, characterized in that, Applied to the mobile end, including: Parsing the passenger order information and obtaining the real-time positioning data of the mobile end; When the positioning matches the pick-up point of the order, starting the Bluetooth scan and identifying the dynamic GATT service identifier; Initiating a GATT connection request to the vehicle end and establishing a communication connection with the vehicle end; Generating a mobile-end temporary key pair, calculating a shared session key, and deriving a dynamic session key; Encrypting the unlocking instruction based on the dynamic session key and sending it to the vehicle end.

7. The vehicle safety unlocking method based on the Bluetooth GATT protocol according to claim 6, characterized in that, The generating of the mobile-end temporary key pair, calculating the shared session key, and deriving the dynamic session key includes: Generating a mobile-end temporary key pair and sending the mobile-end temporary public key to the vehicle end; Receiving the vehicle-end temporary public key sent by the vehicle end, calculating and generating a shared key based on the mobile-end temporary private key and the vehicle-end temporary public key, and deriving a dynamic session key.

8. The vehicle safety unlocking method based on the Bluetooth GATT protocol according to claim 6, characterized in that, The generating of the mobile-end temporary key pair includes: Using the elliptic curve cryptography algorithm to generate a mobile-end temporary key pair including a temporary public key and a temporary private key; Wherein, the elliptic curve parameters are generated according to a prime number and an integer, the prime number is generated from the user's mobile phone number, and the integer is generated from the vehicle license plate number.

9. The vehicle safety unlocking method based on the Bluetooth GATT protocol according to claim 6, wherein It also includes: Receiving and decrypting the unlocking status data sent by the vehicle end; Displaying and outputting the unlocking status.

10. An electronic device, characterized in that, Comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, characterized in that when the electronic device is a vehicle terminal, the processor, when executing the computer program, implements the steps of the method according to any one of claims 1 to 5; When the electronic device is a mobile terminal, the processor, when executing the computer program, implements the steps of the method according to any one of claims 7 to 9.