IP Library Granted Patent US 12671639
Granted Patent B2
US 12671639 · App. 18/938,418 · Granted Jun 30, 2026

System for bluetooth device indentification and process therefor

Inventor: Xeno Kovah (Colesville, MD)
Assignee: Dark Mentor LLC
H04L43/026H04L43/022H04W4/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12671639
App. No.
18/938,418
Granted
Jun 30, 2026
Kind
B2
Abstract

A computing system and process for performing identification of the type of computing devices communicating via wireless Bluetooth protocols. The computing system involves customized or non-customized computing systems that are configured to send queries via all protocols described in Bluetooth specifications, as well as vendor-specific protocols. The computing system analyzes raw data, in combination with behavioral data, in combination with ground-truth data about known devices, in order to establish a device identification about any computing device communicating via Bluetooth. In the absence of ground-truth data, device identification is inferred with an associated confidence level based on synthesis across all collected data.

Claims (56)

1 . A Bluetooth device identification system (DIS), comprising:

a memory to store programs to run process steps;

a database to store received data from devices to identify (DTI);

one or more Bluetooth chip processors configured with a transceiver that discovers nearby Bluetooth communication DTI of type Low Energy (BLE) and Basic Rate/Enhanced Data Rate (BR/EDR) which are in the area;

a collection channel connected to each of the one or more Bluetooth chip processors to collect data received from the discovered DTIs;

a main processor configured to execute process steps including:

selecting known packet types for protocols/profiles of interest received from the discovered DTIs,

transmitting each individual packet type externally to gather information from the discovered DTIs, and

receiving responses, including protocol/profile layers, to each of the transmitted packet types from the DTIs and storing the received responses in the database;

determining whether the received protocol/profile layers have behaviors which can be used to determine a device identification (DID);

selecting known device-differentiating behaviors for each of the received protocol/profile layers;

performing a behavioral assessment of the DTI; and

formatting collected data to store in the database.

2 . A Bluetooth device identification system (DIS), comprising:

a memory to store a program, the program comprising a set of instructions, each of the instructions corresponding to one or more process steps;

a database stored in the memory to store and/or track response data values from Bluetooth devices to be identified (DTI), the response data values generated by sending an inquiry packet to one or more DTI and, if a response packet is received, storing an actual response packet value;

one or more Bluetooth chip processors configured with a transceiver that discovers Bluetooth DTI of type Low Energy (BLE) and/or Basic Rate/Enhanced Data Rate (BR/EDR) which are in an area;

a collection channel connected to each of the one or more Bluetooth chip processors to collect data received from the discovered DTI;

at least one processor configured to execute the program and thus the process steps, the process steps including:

selecting one or more known inquiry packet types for one or more protocols and/or profiles of interest received from the discovered DTIs,

transmitting each selected individual inquiry packet type to at least one of the discovered DTI to generate response packets from the discovered DTI;

receiving one or more response packets, including protocol and/or profile information, from the DTI in response to each of the inquiry packet types and storing the corresponding response data values in the database; and

formatting collected data to store in the database.

3 . The Bluetooth device identification system (DIS) of claim 2 , wherein the database can also store a corresponding no-response packet value if no response packet is received in response to any given inquiry packet.

4 . The Bluetooth device identification system (DIS) of claim 2 , wherein the process steps further comprise:

determining whether any of the received protocol/profile layers have behaviors which can be used to determine a device identification (DID);

selecting known device-differentiating behaviors for each of the received protocol/profile layers which have such behaviors; and

performing a behavioral assessment of the DTI to collect additional response data values.

5 . The Bluetooth device identification system (DIS) of claim 2 , wherein the database can also store a corresponding no-response packet value if no response packet is received in response to any given inquiry packet, and wherein the process steps further comprise:

determining whether the received protocol/profile layers have behaviors which can be used to determine a device identification (DID);

selecting known device-differentiating behaviors for each of the received protocol/profile layers; and

performing a behavioral assessment of the DTI to collect additional response data values.

6 . The Bluetooth device identification system (DIS) of claim 5 , wherein the process steps further comprise:

determining whether it is more likely that no response packet was received in response to a given inquiry packet due to packet loss in transmission, or due to an error of response by a given DTI, or due to the given DTI not having a corresponding response value for the given inquiry packet;

using the determination of the previous step as a factor in determining known device-differentiating behaviors for each of the received protocol/profile layers; and

including the known device-differentiating behaviors determined in the previous step as part of the behavioral assessment of the DTI to collect additional response data values.

7 . The Bluetooth device identification system (DIS) of claim 2 , wherein at least one of the inquiry packet types has more than one possible valid configuration, and wherein the process steps further comprise:

