WO2003017579A1 - Connecting bluetooth devices to each other - Google Patents

Connecting bluetooth devices to each other Download PDF

Info

Publication number
WO2003017579A1
WO2003017579A1 PCT/SE2002/001445 SE0201445W WO03017579A1 WO 2003017579 A1 WO2003017579 A1 WO 2003017579A1 SE 0201445 W SE0201445 W SE 0201445W WO 03017579 A1 WO03017579 A1 WO 03017579A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
unit
addr
bluetooth
devices
Prior art date
Application number
PCT/SE2002/001445
Other languages
French (fr)
Inventor
David Nordfors
Original Assignee
David Nordfors
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by David Nordfors filed Critical David Nordfors
Publication of WO2003017579A1 publication Critical patent/WO2003017579A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the present invention relates to a method of connecting Bluetooth compatible or similar devices to each other, to a Bluetooth or similar network and to Bluetooth compatible or similar devices.
  • Bluetooth is an open standard for peer-to-peer short distance wireless radio data communication. Bluetooth provides "ad hoc" networking, i.e. Bluetooth compatible units that are within communication distance can spontaneously exchange information with each other.
  • a Bluetooth compatible unit is herein taken to mean a unit working in all s respects, as seen from other units, according to the Bluetooth specification.
  • a regular Bluetooth unit or a Bluetooth enabled is herein taken to mean a unit working totally according to the Bluetooth specification.
  • a regular Bluetooth or Bluetooth enabled unit is obviously always a Bluetooth compatible unit.
  • Bluetooth compatible units can be used for replacing a cord between two objects o with wireless communication.
  • Bluetooth compatible units can also spontaneously establish small networks, piconets, including up to eight units.
  • One of the units is assigned the role of "master” of the piconet and the others are “slaves” .
  • the slaves communicate with each other via the master.
  • Communication can be established between Bluetooth compatible units that belong to different piconets, either through so called “scatternets", 5 ad hoc peer-to-peer communication between overlapping piconets, or by connecting the piconets to a computer network spanning larger geographic distances and having capacity for more users, e.g. a LAN - purely local or connected to the Internet.
  • Bluetooth is frequently suggested as a solution for the last yards of the mobile Internet, closest to the user terminals. 0 Privacy problem
  • each Bluetooth enabled unit has a unique Bluetooth device address, BD ADDR.
  • the BD ADDR is used for setting up the links and for communicating between the units. It is used from basic levels and upwards in the protocol stack. For 5 example it determines the sequence of frequency hops in the radio communication between units and is used when producing keys for encrypted data communication.
  • This unique address is a threat to privacy, because BD_ADDR is visible for all Bluetooth compatible units within communication distance.
  • a Bluetooth compatible unit for protecting privacy. It deviates from the Bluetooth specification by not having a unique Bluetooth address BD ADDR. Instead, it may choose its address from a group of BD_ADDR addresses. The unit switches its BD_ADDR from time to time, thus preserving privacy. s Therefore, the suggested Bluetooth compatible unit having address switching facilities does not fully comply with the Bluetooth standard. However, it will still be capable of communicating without any conflict with units following the Bluetooth standard. No Bluetooth compatible unit is capable of distinguishing between a Bluetooth compatible unit using address switching and a regular Bluetooth unit at any given o moment.
  • Fig. 1 is diagram of a network formed according to the Bluetooth specification
  • - Fig. 2 is a picture illustrating the standard format of a packet according to the 5 Bluetooth specification
  • FIG. 3 is a picture illustrating the format of an FHS packet
  • - Fig. 4 is diagram of a Bluetooth compatible device having address switching means
  • FIG. 5 is a block diagram of an address switching unit to be used in a Bluetooth compatible device.
  • a device adapted to communicate according to the Bluetooth specification generally includes a radio unit, a link control unit and a support unit for link management and host 5 terminal interface function.
  • Point-to-point and point-to-multipoint connections can be provided.
  • the radio band is shared by several units.
  • the units form a small network called a piconet, see Fig. 1. Within such a piconet a unit can be a master or a slave. Within each piconet there may be only one master and up to seven active slaves. o
  • Each unit adapted to communicate according to the Bluetooth specification has a globally unique 48-bit IEEE 802 address.
  • BD_ADDR Bluetooth unit Address
  • A_ADDR Active Member Address
  • a standard packet has a field for an access code having the length of 72 bits and a header field of a length of 54 bits. There is a field for the pay load which has a length o that can range from zero to a maximum of 2745 bits.
  • the AM ADDR is located in the packet header followed by some control parameters, e.g. a bit indicating acknowledgement or retransmission request of the previous packet, when applicable, and a header error check (HEC).
  • HEC header error check
  • the access code used in a packet can be one of three different types: Channel 5 Access Code (CAC), Device Access Code (DAC), and Inquiry Access Code (IAC):
  • CAC Channel 5 Access Code
  • DAC Device Access Code
  • IAC Inquiry Access Code
  • the Channel Access Code identifies a channel that is used in a certain piconet, i.e. essentially the CAC identifies the piconet. All packets exchanged within a piconet carry the same the CAC.
  • the CAC is derived from the BD_ADDR of the master unit of the piconet.
  • the Device Access Code is derived from the BD ADDR of the particular unit. It is used for special signalling procedures, e.g. the PAGE procedure.
  • the Inquiry Access Code appears in two variants: the General Inquiry Access Code (GIAC) and the Dedicated Inquiry Access Code (DIAC), both used in the INQUIRY procedure. 5
  • GIAC General Inquiry Access Code
  • DIAC Dedicated Inquiry Access Code
  • An important property of any ad hoc network such as a network working according to the Bluetooth specification is the neighbour discovery feature.
  • the neighbour discovery procedure according to Bluetooth consists of the INQUIRY message and the INQUIRY RESPONSE message.
  • An "inquiry" procedure is defined which is used in applications where the device address of the destination is unknown to the source.
  • a Bluetooth compatible unit wanting to discover neighbouring Bluetooth units repeatedly transmits INQUIRY messages and listens for INQUIRY RESPONSE messages.
  • An INQUIRY message consists of an Inquiry Access Code (IAC). It does not contain any information about the source but may indicate the class of devices which should respond.
  • the Inquiry Access Code can be a General Inquiry Access Code (GIAC), which is sent to discover any unit in the neighbourhood, or a Dedicated Inquiry Access Code (DIAC), which is sent to discover only a certain type of units, for which a particular DIAC is dedicated.
  • GIAC General Inquiry Access Code
  • DIAC Dedicated Inquiry Access Code
  • a Bluetooth compatible unit receiving an INQUIRY message may respond by sending an INQUIRY RESPONSE message.
  • the INQUIRY RESPONSE message is actually an Frequency Hop Synchronisation (FHS) packet, see Fig. 3.
  • the FHS packet is a special control packet revealing, among other things, the transmitting unit and the clock of the transmitting unit.
  • the pay load field in such a packet includes eleven fields. All fields in the packet, except the AM ADDR s field, and of course the "Undefined" field, indicate properties or parameters of the unit that sends the FHS packet.
  • LAP Lower Address Part
  • UAP Upper Address Part
  • NAP Non-significant Address Part
  • An FHS packet is also used for other purposes according to the Bluetooth specification, in addition to the use as the INQUIRY RESPONSE message, e.g. for a paged master response.
  • the PAGE procedure which is used to 5 establish an actual connection between two units.
  • the paging unit Once the BD_ADDR of a neighbouring unit is known to a unit, the paging unit, as a result of an INQUIRY procedure, the neighbouring unit can be paged by sending a PAGE message. Also the knowledge of the internal clock value of the unit to be paged will potentially speed up the PAGE procedure, since it makes it possible for the paging unit to estimate when and on which 0 frequency hop channel the neighbouring unit will listen for PAGE messages.
  • a PAGE message consists of the Device Access Code (DAC), derived from the BD ADDR of the paged unit.
  • DAC Device Access Code
  • a unit adapted to communicate according to the Bluetooth specification and receiving a PAGE message including its own DAC responds by sending an identical packet, i.e. including only the DAC of the paged unit.
  • the paging unit then 5 replies by sending an FHS packet, including the BD_ADDR of the paging unit, the current value of the internal clock of the paging unit, the AM_ADDR assigned to the paged unit and some other parameters, see Fig. 4.
  • the paged unit then responds once again by transmitting its DAC and thereby the connection between the two units is established.
  • the paging unit already was the master of a piconet, the paged unit has now joined this piconet as a new slave unit. Otherwise, the two units have just formed a new piconet having the paging unit as the master unit. Since the INQUIRY message does not include any information on the sender thereof, in particular not its BD ADDR, the unit
  • the unit initiating an INQUIRY procedure will also be the master of any new piconet that is formed as a result of a subsequent PAGE procedure.
  • the BD_ADDR is used i.a. to initially define the participating units, this resulting in a privacy problem.
  • the BD_ADDR is also o used in other types of communicated information, at various levels.
  • the units can be provided with an address switching function performed by a block 1, called an address switching unit or AS unit, see Fig. 4, incorporated in or added to the usual s Bluetooth circuit 3.
  • the address switching unit 1 provides at all instances, when the unit is operative, a valid BD ADDR of the device and it is stored in a register 5 and is used by the Bluetooth circuit 3, e.g. in the INQUIRY and PAGE procedures described above.
  • the register 5 is a rewritable, non- volatile memory cell remembering the stored data even when the power is off.
  • the BD_ADDR is accessed from the register 5 in the o address switching unit in the same way as for any regular Bluetooth unit.
  • the actual BD_ADDR stored in the cell 5 is randomly switched among a set of valid BD_ADDR addresses, thus making it impossible to say which BD ADDR address the unit will use at any randomly selected time.
  • an additional memory can be used, not shown, called 5 BD ADDR CLKN, in which the value of the Bluetooth native clock CLKN is stored at each change of BD_ADDR.
  • the native clock CLKN is described in the Bluetooth specification 1.1, baseband specification section 10.3. This is for handling the case where there are several interacting address switching devices using the same BD_ADDR at the same time, thus creating interference. In that case, the device that first chooses the 0 BD ADDR will be the one that keeps it, whereas the other will switch BD ADDR.
  • the functions for controlling and manipulating the BD_ADDR are performed by a group of circuits, the AS circuit 1, in the hardware, as seen in Fig. 5, or by a software block executed in some processor in the host device of the Bluetooth circuit 3.
  • the selecting of a new BD ADDR is started by a block 11, called 5 TRIG SELECT BD ADDR, activating another block 13, SELECT BD ADDR, in which the very selecting is made and the selected BD ADDR is stored in the register 5.
  • the selecting block includes a unit 15, RAND, for generating random numbers, and a unit 17, BD ADDR GROUP, which can include a memory in which all possible permitted choices of addresses are stored.
  • the address unit 17 can instead or additionally include some function generating the possible addresses from some basic data.
  • the BD ADDR of the Bluetooth unit may be changed by the hardware function SELECT_BD_ADDR 13.
  • This function uses the random number, created by the block 15, as an argument to select a BD_ADDR from those specified by the block 5 BD ADDR GROUP 17.
  • the selecting function can also include a function, not shown, that writes the value of the Bluetooth native clock CLKN into the memory cell BD ADDR CLKN.
  • the start of the function 13 SELECT BD ADDR is triggered by the triggering unit 11 , that can be activated by a transition of the unit from the CONNECTION state to the o STANDBY state.
  • the triggering unit 11 In the STANDBY state, no connection has been established, see Bluetooth spec. 1.1, sect. 10.7.2, p. 106. Switching the BD ADDR when the unit is in this state will not effect the operation of any other unit, since no other Bluetooth compatible unit is connected.
  • the unit may be equipped with a manual switch, not shown, operated by 5 the user, disabling the function 13 SELECT_BD_ADDR. BD ADDR will then remain fixed until the manual switch is set so that SELECT BD ADDR is enabled again.
  • the triggering unit TRIG SELECT BD ADDR may also be connected to activate the selecting function 13 when sensing a hard reset of the unit.
  • the Reset command may be induced in various manners described in the Bluetooth specification, or o by a manual switch.
  • a group of Bluetooth compatible units having address switching units as described above can share a group of BD_ADDR addresses with each other. Then the address switching unit 1 of each of the Bluetooth units of the group will select the temporary BD ADDR from the same group at all times, thus making it impossible to say 5 which Bluetooth compatible unit is using a certain BD ADDR at each moment. In such a group the units share addresses only with each other, thus avoiding BD_ADDR conflicts with regular Bluetooth units.
  • the switching of device address is done in such a way that it does not violate the Bluetooth communication protocol of other units at any given time, thus making it 0 impossible for a regular Bluetooth unit to distinguish between a Bluetooth compatible unit having an address switching unit and a regular Bluetooth unit at any time.
  • BD_ADDR addresses can be reserved, forming one or several address groups. Each Bluetooth compatible address switching unit is instructed to choose every BD_ADDR only from one such group. Conflict can then arise only if two 5 Bluetooth compatible units having address switching facilities selecting addresses from the same group are in direct communication range of each other and use the same BD_ADDR at the same time. Since the BD_ADDR determines the frequency hopping procedure, they may jam the communication. Other identity conflicts will in principle occur simultaneously on higher levels. But due to the short-range Bluetooth radio communication distances, less than a few hundred meters, the risk of such a conflict can made very small by setting the number of BD_ADDR addresses in an address group some orders of magnitude larger than the largest number of address switching units using the same address group expected to be
  • a conflict - however improbable - will be solved when the conflicting address switching devices select new fixed device addresses BD_ADDR or if the communicating devices are programmed to sense the conflict and then trigger a new choice of BD_ADDR.
  • Communication may be maximally preserved by offering the o address switching unit that first chose the BD ADDR used by the two units to be the last one to switch away from it, for example by setting the default time limit for each unit before switching BD_ADDR proportional to the time that the BD ADDR has been used by the unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A device having circuits (3) for communication according to the Bluetooth specification deviates from the strict specification by not having a unique Bluetooth device address BD ADDR. Instead, it has an address switching circuit (1) that chooses the device address from a group of BD ADDR addresses and stores it in a rewritable register (5). The address switching circuit switches the BD ADDR stored in the register from time to time, for example triggered by specific events. The device can communicate without any conflict with similar devices and with devices built strictly according to the Bluetooth specification. The switching of device address preserves privacy of the device.

