<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-grayson-radext-rabble-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="RABBLE">RADIUS profile for Bonded Bluetooth Low Energy peripherals</title>

    <author initials="M." surname="Grayson" fullname="Mark Grayson">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>10 New Square Park</street>
          <city>Feltham</city>
          <code>TW14 8HA</code>
          <country>UK</country>
        </postal>
        <email>mgrayson@cisco.com</email>
      </address>
    </author>
    <author initials="E." surname="Lear" fullname="Eliot Lear">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Glatt-com</street>
          <city>CH-8301 Glattzentrum, Zurich</city>
          <country>CH</country>
        </postal>
        <email>elear@cisco.com</email>
      </address>
    </author>

    <date year="2023" month="July" day="10"/>

    <area>General</area>
    <workgroup>RADEXT Working Group</workgroup>
    <keyword>Internet-Draft</keyword> <keyword>Bluetooth Low Energy</keyword> <keyword>RADIUS</keyword>

    <abstract>


<t>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.</t>



    </abstract>



  </front>

  <middle>


<section anchor="problems"><name>Introduction</name>

<t>This document specifies an extension to the Remote Authentication
Dial-In User Service (RADIUS) protocol <xref target="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.</t>

<t>After being successfully authenticated, a signalling link is established
that enables Bluetooth messages advertised 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.</t>

<t>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.</t>

<section anchor="Requirements"><name>Requirements Language</name>
<t>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 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="Terminology"><name>Terminology</name>

<t>BLE Central Controller:</t>

<t>The BLE entity that implements the Bluetooth Link Layer and interacts
  with the Bluetooth Radio Hardware.</t>

<t>BLE Central Host:</t>

<t>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.</t>

<t>BLE Peripheral Device:</t>

<t>A BLE device that is configured to repeatedly send advertising messages.</t>

<t>BLE Security Database:</t>

<t>A database that stores the keying material associated with a
  bonded Bluetooth Connection.</t>

<t>Bluetooth Low Energy (BLE):</t>

<t>A wireless technology designed for low power operation and specified by the Bluetooth Special Interest Group.</t>

<t>Bonding:</t>

<t>A Bluetooth <xref target="BLUETOOTH"/> defined process that creates a relation between
  a Bluetooth Central device and a Bluetooth Peripheral device and which generates session keying material that is expected
  to be stored by both Bluetooth devices, to be used for future authentication.</t>

<t>Hash:</t>

<t>A Bluetooth <xref target="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.</t>

<t>Home:</t>

<t>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.</t>

<t>Identity Address (IA):</t>

<t>The 48-bit global (public) MAC address of a Bluetooth device.</t>

<t>Identity Resolving Key (IRK):</t>

<t>A Bluetooth <xref target="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.</t>

<t>Long-Term  key (LTK):</t>

<t>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.</t>

<t>prand:</t>

<t>A 22-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.</t>

<t>Resolvable Private Address (RPA):</t>

<t>A Bluetooth <xref target="BLUETOOTH"/> specified private 48-bit address that can be
  resolved to a permanent Bluetooth Identity Address through the
  use of an Identity Resolving Key.</t>

<t>Visited:</t>

<t>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.</t>

</section>
</section>
<section anchor="ble-roaming-overview"><name>BLE Roaming Overview</name>

<t>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.</t>

<figure title="BLE RADIUS Authentication Overview" anchor="figarch"><artwork><![CDATA[
                 +------------+   +-----------+
+------------+   |     BLE    |   |    BLE    |
|    BLE     |---|  Central#1 |---|   Home    |  
| Peripheral |   | Controller |   | Central#1 |
+------------+   |            |   |   Host    |
                 +------------+   +-----------+   
       |                               |   
       |                               |  
       |            +-------------------------+
       |            |  BLE Security Database  |
       |            |    Peripheral: IA, IRK  |
       |            |            AP: IA, IRK  |
       |            | Peripheral+AP: LTK      |
       |            +-------------------------+
       |                               |  
       | Bonded BLE                    |       
       | Peripheral             +-------------+  
       | moves                  |RADIUS Server|
       |                        +-------------+
      \|/                              |  
       -                               |
                 +------------+   +-----------+
+------------+   |     BLE    |   |  NAS/BLE  |
|    BLE     |---|  Central#2 |---|  Visited  |  
| Peripheral |   | Controller |   | Central#2 |   
+------------+   |            |   |   Host    |
                 +------------+   +-----------+
]]></artwork></figure>

<t>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 <xref target="I-D.shahzad-scim-device-model"/>.</t>

<t>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).</t>

<t>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 receives 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.</t>

<t>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.</t>

<t>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.</t>

<figure title="BLE Message Forwarding Overview" anchor="figarch2"><artwork><![CDATA[
                                   +-----------+
                                   |    BLE    |
                          +--------|Application|
                          |        +-----------+
                          |              |       
                          |              |       
                          |        +-----------+
          Optional direct |        | BLE Home  |
       signalling between |        | Central#1 |
           broker and BLE |        |    Host   |
              application |        +-----------+
                          |              |      
                          |              |      
                          |        +-----------+
                          |        |   Home    |
                          +--------|   MQTT    |
                                   |  Broker   |
                                   +-----------+
                                      |      -
                                      |     /|\  
                        MQTT Publish  |      |    
                         application  |      |  MQTT Publish  
                       to peripheral  |      |  peripheral to   
                            messages  |      |  application
                                      |      |  messages
                                     \|/     |    
                                      -      |     
                 +------------+    +-----------+
+------------+   |    BLE     |    |  NAS/BLE  |  
|    BLE     |---| Central#2  |----|  Visited  |   
| Peripheral |   | Controller |    | Central#2 |  
+------------+   |            |    |   Host    |  
                 +------------+    +-----------+  
]]></artwork></figure>

</section>
<section anchor="profile"><name>RADIUS Profile for BLE</name>

<section anchor="user-name"><name>User-Name</name>

<t>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".</t>

</section>
<section anchor="nas-ip-address-nas-ipv6-address"><name>NAS-IP-Address, NAS-IPv6-Address</name>

<t>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.</t>

</section>
<section anchor="nas-port"><name>NAS-Port</name>

<t>For use with BLE the NAS-Port will contain the port number of
the BLE Central Host, if this is available.</t>

</section>
<section anchor="service-type"><name>Service-Type</name>

<t>For use with BLE, the Service-Type of Authenticate Only (8) is used.</t>

</section>
<section anchor="state-class-proxy-state"><name>State, Class, Proxy-State</name>

<t>These attributes are used for the same purposes as described in
<xref target="RFC2865"/>.</t>

</section>
<section anchor="vendor-specific"><name>Vendor-Specific</name>

<t>Vendor-specific attributes are used for the same purposes as
described in <xref target="RFC2865"/>.</t>

</section>
<section anchor="session-timeout"><name>Session-Timeout</name>

<t>When sent 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.</t>

</section>
<section anchor="idle-timeout"><name>Idle-Timeout</name>

<t>The Idle-Timeout
attribute indicates the maximum time that the BLE wireless device may
remain idle.</t>

</section>
<section anchor="termination-action"><name>Termination-Action</name>

<t>This attribute indicates what action should be taken when the service
is completed. The value Default (0) indicates that the session should terminate.</t>

</section>
<section anchor="called-station-id"><name>Called-Station-Id</name>

<t>This attribute is used to store the
public Identity Address (BD_ADDR) of the Bluetooth Access Point in ASCII
formatted as specified in section 3.21 of <xref target="RFC3580"/>.</t>

</section>
<section anchor="nas-identifier"><name>NAS-Identifier</name>

<t>This attribute contains a string identifying the BLE Central Host
originating the Access-Request.</t>

</section>
<section anchor="NPT"><name>NAS-Port-Type</name>

<t>TBA1:  "Wireless - Bluetooth Low Energy"</t>

</section>
<section anchor="hashedpassword"><name>Hashed-Password</name>

<t>Description</t>

<t>The Hashed-Password (TBA2) Attribute allows a RADIUS
client to include a key and hashed password.</t>

<t>Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>TBA2</t>
  </li></ul>
</li></ul>

<t>Length</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>Variable</t>
  </li></ul>
</li></ul>

<t>Data Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>TLV</t>
  </li></ul>
</li></ul>

<t>Value</t>

<ul empty="true"><li>
  <t>The TLV data type is specified in section 3.13 of <xref target="RFC8044"/> and its value
is determined by the TLV-Type field.
Two TLV-Types are defined for use with the Hashed-Password Attribute.</t>
</li></ul>

<section anchor="hashed-passwordhmac-sha256-128-key"><name>Hashed-Password.Hmac-Sha256-128-Key</name>

<t>TLV-Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>0 (Hashed-Password.Hmac-Sha256-128-Key)</t>
  </li></ul>
</li></ul>

<t>TLV-Value:</t>

<ul empty="true"><li>
  <t>A string data type, as defined in section 3.1 of <xref target="RFC8044"/>,
encoding a sequence of octets representing a random 256-bit key. The
value SHOULD satisfy the requirements of <xref target="RFC4086"/>. A new key value MUST be used
whenever the value of Hashed-Password.Hmac-Sha256-128-Password is changed. The key MUST NOT be changed
when a message is being retransmitted.</t>
</li></ul>

<t>TLV-Length:</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>34 octets</t>
  </li></ul>
</li></ul>

</section>
<section anchor="hashed-passwordhmac-sha256-128-password"><name>Hashed-Password.Hmac-Sha256-128-Password</name>

<t>TLV-Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>1 (Hashed-Password.Hmac-Sha256-128-Password)</t>
  </li></ul>
</li></ul>

<t>TLV-Value:</t>

<ul empty="true"><li>
  <t>A string data type encoding a sequence of octets representing the first 128-bit (truncated) output
of the HMAC-SHA-256-128 algorithm <xref target="RFC4868"/> where the input data
corresponds to the 24-bit hash recovered from the Bluetooth Resolvable Private Address
and the key corresponds to the value of the TLV-Type Hashed-Password.Hmac-Sha256-128-Key.</t>
</li></ul>

<t>TLV-Length:</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>18 octets</t>
  </li></ul>
</li></ul>

</section>
<section anchor="hashed-password-tlv-type-usage"><name>Hashed-Password TLV-Type Usage</name>

<t>Two instances of the Hashed-Password Attribute MUST be included in
an Access-Request packet. One instance MUST correspond to the TLV-Type 0
(Hashed-Password.Hmac-Sha256-128-Key) and
one instance MUST correspond to the TLV-Type 1 (Hashed-Password.Hmac-Sha256-128-Password).</t>

</section>
</section>
<section anchor="GSP"><name>GATT-Service-Profile</name>

<t>Description</t>

<t>The GATT-Service-Profile (TBA3) Attribute allows a RADIUS
client to include one or more GATT Service Profiles which are advertised
by the BLE Peripheral.</t>

<t>Zero or more GATT-Service-Profile Attributes MAY be included in
an Access-Request packet.</t>

<t>A summary of the GATT-Service-Profile Attribute format is
shown below. The fields are transmitted from left to right.</t>

<figure title="Encoding GATT-Service-Profile Attribute" anchor="attr-gatt"><artwork><![CDATA[
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |  Length       |           Value
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           Value (cont)         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    

]]></artwork></figure>

<t>Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>TBA3</t>
  </li></ul>
</li></ul>

<t>Length</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>6 octet</t>
  </li></ul>
</li></ul>

<t>Data Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>Integer</t>
  </li></ul>
</li></ul>

<t>Value</t>

<ul empty="true"><li>
  <t>The field is 4 octets, containing a 32-bit unsigned integer that
represents a GATT Service Profile.</t>
</li></ul>

</section>
<section anchor="BPKM"><name>BLE-Keying-Material Attribute</name>

<t>Description</t>

<t>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.</t>

<t>Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>TBA3</t>
  </li></ul>
</li></ul>

<t>Length</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>Variable</t>
  </li></ul>
</li></ul>

<t>Data Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>TLV</t>
  </li></ul>
</li></ul>

<t>Value</t>

<ul empty="true"><li>
  <t>The TLV data type is specified in section 3.13 of <xref target="RFC8044"/> and its value is
determined by the TLV-Type field. Five TLV-Types are defined
for use with the BLE-Keying-Material Attribute.</t>
</li></ul>

<section anchor="ble-keying-materialperipheral-ia"><name>BLE-Keying-Material.Peripheral-IA</name>

<t>TLV-Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>0 (BLE-Keying-Material.Peripheral-IA)</t>
  </li></ul>
</li></ul>

<t>TLV-Value:</t>

<ul empty="true"><li>
  <t>A string data type encoding a sequence of octets representing
the Peripheral's 6-octet Identity Address.</t>
</li></ul>

<t>TLV-Length:</t>

<ul empty="true"><li>
  <t>8 octets</t>
</li></ul>

</section>
<section anchor="ble-keying-materialcentral-ia"><name>BLE-Keying-Material.Central-IA</name>

<t>TLV-Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>1 (BLE-Keying-Material.Central-IA)</t>
  </li></ul>
</li></ul>

<t>TLV-Value:</t>

<ul empty="true"><li>
  <t>A string data type encoding a sequence of octets representing
the Central's 6-octet Identity Address.</t>
</li></ul>

<t>TLV-Length:</t>

<ul empty="true"><li>
  <t>8 octets</t>
</li></ul>

</section>
<section anchor="ble-keying-materialiv"><name>BLE-Keying-Material.IV</name>

<t>TLV-Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>2 (BLE-Keying-Material.IV)</t>
  </li></ul>
</li></ul>

<t>TLV-Value:</t>

<ul empty="true"><li>
  <t>A string data type encoding a sequence of octets representing
an 8-octet initial value (IV). The value MUST be as
specified in section 2.2.3 of <xref target="RFC3394"/>.</t>
</li></ul>

<t>TLV-Length:</t>

<ul empty="true"><li>
  <t>10 octets</t>
</li></ul>

</section>
<section anchor="ble-keying-materialkek-id"><name>BLE-Keying-Material.KEK-ID</name>

<t>TLV-Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>3 (BLE-Keying-Material.KEK-ID)</t>
  </li></ul>
</li></ul>

<t>TLV-Value:</t>

<ul empty="true"><li>
  <t>A string data type encoding a sequence of octets representing
the identity of a Key Encryption Key (KEK).
The combination of the BLE-Keying-Material.KEK-ID value
and the RADIUS client and server IP addresses together
uniquely identify a key shared between the RADIUS client and
server.  As a result, the BLE-Keying-Material.KEK-ID need
not be globally unique.  The BLE-Keying-Material.KEK-ID
MUST refer to an encryption key for use with the AES Key
Wrap with 128-bit KEK algorithm <xref target="RFC3394"/>.<br />
This key is used to protect the contents of the BLE-Keying-Material.KM-Data TLV
(see <xref target="KMdataltv"/>).</t>
</li></ul>

<ul empty="true"><li>
  <t>The BLE-Keying-Material.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 BLE-Keying-Material.KEK-ID TLV-Type is signalled, 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.</t>
</li></ul>

<t>TLV-Length:</t>

<ul empty="true"><li>
  <t>18 octets</t>
</li></ul>

</section>
<section anchor="ble-keying-materialkm-type"><name>BLE-Keying-Material.KM-Type</name>

<t>TLV-Type:</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>4 (BLE-Keying-Material.KM-Type)</t>
  </li></ul>
</li></ul>

<t>TLV-Value:</t>

<ul empty="true"><li>
  <t>An integer data type
identifying the type of keying material included in the BLE-Keying-Material.KM-Data TLV.<br />
This allows for multiple keys for different purposes to be present in
the same attribute.  This document defines three values for the
The BLE-Keying-Material.KM-Type</t>
</li></ul>

<ul empty="true"><li>
  <ul empty="true"><li>
    <ul empty="true"><li>
      <t>0     The BLE-Keying-Material.KM-Data TLV contains the
      16-octet Peripheral IRK encrypted using the AES key wrapping process
      with 128-bit KEK defined in <xref target="RFC3394"/>. The Peripheral IRK is passed as
      input P1 and P2, with the plaintext P1 corresponding to octet 0 through to octet 7 of the
      IRK and plaintext P2 corresponding to octet 8 through to octet 15 of the
      IRK.</t>
    </li></ul>
  </li></ul>
</li></ul>

<ul empty="true"><li>
  <ul empty="true"><li>
    <ul empty="true"><li>
      <t>1      The BLE-Keying-Material.KM-Data TLV contains the encrypted
        16-octet Peripheral IRK
        and the 16-octet LTK generated during an LE Secure Connection bonding procedure
        using the AES key wrapping process with 128-bit KEK defined in <xref target="RFC3394"/>.
        The Peripheral IRK is passed as the plaintext input P1 and P2, with  P1 corresponding
        to octet 0 through to octet 7 of the IRK and P2 corresponding to octet 8 through to octet 15 of the
        IRK. The LTK is passed as the plaintext input P3 and P4, with P3 corresponding
        to octet 0 through to octet 7 of the LTK and P4 corresponding to octet 8 through to octet 15 of the
        LTK.</t>
    </li></ul>
  </li></ul>
</li></ul>

<ul empty="true"><li>
  <ul empty="true"><li>
    <ul empty="true"><li>
      <t>2      The BLE-Keying-Material.KM-Data TLV contains the encrypted 16-octet Peripheral IRK,
        the 16-octet LTK generated during an LE Secure Connection bonding procedure and the
        16-octet Central IRK using the AES key wrapping process with 128-bit KEK defined in <xref target="RFC3394"/>.
        The Peripheral IRK is passed as the plaintext input P1 and P2, with  P1 corresponding
        to octet 0 through to octet 7 of the IRK and P2 corresponding to octet 8 through to octet 15 of the
        IRK. The LTK is passed as the plaintext input P3 and P4, with P3 corresponding
        to octet 0 through to octet 7 of the LTK and P4 corresponding to octet 8 through to octet 15 of the
        LTK.
        The Central IRK is passed as plaintext input P5 and P6, with P5 corresponding
        to octet 0 through to octet 7 of the Central IRK and P6 corresponding to octet 8 through to octet 15 of the
        Central IRK.</t>
    </li></ul>
  </li></ul>
</li></ul>

<t>TLV-Length:</t>

<ul empty="true"><li>
  <t>6 octets</t>
</li></ul>

</section>
<section anchor="KMdataltv"><name>BLE-Keying-Material.KM-Data</name>

<t>TLV-Type:</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>5 (BLE-Keying-Material.KM-Data)</t>
  </li></ul>
</li></ul>

<t>TLV-Value:</t>

<ul empty="true"><li>
  <t>A string data type encoding a sequence of octets representing
the actual encrypted keying material as identified using the
BLE-Keying-Material.KM-Type.</t>
</li></ul>

<t>TLV-Length:</t>

<ul empty="true"><li>
  <t>Variable</t>
</li></ul>

</section>
<section anchor="ble-keying-material-tlv-type-usage"><name>BLE-Keying-Material TLV-Type Usage</name>

<t>At least four instances of the BLE-Keying-Material Attribute MUST be included in
an Access-Accept packet, that include the following TLV-Types:</t>

<t><list style="symbols">
  <t>TLV-Type 0 (BLE-Keying-Material.Peripheral-IA)</t>
  <t>TLV-Type 2 (BLE-Keying-Material.IV)</t>
  <t>TLV-Type 4 (BLE-Keying-Material.KM-Type)</t>
  <t>TLV-Type 5 (BLE-Keying-Material.KM-Data)</t>
</list></t>

<t>If a KEK is configured, then in addition the Access-Accept
packet MUST include the BLE-Keying-Material Attribute with an instance of
TLV-Type 3 (BLE-Keying-Material.KEK-ID). When not present, the NAS MUST
use a default value of 0 for the KEK-ID.</t>

<t>If the BLE Peripheral is connectable and the RADIUS Server authorizes connections,
then in addition the Access-Accept message MUST include the
BLE-Keying-Material Attribute with an instance of
TLV-Type 1 (BLE-Keying-Material.Central-IA).</t>

</section>
</section>
<section anchor="forwarding-bluetooth-messages"><name>Forwarding Bluetooth Messages</name>
<t>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.</t>

<section anchor="MBU"><name>MQTT-Broker-URI</name>

<t>Description</t>

<t>The MQTT-Broker-URI (TBA5) 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.</t>

<t>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
<xref target="RFC6455"/> as a network transport as defined in MQTT <xref target="MQTT"/> and the
the attribute SHOULD specify the URI of a WebSocket server
that supports the 'mqtt' Sec-WebSocket-Protocol.</t>

<t>A summary of the MQTT-Broker-URI Attribute format is
shown below. The fields are transmitted from left to right.</t>

