S KomunikacjaNowościArtykuł
Nowości / Wiedza i technologie
Analiza pakietów wMBUS pod kątem zgodności ze specyfikacją OMS
Konwerter BKV511 / BKV521 wraz z odpowiednią aplikacją np. BKV511wMBUS Basic (darmowa aplikacja Android) pozwala na skanowanie oraz analizę "online" pakietów wMBUS w rzeczywistej lokalizacji. Poniżej przedstawiono przykładowe pakiety wMBUS jakie zostały zarejestrowane przez konwerter BKV511. Opisano również metodę określania czy zebrane pakiety wMBUS są zgodne ze specyfikacją OMS. Zgodność pakietu wMBUS ze specyfikacją OMS zapewnia nas, że dane przesyłane w pakiecie są jawne. Jawne czyli po deszyfracji kluczem AES jest możliwość ich parsowania (dekodowania do jawnej postaci).
Autor: SKomunikacjaAdmin
Konwerter BKV511 / BKV521 wraz z odpowiednią aplikacją np. BKV511wMBUS Basic (darmowa aplikacja Android) pozwala na skanowanie oraz analizę "online" pakietów wMBUS w rzeczywistej lokalizacji. Poniżej przedstawiono przykładowe pakiety wMBUS jakie zostały zarejestrowane przez konwerter BKV511. Opisano również metodę określania czy zebrane pakiety wMBUS są zgodne ze specyfikacją OMS. Zgodność pakietu wMBUS ze specyfikacją OMS zapewnia nas, że dane przesyłane w pakiecie są jawne. Jawne czyli po deszyfracji kluczem AES jest możliwość ich parsowania (dekodowania do jawnej postaci).
Przykładowy pakiet wMBUS:
5E 44 B8 05 25 85 02 00 01 03 7A D8 00 50 85 C6 1E 31 7C 9D C1 87 9B A2 30 30 1A CF 5C 1B 5C 60 16 AA B8 96 6F 7E E4 D9 2C F0 67 82 52 7F 5C 2E 6C 7E C1 BF 72 A6 96 FB AA CD D6 85 83 B8 C0 1F E2 21 B6 4B CB 98 DD D9 BC FC 89 C4 E3 AD 33 D4 EC 90 04 E4 18 4A 37 29 62 D7 8F 9B 2E 01 88
Opis zawartości pakietu wMBUS
Bajt | Pole wMBUS | Opis pola wMBUS | Wartość |
1 | L Field | Długość ramki (ilość bajtów w ramce) | 0x5E |
2 | C Field | Typ wiadomości SND-NR (wysyłanie spontaniczne bez potwierdzenia odbioru) | 0x44 |
3 | M Field | Kod producenta | 0xB8 |
4 | M Field | Kod producenta | 0x05 |
5 | A Field | Adres urzadzenia LSB | 0x25 |
6 | A Field | Adres urzadzenia | 0x85 |
7 | A Field | Adres urzadzenia | 0x02 |
8 | A Field | Adres urzadzenia MSB | 0x00 |
9 | A Field | Wersja | 0x01 |
10 | A Field | Typ urządzenia | 0x03 |
11 | CI | Nagłówek danych pakietu wMBUS dla specyfikacji OMS (zazwyczaj 0x7A lub 0x72) | 0x7A |
12 | ACC | Access No. - kolejny numer pakietu wartości od 0 do 255 | 0xD8 |
13 | Status | Status urządzenia wMBUS | 0x00 |
14 | Signature | Opis sposobu szyfrowania danych w pakiecie wMBUS | 0x50 |
15 | Signature | Opis sposobu szyfrowania danych w pakiecie wMBUS | 0x85 |
16 | Dane | pierwszy bajt danych | 0xC6 |
17 | Dane | drugi bajt danych | 0x1E |
18 | Dane |
| 0x31 |
19 | Dane |
| 0x7C |
20 | Dane |
| 0x9D |
| … |
|
|
94 | Dane | ostatni bajt danych | 0x88 |
Widzimy, że CI=0x7A co oznacza, że pakiet jest zgodny z OMS
Przykłady pakierów niezgodnych ze specyfikacją OMS:
19 44 01 86 67 76 43 35 04 08 A0 21 00 00 00 00 00 00 00 00 93 31 10 12 0C 12
1C 44 01 06 49 85 68 04 14 07 A1 66 00 2F 0A 66 00 00 B7 94 F6 2E BA 04 00 00 00 14 14
19 44 30 4C 40 18 70 41 CC 01 A2 01 1D 03 13 2C 44 E1 D1 64 C0 18 6F AC 19 83
Powyższe pakiety wMBUS mają CI odpowiednio równe 0xA0, 0xA1, 0xA2 czyli są to CI informujące, że dane są zapisane wg. specyfikacji producenta.
CI to dziesiąty bajt pakietu wMBUS definiuje czy pakiet jest zgodny ze specyfikacją OMS. w wielkim skrócie jeśli CI=0x7A lub CI=0x72 to mamy 100% pewność, że pakiet jest zgodny ze specyfikacją OMS. Jeśli pojawią CI=0xA0 do CI=0xAF to mamy 100% pewności, że pakiety nie są zgodne ze specyfikacją OMS. CI z powyższego zaksesu są specyficzne dla producenta urządzenia wMBUS.
W specyfikacji OMS po deszyfracji pakietu wMBUS kluczem AES widzimy dane pomiarowe w postaci jawnej. Każda dana pomiarowa poprzedzona jest znacznikami DIF oraz VIF
DIF określa format zapisania danych np. 32_Bit_Integer, 8_digit_BCD, 48 Bit Integer
Uwaga jeśli DIF=0x0F dane zapisane są zpisane w formacie specyficznym dla producenta (dane nie są jawne - tak więc nawet dla specyfikacji OMS dane mogą być niejawne, niestety). Niektórzy producenci udostępniają część danych w postaci jawnej a pozostałe w postaci nie jawnej.
Przykład pakietu z DIF=0x0F (niejawne dane producenta)
4A44B4092539372318068C00127AB6000000066D30266B2237000C13125702000F05000000000E0500FA0500170700210800110900030A00300000C500006C0100470200190300F5030000
Opis pakietu wMBUS dla przykładu powyżej - DIF=0x0F (niejawne dane producenta)
4A44B409253937231806 | pierwsze 9 bajtów pakietu wMBUS |
8C0012 | CI=0x8C tzw. ELL |
7A B6000000 | CI=0x7A nagłówek danych |
066D 30266B223700 | DIF & VIF dla jawnych danych |
0C13 12570200 | DIF & VIF dla jawnych danych |
0F05000000000E0500FA0500170700210800110900030A00300000C500006C0100470200190300F5030000 | DIF=0x0F po którym występują niejawne dane producenta |
Przykład pakietu z nagłówkiem zgodnym z OMS ale z całkowicie niejawnymi danymi:
3E 44 01 06 24 80 12 00 05 07 7A 93 00 30 85 2F 2F 0F 28 53 8C 98 0F 02 08 43 87 07 80 0D 65 98 88 A2 9A 02 04 00 00 10 23 00 00 00 71 01 23 00 00 00 23 00 00 00 A0 94 1E E9 03 FF FF 2C 90
Po deszyfracji pakietu wMBUS kluczem AES widzimy, że pierwszy DIF=0x0F czyli dane są niejawne (dane są zapisane wg. specyfikacji producenta)
Przykład pakietu wMBUS według specyfikacj OMS z całą zawartością zgodną z OMS
5E 44 B8 05 25 85 02 00 01 03 7A D8 00 50 85 C6 1E 31 7C 9D C1 87 9B A2 30 30 1A CF 5C 1B 5C 60 16 AA B8 96 6F 7E E4 D9 2C F0 67 82 52 7F 5C 2E 6C 7E C1 BF 72 A6 96 FB AA CD D6 85 83 B8 C0 1F E2 21 B6 4B CB 98 DD D9 BC FC 89 C4 E3 AD 33 D4 EC 90 04 E4 18 4A 37 29 62 D7 8F 9B 2E 01 88
Przykład parsowania (dekodowania) pakietu wMbus z całą zawartością zgodną z OMS
Description | Value | Storage No. | Tariff | Subunit |
Fabrication No | 2090651 | 0 | 0 | 0 |
Time & Date | 19.12.2024 11:03:00 | 0 | 0 | 0 |
Volume | 1487.39 m³ (uncorrected value) | 0 | 0 | 0 |
Time & Date | 01.12.2024 07:00:00 | 1 | 0 | 0 |
Volume | 1382.34 m³ (uncorrected value) | 1 | 0 | 0 |
Special supplier information | 8 | 0 | 0 | 0 |
Remaining battery | 1459 d | 0 | 0 | 0 |
Version | 554747342020 | 0 | 0 | 0 |
Parameter set identification | 2 | 0 | 0 | 0 |
Manufacturer specific | 19 | 0 | 0 | 0 |
Time & Date | 19.12.2024 11:03:32 | 0 | 0 | 0 |
Przykład informacji o pakiecie wMBUS pobrany z BKV511:
Manufacturer ID: 3424
Device ID: 25003356
Version: 1
Type: 7
Encryption Mode: Mode 5
Latest Frame: 2E4424345633002501077A64132025F844C1437B221EADC910198AE3409AAB55AE25FD2AEE7A2B0B7D20830D294749
Dodatkowe informacjeo pakiecie wMBUS udostępniane przez BKV511 po przeprowadzeniu analizy odebranego pakietu:
AES Key: | Klucz AES zapisany w konwerterze BKV511 - w BKV511 można zapiosać do 128 kluczy AES dla urządzeń wMBUS. Dzięki zapisanemu kluczowi BKV511 może deszyfrować pakiety wMBUS | |
Packet Count: | 9 | Ilość pakietów odebranych dla danego "device_id" w trakcie skanowania |
Packet Date: | 2025-07-11 | Data ostatniego odebranego pakietu |
Packet Time: | 07:38:57 | Czas ostatniego odebranego pakietu |
RSSI: | -38 dBm | Wartość RSSI odebranego pakietu, wartość RSSI określ jaka jest kondycja odbierania pakietów wMBUS z danego urządzenia wMBUS |
Packet Info: | C Mode 100 Format A | Tryb nadawania urządzenia wmbus |
Encryption Mode: | Mode 5 | Tryb użytego szyfrowania danych |
Decryption Status: | Packet Not Decrypted No Key Found | Informacja o deszyfracji pakietu wMBUS |
Galeria artykułu