Kontaktné údaje
- info@ipesoft.com
- +421 907 703 854
- Obchodná 9076/3D
010 08 Žilina
Slovensko
© Copyright IPESOFT 2023

V minulosti som sa už venovali M-Bus komunikácii v samostatnom blogu. Dnes popíšem konfiguráciu komunikácie s použitím nového prevodníka firmy JC Elektronika, ktorý umožňuje zabezpečenie komunikácie. Firma v najbližšej dobe uvedie na trh novú radu Ethernetových prevodníkov typu SECURE. Na test sme mali zapožičaný najmenší typ EthMBus-3SL SECURE pre tri merače.
V čom spočíva avizované zabezpečenie? V zásade ide o vylepšené (hardvérovo aj softvérovo) a na DIN lištu určené prevodníky, ktoré podporujú aj komunikáciu cez TCP spojenie kryptované TLS1.2.
Ku prevodníku bol počas testu pripojený batériou napájaný 1-kanálový čítač impulzov od firmy Relay.

Na obrázku si môžete všimnúť minimálnu šírku M-Bus prevodníka; dokonca aj Ethernet konektor na spodnej strane je osadený o 90°pootočený. Tento prevodník podporuje konfiguráciu cez webové rozhranie (http aj https), telnet a cez XML súbor.

Pokiaľ sa nakonfiguruje na linke protokol ako Tunnel, v konfigurácii na záložke Tunnel je možné nastaviť parametre tohto tunela. Pre nastavenie prevodníka do režimu server vyberieme menu Accept Mode, povolíme tento režim (napr. Mode = Always) a nastavíme mód SSL ako aj číslo TCP portu (na obrázku 10001). Je podporený aj SSH mód (zabalenie komunikácie SSH spojenia).

V záložke SSL je možné importovať privátny kľúč + certifikát pre M-Bus prevodník, alebo je možné ho vygenerovať priamo vo webovom rozhraní. Ďalej je možné importovať certifikát autority, ktorý je potrebný v režime klient s overením certifikátu servera. To umožňuje M-Bus prevodníku, aby komunikoval iba s dôveryhodným serverom, ktorého certifikát je zhodný s nahraným certifikátom. Je možné nahrať viac certifikátov serverov.

Ako vyzerá konfigurácia komunikácie v D2000 v režime klient?
Okrem IP adresy M-Bus prevodníka a TCP portu (10001) sú nakonfigurované aj certifikát a súkromný kľúč klienta, ako aj certifikát M-Bus prevodníka (kvôli overeniu dôveryhodnosti a zabráneniu man-in-the-middle útoku). Tento certifikát sme získali z prevodníka pomocou webového prehliadača po pripojení sa k nemu cez https protokol (certifikát je rovnaký pre https ako pre SSL komunikáciu). V produkčných podmienkách by sme tento certifikát generovali a podpisovali na zabezpečenom firemnom serveri a importovali do D2000 a do prevodníka (tu aj so súkromným kľúčom).

Pri prvom teste komunikácie sme zistili jeden neočakávaný fakt. OpenSSL verzie 1.3, ktoré používa D2000 KOM proces, mal problém so staršou implementáciou SSL, ktorú obsahoval M-Bus prevodník. SSL spojenie sa nenadviazalo, ale došlo k výpisu chybovej hlášky:
L.MBUS_JC TLS connect error to 169.254.100.10, Message = unsafe legacy renegotiation disabled
Kvôli kompatibilite bolo teda nutné nahradiť aktuálnu verziu TLS 1.3 (libcrypto-3-x64.dll a libssl-3-x64.dll) verziou TLS 1.1 (libcrypto-1_1-x64.dll a libssl-1_1-x64.dll). Do budúcna musíme pouvažovať, ako by sme vedeli v rámci jedného D2000 KOM procesu prevádzkovať paralelne aktuálne TLS 1.3 (ktoré môže byť nutné napr. na pripájanie sa k D2000 Serveru, ak je vyžadované zabezpečené TLS pripojenie) a staršie verzie TLS, ktoré môžu vyžadovať jednotlivé komunikácie.
Po rozbehaní samotnej komunikácie sme zistili ešte jeden drobný problém. D2000 KOM vypisoval hlášky o nepodporenej 48-bitovej Integer hodnote. Takže sme implementáciu M-Bus protokolu vylepšili a pridali podporu pre 48-bitový a 64-bitový Integer.

V ladiacich výpisoch je možné si všimnúť výpisy prijatých dát včítane identifikátora výrobcu s adresou 0.1 (viď meraný bod M.MBUS_JC.01):
Adr.0.1,Manufacturer,Val='REL'
Najdôležitejší údaj, samotná hodnota energie, je na adrese 1 (meraný bod M.MBUS_JC.1.0):
Adr.1,DF:06H (48 bit int)(inst. val),VIF:03H=Energy 552505*10^0 [Wh],Val:552505
Záver
Podpora TLS nielen v testovanom M-Bus prevodníku, ale aj v rôznych sériových serveroch je určite krok správnym smerom – smerom k zvyšovaniu zabezpečenia komunikácie medzi meračmi a SCADA systémami. A mňa teší, že aj na strane aplikačného servera Ipesoft D2000 sme na tento krok pripravení a vieme na linkách typu TCP/IP TCP a TCP/IP TCP Redundant konfigurovať TLS zabezpečenie.
Ďakujem firme JC Elektronika za zapožičanie M-Bus prevodníka a čítača impulzov a za možnosť vytvoriť tento blog.
18.12.2025, Ing. Peter Humaj, www.ipesoft.com