Internet-Draft | RABBLE | February 2023 |
Grayson & Lear | Expires 31 August 2023 | [Page] |
This document specifies an extension to the Remote Authentication Dial-In User Service (RADIUS) protocol that enables a Bluetooth Low Energy (BLE) peripheral device that has previously formed a bonded, secure trusted relationship with a first "home" Bluetooth Low Energy Central device to operate with a second "visited" Bluetooth Low Energy Central device.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 31 August 2023.¶
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
This document specifies an extension to the Remote Authentication Dial-In User Service (RADIUS) protocol [RFC2865] that enables a Bluetooth Low Energy (BLE) peripheral device that has previously formed a bonded, secure trusted relationship with a first "home" Bluetooth Low Energy Central device to operate with a second "visited" Bluetooth Low Energy Central device that is integrated with a Network Access Server.¶
After being successfully authenticated, a signalling link is established that enables Bluetooth messages advertized by the BLE Peripheral to be forwarded from the Visited Bluetooth Low Energy Central device to a Home MQTT Broker. For connectable BLE Peripherals, the signalling link enables the Home MQTT Broker to send BLE Requests or Commands to the Visited Bluetooth Low Energy Central device that is then responsible for forwarding to the BLE peripheral.¶
The extensions allow administrative entities to collaborate to enable RADIUS authentication of BLE devices onto their respective networks, without requiring the peripheral to perform a re-pairing on the visited network.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
BLE Central Controller:¶
The BLE entity that implements the Bluetooth Link Layer and interacts with the Bluetooth Radio Hardware.¶
BLE Central Host:¶
A BLE entity that interacts with the BLE Central Controller to enable applications to communicate with peer BLE devices in a standard and interoperable way.¶
BLE Peripheral Device:¶
A BLE device that is configured to repeatedly send advertizing messages.¶
BLE Security Database:¶
A database that stores the keying material associated with a bonded Bluetooth Connection.¶
Bluetooth Low Energy (BLE):¶
A wireless technology designed for low power operation and specified by the Bluetooth Special Interest Group.¶
Bonding:¶
A Bluetooth [BLUETOOTH] defined process that creates a relation between a Bluetooth Central device and a Bluetooth Peripheral device which generates session keying material that is expected to be stored by both Bluetooth devices, to be used for future authentication.¶
hash:¶
A Bluetooth [BLUETOOTH] specified 24-bit hash value which is calculated using a hash function operating on IRK and prand as its input parameters. The hash is encoded in the 24 least significant bits of a Resolvable Private Address.¶
home:¶
A network that has access to the keying material necessary to support the pairing of a BLE peripheral and that is able to expose the keys generated as part of the BLE bonding process.¶
Identity Address (IA):¶
The 48-bit global (public) MAC address of a Bluetooth device.¶
Identity Resolving Key (IRK):¶
A Bluetooth [BLUETOOTH] specified key used in the Bluetooth privacy feature. The Resolvable Private Address hash value is calculated using a hash function of prand and the IRK.¶
Long-Term key (LTK):¶
A symmetric key which is generated during the Bluetooth bonding procedure and used to generate the session key used to encrypt a communication session between Bluetooth devices.¶
prand:¶
A 24-bit random number used by a BLE device to generate a Resolvable Private Address. The prand is encoded in the 24 most significant bits of a Resolvable Private Address.¶
Resolvable Private Address (RPA):¶
A Bluetooth [BLUETOOTH] specified private 48-bit address that can be resolved to a permanent Bluetooth Identity Address through the use of an Identity Resolving Key.¶
Visited:¶
A network that does not have access to the keying material necessary to support the pairing of a BLE peripheral, but that is able to support the RADIUS authentication of an already bonded BLE Peripheral.¶
This section provides an overview of the RADIUS BLE mechanism, which is supported by the extensions described in this document. The RADIUS profile is intended to be used between a Visited BLE Central Host that is enhanced with Network Access Server (NAS) functionality which enables it to exchange messages with a RADIUS server.¶
A BLE Peripheral is paired and bonded with the BLE Home Central Host. The pairing requires the BLE Home Central Host to have access to the keying material necessary to support the pairing of a BLE peripheral, e.g., by using techniques described in [I-D.shahzad-scim-device-model].¶
The bonding process generates new session specific keying material that MUST be exposed by the BLE Home Central Host to a RADIUS server, e.g., stored in a BLE Security Database which is accessible by the RADIUS server. The keying material MUST include the peripheral's IA and IRK, indicating that the BLE Peripheral has enabled the Bluetooth privacy feature and is operating with a Resolvable Private Address (RPA).¶
The BLE Peripheral then moves into the coverage of a second BLE Central device which comprises a second BLE Central Controller and a second BLE (Visited) Central Host which has been enhanced with Network Access Server (NAS) functionality. The BLE Peripheral MUST be configured to send low duty cycle advertising events using the BLE Peripheral's RPA that are detected by the NAS/BLE Visited Central Host. The NAS/BLE Visited Central Host decodes the Advertisement(s) sent by the BLE Peripheral and MAY use the presence and/or contents of specific Advertising Elements to decide whether to trigger a RADIUS exchange with a RADIUS Server which has access to the keying material exposed by the BLE Home Central Host.¶
The successful authentication of the BLE Peripheral onto the BLE Visited Central Host MUST include the signalling of the keying material exposed by the BLE Home Central Host to enable the re-establishment of the secured communication session with the BLE Peripheral. Bluetooth advertisements received from an authenticated BLE Peripheral are forwarded between the BLE Visited Central Host and a Home MQTT message broker.¶
If the BLE Peripheral is connectable, the Home MQTT Broker MAY send BLE Requests or Commands to the Visited Bluetooth Low Energy Central device that is then responsible for forwarding to the authenticated BLE peripheral. The Home MQTT Broker MAY be configured to forward the messages to/from a Bluetooth Application associated with the authenticated BLE Peripheral, either directly, or via the first Home Bluetooth Low Energy Central device.¶
Contains a 6 character ASCII upper-case string corresponding to the hexadecimal encoding of the 22-bit prand value derived from the Bluetooth Resolvable Private Address, where the first string character represents the most significant hexadecimal digit, i.e., a prand value of 0x035fb2 is encoded as "035FB2".¶
Contains a 6 character ASCII upper-case string corresponding to the hexadecimal encoding of the 24 bit hash derived from the Bluetooth Resolvable Private Address, where the first string character represents the most significant hexadecimal digit. The 6 character string is hidden using techniques specified in RFC 2865 [RFC2865].¶
These attributes are not used by BLE Authenticators.¶
The NAS-IP-Address contains the IPv4 address of the BLE Central Host acting as an Authenticator, and the NAS-IPv6-Address contains the IPv6 address.¶
For use with BLE the NAS-Port will contain the port number of the BLE Central Host, if this is available.¶
For use with BLE, the Service-Type of Authenticate Only (8) is used.¶
The Framed-Protocol attribute is not used by BLE Authenticators.¶
The Framed-IP-Address and Framed-IP-Netmask attributes are not used by BLE Authenticators.¶
The Framed-Routing attribute is not used by BLE Authenticators.¶
The Framed-MTU attribute is not used by BLE Authenticators.¶
The Framed-Compression attribute is not used by BLE Authenticators.¶
The Displayable Messages attribute is not used by BLE Authenticators.¶
These attributes are not not used by BLE Authenticators.¶
These attributes are not not used by BLE Authenticators.¶
These attributes are used for the same purposes as described in [RFC2865].¶
Vendor-specific attributes are used for the same purposes as described in [RFC2865].¶
When sent along in an Access-Accept without a Termination-Action attribute or with a Termination-Action attribute set to Default, the Session-Timeout attribute specifies the maximum number of seconds of service provided prior to session termination.¶
The Idle-Timeout attribute indicates the maximum time that the BLE wireless device may remain idle.¶
This attribute indicates what action should be taken when the service is completed. The value Default (0) indicates that the session should terminate.¶
For NAS/BLE Visited Host Authenticators, this attribute is used to store the public Identity Address (BD_ADDR) of the Bluetooth Access Point in ASCII format (upper case only), with octet values separated by a "-". Example: "88-15-44-23-19-C0".¶
This attribute is not not used by BLE Authenticators.¶
This attribute contains a string identifying the BLE Central Host originating the Access-Request.¶
TBA1: "Wireless - Bluetooth Low Energy"¶
This attribute is not not used by BLE Authenticators.¶
This attribute is not not used by BLE Authenticators.¶
The Message-Authenticator attribute MUST be used to protect any packets that include the BLE-Keying-Material attribute.¶
Description¶
The GATT-Service-Profile (TBA2) Attribute allows a RADIUS client to include one or more GATT Service Profiles which are advertised by the BLE Peripheral.¶
Zero or more GATT-Service-Profile Attributes MAY be included in an Access-Request packet.¶
A summary of the GATT-Service-Profile Attribute format is shown below. The fields are transmitted from left to right.¶
Type¶
TBA2¶
Length¶
6 octet¶
Value¶
The field is 4 octets, containing a 32-bit unsigned integer that represents a GATT Service Profile.¶
Description¶
The BLE-Keying-Material (TBA3) Attribute allows the transfer of Identity Address(es) and cryptographic keying material from a RADIUS Server to the BLE Visited Central Host.¶
Any packet that contains a BLE-Keying-Material Attribute MUST also include the Message-Authenticator attribute.¶
A single BLE-Keying-Material Attributes MUST be included in an Access-Accept packet.¶
A summary of the BLE-Keying-Material Attribute format is shown below. The fields are transmitted from left to right.¶
Type¶
TBA3¶
Length¶
>=56 octet¶
Peripheral Identity Address¶
The Peripheral Identity Address field is 6 octets in length and contains the Peripheral's 6-octet Identity Address.¶
Central Identity Address¶
The Central Identity Address field is 6 octets in length and contains the Central's 6-octet Identity Address. If the Central Identity Address is not used, it is set to 0.¶
KM Type¶
The KM Type field is 2 octets in length and identifies the type of keying material included in the Keying Material Data field. This allows for multiple keys for different purposes to be present in the same attribute. This document defines three values for the KM Type:¶
1 The Keying Material Data field contains the encrypted 16-octet Peripheral Identity Resolving Key and the 16-octet Long Term Key generated during an LE Secure Connection bonding procedure. The Peripheral IRK is passed as input P1 and P2 and the Long Term Key is passed as input P3 and P4 in the AES key wrapping process with 128-bit KEK defined in [RFC3394].¶
2 The Keying Material Data field contains the 16-octet Peripheral Identity Resolving Key, the 16-octet Long Term Key generated during an LE Secure Connection bonding procedure and the 16-octet Central Identity Resolving Key. The Peripheral IRK is passed as input P1 and P2, the Long Term Key is passed as input P3 and P4 and the Central IRK is passed as input P5 and P6 in the AES key wrapping process with 128-bit KEK defined in [RFC3394].¶
KEK ID¶
The KEK ID field is 16 octets in length. The combination of the
KEK ID and the RADIUS client and server IP addresses together uniquely
identify a key shared between the RADIUS client and server. As a
result, the KEK ID need not be globally unique. The KEK ID MUST
refer to an encryption key for use with the AES Key Wrap with
128-bit KEK algorithm [RFC3394] . This key is used to protect
the contents of the Keying Material Data field (below).
The KEK ID is a constant that is configured
through an out-of-band mechanism. The same value is configured on
both the RADIUS client and server. If no KEK ID is configured,
then the field is set to 0. If only a single KEK is configured
for use between a given RADIUS client and server, then 0 can be
used as the default value.¶
IV¶
Keying Material Data¶
The Keying Material Data field is of variable length and contains the actual encrypted keying material as identified using the KM Type field.¶
RADIUS attributes described in this section are used to exchange information to allow non-IP Bluetooth messages to be transferred between the BLE Visited Central Host and a Home MQTT Broker.¶
Description¶
The MQTT-Broker-URI (TBA4) Attribute allows a RADIUS server to specify the URI of the MQTT Broker. A single MQTT-Broker-URI Attributes MAY be included in an Access-Accept packet.¶
If the RADIUS server operates with NAS/BLE Visited Hosts that are deployed behind firewalls or NAT gateways, MQTT Messages SHOULD be transported using WebSocket [RFC6455] as a network transport as defined in MQTT [MQTT] and the the attribute SHOULd specify the URI of a WebSocket server that supports the 'mqtt' Sec-WebSocket-Protocol.¶
A summary of the MQTT-Broker-URI Attribute format is shown below. The fields are transmitted from left to right.¶
Type¶
TBA4¶
Length¶
>=3 octet¶
String¶
The String field is encoded in UTF-8 and contains a URI where the MQTT service can be accessed, e.g., "wss://broker.example.com:443".¶
Description¶
The MQTT-Token (TBA5) Attribute allows a RADIUS server signal a token for use by an MQTT client in an MQTT CONNECT packet [MQTT]. The token can be used by an MQTT Broker to associate an MQTT Connection from an MQTT Client with a Network Access Server.¶
A MQTT-Token Attributes MAY be included in an Access-Accept packet.¶
A summary of the MQTT-Token Attribute format is shown below. The fields are transmitted from left to right.¶
Type¶
TBA5¶
Length¶
>=3 octet¶
String¶
The String field is encoded in UTF-8 and contains a token for use with an MQTT CONNECT packet.¶
With a few exceptions, the RADIUS accounting attributes defined in [RFC2866] have the same meaning within BLE sessions as they do in dialup sessions and therefore no additional commentary is needed.¶
These attributes are not not used by BLE Authenticators.¶
This attribute is used to indicate how many MQTT messages that include the Peripheral Identity Address signalled in
the BLE-Keying-Material attribute have been sent by the BLE Central Host.¶
This attribute is used to indicate how many MQTT messages that include the Peripheral Identity Address signalled in
the BLE-Keying-Material attribute have been received by the BLE Central Host.¶
This attribute indicates how the session was terminated, as described in [RFC2866]. When the idle-timeout attribute is used by the NAS/BLE Visited Host to terminate a RADIUS Accounting session, it MUST set the Acct-Terminate-Cause set to Lost Carrier (2).¶
This attribute is not not used by BLE Authenticators.¶
The BLE Peripheral uses techniques defined in Bluetooth Core Specifications [BLUETOOTH] to establish a bonded, secure, trusted relationship with a BLE Home Central device in the network. The bonding procedure generates session specific keying material. The BLE Peripheral sends low duty cycle advertising events.¶
The BLE Peripheral moves into coverage of a second BLE Central device that is integrated with a NAS.¶
The BLE Peripheral sends Advertisements using its Resolvable Public Address. The contents of the Advertizements are signalled to a BLE Visited Central Host associated with the second BLE Central device. The decoded Advertisements sent by the BLE Peripheral, are used by the BLE Visited Central Host to decide whether to trigger a RADIUS exchange, e.g., using the presence and/or contents of specific Advertising Elements.¶
The NAS associated with the BLE Visited Central Host is provisioned with the identity of the RADIUS server. The NAS/BLE Visited Host MAY be statically configured with the identity of a RADIUS Server. Alternatively, the NAS/BLE Visited Host MAY use the contents of an Advertizement Element received from the BLE Peripheral to derive an FQDN of the RADIUS sever and use RFC 7585 [RFC7585] to dynamically resolve the address of the RADIUS server. For example, the Bluetooth URI data type Advertizement Element (0x24) can be used to encode a hostname that identifies the network which operates the BLE Home Central Host.¶
The NAS/BLE Host generates a RADIUS Access-Request message using the prand from the RPA as the User-Name attribute and the hash from the RPA as the User-Password attribute. The NAS-Port-Type is set to "Wireless - Bluetooth Low Energy".¶
On receiving the RADIUS Access-Request message, the RADIUS Server uses the keying material exposed by the BLE Home Central Host and attempts to resolve the User-Name and User-Password to a known BLE Identity Address (IA). If the RADIUS Server cannot resolve the User-Name and User-Password to a known BLE Identity Address, the RADIUS server MUST reject the Access-Request.¶
If the RADIUS Server resolves the User-Name and User-Password to a known BLE Identity Address, and the BLE Identity Address is authorized to access via the BLE Visited Host, the RADIUS server recovers the session specific keying material exposed by the BLE Home Central Host.¶
If the BLE Peripheral is not connectable or connections are not authorized, the RADIUS server encodes the Peripheral Identity Address and the Peripheral Identity Resolving Key in the BLE-Keying-Material attribute and sets the KM Type to 0. If the BLE Peripheral is connectable and connections are authorized via the BLE Visited Host, the RADIUS server additionally includes the Central Identity Address and the Long Term Key in the BLE-Keying-Material attribute and sets the KM Type to 1. Finally, if the BLE Peripheral is connectable and connections are authorized via the BLE Visited Host and the security database indicates that the BLE Home Central Host operates using Bluetooth privacy, then the RADIUS server additionally includes the Central Identity Resolving Key in the BLE-Keying-Material attribute and sets the KM Type to 2.¶
The RADIUS Server SHOULD include the MQTT-Broker-URI attribute and MAY include the MQTT-Token attribute by which an MQTT client associated with the BLE Visited Host can establish an MQTT connection with a Home MQTT Broker for forwarding messages received to/from the BLE peripheral.¶
On receiving the Access-Accept, the NAS/BLE Visited Host recovers the keying material, including the BLE Peripheral's Identity Address and then establishes an MQTT Connection with the Home MQTT Broker. The NAS/BLE Visited Host SHOULD include its NAS-Id in the User Name field of the MQTT CONNECT message and MAY include an Operator Name, if for example the NAS has been configured with the operator-name attribute (#126) as specified in RFC5580 [RFC5580].¶
If the advertizement that triggered the RADIUS exchange corresponds to an ADV_IND then the NAS/BLE Visited Host can subsequently establish a secure connection with the BLE Peripheral.¶
The following table provides a guide to which of the attribute defined may be found in which kinds of packets, and in what quantity.¶
Request | Accept | Reject | Challenge | Acct-Request | # | Attribute |
---|---|---|---|---|---|---|
0+ | 0 | 0 | 0 | 0 | TBA1 | GATT-Service-Profile |
0 | 1 | 0 | 0 | 0 | TBA2 | BLE-Keying-Material |
0 | 0-1 | 0 | 0 | 0 | TBA3 | MQTT-Broker-URI |
0 | 0-1 | 0 | 0 | 0 | TBA4 | MQTT-Token |
The following table defines the meaning of the above table entries.¶
Entry | Meaning |
---|---|
0 | This attribute MUST NOT be present in packet. |
0+ | Zero or more instances of this attribute MAY be present in packet. |
0-1 | Zero or one instance of this attribute MAY be present in packet. |
1 | One instance of this attribute MUST be present in packet. |
Use of this RADIUS profile for BLE can be between a NAS/BLE Visited Host and a RADIUS Server inside a secure network, or between a NAS/BLE Visited Host and RADIUS server operated in different administrative domains which are connected over the Internet. All implementations MUST follow [I-D.draft-dekok-radext-deprecating-radius].¶
The RADIUS profile for BLE devices is designed to operate when BLE devices operate their physical links with BLE Secure Connections [BLUETOOTH]. This approach uses a secure exchange of data over the Bluetooth connection, together with Elliptic Curve Diffie-Hellman (ECDH) public key cryptography, to create the session specific symmetric Long Term Key (LTK) which is then exchanged using the BLE-Keying-Material attribute in the RADIUS Access-Accept message.¶
Bluetooth [BLUETOOTH] specifies how an IRK can be generated from an Identity Root (IR) key. Removing the Bluetooth bond in a device will typically trigger the generation of a new IRK key for the device.¶
The RADIUS profile for BLE devices is designed to operate when BLE devices are configured to operate with Bluetooth Privacy Mode enabled [BLUETOOTH]. The BLE device defines the policy of how often it should generate a new Resolvable Private Address. This can be configured to be between every second and every hour, with a default value of every 15 minutes [BLUETOOTH]. This mode mitigates risks associated with a malicious third-party scanning for and collecting Bluetooth addresses over time and using such to build a picture of the movements of BLE devices and, by inference, the human users of those devices.¶
The Home MQTT broker can observe the Bluetooth messages exchanged with the BLE Peripheral. The Bluetooth GATT attributes SHOULD be cryptographically protected at the application-layer. The Home MQTT Broker MUST be configured with access control lists so that a NAS cannot subscribe to a topic that is intended for another NAS.¶
The WebSocket connection MUST operate using a WebSocket Secure connection. If the entropy of the MQTT-Token is known to be low, the WebSocket Secure TLS connection SHOULD be secured with certificate-based mutual TLS.¶
This document defines a new value of TBA1 for RADIUS Attribute Type #61 (NAS-Port-Type) defined in https://www.iana.org/assignments/radius-types/radius-types.xhtml#radius-types-13¶
Value | Description | Reference |
---|---|---|
TBA1 | "Wireless - Bluetooth Low Energy" | Section 3.24 |
This document defines new RADIUS attributes, (see section Section 3), and assigns values of TBA2, TBA3, TBA4, and TBA5 from the RADIUS Attribute Type space https://www.iana.org/assignments/radius-types.¶
Tag | Attribute | Reference |
---|---|---|
TBA2 | GATT-Service-Profile | Section 3.28 |
TBA3 | BLE-Keying-Material | Section 3.29 |
TBA4 | MQTT-Broker-URI | Section 3.30.1 |
TBA5 | MQTT-Token | Section 3.30.2 |
This section describes how a NAS/BLE Visited Host supporting the BLE RADIUS profile can interwork with a Home MQTT Message Broker in order to use MQTT topics to deliver Bluetooth messages to/from a BLE Peripheral. It is intended to move this material to another document - but is included here to describe, at a high level, the MQTT interworking established by the RADIUS exchange.¶
If the NAS/BLE Visited Host is signalled a MQTT-Broker-URI in an Access-Accept with which it does not have an established MQTT connection, then it MUST establish an MQTT connection. It the NAS/BLE Visited Host is behind a firewall or NAT gateway it MUST use WebSocket transport for the MQTT connection. The user name in the MQTT CONNECT message SHOULD include the NAS-ID and MAY include the name of the operator of the NAS/BLE Visited Host.¶
The following topic is used by the MQTT client of the BLE Visited Host to signal active and passive scan advertisements received from BLE Peripherals to the home MQTT Broker.¶
If the BLE Peripheral is connectable, the MQTT client of the BLE Visited Host SHOULD subscribe to the following message topics to be able to receive GATT requests from the Home MQTT Broker:¶
If the BLE Peripheral indicates in its scan that it is not connectable, the NAS/BLE Visited Host is responsible for publishing the received advertisements received from the authenticated BLE Peripheral.¶
On idle-timeout the NAS/BLE Visited Host MUST send an Accounting-Request message with Acct-Status-Type set to STOP and Acct-Terminate-Cause set to Lost Carrier (2).¶
If the BLE Peripheral indicates in its scan that it is connectable, the NAS/BLE Visited Host is responsible for publishing the received advertisements received from the authenticated BLE Peripheral and to subscribing to the GATT requests published for the BLE Peripheral's Identity Address.¶
If the BLE Peripheral is connectable, a Bluetooth Application can read GATT attributes.¶
If the BLE Peripheral is connectable, a Bluetooth Application can write GATT attributes.¶
A Bluetooth Application can subscribe to receive Bluetooth notifications sent by the BLE Peripheral.¶
A Bluetooth Application can subscribe to receive Bluetooth indications sent by the BLE Peripheral.¶
On idle-timeout the NAS/BLE Visited Host MUST un-subscribe from any subscribed to topics and send an Accounting-Request message with Acct-Status-Type set to STOP and Acct-Terminate-Cause set to Lost Carrier (2).¶
Thanks to Oleg Pekar and Eric Vyncke for their review comments. The definition of the BLE-Keying-Material attribute has been inspired by [RFC6218].¶