Jste zde

KNX Data Secure – Část 1: Teorie

Je to již několik let, co KNX organizace přidala ke stávající komunikaci bezpečnostní prvky, které celou sběrnici chrání před útoky nezvaných hostů. Pojďme se na tuto problematiku podívat podrobněji, a to ve dvou na sebe navazujících článcích. Nejdříve si povíme něco o teorii, a pak si uvedeme praktické zkušenosti KNX Data Secure v programu ETS.

Proč vůbec KNX Data secure vzniklo a k čemu jej potřebujeme? Systém KNX je schopen zvládnout jednoduché kontrolní a monitorovací úkoly a usnadňuje mnoho každodenních úkolů prostřednictvím přidané inteligence a automatizace. Vývoj automatizace se v posledních letech zrychlil a její možnosti se rozšířili o vizualizaci na mobilních telefonech a také o možnost konektivity přes KNXnet / IP. Také dochází k vylepšení KNX RF, které umožňuje další rozšíření sběrnice. Každé rozšíření systému sebou nese potenciální bezpečnostní rizika, a tak je důležité na tyto rizika včas reagovat.

KNX Data Secure podepisuje a šifruje komunikaci v síti KNX a zajišťuje bezpečný datový přenos telegramů. Komunikace v průběhu procesu uvádění do provozu s ETS (tzv. commisioning) i runtime komunikace mezi zařízeními a s vizualizacemi je tak zabezpečená. Koncept zajišťuje, že všechny nebo pouze vybrané telegramy KNX jsou autentizovány a šifrovány bez ohledu na použité médium. Komunikaci mezi odesílatelem a příjemcem tedy nelze interpretovat ani s ní manipulovat. KNX Data Secure tedy účinně chrání uživatelská data před neoprávněným přístupem a manipulací.

Základní pravidla ochrany KNX sběrnice

Nejjednodušší způsob, jak ochránit data na sběrnici je zamezení nezvanému útočníku, aby se fyzicky ke komunikačnímu médiu dostal. Existuje proto několik pravidel, které je vhodné dodržovat.

  • Rozvaděče obsahující zařízení KNX musí být řádně uzavřeny nebo namontovány v místnostech, do kterých mají přístup pouze oprávněné osoby.
  • Ve venkovních prostorách musí být zařízení namontována v dostatečných výškách (např. Meteorologická stanice, senzor větru, detektor pohybu, ...) na střeše.
  • Ve všech veřejných prostorách, které nejsou dostatečně monitorovány, je vhodné použit standardní zařízení jako je tlačítko připojené na KNX binárními vstupy namontovanými v chráněných oblastech. Tím se zamezí přímému přístupu na sběrnici.
  • Konce kabelů by neměly být viditelné, visící mimo zeď na vnější nebo vnitřní straně budovy.
  • Pro zvýšenou ochranu lze KNX zařízení instalovaná venku nebo podzemním parkovišti připojit přes samostatnou větev sběrnice a tuto větev (linii) oddělit knx line couplerem, který je schopen filtrovat jednotlivé komunikační adresy. Tím se zabrání tomu, aby hacker získal přístup k celé instalaci.

Základní topologie KNX sběrnice s KNX data secure

Základní topologie KNX umožňuje smíšený provoz zabezpečené a nezabezpečené komunikace na senzoru nebo akčním členu prostřednictvím různých komunikačních objektů. Zabezpečená a nezabezpečená komunikace prostřednictvím jednoho komunikačního objektu není ale možná!

Obrázek 1. Topologie TP se zabezpečenou i nezabezpečenou komunikací (Zdroj: www.gira.com)

Obrázek 2. Topologie TP se zabezpečenou i nezabezpečenou komunikací a KNX vazebními členy (Zdroj: www.gira.com)

Obrázek 3. Topologie TP se zabezpečenou i nezabezpečenou komunikací s KNX RF (Zdroj: www.gira.com)

Obrázek 4. Topologie TP se zabezpečenou i nezabezpečenou komunikací s připojením na páteřní linku IP (Zdroj: www.gira.com)

Zajištění bezpečné komunikace

KNX data secure používá k zajištění bezpečné komunikace čtyři základní pilíře, které nejsou novinkou ve světě bezpečnostních technologií. Bylo potřeba je upravit a použít tak, aby vyhovovali KNX standardu. Jedná se o:

  • Data Integrity – Integrita dat
  • Freshness – Čerstvost dat
  • Authentication – Ověření dat
  • Confidentiality – Důvěrnost jednotlivých telegramů

Data Integrity

Integrita dat účinně brání útočníkovi v získání kontroly nad systémem KNX. Zabraňuje manipulaci s telegramy nebo zadávání dalších (nesprávných) informací. To se provádí vložením šifrovaného ověřovacího kódu do každého telegramu. Příjemci mohou pomocí tohoto kódu ověřit, zda nebyla zpráva nelegálně upravena. KNX Data Secure používá k zajištění integrity dat „režim CBC-MAC“ se 128bitovým šifrováním AES. Ke zprávě je připojen „ověřovací kód zprávy“ (MAC). Tento ověřovací kód podepisuje všechny informace obsažené v telegramu, aby bylo možné detekovat manipulaci s daty.

