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.
   511   512   513   514   515   516   517   518   519   520   521