2301 5.4 Tech Overview FINAL
2301 5.4 Tech Overview FINAL
2301 5.4 Tech Overview FINAL
2
Table of Contents
At a Glance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Periodic Advertising with Responses (PAwR) 6
Encrypted Advertising Data 6
LE GATT Security Levels Characteristic 6
Advertising Coding Selection 6
1. Periodic Advertising with Responses. . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Background 7
1.1.1 Modes of Operation 7
1.1.2 Fundamental Properties of Communication Systems 7
1.1.3 Advertising Modes and Basic Properties 10
1.1.5 The Evolution of Bluetooth Advertising 11
1.1.5.1 Legacy Advertising 11
1.1.5.2 Extended Advertising 13
1.1.5.2.1 Irregular Extended Advertising 13
1.1.5.2.2 Periodic Advertising 15
1.1.5.3 Comparing Legacy Advertising and
Extended Advertising 17
1.2 About Periodic Advertising with Responses (PAwR) 18
1.2.1 Overview 18
1.2.2 Benefits 19
1.2.2.1 Bidirectional Connectionless Communication 19
1.2.2.2 Scalability 19
1.2.2.3 Energy Efficiency 19
1.2.2.4 Flexible Topologies and Receiver Concurrency 19
1.2.2.5 Applications 19
3
Table of Contents
1.2.3 Technical Highlights 20
1.2.3.1 Events, Sub-events, and Response Slots 20
1.2.3.2 Channel Selection 21
1.2.3.3 Synchronizing 21
1.2.3.3.1 General 21
1.2.3.3.2 Scanning for Periodic Advertising
Synchronization Information 22
1.2.3.3.3 Periodic Advertising Sync Transfer (PAST) 23
1.2.3.3.4 Subevent Synchronization and Response
Slot Allocation 23
1.2.3.4 Host Controller Interface 23
1.2.3.4.1 Periodic Advertising Configuration 24
1.2.3.4.2 Setting Application Data 24
1.2.3.4.3 Receiving Application Data 24
1.2.3.4.4 Synchronization 24
1.2.3.5 Comparison with Other Logical Transports 25
1.2.3.6 Battery Life 26
1.2.4 Electronic Shelf Labels and PAwR 27
1.2.4.1 Overview of the Electronic Shelf Label Profile 27
1.2.4.2 ESL and PAwR Illustration 28
1.2.4.2.1 ESL and 1:1 Device Communication 28
1.2.4.2.2 ESL and 1:m Device Communication 29
2. Encrypted Advertising Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1 Background 32
2.1.1 Advertising 32
2.1.2 Structures and Types 32
2.1.3 Encryption 32
2.2 About Encrypted Advertising Data 33
4
Table of Contents
2.2.1 Capabilities and Benefits 33
2.2.2 Technical Highlights 33
2.2.2.1 Sharing key material 33
2.2.2.2 Encryption of Data 34
2.2.2.3 Transmission of encrypted data 35
2.2.3 Profiles using Encrypted Advertising Data 35
3. The LE GATT Security Levels Characteristic. . . . . . . . . . . . . . . . . . . 36
3.1 Background 36
3.1.1 The Generic Attribute Profile (GATT) 36
3.1.3 GATT Security and User Experience 37
3.2 About the LE Gatt Security Levels Characteristic 38
3.2.1 Overview 38
3.2.2 Technical Highlights 38
4. Advertising Coding Selection 40
4.1 Background 40
4.1.1 Bluetooth LE and PHYs 40
4.1.2 Host Controller Interface (HCI) and PHY Parameters 41
4.2 About the Coding Scheme Selection on Advertising
(CSSA) Change 42
4.2.1 Overview 42
4.2.3 Technical Highlights 42
5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
References 43
5
back to contents
At a Glance
Periodic Advertising with Responses (PAwR)
PAwR is a new Bluetooth Low Energy (LE) logical transport that provides a way to perform energy-
efficient, bi-directional, communication in a large-scale one-to-many topology.
6
back to contents
7
Property Description
Topology Topology is concerned with the cardinality of the relationships which may be formed between communicating devices.
Three distinct topologies are recognized;
one-to-one (1:1),
many-to-many (m:n).
Direction - Packets Communication involves the transmission and receipt of packets. With some modes of operation and configurations,
packets travel in one direction only between communicating devices (unidirectional), while in others, there is a
bidirectional exchange of packets.
Direction - Data Some transmitted packets can contain data from the higher layers of the Bluetooth protocol stack (e.g., the application
layer), and some cannot. Some modes of operation support the bidirectional communication of data, while in other cases,
the transfer of data is unidirectional, even when bidirectional packet exchanges are taking place.
Communication Method Connection-oriented communication involves initialization procedures that allow devices to prepare for communication by
negotiating various parameter values. The agreed parameters then control certain aspects of communication, such as the
timing of transmit and receive slots.
Data / Time Relationship The Bluetooth Core Specification defines three different relationships between logical transports, the data to be
transported, and time, and they are referred to with the terms asynchronous, synchronous, and isochronous.
When performing asynchronous communication, the data to be transported has no special relationship with or
dependency on time. Packets will be transmitted one or more times until received. It is important that all data is delivered,
and retransmission schemes are used to support this, but it is not crucial when the data is delivered. Receivers may know
the remote device’s transport packet transmission schedule but not when to expect data from upper layers to be delivered
by the transport in such packets.
When performing synchronous communication, the data to be transported is time-dependent and passed to the link layer
for transmission according to a schedule. Packets are of a fixed size, and data rates are constant. Packets not delivered
within applicable time constraints are said to expire and are flushed.
Isochronous communication is similar to synchronous communication. Data is time-bound and must be delivered within
specific time constraints. Packets may vary in size, so that data rates may be variable. Packets not delivered within
applicable time constraints are said to expire and are flushed.
8
Property Description
Receiver Concurrency A one-to-many topology is sometimes described or depicted as a hub-and-spoke arrangement of devices. The hub device
can transmit data to each of the other devices, one device at a time in series, or it can transmit in such a way that some or all
of the devices receive the same transmitted data at precisely the same time. In the first example, despite the one-to-many
topology, the communication is effectively serialized in time across receivers. In contrast, in the other instance, the same data
is delivered concurrently to a set of receivers.
RF Channels Bluetooth LE divides the ISM band into forty 2 MHz-wide channels. Different operating modes and configurations use different
subsets of these channels. Specific subsets are defined and referred to with the following names:
General-purpose channels 0 to 36
Scalability There are several possible interpretations of this term, which depend on the context. For example, when considering 1:m
topologies, the maximum size of m may be the primary interest. In other scenarios, it may be that scaling up to some overall
maximum data transfer rates or messages per second is the scalability concern.
Choice of PHY Bluetooth LE defines three physical layer variants known as PHYs.
The LE 1M PHY uses a symbol rate of 1 Msym/s with a required frequency deviation of at least 185 kHz. All devices must support
the LE 1M PHY.
The LE 2M PHY is similar to LE 1M but uses a symbol rate of 2 Msym/s and has a required frequency deviation of at least 370
kHz. Support for the LE 2M PHY is optional.
The LE Coded PHY uses a symbol rate of 1 Msym/s. Packets are subject to a coding called Forward Error Correction (FEC) and,
depending on configuration, a pattern mapping. This increases the effective range of transmissions but reduces the application
data rate. Support for the LE Coded PHY is optional.
Support for each of the three PHYs varies according to the mode of operation and sometimes by the PDU type to be transmitted.
9
back to contents
Property Description
connectable vs. non-connectable Connectable advertising means that a scanning device may respond to a
received advertising packet by transmitting a request to form a connection with
the advertising device.
scannable vs non-scannable Scannable advertising means scanning devices may respond to an advertising
packet by transmitting a scan request, asking for more application data from
the advertiser.
directed vs. non-directed When performing directed advertising, packets are addressed to a specific
scanning device and will be ignored by other devices.
Non-directed advertising packets are not addressed to a specific device and may
be processed by any scanning device.
Irregular vs. Advertising can be performed with a precise transmission schedule, and this is
fixed interval periodic known as periodic advertising.
Specific combinations of these properties are defined together with the circumstances in which
they may be used, in the Bluetooth Core Specification. The selected combination is indicated by the
type(s) of PDU transmitted or by the value of a field called AdvMode, which is present in some PDU
types. Examples of defined combinations include connectable undirected advertising and connectable
and scannable advertising.
10
back to contents
In the context of Periodic Advertising with Responses (PAwR) in this paper, the term Broadcaster
refers to an advertising device and Observer to any device which scans to receive advertising
packets. The term advertiser may be used from time to time when advertising is being discussed in
more general terms. The terms Central and Peripheral are used when the context relates to
establishing connections.
11
Advertising Advertising Advertising
Event Event Event
advDelay advDelay advDelay
advInterval advInterval advInterval
36
Legacy advertising packets can contain application data in the AdvData field, but scan request packets cannot. Therefore the direction of
packet transmissions can be bidirectional, but the transfer of application data using advertising and scan response PDUs is a strictly one-
way capability.
12
back to contents
13
ref core spec Link Layer Figure 4.25
advDelay advDelay
advInterval advInterval
ADV_EXT_IND
39 ADV_EXT_IND
AuxPtr AuxPtr
38 ADV_EXT_IND ADV_EXT_IND
AuxPtr AuxPtr
37 ADV_IND
ADV_EXT_IND
ADV_IND
ADV_EXT_IND
AuxPtr AuxPtr
Primary Advertising Channels
Secondary Advertising Channels
AUX_ADV_IND
36
AuxPtr
AUX_CHAIN_IND
AuxPtr
AUX_CHAIN_IND
AuxPtr
AUX_ADV_IND
AuxPtr
AUX_CHAIN_IND
14
back to contents
15
Periodic Periodic Periodic
Event Event Event
39 ADV_EXT_IND
PDUs
AuxPtr
ADV_EXT_IND
PDUs
38
AuxPtr
AuxPtr
Primary Advertising Channels
Secondary Advertising Channels
AUX_ADV_IND AUX_CHAIN_IND
36
SyncInfo AuxPtr AuxPtr
AUX_CHAIN_IND
AUX_SYNC_IND
AUX_ADV_IND
SyncInfo
AUX_CHAIN_IND
AUX_SYNC_IND AUX_SYNC_IND
AuxPtr AuxPtr
SyncInfo AUX_CHAIN_IND
AUX_ADV_IND
16
back to contents
The AUX_SYNC_IND advertising PDU type is transmitted at fixed intervals. It is not possible for
Observers to respond to PADVB periodic advertising PDUs and hence this logical transport only
supports unidirectional communication of application data.
Max. host 31 bytes 254 bytes Extended Advertising PDUs use the Common
advertising data Extended Advertising Payload Format, which
per packet supports an 8x larger advertising data field.
Transmission timing Irregular Irregular and Extended Advertising includes Periodic Advertising,
enabling time-synchronized communication of
Regular (periodic)
advertising data between transmitters
and receivers.
17
back to contents
1.2.1 Overview
PAwR is similar to periodic advertising (PADVB) in several ways:
• PADVB allows application data to be transmitted by one device (the Broadcaster) to one or
more receiving devices (the Observers), forming a one-to-many communication topology. The
same is true of PAwR.
• PAwR and PADVB both use a connectionless communication method.
• Transmission of advertising packets is periodic with a fixed interval and no random
perturbation of the schedule in both cases.
• Observers can establish the periodic transmission schedule used by the Broadcaster from
AUX_ADV_IND PDUs or by using the Periodic Advertising Sync Transfer (PAST) procedure.
PAwR differs from PADVB as follows:
• PADVB supports the unidirectional communication of data from a Broadcaster to Observers
only. PAwR Observers can transmit response packets back to the Broadcaster. PAwR provides
a bidirectional, connectionless communication mechanism.
• Synchronization information for periodic advertising without responses (PADVB) is contained
within the SyncInfo field of AUX_ADV_IND PDUs. Synchronization information for periodic
advertising with responses (PAwR) is contained within the SyncInfo field and in the ACAD field
of AUX_ADV_IND PDUs.
• The PADVB Broadcaster schedules transmissions within advertising events. The PAwR
Broadcaster schedules transmissions in a series of events and subevents, and Observers
are expected to have synchronized in such a way as to listen during a specific subevent or
subevents only.
• The PAwR Broadcaster may use a transmission time slot to send a connection request (AUX_
CONNECT_REQ) to a specific device and establish an LE-ACL connection with it. PADVB
does not have this capability.
• With periodic advertising without responses (PADVB), application data tends to only change
from time to time. PAwR is designed with the expectation that application data will
change frequently.
• With PADVB, the same application data is delivered to all Observer devices synchronized to
the same advertising set. With PAwR, different data can be delivered to each Observer device
or set of Observer devices.
• Support for the Periodic Advertising Sync Transfer (PAST) procedure is optional with PADVB
but mandatory with PAwR.
18
back to contents
1.2.2 Benefits
1.2.2.2 Scalability
PAwR offers a more scalable way to create a one-to-many topology capable of bidirectional
application data communication than a collection of LE-ACL connections. It is common for no more
than a handful of concurrent LE-ACL connections to be supported by a Central device3 , whereas
bidirectional communication with thousands of devices is possible using PAwR.
1.2.2.5 Applications
PAwR is well-suited to applications that need to send and receive messages between a central hub
device and a large number of other devices in a network. Messages could contain commands or
sensor data values, or other data, as defined by the application layer. The Electronic Shelf Label (ESL)
profile uses PAwR to transport messages containing commands and responses and serves as a good
example of PAwR in use.
PAwR is not intended to be used for products that require a real-time messaging capability. As will
be explained in the Technical Highlights section, PAwR works by periodically transmitting a series of
packets, one after the other in specific time slots known as subevents. Devices are configured so that
they listen during certain subevents only and therefore it is common for there be a delay between
the start of a use case which delivers commands or data to devices across the network, and the
transmission time slot for each device arising. Consequently, a noticeable elapsed time will
3 LE-ACL scalability limits are largely an implementation concern rather than inherent in the specification details
19
back to contents
sometimes be experienced when sending messages to multiple, unrelated devices. The elapsed time
will vary in magnitude from milliseconds to tens of seconds, depending on details of the use case and
system configuration.
By way of contrast, Bluetooth mesh networking also makes use of a system of messaging for
commands and sensor data. However, Bluetooth mesh offers a near to real-time messaging solution,
with messages sent and responded to more or less immediately. To achieve this though, mesh
devices perform passive scanning with a duty cycle as close to 100 percent as possible and this has
consequences for energy consumption. PAwR devices such as electronic shelf labels operate to a low
duty cycle and therefore perform well in terms of energy efficiency.
periodic
advertising
subevent
interval
In each subevent, the Broadcaster transmits one packet, which usually contains an AUX_SYNC_
SUBEVENT_IND PDU but may instead contain an AUX_CONNECT_REQ PDU. After a delay, known
as the Periodic Advertising Response Slot Delay, a series of time slots are reserved within the same
20
back to contents
t0 t1
r0 r1 r2 r3 r4 r5 r6 r7 rn
AUX_SYNC_SUBEVENT_IND
Periodic Advertising
or Response Slot Delay
AUX_CONNECT_REQ
for subevent #0 Periodic Advertising Response Slot Spacing
1.2.3.3 Synchronizing
1.2.3.3.1 General
The process of synchronizing provides the Observer device with the information it needs to efficiently
scan for and receive relevant packets transmitted by the advertising device. In the case of PAwR,
there are three aspects to this:
1. The Observer needs to know how often periodic advertising with responses events will occur
and when the next such event will occur. This information is provided in a parameter called the
periodic advertising interval and a calculated value known as syncPacketWindowOffset.
2. The Observer needs information about subevents, including how often they occur and
how many subevents each periodic advertising with responses event accommodates. It also
needs to know certain details relating to the time slots within each subevent reserved for
the transmission of responses. This information is contained within parameters known as
Subevent_Interval, Num_Subevents, Response_Slot_Delay, Response_Slot_Spacing, and
Num_Response_Slots.
21
back to contents
3. Finally, an Observer needs to know which subevent number it should scan for, which
particular response slot it should use, and the access address to use in response
packets transmitted.
Having acquired the event timing information described in (1) and the subevents information in (2),
the Observer has a complete description of the timing parameters and structure of the events and
subevents of the PAwR advertising train. But it is only when it has the information in (3) that it can
schedule its scanning such that it receives only those packets that are expected to contain data of
relevance and can schedule the transmission of response packets.
(1) and (2) are dealt with by the PAwR logical transport, as defined in the Bluetooth Core Specification.
There is a choice of two procedures that may be used to obtain this level of synchronization
information. The two procedures are covered in this paper in sections 1.2.3.3.2 Scanning for Periodic
Advertising Synchronization Information and 1.2.3.3.3 Periodic Advertising Sync Transfer (PAST).
(3) must be addressed by the application layer and may be defined in an applicable Bluetooth profile
specification. This is covered in section 1.2.3.3.4 Subevent Synchronization and Response
Slot Allocation.
22
back to contents
subeventInterval 1 The time from the start of one subevent to the beginning of the next
subevent. Expressed as a multiple of 1.25 ms and supporting a range of 7.5
ms to 318.75 ms.
responseSlotDelay 1 Time from the start of a subevent to the first response slot. Expressed as a
multiple of 1.25 ms and supporting a range of 1.25 ms to 317.5 ms.
responseSlotSpacing 1 Time from the start of one response slot to the beginning of the next
response slot. Expressed as a multiple of 0.125 ms and supporting a range
of 0.25 ms to 31.875 ms.
Table 3 - PAwR data in Periodic Advertising Response Timing Information AD type in AUX_ADV_IND PDUs
23
back to contents
1.2.3.4.4 Synchronization
The LE Set Periodic Sync Subevent command is a new command that the Observer uses to instruct
its Controller to synchronize its scanning schedule with one or more PAwR subevents belonging to a
particular PAwR advertising train.
24
The LE Periodic Advertising Sync Established event and LE Periodic Advertising Sync Transfer Received event have each been
updated to version 2 to add Num_Subevents, Subevent_Interval, Response_Slot_Delay, and Response_Slot_Spacing parameters.
Topologies 1:m 1:11, 1:m 1:11, 1:m 1:1, 1:m 1:1, 1:m2 1:m 1:1, 1:m2
RF Channels primary during primary primary primary during general-purpose primary during general-purpose
synchronization, synchronization, synchronization,
secondary during secondary secondary during secondary during
synchronized synchronized synchronized
advertising. advertising. broadcast
isochronous
operation.
Scalability m in 1:m topology m in 1:m m in 1:m m in 1:m topology limited by m in 1:m topology limited by
is very large7. topology is topology is very is very large 7. implementation is very large 7. implementation
very large 7. large 7. issues but issues but
generally small8 generally small8
25
Logical Transports
Choice of PHY Synchronized - LE 1M only LE 1M, LE 2M Synchronized - LE 1M, LE 2M LE Synchronized - LE 1M, LE 2M
LE 1M, LE 2M LE LE Coded LE 1M, LE 2M LE Coded LE 1M, LE 2M LE LE Coded
Coded except for the Coded Coded
ADV_EXT_IND
Synchronizing Synchronizing - LE Synchronizing
PDU (LE 1M or
- LE 1M or LE 1M or LE Coded - LE 1M or LE
LE Coded)
Coded Coded
Notes 1- directed advertising can be used to transfer data to a single target device
2 - A topology similar to 1:m can be created using multiple LE ACL connections or LE CIS streams from a single Central device to multiple
Peripheral devices but it should be noted that technically, these are multiple, separate 1:1 relationships.
3 - packet flow is bidirectional when performing scannable advertising and with receivers performing active scanning
5 - A device can listen to one BIS stream from a choice of many streams within a broadcast isochronous group
As Table 4 shows, PAwR’s key strengths include the fact that application data communication is bidirectional, flexibility is provided in the
choices of topology and receiver concurrency available, and the number of devices that can be communicated with from one Broadcaster
is very large (i.e., thousands of devices).
26
back to contents
• Using the LE 1M PHY with PAwR involves a transmission rate of 1,000,000 bits per second.
• Assuming the Observer device has synchronized to a single subevent within that interval.
• A typical packet size of around 300 bits requires the receiver to be active for 300µs every 1600000µs.
• 157,680,000 (seconds in five years) / 1.6 seconds * 0.000300 seconds = 29,565 seconds of receiver activity over
five years.
• This equates to just over 8 hours of energy consumption over five years due to receiver activity.
• A typical measure of current consumption due to Bluetooth receiver activity is 10 mAh. Therefore in this scenario,
about 80 mA will be consumed.
This leaves sufficient energy for other aspects of the device, such as standby mode and running a display.
Note that using the LE 2M PHY would reduce energy consumption further still but at the expense of reduced range.
Amongst the use cases which feature electronic shelf labels are the following examples:
1. Switching on the LED of a specific label and setting its color to red so that a shop worker can
quickly locate a product for a customer.
2. Reducing the prices of all freshly baked bread an hour before closing.
3. Collecting the current temperature of the inside of a refrigerator.
27
back to contents
The ESL profile uses both PAwR and connection-oriented interactions to meet its complete set
of requirements. Images, for example, are written to devices over LE ACL connections. But most
commands and responses involve ESL messages transported using PAwR PDUs in subevents.
ESL uses a device addressing scheme which consists of an 8-bit ESL ID and a 7-bit Group ID. The ESL
ID is unique within the group of devices identified by a Group ID. Therefore a network of ESL devices
can include up to 128 groups, each with a maximum of 255 unique ESL devices that are members of
that group. In total, there may be 32,640 ESL devices in a network.
The ESL profile deals with subevent synchronization and response slot allocation as follows:
• The PAwR Broadcaster, known as an Access Point (AP) in the ESL profile specification, configures
electronic shelf label devices by writing to various GATT characteristics over an LE ACL
connection. The data written includes the assignment of an ESL Address consisting of an ESL ID
and a Group ID. Group is an ESL profile concept, but its value is also used to indicate the number of
the subevent during which the ESL device should scan.
• Response slot allocation happens dynamically. ESL devices receive an array of one or more
commands from the AP in PAwR AUX_SYNC_SUBEVENT_IND PDUs. All commands in a request
packet are addressed to the same ESL Group_ID. But each is addressed to a specific ESL in the
group using its ESL_ID5. The index of the command in the array, counting from 1 for the first
command, determines the response slot to be used. So, for example, having executed the 3rd
command in the request PDU’s array, response slot #3 will be used.
subevent 0
ESL commands
group 1, [ESL ID n, cmd]
subevent 1
AUX_SYNC_SUBEVENT_IND
ESL response
rsp slot 0
AUX_SYNC_SUBEVENT_RSP
subevent 2
5 ESL also supports the concept of broadcast messages but these do not elicit a response and so are not relevant here
28
back to contents
The shelf label to which the ESL command is addressed is a member of ESL group 1. This means that
it is synchronized to PAwR subevent #1. The AP, therefore, formulates the ESL Payload, which can
include an array of one or more commands, each addressed to a specific ESL ID within that same
group, and transmits it as the payload of a PAwR AUX_SYNC_SUBEVENT_IND PDU during PAwR
subevent #1.
The transmitted packet is received simultaneously by all shelf labels that are members of group 1
since they have all synchronized on and are listening during subevent #1. The single command in
this PDU is addressed to ESL ID #n, so all shelf labels that receive the message discard it except
for the device with the address of ESL ID #n and Group ID #1. This device processes the command
per the ESL profile specification and then formulates and transmits a response in an AUX_SYNC_
SUBEVENT_RSP PDU during response slot #0. Response slot #0 was used because the command
being responded to was the command array’s first (and only) member in the request.
Note that the ESL Profile specification numbers response slots starting at 1 whereas the Bluetooth
Core Specification uses a numbering scheme that starts at 0. Figures 8 and 9 use this scheme.
29
back to contents
ESL commands
group 0, [ESL ID 0, cmd], [ESL ID 1, cmd], [ESL ID n, cmd]
subevent 0
AUX_SYNC_SUBEVENT_IND
ESL response
rsp slot 0
AUX_SYNC_SUBEVENT_RSP
ESL response
rsp slot 1
AUX_SYNC_SUBEVENT_RSP
ESL response
rsp slot 2
AUX_SYNC_SUBEVENT_RSP
ESL commands
group 1, [ESL ID n, cmd]
subevent 1
AUX_SYNC_SUBEVENT_IND
ESL response
rsp slot 0
AUX_SYNC_SUBEVENT_RSP
AUX_SYNC_SUBEVENT_IND
subevent 2
with empty payload
Figure 9 - An ESL request containing commands addressed to multiple devices in the group
The first ESL request contains three commands. The request targets three shelf labels belonging to
ESL group #0, so it is formatted and set as the payload of an AUX_SYNC_SUBEVENT_IND PDU and
transmitted in PAwR subevent #0.
All ESL shelf labels that are members of group #0 receive the PDU simultaneously since they are all
synchronized on PAwR subevent #0. The ESL command array contains commands addressed to those
shelf labels in the group that have ID #0, #1, and #n. These three devices process their respective
commands. The device with ID #0 responds with an AUX_SYNC_SUBEVENT_RSP PDU in response
slot 0. The device with ID #1 responds with an AUX_SYNC_SUBEVENT_RSP PDU in response slot 1.
Finally, the device with ID #n responds with an AUX_SYNC_SUBEVENT_RSP PDU in response slot
#2 since the command responded to was the third in the ESL command array. Other devices with
different IDs ignore the request.
30
back to contents
31
back to contents
2.1.1 Advertising
Background relating to Bluetooth advertising was presented in section 1. Periodic Advertising
with Responses.
2.1.3 Encryption
Sometimes the confidential nature of the data to be transmitted in advertising, scan response,
or EIR packets may make it necessary for that data to be encrypted. Before version 5.4 of the
Bluetooth Core Specification, there was no standardized way to meet this requirement. Encryption
and authentication procedures were defined for connection-oriented communication but not for
connectionless scenarios.
Encryption is a process that securely encodes information such that an unauthorized third party
coming into possession of the encoded data cannot access the original plain text information.
Encryption addresses the need for confidentiality in the presence of eavesdroppers.
Encryption algorithms use one or more keys in the encryption and decryption of data. Some
algorithms also use an initialization vector (IV) as input. Collectively this data is known as key
material. The intended recipient(s) of encrypted data must somehow be provided with the associated
key material so that received data can be decrypted. The sharing of key material needs to be
accomplished securely so that unauthorized parties cannot come into possession of it.
32
back to contents
CCM is the Counter with CBC-MAC block cipher mode. It is used with a 128-bit block cipher such
as AES to encrypt and authenticate messages. Authentication is achieved by including a calculated
message authentication code (MAC) which the Bluetooth Core Specification calls a MIC (Message
Integrity Check).
33
back to contents
When supported, the GAP Peripheral/GATT server can use indications to inform a connected GAP
Central device whenever the key material value changes.
GAP Peripheral
GAP Service
Appearance Characteristic
ATT_READ_REQ
Encrypted Data Key
Multicharacteristic
ATT_READ_RSP
GAP Peripheral
GAP Service
Appearance Characteristic
ATT_HANDLE_VALUE_IND
Encrypted Data Key
Multicharacteristic
ATT_HANDLE_VALUE_CFM
Should there be a requirement for a device to accommodate multiple encryption key material values,
the Encrypted Data Key Material characteristic can be included in services other than the
GAP service.
34
back to contents
Advertising Payload
35
back to contents
3.1 Background
6 See the Bluetooth LE Security Study Guide for more information about Bluetooth LE security including attribute permissions
7 ATT can be used with Bluetooth BR/EDR as well as Bluetooth LE but we’re only concerned with LE here
36
back to contents
Service Service
If an attempt to access an attribute is made, and the conditions of the associated attribute
permissions are not met, the attribute protocol defines several error codes to be returned to indicate
to the client device that the access request was denied and for what reason. Examples include
insufficient encryption, insufficient authentication, and insufficient encryption key size.
Two special services are mandatory in all GATT servers. These are the generic access service and the
generic attribute service.
37
back to contents
3.2.1 Overview
Bluetooth Core Specification version 5.4 defines a new characteristic called the LE Gatt Security
Levels characteristic (SLC)8. The SLC characteristic allows clients to determine the GATT server
security conditions, which must be satisfied if access to all GATT functionality is to be granted.
Importantly, it allows this to be determined before accessing attributes that the application uses.
Checking access requirements in advance allows a better user experience to be created without ad
hoc interruptions to application flow caused by security-level problems.
38
back to contents
There may be more than one security mode and level combination that will satisfy the security
requirements of all attributes of the server. Consequently, the SLC characteristic’s attribute
value consists of an array of one or more Security Level Requirements fields. The Security Level
Requirements field is of type uint8[2], with the first uint8 value containing a direct representation of
a security mode (e.g., 0x01 for security mode 1) and the second, a representation of a security level
(e.g., 0x04 for security level 4).
Clients use the SLC characteristic by reading its value and evaluating the current security mode
and level against the values indicated by the Security Level Requirement field(s). If it is found to be
the case that the current security mode and level are insufficient to allow all GATT functionality
supported by the server, the client application, at this point, takes steps to remedy this, typically by
invoking procedures to upgrade the link security.
39
4. Advertising Coding Selection
4.1 Background
40
LE Coded LE Coded
LE 1M LE 2M
S=2 S=8
Symbol Rate 1 Msym/s 1 Msym/s 1 Msym/s 2 Msym/s
Comment The default Increases range by a factor of around 2 Increases range by a factor of Offers superior spectral efficiency
PHY, which all compared to the range achieved with the around 4 compared to the range compared to the LE 1M PHY. May
Bluetooth LE LE 1M PHY but reduces protocol data achieved with the LE 1M PHY but improve application data rates if
devices must rate to 500 kbps. reduces protocol data rate to 125 used appropriately at the link layer.
support. kbps.
If LE Coded with S=2 is supported
then LE Coded with S=8 must also be If LE Coded with S=8 is supported
supported. then LE Coded with S=2 must also
be supported.
41
back to contents
4.2.1 Overview
Bluetooth Core Specification version 5.4 changes various HCI commands to allow the value for the
FEC parameter S to be specified when using the LE Coded PHY.
LE Extended Advertising Report event The Primary_PHY[i] and Secondary_PHY[i] parameters may each use a
value of 0x03 to indicate S=8 or 0x04 to indicate S=2.
New link layer feature support bits have been allocated to indicate support (or otherwise) for CSSA
by the Host and the Controller.
42
back to contents
5. Conclusion
Bluetooth Core Specification version 5.4 adds a significant new bidirectional connectionless
capability in PAwR and makes it possible to broadcast confidential data in advertising packets
securely. In addition to these considerable enhancements, applications that use GATT can now offer
a better user experience when dealing with attribute security requirements than before, and devices
can exercise control over an important parameter (S) when using the LE Coded PHY for extended
advertising.
References
Item Location
Bluetooth Core Specification https://www.bluetooth.com/specifications/specs/
v5.4
43