US 12,250,322 B2
Processing of mesh network data packets having invalid cyclic redundancy check (CRC) values
Piotr Winiarczyk, Cracow (PL); and Ravi Kiran Bamidi, Bangalore (IN)
Assigned to Silvair Sp. z o.o., Cracow (PL)
Filed by Silvair Sp. z o.o., Cracow (PL)
Filed on Aug. 2, 2022, as Appl. No. 17/879,142.
Claims priority of provisional application 63/233,377, filed on Aug. 16, 2021.
Prior Publication US 2023/0051075 A1, Feb. 16, 2023
Int. Cl. H04L 29/00 (2006.01); H04L 9/32 (2006.01); H04W 4/80 (2018.01); H04W 12/037 (2021.01)
CPC H04L 9/3242 (2013.01) [H04W 4/80 (2018.02); H04W 12/037 (2021.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a first mesh node, one or more packets transmitted by a second mesh node, wherein each of the one or more packets comprises a Protocol Data Unit (PDU) and a cyclic redundancy check (CRC) field, wherein the PDU comprises an AD Data field with multiple octets and comprising a Network Identifier (NID) field, and wherein the PDU, the CRC field, the AD Data field, and the NID field are defined as part of one or more Bluetooth Specifications;
determining whether the value of the CRC field in a first packet of the one or more packets is valid or invalid;
after determining the value of the CRC field to be invalid, selecting a selected set of one or more NID values that comprise either (i) a predetermined set of multiple NID values or (ii) the value of the NID field in the first packet, based at least in part on validity of the value of the NID field in the first packet; and
processing at least some of the multiple octets in the AD Data field in the first packet in accordance with a set of network keys that hash to the one or more NID values in the selected set, wherein the processing comprises deobfuscating a first field;
wherein deobfuscating the first field comprises:
(i) selecting a first network key from the set of network keys,
(ii) deobfuscating the first field using the first network key, resulting in a deobfuscated first field, and
(iii) determining whether the value of the deobfuscated first field is valid or invalid.