Patent Publication Number: US-11381970-B2

Title: System and method for authenticating a connection between a user device and a vehicle using physical layer features

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of International Patent Application No. PCT/CN2020/084994 filed on Apr. 15, 2020, which claims priority to International Patent Application No. PCT/CN2019/082911 filed on Apr. 16, 2019. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties. 
    
    
     TECHNICAL FIELD 
     This disclosure relates to a system and method for authenticating connection between a user device and a vehicle. In particular, the disclosure utilizes the physical layer features of the channel between the user device and the vehicle to authenticate the connection between the user device and the vehicle. 
     BACKGROUND 
     Due to a convergence of technologies, an ever increasing number of devices are now able to seamlessly communicate wirelessly with the Internet or wirelessly exchange communications between themselves. As a result of this convergence, keyless entry systems (KES) for vehicles/automobiles are becoming more and more popular due to their ease of use, e.g. the physical car key may no longer be required and a mobile device may be configured to perform the function of the physical car key. This also allows multiple users to be authorized by the car&#39;s owner to use his/her car. These systems typically utilize a digital key that is loaded into or stored within the user&#39;s personal device e.g. a mobile phone, whereby this digital key is provided to the user by a trusted entity. This is usually done when the vehicle is delivered to the use and typically, BLUETOOTH Low Energy (BLE) technology will be used to allow the car and the user&#39;s device to communicate with each other. Such architecture is illustrated by system  100  in  FIG. 1  whereby vehicle  105  is in wireless communication with users  102 ,  104 ,  106  and the digital key to gain access to vehicle  105  has been provided to these users. 
     Existing KES are vulnerable to cybersecurity attacks such as relay attacks. Some of the existing solutions use distance estimation methods to calculate the distance between the mobile device and the car (vehicle module) using the transmitted/received signal&#39;s features. In such solutions, the car will only accept commands from the device if the device is found to be within range of the car. 
     The existing KES solutions facilitate the unlocking and starting of the car when the physical key is in the pockets of the users. The digital key approach exemplifies another KES solution whereby the user&#39;s personal device e.g., mobile phone, will be loaded with an authorized ‘digital key’, and through the use of BLUETOOTH technology, the phone would then be able to unlock and start the car through this wireless communication technology. In both the scenarios described above, the physical key or the phone will transmit commands to the car when it is within range of the car. In order to detect whether the key or phone is within proximity of the car, existing solutions will then measure the wireless signal strength between the car and the key/phone. In other words, if a strong signal is measured this indicates that the communicating devices (car and key/user&#39;s device) are near to each other (in range). Thus, the car will then be configured to accept the commands sent by nearby user devices/key whose signal strength are above a certain threshold. 
     Many existing KES solutions suffer from active attacks such as replay and relay attacks. In relay attacks, an attacker will relay the command messages between the car and key/user&#39;s device even if they are far away or outside the range of the car or key/user device. When a key or user&#39;s device is under attack, the attacker&#39;s device will communicate with the real key/user&#39;s device and the attacker will impersonate the car, meaning, the attacker&#39;s device will spoof the commands/messages sent by the car for finding the key in its range. When the real key/user&#39;s device receives to this spoofed message that is sent by attacker&#39;s device, the real key/user&#39;s device will respond to the message as it would assume that the message is from the user&#39;s legitimate/own car. The attacker then captures/records the signal transmitted from the actual key/user&#39;s device, and proceeds to amplifies and transmits this relayed signal to the car. Upon receiving the messages sent by the attacker&#39;s device, the car will mistakenly interpret these commands as commands sent by the original key/user&#39;s device. Thus, the attacker can easily unlock and steal the car. Similarly, the attacker can also record and replay the messages between car and key/user&#39;s device to unlock and steal the car. These are some of the more serious threats faced by KES, and thus, it is important to ensure that wireless communications between the device and the car are highly secure. 
     For the above reasons, those skilled in the art are constantly striving to come up with a system and method for authenticating data transmission between a vehicle and the vehicle owner&#39;s mobile device with the objective of establishing a secure communications channel. 
     SUMMARY 
     The above and other problems are solved and an advance in the art is made by systems and methods provided by embodiments in accordance with the disclosure. 
     A first advantage of embodiments of systems and methods in accordance with the disclosure is that the system provides robust mutual authentication between a user&#39;s vehicle and the user&#39;s personal device, when the user is approaching the car, and also when the user is already near the car. 
     A second advantage of embodiments of systems and methods in accordance with the disclosure is that the system is able to detect and mitigate active attacks and man-in-the-middle type attacks during the authentication process thereby preventing vehicle theft from occurring and preventing the compromise of the vehicle&#39;s critical components. 
     A third advantage of embodiments of systems and methods in accordance with the disclosure is that the system can be easily integrated into any device or module that is BLE enabled. 
     The above advantages are provided by embodiments of a system in accordance with the disclosure operating in the following manner. 
     According to a first aspect of the disclosure, a method for authenticating, applied to a user device, user device and a vehicle module established a connection channel through a wireless mode, the method comprises receiving a first wireless signal through the connection channel from the vehicle module, acquiring a first signal strength sequence, the first signal strength sequence are generated by N continuous signal strength characteristics PF UDev  of the first wireless signal, communicating the first signal strength sequence to the vehicle module, wherein the first signal strength sequence and a second signal strength sequence are used for authenticating the connection between the user device and the vehicle module, the second signal strength sequence are generated by N continuous signal strength characteristics PF Veh  of a second wireless signal, the second wireless signal is received by the vehicle module from the user device through the connection channel. 
     With reference to the first aspect of the disclosure, the first signal strength sequence instruction comprises the N continuous signal strength characteristics PF UDev . 
     With reference to the first aspect of the disclosure, the first signal strength sequence comprises a user string SUDev and a correction data C, and the method further comprises filtering the N continuous signal strength characteristics PF UDev  the set of physical layer features PF UDev  by a low pass filter, generating the user string S UDev  and the correction data C by providing the filtered N continuous signal strength characteristics PF UDev  set of physical layer features PF UDev  to a generate (gen) function of the fuzzy extractor mechanism. 
     With reference to the first aspect of the disclosure, filtering the N continuous signal strength characteristics PF UDev  set of physical layer features PF UDev  by a low pass filter comprises removing noise component from the N continuous signal strength characteristics PF UDev  set of physical layer features PF UDev , and generating the user string S UDev  and the correction data C comprises processing the filtered N continuous signal strength characteristics PF UDev  set of physical layer features PFUDev in a window by m-ary quantization, wherein number of the filtered N continuous signal strength characteristics PF UDev  set of physical layer features PF UDev  in the window is denoted as W, number of quantization levels is denoted as m, a guard band is inserted between two consecutive quantization levels, the filtered N continuous signal strength characteristics PF UDev  set of physical layer features PF UDev  in the guard band are discarded, the filtered N continuous signal strength characteristics PF UDev  set of physical layer features PF UDev  out of the guard band are encoded according to respective quantization levels, the ratio of guard band to data is denoted as α, the m and the α are used for determining the size of quantization interval and guard band. 
     With reference to the first aspect of the disclosure, the m and the α are used for determining the size of quantization interval and guard band comprises: 
                   ∫       l   i     -   1         l   i     -     g   i         ⁢     f   ⁢     s   ˜     ⁢   d   ⁢     s   ˜         =       1   -   α     m       ,         ∫       l   i     -     g   i         l   i       ⁢     f   ⁢     s   ˜     ⁢   d   ⁢     s   ˜         =     α     m   -   1         ,         
where the size of quantization interval is denoted as ∫ l     i     -1   l     i     -g     i   f{tilde over (s)}d{tilde over (s)}, the guard band is denoted as ∫ l     i     -1   l     i   f{tilde over (s)}d{tilde over (s)}.
 
     With reference to the first aspect of the disclosure, the correction data C comprises number of the N continuous signal strength characteristics PF UDev  set of physical layer features PF UDev  in the window W, number of quantization levels m, the ratio of guard band to data α, and list of discarded the filtered the N continuous signal strength characteristics PF UDev  set of physical layer features PF UDev , L UDVE . 
     With reference to the first aspect of the disclosure, the first wireless signal is a first BLE beacon&#39;s channel information. 
     With reference to the first aspect of the disclosure, before the user device acquired the first signal strength sequence, the method further comprises communicating an initiation instruction to the vehicle module, the initiation instruction is used for authenticating the user device. 
     With reference to the first aspect of the disclosure, the initiation instruction comprises a message authentication code (MAC) M Ini , the M Ini  instruct that the initiation instruction authenticated based on a BLUETOOTH user device (BUD) key (K BTUDev ), wherein the K BTUDev  is shared between the user device and the vehicle module, or the initiation instruction comprises a sign (S), the sign instruct that the initiation instruction authenticated based on a public-key infrastructure (PKI)-private key associated with the user device (Key Priv_UDev ), wherein the Key Priv_UDev  is shared between the user device and the vehicle module. 
     With reference to the first aspect of the disclosure, before receiving the first wireless signal through the connection channel from the vehicle module, the method further comprises establishing a BLUETOOTH pairing between the user device and the vehicle module using a BLUETOOTH connection key (Key BTCon ) when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the Key BTCon  is shared between the user device and the vehicle module. 
     With reference to the first aspect of the disclosure, before the user device acquired the first signal strength sequence, the method further comprises communicating a first initiation instruction to the vehicle module, the first initiation instruction is generated based on an identity of the user device IDUDev, the first initiation instruction&#39; command identifier, and the first initiation instruction&#39; MAC MIni, wherein the MAC MIni is generated based on the identity of the user device IDUDev, the initiation command and K BTUDev  that is shared between the user device and the vehicle module, receiving a first acknowledgement instruction, the first acknowledgement instruction is generated based on an encrypted a first acknowledgement message and the first acknowledgement message MAC MAck, wherein the first acknowledgement message comprises a nonce n, a random string r, and the first acknowledgement instruction&#39;s command identifier and the first acknowledgement message is encrypted using the corresponding K BTUDev , and the MAC MAck is generated based on the first acknowledgement message and the corresponding K BTUDev . 
     With reference to the first aspect of the disclosure, communicating the first signal strength sequence to the vehicle module comprises communicating a second instruction and a third instruction to the vehicle module, the second instruction is generated based on an encrypted the second instruction and the second instruction MAC MVer, wherein the second instruction comprising the nonce n, the correction data C, and the second instruction&#39;s command identifier is encrypted using the K BTUDev , and the second instruction MAC MVer is generated based on the second instruction and the K BTUDev , the third instruction is generated based on an encrypted the third instruction and the third instruction MAC MAuth_Chk, the third instruction comprising the nonce n, an XOR operation between the random string r and the user string S UDev , and the third instruction&#39;s command identifier is encrypted using the K BTUDev , and the third instruction MAC MAuth_Chk is generated based on the third instruction and the K BTUDev . 
     With reference to the first aspect of the disclosure, the method further comprises receiving a second message from the vehicle module, the second message is generated based on an encrypted second message and the second message MAC MApprv, wherein the encrypted second message is generated based on encrypting the second message by the corresponding K BTUDev , the second message comprises the nonce n, and the second message&#39;s command identifier, and the second message MAC MApprv is generated based on the second message and the corresponding K BTUDev , or receiving a third message from the vehicle module, the third message is generated based on an encrypted third message and the third message MAC MApprv, wherein the encrypted third message is generated based on encrypting the third message by the corresponding K BTUDev , the third message comprises the nonce n, and the third message&#39;s command identifier, and the third message MAC MApprv is generated based on the third message and the corresponding K BTUDev . 
     With reference to the first aspect of the disclosure, the user device and a vehicle module established a connection channel through a wireless mode comprises communicating a second initiation instruction to the vehicle module, the second initiation instruction comprises an encrypted forth message and a signed fifth message, wherein the encrypted forth message is generated based on encrypting the forth message by a PKI-public key associated with a vehicle module (Key Pub_Veh ), the forth message comprises an identity of the user device IDUDev and the second initiation instruction&#39;s command identifier, the signed fifth message is generated based on signing the fifth message by a Key Priv_UDev , the fifth message is generated based on hashing the encrypted forth message by a K BTUDev , receiving a second acknowledgement instruction, the second acknowledgement instruction comprises an encrypted sixth message and a signed seventh message, wherein the encrypted sixth message is generated based on encrypting the sixth message by the K BTUDev , the sixth message comprises a nonce n, a random string r, and the second initiation instruction&#39;s command identifier, the signed seventh message is generated based on signing the seventh message by the Key Pub_Veh , the seventh message is generated based on hashing the encrypted sixth message by the K BTUDev . 
     With reference to the first aspect of the disclosure, communicating the first signal strength sequence to the vehicle module comprises communicating a forth instruction and a fifth instruction to the vehicle module, the forth instruction comprises an encrypted eighth message and a signed first message, wherein the encrypted eighth message is generated based on encrypting the eighth message by the K BTUDev , the eighth message comprises the nonce n, the correction data C, and the forth instruction&#39;s command identifier, the signed first message is generated based on signing the first message by a Key Priv_UDev , the first message is generated based on hashing the encrypted eighth message by the K BTUDev , the fifth instruction comprises an encrypted tenth message and a signed eleventh message, wherein the encrypted tenth message is generated based on encrypting the tenth message by the K BTUDev , the tenth message comprises the nonce n, an XOR operation between the random string r and the user string S UDev , and the fifth instruction&#39;s command identifier, the signed eleventh message is generated based on signing the eleventh message by a Key Priv_UDev , the eleventh message is generated based on hashing the encrypted tenth message by the K BTUDev . 
     With reference to the first aspect of the disclosure, the method further comprises receiving a twentieth message from the vehicle module, the twentieth message comprises an encrypted thirteenth message and a signed fourteenth message, wherein the encrypted thirteenth message is generated based on encrypting the thirteenth message by the K BTUDev , the thirteenth message comprises the nonce n and the thirteenth message&#39;s command identifier, the signed fourteenth message is generated based on signing the fourteenth message by the Key Priv_UDev , the fourteenth message is generated based on hashing the encrypted thirteenth message by the K BTUDev , or receiving a fifteenth message from the vehicle module, the fifteenth message comprises an encrypted sixteenth message and a signed seventeenth message, wherein the encrypted sixteenth message is generated based on encrypting the sixteenth message by the K BTUDev , the sixteenth message comprises the nonce n, and the sixteenth message&#39;s command identifier, the signed seventeenth message is generated based on signing the seventeenth message by the Key Priv_UDev , the seventeenth message is generated based on hashing the encrypted sixteenth message by the K BTUDev . 
     According to a second aspect of the disclosure, a method for authenticating, applied to a vehicle module, the vehicle module and a user device established a connection channel through a wireless mode, wherein the method comprises receiving a second wireless signal through the connection channel from the user device, acquiring a second signal strength sequence, the second signal strength sequence are generated by N continuous signal strength characteristics PF Veh  of the second wireless signal, receiving a first signal strength sequence from the user device, the first signal strength sequence are generated based by N continuous signal strength characteristics PF UDev  of a first wireless signal, the first wireless signal is received by the user device from the vehicle module through the connection channel, authenticating the connection between the user device and the vehicle module based on the first signal strength sequence and the second signal strength sequence. 
     With reference to the second aspect of the disclosure, the first signal strength sequence comprises the N continuous signal strength characteristics PF UDev . 
     With reference to the second aspect of the disclosure, the first signal strength sequence comprises a user string S UDev  and a correction data C, and the method further comprises filtering the N continuous signal strength characteristics PF UDev  by a low pass filter, generating the user string S UDev  and the correction data C by providing the filtered N continuous signal strength characteristics PF UDev  to a gen function of the fuzzy extractor mechanism. 
     With reference to the second aspect of the disclosure, filtering the N continuous signal strength characteristics PF UDev  by a low pass filter comprises removing noise component from the N continuous signal strength characteristics PF UDev , and generating the user string S UDev  and the correction data C comprises processing the filtered N continuous signal strength characteristics PF UDev  in a window by m-ary quantization, wherein number of the filtered N continuous signal strength characteristics PF UDev  in the window is denoted as W, number of quantization levels is denoted as m, a guard band is inserted between two consecutive quantization levels, the filtered N continuous signal strength characteristics PF UDev  in the guard band are discarded, the filtered N continuous signal strength characteristics PF UDev  out of the guard band are encoded according to respective quantization levels, the ratio of guard band to data is denoted as α, the m and the α are used for determining the size of quantization interval and guard band. 
     With reference to the second aspect of the disclosure, the m and the α are used for determining the size of quantization interval and guard band comprises: 
                   ∫       l   i     -   1         l   i     -     g   i         ⁢     f   ⁢     s   ˜     ⁢   d   ⁢     s   ~         =       1   -   α     m       ,         ∫       l   i     -     g   i         l   i       ⁢     f   ⁢     s   ˜     ⁢   d   ⁢     s   ˜         =     α     m   -   1         ,         
