This document describes how to configure and use Remote Authentication Dial-In User Service (RADIUS) Authentication on the Wi-SUN Border Router. RADIUS allows centralized authentication of Wi-SUN nodes attempting to join a Field Area Network (FAN), enhancing security by integrating with existing authentication infrastructures.

Configure RADIUS on XBee Hive for Wi-SUN

RADIUS authentatication can be configured via the web UI or the command line

When the method of authentication for the XBee Hive for Wi-SUN is configured for RADIUS, other methods of authentication are disabled.

Configure via Web UI

  1. Go to Wi-SUN Border Router > Authorization > Method.

  2. Set the Method to RADIUS.

  3. Navigate to Wi-SUN Border Router > Authorization > RADIUS.

  4. Configure the following settings:

    • RADIUS Host: The hostname or IP address of the RADIUS server.

    • Secret: The shared secret used to authenticate XBee Hive for Wi-SUN with the RADIUS server.

  5. Click APPLY to save the settings.

Configure via command line

  1. At the command line prompt, enter config mode.

    > config
    (config)>
  2. Set auth method` to RADIUS.

    (config)> wisun auth method radius
  3. Configure the hostname or IP address of the RADIUS server.

    (config)> wisun auth radius host 192.168.86.42
  4. Configure the shared secret used to authenticate XBee Hive for Wi-SUN with the RADIUS server.

    (config)> wisun auth radius secret mysecret
  5. Save settings.

    (config)> save
    Configuration saved.
    >

Set up a RADIUS server

Setting up a RADIUS server can be challenging. Below is an example of how to set up a RADIUS server using FreeRADIUS. This example was verified using FreeRADIUS Version 3.2.1.

Prerequisites

  • FreeRADIUS installed and running (e.g., via apt-get install freeradius).

  • Certificates and keys for the Wi-SUN Border Router and Certificate Authority (CA).

Install and place certificates and keys

Place the following files in /etc/freeradius/3.0/certs/ or a preferred secure directory.

  • RADIUS server private key: server_key.pem

  • RADIUS server certificate: server_cert.pem

  • CA certificate: ca_cert.pem

Configure RADIUS clients

Add the Wi-SUN Border Router as an authorized client in /etc/freeradius/3.0/clients.conf.

client border-router {
    # IP address range allowed to connect as a client (e.g., the Border Router)
    ipaddr = 192.168.0.0/16

    # Shared secret for mutual authentication between the Border Router and RADIUS server
    secret = wisunsecret
}
Adjust ipaddr to match your Border Router’s network/subnet and set a strong secret value.

Configure EAP-TLS

Configure EAP-TLS parameters in /etc/freeradius/3.0/mods-enabled/eap to align with Wi-SUN security requirements.

eap {
    default_eap_type = tls

    # Wi-SUN networks may require longer time for EAP exchanges
    timer_expire = 3600

    tls-config tls-common {
        # Private key and certificate for RADIUS server
        private_key_file = /etc/freeradius/3.0/certs/server_key.pem
        certificate_file = /etc/freeradius/3.0/certs/server_cert.pem

        # Trusted Certificate Authority (CA) for validating clients
        ca_file = /etc/freeradius/3.0/certs/ca_cert.pem

        # Avoid automatic certificate chains to prevent client-side validation issues
        auto_chain = no

        # Fragment size to ensure RADIUS packets fit within IEEE 802.15.4 frames (Wi-SUN requirement)
        fragment_size = 1024

        # Cipher suites enforced by Wi-SUN specification
        cipher_list = "ECDHE-ECDSA-AES128-CCM8"
        ecdh_curve = "prime256v1"
    }

    tls {
        tls = tls-common
    }
}

Restart FreeRADIUS service

Apply the new configuration.

sudo systemctl reload freeradius

Notes and recommendations

  • The fragment_size setting is important to ensure that large EAP messages can be transmitted over the Wi-SUN network, which relies on IEEE 802.15.4 frame sizes.

  • The timer_expire value is set higher than default to accommodate longer handshake times in Wi-SUN mesh networks.

  • Ensure that cipher_list and ecdh_curve match what is supported by both the Border Router and Wi-SUN nodes, following Wi-SUN FAN security standards.

  • Protect sensitive files like clients.conf and certificate/key files with proper file permissions.

Additional testing and verification

To verify that FreeRADIUS is running and listening on UDP port 1812 (the RADIUS default port), run:

sudo ss -unlp | grep freeradius

To run FreeRADIUS in debug mode (helpful for troubleshooting):

sudo systemctl stop freeradius
sudo freeradius -X

This will display detailed logs of the authentication process, helpful for diagnosing issues.