
- •Contents
- •Preface
- •1 Introduction
- •1.1 Bluetooth system basics
- •1.1.1 Background
- •1.1.2 Trade-offs
- •1.1.3 Bluetooth protocol stack
- •1.1.4 Physical layer
- •1.1.5 Baseband
- •1.1.6 Link manager protocol
- •1.1.7 Logical link control and adaptation protocol
- •1.1.8 Host control interface
- •1.1.9 Profiles
- •1.2 Bluetooth security basics
- •1.2.1 User scenarios
- •1.2.2 Notions and terminology
- •References
- •2.1 Key types
- •2.2 Pairing and user interaction
- •2.3 Authentication
- •2.4 Link privacy
- •2.4.1 Protect the link
- •2.4.2 Encryption algorithm
- •2.4.3 Mode of operation
- •2.4.4 Unicast and broadcast
- •2.5 Communication security policies
- •2.5.1 Security modes
- •2.5.2 Security policy management
- •References
- •3 Bluetooth Pairing and Key Management
- •3.1 Pairing in Bluetooth
- •3.2 HCI protocol
- •3.3 LM protocol
- •3.4 Baseband events
- •3.4.1 Initialization key generation
- •3.4.2 Unit key generation
- •3.4.3 Combination key generation
- •3.4.4 Authentication
- •3.4.5 Master key generation
- •3.5 User interaction
- •3.6 Cipher key generation
- •3.7 Key databases
- •3.7.1 Unit keys generation requirements
- •3.7.2 Combination key generation requirements
- •3.7.3 Key databases
- •3.7.4 Semipermanent keys for temporary use
- •References
- •4 Algorithms
- •4.1 Crypto algorithm selection
- •4.1.1 Block ciphers
- •4.1.2 Stream ciphers
- •4.2 SAFER+
- •4.3 Encryption engine
- •4.4 Ciphering algorithm E0
- •4.4.1 Initialization
- •4.5 Implementation aspects
- •References
- •5 Broadcast Encryption
- •5.1 Overview
- •5.2 Preparing for broadcast encryption
- •5.3 Switching to broadcast encryption
- •References
- •6 Security Policies and Access Control
- •6.1 Objectives
- •6.1.1 Trust relations
- •6.1.2 Security levels
- •6.1.3 Flexibility
- •6.1.4 Implementation considerations
- •6.2 Security manager architecture
- •6.2.1 Overview
- •6.2.2 Device trust level
- •6.2.3 Security level for services
- •6.2.4 Connection setup
- •6.2.5 Database contents and registration procedure
- •Reference
- •7 Attacks, Strengths, and Weaknesses
- •7.1 Eavesdropping
- •7.2 Impersonation
- •7.3 Pairing
- •7.4 Improper key storage
- •7.4.1 Disclosure of keys
- •7.4.2 Tampering with keys
- •7.4.3 Denial of service
- •7.5 Unit key
- •7.6 Location tracking
- •7.6.1 Bluetooth device address and location tracking
- •7.6.2 Five different types of location tracking attacks
- •7.7 Implementation flaws
- •References
- •8 Providing Anonymity
- •8.1 Overview of the anonymity mode
- •8.2 Address usage
- •8.3 Modes of operation
- •8.4 Inquiry and paging
- •8.4.1 Connectable mode
- •8.4.2 Private connectable mode
- •8.4.3 General connectable mode
- •8.5 Alias authentication
- •8.6 Pairing
- •8.7 Anonymity mode LMP commands
- •8.8 Pairing example
- •References
- •9 Key Management Extensions
- •9.1 Improved pairing
- •9.1.1 Requirements on an improved pairing protocol
- •9.1.2 Improved pairing protocol
- •9.1.3 Implementation aspects and complexity
- •9.2 Higher layer key exchange
- •9.2.2 Higher layer key exchange with EAP TLS
- •9.3 Autonomous trust delegation
- •9.3.1 Security group extension method
- •9.3.3 Group extension method versus public key method
- •References
- •10 Security for Bluetooth Applications
- •10.1 Headset
- •10.1.1 Headset security model
- •10.1.2 Pass-key and key management
- •10.1.3 Example
- •10.2 Network access
- •10.2.1 Common access keys
- •10.2.2 Security architecture
- •10.2.3 Network service subscription
- •10.2.4 Initial connection
- •10.2.5 Subsequent access to NAcPs
- •10.3 SIM access
- •10.3.1 The SIM access profile
- •10.3.2 Securing SIM access
- •References
- •Glossary
- •List of Acronyms and Abbreviations
- •About the Authors
- •Index

Bluetooth Pairing and Key Management |
63 |
|
|
database, since it will be easy for anybody familiar with the system to decrypt the keys. A possible solution to this is to derive the key from a password-based key derivation function. A key derivation function produces a key from a password and other parameters. This requires a user password input. Hence, indirectly, one will get a form of user authentication. Only the legitimate user will (hopefully) be able to derive the database encryption key. A widely used scheme for password-based encryption is the RSA PKCS#5 “Password-Based Cryptography Standard” [3]. The standard suggests encryption based on the DES or RC2 block cipher algorithms3, but other block ciphers like SAFER+ or the Advanced Encryption Standard (AES) are useful too.
Finally, a third (even less secure) storage alternative for the host is to have no explicit protection of the key database at all. If there is a login procedure required to activate the host, one might consider that this also gives enough protection for the Bluetooth link key database.
3.7.4Semipermanent keys for temporary use
In some situations, one Bluetooth unit is temporarily connected to another unit. Examples of such situations are public access points, public printers, or the exchange of documents between two business people. Even if these connections will only be used once, there is a need to protect the communication. Hence, the units must derive the necessary link and encryption keys. The Bluetooth standard does not make any distinction between temporary connections and other connections. Thus, it is up to the host implementation to take care of temporary link keys in a proper way. There is no need to store these keys, since it is highly probable that they are not going to be used anymore. Furthermore, depending on the host (link key) security policy, there might be a security risk if the temporary link keys used will automatically provide the unit access at a later occasion. It is good security practice for the user to be able to decide whether a link key should be stored in the link key database or not (and in some circumstances also for how long a time). Clearly, each implementation must provide some means for the user to remove stored link keys.
References
[1]Bluetooth Special Interest Group, Specification of the Bluetooth System, Version 1.1, Profiles, Part K:1 Generic Access Profile, February 2001.
3. DES and RC2 are two block ciphers; see [2] for more details.
64 |
Bluetooth Security |
[2]van Oorschot, P. C., A. J. Menezes, and S. A. Vanstone, Handbook of Applied Cryptography, Boca Raton, FL: CRC Press, 1997.
[3]RSA Data Security Inc., Redwood City, CA, PKCS #5: Password-Based Cryptography Standard, Version 2.0, March 1999.