Secure GUID for wireless communication
An example operation includes one or more of receiving a message from a user device, the message comprising a timestamp, a random number, and a hash value, identifying a globally unique identifier (GUID) in a storage of a software application, combining the timestamp, the random number, and the GUID to generate a combined value, and hashing the combined value to generate a local hash value, and establishing a connection between the software application and the user device when the local hash value matches the hash value.
1 . A method, comprising:
receiving a message from a user device, the message comprising a timestamp, a random number, and a hash value;
identifying a globally unique identifier (GUID) in a storage of a software application;
combining the timestamp, the random number, and the GUID to generate a combined value, and hashing the combined value to generate a local hash value; and
establishing a connection between the software application and the user device when the local hash value matches the hash value.
2 . The method of claim 1 , wherein the software application is installed within a vehicle, and the establishing the connection comprises establishing a Bluetooth channel between the software application installed within the vehicle and the user device when the local hash value matches the hash value.
3 . The method of claim 1 , wherein the method further comprises retrieving a local timestamp from a system clock associated with the software application and determining a delta between the local timestamp and the timestamp, wherein the establishing comprises establishing the connection when the delta is less than a predefined threshold.
4 . The method of claim 1 , wherein the identifying comprises identifying a plurality of GUIDs in the storage of the software application, combining the timestamp and the random number with each of the plurality of GUIDs to generate a plurality of combined values, respectively, hashing the plurality of combined values to generate a plurality of local hash values, respectively, and identifying the local hash value from among the plurality of local hash values based on a comparison of the hash value to the plurality of local hash values.
5 . The method of claim 1 , wherein the method further comprises retrieving a local timestamp from a system clock associated with the software application, determining a delta between the local timestamp and the timestamp, and discarding the message without a response when the delta is greater than a predefined threshold.
6 . The method of claim 1 , wherein the combining comprises concatenating the timestamp, the random number, and the GUID in sequence to generate a concatenated value, and the hashing comprises hashing the concatenated value to generate the local hash value.
7 . The method of claim 1 , wherein the method further comprises receiving a command from the user device via the connection between the software application and the user device, and in response, executing an action via the software application based on the command.
8 . An apparatus comprising:
a memory; and
a processor coupled to the memory, the processor configured to:
receive a message from a user device, the message comprising a timestamp, a random number, and a hash value,
identify a globally unique identifier (GUID) in a storage of a software application,
combine the timestamp, the random number, and the GUID to generate a combined value, and hashing the combined value to generate a local hash value, and
establish a connection between the software application and the user device when the local hash value matches the hash value.
9 . The apparatus of claim 8 , wherein the software application is installed within a vehicle, and the processor is configured to establish a Bluetooth channel between the software application installed within the vehicle and the user device when the local hash value matches the hash value.
10 . The apparatus of claim 8 , wherein the processor is further configured to retrieve a local timestamp from a system clock associated with the software application and determine a delta between the local timestamp and the timestamp, wherein the processor is configured to establish the connection when the delta is less than a predefined threshold.
11 . The apparatus of claim 8 , wherein the processor is configured to identify a plurality of GUIDs in the storage of the software application, combine the timestamp and the random number with each of the plurality of GUIDs to generate a plurality of combined values, respectively, hash the plurality of combined values to generate a plurality of local hash values, respectively, and identify the local hash value from among the plurality of local hash values based on a comparison of the hash value to the plurality of local hash values.
12 . The apparatus of claim 8 , wherein the processor is further configured to retrieve a local timestamp from a system clock associated with the software application, determine a delta between the local timestamp and the timestamp, and discard the message without a response when the delta is greater than a predefined threshold.
13 . The apparatus of claim 8 , wherein the processor is configured to concatenate the timestamp, the random number, and the GUID in sequence to generate a concatenated value, and hash the concatenated value to generate the local hash value.
14 . The apparatus of claim 8 , wherein the processor is configured to receive a command from the user device via the connection between the software application and the user device, and in response, execute an action via the software application based on the command.
15 . A computer-readable storage medium comprising instructions stored therein which when executed by a processor cause the processor to perform:
receiving a message from a user device, the message comprising a timestamp, a random number, and a hash value;
identifying a globally unique identifier (GUID) in a storage of a software application;
combining the timestamp, the random number, and the GUID to generate a combined value, and hashing the combined value to generate a local hash value; and
establishing a connection between the software application and the user device when the local hash value matches the hash value.
16 . The computer-readable storage medium of claim 15 , wherein the software application is installed within a vehicle, and the establishing the connection comprises establishing a Bluetooth channel between the software application installed within the vehicle and the user device when the local hash value matches the hash value.
17 . The computer-readable storage medium of claim 15 , wherein the processor is further configured to perform retrieving a local timestamp from a system clock associated with the software application and determining a delta between the local timestamp and the timestamp, wherein the establishing comprises establishing the connection when the delta is less than a predefined threshold.
18 . The computer-readable storage medium of claim 15 , wherein the processor is further configured to perform retrieving a local timestamp from a system clock associated with the software application, determining a delta between the local timestamp and the timestamp, and discarding the message without a response when the delta is greater than a predefined threshold.
19 . The computer-readable storage medium of claim 15 , wherein the combining comprises concatenating the timestamp, the random number, and the GUID in sequence to generate a concatenated value, and the hashing comprises hashing the concatenated value to generate the local hash value.
20 . The computer-readable storage medium of claim 15 , wherein the processor is further configured to perform receiving a command from the user device via the connection between the software application and the user device, and in response, executing an action via the software application based on the command.