TIRE PRESSURE MONITORING SYSTEM COMMUNICATION METHOD AND SYSTEM

A method to facilitate secure communication between a first tire pressure monitoring system (TPMS) and a vehicle is disclosed. The method may include obtaining a trigger signal to auto-locate the first TPMS from a plurality of TPMSs. The method may further include obtaining learning mode advertisements from each TPMS responsive to obtaining the trigger signal. The learning mode advertisements may include a random value and a test value associated with each TPMS. The test value may be an encrypted value generated using TPMS keys. The method may further include calculating a vehicle test value using the random value and a vehicle pre-shared key, and comparing the test value with the vehicle test value. The method may further include auto-locating the first TPMS based on the comparison. The method may include receiving vehicle tire condition data from the first TPMS responsive to auto-locating the first TPMS.

FIELD

The present disclosure relates to a vehicle having a tire pressure monitoring system (TPMS), and more particularly, to a system and method to facilitate secure communication between the vehicle and the TPMS.

BACKGROUND

Conventional vehicles use pneumatic tires that support air pressure. Vehicle operators regularly monitor tire condition and re-fill the air in the tires to ensure efficient vehicle operation. Most modern vehicles have in-built tire-pressure monitoring systems (TPMSs) to assist the operators in monitoring the tire condition. Specifically, a TPMS uses tire/wheel sensors to measure air pressure in the tires. The TPMS outputs an alert to the vehicle operator when the air pressure may be low or there may be an air leakage in the tires.

Typically, the TPMS communicate with the vehicle using Ultra-high frequency (UHF) broadcasts that may include tire condition data and static sensor identity. There may be instances where more than one vehicle, which may be within the range of the TPMS, may receive such broadcasts. Typically, such broadcast messages are not secured, and hence the data included in the broadcast messages could potentially be spoofed by malicious users to create a fake flat tire alert or cause an adverse condition by hiding that a tire may be underinflated. In addition, the broadcast messages may contain static identifiers associated with the TMPS, which could potentially be used by malicious users to wirelessly track a vehicle throughout its drive as the broadcast messages are not secured.

Thus, there exists a need for a system and method to facilitate secure communication between the TPMS and the vehicle.

DETAILED DESCRIPTION

Overview

The present disclosure describes a system and method to facilitate secure communication between a vehicle and a tire pressure monitoring system (TPMS) associated with the vehicle. The TPMS may be a one-way TPMS that may be configured to broadcast tire information to the vehicle (and one or more nearby vehicles and may not receive signal/information from the vehicle). Stated another way, the one-way TPMS is capable to perform unidirectional broadcast communication. In an exemplary aspect, the TPMS may communicate with the vehicle by using Bluetooth Low Energy (BLE) protocol.

In some aspects, the TPMS may broadcast learning mode advertisements for a predetermined duration (e.g., in a TPMS learning mode/state), before transmitting tire information in a TPMS normal operating state. The learning mode advertisements may enable the vehicle to auto-locate the TPMS, so that the vehicle may obtain the tire information from the TPMS, and not from any other TPMS (that may not be associated with the vehicle).

In some aspects, the vehicle receives the broadcast learning mode advertisements from the TPMS and other TPMSs. Responsive to receiving the learning mode advertisements broadcast from the TPMSs, the vehicle may determine the TPMSs that may most likely be attached to the vehicle. For example, the vehicle may perform the determination of the TPMSs most likely to be attached to the vehicle by analyzing Received Signal Strength Indicator (RSSI) over time, tracking number of advertisements from each TPMS, correlating received wheel spin timestamps with data from vehicle's anti-lock braking systems (ABS) controllers, Angle of Arrival (AoA), Time of flight (ToF), TPMS status, rotation data, historical temperature and pressure values broadcast by the TPMS, and/or the like.

In some aspects, the vehicle may use content of the learning mode advertisements of the TPMSs determined as most likely to be attached to the vehicle and derive unique keys for each such TPMS to auto-locate the TMPS, as described below. The vehicle may discard content of the learning mode advertisements of non-attached TPMSs.

The learning mode advertisements may include a random value and a test value (along with other information). The test value may be an encrypted value that may be generated using a TPMS pre-shared key. The vehicle may auto-locate the TPMS by using the random value obtained from the TPMS and a vehicle pre-shared key. The vehicle pre-shared key may correspond to the TPMS pre-shared key to facilitate secure communication between the vehicle and the TPMS.

