I am trying to connect and read/write data from a meter using DLMS over UDP. I cannot use Gurux DLMS Director because the meter has a dynamic IP address, so I am reusing the UDP connection to my server to send the requests to the meter. However, I am facing issues, and I haven’t been able to read anything so far.
To debug, I am using the Gurux Translator within Director to check the decryption, but it fails. These are the parameters I set:
Security: Encryption only (No authentication)
Keys: Properly set for encryption
Frame Counter: Managed correctly
System Title: Extracted correctly from the message
However, I still get an "Invalid authentication tag" error, even though I am not using authentication. If I remove the authentication key, even I am not setting Authentication, it fails as well
I am now running out of ideas and unsure what else I can try. Could someone please guide me on how to proceed and unblock this situation?
I appreciate any help or suggestions!
This is the UDP message I get form the meter:
# To convert message to Xml:
# Paste or type DLMS hex-string example from GXDLMSDirector log into the text area and then press the "Translate" button.
# Example:
00 01 00 01 00 01 00 F2 DB 08 B4 4C 79 23 01 03 00 07 81 E6 30 00 00 00 D6 03 A0 2D 10 B5 B9 A7 12 C7 DD 78 DB 84 C3 91 22 86 2C C5 E3 4D DB 77 EF 83 3B 59 4B 04 9A 9F 29 14 65 6C 70 7D 4D 81 6F 41 46 95 0B F9 1E 69 D1 44 55 FA AA 54 8F 9B 1A 2D 4D 96 BC 2F 91 EC 48 A5 35 FF FB DA 63 43 A8 7F B6 B5 8A 4E 1C F2 9E 31 04 A3 D0 B1 A4 17 81 57 FE DF 00 67 02 DE 3C 11 29 4D 90 19 50 05 10 48 A7 C4 33 AE 33 D2 D0 98 E2 82 0A 98 0A BC 13 31 B8 9E 0D 43 EC EA 6F 5E BD 64 5A D3 A4 FB 20 2C 82 6B E7 9D E6 A3 B1 45 70 72 5C 8A 20 89 1C EF 1A 78 A4 F4 41 85 FF 5D 2D A2 7A 2C D8 81 05 47 E5 D8 EF FF 64 3C FF 73 4D 33 A0 3B CE F7 0F 3F 0B 00 6A EB 86 91 CA EB 18 C4 58 10 DC F3 B3 EB CF BB 99 F4 23 3C BA 73 E4 50 3E 9F F6 05 38 77 00 F1 A7 C9 5F F7 46 10
This is the ciphering settings
- Security Suite: suite0
- Security: Encryption
- System Title: ASCII format as “SACSACSA”
- Pre-established System Title: B4 4C 79 23 01 03 00 07
- Block Cipher Key: 83 1A 17 11 6C 24 9E 49 44 52 ED DA AD 33 E0 A1
- Invocation counter: 0
The block cipher key and pre-established system title are correct since we are deciphering with library System.Security.Cryptography but I want to do it with Gurux libraries, the whole process
Thanks in advance.
This is the result I get…
This is the result I get when I try to decipher the message within Translator tool:
BlockCipher key: 83 1A 17 11 6C 24 9E 49 44 52 ED DA AD 33 E0 A1
1: 00 01 00 01 00 01 00 F2 DB 08 B4 4C 79 23 01 03 00 07 81 E6 30 00 00 00 D6 03 A0 2D 10 B5 B9 A7 12 C7 DD 78 DB 84 C3 91 22 86 2C C5 E3 4D DB 77 EF 83 3B 59 4B 04 9A 9F 29 14 65 6C 70 7D 4D 81 6F 41 46 95 0B F9 1E 69 D1 44 55 FA AA 54 8F 9B 1A 2D 4D 96 BC 2F 91 EC 48 A5 35 FF FB DA 63 43 A8 7F B6 B5 8A 4E 1C F2 9E 31 04 A3 D0 B1 A4 17 81 57 FE DF 00 67 02 DE 3C 11 29 4D 90 19 50 05 10 48 A7 C4 33 AE 33 D2 D0 98 E2 82 0A 98 0A BC 13 31 B8 9E 0D 43 EC EA 6F 5E BD 64 5A D3 A4 FB 20 2C 82 6B E7 9D E6 A3 B1 45 70 72 5C 8A 20 89 1C EF 1A 78 A4 F4 41 85 FF 5D 2D A2 7A 2C D8 81 05 47 E5 D8 EF FF 64 3C FF 73 4D 33 A0 3B CE F7 0F 3F 0B 00 6A EB 86 91 CA EB 18 C4 58 10 DC F3 B3 EB CF BB 99 F4 23 3C BA 73 E4 50 3E 9F F6 05 38 77 00 F1 A7 C9 5F F7 46 10
offset
Okay, I think I was able to…
Okay, I think I was able to decipher. I just set the Authentication key the same as the Block cipher key. I didn't know it would accepted but I think it worked. Can you please confirm?
Thanks so much in advance!
Hi, That depends on the…
Hi,
That depends on the meter. Some meters use the same key for block cipher and authentication. Most of the meters have different key for the block cipher and authentication. The correct keys should be on the meter documentation.
BR,
Mikko