What is BACnet Secure Connect?

The new BACnet/SC data link adds authentication and encryption at the device and systems communication level.

BACnet/IP and BACnet MS/TP

BACnet Secure Connect (BACnet/SC)

No security features built in

Built in security features

Additional security measures can be costly

Provides cost-effective security down to device level

UDP protocol used, lacks good security; broadcast traffic

TCP protocol used with TLS secured WebSockets; unicast traffic

No encryption

Communication encryption based on TLS 1.3 security

No authentication

Individual mutual device authentication based on X.509v3 certificates

Communication scope is mainly a local site, protected with IT-means (like dedicated VLANs)

Communication scope extends to multi-sites, also secures off-premise communications in the cloud

BACnet/SC uses a mutual TLS authentication. It certifies the authenticity of BACnet protocol packets to both ends. Thus, the possibility of fake communication is reduced and an encrypted end-to-end communication is established.

The BACnet/SC addendum only defines a new, cybersecure datalink. Conceptionally, it is therefore possible to communicate with older BACnet devices on BACnet/IP and BACnet MS/TP as is always done within the BACnet world namely by “BACnet routing”. As such, it does not fundamentally change the BACnet application. Therefore, BACnet/SC is compatible with any previous and future versions of BACnet. That means building owners and managers do not need to replace devices, nor will they lose any capabilities from an existing BACnet system. For them, it is just a new TLS-secured datalink for their BACnet/SC-enabled devices.

BACnet Application with BACnet Secure Connect Virtual Datalink

Application

BACnet Application

BACnet Application Layer

BACnet Network Layer

BACnet/SC

Application Layer

WebSockets

Transport Layer

TLS V1.3

TCP

Internet Layer

IP / IPv63

Link Layer

Any Datalink for IP or IPv6

3 As of writing, only IPv4 is supported.

BACnet/SC is a virtual datalink that is directly added into the BACnet protocol stack under the BACnet Network Layer in the application. As such, a mixture of traditional non-secure BACnet with already secured BACnet/SC parts of a project is possible. However, such mixed use-case scenarios will still require to protect the not yet BACnet/SC parts of the system by other IT-means with IT-security appliances or physical protection means, as has been common in the past.

The upper BACnet layers, specifically the application layer and network layer, have not changed at all.

The design’s architecture is centered around a so-called “hub”, which acts as a central component where all other BACnet/SC devices (called spoke-nodes) connect to. It uses that hub-and-spoke principle based on TLS-secured WebSockets to connect devices to a hub. If due to the system size, there is more than one hub in the system, a secured unicast routing mechanism between router-enabled hubs is managed by means of regular encrypted BACnet routing or, in the case of a hierarchical hub-of-hub scenario, where a hub is itself a node of another super-ordinate hub, again via the respective hub-and-spoke mechanism. The use of connection-oriented WebSockets isolates the BACnet communication better from the underlying IP-layer communication. This is an IT-friendly improvement over BACnet/IP, which uses direct UDP broadcasts and BACnet Broadcast Management Devices (BBMDs) if the BACnet system had to span more than just one IP-subnet: As BACnet broadcasts are now directly handled inside the hub-and-spoke network of interconnected WebSockets, neither does the IP-network layer has to handle any broadcasts anymore, nor does it need an artificial “bridging” of IP-subnets with BBMDs anymore.

Historically, BBMDs have been a challenge to configure in large systems due to the potential deep impact of the underlying IP-network behavior. BACnet/SC networks are completely independent of the underlying IP-network structure. In an extreme implementation, all nodes (spoke-nodes and hubs) could even be scattered arbitrarily into different IP-networks around the world. As long as the spoke-nodes can reach their hub, the BACnet/SC communication will work.

The BACnet/SC hub-and-spoke principle, or basic topology, delivers messages between devices. A BACnet/SC hub is a software function that is typically co-hosted on a BACnet router, but can also be a stand-alone hardware device, or it can be a virtual software component. Regardless, as the hub function is essential to network communication between devices, BACnet/SC can optionally be implemented with redundant hubs (so called fail-over hubs) to avoid downtime.

BACnet/SC Logical Network Topology
BACnet/SC Logical Network Topology

BACnet/SC Primary Hub

BACnet/SC Regular Node

Hub Connection (TLS secured WebSocket)

The hub relays all messages to the network devices. All BACnet/SC-enabled devices are required to make a connection to the primary hub. To do so, they have to provide proper digital certificates to the hub (and the hub to the devices4). Once the hub authenticates the devices, they can send messages through the hub, using encrypted payloads.

4Note: that BACnet/SC thus does a mutual TLS authentication. In contrast, the typical https protocol is only single-sided, that is: The WebServer authenticates to you by means of a digital certificate, but you have to authenticate to the WebServer application via a user account and password, PIN, mobile phone, etc. This makes BACnet/SC very secure, but also requires an individual certificate per BACnet/SC device.

An accepted certificate authority (CA) assures used certificates to have a signature. Hub connections are always established from the nodes to their hub, which allows for firewall-friendly topologies with distant hubs. As it suffices that the hub is reachable by the spoke-nodes, as the underlying secure WebSocket connections (WSS://) are always established from the nodes towards the hub, this translates to IT-firewall rules just have to make sure that the (few) hubs have to be reachable for ingest traffic, but that the (many) nodes may readily reside behind a restrictive firewall that typically might allow only outgoing traffic.

Note that the picture above illustrates the logical topology of a BACnet/SC network. This has nothing to do with the physical topology of the network. That is, the cabling of the underlying IP-network can be configured freely. It can be a star, a bus, a daisy chain or any other topology.

Still, there are of course some practical aspects: Devices connected as a daisy-chain mathematically multiply their failure probabilities along each daisy-chained device towards the end of the chain; while this is not special to BACnet/SC, it simply advises to better not put a hub at the very distant end of a daisy chain, as a hub is a critical core element of a BACnet/SC system and as such, should not be the device with the highest network failure probability at the end of the chain. On the other hand, as a node-to-node communication always has to traverse once from the source node to the hub and then again from the hub to the destination node, the number of hops a data packet has to travel in a daisy-chain also depends on where the hub is placed. Theoretically, the optimum position would be the middle of the chain. However, in real-world projects, this rarely makes a difference. As a rule of thumb, it is better to place the hub at/near the beginning of a daisy chain (that is: closest to the IP-backbone); if the building’s topology allows so, place any special time-critical devices in the daisy-chain order close to the hub (or avoid daisy-chains altogether 5).

5It is foreseeable that for cybersecurity reasons, IT-departments will over time anyway enforce mechanisms to selectively block suspicious IP-devices also for BA systems. But if these would then be part of a daisy-chain, of course all other devices behind that blocked device would also be cut-off of any communication. So the cabling paradigm for BAS will shift slowly from daisy-chains to direct cabled star-topologies.

From an engineer’s perspective, setting up a BACnet/SC system differs in the following aspects from a traditional BACnet project.