6. BLE Protocol Stack
BLE is used as a transport medium to provide connectivity for an Endpoint to exchange encrypted messages with the Amazon Sidewalk Cloud via compatible BLE-enabled Amazon Sidewalk Gateways. This chapter provides details of the BLE protocol stack and use cases that are specific to Amazon Sidewalk. This chapter covers selected security aspects that are specific to BLE and are not covered by Chapter 4.
BLE usage in Amazon Sidewalk emphasizes power efficiency and low latency for Endpoint communication. BLE gives the most efficient and highest data rate but has a shorter range than the SubG-FSK and SubG-CSS links.
BLE devices may play central or peripheral roles. A peripheral device (Endpoint) advertises its presence by broadcasting an advertisement packet. A central device scans for advertisements and may choose to allow connection with a peripheral device based on the advertisement data. A central device may connect with multiple peripheral devices simultaneously. Smartphones with a mobile application installed and Gateways act as central devices while devices like sensors act as peripheral devices.
Amazon Sidewalk BLE devices use the Generic Attribute Profile (GATT) defined in Bluetooth Low Energy Specification v 4.2 with the following GATT concepts:
- Client: A device that initiates connection. Typically, the central device (smartphone/Gateway) is a GATT client.
- Server: A device that receives connection. Typically, a BLE peripheral is also the GATT server.
- Service: A collection of related characteristics is a BLE GATT service.
- Characteristic: Contains data to be exchanged between the client and server. Each characteristic can support one or more operations like read, write, notify or indicate. A client can subscribe to notifications when connecting with a GATT server.
- Descriptor: GATT Descriptors are defined attributes that describe a characteristic value. “Client Characteristic Configuration Descriptor 0x2902” is used as a descriptor value.