Freshness

Neboli čerstvost dat zabrání útočníkovi v záznamu telegramů a později jejich opětovné použití. To spolehlivě zabrání opakování telegramů ke spuštění známých akcí v systému KNX (např. Otevření garážových dveří prostřednictvím nelegálně zaznamenaného jedno bitového příkazu). Přijemce vyhodnotí pouze „čerstvé“ telegramy od odesílatele. V kombinaci s integritou dat je „čerstvost“ účinnou metodou zabezpečení, která zabrání neoprávněnému přístupu ke sběrnici KNX, pokud osoba nelegálně získá sekvence telegramů.

Čerstvost je zajištěna pomocí 6 bajtového čísla nazývaného pořadové číslo přenosu. Zabezpečený komunikační aktuátor (příjemce) vyhodnotí skupinový telegram jako platný pouze v případě, že obsažené pořadové číslo odesílatele (např. Tlačítko) je alespoň o jednu hodnotu vyšší než poslední přijatá hodnota stejného odesílatele. Telegramy, které mají nižší nebo stejnou hodnotu, příjemce odmítne. Pořadové číslo přenosu nemusí být vždy přesně o jednu hodnotu vyšší (n + 1). Je důležité, aby číslo bylo spojité (n + x).

Během hlavního resetu zařízení se automaticky nastaví pořadové číslo přenosu na počáteční hodnotu. Proto je nutné pomocí konfiguračního programu ETS detekovat resetovací zařízení a nahradit počáteční hodnotu platným pořadovým číslem přenosu pomocí předem definované metody. To samé se musí provést, pokud vyměňujeme zařízení v KNX instalaci.

Authentication

Autentizace se používá k ověření totožnosti telegramu. Zajišťuje, že zdrojem telegramu je skutečně autorizovaný komunikační partner. Příjemce odmítne přijatý pověřovací nebo skupinový telegram, pokud není známa zdrojová adresa (fyzická adresa) telegramu.

Identita přijatého telegramu se ověřuje prostřednictvím fyzické adresy odesílatele (zdrojová adresa). Příjemce autorizuje telegram pouze v případě, že adresa zdroje byla zadána do speciální komunikační tabulky. Všichni účastníci podporující KNX Data Secure mají komunikační tabulku. Tabulka je automaticky programována pomocí ETS během uvádění zařízení do provozu. Tabulka obsahuje kombinaci fyzických adres povolených komunikačních partnerů a jejich pořadových čísel přenosu. Telegramy s adresamy, které nejsou zadány do komunikační tabulky, jsou příjemci odmítnuty.

Všichni účastníci, kteří mají navzájem správně komunikovat musí být řádně nakonfigurovány pomocí ETS. Proto se konfigurace jednotlivých zařízení provádí až po dokončení návrhu celého projektu! Správný stav programování všech zařízení v projektu ETS lze určit pomocí programovacích příznaků.

Confidentiality

Důvěrnost telegramů zabraňuje čtení telegramů za běhu a během uvádění do provozu pomocí šifrování. To znamená, že hackeři již nemají přístup k přenášeným instalačním datům KNX. Už není možné interpretovat obsah telegramů (např. ZAP, VYP či hodnotu úrovně jasu) bez použití skupinových nebo ETS klíčů.

K šifrování telegramů se používají algoritmy AES-128-CCM se symetrickými klíči. S KNX Data Secure jsou šifrovány informace datového protokolu (APCI) a užitečné zatížení neboli payload telegramu. Hlavička telegramu, zdrojová a cílová adresa jsou přenášeny ve formátu prostého textu.

Nové pojmy a prvky

S příchodem KNX Data Secure jsou instalační inženýři, integrátoři a uživatelé ETS konfrontováni novými termíny a prvky, které dříve neexistovaly, ale které jsou obzvláště důležité k pochopení, jak KNX data secure funguje.

  • FDSK key (Factory-Default-Setup-Key)
  • Tool key
  • Run time key
  • Device Serial number
  • Device Certificate
  • Master reset

Obr.5. Proces přidělování klíčů KNX data secure (Zdroj: www.knx.org)

FDSK key (Factory-Default-Setup-Key)

Factory-Default-Setup (FDSK) klíč se používá pro počáteční uvedení do provozu knx data secure zařízení pomocí ETS. FDSK klíč se již při úvodním zabezpečeném uvedení do provozu při zapsaní fyzické adresy stává neplatným a je nahrazen klíčem Toolkey. Klíč FDSK je 128 bitů dlouhý a je jedinečný pro každé zařízení. FDSK je součástí certifikátu, který je k zařízení dodáván. FDSK klíč se po naskenování do ETS (uvedeme si v druhém díle), stává součástí projektu a je k dispozici v čitelné formě v záložce Security.

 