In some aspects, the vehicle may calculate a vehicle test value using the random value obtained from the TPMS and the vehicle pre-shared key. Responsive to calculating the vehicle test value, the vehicle may compare the vehicle test value with the test value obtained from the TPMS. The vehicle may auto-locate the TPMS when the vehicle test value matches with the test value. Responsive to the vehicle auto-locating the TPMS, the vehicle may store keys associated with the TPMS (derived using the vehicle test value) that may be used by the vehicle to receive tire information from the TPMS in a secure manner, and may discard content of other TPMSs.

The present disclosure provides system and method for securing communication between the TPMS and the vehicle such that the vehicle may learn the TPMS, and may receive tire information from the TPMS and not from any other TPMS that may not be associated with the vehicle. Since the vehicle learns the TPMS by matching test value obtained from the TPMS and the vehicle test value derived by the vehicle using the vehicle pre-shared key, the vehicle learns and attaches to reliable TPMSs, and may thus obtain accurate tire information. Further, since the vehicle learns and attaches with reliable TPMSs, communication between the TPMSs and the vehicle is secure and provides resistance against vehicle tracking.

These and other advantages of the present disclosure are provided in detail herein.

Illustrative Embodiments

FIG.1depicts an example environment100in which techniques and structures for providing the systems and methods disclosed herein may be implemented. The environment100that may include a vehicle102. The vehicle102may take the form of any passenger or commercial vehicle such as, for example, a car, a work vehicle, a crossover vehicle, a van, a minivan, a taxi, a bus, etc. Further, the vehicle102may be a manually driven vehicle, and/or be configured to operate in a fully autonomous (e.g., driverless) mode and/or partially autonomous mode, and may include any powertrain such as, for example, a gasoline engine, one or more electrically-actuated motor(s), a hybrid system, etc.

The vehicle102may include four tires T1, T2, T3, T4, where T1may be the front left tire, T2may be the front right tire, T3may be the back left tire, and T4may be the back right tire. In some aspects, the tires T1-T4may be pneumatic tires.

In accordance with some aspects, the vehicle102may include one or more sensors mounted in or on, affixed to, embedded in, or otherwise coupled to the tires T1-T4. For instance, the tires T1-T4may include tire pressure management systems1-4(TPMSs1-4) that may include one or more wheel sensors (not shown). The wheel sensors may be configured to detect/monitor tire pressure and/or other characteristics of the tires T1-T4. In some aspects, in addition to having the wheel sensors, each TPMS1-4may include a communication module (for example, an antenna), and a control unit (not shown) that may enable the TPMS1-4to carry out various functions. The details of functions performed by the TPMSs1-4are described below in conjunction withFIGS.2,3A,3B, and4.

In some aspects, the TPMS1-4may be configured to receive inputs/data from the wheel sensors, and broadcast (via the communication module) the data to one or more communication devices that may be within the range of the TPMS1-4. For example, the TPMS1may be configured to broadcast data from the wheel sensor included in the TPMS1to one or more electronic control units included in the vehicle102or other vehicles (not shown) that may in proximity to the vehicle102. In some aspects, the TPMS1may be a one-way TPMS as the TPMS1may enable transmission/broadcast of the data to the communication devices (e.g., broadcast tire information, alert, and/or any other information associated with the tires T1-T4), but may not receive data from the communication devices. For example, the TPMS1may not receive feedback, pairing information, activation signal, etc. from the electronic control units included in the vehicle102.

The TPMS1may be further configured to transmit/broadcast learning advertisements for a predetermined duration and may activate normal operating state and transmit tire information to the electronic control units included in the vehicle102(or any other vehicle). The electronic control units included in the vehicle102may receive/obtain the learning advertisements from the TPMS1(along with learning advertisements received from other TPMSs included in the vehicle102and vehicles that may be in proximity to the vehicle102), and may auto-locate the TPMS1using the learning advertisements. Auto-locating the TPMS1may facilitate the electronic control units included in the vehicle102to receive accurate and reliable tire information from the TPMS1, as described in detail below.

