
The Bluetooth specification includes security features at the link level. It supports authentication (unidirectional or mutual) and encryption. These features are based on a secret link key that is shared by a pair of devices. To generate this key a pairing procedure is used when the two devices communicate for the first time. Bluetooth devices transmit on the heavily used unlicensed 2.45GHz radio band (the same used by microwaves). To keep transmissions from breaking up, Bluetooth employs frequency hopping, a practice of skipping around the radio band 1600 times each second. This improves clarity and also reduces what Bluetooth proponents call "casual eavesdropping" by allowing only synchronized devices to be able to communicate. Each Bluetooth device has a unique address, allowing users to have some trust in the person at the other end of the transmission. Once this ID is associated with a person, by tracking the unscrambled address sent with each message, individuals can be traced and their activities easily logged.
For Bluetooth devices to communicate, an initialization process uses a PIN. While some devices allow users to punch in an ID number, the PIN can also be stored in the nonvolatile memory of the device.
Bluetooth enabled devices can operate in one of three different security modes as per the Bluetooth specifications:
Bluetooth allows security levels to be defined for both devices and services. For devices there are two possible security levels. A remote device could either be a:
For services, three levels of security have been defined.
The Bluetooth Architecture allows for defining security policies that can set trust relationships in such a way that even trusted devices can only get access to specific services and not to others.
Fundamentally, the core Bluetooth protocols can be used to implement the following security controls to restrict access to services:
What is important to understand here is that Bluetooth core protocols can only authenticate devices and not users. This is not to say that user based access control is not possible. The Bluetooth Security Architecture (through the Security Manager) allows applications to enforce their own security policies. The link layer, at which Bluetooth specific security controls operate, is transparent to the security controls imposed by the application layers. Thus it is possible to enforce user-based authentication and fine grained access control within the Bluetooth Security Framework.
The typical process (steps) followed by the security manager in granting access to a remote device to connect to a particular service is as follows: