SCADA · IEEE 1815

DNP3 Security & Secure Authentication v5 Explained

DNP3 (Distributed Network Protocol 3) is the primary SCADA communication protocol for electric utilities, water systems, and oil & gas pipelines across North America and beyond. It operates at port 20000/TCP and 20000/UDP, and like Modbus, its base specification includes no authentication.

Unlike Modbus, DNP3 has an official security extension: Secure Authentication (SA), defined in IEEE 1815. SA v5 (2012) uses HMAC-SHA-256 challenge-response to authenticate critical commands. SA v6 (2024) adds asymmetric key support. However, most deployed systems still run base DNP3 without SA.

Protocol Stack

DNP3 defines three layers: Physical (serial or Ethernet), Data Link (frame delimiting + CRC), and Application (function codes, data objects). The application layer supports unsolicited responses — outstations can push data to masters without being polled, which introduces the risk of unsolicited responses to unauthorized destinations.

Security Vulnerabilities (Base DNP3)

DNP3 Secure Authentication v5

SA v5 adds a challenge-response layer above the existing DNP3 application layer. When an outstation receives a critical command (OPERATE, DIRECT_OPERATE), it issues a challenge containing a 4-byte random nonce. The master must respond with an HMAC-SHA-256 MAC that covers both the challenge and the command payload. The outstation verifies the MAC before executing.

FeatureSA v5 (IEEE 1815-2012)SA v6 (IEEE 1815a-2024)
Key typeSymmetric (shared Update Key)Symmetric + asymmetric (ECDH)
MAC algorithmHMAC-SHA-256HMAC-SHA-256, AES-GMAC
Replay protectionYes — 4-byte nonce per challengeYes — enhanced
PKI supportNoneX.509 certificate-based

Real-World Incidents

Defences

ControlSREffect
DNP3 Secure Authentication v5SR 3.1HMAC-SHA-256 on all OPERATE commands
Network segmentationSR 5.1RTUs on isolated field zone VLAN
OT-aware IDSSR 6.2Alert on OPERATE from non-master IPs
IEC 62351-5 TLSSR 4.1Encrypted DNP3 over TCP for WAN links
⚡ Explore DNP3 in ICSora Labs

Inspect DNP3 frame structure, walk through SA v5 challenge-response, and simulate a replay attack against an unauthenticated outstation.

Open DNP3 Protocol Lab →