DLMS/COSEM Master Key Renewal via Class 64 (Security Setup) Key Wrap
-
Updating Global Encryption Keys (GUEK / GAK) in the Field
To rotate encryption keys remotely without exposing plaintext material over the air, DLMS utilizes NIST SP 800-38F / RFC 3394 AES Key Wrap.
Key Renewal Procedure
- Establish an authenticated and encrypted session using the current Master Key (KEK - Key Encrypting Key).
- Wrap the new 128-bit Global Unicast Encryption Key (GUEK) using AES Key Wrap with the KEK.
- Invoke Method 1 (
key_transfer) on theSecurity Setupobject (0.0.43.0.0.255
- Data parameter: Structure containing
key_id(e.g., 0 for Global Encryption Key) and wrapped key octet-string (24 bytes).
- Data parameter: Structure containing
- The meter decrypts and verifies the wrapped key. Upon success, all subsequent associations must use the newly installed GUEK.
-
In meter firmware, always perform an atomic commit: If the new key verification passes, save to secure NVM and trigger an audit event log in Class 7 (
Security Event Log). If power is lost mid-transfer, fallback safely to the previous key.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better đ
Register Login