The TPMS1may perform communication with the electronic control units included in the vehicle102via low-frequency signals, high-frequency signals, ultra-high frequency signals, Ultra-Wide Band (UWB) signals, Bluetooth® communication protocol, Bluetooth® Low Energy (BLE) protocol, Wi-Fi communication protocol, etc. In a preferred aspect, the TPMS1may perform communication with the electronic control units included in the vehicle102by using the BLE protocol.

In some aspects, the vehicle102may include a diagnostic tool103, a Vehicle Control Unit (VCU)104that may include a plurality of electronic control units (ECUs)106(same as the electronic control units described above), and a Vehicle Perception System (VPS)108having connectivity with and/or control of one or more vehicle sensory system(s)110.

The diagnostic tool103may communicatively couple with the TPMSs1-4via a wireless protocol (including low frequency (LF)). The diagnostic tool103may be configured to activate a manual learn mode on the TPMSs1-4.

The ECUs106may communicatively couple with the TPMSs1-4, as described above. In some aspects, the ECUs106may include one or more modules/units, such as, a Body Control Module (BCM)112, an Engine Control Module (ECM)114, a Transmission Control Module (TCM)116, a Telematics Control Unit (TCU)118, a Driver Assistances Technologies (DAT) controller120, and the like. In some aspects, the ECUs106may control one or more vehicle operations using these units and by receiving inputs from human drivers, an autonomous vehicle controller, the TPMSs1-4, and/or via wireless signal inputs received via wireless connection from other connected devices, such as a mobile device122(having a user interface) associated with a vehicle operator124, among others.

In one or more aspects, the BCM112may include integration of one or more vehicle sensors, vehicle performance indicators, and variable reactors associated with vehicle systems. In addition, the BCM112may include processor-based power distribution circuitry that can control functions associated with the vehicle102body, such as the tires T1-T4, lights, windows, security, door locks, access control, and various comfort controls. The BCM112may also operate as a gateway for bus and network interfaces to interact with remote ECUs (not shown inFIG.1).

In some aspects, the DAT controller120may provide Level-1through Level-3automated driving and driver assistance functionality that can include, for example, active parking assistance, trailer backup assistance, adaptive cruise control, lane keeping, and/or driver status monitoring, among other features. The DAT controller120can obtain input information via the one or more vehicle sensory system(s)110, which may include sensors disposed on vehicle interior and/or exterior portions. In particular, the DAT controller120may receive information associated with tire conditions from the TPMSs1-4, vehicle occupancy, driver functions, vehicle functions, environmental inputs, and other similar information, from the vehicle sensory system(s)110.

In some aspects, the TCU118may be configured and/or programmed to provide vehicle connectivity to wireless computing systems onboard and off board the vehicle102. The TCU118may include a Navigation (NAV) receiver126for receiving and processing a GPS signal from GPS (not shown inFIG.1), a BLE® Module (BLEM)128, a Wi-Fi transceiver, a UWB transceiver, and/or other wireless transceivers (not shown inFIG.1) that may be configurable for wireless communication between the vehicle102and other systems, computers, and modules (including the TPMSs1-4). The TCU118may be disposed in communication with the ECUs106by way of a bus130.

In some aspects, the vehicle102may include an automotive computer132that may be installed in an engine compartment of the vehicle102(or elsewhere in the vehicle102). The automotive computer132may be disposed in communication with the VCU104, the mobile device122, and one or more server(s)134. In particular, the automotive computer132may share a wired or wireless communication bus with the VCU104, and may be configured and/or programmed to exchange the vehicle data with the VCU104.

In one or more aspects, the automotive computer132may communicate with the server(s)134that may be part of a cloud-based computing infrastructure. In particular, the servers(s)134may be associated with and/or include a Telematics Service Delivery Network (SDN) that provides digital data services to the vehicle102and other vehicles (not shown inFIG.1) that may be part of a vehicle fleet.

In some aspects, the automotive computer132may use wired and/or wireless communication protocols and transceivers to connect with the mobile device122associated with the vehicle operator124, and/or the TPMSs1-4. Specifically, the mobile device122and/or the TPMSs1-4may communicatively couple with the automotive computer132via one or more network(s)136. The network(s)136illustrate an example communication infrastructure in which the connected devices discussed in various embodiments of this disclosure may communicate.

The network(s)136may be and/or include the Internet, a private network, public network or other configuration that operates using any one or more known communication protocols such as, for example, transmission control protocol/Internet protocol (TCP/IP), Bluetooth®, BLE®, Wi-Fi based on the Institute of Electrical and Electronics Engineers (IEEE) standard 802.11, UWB, and cellular technologies such as Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), High Speed Packet Access (HSPDA), Long-Term Evolution (LTE), Global System for Mobile Communications (GSM), and Fifth Generation (5G), to name a few examples.

In some aspects, the automotive computer132may be or include an electronic vehicle controller, having one or more processors138and a memory140. The one or more processors138may be disposed in communication with one or more memory devices disposed in communication with the respective computing systems (e.g., the memory140and/or one or more external databases not shown inFIG.1). The one or more processors138may utilize the memory140to store programs in code and/or to store data for performing aspects in accordance with the disclosure.

The memory140may be a non-transitory computer-readable memory storing a code for monitoring vehicle tire condition. The memory140may include any one or a combination of volatile memory elements (e.g., dynamic random-access memory (DRAM), synchronous dynamic random-access memory (SDRAM), etc.) and can include any one or more nonvolatile memory elements (e.g., erasable programmable read-only memory (EPROM), flash memory, electronically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), etc.

In some aspects, the VCU104may control operational aspects of the vehicle102by using one or more instruction sets stored in the memory140.

In some aspects, the automotive computer132may connect with a vehicle infotainment system142that may provide an interface for the navigation and GPS receiver. The vehicle infotainment system142may include a touchscreen interface portion (e.g., a user interface), and may include voice recognition features, biometric identification capabilities that can identify users based on facial recognition, voice recognition, fingerprint identification, or other biological identification means. In other aspects, the vehicle infotainment system142may provide user identification using mobile device pairing techniques (e.g., connecting with the mobile device122, a Personal Identification Number (PIN)) code, a password, passphrase, or other identifying means. In additional aspects, the vehicle infotainment system142may display messages or notifications on the touchscreen interface, e.g., notifications associated with tire condition of the tires T1-T4.

In some aspects, the vehicle operator124, the TPMSs1-4, and/or the VCU104/ECUs106implement and/or perform operations, as described here in the present disclosure, in accordance with the owner's manual, safety guidelines and applicable regulations and laws. Specifically, the ECUs106and the TPMSs1-4facilitate in providing secure communication between the TPMSs1-4and the vehicle102as described below, in accordance with the owner's manual, safety guidelines and applicable regulations and laws.

FIG.2depicts a flow diagram200to facilitate secure communication between a TPMS (e.g., the TPMS1) and the vehicle102. While describingFIG.2, references may be taken fromFIGS.3A and3B.FIGS.3A and3Bdepict key generation mechanism to facilitate secure communication between the TPMS1and the vehicle102(specifically, the ECUs106), in accordance with the present disclosure.

In some aspects, the flow diagram200illustrates steps performed by each TPMS1-4and the vehicle102(or the ECU106) to facilitate secure communication between the TPMSs1-4and the vehicle102. As described above in conjunction withFIG.1, the TPMS1may be a one-way TPMS that may be configured to broadcast data to the ECU106, and may not be able to receive information from the vehicle102/ECU106(e.g., feedback, pairing information, activation signal, etc.). Thus, the present disclosure provides mechanism to pair the ECU106and the one-way TPMS1, so that the vehicle102may receive accurate and reliable tire information.

In some aspects, the vehicle102and the TPMS1may have respective associated pre-shared keys. For example, the TPMS1may be associated with a pre-shared key K1, which may be provided/associated with the TPMS1during manufacturing. Similarly, the vehicle102may be associated with a pre-shared key K2, which may be provided/associated with the vehicle102during manufacturing or via over-the-air updates so that the vehicle102may be connected with the TPMS1(and the TPMSs2-4). In some aspects, the pre-shared key K1may correspond to the pre-shared key K2so that the vehicle102may receive tire information from the TPMS1accurately (and not from any other TPMS that may not be part of the vehicle102). The pre-shared keys K1and K2may be symmetric keys that may be identical for all TPMSs1-4and vehicle102components. Alternatively, the pre-shared keys K1and K2may be asymmetric key pairs that may be uniquely provisioned to the TPMSs1-4and the vehicle102components. For example, a private key may be provided to the TPMS1, and a public key may be provided to the vehicle modules (e.g., the ECU106) and may be distributed to the vehicle102through a Public Key Infrastructure (PKI) with signed certificates.

At a first step of the flow diagram200, i.e., at step202, the TPMS1may detect start of a new drive cycle or may obtain a learning mode trigger signal (e.g., a command signal to commence a learning mode sent by the vehicle operator124via the mobile device122or the vehicle infotainment system142or a technician to the TPMS1or via the diagnostic tool103as described in conjunction withFIG.1). Responsive to detecting the drive cycle and/or obtaining the learning mode trigger signal, the TPMS1may start a sensor learning mode process or auto-learn period so that the vehicle102may learn the TPMS1. The sensor learning mode process may be understood as follows.

At step204, the TPMS1may generate or obtain random value, derive keys, and calculate test values. In some aspects, the TPMS1may obtain the keys and test values from any device internal or external to the TPMS1. The step204may be understood in detail in conjunction withFIGS.3A and3B, which are described below.

Responsive to detecting the drive cycle and/or obtaining the learning mode trigger signal, the TPMS1may generate or obtain the random number302(or random value302). In some aspects, the TPMS1may generate the random number302by using a Random number generator (RNG) that may be located in the TPMS1or may use static value set loaded to the TPMS1during manufacturing.

The TPMS1may then combine or concatenate the random number302with an additional data304. In some aspects, the additional data304may be associated with tire information (e.g., the tire T1). The TPMS1may further transmit the combined random number302and additional data304to a Key Derivation Function (KDF)306that may be located in the TPMS1. In some aspects, the KDF306may be a Hashed message authentication code (HMAC)-based KDF. The KDF306may receive the combined random number302and the additional data304, and may generate an arbitrary count/number of output bytes (shown as output308inFIG.3A), using the pre-shared key K1associated with the TPMS1. Stated another way, the KDF306may be configured to output the arbitrary number of output bytes based on the random number302, the additional data304, and the pre-shared key K1.

In some aspects, one portion of the output bytes (or the output308) may be used as a message integrity key310to protect TPMS1data (e.g., tire pressure/condition data), and another portion may be used as a Bluetooth Identity Resolution Key (IRK)312to generate and resolve Resolvable Private Address (RPA) associated with the TPMS1(e.g., the RPA that the TPMS1may transmit to the ECU106, as described later in the description below). In some aspects, the TPMS1may generate the RPA periodically, e.g., when a new drive cycle starts. A person ordinarily skilled in the art may appreciate that the RPA is a resolvable address that may be resolved by using a key shared with a trusted device. Specifically, the TPMS1may transmit the RPA along with the tire data, which may be resolved by the vehicle102(e.g., the ECU106) by using the pre-shared key K2, thereby maintaining secure communication and mitigating vehicle tracking concerns between the TPMS1and the vehicle102, to protect privacy.

In further aspects, the TPMS1may use the message integrity key310and the Bluetooth IRK312to generate the test value314, as shown inFIG.3B. The test value314may be an encrypted value that may be generated using TPMSs keys (e.g., the message integrity key310and the Bluetooth IRK312). The test value314may enable the vehicle102to confirm if the TPMS1is an authentic TPMS to receive accurate information associated with vehicle tires (e.g., the tire T1).

Specifically, the TPMS1may calculate the test value314by hashing both the message integrity key310and the Bluetooth IRK312. For example, the TPMS1may input the message integrity key310to a first hash function316that may generate a hashed message integrity key318(or an MIK hash318). Similarly, the TPMS1may input the Bluetooth IRK312in a second hash function320that may generate a hashed Bluetooth IRK322(or an IRK hash). The first hash function316may be same as the second hash function320. In some aspects, the first hash function316and the second hash function320may include a Secure Hash Algorithm 256-bit (SHA-256), Miyaguchi-Preneel, and/or the like.

The TPMS1may then combine the hashed message integrity key318and hashed Bluetooth IRK322. For example, the TPMS1may combine the hashed message integrity key318and hashed Bluetooth IRK322by XORing the hashed message integrity key318and the hashed Bluetooth IRK322. Specifically, the TPMS1may input the hashed message integrity key318and hashed Bluetooth IRK322in a XOR logic324, and then truncate output (e.g., reduce output size) of the XOR logic324by using a truncation function326to generate the test value314. In some aspects, the test value314may be a truncated value that may fit within predetermined bytes of payload space available within advertisements (e.g., 31 bytes of payload space within BLE advertisements) that the TPMS1may broadcast to the ECU106, as described below.

Responsive to generating the test value314and the keys (e.g., the message integrity key310and the Bluetooth IRK312), the TPMS1may activate learning mode broadcast at step206, as shown inFIG.2. Responsive to activating the learning mode broadcast, the TPMS1may broadcast learning mode advertisements, as shown in step208. In an exemplary aspect, in the learning mode advertisements, the TPMS1may broadcast the test value314, the random number302, along with tire information/data (e.g., timestamps for wheel spin data) and the RPA, which may be received by the vehicle102(specifically, the ECU106) to auto-locate the TPMS1. A person ordinarily skilled in the art may appreciate from the description above that the TPMS1broadcasts the test value314that may be derived from the message integrity key310and the Bluetooth IRK312(e.g., by hashing the message integrity key310and the Bluetooth IRK312), and does not broadcast the message integrity key310and the Bluetooth IRK312directly, to maintain secure communication between the TPMS1and the vehicle102(e.g., to protect privacy).

The TPMS1may continue to broadcast the learning mode advertisements for a predetermined time duration. For example, the TPMS1may broadcast the learning mode advertisements from a few seconds (e.g., 10-15 seconds) to a few minutes (e.g., 2-4 minutes). The TPMS1may end sensor learning mode process and may stop broadcasting the learning mode advertisements (as shown in step210) when the predetermined time duration lapses. Responsive to stopping the broadcast of the learning mode advertisements, the TPMS1may activate TPMS normal operating state at step212. Responsive to activating the TPMS normal operating state, the TPMS1may transmit TPMS advertisements at step214. Specifically, in the TPMS normal operating state, the TPMS1may transmit new RPA, tire or TPMS data (e.g., tire pressure data) that may be protected with Message Authentication Codes (MACs) generated by using the message integrity key310. The new RPA may be resolved using the Bluetooth IRK312, as described above. The TPMS1may then change the RPA (for example, when a new drive cycle starts), as shown in step216.

Similar to the TPMS1, the vehicle102(e.g., the ECU106) may also detect start of a new drive cycle or obtain a learning mode trigger (e.g., vehicle operator124initiated manual sensor scan from the vehicle infotainment system142) to learn/auto-locate the TPMS1, at step218. Hereinafter, the steps performed by the ECU106are referred to as steps performed by the vehicle102.

In some aspects, the step218may be performed in parallel with the step202, as shown inFIG.2. When the vehicle102detects the new drive cycle or obtains the learning mode trigger signal, the vehicle102may enter a learning mode (e.g., TPMS learning mode). In the learning mode, the vehicle102may “listen” for new TPMS sensors or TPMSs (including the TPMS1) that may in proximity to the vehicle102for a predetermined time duration, and may initiate auto-locate process of the TPMS1, as shown in step220. Specifically, the vehicle102may receive the learning mode advertisements broadcast from the new TPMSs for the predetermined time duration (e.g., from a few seconds to a few minutes, as described above). The learning mode advertisements may include RPA, tire data, random value, and test value broadcast from the new TPMSs (e.g., “unlearned” sensors/TPMSs for the vehicle102). For example, the vehicle102may receive the test value314, the random number302, along with tire information (e.g., timestamps for wheel spin data) and RPA from the TPMS1in the learning mode advertisements.

Responsive to receiving the learning mode advertisements broadcast from the new TPMSs, the vehicle102may track random number and test value associated with each unlearned TPMS, as shown in step222. For example, when the vehicle102receives learning mode advertisements from four TPMSs, the vehicle102may obtain four sets of random numbers and test values in the broadcasted learning mode advertisements. In some aspects, the vehicle102may store the learning mode advertisements (e.g., the tracked random numbers/test values) in the memory140.

In further aspects, responsive to receiving the learning mode advertisements broadcast from the new TPMSs, the vehicle102may determine the TPMSs that may most likely be attached to the vehicle102, based on the received learning mode advertisements. For example, the vehicle102may perform the determination of the TPMSs most likely to be attached to the vehicle102by analyzing Received Signal Strength Indicator (RSSI) over time, tracking number of advertisements from each TPMS, correlating received wheel spin timestamps with data from vehicle's anti-lock braking systems (ABS) controllers, Angle of Arrival (AoA), Time of flight (ToF), TPMS status, rotation data, historical temperature and pressure values broadcast by the TPMS, and/or the like.

When the predetermined time duration lapses, the vehicle102may use content of the learning mode advertisements of the TPMSs determined as most likely to be attached to the vehicle102and derive unique keys for each such TPMS (hereinafter referred to as “attached TPMSs”). Specifically, the vehicle102may use RPAs and tire data of the attached TPMSs, and discard random values and test values of non-attached TPMSs, as shown in step224.

At step226, the vehicle102may derive keys for each attached TPMS and locate the TPMS1(i.e., authenticate the TPMS1). In the present disclosure “auto-locate a TPMS” and “authenticate a TPMS” have same meaning, and these terms are interchangeably used. Specifically, the vehicle102may use the pre-shared key K2, the random numbers and the test values shared by the attached TPMSs, and the KDF (similar to the KDF306) to derive unique vehicle message integrity key, vehicle Bluetooth IRK, and vehicle test value for each attached TPMS. The vehicle102may derive the vehicle message integrity key, the vehicle Bluetooth IRK, and vehicle test value in the same manner as described above for the TPMS1. For example, the vehicle102may derive the vehicle message integrity key and the vehicle Bluetooth IRK by using the pre-shared key K2, the random number, and the KDF. Further, the vehicle102may derive the vehicle test value using the vehicle message integrity key and the vehicle Bluetooth IRK.

Responsive to deriving the vehicle test value, the vehicle102may compare the vehicle test value with the test value associated with each attached TPMS. Based on the comparison, the vehicle102may identify/auto-locate the TPMS1(i.e., authenticate and validate the TPMS1). For example, the vehicle102may locate the TPMS1when the vehicle test value matches with the test value314.

When the vehicle102identifies the TPMS1, the vehicle102may end learning mode as shown in step228. At this step, the vehicle102may “learn” the TPMS1and may store the derived keys associated with the TPMS1in the memory140. Specifically, the vehicle102may store the vehicle message integrity key and the vehicle Bluetooth IRK, which corresponds to the test value314, in the memory140. In some aspects, the vehicle102may “unlearn” other attached TPMSs and may discard derived keys (and other information) associated with the attached and unlearned TPMSs (e.g., due to derivation errors or sensor being spoofed by some other Bluetooth device that does not have the pre-shared key K1), when the derived vehicle test value may not match with test values obtained from such attached and unlearned TPMSs.

At step230, the vehicle102may listen for TPMS advertisements that may be transmitted by the TPMS1(i.e., attached and learned TPMS), e.g., after exiting learning mode. As discussed above, the TPMS1may transmit the TPMS advertisements (containing the tire data, new RPA, and MAC) in normal TPMS operation. The vehicle102may use the derived keys (such as the vehicle message integrity key and the vehicle Bluetooth IRK associated with the TPMS1) to resolve the new RPA (or changing RPAs) and verify the integrity of any received data from the TPMS1. For example, the vehicle102may use the vehicle integrity key (associated with the TPMS1) to verify the MAC in the TPMS advertisements. Since the vehicle102may only attempt to perform these learning actions with TPMSs found most likely to be attached to the vehicle102, and the pre-shared secret keys may be required to derive the correct values, the vehicle102may have assurance that the vehicle102may be receiving data from authentic TPMSs.

The TPMS1and vehicle102may store and use the learned keys indefinitely, or the learned keys may be replaced with new keys at the start of each drive cycle or manual learn event to increase vehicle and TPMS communication security.

FIG.4depicts a flow diagram of an example method400for one-way TPMS learning by a TPMS (e.g., the TPMS1), in accordance with the present disclosure.FIG.4may be described with continued reference to prior figures. The following process is exemplary and not confined to the steps described hereafter. Moreover, alternative embodiments may include more or less steps that are shown or described herein and may include these steps in a different order than the order described in the following example embodiments.

