Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bluetooth Security.pdf
Скачиваний:
105
Добавлен:
17.08.2013
Размер:
1.57 Mб
Скачать

 

 

 

 

 

 

Introduction

 

 

 

 

25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Plaintext block

Ciphertext symbol

+

 

Plaintext symbol

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Key

 

 

Encrypt

 

 

Key

 

 

Key steam

 

 

 

 

 

 

 

 

generator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

Cipertext block

Plaintext symbol

Ciphertext symbol

 

 

 

 

 

 

 

(a)

 

 

 

 

 

(b)

 

 

 

Figure 1.9 (a) Block cipher, and (b) stream cipher.

that is, the problem of asserting that a received message is authentic (as sent by the sender). Here we use the definition of authentication that is in use in many (cellular) communication systems [e.g., Global Mobile System (GSM) and wideband code division multiple access (WCDMA)], that is, it refers to the process of verifying the consistency of the link keys in the involved Bluetooth devices exchanged during the pairing procedure.

Authorization

Authorization is the process of giving someone permission to do or have access to something. For Bluetooth this means to decide whether a remote device has the right to access a service on the local host and what privileges to gain for it. Usually this involves some form of user interaction. Alternatively, granting access to services can be subject to device-specific settings. Sometimes authorization refers both to administering system permission settings and the actual checking of the permission values when a device is getting access.

References

[1]Bluetooth Special Interest Group, Specification of the Bluetooth System, Version 1.2, Core System Package, November 2003.

[2]Bluetooth Special Interest Group, Specification of the Bluetooth System, Version 1.2, Core System Package, Part B, Baseband Specification, Link Controller Operation, November 2003.

[3]Lin, S., and D. J. Costello Jr., Error Control Coding: Fundamentals and Applications, Englewood Cliffs, NJ: Prentice-Hall, Inc., 1983.

[4]Bluetooth Special Interest Group, Specification of the Bluetooth System, Version 1.2, Core System Package, Part E, Host Controller Interface Functional Specification, November 2003.

26

Bluetooth Security

[5]CCITT: International Telegraph and Telephone Consultative Committee, X.800: Data Communication Networks: Open Systems Interconnection (OSI); Security, Structure and Applications, International Telecommunication Union, Geneva, 1991.

[6]van Oorschot, P.C., A. J. Menezes, and S. A. Vanstone, Handbook of Applied Cryptography, Boca Raton, FL: CRC Press, 1997.

2

Overview of the Bluetooth Security

Architecture

The security demands in the various usage scenarios for Bluetooth differ substantially. For example, a remote-controlled toy and a remote-controlled industrial robot constitute usage cases with essentially different demands on security. The security architecture for Bluetooth is designed to provide built-in security features even for the simplest cases and at the same time provide adequate support to provide security in demanding cases, such as those where Bluetooth devices are used in a network environment.

This chapter gives an overview of the Bluetooth security architecture, starting with a description of the different key types that are used, how the link encryption is organized, and how all the basic features are controlled through security modes to achieve different trust relations.

2.1 Key types

The security provided by the Bluetooth core is built upon the use of symmetrickey cryptographic mechanisms for authentication, link encryption, and key generation. A number of different key types are used in connection with these mechanisms. In Bluetooth, a link is a communication channel that is established between two Bluetooth devices. To check that a link is established between the correct devices, an authentication procedure between two devices has been introduced. The authentication mechanism in this procedure uses the so-called link key. As we will find out later, there are several different types of link keys. Link keys are not only used for authentication. They are also used for derivation

27

28

Bluetooth Security

of the key that controls the encryption of the data sent via a link. Through this encryption, confidentiality of the transmitted data is realized. The corresponding encryption mechanism uses the link encryption key. Loosely speaking, a link key is used for the authentication between two devices and to derive the link encryption key. A link key is created during the pairing of two devices. Section 2.2 contains more details on the pairing and use of pass-keys.

Before we discuss the pairing mechanism, it is useful to clarify the conditions under which communication between two devices will occur. It is important to distinguish two important states. Firstly, we have the state in which a device wants to establish a connection with a device it has not been paired with. Secondly, we have the state where a device wants to communicate with a device it has paired with. Of course, a device may, as a result of a malfunction or a forced reset, have lost the pairing information associated with a device. In such a situation, the device should fall back to the unpaired state.

The pairing operation will result in a link key that two devices will use for authentication and link encryption key generation directly after the pairing and at later instances. The Bluetooth system recognizes two types of link keys: semipermanent and temporary keys. Furthermore, two types of semipermanent (link) keys are distinguished: unit keys and combination keys. A unit key is a link key that one unit generates by itself and uses as a link key with any other (Bluetooth) device, and a combination key is a key that a device generates in cooperation (combination) with another device. Therefore, any unit key that a specific device has may be known to many other devices, whereas each combination key is only known to itself and the device with which it was generated. Unit keys can only be safely used when there is full trust among the devices that are paired with the same unit key. This is because every paired device can impersonate any other device holding the same unit key. Since Bluetooth version 1.2, the use of unit keys is not recommended. But, for legacy reasons, unit keys have not been completely removed from the specification. Besides the combination and unit keys, two other key types are used: initialization keys and master keys. These are temporary keys. The initialization key is a short-lived key that exists during the pairing of two devices. The master key is a link key that the master generates prior to the setup of an encrypted broadcast communication to several slave devices. Besides the link keys, we have three ciphering keys: the encryption key KC, the constrained encryption key K C, and the payload key KP. The encryption key is the main key that controls the ciphering. Since this key may have a length (in bits) that exceeds legislative constraints on the maximally allowed key length, KC is not used directly but is replaced by the constrained encryption key K C, whose number of independent bits can be selected from 8, 16, . . . , 128 bits. Currently there is little reason to accept key lengths less than 128 bits because the export regulations have been relaxed since the original design of the Bluetooth system. It is directly derived from KC. Finally, the payload key is a