Briefly
Any network device, will have its own unique MAC address, or in the case of a large amount of equipment, it is likely to cause confusion of communications. Bluetooth is a very wide range of technologies used in wireless communication, of course, its Bluetooth address is also quite important.
Bluetooth Address Brief
Types Division
-Public Address
-Random Address
Bluetooth address length, 48bit, which is 6 bytes.
Public Address
The address is fixed and is set by the manufacturer:
Public addr and resolvable random addr and unresolvable random addr
Random Address
The random address is actually divided into two types:
-Static Address
-Private Address
Static Address
This address is on the Bluetooth device after the successful initialization of the power, it will not change, and to turn off the power and restart before the use of a new value.
Private address
This is the private address of the non resolvable, whose value cannot be the same as the public address. For this kind of address, if there is no way to parse out, do not know the need for such an address what role? After you know it, add it again. But I think it might be a supplement to the public address.
This is the private address of the resolvable, the Prand part is a randomly generated 24bit value, the hash portion is generated using the following method:
hash = ah(IRK, prand)
Ah is an SMP part of the random address generation function, Irk is the key (Identity resolving key), the first randomly generated prand part, and then use this algorithm to generate the hash, and then the hash and Prand part into the corresponding bit region, The resolvable private address (RPA) has been formed.
Because the above address is resolvable, of course, there must be a corresponding method of address resolution, through the decryption of the other's Bluetooth address, to be able to carry out certain communications, it seems that the new BLE features to provide security of some means.
After getting the resolvable private address (RPA), the local device takes the Prand part out of the RPA and generates a call Localhash based on the hash generated above:
localHash = ah(IRK, prand)
The Localhash is then compared to the hash portion taken from the RPA, and if the same, the other device is identified. The sense of recognition here is to determine which irk should be used to interact with the other device. The way to this random address, you have to look at the back, it should be relatively new features.
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
[Ble--link Layer] device bluetooth address