sending at least one of the inquiry packets in at least two valid configurations to obtain a first response packet having a first response data value and a second response packet having a second response data value;

comparing the first response data value and the second response data value to produce a differentiation value and using the differentiation value as a factor in determining known device-differentiating behaviors for each of the received protocol/profile layers; and

including the known device-differentiating behaviors determined in the previous step as part of the behavioral assessment of the DTI to collect additional response data values.

8 . The Bluetooth device identification system (DIS) of claim 2 , wherein the Bluetooth chip processors can also passively detect one or more independent packets transmitted by Bluetooth DTI in the area, each independent packet having an independent data value, and can store the independent data packet values in the database.

9 . The Bluetooth device identification system (DIS) of claim 4 , wherein the Bluetooth chip processors can also passively detect one or more independent packets transmitted by Bluetooth DTI in the area, each independent packet having an independent data value, the Bluetooth chip processors can store the independent data packet values in the database, and the independent data packet values can be used as a second factor in determining known device-differentiating behaviors for a given DTI.

10 . The Bluetooth device identification system (DIS) of claim 2 , wherein the Bluetooth DIS can transmit one or more bad inquiry packets, the bad inquiry packets being purposefully configured to be nonconforming with one or more otherwise valid Bluetooth protocols and/or Bluetooth standards, and wherein the response packets sent by a given DTI in response to a bad inquiry packet produce bad inquiry response data values which can be stored in the database.

11 . The Bluetooth device identification system (DIS) of claim 4 , wherein the Bluetooth DIS can transmit one or more bad inquiry packets, the bad inquiry packets being purposefully configured to be nonconforming with one or more otherwise valid Bluetooth protocols and/or Bluetooth standards, and wherein the response packets sent by a given DTI in response to a bad inquiry packet produce bad inquiry response data values which can be used as a second factor in determining known device-differentiating behaviors for a given DTI.

12 . The Bluetooth device identification system (DIS) of claim 2 , wherein at least one of the inquiry packet types is a state machine inquiry packet that can affect a full state machine configuration of a given DTI, wherein the full state machine configuration of the given DTI in response to receiving a given state machine inquiry packet can be determined by the DIS to produce a full state machine response value, and wherein the full state machine response value can be stored in the database.

13 . The Bluetooth device identification system (DIS) of claim 4 , wherein at least one of the inquiry packet types is a state machine inquiry packet that can affect a full state machine configuration of a given DTI, wherein the full state machine configuration of the given DTI in response to receiving a given state machine inquiry packet can be determined by the DIS to produce a full state machine response value, and wherein the full state machine response value can be used as a second factor in determining known device-differentiating behaviors for the given DTI.

14 . The Bluetooth device identification system (DIS) of claim 12 , wherein the DIS either stores or dynamically generates a minimal-differentiator packet sequence (MDPS) which can be used to determine a sequence of inquiry packets which will differentiate two or more DTI which have full state machine configurations which are within an arbitrary degree of similarity.

15 . The Bluetooth device identification system (DIS) of claim 13 , wherein the DIS either stores or dynamically generates a minimal-differentiator packet sequence (MDPS) which can be used to determine a sequence of inquiry packets which will differentiate two or more DTI which have full state machine configurations which are within an arbitrary degree of similarity.

16 . The Bluetooth device identification system (DIS) of claim 2 , wherein the process steps further comprise:

determining whether any given DTI has and/or will transmit (ted) any response packets which include at least one device-specific actual value and if so masking out the device-specific actual value when the corresponding response data value is stored in the database.

17 . The Bluetooth device identification system (DIS) of claim 4 , wherein the process steps further comprise:

determining whether any given DTI has and/or will transmit (ted) any response packets which include at least one device-specific actual value and if so masking out the device-specific actual value when the corresponding response data value is stored in the database; and

using one or more properties of at least one of the response data values including a masked-out device-specific actual value, including but not limited to whether any of the response data values include such masked-out data values at all, as a second factor in determining known device-differentiating behaviors for the given DTI.

18 . The Bluetooth device identification system (DIS) of claim 2 wherein the processor, the memory, and at least one Bluetooth chip processor and/or a field programmable gate array which can receive and interpret Bluetooth signals are part of a single integrated circuit.

19 . The Bluetooth device identification system (DIS) of claim 4 wherein the processor, the memory, and at least one Bluetooth chip processor and/or field programmable gate array which can receive and interpret Bluetooth signals are part of a single integrated circuit.

20 . The Bluetooth device identification system (DIS) of claim 12 wherein at least two of the full state machine configurations possible to be present on a given DTI are identical on the edges, but have different internal substate configurations, such that the given DTI can be more accurately identified by determining its actual substate configuration in response to a given state machine inquiry packet.