Obrázek 6. FDSK klíč a sériové číslo je viditelné v záložce Security daného projektu, chráněného heslem. Je vidět, ke kterému zařízení je klíč a sériové číslo přiřazeno.

Pokud projekt ETS obsahuje zařízení s knx data secure, je okamžitě vyžadováno zabezpečení projektu pomocí hesla, aby neoprávněná osoba neměla k projektu přístup. V případě, že certifikát zařízení a následně FDSK je ztracen, zařízení již nemůže být bezpečně uvedeno do provozu pomocí ETS v jiných projektech! Může být použito jen jako nezabezpečené zařízení.

Toolkey

Toolkey používá ETS výhradně k programování zařízení. Je také 128 bitů dlouhé, jedinečný pro každé zařízení v projektu a nahrazuje FDSK již při prvním uvedení do provozu. ETS poté použije Toolkey pro každý konfigurační proces v zabezpečeném režimu. Toolkey je archivován v projektu ETS v nečitelné podobě pro uživatele ETS, protože je potřebný jen pro procesy v ETS (například při konfiguraci zařízení). Pokud je projekt exportován, ETS zapíše všechny Toolkeys projektu v zašifrované a podepsané podobě do souboru *.KNXPROJ, který je také chráněn heslem.

Run time key

Runtime Keys se také někdy nazývají Group Keys. Jsou to klíče AES pro komunikaci skupinové adresy v runtime režimu. V projektu ETS má každá skupinová adresa svůj vlastní 128bitový Run time klíč. Stejně jako u Toolkey se runtime klíče archivují v nečitelné podobě v projektu ETS a při exportu projektu se zapisují do souboru v chráněné zašifrované podobě.

V případě potřeby lze všechny nebo vybrané runtime klíče projektu exportovat do speciálního exportního souboru chráněného heslem (*.knxkeys). Někdy se pro tento soubor používá název „klíčenka projektu“. Tento soubor se nesmí dostat do cizích rukou, jelikož obsahuje všechny potřebné informace pro rozklíčování jednotlivých telegramů na sběrnici.

Device Serial number

Sériové číslo zařízení o velikosti 6 bajtů slouží pro jedinečnou identifikaci daného zařízení. Sériové číslo se určuje individuálně ve výrobě (jedinečné pro každého výrobce a zařízení). Je trvale vepsáno do zařízení. Toto číslo nelze v zařízení změnit. Sériové číslo je společně s FDSK klíčem součástí certifikátu daného zařízení.

Obrázek 7. Formát sériového čísla na KNX tlačítku

Device Certificate

Certifikát zařízení je řetězec 36 znaků, který obsahuje FSDK klíč a sériové číslo. Certifikát musí být před uvedením do provozu nahrán (naskenován) do ETS. Konfigurační program ETS pak odvodí z certifikátu FDSK klíč a odpovídající sériové číslo. Certifikáty jsou vytištěny na odnímatelných štítcích přímo na zařízení. Tyto štítky musí být ze zařízení odstraněny během montáže a bezpečně uloženy! Tady nevím, jak to v praxi bude vypadat. Pokud se bude jednat o hotel s několika tisíci knx zařízeními, nedovedu si představit takovou dokumentaci a přehled v jednotlivých archivačních listech s tísíci nálepkami.

Obrázek 8. Certifikát umístěný na zařízení (vlevo), přiložená nálepka s certifikátem (vpravo)

Master reset

Master reset je funkce pro resetování zařízení do počátečního továrního stavu. Při provedení master resetu jsou všechna data a uživatelská nastavení ztracena. Konfigurace se nastaví do výchozího nastavení, fyzická adresa se inicializuje na 15.15.255, všechny runtime klíče a toolkey klíče se vymažou. FDSK klíč se navíc v zařízení opět aktivuje. Zařízení je tak možné pomocí certifikátu znovu přiřadit do příslušného projektu pomocí ETS. Firmware zařízení není ovlivněn master resetem. Spouštění a signalizace master resetu není definováno KNX organizací, ale musí být podrobně popsáno v příslušné dokumentaci daného produktu.

Jak poznat KNX data secure zařízení?

Zařízení, která podporují KNX Data Secure, lze identifikovat pomocí označení „X“ na štítku produktu. Myslel jsem, že je to striktně dané, ale realita je jiná. Každý výrobce si toto označení dělá po svém. Zařízení od Gira nebo JUNG jsou označena symbolem štítu „Secure Shield“. Zařízení od společnosti Schneider Electric jsou označena symbolem zámečku. Zařízení od Weinzierlu nebo Thebenu jsou označena pouze symbolem „X“.

Obrázek 9. Značení KNX data secure na jednotlivých zařízeních (Weinzierl, Gira, Schneider Electric)

Závěr

KNX data secure zařízení teprve začínají být v nabídce jednotlivých výrobců. Nicméně jsem zvědav na její uplatnění v praxi a jejich přínos pro uživatele. V příštím díle si uvedeme jak knx data secure zařízení přiřadit do konfiguračního nástroje ETS a něco málo si povíme o možnostech testování knx data secure zařízení.

 

Hodnocení článku: