Page 516 - From GMS to LTE
P. 516
502 From GSM to LTE-Advanced Pro and 5G
Each GATT/BLE profile defines a number of attributes (variables) which the service
makes available, their type and their individual security requirements:
Access permissions: Readable, writable, both, none.
●
Encryption requirements: Defines which security mode (as described above) is
●
required before the attribute can be accessed.
Authorization permission: Defines if the user has to be asked before an attribute is
●
accessed.
Attributes are grouped into ‘characteristics’, i.e. each characteristic contains one or
more attributes (variables). In turn, each attribute in a characteristic is described as set
out below, and remote devices can query these values, as will be shown below in a
practical example:
A Universally Unique ID (UUID). As shown below, a GATT client can request the
●
UUIDs of all profiles, characteristics and attributes that a GATT server supports.
This way, GATT clients can identify attributes and become aware how data is encoded
in them, i.e. whether an attribute represents an integer number, a floating‐point num-
ber, an ASCII string, and so on. UUIDs are also assigned to characteristics and attrib-
utes that are not part of a standardized profile but that are only useful for GATT
clients in combination with the GATT server device manufacturer documentation.
A 16‐bit handle that is used to read from or write to an attribute, as shown in more
●
detail below.
The attribute itself, with a length of between 1 and 512 bytes.
●
In addition to user services, each BLE device also implements a standardized service
to convey basic information about itself such as its device name, its appearance charac-
teristic (phone, watch, sensor, etc.) and its peripheral preferred connection parameter
(PPCP) characteristics. The PPCP is interesting as it allows a remote device to find out
which connection parameters a peripheral would prefer that are, for example, adapted
to its power availability. Access to this information is handled in the same way as for
other user‐specific attributes. Figures 7.31 and 7.32 show what a GATT read request
and response for the device’s name look like in practice.
Figure 7.31 A GATT Read Request. Source: Gerald Combs / Wireshark.