Description

CONNECTING BLUETOOTH DEVICES TO EACH OTHER RELATED APPLICATIONS
This application claims priority and benefit from Swedish patent application No. 0102758-0, filed August 17, 2001, the entire teachings of which are incorporated herein 5 by reference.
FIELD OF THE INVENTION
The present invention relates to a method of connecting Bluetooth compatible or similar devices to each other, to a Bluetooth or similar network and to Bluetooth compatible or similar devices. o BACKGROUND
Bluetooth is an open standard for peer-to-peer short distance wireless radio data communication. Bluetooth provides "ad hoc" networking, i.e. Bluetooth compatible units that are within communication distance can spontaneously exchange information with each other. A Bluetooth compatible unit is herein taken to mean a unit working in all s respects, as seen from other units, according to the Bluetooth specification. A regular Bluetooth unit or a Bluetooth enabled is herein taken to mean a unit working totally according to the Bluetooth specification. A regular Bluetooth or Bluetooth enabled unit is obviously always a Bluetooth compatible unit.
Bluetooth compatible units can be used for replacing a cord between two objects o with wireless communication. Bluetooth compatible units can also spontaneously establish small networks, piconets, including up to eight units. One of the units is assigned the role of "master" of the piconet and the others are "slaves" . The slaves communicate with each other via the master. Communication can be established between Bluetooth compatible units that belong to different piconets, either through so called "scatternets", 5 ad hoc peer-to-peer communication between overlapping piconets, or by connecting the piconets to a computer network spanning larger geographic distances and having capacity for more users, e.g. a LAN - purely local or connected to the Internet. Bluetooth is frequently suggested as a solution for the last yards of the mobile Internet, closest to the user terminals. 0 Privacy problem
According to the Bluetooth specification, including version 1.1 20/2 2001 and previous versions, each Bluetooth enabled unit has a unique Bluetooth device address, BD ADDR. The BD ADDR is used for setting up the links and for communicating between the units. It is used from basic levels and upwards in the protocol stack. For 5 example it determines the sequence of frequency hops in the radio communication between units and is used when producing keys for encrypted data communication.
This unique address is a threat to privacy, because BD_ADDR is visible for all Bluetooth compatible units within communication distance.
For example, once a Bluetooth enabled electronic wallet is used by its owner for a purchase, the retailer will thereafter be able to identify the wallet through its BD_ADDR, also without setting up a communication link. It is enough that the retailer has access to a Bluetooth compatible unit within communication distance of the wallet, for example a Bluetooth LAN access point connected to the Internet. 5 SUMMARY
It is an object of the invention to provide a method of connecting Bluetooth compatible and similar devices to each other preserving the anonymity of the devices.
It is another object of the invention to provide a Bluetooth compatible or similar network and devices used in such networks in which the anonymity of the devices of the o devices is preserved.
Thus generally, a Bluetooth compatible unit is suggested for protecting privacy. It deviates from the Bluetooth specification by not having a unique Bluetooth address BD ADDR. Instead, it may choose its address from a group of BD_ADDR addresses. The unit switches its BD_ADDR from time to time, thus preserving privacy. s Therefore, the suggested Bluetooth compatible unit having address switching facilities does not fully comply with the Bluetooth standard. However, it will still be capable of communicating without any conflict with units following the Bluetooth standard. No Bluetooth compatible unit is capable of distinguishing between a Bluetooth compatible unit using address switching and a regular Bluetooth unit at any given o moment.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the methods, processes, instrumentalities and 5 combinations particularly pointed out in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
While the novel features of the invention are set forth with particularly in the appended claims, a complete understanding of the invention, both as to organization and content, and of the above and other features thereof may be gained from and the 0 invention will be better appreciated from a consideration of the following detailed description of non-limiting embodiments presented hereinbelow with reference to the accompanying drawings, in which:
- Fig. 1 is diagram of a network formed according to the Bluetooth specification,
- Fig. 2 is a picture illustrating the standard format of a packet according to the 5 Bluetooth specification,
- Fig. 3 is a picture illustrating the format of an FHS packet,
- Fig. 4 is diagram of a Bluetooth compatible device having address switching means, and
- Fig. 5 is a block diagram of an address switching unit to be used in a Bluetooth compatible device.
DETAILED DESCRIPTION
A device adapted to communicate according to the Bluetooth specification generally includes a radio unit, a link control unit and a support unit for link management and host 5 terminal interface function. Point-to-point and point-to-multipoint connections can be provided. For a point-to-multipoint connection, the radio band is shared by several units. The units form a small network called a piconet, see Fig. 1. Within such a piconet a unit can be a master or a slave. Within each piconet there may be only one master and up to seven active slaves. o Each unit adapted to communicate according to the Bluetooth specification has a globally unique 48-bit IEEE 802 address. This address, called the Bluetooth unit Address (BD_ADDR), is assigned at the time when the unit is manufactured and it is never changed according to the specification. In addition thereto the master of a piconet dynamically assigns a local Active Member Address (AM_ADDR) to each active slave s member of the piconet.
The standard format of a packet used for transmission according to the Bluetooth specification is illustrated in Fig. 2, this format not being used for some types of control packets. A standard packet has a field for an access code having the length of 72 bits and a header field of a length of 54 bits. There is a field for the pay load which has a length o that can range from zero to a maximum of 2745 bits. The AM ADDR is located in the packet header followed by some control parameters, e.g. a bit indicating acknowledgement or retransmission request of the previous packet, when applicable, and a header error check (HEC).
The access code used in a packet can be one of three different types: Channel 5 Access Code (CAC), Device Access Code (DAC), and Inquiry Access Code (IAC):
- The Channel Access Code identifies a channel that is used in a certain piconet, i.e. essentially the CAC identifies the piconet. All packets exchanged within a piconet carry the same the CAC. The CAC is derived from the BD_ADDR of the master unit of the piconet. 0 - The Device Access Code is derived from the BD ADDR of the particular unit. It is used for special signalling procedures, e.g. the PAGE procedure.
- The Inquiry Access Code appears in two variants: the General Inquiry Access Code (GIAC) and the Dedicated Inquiry Access Code (DIAC), both used in the INQUIRY procedure. 5 An important property of any ad hoc network such as a network working according to the Bluetooth specification is the neighbour discovery feature. The neighbour discovery procedure according to Bluetooth consists of the INQUIRY message and the INQUIRY RESPONSE message. An "inquiry" procedure is defined which is used in applications where the device address of the destination is unknown to the source. A Bluetooth compatible unit wanting to discover neighbouring Bluetooth units repeatedly transmits INQUIRY messages and listens for INQUIRY RESPONSE messages. An INQUIRY message consists of an Inquiry Access Code (IAC). It does not contain any information about the source but may indicate the class of devices which should respond.
5 The Inquiry Access Code can be a General Inquiry Access Code (GIAC), which is sent to discover any unit in the neighbourhood, or a Dedicated Inquiry Access Code (DIAC), which is sent to discover only a certain type of units, for which a particular DIAC is dedicated.
A Bluetooth compatible unit receiving an INQUIRY message, including a GIAC or o an appropriate DIAC, may respond by sending an INQUIRY RESPONSE message. The INQUIRY RESPONSE message is actually an Frequency Hop Synchronisation (FHS) packet, see Fig. 3. The FHS packet is a special control packet revealing, among other things, the transmitting unit and the clock of the transmitting unit. The pay load field in such a packet includes eleven fields. All fields in the packet, except the AM ADDR s field, and of course the "Undefined" field, indicate properties or parameters of the unit that sends the FHS packet. The three fields Lower Address Part (LAP), Upper Address Part (UAP) and Non-significant Address Part (NAP) fields together contain the BD ADDR of the transmitting device. By listening for INQUIRY RESPONSE messages the unit that initiated the INQUIRY procedure can collect the BD_ADDR and internal o clock values of the neighbouring Bluetooth compatible units.
An FHS packet is also used for other purposes according to the Bluetooth specification, in addition to the use as the INQUIRY RESPONSE message, e.g. for a paged master response.
Related to the INQUIRY procedure is the PAGE procedure, which is used to 5 establish an actual connection between two units. Once the BD_ADDR of a neighbouring unit is known to a unit, the paging unit, as a result of an INQUIRY procedure, the neighbouring unit can be paged by sending a PAGE message. Also the knowledge of the internal clock value of the unit to be paged will potentially speed up the PAGE procedure, since it makes it possible for the paging unit to estimate when and on which 0 frequency hop channel the neighbouring unit will listen for PAGE messages.
A PAGE message consists of the Device Access Code (DAC), derived from the BD ADDR of the paged unit. A unit adapted to communicate according to the Bluetooth specification and receiving a PAGE message including its own DAC responds by sending an identical packet, i.e. including only the DAC of the paged unit. The paging unit then 5 replies by sending an FHS packet, including the BD_ADDR of the paging unit, the current value of the internal clock of the paging unit, the AM_ADDR assigned to the paged unit and some other parameters, see Fig. 4. The paged unit then responds once again by transmitting its DAC and thereby the connection between the two units is established. If the paging unit already was the master of a piconet, the paged unit has now joined this piconet as a new slave unit. Otherwise, the two units have just formed a new piconet having the paging unit as the master unit. Since the INQUIRY message does not include any information on the sender thereof, in particular not its BD ADDR, the unit
5 that initiated the INQUIRY procedure is the only unit that can initiate a subsequent PAGE procedure. Thus, the unit initiating an INQUIRY procedure will also be the master of any new piconet that is formed as a result of a subsequent PAGE procedure.
Thus, in setting up Bluetooth networks, the BD_ADDR is used i.a. to initially define the participating units, this resulting in a privacy problem. The BD_ADDR is also o used in other types of communicated information, at various levels.
To maintain privacy and still allowing the units to operate according to the Bluetooth specification, being capable of performing all functions specified therein, the units can be provided with an address switching function performed by a block 1, called an address switching unit or AS unit, see Fig. 4, incorporated in or added to the usual s Bluetooth circuit 3. The address switching unit 1 provides at all instances, when the unit is operative, a valid BD ADDR of the device and it is stored in a register 5 and is used by the Bluetooth circuit 3, e.g. in the INQUIRY and PAGE procedures described above. The register 5 is a rewritable, non- volatile memory cell remembering the stored data even when the power is off. The BD_ADDR is accessed from the register 5 in the o address switching unit in the same way as for any regular Bluetooth unit.
The actual BD_ADDR stored in the cell 5 is randomly switched among a set of valid BD_ADDR addresses, thus making it impossible to say which BD ADDR address the unit will use at any randomly selected time.
Optionally, an additional memory can be used, not shown, called 5 BD ADDR CLKN, in which the value of the Bluetooth native clock CLKN is stored at each change of BD_ADDR. The native clock CLKN is described in the Bluetooth specification 1.1, baseband specification section 10.3. This is for handling the case where there are several interacting address switching devices using the same BD_ADDR at the same time, thus creating interference. In that case, the device that first chooses the 0 BD ADDR will be the one that keeps it, whereas the other will switch BD ADDR.
The functions for controlling and manipulating the BD_ADDR are performed by a group of circuits, the AS circuit 1, in the hardware, as seen in Fig. 5, or by a software block executed in some processor in the host device of the Bluetooth circuit 3. The selecting of a new BD ADDR is started by a block 11, called 5 TRIG SELECT BD ADDR, activating another block 13, SELECT BD ADDR, in which the very selecting is made and the selected BD ADDR is stored in the register 5. The selecting block includes a unit 15, RAND, for generating random numbers, and a unit 17, BD ADDR GROUP, which can include a memory in which all possible permitted choices of addresses are stored. The address unit 17 can instead or additionally include some function generating the possible addresses from some basic data.
Thus, the BD ADDR of the Bluetooth unit may be changed by the hardware function SELECT_BD_ADDR 13. This function uses the random number, created by the block 15, as an argument to select a BD_ADDR from those specified by the block 5 BD ADDR GROUP 17. The selecting function can also include a function, not shown, that writes the value of the Bluetooth native clock CLKN into the memory cell BD ADDR CLKN.
The start of the function 13 SELECT BD ADDR is triggered by the triggering unit 11 , that can be activated by a transition of the unit from the CONNECTION state to the o STANDBY state. In the STANDBY state, no connection has been established, see Bluetooth spec. 1.1, sect. 10.7.2, p. 106. Switching the BD ADDR when the unit is in this state will not effect the operation of any other unit, since no other Bluetooth compatible unit is connected.
Optionally, the unit may be equipped with a manual switch, not shown, operated by 5 the user, disabling the function 13 SELECT_BD_ADDR. BD ADDR will then remain fixed until the manual switch is set so that SELECT BD ADDR is enabled again.
Optionally, the triggering unit TRIG SELECT BD ADDR may also be connected to activate the selecting function 13 when sensing a hard reset of the unit. The Reset command may be induced in various manners described in the Bluetooth specification, or o by a manual switch.
Generally, a group of Bluetooth compatible units having address switching units as described above can share a group of BD_ADDR addresses with each other. Then the address switching unit 1 of each of the Bluetooth units of the group will select the temporary BD ADDR from the same group at all times, thus making it impossible to say 5 which Bluetooth compatible unit is using a certain BD ADDR at each moment. In such a group the units share addresses only with each other, thus avoiding BD_ADDR conflicts with regular Bluetooth units.
The switching of device address is done in such a way that it does not violate the Bluetooth communication protocol of other units at any given time, thus making it 0 impossible for a regular Bluetooth unit to distinguish between a Bluetooth compatible unit having an address switching unit and a regular Bluetooth unit at any time.
For example a number of BD_ADDR addresses can be reserved, forming one or several address groups. Each Bluetooth compatible address switching unit is instructed to choose every BD_ADDR only from one such group. Conflict can then arise only if two 5 Bluetooth compatible units having address switching facilities selecting addresses from the same group are in direct communication range of each other and use the same BD_ADDR at the same time. Since the BD_ADDR determines the frequency hopping procedure, they may jam the communication. Other identity conflicts will in principle occur simultaneously on higher levels. But due to the short-range Bluetooth radio communication distances, less than a few hundred meters, the risk of such a conflict can made very small by setting the number of BD_ADDR addresses in an address group some orders of magnitude larger than the largest number of address switching units using the same address group expected to be
5 within the maximum communication distance of each other.
In all cases, a conflict - however improbable - will be solved when the conflicting address switching devices select new fixed device addresses BD_ADDR or if the communicating devices are programmed to sense the conflict and then trigger a new choice of BD_ADDR. Communication may be maximally preserved by offering the o address switching unit that first chose the BD ADDR used by the two units to be the last one to switch away from it, for example by setting the default time limit for each unit before switching BD_ADDR proportional to the time that the BD ADDR has been used by the unit.
While specific embodiments of the invention have been illustrated and described s herein, it is realized that numerous additional advantages, modifications and changes will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details, representative devices and illustrated examples shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended o claims and their equivalents. It is therefore to be understood that the appended claims are intended to cover all such modifications and changes as fall within a true spirit and scope of the invention.

Claims

CLAIMS 1. A method of communicating between devices including the steps of:
- a first device transmitting wirelessly a first message inquiring whether there are other devices in the neighbourhood,
5 - at least one second device responding to the message by transmitting wirelessly a second message,
- the first and second devices setting up a communication link between them, and
- the first and second devices interchanging information over the communication link,
- in at least some of the first and second messages and in the setting up and o interchanging information first addresses being used to define the first and second devices, characterized by the additional step of selecting, before transmitting any message or information containing one of the first addresses of the first and second devices the respective first address from a predetermined group of addresses. s 2. A method according to claim 1, characterized in that the selecting is made at random.
3. A method according to claim 1, characterized in that the selecting is made when a device becomes unconnected to any of the other devices.
4. A method according to claim 1, characterized in that the selecting is made o when a device is reset or started.
5. A method according to claim 1, characterized in that in the step of setting up a communication link, second, local addresses are assigned to the first and second devices.
6. An ad hoc wireless network of devices communicating with each other, the devices having means for wirelessly transmitting and receiving information, a first 5 address of each device being used to define the device when connecting to the network and/or transmitting information, characterized in that each device includes an address switching unit for selecting the first address from a predetermined group of addresses.
7. An ad hoc wireless network according to claim 6, characterized in that the address switching unit includes a generator for generating random numbers, a generated 0 random number used in selecting the first address.
8. An ad hoc wireless network according to claim 7, characterized in that the address switching unit includes a triggering unit for starting selecting the first address, the triggering unit being connected to send a signal to start the selecting when the device becomes unconnected to the network. 5
9. An ad hoc wireless network according to claim 7, characterized in that the address switching unit includes a triggering unit for starting selecting the first address, the triggering unit being connected to send a signal to start the selecting when the device is reset or started.
10. A device having means for wirelessly transmitting and receiving information and for connecting to an ad hoc wireless network, a first address of each device being used to define the device when connecting to the network and/or transmitting information, characterized by an address switching unit for selecting the first address from a predetermined group of addresses.
PCT/SE2002/001445 2001-08-17 2002-08-09 Connecting bluetooth devices to each other WO2003017579A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE0102758-0 2001-08-17
SE0102758A SE522556C2 (en) 2001-08-17 2001-08-17 Procedure, wireless ad hoc network and device for connecting Bluetooth devices to each other

Publications (1)

Publication Number Publication Date
WO2003017579A1 true WO2003017579A1 (en) 2003-02-27

Family

ID=20285059

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2002/001445 WO2003017579A1 (en) 2001-08-17 2002-08-09 Connecting bluetooth devices to each other

Country Status (2)

Country Link
SE (1) SE522556C2 (en)
WO (1) WO2003017579A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005032058A1 (en) * 2003-09-30 2005-04-07 Anders Carlius Method and arrangement for solving identity conflicts in a network
US9591684B2 (en) 2014-06-06 2017-03-07 BBPOS Limited System and method of bluetooth pairing with a group of bluetooth devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240080B1 (en) * 1997-08-05 2001-05-29 Nec Corporation Mobile terminal and method of controlling the same
WO2001097447A2 (en) * 2000-06-12 2001-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Random identity management in scatternets
US20020025780A1 (en) * 2000-08-30 2002-02-28 Jakobsson Bjorn Markus Method and apparatus for ensuring security of users of bluetoothTM-enabled devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240080B1 (en) * 1997-08-05 2001-05-29 Nec Corporation Mobile terminal and method of controlling the same
WO2001097447A2 (en) * 2000-06-12 2001-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Random identity management in scatternets
US20020025780A1 (en) * 2000-08-30 2002-02-28 Jakobsson Bjorn Markus Method and apparatus for ensuring security of users of bluetoothTM-enabled devices

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005032058A1 (en) * 2003-09-30 2005-04-07 Anders Carlius Method and arrangement for solving identity conflicts in a network
US9591684B2 (en) 2014-06-06 2017-03-07 BBPOS Limited System and method of bluetooth pairing with a group of bluetooth devices
US10111073B2 (en) 2014-06-06 2018-10-23 BBPOS Limited System and method of bluetooth pairing with a group of bluetooth devices
US10313862B2 (en) 2014-06-06 2019-06-04 BBPOS Limited System and method of bluetooth pairing with a group of bluetooth devices
US10484853B2 (en) 2014-06-06 2019-11-19 BBPOS Limited System and method of Bluetooth pairing with a group of Bluetooth devices
US10863337B2 (en) 2014-06-06 2020-12-08 BBPOS Limited System and method of Bluetooth pairing with a group of Bluetooth devices