<figure title="Encoding MQTT-Broker-URI Attribute" anchor="attr-broker"><artwork><![CDATA[
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |  Length       |            Text...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>TBA5</t>
  </li></ul>
</li></ul>

<t>Length</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>&gt;=3 octet</t>
  </li></ul>
</li></ul>

<t>Data Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>Text</t>
  </li></ul>
</li></ul>

<t>Value</t>

<ul empty="true"><li>
  <t>The text field encodes a URI where the
MQTT service can be accessed, e.g., "wss://broker.example.com:443".</t>
</li></ul>

</section>
<section anchor="MT"><name>MQTT-Token</name>

<t>Description</t>

<t>The MQTT-Token (TBA6) Attribute allows a RADIUS server
to signal a token for use by an MQTT client in an MQTT CONNECT packet <xref target="MQTT"/>.
The token can be used by an MQTT Broker to associate an MQTT Connection from an
MQTT Client with a Network Access Server.</t>

<t>A MQTT-Token Attributes MAY be included in
an Access-Accept packet.</t>

<t>A summary of the MQTT-Token Attribute format is
shown below. The fields are transmitted from left to right.</t>

<figure title="Encoding MQTT-Token Attribute" anchor="attr-token"><artwork><![CDATA[
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |  Length       |            Text...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>TBA6</t>
  </li></ul>
</li></ul>

<t>Length</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>&gt;=3 octet</t>
  </li></ul>
</li></ul>

<t>Data Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>Text</t>
  </li></ul>
</li></ul>

<t>Value</t>

<ul empty="true"><li>
  <t>The text field contains a token for use
with an MQTT CONNECT packet.</t>
</li></ul>

</section>
</section>
<section anchor="radius-accounting-attributes"><name>RADIUS Accounting Attributes</name>

<t>With a few exceptions, the RADIUS accounting attributes defined in
<xref target="RFC2866"/> have the same meaning within BLE sessions as they do in dialup sessions and therefore no
additional commentary is needed.</t>

<section anchor="acct-input-octets-and-acct-output-octets"><name>Acct-Input-Octets and Acct-Output-Octets</name>

<t>These attributes are not not used by BLE Authenticators.</t>

</section>
<section anchor="acct-input-packets"><name>Acct-Input-Packets</name>

<t>This attribute is used to indicate how many MQTT messages that include the Peripheral Identity Address signalled in<br />
the BLE-Keying-Material attribute have been sent by the BLE Central Host.</t>

</section>
<section anchor="acct-output-packets"><name>Acct-Output-Packets</name>

<t>This attribute is used to indicate how many MQTT messages that include the Peripheral Identity Address signalled in<br />
the BLE-Keying-Material attribute have been received by the BLE Central Host.</t>

</section>
<section anchor="acct-terminate-cause"><name>Acct-Terminate-Cause</name>

<t>This attribute indicates how the session was terminated, as described
in <xref target="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).</t>

</section>
</section>
</section>
<section anchor="ops"><name>BLE RADIUS Exchange</name>

<t>The BLE Peripheral uses
techniques defined in Bluetooth Core Specifications <xref target="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.</t>

<t>The BLE Peripheral moves into coverage of a second BLE Central device that is integrated with a NAS.</t>

<t>The BLE Peripheral sends Advertisements using its Resolvable Public Address.
The contents of the Advertisements are signalled to a BLE Visited Central Host associated with the
second BLE Central device. The received 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.</t>

<t>The NAS associated with the BLE Visited Central Host is configured 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 Advertisement Element received from the BLE Peripheral
to derive an FQDN of the RADIUS sever and use RFC 7585 <xref target="RFC7585"/> to dynamically resolve the address of the RADIUS
server. For example, the peripheral can use the Bluetooth URI data type Advertisement Element (0x24) to encode
the Bluetooth defined 'empty scheme' name tag together with a hostname that
identifies the network which operates the BLE Home Central Host associated with the peripheral.
Alternatively, a federation of operators of BLE Visited Centrals and
RADIUS Servers can define the use of the Bluetooth defined Manufacturer Specific Advertisement Data Element (0xFF) together with
a Company Identifier that identifies the federation to signal a federation defined sub-type that encodes information that
enables the BLE Visited Central Host to derive an FQDN of the RADIUS sever associated with the advertising peripheral.</t>

<t>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 to generate the
TLV-Type Hashed-Password.Hmac-Sha256-128-Password.
The NAS-Port-Type is set to "Wireless - Bluetooth Low Energy".</t>

<t>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 the TLV-Type Hashed-Password.Hmac-Sha256-128-Password to a known BLE Identity Address (IA).  If the RADIUS Server cannot resolve the User-Name
and TLV-Type Hashed-Password.Hmac-Sha256-128-Password to a known BLE
Identity Address, the RADIUS server MUST reject the Access-Request.</t>

<t>If the RADIUS Server resolves the User-Name and TLV-Type Hashed-Password.Hmac-Sha256-128-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.</t>

<t>If the BLE Peripheral is not connectable or connections are not authorized, the RADIUS server signals the Peripheral Identity Address in the TLV-type BLE-Keying-Material.Peripheral-IA, sets the value of TLV-Type BLE-Keying-Material.KM-Type to 0 and encodes the Peripheral Identity Resolving Key in the TLV-Type BLE-Keying-Material.KM-Data.
If the BLE Peripheral is connectable and connections are authorized via the BLE Visited Host, the RADIUS server
additionally includes the Central Identity Address in the TLV-type BLE-Keying-Material.Central-IA, sets the value of TLV-Type BLE-Keying-Material.KM-Type to 1 and encodes the Peripheral Identity Resolving Key and the 16-octet Long Term Key in the TLV-Type BLE-Keying-Material.KM-Data.
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 sets the value of TLV-Type BLE-Keying-Material.KM-Type to 2 and encodes the Peripheral Identity Resolving Key, the 16-octet Long Term Key and the 16-octet Central Identity Resolving Key in the TLV-Type BLE-Keying-Material.KM-Data.</t>

<t>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.</t>

<t>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 section 4.1 of RFC5580 <xref target="RFC5580"/>.</t>

<t>If the advertisement 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.</t>

<figure title="BLE RADIUS Exchange" anchor="figops"><artwork><![CDATA[
                   NAS/BLE                                                                                                                
                   Visited                   Home            Home       
   BLE            Central#2                 RADIUS           MQTT   
Peripheral          Host                    Server          Broker
    |                 |                        |              |  
    |                 |                        |              |
    |--BLE----------->|                        |              |  
    |  Advertisement  |                        |              |
    |                 |                        |              |
    |<--------------->|                        |              |
    |  Active Scan    |--Access-Request------->|              |      
    |                 | User-Name=prand        |              |  
    |                 | Hashed-Password.Hmac-Sha256-128-Password=hash
    |                 | Hashed-Password.Hmac-Sha256-128-Key=key
    |                 | NAS-Port-Type=BLE      |              |  
    |                 | GATT-Service-Profile   |              |
    |                 |                        |              |   
    |                 |<-Access-Accept---------|              |    
    |                 | Idle-Timeout           |              |  
    |                 | BLE-Keying-Material    |              |  
    |                 | MQTT-Broker-URI        |              |  
    |                 | MQTT-Token             |              |
    |                 |                        |              |   
    |                 |--Accounting-Request--->|              |   
    |                 | Acct-Status-Type=Start |              |   
    |                 | Session-Id             |              |   
    |                 |                        |              |  
    |                 |--MQTT CONNECT------------------------>|   
    |                 | User Name=[operator_name:]nas-id      |  
    |                 | Password=MQTT Token    |              |    
    |                 |                        |              |   
    |                 |--MQTT PUBLISH------------------------>|  
    |                 | Advertisement(s)       |              |  
    |                 |                        |              |  
   +-----------------------------------------------------------+
   |         Further MQTT and associated BLE Exchanges         |    
   +-----------------------------------------------------------+  
    |                 |                        |              |  
    |--BLE ---------->|--+ Resolve to          |              |  
    |  Advertisement  |  | same Identity       |              |
    |                 |<-+ Address             |              |  
    |              +--|                        |              |  
    |              |  |                        |              |   
    |              +->|Idle Timer Expiry       |              |  
    |                 |                        |              |     
    |                 |--Accounting-Request--->|              |
    |                 | Acct-Status-Type=Stop  |              |    
    |                 | Session-Id             |              |  

]]></artwork></figure>

</section>
<section anchor="Attributes"><name>Table of Attributes</name>

<t>The following table provides a guide to which of the attribute defined
may be found in which kinds of packets, and in what quantity.</t>

<texttable title="Table of Attributes">
      <ttcol align='left'>Request</ttcol>
      <ttcol align='left'>Accept</ttcol>
      <ttcol align='left'>Reject</ttcol>
      <ttcol align='left'>Challenge</ttcol>
      <ttcol align='left'>Acct-Request</ttcol>
      <ttcol align='left'>#</ttcol>
      <ttcol align='left'>Attribute</ttcol>
      <c>1+</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>TBA2</c>
      <c>Hashed-Password</c>
      <c>0+</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>TBA3</c>
      <c>GATT-Service-Profile</c>
      <c>0</c>
      <c>1+</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>TBA4</c>
      <c>BLE-Keying-Material</c>
      <c>0</c>
      <c>0-1</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>TBA5</c>
      <c>MQTT-Broker-URI</c>
      <c>0</c>
      <c>0-1</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>TBA6</c>
      <c>MQTT-Token</c>
</texttable>

<t>The following table defines the meaning of the above table entries.</t>

<texttable title="Table of Attributes Entry Definition">
      <ttcol align='left'>Entry</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <c>0</c>
      <c>This attribute MUST NOT be present in packet.</c>
      <c>0+</c>
      <c>Zero or more instances of this attribute MAY be present in packet.</c>
      <c>0-1</c>
      <c>Zero or one instance of this attribute MAY be present in packet.</c>
      <c>1</c>
      <c>One instance of this attribute MUST be present in packet.</c>
</texttable>

</section>
<section anchor="Security"><name>Security Considerations</name>

<t>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 <xref target="I-D.draft-dekok-radext-deprecating-radius"/>.</t>

<t>The RADIUS profile for BLE devices is designed to operate when BLE devices operate their
physical links with BLE Secure Connections <xref target="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.</t>

<t>Bluetooth <xref target="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.</t>

<t>The RADIUS profile for BLE devices is designed to operate when BLE devices are configured to operate with Bluetooth Privacy Mode enabled <xref target="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 <xref target="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.</t>

<t>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.</t>

<t>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.</t>

</section>
<section anchor="IANA"><name>IANA Considerations</name>

<t>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</t>

<texttable title="New NAS-Port-Type value defined in this document">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>TBA1</c>
      <c>"Wireless - Bluetooth Low Energy"</c>
      <c><xref target="NPT"/></c>
</texttable>

<t>This document defines new RADIUS attributes, (see section <xref target="profile"/>), and assigns values of TBA2, TBA3, TBA4, TBA5 and TBA6 from the RADIUS Attribute Type space https://www.iana.org/assignments/radius-types.</t>

<texttable title="New RADIUS attributes defined in this document">
      <ttcol align='left'>Tag</ttcol>
      <ttcol align='left'>Attribute</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>TBA2</c>
      <c>Hashed-Password</c>
      <c><xref target="hashedpassword"/></c>
      <c>TBA3</c>
      <c>GATT-Service-Profile</c>
      <c><xref target="GSP"/></c>
      <c>TBA4</c>
      <c>BLE-Keying-Material</c>
      <c><xref target="BPKM"/></c>
      <c>TBA5</c>
      <c>MQTT-Broker-URI</c>
      <c><xref target="MBU"/></c>
      <c>TBA6</c>
      <c>MQTT-Token</c>
      <c><xref target="MT"/></c>
</texttable>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname='S. Bradner' initials='S.' surname='Bradner'/>
    <date month='March' year='1997'/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name='BCP' value='14'/>
  <seriesInfo name='RFC' value='2119'/>
  <seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>

<reference anchor='RFC2865' target='https://www.rfc-editor.org/info/rfc2865'>
  <front>
    <title>Remote Authentication Dial In User Service (RADIUS)</title>
    <author fullname='C. Rigney' initials='C.' surname='Rigney'/>
    <author fullname='S. Willens' initials='S.' surname='Willens'/>
    <author fullname='A. Rubens' initials='A.' surname='Rubens'/>
    <author fullname='W. Simpson' initials='W.' surname='Simpson'/>
    <date month='June' year='2000'/>
    <abstract>
      <t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='2865'/>
  <seriesInfo name='DOI' value='10.17487/RFC2865'/>
</reference>

<reference anchor='RFC4086' target='https://www.rfc-editor.org/info/rfc4086'>
  <front>
    <title>Randomness Requirements for Security</title>
    <author fullname='D. Eastlake 3rd' initials='D.' surname='Eastlake 3rd'/>
    <author fullname='J. Schiller' initials='J.' surname='Schiller'/>
    <author fullname='S. Crocker' initials='S.' surname='Crocker'/>
    <date month='June' year='2005'/>
    <abstract>
      <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
      <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name='BCP' value='106'/>
  <seriesInfo name='RFC' value='4086'/>
  <seriesInfo name='DOI' value='10.17487/RFC4086'/>
</reference>

<reference anchor='RFC4868' target='https://www.rfc-editor.org/info/rfc4868'>
  <front>
    <title>Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec</title>
    <author fullname='S. Kelly' initials='S.' surname='Kelly'/>
    <author fullname='S. Frankel' initials='S.' surname='Frankel'/>
    <date month='May' year='2007'/>
    <abstract>
      <t>This specification describes the use of Hashed Message Authentication Mode (HMAC) in conjunction with the SHA-256, SHA-384, and SHA-512 algorithms in IPsec. These algorithms may be used as the basis for data origin authentication and integrity verification mechanisms for the Authentication Header (AH), Encapsulating Security Payload (ESP), Internet Key Exchange Protocol (IKE), and IKEv2 protocols, and also as Pseudo-Random Functions (PRFs) for IKE and IKEv2. Truncated output lengths are specified for the authentication-related variants, with the corresponding algorithms designated as HMAC-SHA-256-128, HMAC-SHA-384-192, and HMAC-SHA-512-256. The PRF variants are not truncated, and are called PRF-HMAC-SHA-256, PRF-HMAC-SHA-384, and PRF-HMAC-SHA-512. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='4868'/>
  <seriesInfo name='DOI' value='10.17487/RFC4868'/>
</reference>

<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname='B. Leiba' initials='B.' surname='Leiba'/>
    <date month='May' year='2017'/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name='BCP' value='14'/>
  <seriesInfo name='RFC' value='8174'/>
  <seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>

<reference anchor='RFC6455' target='https://www.rfc-editor.org/info/rfc6455'>
  <front>
    <title>The WebSocket Protocol</title>
    <author fullname='I. Fette' initials='I.' surname='Fette'/>
    <author fullname='A. Melnikov' initials='A.' surname='Melnikov'/>
    <date month='December' year='2011'/>
    <abstract>
      <t>The WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the origin-based security model commonly used by web browsers. The protocol consists of an opening handshake followed by basic message framing, layered over TCP. The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g., using XMLHttpRequest or s and long polling). [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='6455'/>
  <seriesInfo name='DOI' value='10.17487/RFC6455'/>
</reference>

<reference anchor='RFC5580' target='https://www.rfc-editor.org/info/rfc5580'>
  <front>
    <title>Carrying Location Objects in RADIUS and Diameter</title>
    <author fullname='H. Tschofenig' initials='H.' role='editor' surname='Tschofenig'/>
    <author fullname='F. Adrangi' initials='F.' surname='Adrangi'/>
    <author fullname='M. Jones' initials='M.' surname='Jones'/>
    <author fullname='A. Lior' initials='A.' surname='Lior'/>
    <author fullname='B. Aboba' initials='B.' surname='Aboba'/>
    <date month='August' year='2009'/>
    <abstract>
      <t>This document describes procedures for conveying access-network ownership and location information based on civic and geospatial location formats in Remote Authentication Dial-In User Service (RADIUS) and Diameter.</t>
      <t>The distribution of location information is a privacy-sensitive task. Dealing with mechanisms to preserve the user's privacy is important and is addressed in this document. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='5580'/>
  <seriesInfo name='DOI' value='10.17487/RFC5580'/>
</reference>

<reference anchor='RFC8044' target='https://www.rfc-editor.org/info/rfc8044'>
  <front>
    <title>Data Types in RADIUS</title>
    <author fullname='A. DeKok' initials='A.' surname='DeKok'/>
    <date month='January' year='2017'/>
    <abstract>
      <t>RADIUS specifications have used data types for two decades without defining them as managed entities. During this time, RADIUS implementations have named the data types and have used them in attribute definitions. This document updates the specifications to better follow established practice. We do this by naming the data types defined in RFC 6158, which have been used since at least the publication of RFC 2865. We provide an IANA registry for the data types and update the "RADIUS Attribute Types" registry to include a Data Type field for each attribute. Finally, we recommend that authors of RADIUS specifications use these types in preference to existing practice. This document updates RFCs 2865, 3162, 4072, 6158, 6572, and 7268.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8044'/>
  <seriesInfo name='DOI' value='10.17487/RFC8044'/>
</reference>


<reference anchor='I-D.draft-dekok-radext-deprecating-radius' target='https://datatracker.ietf.org/doc/html/draft-dekok-radext-deprecating-radius-01'>
   <front>
      <title>Deprecating RADIUS/UDP and RADIUS/TCP</title>
      <author fullname='Alan DeKok' initials='A.' surname='DeKok'>
         <organization>FreeRADIUS</organization>
      </author>
      <date day='3' month='March' year='2023'/>
      <abstract>
	 <t>   RADIUS crypto-agility was first mandated as future work by RFC 6421.
   The outcome of that work was the publication of RADIUS over TLS (RFC
   6614) and RADIUS over DTLS (RFC 7360) as experimental documents.
   Those transport protocols have been in wide-spread use for many years
   in a wide range of networks.  They have proven their utility as
   replacements for the previous UDP (RFC 2865) and TCP (RFC 6613)
   transports.  With that knowledge, the continued use of insecure
   transports for RADIUS has serious and negative implications for
   privacy and security.

   This document formally deprecates the use of the User Datagram
   Protocol (UDP) and of the Transport Congestion Protocol (TCP) as
   transport protocols for RADIUS.  These transports are permitted
   inside of secure networks, but their use even in that environment is
   strongly discouraged.  For all other environments, the use of secure
   transports such as IPsec or TLS is mandated.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-dekok-radext-deprecating-radius-01'/>
   
</reference>




    </references>

    <references title='Informative References'>



<reference anchor='RFC2866' target='https://www.rfc-editor.org/info/rfc2866'>
  <front>
    <title>RADIUS Accounting</title>
    <author fullname='C. Rigney' initials='C.' surname='Rigney'/>
    <date month='June' year='2000'/>
    <abstract>
      <t>This document describes a protocol for carrying accounting information between a Network Access Server and a shared Accounting Server. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='2866'/>
  <seriesInfo name='DOI' value='10.17487/RFC2866'/>
</reference>

<reference anchor='RFC3394' target='https://www.rfc-editor.org/info/rfc3394'>
  <front>
    <title>Advanced Encryption Standard (AES) Key Wrap Algorithm</title>
    <author fullname='J. Schaad' initials='J.' surname='Schaad'/>
    <author fullname='R. Housley' initials='R.' surname='Housley'/>
    <date month='September' year='2002'/>
  </front>
  <seriesInfo name='RFC' value='3394'/>
  <seriesInfo name='DOI' value='10.17487/RFC3394'/>
</reference>

<reference anchor='RFC3580' target='https://www.rfc-editor.org/info/rfc3580'>
  <front>
    <title>IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines</title>
    <author fullname='P. Congdon' initials='P.' surname='Congdon'/>
    <author fullname='B. Aboba' initials='B.' surname='Aboba'/>
    <author fullname='A. Smith' initials='A.' surname='Smith'/>
    <author fullname='G. Zorn' initials='G.' surname='Zorn'/>
    <author fullname='J. Roese' initials='J.' surname='Roese'/>
    <date month='September' year='2003'/>
    <abstract>
      <t>This document provides suggestions on Remote Authentication Dial In User Service (RADIUS) usage by IEEE 802.1X Authenticators. The material in this document is also included within a non-normative Appendix within the IEEE 802.1X specification, and is being presented as an IETF RFC for informational purposes. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='3580'/>
  <seriesInfo name='DOI' value='10.17487/RFC3580'/>
</reference>

<reference anchor='RFC7585' target='https://www.rfc-editor.org/info/rfc7585'>
  <front>
    <title>Dynamic Peer Discovery for RADIUS/TLS and RADIUS/DTLS Based on the Network Access Identifier (NAI)</title>
    <author fullname='S. Winter' initials='S.' surname='Winter'/>
    <author fullname='M. McCauley' initials='M.' surname='McCauley'/>
    <date month='October' year='2015'/>
    <abstract>
      <t>This document specifies a means to find authoritative RADIUS servers for a given realm. It is used in conjunction with either RADIUS over Transport Layer Security (RADIUS/TLS) or RADIUS over Datagram Transport Layer Security (RADIUS/DTLS).</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='7585'/>
  <seriesInfo name='DOI' value='10.17487/RFC7585'/>
</reference>


<reference anchor='I-D.shahzad-scim-device-model' target='https://datatracker.ietf.org/doc/html/draft-shahzad-scim-device-model-05'>
   <front>
      <title>Device Schema Extensions to the SCIM model</title>
      <author fullname='Muhammad Shahzad' initials='M.' surname='Shahzad'>
         <organization>North Carolina State University</organization>
      </author>
      <author fullname='HASSAN IQBAL' initials='H.' surname='Hassan'>
         <organization>North Carolina State University</organization>
      </author>
      <author fullname='Eliot Lear' initials='E.' surname='Lear'>
         <organization>Cisco Systems</organization>
      </author>
      <date day='2' month='June' year='2023'/>
      <abstract>
	 <t>   The initial core schema for SCIM (System for Cross Identity
   Management) was designed for provisioning users.  This memo specifies
   schema extensions that enables provisioning of devices, using various
   underlying bootstrapping systems, such as Wifi EasyConnect, RFC 8366
   vouchers, and BLE passcodes.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-shahzad-scim-device-model-05'/>
   
</reference>


<reference anchor="BLUETOOTH" target="https://www.bluetooth.com/specifications/bluetooth-core-specification/">
  <front>
    <title>BLUETOOTH CORE SPECIFICATION v5.3</title>
    <author initials="" surname="Bluetooth Core Specification Working Group">
      <organization></organization>
    </author>
    <date year="2021" month="July" day="13"/>
  </front>
</reference>
<reference anchor="MQTT" target="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html">
  <front>
    <title>MQTT Version 5.0</title>
    <author initials="" surname="OASIS">
      <organization></organization>
    </author>
    <date year="2019" month="March" day="07"/>
  </front>
</reference>


    </references>


<section anchor="mqtt-interworking"><name>MQTT Interworking</name>

<t>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.</t>

<section anchor="establishing-a-session-to-a-mqtt-broker-uri"><name>Establishing a Session to a MQTT-Broker-URI</name>

<t>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.</t>

<figure title="Establishing an MQTT connection to a Home Broker using WebSocket transport" anchor="figest"><artwork><![CDATA[
                   NAS/BLE                                   
                   Visited                   Home            Home       
   BLE             Central#2                 RADIUS          MQTT  
Peripheral           Host                   Server          Broker
    |                 |                        |              |   
    |                 |                        |              |  
    |                 |--Accounting-Request--->|              |  
    |                 | Acct-Status-Type=Start |              |    
    |                 | Session-Id             |              |   
    |                 | Chargeable-User-Id     |              |   
    |                 |                        |              |   
    |                 |--HTTP GET---------------------------->|  
    |                 | Upgrade:websocket      |              |
    |                 | Connection:upgrade     |              |  
    |                 | Sec-WebSocket-Protocol=mqtt           |  
    |                 |                        |              |
    |                 |<-HTTP 101--------------|--------------|  
    |                 | Upgrade:websocket      |              |  
    |                 | Connection:upgrade     |              |  
    |                 | Sec-WebSocket-Protocol=mqtt           |  
    |                 |                        |              |  
    |                 |--MQTT CONNECT------------------------>|   
    |                 | User Name=[operator_name:]nas-id      |  
    |                 | Password=MQTT Token    |              |   
    |                 |                        |              |   
    |                 |<-MQTT CONNACK-------------------------|  
    |                 |                        |              |
    |                 |                        |              |        
]]></artwork></figure>

</section>
<section anchor="mqtt-topics"><name>MQTT topics</name>

<t>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.</t>

<t><list style="symbols">
  <t>{peripheral_identity_address}/advertisement/gatt-ind</t>
</list></t>

<t>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:</t>

<t><list style="numbers">
  <t>{peripheral_identity_address}/connect/gatt-req : when publishing a message on the {peripheral_identity_address}/connect/gatt-req topic, an MQTT client SHOULD include the following as a response topic
  {peripheral_identity_address}/connect/gatt-res.</t>
  <t>{peripheral_identity_address}/disconnect/gatt-req : when publishing a message on the {peripheral_identity_address}/disconnect/gatt-req topic, an MQTT client SHOULD include the following as a response topic
  {peripheral_identity_address}/disconnect/gatt-res.</t>
  <t>{peripheral_identity_address}/read/gatt-req : when publishing a message on the {peripheral_identity_address}/read/gatt-req topic, an MQTT client SHOULD include the following as a response topic
  {peripheral_identity_address}/read/gatt-res.</t>
  <t>{peripheral_identity_address}/write/gatt-req : when publishing a message on the {peripheral_identity_address}/write/gatt-req topic, an MQTT client SHOULD include the following as a response topic
  {peripheral_identity_address}/write/gatt-res.</t>
  <t>{peripheral_identity_address}/service-discovery/gatt-req : when publishing a message on the {peripheral_identity_address}/service-discovery/gatt-req topic, an MQTT client SHOULD include the following as a response topic
  {peripheral_identity_address}/service-discovery/gatt-res.</t>
  <t>{peripheral_identity_address}/notification/gatt-ind-res :  when sending indications, the MQTT client of the NAS/BLE Visited Host
  SHOULD publish the message using the topic:{peripheral_identity_address}/notification/gatt-ind-req indication and SHOULD include the following as a response topic {peripheral_identity_address}/notification/gatt-ind-res.</t>
</list></t>

</section>
<section anchor="mqtt-exchange-for-non-connectable-ble-peripherals"><name>MQTT Exchange for Non-Connectable BLE Peripherals</name>

<t>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.</t>

<t>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).</t>

<figure title="MQTT Exchange for Non-Connectable BLE Peripherals" anchor="figscan"><artwork><![CDATA[
                   NAS/BLE                                                                                                                
                   Visited                                   Home                                                                                 
   BLE            Central#2                  RADIUS          MQTT                                                                             
Peripheral           Host                    Server         Broker                                                                            
    |                 |                        |              |         
    |--BLE ---------->|                        |              |       
    |  Advertisement  |                        |              |        
  +---------------------+                      |              |   
  | |   Active Scan   | |                      |              |                     
  | |<-BLE SCAN_REQ---| |                      |              |     
  | |                 | |                      |              |       
  | |--BLE SCAN_RSP-->| |                      |              |
  +---------------------+                      |              |                                                                               
    |                 |--MQTT PUBLISH------------------------>|                                                                               
    |                 | topic:{peripheral_identity_address}/  |                                                                               
    |                 | advertisement/gatt-ind |              |                                                                               
    |                 | msg:Advertising Report |              |                                                                               
    |                 |                        |              |                                                                               
    |--BLE ---------->|                        |              |                                                                               
    |  Advertisement  |--MQTT PUBLISH------------------------>|                                                                               
    |              +--| topic:{peripheral_identity_address}/  |                                                                               
    |              |  | advertisement/gatt-ind |              |                                                                               
    |              |  | msg:Advertising Report |              |                                                                               
    |              |  |                        |              |                                                                               
    |              |  |                        |              |                                                                               
    |              |  |                        |              |                                                                               
    |              +->|Idle Timer Expiry       |              |                                                                               
    |                 |                        |              |                                                                               
    |                 |--Accounting-Request--->|              |                                                                               
    |                 | Acct-Status-Type=Stop  |              |                                                                               
    |                 | Session-Id             |              |                                                                               
    |                 |                        |              |                                                                               
    |             +-----------------------------------------------+                                                                           
    |             |      Last Session to MQTT Broker Stopped      |                                                                           
    |             +-----------------------------------------------+                                                                           
    |                 |                                       |                                                                               
    |                 |--MQTT DISCONNECT--------------------->|                                                                               
    |                 |                                       |                                                                               
    |                 |--Close WebSocket--------------------->|                                                                               
    |                 |                                       |     
]]></artwork></figure>

</section>
<section anchor="initial-mqtt-exchange-for-connectable-ble-peripherals"><name>Initial MQTT Exchange for Connectable BLE Peripherals</name>

<t>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.</t>

<figure title="MQTT Exchange for GATT Service Discovery" anchor="figcon"><artwork><![CDATA[
                   NAS/BLE                                                                                                               
                   Visited                                    Home                                                                                
   BLE            Central#2                                   MQTT                                                                            
Peripheral           Host                                    Broker                                                                           
    |                 |                                        |                                                                              
    |--BLE----------->|                                        |                                                                              
    |  Advertisement  |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                               
    |                 |  advertisement/gatt-ind                |                                                                               
    |                 |  msg:Advertising Report                |   
    |                 |                                        |   
  +--------------------------------------------------------------+                                                                            
  |                      GATT Subscription                       |                                                                            
  +--------------------------------------------------------------+                                                                            
    |                 |                                        |                                                                              
    |                 |---MQTT SUBSCRIBE---------------------->|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                             
    |                 |  +/gatt-req                            |          
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  +/gatt-ind-res                        |
    |                 |                                        |                                                                              
  +--------------------------------------------------------------+                                                                            
  |           GATT Connection and Service Discovery              |                                                                            
  +--------------------------------------------------------------+                                                                            
    |                 |                                        |                                                                              
    |                 |<--MQTT PUBLISH-------------------------|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |<-BLE PDU------->|  connect/gatt-req                      |                                                                              
    |  Exchange       |  response topic:                       |                                                                              
    |                 |  {peripheral_identity_address}/        |                                                                              
    |                 |  connect/gatt-res                      |                                                                              
    |                 |  correlation data:{binary_data}        |                                                                              
    |                 |  msg:                                  |
    |                 |                                        |                                                                              
    |                 |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  connect/gatt-res                      |                                                                              
    |                 |  correlation data:{binary data}        |                                                                              
    |                 |  msg: connect-id or error              |                                                                              
    |                 |                                        |
    |                 |<--MQTT PUBLISH-------------------------|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |<-BLE PDU------->|  service-discovery/gatt-req            |                                                                              
    |  Exchange       |  response topic:                       |                                                                              
    |                 |  {peripheral_identity_address}/        |                                                                              
    |                 |  service-discovery/gatt-res            |                                                                              
    |                 |  correlation data:{binary_data}        |                                                                              
    |                 |  msg: connect-id, optional UUID        |
    |                 |                                        |                                                                              
    |                 |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  service-discovery/gatt-res            |                                                                              
    |                 |  correlation data:{binary data}        |                                                                              
    |                 |  msg: service UUID or error            |                                                                              
    |                 |                                        |
    |                 |<--MQTT PUBLISH-------------------------|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |<-BLE PDU------->|  disconnect/gatt-req                   |                                                                              
    |  Exchange       |  response topic:                       |                                                                              
    |                 |  {peripheral_identity_address}/        |                                                                              
    |                 |  disconnect/gatt-res                   |                                                                              
    |                 |  correlation data:{binary_data}        |                                                                              
    |                 |  msg: connect-id                       |
    |                 |                                        |                                                                              
    |                 |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  disconnect/gatt-res                   |                                                                              
    |                 |  correlation data:{binary data}        |                                                                              
    |                 |  msg: ok or error                      |                                                                              
    |                 |                                        |   

]]></artwork></figure>

</section>
<section anchor="mqtt-exchange-for-reading-a-gatt-attribute"><name>MQTT Exchange for Reading a GATT Attribute</name>

<t>If the BLE Peripheral is connectable, a Bluetooth Application can read GATT attributes.</t>

<figure title="MQTT Exchange for GATT Read Attribute" anchor="figread"><artwork><![CDATA[
                    NAS/BLE                                                                                                               
                    Visited                                   Home                                                                                
   BLE             Central#2                                  MQTT                                                                            
Peripheral           Host                                    Broker                                                                           
    |                 |                                        |                                                                              
  +--------------------------------------------------------------+                                                                            
  |                      GATT Read Request                       |                                                                            
  +--------------------------------------------------------------+                                                                            
    |                 |                                        |                                                                              
    |                 |<--MQTT PUBLISH-------------------------|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |<-BLE PDU------->|  read/gatt-req                         |                                                                              
    |  Exchange       |  response topic:                       |                                                                              
    |                 |  {peripheral_identity_address}/        |                                                                              
    |                 |  read/gatt-res                         |                                                                              
    |                 |  correlation data:{binary_data}        |                                                                              
    |                 |  msg: Characteristic optional offset,  |
    |                 |       optional maxlen                  |                                                                       
    |                 |                                        |                                                                              
    |                 |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  read/gatt-res                         |                                                                              
    |                 |  correlation data:{binary data}        |                                                                              
    |                 |  msg: Handle, opcode, offset, value or |                                                                              
    |                 |       error                            |    
]]></artwork></figure>

</section>
<section anchor="mqtt-exchange-for-writing-a-gatt-attribute"><name>MQTT Exchange for Writing a GATT Attribute</name>

<t>If the BLE Peripheral is connectable, a Bluetooth Application can write GATT attributes.</t>

<figure title="MQTT Exchange for GATT Write Attribute" anchor="figwrite"><artwork><![CDATA[
                   NAS/BLE                                                                                                               
                   Visited                                    Home                                                                                
   BLE            Central#2                                   MQTT                                                                            
Peripheral           Host                                    Broker                                                                           
    |                 |                                        |                                                                              
  +--------------------------------------------------------------+                                                                            
  |                     GATT Write Request                       |                                                                            
  +--------------------------------------------------------------+                                                                            
    |                 |                                        |                                                                              
    |                 |<--MQTT PUBLISH-------------------------|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                             
    |<-BLE PDU------->|  write/gatt-req                        |                                                                              
    |  Exchange       |  response topic:                       |                                                                              
    |                 |  {peripheral_identity_address}/        |                                                                              
    |                 |  write/gatt-res                        |                                                                              
    |                 |  correlation data:{binary_data}        |                                                                              
    |                 |  msg: characteristic, length, value    |                                                                              
    |                 |                                        |                                                                              
    |                 |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  write/gatt-res                        |                                                                              
    |                 |  correlation data:{binary data}        |                                                                              
    |                 |  msg: success or error                 |                                                                              
    |                 |                                        |    
]]></artwork></figure>

</section>
<section anchor="mqtt-exchange-for-ble-peripheral-initiated-notifications"><name>MQTT Exchange for BLE Peripheral initiated Notifications</name>

<t>A Bluetooth Application can subscribe to receive Bluetooth notifications sent by the BLE Peripheral.</t>

<figure title="MQTT Exchange for BLE Peripheral Notifications" anchor="fignotification"><artwork><![CDATA[
                    NAS/BLE                                                                                                               
                    Visited                                   Home                                                                                
   BLE             Central#2                                  MQTT                                                                            
Peripheral           Host                                    Broker                                                                           
    |                 |                                        |                                                                              
  +--------------------------------------------------------------+                                                                            
  |                GATT Set Notification Request                 |                                                                            
  +--------------------------------------------------------------+                                                                            
    |                 |                                        |                                                                              
    |                 |<--MQTT PUBLISH-------------------------|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                             
    |<-BLE PDU------->|  write/gatt-req                        |                                                                              
    |  Exchange       |  response topic:                       |                                                                              
    |                 |  {peripheral_identity_address}/        |                                                                              
    |                 |  write/gatt-res                        |                                                                              
    |                 |  correlation data:{binary_data}        |                                                                              
    |                 |  msg: characteristic, enable/disable   |                                                                              
    |                 |                                        |                                                                              
    |                 |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  write/gatt-res                        |                                                                              
    |                 |  correlation data:{binary data}        |                                                                              
    |                 |  msg: success or error                 |                                                                              
    |                 |                                        |   
  +--------------------------------------------------------------+                                                                            
  |                      GATT Notification                       |                                                                            
  +--------------------------------------------------------------+   
    |                 |                                        |                                                                              
    |--BLE ---------->|                                        |                                                                              
    |  Notification   |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  notification/gatt-ind                 |                                                                              
    |                 |  msg:handle & value                    |   
    |                 |                                        |   
]]></artwork></figure>

</section>
<section anchor="mqtt-exchange-for-ble-peripheral-initiated-indications"><name>MQTT Exchange for BLE Peripheral initiated Indications</name>

<t>A Bluetooth Application can subscribe to receive Bluetooth indications sent by the BLE Peripheral.</t>

<figure title="MQTT Exchange for BLE Peripheral Indications" anchor="figindication"><artwork><![CDATA[
                    NAS/BLE                                                                                                               
                    Visited                                   Home                                                                                
   BLE             Central#2                                  MQTT                                                                            
Peripheral           Host                                    Broker                                                                           
    |                 |                                        |                                                                              
  +--------------------------------------------------------------+                                                                            
  |                 GATT Set Indication Request                  |                                                                            
  +--------------------------------------------------------------+                                                                            
    |                 |                                        |                                                                              
    |                 |<--MQTT PUBLISH-------------------------|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                             
    |<-BLE PDU------->|  write/gatt-req                        |                                                                              
    |  Exchange       |  response topic:                       |                                                                              
    |                 |  {peripheral_identity_address}/        |                                                                              
    |                 |  write/gatt-res                        |                                                                              
    |                 |  correlation data:{binary_data}        |                                                                              
    |                 |  msg: identifier & handle              |                                                                              
    |                 |                                        |                                                                              
    |                 |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  write/gatt-res                        |                                                                              
    |                 |  correlation data:{binary data}        |                                                                              
    |                 |  msg: procedure complete               |                                                                              
    |                 |                                        |   
  +--------------------------------------------------------------+                                                                            
  |                       GATT Indication                        |                                                                            
  +--------------------------------------------------------------+   
    |                 |                                        |                                                                              
    |--BLE----------->|                                        |                                                                              
    |  Indication     |---MQTT PUBLISH------------------------>|                                                                              
    |                 |  topic:{peripheral_identity_address}/  |                                                                              
    |                 |  notification/gatt-ind-req             |                                                                              
    |                 |  response topic:                       |
    |                 |  {peripheral_identity_address}/        |   
    |                 |  notification/gatt-ind-res             |                                                                              
    |                 |  correlation data:{binary_data}        |                                                                              
    |                 |  msg: Indication                       |
    |                 |                                        |
    |                 |<--MQTT PUBLISH-------------------------|                                                                              
    |<-BLE------------|  topic:{peripheral_identity_address}/  |                                                                              
    |  Status         |  notification/gatt-ind-res             |                                                                              
    |                 |  correlation data:{binary data}        |                                                                              
    |                 |  msg: Indication confirmation          |   
    |                 |                                        |
]]></artwork></figure>

</section>
<section anchor="mqtt-exchange-for-dealing-with-nas-mobility"><name>MQTT Exchange for dealing with NAS Mobility</name>

<figure title="MQTT Exchange for Inter-NAS Mobility without MQTT Unsubscription" anchor="figmobility"><artwork><![CDATA[
              NAS/BLE      NAS/BLE                                                                                                        
              Visited      Visited                            Home                                                                        
   BLE       Central#2    Central#3                           MQTT                                                                        
Peripheral      Host         Host                            Broker                                                                       
    |            |            |                                |                                                                          
  +--------------------------------------------------------------+                                                                        
  |          Initial Authentication With Central#2               |                                                                        
  +--------------------------------------------------------------+                                                                        
    |            |            |                                |                                                                          
    |            |--MQTT SUBSCRIBE --------------------------->|                                                                          
    |            |  topic:{periperal_identity_address}/        |                                                                          
    |            |  +/gatt-req                                 |                                                                          
    |            |            |                                |                                                                          
  +--------------------------------------------------------------+                                                                        
  |   NAS Mobility to Central#3 without MQTT unsubscription      |                                                                        
  +--------------------------------------------------------------+                                                                        
    |            |            |                                |                                                                          
    |            |            |--MQTT SUBSCRIBE--------------> |                                                                          
    |            |            | topic:                         |                                                                          
    |            |            | {peripheral_identity_address}/ |                                                                          
    |            |            | +/gatt-req                     |                                                                          
    |            |            |                                |                                                                          
  +--------------------------------------------------------------+                                                                        
  |     Example GATT Connection Request with NAS Mobility        |                                                                        
  +--------------------------------------------------------------+                                                                        
    |            |            |                                |                                                                          
    |            |<-MQTT PUBLISH-------------------------------|                                                                          
    |         +--| topic:{peripheral_identity_address}/        |                                                                          
    |         |  | connect/gatt-req                            |                                                                          
    |         |  | response topic:                             |                                                                          
    |         |  | {peripheral_identity_address}/              |                                                                          
    |         |  | connect/gatt-res                            |                                                                          
    |         |  | correlation data:{binary_data}              |                                                                          
    |         |  | msg:       |                                |                                                                          
    |         |  |            |                                |                                                                          
    |         |  |            |<--MQTT PUBLISH-----------------|                                                                          
    |         |  |            | topic:                         |                                                                          
    |         |  |            | {peripheral_identity_address}/ |                                                                          
    |         |  |            | connect/gatt-req               |                                                                          
    |<-BLE----|-------------->| response topic:                |                                                                          
    |  PDU    |  |            | {peripheral_identity_address}/ |                                                                          
    |  Exchange  |            | connect/gatt-res               |                                                                          
    |         |  |            | correlation data:{binary_data} |                                                                          
    |         |  |            | msg:                           |                                                                          
    |         |  |            |                                |                                                                          
    |         |  |            |---MQTT PUBLISH---------------->|                                                                          
    |         |  |            | topic:                         |                                                                          
    |         |  |            | {peripheral_identity_address}/ |                                                                          
    |Central#2|  |            | connect/gatt-res               |                                                                          
    |      BLE|  |            | correlation data:{binary data} |                                                                          
    |  Timeout|  |            | msg: connect-id                |                                                                          
    |         +->|            |                                |                                                                          
    |            |---MQTT PUBLISH----------------------------->|                                                                          
    |            | topic:{peripheral_identity_address}/        |                                                                          
    |            | connect/gatt-res                            |                                                                          
    |            | correlation data:{binary data}              |                                                                          
    |            | msg: procedure timeout                      |                                                                          
    |            |            |                                |                                                                          
  +--------------------------------------------------------------+                                                                        
  |       MQTT Broker drops timeout message for PUBLISH          |                                                                        
  |              with duplicated correlation data                |                                                                        
  +--------------------------------------------------------------+                                                                        
]]></artwork></figure>

</section>
<section anchor="mqtt-exchange-for-ending-a-session-for-a-connected-ble-peripheral"><name>MQTT Exchange for ending a session for a connected BLE Peripheral</name>

<t>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).</t>

<figure title="MQTT Exchange when disconnecting from a connected BLE Peripheral" anchor="figdisc"><artwork><![CDATA[
                    NAS/BLE                                                                                                             
                    Visited                   Home            Home                                                                              
   BLE             Central#2                 RADIUS           MQTT                                                                          
Peripheral           Host                    Server          Broker                                                                         
    |                 |                         |              |                                                                            
    |--BLE----------->|                         |              |                                                                            
    |  Advertisement  |---MQTT PUBLISH------------------------>|                                                                            
    |              +--|  topic:{peripheral_identity_address}/  |                                                                            
    |              |  |  advertisement/gatt-ind |              |                                                                            
    |              |  |  msg:Advertising Report |              |                                                                            
    |              |  |                         |              |                                                                            
    |              |  |                         |              |                                                                            
    |              +->|Idle Timer Expiry        |              |                                                                            
    |                 |                         |              |                                                                            
    |                 |---Accounting-Request--->|              |                                                                            
    |                 |  Acct-Status-Type=Stop  |              |                                                                            
    |                 |                         |              |                                                                            
    |                 |---MQTT UNSUBSCRIBE-------------------->|                                                                            
    |                 |  topic:{peripheral_identity_address}/  |                                                                           
    |                 |  +/gatt-req             |              |                                                                            
    |                 |  topic:{peripheral_identity_address}/  |                                                                            
    |                 |  +/gatt-ind-res         |              |  
    |                 |                         |              |                                                                            
    |             +------------------------------------------------+                                                                        
    |             |       Last Session to MQTT Broker Stopped      |                                                                        
    |             +------------------------------------------------+                                                                        
    |                 |                         |              |                                                                            
    |                 |---MQTT DISCONNECT--------------------->|                                                                            
    |                 |                         |              |                                                                            
    |                 |---Close WebSocket--------------------->|                                                                            
    |                 |                         |              |               
]]></artwork></figure>

</section>
</section>
<section anchor="history-of-changes"><name>History of Changes</name>

<t>Note: This appendix will be deleted in the final version of the document.</t>

<t>From version 00 -&gt; 01:</t>

<t><list style="symbols">
  <t>switched from User-Password to new Hashed-Password attribute using SHA256</t>
  <t>switched to TLV-encoding of BLE-Keying-Material</t>
  <t>re-ordered MQTT topic definitions</t>
  <t>removed redundant attribute sections</t>
</list></t>

</section>
<section numbered="false" anchor="Acknowledgements"><name>Acknowledgements</name>

<t>Thanks to Oleg Pekar and Eric Vyncke for their review comments.</t>

</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

