KNX Data Secure protegge i singoli telegrammi KNX da un'estremità all'altra. Il dispositivo mittente cifra e autentica ogni telegramma; solo i dispositivi con la chiave corretta possono leggerlo o agire in base a esso, sia che viaggi su doppino intrecciato, RF o IP. SharKNX può decifrare, mostrare e inviare telegrammi di gruppo KNX Data Secure e gestire i dispositivi Data Secure.
Questa pagina spiega come funziona KNX Data Secure e come lo usa SharKNX. Per la procedura passo passo, vedi Come Configurare KNX Data Secure.
Perché esiste KNX Data Secure
Un telegramma KNX standard può essere letto da qualsiasi dispositivo collegato alla stessa linea e qualsiasi dispositivo può inviarne uno. Chi ha accesso a un cavo bus, a un pulsante esposto o a un'interfaccia non protetta può osservare l'impianto e inviare comandi propri. KNX Data Secure protegge nuovamente indirizzi di gruppo e dispositivi selezionati, anche su un bus che non si può proteggere fisicamente.
Ogni telegramma protetto è cifrato con AES-128 (modalità CCM) e contiene:
- un codice di autenticazione del messaggio (MAC), che permette di rilevare qualsiasi modifica;
- un numero di sequenza a 48 bit che deve sempre aumentare, così un telegramma registrato non può essere riprodotto in seguito.
A differenza di KNX IP Secure, che protegge solo la connessione IP, Data Secure accompagna il telegramma dal mittente al destinatario.
Come funziona
Chiavi di gruppo
Ogni indirizzo di gruppo protetto ha una propria chiave di gruppo, generata da ETS. ETS la scarica su ogni dispositivo collegato a quell'indirizzo. Solo i dispositivi che possiedono la chiave possono leggere il telegramma cifrato; gli altri ne vedono il payload cifrato.
Chi può inviare: la tabella di sicurezza
La cifratura non basta. Ogni dispositivo Data Secure conserva anche una tabella di sicurezza con gli indirizzi individuali accettati come mittenti e l'ultimo numero di sequenza ricevuto da ciascuno. Si memorizza un numero di sequenza per indirizzo mittente, non per indirizzo di gruppo, e ogni mittente usa un solo contatore per tutti i suoi telegrammi protetti. Un telegramma viene accettato solo se:
- viene decifrato correttamente con la chiave di gruppo;
- l'indirizzo individuale del mittente è nella tabella del destinatario;
- il numero di sequenza supera l'ultimo ricevuto da quel mittente.
Se un controllo fallisce, il destinatario ignora il telegramma senza avvisare. Quindi:
- per leggere telegrammi protetti servono solo le chiavi di gruppo;
- per inviare telegrammi protetti a cui i dispositivi reagiscono serve anche un indirizzo individuale ritenuto attendibile dai destinatari.
Gestione dei dispositivi e chiavi degli strumenti
I dispositivi Data Secure proteggono anche la configurazione. L'accesso di gestione - per esempio leggere le proprietà di un dispositivo o modificare le impostazioni - è protetto da una chiave dello strumento specifica per dispositivo, impostata da ETS durante la messa in servizio. Senza la chiave, un dispositivo protetto rifiuta queste operazioni.
Leggere telegrammi Data Secure in SharKNX
SharKNX installa automaticamente le chiavi di gruppo quando carichi:
- il progetto ETS (
.knxproj) nella pagina Progetto; oppure - un portachiavi (
.knxkeys) o un progetto nella scheda Sicurezza della pagina Connetti.
Da quel momento, i telegrammi protetti nel Monitor vengono decifrati al volo e mostrati con nome, tipo di datapoint e valore decodificato, come gli altri telegrammi. Per monitorare non serve altro: nessuna configurazione dei mittenti.
Senza la chiave - o se un telegramma protetto non supera un controllo, per esempio per un MAC non valido o un numero di sequenza ripetuto - SharKNX lo mostra come telegramma protetto non aperto. Il motivo preciso è registrato nell'Formati di Esportazione (data_secure_status e data_secure_rejection), così puoi distinguere una chiave mancante da una ripetizione.
Inviare telegrammi Data Secure in SharKNX
Per inviare, ogni indirizzo di gruppo protetto deve avere un indirizzo individuale mittente considerato attendibile dai dispositivi destinatari. Si imposta nella pagina Mittenti KNX Secure, che si apre dal banner sotto le schede della pagina Progetto o dal badge Data Secure della pagina Monitor.
Il badge del Monitor mostra lo stato: grigio se il progetto non ha indirizzi di gruppo protetti, ambra se li ha ma i mittenti non sono configurati e verde quando i mittenti sono configurati.
La pagina ha tre parti:
- Mittente predefinito - l'indirizzo individuale usato per ogni indirizzo di gruppo protetto senza una voce dedicata. Lascialo su Auto per usare l'indirizzo della connessione gateway.
- Generazione auto - assegna a ogni indirizzo di gruppo protetto un mittente dal progetto: il dispositivo che trasmette su quell'indirizzo con l'indirizzo individuale più basso. Sono indirizzi di dispositivi reali: leggi l'avvertenza prima di usare questa opzione.
- Configurazione Manuale - coppie indirizzo di gruppo protetto → mittente che sostituiscono il valore predefinito.
Scegliere un indirizzo mittente
Invia sempre da un indirizzo individuale che nessun dispositivo reale usa e di cui i destinatari si fidano. Di solito lo si crea in ETS:
- Aggiungi al progetto un dispositivo di riserva - per esempio un'interfaccia IP Secure usata solo come segnaposto - e assegnagli un indirizzo individuale libero.
- Collegagli gli indirizzi di gruppo protetti da cui vuoi inviare, così ETS aggiunge il suo indirizzo alle tabelle di sicurezza dei destinatari.
- Scarica i destinatari interessati, poi imposta quell'indirizzo come Mittente predefinito in SharKNX.
Attenzione: non inviare mai come un dispositivo reale. Se una voce mittente - generata automaticamente o aggiunta manualmente - usa l'indirizzo di un dispositivo reale in funzione, basta un comando di SharKNX perché il resto dell'impianto smetta di reagire a quel dispositivo.
Come prescritto dallo standard KNX per gli strumenti, SharKNX numera i telegrammi protetti usando l'ora corrente: i millisecondi trascorsi dal 5 gennaio 2018. Un dispositivo invece parte dall'ora in cui ETS lo ha messo in servizio e incrementa il contatore di uno per telegramma, quindi il suo valore è molto più basso. Se SharKNX invia come quel dispositivo, ogni destinatario che si fida del suo indirizzo memorizza il numero molto più alto di SharKNX e da quel momento ignora come ripetizioni i telegrammi del dispositivo reale - su tutti i suoi indirizzi di gruppo protetti, non solo quello usato per l'invio. Il contatore del dispositivo non può raggiungerlo. Di solito per recuperare occorre scaricare di nuovo da ETS i destinatari interessati.
Inviare tramite un tunnel KNX IP Secure
Su un tunnel KNX IP Secure, l'interfaccia invia sempre i telegrammi sul bus con il proprio indirizzo individuale del tunnel e ignora ogni altro indirizzo mittente. Le impostazioni di Mittenti KNX Secure non hanno effetto; SharKNX te lo segnala quando invii.
Per inviare telegrammi protetti attraverso un tunnel sicuro, collega in ETS gli indirizzi di gruppo protetti all'interfaccia del tunnel, in modo che il suo indirizzo sia nelle tabelle di sicurezza dei destinatari, e scarica i destinatari.
Gestire dispositivi Data Secure
Per leggere o gestire un dispositivo Data Secure - per esempio dalla pagina Diagnostica - SharKNX ha bisogno della chiave dello strumento. Carica il portachiavi dell'impianto (.knxkeys) o il progetto ETS nella scheda Sicurezza della pagina Connetti e SharKNX acquisirà automaticamente le chiavi degli strumenti. I dispositivi Data Secure sono identificati come tali e SharKNX ti avvisa se manca una chiave.
KNX Data Secure e KNX IP Secure
| KNX Data Secure | KNX IP Secure | |
|---|---|---|
| Protezione | Singoli telegrammi, da un'estremità all'altra, su qualsiasi mezzo | La connessione IP: tunnel o backbone di routing |
| Chiavi | Una chiave di gruppo per ogni indirizzo di gruppo protetto; una chiave dello strumento per dispositivo | Password utente del tunnel; chiave backbone |
| Verifica mittente | I destinatari accettano solo gli indirizzi mittente elencati | Possono connettersi solo client autenticati |
| Uso in SharKNX | Leggere e inviare telegrammi di gruppo protetti; gestire dispositivi protetti | Connettersi a un'interfaccia o backbone sicuro |
I due meccanismi sono indipendenti. Un impianto può usare uno, entrambi o nessuno - vedi KNX IP Secure.
Risoluzione dei problemi
I telegrammi protetti mostrano un payload cifrato. SharKNX non ha la chiave di gruppo per quell'indirizzo. Carica il progetto ETS o il portachiavi dell'impianto.
Il comando viene inviato, ma il dispositivo non reagisce. Il destinatario non si fida dell'indirizzo mittente. Controlla l'indirizzo da cui invii (nella pagina Mittenti KNX Secure o l'indirizzo del tunnel KNX IP Secure) e verifica che ETS lo elenchi come mittente per quell'indirizzo di gruppo.
Un dispositivo ha smesso di reagire dopo un comando inviato da SharKNX. SharKNX ha inviato usando l'indirizzo individuale del dispositivo, quindi i destinatari ora ignorano i suoi telegrammi reali (vedi l'avvertenza sopra). Rimuovi quell'indirizzo dalla pagina Mittenti KNX Secure e usa un indirizzo mittente dedicato. Per far accettare di nuovo il dispositivo reale, scaricalo da ETS.
Un dispositivo rifiuta le operazioni di gestione. Manca la chiave dello strumento. Carica il portachiavi o il progetto nella scheda Sicurezza.
Approfondimenti
- Come Configurare KNX Data Secure - procedura guidata in SharKNX
- KNX IP Secure - protezione della connessione IP
- La documentazione KNX Secure della KNX Association e le note applicative dei produttori (per esempio la nota KNX Data Secure di ABB) approfondiscono il protocollo e la configurazione in ETS.