Security Framework in DLMS Whitepaper - 2024
Security Framework in DLMS Whitepaper - 2024
Focusing on the critical need to safeguard data in smart energy ecosystems, the paper
outlines the security principles and methods that ensure end-to-end, application-level
cryptographic protection of messages and data, regardless of the communication medium
used. DLMS employs cutting-edge cryptographic algorithms from the Commercial National
Security Algorithm Suite (CNSA). By decoupling these algorithms from the security suite, DLMS
offers a future-proof solution for evolving security needs.
As the global energy sector increasingly adopts digital technologies, securing smart metering
and grid infrastructures is essential to ensuring both operational integrity and regulatory
compliance. This paper highlights DLMS/COSEM’s role in addressing these challenges, offering
robust and adaptable security that meets the growing demands of modern energy systems.
DLMS, short for Device Language Message Specification, is an international data model and
data format used for data exchange in smart energy and water management, advanced
sensing and monitoring and innovative smart metering. It aims to establish a standardized
data exchange model for transmitting data between smart devices and head-end systems
or amongst smart devices, in the energy or water sector.
3.5 Modeling
DLMS operates on a client-server paradigm, where the Head End System (HES) acts as a
client that sends requests to the end devices, which function as servers that respond to these
requests. Additionally, DLMS supports a push operation, allowing servers to send unsolicited
messages to clients.
A Head End System may comprise several client applications, each representing different
roles. Each physical end device, such as a utility meter, may contain several Logical Devices,
with each acting as a server. These servers provide specific views of the device’s resources –
i.e. the COSEM objects - to each client. Both clients and servers are uniquely identified by
their system title and Service Access Point (SAP).
Client and server applications communicate with each other within Application Associations,
which determine the rules of the exchange. Furthermore, third party applications can access
the servers through a client acting as an agent. The client manages and controls the access
rights of third parties to the servers.
The naming convention for COSEM objects is established by the Object Identification System
(OBIS). Each OBIS code identifies the application domain (e.g. electricity, gas, water, heat
energy metering...), the physical or abstract quantity (e.g. voltage, current, energy, power,
flow, volume, pressure, temperature...) and the manner in which the quantity is processed,
classified and stored.
COSEM and OBIS currently encompass utility metering, monitoring, consumption and
demand, payment processing and control of physical quantities. They can also be readily
extended to Internet of Things (IoT) applications beyond traditional utility metering.
The COSEM objects provide several mechanisms, such as selective access, compact data
types and compact encoding to ensure high efficiency.
The concept of AAs allows for selective application of protection, minimizing computation
and overhead. Critical data can be accessed in ciphered AAs whereas non-critical data
may be accessed in AAs that do not utilize ciphering. In ciphered AAs, the security policy
stipulates the protection to be applied on each message. Access rights to attributes and
methods may impose a stronger protection where necessary. Protection for requests and
responses may differ, for instance, authenticated encryption may be required for confidential
data been written to the server, while the result of that operation may not need the same
level of protection.
AAs can be either explicitly established or pre-established. Explicitly established AAs are
created and terminated using the services of the Association Control Service Element (ACSE).
In contrast, pre-established AAs, rely on a pre-agreed set of rules and capabilities.
Once an AA is (pre-)established, COSEM objects are accessed through the xDLMS services
provided by the xDLMS Application Service Element. These services can be request/response
types or unsolicited, supporting push operations and event/alarm notifications.
The xDLMS services offer various mechanisms, including the unified ACCESS service,
composable messages, and block transfer with streaming, to ensure high efficiency.
3.8 Transport
The transport of DLMS messages is defined by
communication profiles. A communication profile
specifies the set of protocol layers and the binding DLMS Communication Profile Stack
between the media-specific lower layers (e.g. PHY, Specifications
MAC, Link ) to the network and transport layers. The - 3-layer HDLC;
binding is often specified in an adaptation layer - TCP-UDP/IPv4/IPv6;
that may include routing and compression - S-SFK PLC, G3-PLC, PRIME PLC,
functionalities. The top layer is always the High speed PLC;
DLMS/COSEM application layer. - EN 13757 M-Bus wired and
Specific COSEM objects may also be defined to wireless;
facilitate the set-up, monitoring and diagnosis of the - Euridis twisted pair;
communication. The media-specific lower layers - Mesh network;
typically provide their own security mechanisms - Wi-SUN, LPWAN, LoRaWAN
which protect the messages across the link and that
complement the application-level security offered
by DLMS.
Data exchange may occur directly between a Head End System (HES) acting as a client,
and a smart device or meter, acting as a server (or set of servers). Alternatively, data
exchange can take place indirectly through gateways or concentrators located in between.
Different sections of the communication path may utilize different communication media,
and the protection provided by the lower layers typically extends only between the two
endpoints of a link. To address these concerns, DLMS offers end-to-end, application-to-
application security, applying protection at the source application and verifying and
removing it at the destination application.
Entity authentication is available with explicitly established AAs. Once the message
exchange phase is complete, the AA is released.
Protection is applied and removed in a layered manner, with each layer defining the
involved parties and the type of protection required. This protection may include
authenticated encryption using symmetric key cryptography or digital signatures employing
public key cryptography.
The mechanism is modelled using the Image Transfer COSEM object, which provides
attributes and methods for initiating the image transfer, transferring image blocks, filling any
gaps that may occur during the transfer, verifying the transferred image and activating it.
The initial image transfer and black transfer can occur via broadcast or multicast. However,
filling the gaps, verification and activation processes are performed using unicast.
For example, unified ACCESS services allow reading and writing multiple attributes and
invoking several methods in a single request/response exchange, aggregating numerous
operations into one. To protect the ACCESS service, security computations are performed
only once, and the overhead is transferred only once. If an aggregated message becomes
lengthy, compression and block transfer mechanisms can be applied.
For additional information, please refer to the DLMS UA Efficiency White Paper.
4.9 Security Algorithms, Security Suites, Security Policy, Security Keys and
Security Algorithms
DLMS uses a variety of security algorithms to provide security services:
• Confidentiality and Data Integrity: The AES-GCM algorithm is used to provide
encryption only, authentication only, or both, a method known as authenticated
encryption.
• Digital Signature: The ECDSA elliptic curve digital signature algorithm is utilized for
creating digital signatures.
• Key Transport: The Key Wrap algorithm for securely transporting keys.
• Key Agreement: The ECDH elliptic curve Diffie-Hellman Key Agreement algorithms
facilitate key agreement.
• Hash Algorithms: These are used as part of the digital signature and key
agreement algorithms.
The rationale behind selecting these algorithms is described in detail in the DLMS UA Green
Book.
This set of the security algorithms is referred to as the NSA Suite B, which has evolved into the
Commercial National Security Algorithm (CNSA) Suite.
The concept of security suites ensures that the DLMS security specification remains future
proof: the security mechanisms can seamlessly integrate with new security suites that may
need to be introduced in the future, allowing them to keep pace with advancements in
cryptography.
For authenticated encryption and key transfer, symmetric key algorithms are used,
necessitating that both parties share the same key. Symmetric keys can be categorized by
their purpose and lifespan. The purposes of symmetric keys include:
• Key Encryption Key, KEK, also known as master key, is used to encrypt and decrypt
other symmetric keys.
• Encryption Key is utilized to encrypt and decrypt DLMS messages or COSEM data.
The AES-GCM algorithm requires a single block cipher key to provide both
encryption and authentication.
• Authentication Key. In addition to the encryption key, an authentication key may
be used. This key, combined with the header of the ciphered message or data,
constitutes part of the Additional Authenticated Data.
5 Conclusion
This White Paper has outlined the DLMS security framework, emphasizing its end-to-end,
application-to-application security concept, the rationale behind this approach, and the
various security mechanisms that support it.
For a deeper understanding of the implementation and operation of DLMS-based systems,
readers are encouraged to refer to the DLMS UA Books. These resources provide
comprehensive guidance on the security protocols, key management practices, and
practical considerations necessary for successfully deploying and maintaining secure DLMS
environments.
By adhering to the principles and best practices detailed in these references, organizations
can enhance their security posture and ensure the integrity and confidentiality of their data
exchanges within DLMS frameworks.
7 Definitions
• DLMS/COSEM: refers to the application layer providing xDLMS services to access
COSEM interface object attributes. Also refers to the DLMS/COSEM Application
layer and the COSEM data model together.
• Client: application process running in the data collection system
• Server: an application process running in a metering equipment
• Logical device: abstract entity within a physical device, representing a subset of
the functionality modelled with COSEM objects
• Mutual authentication: entity authentication which provides both entities with
assurance of each other's identity
• Application Association: cooperative relationship between two application
entities, formed by their exchange of application protocol control information
through their use of presentation services
• Access rights: they determine the rights of the client(s) to access COSEM object
attributes and methods within an AA
• Image: binary data of a specified size
• Security services: mechanisms used to provide confidentiality, data integrity,
authentication or non-repudiation of information
• Symmetric key algorithm: a cryptographic algorithm that uses the same secret
key for an operation and its complement (e.g., encryption and decryption)