where the size of quantization interval is denoted as, ∫ l     i     -1   l     i     -g     i   f{tilde over (s)}d{tilde over (s)}, the guard band is denoted as ∫ l     i     -1   l     i   f{tilde over (s)}d{tilde over (s)}.
 
     With reference to the second aspect of the disclosure, the correction data C comprises number of the N continuous signal strength characteristics PF UDev  in the window W, number of quantization levels m, the ratio of guard band to data α, and list of discarded the filtered the N continuous signal strength characteristics PF UDev , L UDVE . 
     With reference to the second aspect of the disclosure, the first wireless signal is a second BLE beacon&#39;s channel information. 
     With reference to the second aspect of the disclosure, before the vehicle module acquired the second signal strength sequence, the method further comprises receiving an initiation instruction from the user device, authenticating the user device based on the initiation instruction. 
     With reference to the second aspect of the disclosure, the initiation instruction comprises a MAC M Ini , the MI instruct that the initiation instruction authenticated based on a K BTUDev , wherein the K BTUDev  is shared between the user device and the vehicle module, or the initiation instruction comprises a sign (S), the sign M Ini  instruct that the initiation instruction authenticated based on a Key Priv_UDev  and the K BTUDev  and a Key Pub_Veh , wherein the Key Priv_UDev  and the K BTUDev  and the Key Pub_Veh  are shared between the user device and the vehicle module. 
     With reference to the second aspect of the disclosure, 
     With reference to the second aspect of the disclosure, the vehicle module and a user device established a connection channel through a wireless mode comprises receiving a first initiation instruction from the user device, the first initiation instruction is generated based on an identity of the user device IDUDev, the first initiation instruction&#39;s command identifier, and the first initiation instruction&#39; MAC MIni, wherein the MAC MIni is generated based on the identity of the user device IDUDev, the initiation command and a K BTUDev  that is shared between the user device and the vehicle module, communicating a first acknowledgement instruction to the user device, the first acknowledgement instruction is generated based on an encrypted first acknowledgement message and the first acknowledgement message MAC MAck, wherein the first acknowledgement message comprises a nonce n, a random string r, and the first acknowledgement instruction&#39;s command identifier and the first acknowledgement message is encrypted using the corresponding K BTUDev , and the MAC MAck is generated based on the first acknowledgement message and the corresponding K BTUDev . 
     With reference to the second aspect of the disclosure, receiving the first signal strength sequence from the user device comprises receiving a second instruction and a third instruction to the vehicle module, the second instruction is generated based on an encrypted the second instruction and the second instruction MAC MVer, wherein the second instruction comprising the nonce n, the correction data C, and the second instruction&#39;s command identifier is encrypted using the K BTUDev , and the second instruction MAC MVer is generated based on the second instruction and the K BTUDev , the third instruction is generated based on an encrypted the third instruction and the third instruction MAC MAuth_Chk, the third instruction comprising the nonce n, an XOR operation between the random string r and the user string S UDev , and the third instruction&#39;s command identifier is encrypted using the K BTUDev , and the third instruction MAC MAuth_Chk is generated based on the third instruction and the K BTUDev . 
     With reference to the second aspect of the disclosure, the method further comprises communicating a second message to the user device, the second message is generated based on an encrypted second message and the second message MAC MApprv, wherein the encrypted second message is generated based on encrypting the second message by the corresponding K BTUDev , the second message comprises the nonce n, and the second message&#39;s command identifier, and the second message MAC MApprv, is generated based on the second message and the corresponding K BTUDev , or communicating a third message to the user device, the third message is generated based on an encrypted third message and the third message MAC MApprv, wherein the encrypted third message is generated based on encrypting the third message by the corresponding K BTUDev , the third message comprises the nonce n, and the third message&#39;s command identifier, and the third message MAC MApprv is generated based on the third message and the corresponding K BTUDev . 
     With reference to the second aspect of the disclosure, the vehicle module and a user device established a connection channel through a wireless mode comprises receiving a second initiation instruction from the user device, the second initiation instruction comprises an encrypted forth message and a signed fifth message, wherein the encrypted forth message is generated based on encrypting the forth message by a Key Pub_Veh , the forth message comprises an identity of the user device IDUDev and the second initiation instruction&#39;s command identifier, the signed fifth message is generated based on signing the fifth message by a Key Priv_UDev , the fifth message is generated based on hashing the encrypted forth message by a K BTUDev , communicating a second acknowledgement instruction to the user device, the second acknowledgement instruction comprises an encrypted sixth message and a signed seventh message, wherein the encrypted sixth message is generated based on encrypting the sixth message by the K BTUDev , the sixth message comprises a nonce n, a random string r, and the second initiation instruction&#39;s command identifier, the signed seventh message is generated based on signing the seventh message by the Key Pub_Veh , the seventh message is generated based on hashing the encrypted sixth message by the K BTUDev . 
     With reference to the second aspect of the disclosure, receiving the first signal strength sequence from the user device comprises receiving a forth instruction and a fifth instruction from the user device, the forth instruction comprises an encrypted eighth message and a signed ninth message, wherein the encrypted eighth message is generated based on encrypting the eighth message by the K BTUDev , the eighth message comprises the nonce n, the correction data C, and the forth instruction&#39;s command identifier, the signed ninth message is generated based on signing the ninth message by a Key Priv_UDev , the ninth message is generated based on hashing the encrypted eighth message by the K BTUDev , the fifth instruction comprises an encrypted second message and a signed eleventh message, wherein the encrypted second message is generated based on encrypting the second message by the K BTUDev , the second message comprises the nonce n, an XOR operation between the random string r and the user string S UDev , and the fifth instruction&#39;s command identifier, the signed eleventh message is generated based on signing the eleventh message by a Key Priv_UDev , the eleventh message is generated based on hashing the encrypted second message by the K BTUDev . 
     With reference to the second aspect of the disclosure, the method further comprises communicating a twentieth message to the user device, the twentieth message comprises an encrypted thirteenth message and a signed fourteenth message, wherein the encrypted thirteenth message is generated based on encrypting the thirteenth message by the K BTUDev , the thirteenth message comprises the nonce n and the thirteenth message&#39;s command identifier, the signed fourteenth message is generated based on signing the fourteenth message by the Key Priv_UDev , the fourteenth message is generated based on hashing the encrypted thirteenth message by the K BTUDev , or communicating a fifteenth message to the user device, the fifteenth message comprises an encrypted sixteenth message and a signed seventeenth message, wherein the encrypted sixteenth message is generated based on encrypting the sixteenth message by the K BTUDev , the sixteenth message comprises the nonce n, and the sixteenth message&#39;s command identifier, the signed seventeenth message is generated based on signing the seventeenth message by the Key Priv_UDev , the seventeenth message is generated based on hashing the encrypted sixteenth message by the K BTUDev . 
     With reference to the second aspect of the disclosure, the method further comprises establishing a BLUETOOTH pairing between the user device and the vehicle module using a K BTCon  when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the K BTCon  is shared between the user device and the vehicle module. 
     According to a third aspect of the disclosure, A user device for authenticating, the user device and a vehicle module established a connection channel through a wireless mode, the user device comprises a receiving unit configured to receive a first wireless signal through the connection channel from the vehicle module, an acquiring unit configured to acquire a first signal strength sequence, the first signal strength sequence are generated by N continuous signal strength characteristics PF UDev  of the first wireless signal, a communicating unit configured to communicate the first signal strength sequence to the vehicle module, wherein the first signal strength sequence and a second signal strength sequence are used for authenticating the connection between the user device and the vehicle module, the second signal strength sequence are generated by N continuous signal strength characteristics PF Veh  of a second wireless signal, the second wireless signal is received by the vehicle module from the user device through the connection channel. With reference to the third aspect of the disclosure, the first signal strength sequence comprises the N continuous signal strength characteristics PF UDev . 
     With reference to the third aspect of the disclosure, the first signal strength sequence comprises a user string S UDev  and a correction data C. 
     With reference to the third aspect of the disclosure, the user device further comprises a filtering unit configured to filter the N continuous signal strength characteristics PF UDev  by a low pass filter, a generating unit configured to generate the user string S UDev  and the correction data C by providing the filtered N continuous signal strength characteristics PF UDev  to a gen function of the fuzzy extractor mechanism. 
     With reference to the third aspect of the disclosure, the filtering unit filter the N continuous signal strength characteristics PF UDev  by a low pass filter comprises the filtering unit remove noise component from the N continuous signal strength characteristics PF UDev , and the generating unit generate the user string S UDev  and the correction data C comprises the generating unit process the filtered N continuous signal strength characteristics PF UDev  in a window by m-ary quantization, wherein number of the filtered N continuous signal strength characteristics PF UDev  in the window is denoted as W, number of quantization levels is denoted as m, a guard band is inserted between two consecutive quantization levels, the filtered N continuous signal strength characteristics PF UDev  in the guard band are discarded, the filtered N continuous signal strength characteristics PF UDev  out of the guard band are encoded according to respective quantization levels, the ratio of guard band to data is denoted as α, the m and the α are used for determining the size of quantization interval and guard band. 
     With reference to the third aspect of the disclosure, the m and the α are used for determining the size of quantization interval and guard band comprises: 
                   ∫       l   i     -   1         l   i     -     g   i         ⁢     f   ⁢     s   ˜     ⁢   d   ⁢     s   ~         =       1   -   α     m       ,         ∫       l   i     -     g   i         l   i       ⁢     f   ⁢     s   ˜     ⁢   d   ⁢     s   ˜         =     α     m   -   1         ,         