Also Published As

Publication number Publication date
SE0102758D0 (en) 2001-08-17
SE522556C2 (en) 2004-02-17
SE0102758L (en) 2003-02-18

Similar Documents

Publication Publication Date Title
KR100877466B1 (en) Smart scan for bluetooth pan devices
US8027324B2 (en) Self-configuring, self-optimizing wireless local area network system
US7602754B2 (en) Short-range RF access point design enabling services to master and slave mobile devices
US7986655B2 (en) Method for setting up a link between bluetooth devices in a bluetooth system
Bhagwat Bluetooth: technology for short-range wireless apps
US7215923B2 (en) System and method for establishing a connection between wireless devices
KR101163080B1 (en) Method for operating a wireless network
JP3884748B2 (en) High-speed personal wireless network and data transmission method for enabling communication between devices of piconet
US20010029166A1 (en) Intelligent piconet forming
JP2009519635A (en) Distributed Bluetooth system
WO2002096062A1 (en) Method for protecting privacy when using a bluetooth device
Khan et al. Comparison among short range wireless networks: bluetooth, Zig Bee & Wi-Fi
EP1586176B1 (en) Dynamic network formation for wireless adhoc networks
US20060052125A1 (en) Network and terminal for forming an adhoc network by responsive to an inquiry forwarded by a slave terminal, setting up by the master unit a connection with the terminal to be incorporated into the network
WO2005067162A1 (en) A method for reducing radio interference in a frequency-hopping radio network
WO2003017579A1 (en) Connecting bluetooth devices to each other
JP3776402B2 (en) Bluetooth data transmission system having a plurality of sub-terminals (slaves)
KR20030087746A (en) Method and apparatus for communication between two piconets within bluetooth scatternet
Ayrault Service discovery for personal area networks
Farkas et al. Introduction to WLAN IEEE802. 11 Communication on Mobile Devices

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG US UZ VC VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI GA GN GQ GW ML MR NE SN TD TG

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 69(1) EPC

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP