BACnet Secure Connect (BACnet/SC) carries BACnet traffic over Secure WebSockets (WSS) using TLS 1.3, with X.509 certificates providing mutual authentication between every device on the network. That single design choice changes how you build a BAS network. There are no datalink broadcasts, no UDP port 47808, and no BBMD tables to maintain. Instead, every node makes an outbound WSS connection to a hub, and trust is established through certificates rather than IP addressing.
For an integrator, the practical shift is this: your network design conversation moves from “which port do we open?” to “who issues and rotates our certificates?” That’s a different skill set, and it’s the one this briefing is built around.
The must-know reference points before you start designing:
- Annex AB / Addendum 135-2016bj — the normative definition of BACnet/SC within ANSI/ASHRAE 135.
- NM-SCH-B — the hub role that fans messages between connected nodes.
- NM-SCCM-A — certificate management: issuing, distributing, and rotating operational certificates.
- Full backward compatibility with BACnet/IP via router devices, so existing infrastructure isn’t stranded.
Key Takeaways
BACnet Secure Connect secures BAS communication by carrying BACnet over WSS/TLS with mutual X.509 authentication, trading broadcast simplicity for certificate lifecycle responsibility.
| Point | Details |
|---|---|
| Transport shift | BACnet/SC uses outbound WSS over TLS 1.3 instead of UDP broadcasts on port 47808. |
| Certificates replace addressing trust | Mutual X.509 authentication and CA management (NM-SCCM-A) become core operational tasks. |
| Hub failover is essential | Configure and test a failover hub URI; a single hub is a single point of failure. |
| Legacy coexistence via routers | BACnet/SC runs alongside BACnet/IP and MS/TP through router devices, not as a wholesale replacement. |
| PODTECH supports full rollout | PODTECH’s BMS/PMS integration services build certificate automation and phased deployment into BACnet/SC projects. |
Table of Contents
- What secure BACnet communication actually requires at transport level
- Hub-and-spoke topology, direct connect, and how failover works
- Bringing BACnet/SC into networks that still run BACnet/IP and MS/TP
- Managing the certificate lifecycle so BACnet/SC doesn’t break in year two
- Deployment scenarios and a working implementation checklist
- Reference implementations and tools worth testing against
- Troubleshooting BACnet/SC: symptoms, causes, and first checks
- Frequently asked questions
- Sources
What secure BACnet communication actually requires at transport level
BACnet/SC replaces the UDP broadcast model with Secure WebSockets running over TLS 1.3. Instead of a device shouting on the local segment, it opens a persistent outbound WSS connection to a hub and stays connected. That NPDU (Network Protocol Data Unit) traffic rides inside the WebSocket frame rather than a raw UDP datagram.
Annex AB constrains which TLS cipher suites are valid for BACnet/SC, and every peer must present an X.509 certificate that the other side verifies against a trusted CA. This is mutual authentication, not the one-way server verification most engineers associate with browsing HTTPS sites. Both the hub and the node prove who they are before a single BACnet message moves.
Three operational consequences follow directly from this:
- Connections are outbound-only from the node’s perspective, which simplifies firewall rules considerably.
- NAT traversal stops being a design headache because there’s no need for inbound port mapping.
- Enterprise TLS inspection appliances can silently break mutual authentication, because they substitute their own certificate mid-stream and interrupt the end-to-end verification both sides expect.
Pro Tip: Ask the client’s network team about TLS interception and proxy idle-timeout policy before you design anything. A 60-second idle timeout on a corporate proxy will silently drop your hub connection and you’ll spend a day chasing a “random” outage that’s actually a firewall setting.
Hub-and-spoke topology, direct connect, and how failover works
Every BACnet/SC node holds a primary hub URI and, ideally, a failover URI. It opens a WSS connection outbound to that hub, which then distributes messages to other connected nodes rather than relying on a broadcast domain. Addressing runs on VMACs (Virtual MAC addresses) rather than IP:port pairs, so discovery and routing behave differently to the BACnet/IP model integrators are used to.
Two connection modes matter in practice:
- Hub-and-spoke (NM-SCH-B) — the default; all traffic passes through a central hub.
- Direct connect (NM-SCDC-B) — nodes establish a peer-to-peer path for high-traffic pairs, bypassing the hub for that specific exchange.
The hub is a single point of failure unless you configure failover, which is why the standard supports a secondary hub URI on every node.
| Element | Role in the network |
|---|---|
| Hub (NM-SCH-B) | Accepts inbound WSS connections and fans messages between nodes |
| Node | Opens outbound WSS to primary hub; holds failover URI |
| Direct connect (NM-SCDC-B) | Peer-to-peer path for specific high-traffic node pairs |
| VMAC | Address used instead of IP:port for routing and discovery |
Bringing BACnet/SC into networks that still run BACnet/IP and MS/TP
BACnet/SC doesn’t replace BACnet/IP or MS/TP. It sits alongside them, connected through router devices that translate between the secure segment and the legacy network. An SC-to-BIP router secures the WSS side of the connection; it does nothing to protect the BACnet/IP segment behind it. The same applies to SC-to-MS/TP routers: the trunk itself stays exposed to whatever physical access controls already exist. That distinction matters when you’re scoping a legacy modernisation project, because “we added BACnet/SC” doesn’t mean the whole building is now secured end to end.
Three common migration patterns:
- Remote access gateway — a single SC node added at the network edge for secure remote management, leaving the rest of the BAS untouched.
- Phased device upgrade — replace field controllers with SC-capable versions over time, routed alongside the legacy segment.
- Full segment conversion — new-build or major refit projects run BACnet/SC natively, with routers only where legacy devices must be retained.
A workable migration checklist covers device inventory, perimeter hub placement, firewall egress rules for outbound WSS, and a certificate provisioning plan before a single device goes live.
Managing the certificate lifecycle so BACnet/SC doesn’t break in year two
Certificate management (NM-SCCM-A) is where BACnet/SC shifts real operational weight onto the integrator. Each device carries an operational certificate signed by a CA, plus a copy of the CA certificate itself. Provisioning and rotation happen through standard BACnet services, ReadProperty, WriteProperty, atomic file transfer, and ReinitializeDevice, rather than a separate management protocol.

You’ll face a genuine choice between a site-run CA and a public CA. A site CA gives you full control over issuance and revocation but means you own the infrastructure and the discipline to keep it running. A public CA offloads that trust chain but introduces external dependency and renewal costs across a fleet that might run for fifteen years.
Two failure modes account for most real-world outages:
- Certificate expiry — a device with an expired certificate fails TLS validation and drops off the network entirely.
- Clock skew — if a device’s internal clock drifts, certificate validity windows stop lining up correctly and connections fail even with valid certificates.
Pro Tip: Build automated rotation and a reliable time source into the project from day one, not as a retrofit. Then deliberately expire a test certificate in the lab and watch what actually happens to the device, because the failure behaviour on paper and in the field are rarely identical.
Deployment scenarios and a working implementation checklist
Three scenarios cover most real projects:
- Remote management via cloud hub — a hosted hub gives off-site engineers secure access without opening inbound firewall ports.
- New-build, secure-only environment — every device speaks BACnet/SC natively; no legacy routing required.
- Hybrid mixed-device building — SC segments coexist with legacy BACnet/IP and MS/TP via routers.
Before go-live, confirm each of these:
- Network egress policy allows outbound WSS to the hub address and port.
- Hub placement decided: cloud-hosted for remote reach, on-premise for latency-sensitive local operations.
- Failover hub configured and actually tested, not just documented.
- Router or gateway choice confirmed against the legacy protocols present on site.
- Device PICS checked for the specific BACnet/SC features you need.
- Certificate validation, NAT traversal, and TLS inspection all tested under the client’s actual network policy, not a clean lab network.
Reference implementations and tools worth testing against
BACnet International maintains a free, open source Reference Implementation and System Test Bench on SourceForge, built specifically to shorten the learning curve for suppliers new to BACnet/SC. It’s the closest thing to a canonical test partner when you need to validate your own device’s behaviour against a known-good implementation.
For shipping deployments, the CAS BACnet Stack is also worth evaluating because it gives vendors and integrators a practical route to implementing BACnet/SC features without building every layer from scratch. Even if you don’t use it in production, it’s useful as a benchmark for expected behaviour during development and interoperability testing.
In practice, your test plan should include more than protocol conformance. You want to validate certificate import, certificate renewal, failover hub switching, reconnect timing, behaviour under clock drift, and what happens when a corporate firewall or proxy interferes with long-lived WSS sessions.
- Use a reference hub and node pair to confirm your implementation can establish mutual TLS and exchange BACnet traffic correctly.
- Test against real network conditions, including NAT, packet loss, proxy policies, and idle timeout behaviour.
- Exercise lifecycle events such as certificate replacement, CA rollover, and failover hub activation.
- Document vendor-specific quirks early, because BACnet/SC interoperability issues often appear in edge cases rather than first connection.
Troubleshooting BACnet/SC: symptoms, causes, and first checks
BACnet/SC failures often look like generic connectivity problems, but the root cause is usually more specific: certificate trust, time synchronisation, hub reachability, or network policy. Because the transport is stateful and secured, a device can appear “online” at the IP layer while still being completely unavailable to the BAS application.
Start with the symptom, then work backwards through the trust chain and connection path:
| Symptom | Likely cause | First checks |
|---|---|---|
| Node won’t connect to hub | Bad certificate chain, wrong hub URI, blocked outbound WSS | Verify CA trust, DNS resolution, port reachability, and TLS handshake logs |
| Random disconnects | Proxy idle timeout, firewall session timeout, unstable WAN | Check network security appliances, keepalive behaviour, and reconnect intervals |
| Device dropped off after months | Certificate expiry or CA rollover issue | Inspect validity dates, renewal workflow, and certificate replacement history |
| Valid cert but handshake fails | Clock skew on node or hub | Compare system time, NTP status, and certificate not-before/not-after windows |
| Legacy devices still exposed | Router secures only the SC side, not BACnet/IP or MS/TP behind it | Review architecture and segment boundaries rather than assuming end-to-end protection |
A sensible first-response sequence for field engineers is:
- Confirm the hub is reachable from the affected node over the expected WSS port.
- Check certificate validity and trust on both sides of the connection.
- Verify device time against a reliable source.
- Review firewall, proxy, and TLS inspection policy for anything that could break mutual authentication.
- Test failover behaviour if the primary hub is unavailable or unstable.
Frequently asked questions
Does BACnet/SC replace BACnet/IP completely?
No. BACnet/SC is an additional secure transport option, not a forced replacement. In most real projects it coexists with BACnet/IP and MS/TP through routers and gateways, especially during phased upgrades.
Why is certificate management such a big deal?
Because trust in BACnet/SC is based on X.509 certificates rather than open broadcast communication. If certificates expire, are issued incorrectly, or can’t be validated, devices stop communicating. That makes lifecycle management a core operational responsibility.
Do I still need to worry about firewall rules?
Yes, but the conversation changes. Instead of opening inbound BACnet/IP ports and managing BBMD behaviour, you mainly need outbound WSS access from nodes to hubs, plus assurance that proxies or TLS inspection tools won’t interfere with mutual authentication.
Is one hub enough for a small site?
It may work functionally, but it creates a single point of failure. Even on smaller deployments, configuring and testing a failover hub URI is good practice if continuity matters.
Does adding an SC router secure the whole legacy BAS?
No. The secure boundary applies to the BACnet/SC side of the router. The BACnet/IP or MS/TP segment behind it remains subject to its existing security posture and physical or network controls.
What should integrators test before deployment?
At minimum: certificate provisioning, certificate renewal, failover hub switching, time synchronisation, outbound WSS reachability, behaviour under the client’s real firewall and proxy policy, and interoperability with any routers bridging to BACnet/IP or MS/TP.
Sources
- ANSI/ASHRAE 135 Annex AB / Addendum 135-2016bj — normative BACnet/SC definition.
- BACnet International — BACnet/SC reference implementation and system test bench.
- Chipkin — BACnet Secure Connect protocol overview and implementation notes.
- Transport Layer Security references — for understanding mutual TLS behaviour and certificate validation requirements.
- PODTECH project experience — practical deployment considerations across BMS/PMS integration and secure BAS modernisation.
Planning a BACnet/SC rollout?
PODTECH helps operators and integrators design secure BAS architectures, bridge legacy BACnet environments, and build certificate lifecycle management into deployment from day one.
Talk to PODTECH