where the size of quantization interval is denoted as, ∫ l     i     -1   l     i     -g     i   f{tilde over (s)}d{tilde over (s)}, the guard band is denoted as ∫ l     i     -1   l     i     g     i   f{tilde over (s)}d{tilde over (s)}.
 
     With reference to the third aspect of the disclosure, the correction data C comprises number of the N continuous signal strength characteristics PF UDev  in the window W, number of quantization levels m, the ratio of guard band to data α, and list of discarded the filtered the N continuous signal strength characteristics PF UDev , L UDVE . 
     With reference to the third aspect of the disclosure, the first wireless signal is a first BLE beacon&#39;s channel information. 
     With reference to the third aspect of the disclosure, before the acquiring unit acquire the first signal strength sequence, the communicating unit further configured to communicate an initiation instruction to the vehicle module, the initiation instruction is used for authenticating the user device. 
     With reference to the third aspect of the disclosure, the initiation instruction comprises a MAC M Ini , the M Ini  instruct that the initiation instruction authenticated based on a K BTUDev , wherein the K BTUDev  is shared between the user device and the vehicle module, or, the initiation instruction comprises a sign (S), the sign instruct that the initiation instruction authenticated based on a Key Priv_UDev , wherein the Key Priv_UDev  is shared between the user device and the vehicle module. 
     With reference to the third aspect of the disclosure, the user device further comprises a establishing unit configured to establish a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon  when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the Key BTCon  is shared between the user device and the vehicle module. 
     According to a fourth aspect of the disclosure, a vehicle module for authenticating, the vehicle module and a user device established a connection channel through a wireless mode, the vehicle module comprises a receiving unit configured to receive a second wireless signal through the connection channel from the user device, an acquiring unit configured to acquire a second signal strength sequence, the second signal strength sequence are generated by N continuous signal strength characteristics PF Veh  of the second wireless signal, a receiving unit configured to receive a first signal strength sequence from the user device, the first signal strength sequence are generated based by N continuous signal strength characteristics PF UDev  of a first wireless signal, the first wireless signal is received by the user device from the vehicle module through the connection channel, an authenticating unit configured to authenticate the connection between the user device and the vehicle module based on the first signal strength sequence and the second signal strength sequence. 
     With reference to the fourth aspect of the disclosure, the first signal strength sequence comprises the N continuous signal strength characteristics PF UDev . 
     With reference to the fourth aspect of the disclosure, the first signal strength sequence comprises a user string S UDev  and a correction data C, wherein the user string S UDev  and the correction data C are generated based on providing the filtered the N continuous signal strength characteristics PF UDev  to a gen function of the fuzzy extractor mechanism, and the filtered the N continuous signal strength characteristics PF UDev  is generated based on filtering the N continuous signal strength characteristics PF UDev  by a low pass filter. 
     With reference to the fourth aspect of the disclosure, the vehicle module further comprises a extracting unit configured to extract the correction data C from the first signal strength sequence, a filtering unit configured to filter the extracted correction data C and the N continuous signal strength characteristics P FVeh  using a low pass filter, a generating unit configured to generate a vehicle string S Veh  by providing the filtered N continuous signal strength characteristics P FVeh and the filtered correction data C to a reproduce (rep) function of the fuzzy extractor mechanism, and the authenticating unit authenticate the connection between the user device and the vehicle module comprises based on the user string S UDev  and the vehicle string S Veh  authenticating the connection between the user device and the vehicle module. 
     With reference to the fourth aspect of the disclosure, the filtering unit filter the extracted correction data C and the N continuous signal strength characteristics P FVeh  using a low pass filter comprises the filtering unit remove noise component from the correction data C and the N continuous signal strength characteristics P FVeh , and the generating unit generate the vehicle string S Veh  comprises the generating unit process the filtered N continuous signal strength characteristics P FVeh  and the filtered correction data C in a window by m-ary quantization, wherein number of the filtered N continuous signal strength characteristics P FVeh  in the window is denoted as W, number of quantization levels is denoted as m, a guard band is inserted between two consecutive quantization levels, the filtered N continuous signal strength characteristics P FVeh  in the guard band are discarded, the filtered N continuous signal strength characteristics P FVeh  out of the guard band are encoded according to respective quantization levels, the ratio of guard band to data is denoted as α, the m and the α are used for determining the size of quantization interval and guard band. 
     With reference to the fourth aspect of the disclosure, the m and the α are used for determining the size of quantization interval and guard band comprises: 
                   ∫       l   i     -   1         l   i     -     g   i         ⁢     f   ⁢     s   ˜     ⁢   d   ⁢     s   ~         =       1   -   α     m       ,         ∫       l   i     -     g   i         l   i       ⁢     f   ⁢     s   ˜     ⁢   d   ⁢     s   ˜         =     α     m   -   1         ,         