Referring toFIG.4, at step402, the method400may commence. At step404, the method400may include detecting, by the TPMS1, start of new drive cycle or obtaining manual learn trigger (or learning trigger signal) to enable the vehicle102to auto-locate the TPMS1. At step406, the method400may include generating/obtaining the random number302, deriving keys (e.g., the message integrity key310and the Bluetooth IRK312) using the pre-shared key K1, and calculating the test value314, responsive to starting the new drive cycle or obtaining learning trigger signal. As discussed above in conjunction withFIGS.2,3A and3B, the TPMS1may derive the message integrity key310and the Bluetooth IRK312by using the random number and the pre-shared key K1associated with the TPMS1. Further, the TPMS1may derive or generate the test value314by using the message integrity key310and the Bluetooth IRK312. For example, the TPMS1may derive the test value314by hashing the message integrity key310and the Bluetooth IRK312, and concatenating hashed keys (hashed message integrity key and hashed Bluetooth IRK).

At step408, the method400may include broadcasting, by the TPMS1, the learning mode advertisements to vehicles (including the vehicle102) in proximity to the TPMS1. The learning mode advertisements may include the random number302and the test value314. In some aspects, the learning mode advertisements may include tire data (or TPMS data) and RPA, as described above. The TPMS1may broadcast the learning mode advertisements for a predetermined time duration.

At step410, the method400may include determining, by the TPMS1, whether learning mode timeout has exceeded or whether the predetermined duration is over. Responsive to a determination that the learning mode timeout may not have exceeded (i.e., the predetermined duration may not be over), the method400may move back to step408, and the TPMS1may continue to broadcast the learning mode advertisements. On the other hand, responsive to a determination that the learning mode timeout may have exceeded, the method400may move to step412, at which the method400ends, and the TPMS1may stop broadcasting the learning mode advertisements.

FIG.5depicts a flow diagram of an example method500for one-way TPMS learning by a vehicle (e.g., by the vehicle102or the ECU106), in accordance with the present disclosure.FIG.5may be described with continued reference to prior figures. The following process is exemplary and not confined to the steps described hereafter. Moreover, alternative embodiments may include more or less steps that are shown or described herein and may include these steps in a different order than the order described in the following example embodiments.

Referring toFIG.5, at step502, the method500may commence. At step504, the method500may include detecting, by the vehicle102, start of a new drive cycle or obtaining a manual learn trigger (or learning mode trigger).

At step506, the method500may include listening, by the vehicle102, broadcast from nearby TPMS sensors or TPMSs (including the TPMS1). For example, when the vehicle102detects the new drive cycle or obtains the learning mode trigger signal, the vehicle102may listen for new TPMSs (e.g., unlearned TPMSs, including the TPMS1) for a predetermined time duration, and may initiate auto-locate process of the TPMS1. Specifically, the vehicle102may receive the learning mode advertisements (including test values, random numbers, along with tire information and RPAs) from the new TPMSs. The vehicle102(e.g., the ECU106) may store and track the random number and the test value associated with each unlearned TPMS.

At step508, the method500may include determining, by the vehicle102, TPMSs that may most likely be attached to the vehicle102. The details of such determination are already described above in conjunction withFIG.2. At step510, the method500may include determining, by the vehicle102, whether the predetermined time duration is over or whether scanning for attached TPMSs is complete. Responsive to a determination that the predetermined time duration may not be over or scanning for attached TPMS may not yet be completed, the method500may move back to the step506, and the vehicle102may continue listening broadcast from nearby TPMSs. On the other hand, responsive to a determination that the predetermined time duration may be over or scanning for attached TPMSs may be complete, the method500may move to step512.

At step512, the method500may include using, by the vehicle102, the pre-shared key K2associated with the vehicle102and the learning mode advertisements received from all attached TPMSs to derive TPMS keys and test values. Specifically, the vehicle102may use the pre-shared key K2, the random numbers, and the test values (shared by the attached TPMSs), and the KDF to derive/calculate unique vehicle message integrity key, vehicle Bluetooth IRK, and vehicle test value for each attached TPMS, as described above in conjunction withFIG.2.

At step514, the method500may include determining, by the vehicle102, whether the calculated vehicle test value matches with received data (i.e., the test value associated with an attached TPMS). Responsive to a determination that the calculated vehicle test value does not match with the test value, the method500may not learn the TPMS, discard the advertisements received from the attached TPMS, and move to step518at which the method500ends. On the other hand, responsive to a determination that the calculated vehicle test value matches with the test value (for example test value314), the method500may move to step516. At step516, the method500may include saving, by the vehicle102, derived keys for the TPMS1and complete learning of the TPMS1, as described above. The method500ends at step518.