where the size of quantization interval is denoted as, ∫ l     i     -1   l     i     -g     i   f{tilde over (s)}d{tilde over (s)}, the guard band is denoted as ∫ l     i     -1   l     i     g     i   f{tilde over (s)}d{tilde over (s)}.
 
     With reference to the fourth aspect of the disclosure, based on the user string S UDev  and the vehicle string S Veh  authenticating the connection between the user device and the vehicle module comprises the connection between the user device and the vehicle module is valid when the characters at M corresponding positions in the user string S UDev  and the vehicle string S Veh  are the same, where the M is a positive integer greater than or equal to a preset threshold. 
     With reference to the fourth aspect of the disclosure, the second wireless signal is a second BLE beacon&#39;s channel information. 
     With reference to the fourth aspect of the disclosure, before the acquiring unit acquired the second signal strength sequence, the receiving unit further configured to receive an initiation instruction from the user device, the authenticating unit further configured to authenticate the user device based on the initiation instruction. 
     With reference to the fourth aspect of the disclosure, the initiation instruction comprises a MAC M Ini , the M Ini  instruct that the initiation instruction authenticated based on a K BTUDev , wherein the K BTUDev  is shared between the user device and the vehicle module, or the initiation instruction comprises a sign (S), the sign M Ini  instruct that the initiation instruction authenticated based on a Key Priv_UDev  and the K BTUDev  and a Key Pub_Veh , wherein the Key Priv_UDev  and the K BTUDev  and the Key Pub_Veh  are shared between the user device and the vehicle module. 
     With reference to the fourth aspect of the disclosure, before the receiving unit receives a second wireless signal through the connection channel from the user device, the vehicle module further comprises a establishing unit configured to establish a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon , when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the Key BTCon  is shared between the user device and the vehicle module. 
     According to a fifth aspect of the disclosure, an authentication device, is characterized in that, comprising a processor and a memory, the memory is configured to store programs to be executed by the processor and to store data generated during the execution of the programs, the processor is configured to read the programs stored in the memory to perform the first aspect method of the disclosure. 
     According to a fifth aspect of the disclosure, an authentication device, is characterized in that, comprising a processor and a memory, the memory is configured to store programs to be executed by the processor and to store data generated during the execution of the programs, the processor is configured to read the programs stored in the memory to perform the second aspect method of the disclosure. 
     According to a sixth aspect of the disclosure, a vehicle authenticating system is disclosed, the system comprising a user device that is configured to generate an initiation instruction based on an identity of the user device ID UDev , an initiation command, and an initiation MAC M Ini , wherein the MAC M Ini  is generated based on the identity of the user device ID UDev , the initiation command and a K BTUDev  that is shared between the user device and a vehicle module, communicate the initiation instruction to the vehicle module such that upon receiving the initiation instruction, the vehicle module is configured to retrieve a corresponding K BTUDev , from a database, based on the received initiation instruction and validate the initiation instruction using the retrieved corresponding K BTUDev , generate an acknowledgement instruction based on an encrypted acknowledgement message and an acknowledgement MAC M Ack , when the initiation instruction is validated, wherein the acknowledgement message comprises a nonce n, a random string r, and an acknowledgement command and the acknowledgement message is encrypted using the corresponding K BTUDev , and the acknowledgement MAC M Ack  is generated based on the acknowledgement message and the corresponding K BTUDev , communicate the acknowledgement instruction to the user device, record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, the user device further configured to validate the acknowledgement instruction using the K BTUDev , record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel when the acknowledgement instruction is validated, and authenticate the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     With reference to the sixth aspect of the disclosure, the validation of the set of physical layer features PF UDev  and the set of physical layer features PF Veh  by the fuzzy extractor mechanism comprises the user device being configured to filter the set of physical layer features PF UDev  using a low pass filter, generate a user string S UDev  and a correction data C by providing the filtered set of physical layer features PF UDev  to a gen function of the fuzzy extractor mechanism, generate a verification instruction based on an encrypted verification message and a verification MAC M Ver , wherein the verification message comprising the nonce n, the correction data C, and a verification command is encrypted using the K BTUDev , and the verification MAC M Ver , is generated based on the verification message and the K BTUDev , generate an authentication check instruction based on an encrypted authentication check message and an authentication check MAC M Auth_Chk , wherein the authentication check message comprising the nonce n, an XOR operation between the random string r and the user string S UDev , and an authentication check command is encrypted using the K BTUDev , and the authentication check MAC M Auth_Chk , is generated based on the authentication check message and the K BTUDev , communicate the verification instruction and the authentication check instruction to the vehicle module such that upon receiving the verification and authentication check instructions, the vehicle module is configured to validate the verification and authentication check instructions using the K BTUDev , extract the correction data C from the decrypted verification message, and filter the extracted correction data C and the set of physical layer features PF Veh  using a low pass filter when the verification instruction is validated, generate a vehicle string S Veh  by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism, generate an approval instruction based on an encrypted approval message and an approval MAC M Apprv , wherein the approval message comprising the nonce n, and an approval command is encrypted using the corresponding K BTUDev , and the approval MAC M Apprv , is generated based on the approval message and the corresponding K BTUDev , when the authentication check instruction is validated and when it is determined that the XOR operation between the random string r and the user string S UDev  matches an XOR operation between the random string r and the vehicle string S Veh , and communicate the approval instruction to the user device, the user device further configured to validate the approval instruction using the K BTUDev , and authenticate the vehicle module based on the approval command in the decrypted approval message when the approval instruction is validated. 
     With reference to the sixth aspect of the disclosure, the set of physical layer features PF UDev  comprises a sixth set of received signal strength values recorded by the user device and the set of physical layer features PF Veh  comprises a second set of received signal strength values recorded by the vehicle module. 
     With reference to the sixth aspect of the disclosure, before the initiation instruction is generated by the user device, the user device is configured to establish a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon  when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the K BTCon , is shared between the user device and the vehicle module. 
     According to a seventh aspect of the disclosure, a vehicle authenticating system is disclosed, the system comprising a user device that is configured to encrypt an initiation message, m o , comprising an identity of the user device ID UDev  and an initiation command, using a Key Pub_Veh , hash the encrypted initiation message using a K BTUDev , and sign the hashed-encrypted initiation message using a Key Priv_UDev , generate an initiation instruction based on the encrypted initiation message and the signed-hashed-encrypted initiation message, communicate the initiation instruction to the vehicle module such that upon receiving the initiation instruction, the vehicle module is configured to verify the signed-hashed-encrypted initiation message in the initiation instruction using a PKI-public key associated with the user device (Key Pub_UDev ), decrypt the encrypted initiation message using a PKI-private key associated with the vehicle module (Key Priv_Veh ) and retrieve a corresponding K BTUDev , from a database, based on the decrypted initiation message when the signed-hashed-encrypted initiation message is verified, encrypt an acknowledgement message, m 2 , comprising a nonce n, a random string r, and an acknowledgement command, using the corresponding K BTUDev , hash the encrypted acknowledgement message using the corresponding K BTUDev , and sign the hashed-encrypted acknowledgement message using the Key Priv_Veh , generate an acknowledgement instruction based on the encrypted acknowledgement message and the signed-hashed-encrypted acknowledgement message, communicate the acknowledgement instruction to the user device, record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, the user device further configured to verify the signed-hashed-encrypted acknowledgement message in the acknowledgement instruction using a Key Pub_Veh , decrypt the encrypted acknowledgement message using the K BTUDev  when the signed-hashed-encrypted acknowledgement message is verified, record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel, and authenticate the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     With reference to the seventh aspect of the disclosure, the validation of the set of physical layer features PF UDev  and the set of physical layer features PF Veh  by the fuzzy extractor mechanism comprises the user device being configured to filter the set of physical layer features PF UDev  using a low pass filter, generate a user string S UDev  and a correction data C by providing the filtered set of physical layer features PF UDev  to a gen function of the fuzzy extractor mechanism, encrypt a verification message, m 4 , using the K BTUDev , wherein the verification message m 4 , comprises the nonce n, the correction data C, and a verification command, hash the encrypted verification message using the K BTUDev , and sign the hashed-encrypted verification message using a Key Priv_UDev , generate a verification instruction based on the encrypted verification message and the signed-hashed-encrypted verification message, encrypt an authentication check message m 6  using the K BTUDev , wherein the authentication check message m 6 , comprises the nonce n, an XOR operation between the random string r and the user string S UDev , and an authentication check command, hash the encrypted authentication check message using the K BTUDev , and sign the hashed-encrypted authentication check message using a Key Priv_UDev , generate an authentication check instruction based on the encrypted authentication check message and the signed-hashed-encrypted authentication check message, communicate the verification and the authentication check instructions to the vehicle module such that upon receiving the verification and authentication check instructions, the vehicle module is configured to verify the signed-hashed-encrypted verification message in the verification instruction using a Key Pub_UDev , decrypt the encrypted verification message using the corresponding K BTUDev , when the signed-hashed-encrypted verification message is verified, extract the correction data C, from the decrypted verification message, and filter the extracted correction data C and the set of physical layer features PF Veh  using a low pass filter when the verification instruction is validated, generate a vehicle string S Veh  by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism, verify the signed-hashed-encrypted authentication check message in the authentication check instruction using a Key Pub_UDev , decrypt the encrypted authentication check message using the corresponding K BTUDev , when the signed-hashed-encrypted authentication check message is verified, encrypt an approval message m 8  using the K BTUDev , wherein the approval message m 8 , comprises the nonce n, and an approval command, hash the encrypted approval message using the K BTUDev , and sign the hashed-encrypted authentication check message using a Key Priv_Veh , generate an approval instruction based on the encrypted approval message and the signed-hashed-encrypted approval message, when it is determined that the XOR operation between the random string r and the user string S UDev  matches an XOR operation between the random string r and the vehicle string S Veh , communicate the approval instruction to the user device, the user device further configured to verify the signed-hashed-encrypted approval message in the approval instruction using a Key Pub_Veh , decrypt the encrypted approval message using the K BTUDev , when the signed-hashed-encrypted approval message is verified, and authenticate the vehicle module based on the approval command in the decrypted approval message. 
     With reference to the seventh aspect of the disclosure, the set of physical layer features PF UDev  comprises a first set of received signal strength values recorded by the user device and the set of physical layer features PF Veh  comprises a seventh set of received signal strength values recorded by the vehicle module. 
     With reference to the seventh aspect of the disclosure, before the initiation instruction is encrypted by the user device, the user device is configured to establish a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon , when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the K BTCon , is shared between the user device and the vehicle module. 
     According to an eighth aspect of the disclosure, a user device for authenticating communications with a vehicle module, the user device comprising a processor, and a non-transitory media readable by the processor, the non-transitory media storing instructions that when executed by the processor, cause the processor to generate an initiation instruction based on an identity of the user device ID UDev , an initiation command, and an initiation MAC M Ini , wherein the MAC M Ini  is generated based on the identity of the user device ID UDev , the initiation command and a K BTUDev  that is shared between the user device and the vehicle module, communicate the initiation instruction to the vehicle module such that upon receiving the initiation instruction, the vehicle module is configured to retrieve a corresponding K BTUDev , from a database, based on the received initiation instruction and validate the initiation instruction using the retrieved corresponding K BTUDev , generate an acknowledgement instruction based on an encrypted acknowledgement message and an acknowledgement MAC M Ack , when the initiation instruction is validated, wherein the acknowledgement message comprises a nonce n, a random string r, and an acknowledgement command and the acknowledgement message is encrypted using the corresponding K BTUDev , and the acknowledgement MAC M Ack  is generated based on the acknowledgement message and the corresponding K BTUDev , communicate the acknowledgement instruction to the user device, record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, the user device further comprising instructions for directing the processor to validate the acknowledgement instruction using the K BTUDev , record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel when the acknowledgement instruction is validated, and authenticate the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     With reference to the eighth aspect of the disclosure, the validation of the set of physical layer features PF UDev  and the set of physical layer features PF Veh  by the fuzzy extractor mechanism comprises the user device comprising instructions for directing the processor to filter the set of physical layer features PF UDev  using a low pass filter, generate a user string S UDev  and a correction data C by providing the filtered set of physical layer features PF UDev  to a gen function of the fuzzy extractor mechanism, generate a verification instruction based on an encrypted verification message and a verification MAC M Ver , wherein the verification message comprising the nonce n, the correction data C, and a verification command is encrypted using the K BTUDev , and the verification MAC M Ver , is generated based on the verification message and the K BTUDev , generate an authentication check instruction based on an encrypted authentication check message and an authentication check MAC M Auth_Chk , wherein the authentication check message comprising the nonce n, an XOR operation between the random string r and the user string S UDev , and an authentication check command is encrypted using the K BTUDev , and the authentication check MAC M Auth_Chk , is generated based on the authentication check message and the K BTUDev , communicate the verification instruction and the authentication check instruction to the vehicle module such that upon receiving the verification and authentication check instructions, the vehicle module configured to validate the verification and authentication check instructions using the K BTUDev , extract the correction data C from the decrypted verification message, and filter the extracted correction data C and the set of physical layer features PF Veh  using a low pass filter when the verification instruction is validated, generate a vehicle string S Veh  by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism, generate an approval instruction based on an encrypted approval message and an approval MAC M Apprv , wherein the approval message comprising the nonce n, and an approval command is encrypted using the corresponding K BTUDev , and the approval MAC M Apprv , is generated based on the approval message and the corresponding K BTUDev , when the authentication check instruction is validated and when it is determined that the XOR operation between the random string r and the user string S UDev  matches an XOR operation between the random string r and the vehicle string S Veh , and communicate the approval instruction to the user device, the user device further comprising instructions for directing the processor to validate the approval instruction using the K BTUDev , and authenticate the vehicle module based on the approval command in the decrypted approval message when the approval instruction is validated. 
     With reference to the eighth aspect of the disclosure, the set of physical layer features PF UDev  comprises a first set of received signal strength values recorded by the user device and the set of physical layer features PF Veh  comprises a second set of received signal strength values recorded by the vehicle module. 
     With reference to the eighth aspect of the disclosure, before the initiation instruction is generated by the user device, the user device comprises instructions for directing the processor to establish a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon  when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the K BTCon , is shared between the user device and the vehicle module. 
     According to a ninth aspect of the disclosure, a user device for authenticating communications with a vehicle module is disclosed, the user device comprising a processor, and a non-transitory media readable by the processor, the non-transitory media storing instructions that when executed by the processor, cause the processor to encrypt an initiation message m o  comprising an identity of the user device ID UDev  and an initiation command, using a Key Pub_Veh , hash the encrypted initiation message using a K BTUDev , and sign the hashed-encrypted initiation message using a Key Priv_UDev , generate an initiation instruction based on the encrypted initiation message and the signed-hashed-encrypted initiation message, communicate the initiation instruction to the vehicle module such that upon receiving the initiation instruction, the vehicle module is configured to verify the signed-hashed-encrypted initiation message in the initiation instruction using a Key Pub_UDev , decrypt the encrypted initiation message using a Key Priv_Veh  and retrieve a corresponding K BTUDev  from a database, based on the decrypted initiation message when the signed-hashed-encrypted initiation message is verified, encrypt an acknowledgement message, m 2 , comprising a nonce n, a random string r, and an acknowledgement command, using the corresponding K BTUDev , hash the encrypted acknowledgement message using the corresponding K BTUDev , and sign the hashed-encrypted acknowledgement message using the Key Priv_Veh , generate an acknowledgement instruction based on the encrypted acknowledgement message and the signed-hashed-encrypted acknowledgement message, communicate the acknowledgement instruction to the user device, record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, the user device further comprising instructions for directing the processor to verify the signed-hashed-encrypted acknowledgement message in the acknowledgement instruction using a Key Pub_Veh , decrypt the encrypted acknowledgement message using the K BTUDev  when the signed-hashed-encrypted acknowledgement message is verified, record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel, and authenticate the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     With reference to the ninth aspect of the disclosure, the validation of the set of physical layer features PF UDev  and the set of physical layer features PF Veh  by the fuzzy extractor mechanism comprises the user device comprising instructions for directing the processor to filter the set of physical layer features PF UDev  using a low pass filter, generate a user string S UDev  and a correction data C by providing the filtered set of physical layer features PF UDev  to a gen function of the fuzzy extractor mechanism, encrypt a verification message, m 4 , using the K BTUDev , wherein the verification message m 4 , comprises the nonce n, the correction data C, and a verification command, hash the encrypted verification message using the K BTUDev , and sign the hashed-encrypted verification message using a Key Priv_UDev , generate a verification instruction based on the encrypted verification message and the signed-hashed-encrypted verification message, encrypt an authentication check message m 6  using the K BTUDev , wherein the authentication check message m 6 , comprises the nonce n, an XOR operation between the random string r and the user string S UDev , and an authentication check command, hash the encrypted authentication check message using the K BTUDev , and sign the hashed-encrypted authentication check message using a Key Priv_UDev , generate an authentication check instruction based on the encrypted authentication check message and the signed-hashed-encrypted authentication check message, communicate the verification and the authentication check instructions to the vehicle module such that upon receiving the verification and authentication check instructions, the vehicle module comprising instructions for directing the processor to verify the signed-hashed-encrypted verification message in the verification instruction using a Key Pub_UDev , decrypt the encrypted verification message using the corresponding K BTUDev , when the signed-hashed-encrypted verification message is verified, extract the correction data C, from the decrypted verification message, and filter the extracted correction data C and the set of physical layer features PF Veh  using a low pass filter when the verification instruction is validated, generate a vehicle string S Veh  by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism, verify the signed-hashed-encrypted authentication check message in the authentication check instruction using a Key Pub_UDev , decrypt the encrypted authentication check message using the corresponding K BTUDev , when the signed-hashed-encrypted authentication check message is verified, encrypt an approval message, m 8 , using the K BTUDev , wherein the approval message m 8 , comprises the nonce n, and an approval command, hash the encrypted approval message using the K BTUDev , and sign the hashed-encrypted authentication check message using a Key Priv_Veh , generate an approval instruction based on the encrypted approval message and the signed-hashed-encrypted approval message, when it is determined that the XOR operation between the random string r and the user string S UDev  matches an XOR operation between the random string r and the vehicle string S Veh , communicate the approval instruction to the user device, the user device further comprising instructions for directing the processor to verify the signed-hashed-encrypted approval message in the approval instruction using a Key Pub_Veh , decrypt the encrypted approval message using the K BTUDev , when the signed-hashed-encrypted approval message is verified, and authenticate the vehicle module based on the approval command in the decrypted approval message. 
     With reference to the ninth aspect of the disclosure, the set of physical layer features PF UDev  comprises a first set of received signal strength values recorded by the user device and the set of physical layer features PF Veh  comprises a second set of received signal strength values recorded by the vehicle module. 
     With reference to the ninth aspect of the disclosure, before the initiation instruction is encrypted by the user device, the user device comprises instructions for directing the processor to establish a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon  when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the K BTCon , is shared between the user device and the vehicle module. 
     According to a tenth aspect of the disclosure, a vehicle module for authenticating communications with a user device is disclosed, the vehicle module comprising a processor, and a non-transitory media readable by the processor, the non-transitory media storing instructions that when executed by the processor, cause the processor to receive an initiation instruction from the user device, wherein the initiation instruction is generated based on an identity of the user device ID UDev , an initiation command, and an initiation MAC M Ini , whereby the MAC M Ini  is generated based on the identity of the user device ID UDev , the initiation command and a K BTUDev  that is shared between the user device and the vehicle module, retrieve a corresponding K BTUDev , from a database, based on the received initiation instruction and validate the initiation instruction using the retrieved corresponding K BTUDev , generate an acknowledgement instruction based on an encrypted acknowledgement message and an acknowledgement MAC M Ack , when the initiation instruction is validated, wherein the acknowledgement message comprises a nonce n, a random string r, and an acknowledgement command and the acknowledgement message is encrypted using the corresponding K BTUDev , and the acknowledgement MAC M Ack  is generated based on the acknowledgement message and the corresponding K BTUDev , record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, communicate the acknowledgement instruction to the user device such that upon receiving the acknowledgement instruction, the user device configured to validate the acknowledgement instruction using the K BTUDev , record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel when the acknowledgement instruction is validated, and authenticate the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     With reference to the tenth aspect of the disclosure, the validation of the set of physical layer features PF UDev  and the set of physical layer features PF Veh  by the fuzzy extractor mechanism comprises the user device comprising instructions for directing the processor to filter the set of physical layer features PF UDev  using a low pass filter, generate a user string S UDev  and a correction data C by providing the filtered set of physical layer features PF UDev  to a gen function of the fuzzy extractor mechanism, generate a verification instruction based on an encrypted verification message and a verification MAC M Ver , wherein the verification message comprising the nonce n, the correction data C, and a verification command is encrypted using the K BTUDev , and the verification MAC M Ver , is generated based on the verification message and the K BTUDev , generate an authentication check instruction based on an encrypted authentication check message and an authentication check MAC M Auth_Chk , wherein the authentication check message comprising the nonce n, an XOR operation between the random string r and the user string S UDev , and an authentication check command is encrypted using the K BTUDev , and the authentication check MAC M Auth_Chk , is generated based on the authentication check message and the K BTUDev , communicate the verification instruction and the authentication check instruction to the vehicle module such that upon receiving the verification and authentication check instructions, the vehicle module comprises instructions for directing the processor to validate the verification and authentication check instructions using the K BTUDev , extract the correction data C from the decrypted verification message, and filter the extracted correction data C and the set of physical layer features PF Veh  using a low pass filter when the verification instruction is validated, generate a vehicle string S Veh  by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism, generate an approval instruction based on an encrypted approval message and an approval MAC M Apprv , wherein the approval message comprising the nonce n, and an approval command is encrypted using the corresponding K BTUDev , and the approval MAC M Apprv , is generated based on the approval message and the corresponding K BTUDev , when the authentication check instruction is validated and when it is determined that the XOR operation between the random string r and the user string S UDev  matches an XOR operation between the random string r and the vehicle string S Veh , and communicate the approval instruction to the user device, the user device further comprising instructions for directing the processor to validate the approval instruction using the K BTUDev , and authenticate the vehicle module based on the approval command in the decrypted approval message when the approval instruction is validated. 
     With reference to the tenth aspect of the disclosure, the set of physical layer features PF UDev  comprises a first set of received signal strength values recorded by the user device and the set of physical layer features PF Veh  comprises a second set of received signal strength values recorded by the vehicle module. 
     With reference to the tenth aspect of the disclosure, before the initiation instruction is generated by the user device, the user device comprises instructions for directing the processor to establish a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon , when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the K BTCon , is shared between the user device and the vehicle module. 
     According to a eleventh aspect of the disclosure, a vehicle module for authenticating communications with a user device is disclosed, the vehicle module comprising a processor, and a non-transitory media readable by the processor, the non-transitory media storing instructions that when executed by the processor, cause the processor to receive an initiation instruction from the user device, wherein the initiation instruction is generated based on an encrypted initiation message and a signed-hashed-encrypted initiation message, the initiation message, m o , which comprises an identity of the user device ID UDev  and an initiation command, is encrypted using a Key Pub_Veh , and the encrypted initiation message is hashed using a K BTUDev , and signed using a Key Priv_UDev , verify the signed-hashed-encrypted initiation message in the initiation instruction using a Key Pub_UDev , decrypt the encrypted initiation message using a Key Priv_UDev  and retrieve a corresponding K BTUDev , from a database, based on the decrypted initiation message when the signed-hashed-encrypted initiation message is verified, encrypt an acknowledgement message m 2  comprising a nonce n, a random string r, and an acknowledgement command, using the corresponding K BTUDev , hash the encrypted acknowledgement message using the corresponding K BTUDev , and sign the hashed-encrypted acknowledgement message using the Key Priv_Veh , generate an acknowledgement instruction based on the encrypted acknowledgement message and the signed-hashed-encrypted acknowledgement message, record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, communicate the acknowledgement instruction to the user device such that upon receiving the acknowledgement instruction, the user device configured to verify the signed-hashed-encrypted acknowledgement message in the acknowledgement instruction using a Key Pub_Veh , decrypt the encrypted acknowledgement message using the K BTUDev  when the signed-hashed-encrypted acknowledgement message is verified, record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel, and authenticate the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     With reference to the eleventh aspect of the disclosure, the validation of the set of physical layer features PF UDev  and the set of physical layer features PF Veh  by the fuzzy extractor mechanism comprises the user device comprising instructions for directing the processor to filter the set of physical layer features PF UDev  using a low pass filter, generate a user string S UDev  and a correction data C by providing the filtered set of physical layer features PF UDev  to a gen function of the fuzzy extractor mechanism, encrypt a verification message, m 4 , using the K BTUDev , wherein the verification message m 4 , comprises the nonce n, the correction data C, and a verification command, hash the encrypted verification message using the K BTUDev , and sign the hashed-encrypted verification message using a Key Priv_UDev , generate a verification instruction based on the encrypted verification message and the signed-hashed-encrypted verification message, encrypt an authentication check message, m 6 , using the K BTUDev , wherein the authentication check message m 6 , comprises the nonce n, an XOR operation between the random string r and the user string S UDev , and an authentication check command, hash the encrypted authentication check message using the K BTUDev , and sign the hashed-encrypted authentication check message using a Key Priv_UDev , generate an authentication check instruction based on the encrypted authentication check message and the signed-hashed-encrypted authentication check message, communicate the verification and the authentication check instructions to the vehicle module such that upon receiving the verification and authentication check instructions, the vehicle module comprising instructions for directing the processor to verify the signed-hashed-encrypted verification message in the verification instruction using a Key Pub_UDev , decrypt the encrypted verification message using the corresponding K BTUDev , when the signed-hashed-encrypted verification message is verified, extract the correction data C, from the decrypted verification message, and filter the extracted correction data C and the set of physical layer features PF Veh  using a low pass filter when the verification instruction is validated, generate a vehicle string S Veh  by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism, verify the signed-hashed-encrypted authentication check message in the authentication check instruction using a Key Pub_UDev , decrypt the encrypted authentication check message using the corresponding K BTUDev , when the signed-hashed-encrypted authentication check message is verified, encrypt an approval message m 8  using the K BTUDev , wherein the approval message m 8 , comprises the nonce n, and an approval command, hash the encrypted approval message using the K BTUDev , and sign the hashed-encrypted authentication check message using a Key Priv_Veh , generate an approval instruction based on the encrypted approval message and the signed-hashed-encrypted approval message, when it is determined that the XOR operation between the random string r and the user string S UDev  matches an XOR operation between the random string r and the vehicle string S Veh , communicate the approval instruction to the user device, the user device further comprising instructions for directing the processor to verify the signed-hashed-encrypted approval message in the approval instruction using a Key Pub_Veh , decrypt the encrypted approval message using the K BTUDev , when the signed-hashed-encrypted approval message is verified, and authenticate the vehicle module based on the approval command in the decrypted approval message. 
     With reference to the eleventh aspect of the disclosure, the set of physical layer features PF UDev  comprises a first set of received signal strength values recorded by the user device and the set of physical layer features PF Veh  comprises a second set of received signal strength values recorded by the vehicle module. 
     With reference to the eleventh aspect of the disclosure, before the initiation instruction is encrypted by the user device, the user device comprises instructions for directing the processor to establish a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon  when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the K BTCon , is shared between the user device and the vehicle module. 
     According to a twelfth aspect of the disclosure, a method for authenticating a BLUETOOTH connection between a user device and a vehicle module is disclosed, the method comprising generating an initiation instruction based on an identity of the user device ID UDev , an initiation command, and an initiation MAC M Ini , wherein the MAC M Ini  is generated based on the identity of the user device ID UDev , the initiation command and a K BTUDev  that is shared between the user device and a vehicle module, communicating the initiation instruction to the vehicle module such that upon receiving the initiation instruction, the vehicle module is configured to retrieve a corresponding K BTUDev , from a database, based on the received initiation instruction and validate the initiation instruction using the retrieved corresponding K BTUDev , generate an acknowledgement instruction based on an encrypted acknowledgement message and an acknowledgement MAC M Ack , when the initiation instruction is validated, wherein the acknowledgement message comprises a nonce n, a random string r, and an acknowledgement command and the acknowledgement message is encrypted using the corresponding K BTUDev , and the acknowledgement MAC M Ack  is generated based on the acknowledgement message and the corresponding K BTUDev , communicate the acknowledgement instruction to the user device, record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, the method further comprising validating, using the user device, the acknowledgement instruction using the K BTUDev , recording a set of physical layer features PF UDev  of the BLE beacon&#39;s channel when the acknowledgement instruction is validated, and authenticating the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     With reference to the twelfth aspect of the disclosure, the validating of the set of physical layer features PF UDev  and the set of physical layer features PF Veh  by the fuzzy extractor mechanism comprises the steps of filtering, using the user device, the set of physical layer features PF UDev  using a low pass filter, generating a user string S UDev  and a correction data C by providing the filtered set of physical layer features PF UDev  to a gen function of the fuzzy extractor mechanism, generating a verification instruction based on an encrypted verification message and a verification MAC M Ver , wherein the verification message comprising the nonce n, the correction data C, and a verification command is encrypted using the K BTUDev , and the verification MAC M Ver , is generated based on the verification message and the K BTUDev , generating an authentication check instruction based on an encrypted authentication check message and an authentication check MAC M Auth_Chk , wherein the authentication check message comprising the nonce n, an XOR operation between the random string r and the user string S UDev , and an authentication check command is encrypted using the K BTUDev , and the authentication check MAC M Auth_Chk , is generated based on the authentication check message and the K BTUDev , communicating the verification instruction and the authentication check instruction to the vehicle module such that upon receiving the verification and authentication check instructions, the vehicle module is configured to validate the verification and authentication check instructions using the K BTUDev , extract the correction data C from the decrypted verification message, and filter the extracted correction data C and the set of physical layer features PF Veh  using a low pass filter when the verification instruction is validated, generate a vehicle string S Veh  by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism, generate an approval instruction based on an encrypted approval message and an approval MAC M Apprv , wherein the approval message comprising the nonce n, and an approval command is encrypted using the corresponding K BTUDev , and the approval MAC M Apprv , is generated based on the approval message and the corresponding K BTUDev , when the authentication check instruction is validated and when it is determined that the XOR operation between the random string r and the user string S UDev  matches an XOR operation between the random string r and the vehicle string S Veh , and communicate the approval instruction to the user device, the method further comprising validating, using the user device, the approval instruction using the K BTUDev , and authenticating the vehicle module based on the approval command in the decrypted approval message when the approval instruction is validated. 
     With reference to the twelfth aspect of the disclosure, the set of physical layer features PF UDev  comprises a first set of received signal strength values recorded by the user device and the set of physical layer features PF Veh  comprises a second set of received signal strength values recorded by the vehicle module. 
     With reference to the twelfth aspect of the disclosure, before the initiation instruction is generated by the user device, the method comprises the step of establishing a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon  when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the Key K BTCon , is shared between the user device and the vehicle module. 
     According to an thirteenth aspect of the disclosure, a method for authenticating a BLUETOOTH connection between a user device and a vehicle module, the method comprising encrypting an initiation message m o  comprising an identity of the user device ID UDev  and an initiation command, using a Key Pub_Veh , hashing the encrypted initiation message using a K BTUDev , and sign the hashed-encrypted initiation message using a Key Priv_UDev , generating an initiation instruction based on the encrypted initiation message and the signed-hashed-encrypted initiation message, communicating the initiation instruction to the vehicle module such that upon receiving the initiation instruction, the vehicle module is configured to verify the signed-hashed-encrypted initiation message in the initiation instruction using a Key Pub_UDev , decrypt the encrypted initiation message using a Key Priv_Veh  and retrieve a corresponding K BTUDev , from a database, based on the decrypted initiation message when the signed-hashed-encrypted initiation message is verified, encrypt an acknowledgement message, m 2 , comprising a nonce n, a random string r, and an acknowledgement command, using the corresponding K BTUDev , hash the encrypted acknowledgement message using the corresponding K BTUDev , and sign the hashed-encrypted acknowledgement message using the Key Priv_Veh , generate an acknowledgement instruction based on the encrypted acknowledgement message and the signed-hashed-encrypted acknowledgement message, communicate the acknowledgement instruction to the user device, record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, the method further comprising the steps of verifying, using the user device, the signed-hashed-encrypted acknowledgement message in the acknowledgement instruction using a Key Pub_Veh , decrypting the encrypted acknowledgement message using the K BTUDev  when the signed-hashed-encrypted acknowledgement message is verified, recording a set of physical layer features PF UDev  of the BLE beacon&#39;s channel, and authenticating the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     With reference to the thirteenth aspect of the disclosure, the validating of the set of physical layer features PF UDev  and the set of physical layer features PF Veh  by the fuzzy extractor mechanism comprises the steps of filtering, using the user device, the set of physical layer features PF UDev  using a low pass filter, generating a user string S UDev  and a correction data C by providing the filtered set of physical layer features PF UDev  to a gen function of the fuzzy extractor mechanism, encrypting a verification message, m 4 , using the K BTUDev , wherein the verification message m 4 , comprises the nonce n, the correction data C, and a verification command, hashing the encrypted verification message using the K BTUDev , and sign the hashed-encrypted verification message using a Key Priv_UDev , generating a verification instruction based on the encrypted verification message and the signed-hashed-encrypted verification message, encrypting an authentication check message, m 6 , using the K BTUDev , wherein the authentication check message m 6 , comprises the nonce n, an XOR operation between the random string r and the user string S UDev , and an authentication check command, hashing the encrypted authentication check message using the K BTUDev , and sign the hashed-encrypted authentication check message using a Key Priv_UDev , generating an authentication check instruction based on the encrypted authentication check message and the signed-hashed-encrypted authentication check message, communicating the verification and the authentication check instructions to the vehicle module such that upon receiving the verification and authentication check instructions, the vehicle module is configured to verify the signed-hashed-encrypted verification message in the verification instruction using a Key Pub_UDev , decrypt the encrypted verification message using the corresponding K BTUDev , when the signed-hashed-encrypted verification message is verified, extract the correction data C, from the decrypted verification message, and filter the extracted correction data C and the set of physical layer features PF Veh  using a low pass filter when the verification instruction is validated, generate a vehicle string S Veh  by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism, verify the signed-hashed-encrypted authentication check message in the authentication check instruction using a Key Pub_UDev , decrypt the encrypted authentication check message using the corresponding K BTUDev , when the signed-hashed-encrypted authentication check message is verified, encrypt an approval message, m 8 , using the K BTUDev , wherein the approval message m 8 , comprises the nonce n, and an approval command, hash the encrypted approval message using the K BTUDev , and sign the hashed-encrypted authentication check message using a Key Priv_Veh , generate an approval instruction based on the encrypted approval message and the signed-hashed-encrypted approval message, when it is determined that the XOR operation between the random string r and the user string S UDev  matches an XOR operation between the random string r and the vehicle string S Veh , communicate the approval instruction to the user device, the method further comprising the steps of verifying the signed-hashed-encrypted approval message in the approval instruction using a Key Pub_Veh , decrypting the encrypted approval message using the K BTUDev  when the signed-hashed-encrypted approval message is verified, and authenticating the vehicle module based on the approval command in the decrypted approval message. 
     With reference to the thirteenth aspect of the disclosure, the set of physical layer features PF UDev  comprises a first set of received signal strength values recorded by the user device and the set of physical layer features PF Veh  comprises a second set of received signal strength values recorded by the vehicle module. 
     With reference to the thirteenth aspect of the disclosure, before the initiation instruction is encrypted by the user device, the method comprises the steps of establishing a BLUETOOTH pairing between the user device and the vehicle module using a Key BTCon  when the BLE beacon emitted by the vehicle module is detected by the user device, whereby the Key K BTCon , is shared between the user device and the vehicle module. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
       The above advantages and features in accordance with this disclosure are described in the following detailed description and are shown in the following drawings. 
         FIG. 1  illustrates a block diagram representative of an existing keyless entry system for vehicles. 
         FIG. 2  illustrates a block diagram representative of a keyless entry system for vehicles in accordance with embodiments of the disclosure. 
         FIG. 3  illustrates a block diagram representative of components in an electronic device or module for implementing embodiments of the disclosure. 
         FIG. 4  illustrates a timing diagram for establishing a BLE connection between two devices and the recording of physical layer features of the BLE channel in accordance with embodiments of the disclosure. 
         FIG. 5  illustrates a received signal strength variation as recorded by a user&#39;s device, a vehicle module and an adversary device. 
         FIG. 6A  and  FIG. 6B  illustrate block diagrams representative of cryptographically secure fuzzy extractor mechanism in accordance with embodiments of the disclosure. 
         FIG. 7  illustrates a timing diagram for mutually authenticating the user device and the vehicle module based on the recorded physical layer features of the BLE channel in accordance with embodiments of the disclosure. 
         FIG. 8  illustrates a timing diagram for establishing a BLE connection between two devices and the recording of physical layer features of the BLE channel utilizing PKI in accordance with embodiments of the disclosure. 
         FIG. 9  illustrates a timing diagram for mutually authenticating the user device and the vehicle module based on the recorded physical layer features of the BLE channel using PKI in accordance with embodiments of the disclosure. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     This disclosure describes a system and method for authenticating a connection between a user&#39;s device and a vehicle. In particular, the disclosure utilizes the physical layer features of the connection channel between the user&#39;s device and the vehicle to mutually authenticate the connection between the user&#39;s device and the vehicle. 
     The system allows for the secure and automatic authentication of user&#39;s mobile/personal device with the car using wireless technology. This system detects and confirms the proximity of user&#39;s device to the car and vice versa. The solution does this by exploiting the unique physical layer features of the BLE channel between the user&#39;s device and the car. An example of a physical layer feature is the received signal strength (RSS) as detected by the user&#39;s device or by the car. The wireless channel&#39;s physical features cannot be spoofed by an attacker and is extremely hard to predict. The mutual authentication steps to subsequently authenticate the recorded RSS features are designed based on a cryptographically secure fuzzy extractor mechanism and this system may be applied to two types of schemes, one for symmetric key based scenarios, and the other for PKI based scenarios. 
       FIG. 2  illustrates a block diagram of keyless entry system  200  for vehicles in accordance with embodiments of the disclosure. System  200  comprises vehicle  205  and devices  210  and  220  that belong to user  215 . Vehicle  205  is provided with vehicle module  206  that is configured to handle vehicle  205 &#39;s external communications with other sources and vehicle module  206  and user devices  210  and  220  are all BLUETOOTH enabled. In accordance with embodiments of the disclosure, vehicle module  206  may comprise any electronic module, any computing device and/or any wireless transceiver with communication function, and the electronic module, the computing device and/or the wireless transceiver which is configured to receive, process, and transmit instructions relating to vehicle  205 . One skilled in the art will recognize that vehicle module  206  may comprise any combinations or types of electronic devices that are able to perform the functions mentioned above without departing from this disclosure. 
     Prior to establishing a BLUETOOTH connection between devices  210 ,  220  and vehicle module  206 , a Key BTCon , is shared between devices  210 ,  220  and vehicle module  206  by a trusted entity. Once installed within the respective devices or module, this Key BTCon , will be bound to the device or module and may not be transferred out to another device or module as this key, Key BTCon  will be used to establish a BLUETOOTH connection and for encrypting BLE communications between devices  210 ,  220  and module  206 . 
     A Key BTUDev  is also shared between devices  210 ,  220  and vehicle module  206  by a trusted entity. Once installed within the respective devices or module, this Key BTUDev  will be bound to the device or module and may not be transferred out to another device or module as this key Key BTUDev  will be used for encrypting commands and data that are sent through the BLE communications between devices  210 ,  220  and module  206  thereby increasing the security of the transmitted data. 
       FIG. 3  illustrates a block diagram representative of components of an electronic device  300  that is provided within user devices  210 ,  220  and module  206  for implementing embodiments in accordance with embodiments of the disclosure. One skilled in the art will recognize that the exact configuration of each electronic device provided within the user devices or the vehicle module may be different and the exact configuration of electronic device  300  may vary and  FIG. 3  is provided by way of example only. 
     In embodiments of the disclosure, device  300  comprises controller  301  and user interface  302 . User interface  302  is arranged to enable manual interactions between a user and electronic device  300  and for this purpose includes the input/output components required for the user to enter instructions to control electronic device  300 . A person skilled in the art will recognize that components of user interface  302  may vary from embodiment to embodiment but will typically include one or more of display  340  that may be touchscreen enabled, keyboard  335  and track-pad  336 . 
     Controller  301  is in data communication with user interface  302  via bus  315  and includes memory  320 , central processing unit (CPU)  305  mounted on a circuit board that processes instructions and data for performing the method of this embodiment, an operating system  306 , an input/output (I/O) interface  330  for communicating with user interface  302  and a communications interface, in this embodiment in the form of a network card  350 . Network card  350  may, for example, be utilized to send data from electronic device  300  via a wired or wireless network to other processing devices or to receive data via the wired or wireless network. Wireless networks that may be utilized by network card  350  include, but are not limited to, WI-FI, BLUETOOTH, Near-Field Communication (NFC), cellular networks, satellite networks, telecommunication networks, wide area networks (WANs) and etc. 
     Memory  320  and operating system  306  are in data communication with CPU  305  via bus  310 . The memory components include both volatile and non-volatile memory and more than one of each type of memory, including random-access memory (RAM)  320 , read-only memory (ROM)  325  and a mass storage device  345 , the last comprising one or more solid-state drives (SSDs). Memory  320  also includes secure storage  346  for securely storing secret keys, or private keys. It should be noted that the contents within secure storage  346  are only accessible by a super-user or administrator of device  300  and may not be accessed by any user of device  300 . One skilled in the art will recognize that the memory components described above comprise non-transitory computer-readable media and shall be taken to comprise all computer-readable media except for a transitory, propagating signal. Typically, the instructions are stored as program code in the memory components but can also be hardwired. Memory  320  may include a kernel and/or programming modules such as a software application that may be stored in either volatile or non-volatile memory. 
     Herein the term “CPU” is used to refer generically to any device or component that can process such instructions and may include a microprocessor, microcontroller, programmable logic device or other computational device. That is, CPU  305  may be provided by any suitable logic circuitry for receiving inputs, processing them in accordance with instructions stored in memory and generating outputs (for example to the memory components or on display  340 ). In this embodiment, CPU  305  may be a single core or multi-core processor with memory addressable space. In one example, CPU  305  may be multi-core, comprising—for example—an 8 core CPU. 
     In the subsequent sections, for brevity, reference is made only to the interactions between user device  210  and vehicle module  206 . One skilled in the art will recognize that user device  210  may be replaced with device  220  or any other similar devices without departing from this disclosure. 
     In the subsequent sections, for brevity, reference is made only to the authenticating a BLUETOOTH connection between a user device and a vehicle using BLE technology. One skilled in the art will recognize that the BLUETOOTH connection may be replaced with WI-FI connection or any other wireless connection without departing from this disclosure. In other words, the following method for authenticating are involved can be used for authenticating wireless connection between a user device and a vehicle. 
     As illustrated in  FIG. 4 , vehicle module  206  is configured to periodically transmit BLE beacons that contain the unique credentials/Identity of the vehicle  205 . This is illustrated at step  412 . When user  215  starts walking towards vehicle  205  and when user  215  is within communication range of the vehicle&#39;s BLE beacons, the user&#39;s personal device(s)  210  will detect and receive the BLE beacon transmitted from vehicle module  206 . The vehicle&#39;s ID/credentials as contained in the BLE beacon is then used to identify that the vehicle  205  belongs to user  215 . In accordance with embodiments of the disclosure, at step  415 , when device  210  has determined that vehicle  205  belongs to user  215 , device  210  will establish a BLUETOOTH pairing between device  210  and vehicle module  206  using the Key BTCon , that was previously shared between device  210  and vehicle module  206  by a trusted entity. 
     The step  412  and step  415  are set up a BLUETOOTH pairing between the user device  210  and the vehicle module  206 . The course of setting up a BLUETOOTH pairing is a process to be performed when the user device  210  and the vehicle module  206  first establish a BLUETOOTH connection. 
     After the BLUETOOTH pairing has been completed when the user device  210  closed to the vehicle module  206 . The user device  210  can establish a BLUETOOTH connection directly with the vehicle module  206  and the user device  210  needn&#39;t re-entering the Key BTCon . Once the BLUETOOTH pairing has been completed, device  210  will then generate an initiation instruction defined as (ID UDev ∥CMD_START_AUTH, MAC (Key BTUDev , ID UDev ∥CMD_START_AUTH)) where initiation MAC M Ini  is defined as MAC (Key BTUDev , ID UDev ∥CMD_START_AUTH), ID UDev  is defined as the identity of the user&#39;s device  210  and CMD_START_AUTH is an initiation command identifier for instructing vehicle module  206  to initiate communications. The notation MAC (k, m) is a message authentication code using SHA-256 hash algorithm for a message m using a key k. At step  420 , the initiation instruction is then communicated to vehicle module  206 . 
     The user device  210  can based on the distance between the user device  210  and the vehicle module  206  generate the initiation instruction, for example when the user device  210  close to the vehicle module  206  the user device  210  generate the initiation instruction. 
     The user device  210  can based on the user&#39;s instruction generate the initiation instruction, for example when the user click the start button the user device  210  generate the initiation instruction. 
     Upon receiving the initiation instruction, vehicle module  206  will extract the identity ID UDev  of user device  210  is from the initiation instruction. The extracted identity ID UDev  is then used to retrieve a corresponding Key BTUDev  from a database linked to vehicle module  206 . The corresponding BUD Key, Key BTUDev , is then used to validate the initiation instruction. Once validated, vehicle module  206  will then generate an acknowledgement instruction at step  425  whereby the acknowledgement instruction is defined as (E(Key BTUDev , n∥r∥CMD_ACK_AUTH), MAC(Key BTUDev , n∥r∥CMD_ACK_AUTH)), where acknowledgement MAC MAC Ack  is defined as MAC(Key BTUDev , n∥r∥CMD_ACK_AUTH), the E(k, m) is an encryption function to encrypt message m with key k, CMD_ACK_AUTH is an acknowledgement command identifier for acknowledging a device, n is a nonce, and r is a random string. The acknowledgement instruction is then communicated to user device  210 . 
     Upon receiving the initiation instruction, the vehicle module  206  will extract the identity ID UDev  of user device  210  is from the initiation instruction. Once validated, the vehicle module  206  cannot execute the step  425 . 
     In embodiments of the disclosure, vehicle module  206  is then configured to record physical layer features (PF) of the BLE channel established between the user device  210  and vehicle module  205 . In embodiments of the disclosure, the physical features of the BLE channel may comprise RSS measures that were measured using a timer function with a t milliseconds (ms) timeout for a particular time period, e.g. a few seconds (4-5 seconds (s)) during which the user is walking towards his/her car. 
     Alternatively, the physical features of the BLE channel may comprise RSS measures that were measured in a time window, e.g. the time window set to 50 s and the vehicle module  206  measured the RSS ten timers in the time window. 
     Alternatively, a challenge response protocol can be employed for a synchronized PF reading between two parties with nonce n being applied to all communications. Here, the response must be sent within channel coherence time which typically comprises a few milliseconds. The recording of the physical layer features of the BLE channel PF TBox  or PF Veh  by vehicle module  206  is illustrated as step  435 . One skilled in the art will recognize that step  435  may take place prior to the communication of the acknowledgement instruction or after the communication of the acknowledgement instruction without departing from the disclosure. Upon receiving the acknowledgement instruction, user device  210  will then validate the received acknowledgement instruction using the BUD Key, Key BTUDev . Upon successfully validating the instruction, the acknowledgement message is then decrypted using the Key BTUDev . The acknowledgement command is then retrieved from the decrypted message and the acknowledgement command causes the user device  210  to then record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel at step  430 . 
     After step  430 , both the user device  210  and vehicle module  206  will each have a set of physical layer features of the BLE beacon&#39;s channel recorded, i.e. PF UDev  for user device  210 , and PF TBox  or PF Veh  for vehicle module  206 . The recorded set of physical layer features PF UDev  and the set of physical layer features PF TBox  or PF Veh  are then mutually validated by a fuzzy extractor mechanism. 
     When the devices are connected over BLE, the wireless BLE channel exhibits reciprocity property, i.e. the wireless channels physical features e.g. signal strength, measured by both the legitimate devices in quick succession (within few a milliseconds) will be nearly the same. When two devices record these features over a short period of time, the overall variation observed by the two devices will be highly correlated. It should be noted that, the values may not be exactly similar, however, the overall trend or pattern of the two datasets will be nearly similar. Further, due to reciprocity property of the wireless channel, the recorded sets of PF UDev  and PF TBox  or PF Veh  will both show high correlation in their variation trends even though the individually recorded values may not be exactly same because of in-channel noise, hardware factors, etc. 
     At the same time, when an adversary or eavesdropper (third device/attacker) eavesdrops on the communication between the two legitimate devices (user&#39;s device and the vehicle module) and records the signal features, his/her channel features will be totally different compared to the recording done by legitimate devices. This is because, although the adversary is in the vicinity of the legitimate devices, the signal captured by him/her will be different due to the multi-path effects of the wireless channel, i.e., the signal takes different multiple paths to reach the adversary&#39;s device. Hence, the adversary cannot even guess the values obtained by car and user&#39;s device. Even if the adversary were to adopt the same scheme as the legitimate devices, he/she cannot be successful in authenticating the communications between the user device and the vehicle module.  FIG. 5  illustrates the received signal strength variation as recorded by user device, vehicle module and adversary for the above scenario whereby plot  505  shows the recorded RSS for the user device, plot  510  shows the recorded RSS for the vehicle module and  515  shows the recorded RSS for the adversary. 
     Further, apply filtering to remove noise component in the recorded RSS on both the devices. A low pass filtering method is applied to original RSS (as shown in  FIG. 5 ) to obtain filtered signals. the filtered receive signal strength variation as recorded by user device, vehicle module and adversary for the above scenario whereby plot  505  shows the filtered RSS for the user device, plot  510  shows the filtered RSS for the vehicle module and  515  shows the filtered RSS for the adversary. 
     And then, employ Binary quantization, i.e., m-ary quantization for processing the RSS samples (PF). 
     W—number of samples in window. 
     m—number of levels e.g., 2 or 4 or 8 etc. 
     A guard band (space) is inserted between two consecutive quantization levels. The samples in guard band are discarded. 
     Other samples are encoded as per their levels Q i . 
     The ratio of guard band to data is denoted as α. 
     The size of quantization interval and guard band are calculated as follows: 
     
       
         
           
             
               
                 
                   ∫ 
                   
                     
                       l 
                       i 
                     
                     - 
                     1 
                   
                   
                     
                       l 
                       i 
                     
                     - 
                     
                       g 
                       i 
                     
                   
                 
                 ⁢ 
                 
                   f 
                   ⁢ 
                   
                     s 
                     ˜ 
                   
                   ⁢ 
                   d 
                   ⁢ 
                   
                     s 
                     ~ 
                   
                 
               
               = 
               
                 
                   1 
                   - 
                   α 
                 
                 m 
               
             
             , 
             
               
                 
                   ∫ 
                   
                     
                       l 
                       i 
                     
                     - 
                     
                       g 
                       i 
                     
                   
                   
                     l 
                     i 
                   
                 
                 ⁢ 
                 
                   f 
                   ⁢ 
                   
                     s 
                     ˜ 
                   
                   ⁢ 
                   d 
                   ⁢ 
                   
                     s 
                     ˜ 
                   
                 
               
               = 
               
                 
                   α 
                   
                     m 
                     - 
                     1 
                   
                 
                 . 
               
             
           
         
       
     
     Further, it should be noted that the disclosure allows both parties to detect active man-in-the-middle attacks as symmetric keys and signal variation patterns are employed to detect and authenticate the devices. Only the pair of connected wireless devices can have similar RSS values due to reciprocity property of wireless channel. This means that adversaries or other BLE devices in the vicinity of legitimate devices cannot predict the RSS values obtained by legitimate parties. The RSS trend can be used to confirm if the user is really approaching i.e., RSS value increases as the user approaches the vehicle. Hence, both the party&#39;s user&#39;s device and vehicle module can confirm this behavior. Therefore, the disclosure provides strong mutual authentication with the help of Physical layer features of wireless channel (BLE) that cannot be spoofed or guessed by an adversary/eavesdropper. The legitimate parties will get know by their physical layer features if there is any attack during authentication. Thus, relay and impersonation attacks are mitigated by the disclosure. 
     In order to authenticate the physical layer features of the BLE beacon&#39;s channel as recorded by the user device  210  and the vehicle module  206 , a cryptographically secure fuzzy extractor based mechanism is employed. A fuzzy extractor mechanism consists of a pair of functions gen  605  and rep  610  whereby the properties of these two functions  605 ,  610  are shown in  FIG. 6A . The Gen function takes an input, a set of values w and produces a string s and set H. The rep function takes two inputs, a set w′ which is nearly same as w, but has some errors with respect to w, and H produced by gen, to produce s which is exactly same as the s produced by gen. The exact workings of the fuzzy extractor mechanism are omitted for brevity. 
     Hence, as illustrated in  FIG. 6B , when the gen function  605  is used on the physical layer features of the BLE beacon&#39;s channel as recorded by the user device, the gen function takes in as its input the set of PF UDev  and produces two outputs s UDev  and C. As for the rep function  610 , this function is applied by vehicle module  206  by taking as its input the physical layer features of the BLE beacon&#39;s channel as recorded by the vehicle module, PF TBox  or PF Veh  and C to produce seen that will be similar as that of s UDev . 
     The mutual authentication of the physical layer features of the BLE beacon&#39;s channel as recorded by both the user device  210  and vehicle module  206  is illustrated in  FIG. 7 . At step  705 , user device  210  first applies a low pass filter to PF UDev  to remove any spikes that may occur due to noise in the channel. Subsequently at step  710 , the Gen function is then applied to the set of recorded physical layer features of the BLE beacon&#39;s channel PF UDev  to generate string s UDev  and correction data C. 
     A verification instruction defined as (E(Key BTUDev , n∥C∥CMD_HLP), MAC(Key BTUDev , n∥C∥CMD_HLP)) is then generated at step  715 , where verification MAC M Ver  is defined as MAC(Key BTUDev , n H C CMD_HLP), and CMD_HLP is a verification command identifier for instructing the vehicle module initiate mutual authentication steps. 
     At step  725 , an authentication check instruction defined as E(Key BTUDev , n∥(r XOR s UDev )∥CMD_AUTH_CHK), MAC(Key BTUDev , n∥(r XOR s UDev )∥CMD_AUTH_CHK)) is then generated, where authentication check MAC M Auth_chk  is defined as MAC(Key BTUDev , n∥(r XOR s UDev )∥CMD_AUTH_CHK), and CMD_AUTH_CHK is an authentication check command identifier for instructing the vehicle module to compare the recorded physical layer features of the BLE beacon and XOR is a logic XOR operation. 
     Upon receiving the verification instruction and decrypting and validating the verification instruction, at step  720 , C parameters are extracted from the verification instruction. Vehicle module  206  then applies filtering and at step  730 , the Rep function is applied to the set of recorded physical layer features of the BLE beacon&#39;s channel PF TBox  or PF Veh  and C to produce s Veh . 
     Upon receiving the authentication check instruction and decrypting and validating the authentication check instruction, vehicle module  206  verifies whether ((r XOR s UDev ) as extracted from the authentication check message is same as ( r  XOR s Veh ) that was generated by vehicle module  206 . This is done at step  732 . If it is determined that both are the same, then the authentication is considered successful, and an approval instruction defined as (E(Key BTUDev , n∥CMD_AUTH_OK), MAC(Key BTUDev , n∥CMD_AUTH_OK)) is generated where approval MAC M Apprv  is defined as MAC(Key BTUDev , n∥CMD_AUTH_OK), CMD_AUTH_OK is an approval command identifier and the approval instruction is sent to user device  210  at step  735 . 
     Conversely, if the verification fails, an error instruction defined as (E(Key BTUDev , n∥CMD_AUTH_FAIL), MAC(Key BTUDev , n∥CMD_AUTH_FAIL)) is generated where error MAC M Error  is defined as MAC(Key BTUDev , n∥CMD_AUTH_FAIL), CMD_AUTH_FAIL is an error command identifier and the error instruction is sent to user device  210  and the authentication is then rejected at step  740 . 
     Upon receiving the instructions, the user device will validate either the received approval instruction or the error instruction using the Key BTUDev . Once validated, the user device then proceeds to decrypt either the approval or error instruction. 
     In embodiments of the disclosure, if the BLUETOOTH on a user&#39;s device is not turned on while he/she is approaching the vehicle, automatic detection and authentication with the vehicle may not occur. Hence, in such a scenario, when the notices the device&#39;s status indicates that the device is not connected to the vehicle, the user then turns on BLUETOOTH on his user device to enable the device to connect to the vehicle. Upon successfully pairing the device with the vehicle&#39;s module, the user device will detect that the user is already near the car using RSS information obtained during the pairing step. The user will then be notified via an application on their device to wave his/her device towards the vehicle, i.e. to move the device in random manner a few times. If the device is a smartphone, the user will just need to wave it towards the vehicle, and if the device is a smartwatch worn on wrist, the user just needs to wave the watch in the direction of the vehicle to authenticate as described above. 
     Second Embodiment: PKI Based Solution 
     In another embodiment of the disclosure, in addition to pre-sharing the Key BTCon , the Key BTUDev  between devices  210 ,  220  and vehicle module  206  by a trusted entity, public-private key pairs are also provided by the trusted entity to devices  210 ,  220  and vehicle module  206 . 
     As illustrated in  FIG. 8 , vehicle module  206  is configured to periodically transmit BLE beacons that contain the unique credentials/Identity of the vehicle  205 . This is illustrated as step  810 . When user  215  is within communication range of the vehicle&#39;s BLE beacons, the user&#39;s personal device(s)  210  will detect and receive the BLE beacon transmitted from vehicle module  206 . The vehicle&#39;s ID/credentials as contained in the BLE beacon is then used to identify that the vehicle  205  belongs to user  215 . 
     In accordance with embodiments of the disclosure, at step  815 , when device  210  has determined that vehicle  205  belongs to user  215 , device  210  will establish a BLUETOOTH pairing between device  210  and vehicle module  206  using the Key BTCon , that was previously shared between device  210  and vehicle module  206  by a trusted entity. 
     The step  810  and step  815  are set up a BLUETOOTH pairing between the user device  210  and the vehicle module  206 . The course of setting up a BLUETOOTH pairing is a process to be performed when the user device  210  and the vehicle module  206  first establish a BLUETOOTH connection. 
     After the BLUETOOTH pairing has been completed when the user device  210  closed to the vehicle module  206 . The user device  210  can establish a BLUETOOTH connection directly with the vehicle module  206  and the user device  210  needn&#39;t re-entering the Key BTCon . 
     Once the BLUETOOTH pairing has been completed, device  210  will then generate an initiation instruction defined as (E(Key Pub_Veh , m 0 ), S(Key Priv_Udev , m 1 )), where initiation message m 0  is defined as (ID UDev ∥CMD_START_AUTH), ID UDev  is the identity of the user&#39;s device, and CMD_START_AUTH is the initiation command identifier for instructing vehicle module  206  to initiate communications. The encryption function E(k, m) causes message m to be encrypted with key k, m 1  is defined as H(Key BTUDev , E(Key Pub_Veh , m 0 )), and the signing function S(k, m) causes message m to be signed using key k. H comprises a hash function that performs the hash using SHA-256 hash algorithm. At step  820 , the initiation instruction is then communicated to vehicle module  206 . The user device  210  can based on the distance between the user device  210  and the vehicle module  206  generate the initiation instruction, for example when the user device  210  close to the vehicle module  206  the user device  210  generate the initiation instruction. 
     The user device  210  can based on the user&#39;s instruction generate the initiation instruction, for example when the user click the start button the user device  210  generate the initiation instruction. 
     Upon receiving the initiation instruction, the vehicle module  206  will verify the signed-hashed-encrypted initiation message in the initiation instruction using a Key Pub_UDev , and when it is verified, the vehicle module  206  then decrypts the encrypted initiation message using a Key Priv_Veh . Based on the decrypted initiation message, a corresponding K BTUDev , for ID UDev  is then retrieved from a database. 
     Vehicle module  206  will then generate an acknowledgement instruction at step  825  whereby the acknowledgement instruction is defined as (E(Key BTUDev , m 2 ), S(Key Priv_Veh , m 3 )), where, m 2  is defined as (n∥r∥CMD_ACK_AUTH), where CMD_ACK_AUTH is an acknowledgement command identifier for acknowledging a device, n is a nonce, and r is a random string, and m 3  is defined as H(Key BTUDev , E(Key BTUDev , m 2 )). The acknowledgement instruction is then communicated to user device  210 . Upon receiving the initiation instruction, the vehicle module  206  will extract the identity ID UDev  of user device  210  is from the initiation instruction. Once validated, the vehicle module  206  cannot execute the step  825 . 
     In embodiments of the disclosure, vehicle module  206  is then configured to record physical layer features (PF) of the BLE channel established between the user device  210  and vehicle module  205 . In embodiments of the disclosure, the physical features of the BLE channel may comprise RSS measures that were measured using a timer function with a t ms timeout for a particular time period, e.g. a few seconds (4-5 s) during which the user is walking towards his/her car. 
     Alternatively, the physical features of the BLE channel may comprise RSS measures that were measured in a time window, e.g. the time window set to 50 s and the vehicle module  206  measured the RSS ten timers in the time window. 
     Alternatively, a challenge response protocol can be employed for a synchronized PF reading between two parties with nonce n being applied to all communications. Here, the response must be sent within channel coherence time which typically comprises a few milliseconds. The recording of the physical layer features of the BLE channel PF TBox  or PF Veh  by vehicle module  206  is illustrated as step  835 . One skilled in the art will recognize that step  835  may take place prior to the communication of the acknowledgement instruction or after the communication of the acknowledgement instruction without departing from the disclosure. 
     Upon receiving the acknowledgement instruction, user device  210  will then verify the signed-hashed-encrypted acknowledgement message in the acknowledgement instruction using a PKI-Public Key associated with the vehicle module, Key Pub_Veh . The encrypted acknowledgement message is then decrypted using the K BTUDev  when the signed-hashed-encrypted acknowledgement message is verified. Once the message is decrypted, the user device  210  then proceeds to record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel at step  830 . 
     After step  830 , both the user device  210  and vehicle module  206  will each have a set of physical layer features of the BLE beacon&#39;s channel recorded, i.e. PF UDev  for user device  210 , and PF TBox  or PF Veh  for vehicle module  206 . The recorded set of physical layer features PF UDev  and the set of physical layer features PF Veh  or PF Veh  are then mutually validated by a fuzzy extractor mechanism which has been described in detail in the previous embodiment. 
     The mutual authentication of the physical layer features of the BLE beacon&#39;s channel as recorded by both the user device  210  and vehicle module  206  is illustrated in  FIG. 9 . At step  905 , user device  210  first applies a low pass filter to PF UDev  to remove any spikes that may occur due to noise in the channel. Subsequently at step  910 , the Gen function is then applied to the set of recorded physical layer features of the BLE beacon&#39;s channel PF UDev  to generate user string s UDev  and correction data C. 
     A verification instruction defined as (E(Key BTUDev , S(Key Priv_Udev , m 5 )) is generated at step  915 , where m 4  is defined as (n∥C∥CMD_HLP), where CMD_HLP is a verification command identifier for instructing the vehicle module initiate mutual authentication steps, m 5  is defined as H(Key BTUDev , E(Key BTUDev , m 4 )). 
     At step  925 , an authentication check instruction defined as (E(Key BTUDev , m 6 ), S((Key Priv_Udev , m 7 )) is then generated, where m 6  is defined as (n∥(r XOR S UDev )∥CMD_AUTH_CHK), where CMD_AUTH_CHK is an authentication check command identifier for instructing the vehicle module to compare the recorded physical layer features of the BLE beacon and XOR is a logic XOR operation and m 7  is defined as H(Key BTUDev , E(Key BTUDev , m 6 )). 
     Upon receiving the verification instruction, the signed-hashed-encrypted verification message in the verification instruction is verified using a Key Pub_UDev . The encrypted verification message is then decrypted using the corresponding K BTUDev , and the correction data C is extracted from the decrypted verification message. The vehicle module then filters the extracted correction data C and the set of physical layer features PF Box  or PF Veh  using a low pass filter when the verification instruction is validated at step  920 . A vehicle string S Veh  is then generated by providing the filtered set of physical layer features PF Veh  and the filtered correction data C to a rep function of the fuzzy extractor mechanism at step  930 . 
     Similarly, upon receiving the authentication check instruction, the signed-hashed-encrypted authentication check message in the authentication check instruction is verified using a Key Pub_UDev . The encrypted authentication check message is then decrypted using the corresponding K BTUDev , when the signed-hashed-encrypted authentication check message is verified. 
     Upon decrypting and validating the authentication check instruction, vehicle module  206  verifies whether ((r XOR s UDev ) as extracted from the authentication check message is same as ( r  XOR s Veh ) that was generated by vehicle module  206 . This is done at step  932 . If it is determined that both are the same, then the authentication is considered successful, and an approval instruction defined as (E(Key BTUDev , m 8 ), S(Key Priv_Veh , m 9 )) is generated, where m 8 =(n CMD_AUTH_OK), m 9 =H(Key BTUDev , E(Key BTUDev , m 8 )), and CMD_AUTH_OK is an approval command identifier to approve the mutual authentication. The approval instruction is then sent to user device  210  at step  935 . 
     Conversely, if the verification fails, an error instruction defined as (E(Key BTUDev , m 10 ), S(Key Priv_Veh , m 11 )) is generated and mutual authentication is rejected, where m 10  is defined as (n∥CMD_AUTH_FAIL), where mu is defined as H(Key BTUDev , E(Key BTUDev , m 10 )), and CMD_AUTH_FAIL is the error command to reject the mutual authentication process. The error instruction is then sent to user device  210  at step  940 . 
     Upon receiving the approval instructions, the user device will verify the signed-hashed-encrypted approval message in the approval instruction using a Key Pub_Veh . The encrypted approval message is then decrypted using the K BTUDev , when the signed-hashed-encrypted approval message is verified. The authentication of the user device and the vehicle module is then completed based on the approval command in the decrypted approval message. 
     Conversely, upon receiving the error instructions, the user device will verify the signed-hashed-encrypted error message in the error instruction using a Key Pub_Veh . The encrypted error message is then decrypted using the K BTUDev , when the signed-hashed-encrypted error message is verified. The authentication of the vehicle module and the user device is then rejected based on the error command in the decrypted approval message. 
     In accordance with another embodiment of the disclosure, with reference to  FIG. 2  and  FIG. 3 , either one of user devices  210  or  220  may be used to authenticate BLUETOOTH or wireless communications with vehicle module  206 . In particular, user device  210  has a processor  305  and a non-transitory media  320  readable by the processor  305  whereby the non-transitory media  320  is configured to store instructions. When these instructions are executed by the processor  305 , the instructions cause processor  305  to generate an initiation instruction based on an identity of the user device ID UDev , an initiation command, and an initiation MAC M Ini , wherein the MAC M Ini  is generated based on the identity of the user device ID UDev , the initiation command and a K BTUDev  that is shared between the user device  210  and the vehicle module  206 , communicate the initiation instruction to the vehicle module  206  such that upon receiving the initiation instruction, the vehicle module  206  is configured to retrieve a corresponding K BTUDev , from a database, based on the received initiation instruction and validate the initiation instruction using the retrieved corresponding K BTUDev , generate an acknowledgement instruction based on an encrypted acknowledgement message and an acknowledgement MAC M Ack , when the initiation instruction is validated, wherein the acknowledgement message comprises a nonce n, a random string r, and an acknowledgement command and the acknowledgement message is encrypted using the corresponding K BTUDev , and the acknowledgement MAC M Ack  is generated based on the acknowledgement message and the corresponding K BTUDev , communicate the acknowledgement instruction to the user device  210 , record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, the user device  210  further comprising instructions for directing the processor to validate the acknowledgement instruction using the K BTUDev , record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel when the acknowledgement instruction is validated, and authenticate the vehicle module  206  when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     In accordance with yet another embodiment of the disclosure, with reference to  FIG. 2  and  FIG. 3 , either one of user devices  210  or  220  may be used to authenticate BLUETOOTH or wireless communications with vehicle module  206 . In particular, user device  210  has a processor  305  and a non-transitory media  320  readable by the processor  305  whereby the non-transitory media  320  is configured to store instructions. When these instructions are executed by the processor  305 , the instructions cause processor  305  to encrypt an initiation message, m o , comprising an identity of the user device ID UDev  and an initiation command, using a Public Key Infrastructure (PKI)-Public Key associated with a vehicle module, Key Pub_Veh , hash the encrypted initiation message using a K BTUDev , and sign the hashed-encrypted initiation message using a Key Priv_UDev , generate an initiation instruction based on the encrypted initiation message and the signed-hashed-encrypted initiation message, communicate the initiation instruction to the vehicle module  206  such that upon receiving the initiation instruction, the vehicle module  206  is configured to verify the signed-hashed-encrypted initiation message in the initiation instruction using a Key Pub_UDev , decrypt the encrypted initiation message using a PKI-private key associated with the vehicle module  206 , Key Priv_Veh  and retrieve a corresponding K BTUDev , from a database, based on the decrypted initiation message when the signed-hashed-encrypted initiation message is verified, encrypt an acknowledgement message, m 2 , comprising a nonce n, a random string r, and an acknowledgement command, using the corresponding K BTUDev , hash the encrypted acknowledgement message using the corresponding K BTUDev , and sign the hashed-encrypted acknowledgement message using the Key Priv_Veh , generate an acknowledgement instruction based on the encrypted acknowledgement message and the signed-hashed-encrypted acknowledgement message, communicate the acknowledgement instruction to the user device  210 , record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, the user device  210  further comprising instructions for directing the processor to verify the signed-hashed-encrypted acknowledgement message in the acknowledgement instruction using a Key Pub_Veh , decrypt the encrypted acknowledgement message using the K BTUDev  when the signed-hashed-encrypted acknowledgement message is verified, record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel, and authenticate the vehicle module  206  when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     In accordance with yet another embodiment of the disclosure, with reference to  FIG. 2  and  FIG. 3 , vehicle module  206  may be used to authenticate BLUETOOTH or wireless communications with either one of user devices  210  or  220 . In particular, user device  210  has a processor  305  and a non-transitory media  320  readable by the processor  305  whereby the non-transitory media  320  is configured to store instructions. When these instructions are executed by the processor  305 , the instructions cause processor  305  to receive an initiation instruction from the user device, wherein the initiation instruction is generated based on an identity of the user device ID UDev , an initiation command, and an initiation MAC M Ini , whereby the MAC M Ini  is generated based on the identity of the user device ID UDev , the initiation command and a K BTUDev  that is shared between the user device  210  and the vehicle module  206 , retrieve a corresponding K BTUDev , from a database, based on the received initiation instruction and validate the initiation instruction using the retrieved corresponding K BTUDev , generate an acknowledgement instruction based on an encrypted acknowledgement message and an acknowledgement MAC M Ack , when the initiation instruction is validated, wherein the acknowledgement message comprises a nonce n, a random string r, and an acknowledgement command and the acknowledgement message is encrypted using the corresponding K BTUDev , and the acknowledgement MAC M Ack  is generated based on the acknowledgement message and the corresponding K BTUDev , record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, communicate the acknowledgement instruction to the user device  210  such that upon receiving the acknowledgement instruction, the user device  210  is configured to validate the acknowledgement instruction using the K BTUDev , record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel when the acknowledgement instruction is validated, and authenticate the vehicle module when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     In accordance with yet another embodiment of the disclosure, with reference to  FIG. 2  and  FIG. 3 , vehicle module  206  may be used to authenticate BLUETOOTH or wireless communications with either one of user devices  210  or  220 . In particular, user device  210  has a processor  305  and a non-transitory media  320  readable by the processor  305  whereby the non-transitory media  320  is configured to store instructions. When these instructions are executed by the processor  305 , the instructions cause processor  305  to receive an initiation instruction from the user device  210 , wherein the initiation instruction is generated based on an encrypted initiation message and a signed-hashed-encrypted initiation message, the initiation message m o  which comprises an identity of the user device ID UDev  and an initiation command, is encrypted using a Key Pub_Veh , and the encrypted initiation message is hashed using a K BTUDev , and signed using a Key Priv_UDev , verify the signed-hashed-encrypted initiation message in the initiation instruction using a Key Pub_UDev , decrypt the encrypted initiation message using a Key Priv_UDev  and retrieve a corresponding K BTUDev , from a database, based on the decrypted initiation message when the signed-hashed-encrypted initiation message is verified, encrypt an acknowledgement message, m 2 , comprising a nonce n, a random string r, and an acknowledgement command, using the corresponding K BTUDev , hash the encrypted acknowledgement message using the corresponding K BTUDev , and sign the hashed-encrypted acknowledgement message using the Key Priv_Veh , generate an acknowledgement instruction based on the encrypted acknowledgement message and the signed-hashed-encrypted acknowledgement message, record a set of physical layer features PF Veh  of the BLE beacon&#39;s channel, communicate the acknowledgement instruction to the user device  210  such that upon receiving the acknowledgement instruction, the user device  210  is configured to verify the signed-hashed-encrypted acknowledgement message in the acknowledgement instruction using a Key Pub_Veh , decrypt the encrypted acknowledgement message using the K BTUDev  when the signed-hashed-encrypted acknowledgement message is verified, record a set of physical layer features PF UDev  of the BLE beacon&#39;s channel, and authenticate the vehicle module  206  when the set of physical layer features PF UDev  and the set of physical layer features PF Veh  are validated by a fuzzy extractor mechanism. 
     The above is a description of embodiments of a system and process in accordance with the present disclosure as set forth in the following claims. It is envisioned that others may and will design alternatives that fall within the scope of the following claims.