KNX IP Secure protegge le comunicazioni KNX sulle reti IP. Cifra e autentica il traffico tra dispositivi KNX IP - interfacce, router e client come ETS o SharKNX - impedendo agli altri utenti della rete di leggere telegrammi o inserire comandi. SharKNX supporta entrambe le varianti: tunneling sicuro verso un'interfaccia KNX IP e routing sicuro tramite multicast.
Questa pagina spiega come funziona KNX IP Secure e come lo usa SharKNX. Per la procedura passo passo, vedi Come Configurare KNX IP Secure.
Perché proteggere KNX IP
KNXnet/IP senza protezione invia telegrammi non cifrati e non autenticati. Chiunque abbia accesso alla rete - un utente del Wi-Fi ospiti, un dispositivo compromesso o il portatile di un appaltatore - può leggere tutti i telegrammi e inviare comandi propri: accendere luci, aprire tapparelle o cambiare setpoint. Poiché gli impianti KNX condividono sempre più spesso le reti IP con altri sistemi dell'edificio, questo non è più accettabile; KNX IP Secure è la risposta dello standard.
KNX IP Secure aggiunge tre garanzie alla connessione IP:
- Autenticazione - possono connettersi solo client con credenziali corrette.
- Riservatezza - il traffico è cifrato con AES-128 (modalità CCM), quindi non può essere letto.
- Integrità e freschezza - ogni frame contiene un codice di autenticazione del messaggio e un numero di sequenza o timer, per impedire modifiche o ripetizioni successive.
KNX IP Secure protegge solo il lato IP. Quando un telegramma lascia l'interfaccia ed entra nella linea KNX a doppino intrecciato, IP Secure non si applica più. La protezione del telegramma da un'estremità all'altra è compito di KNX Data Secure.
Come funziona
Tunneling sicuro
Il tunneling permette a un client come SharKNX di collegarsi a una singola interfaccia KNX IP per monitorare e inviare sul bus. Con KNX IP Secure:
- Il client apre una connessione TCP all'interfaccia. I tunnel sicuri usano sempre TCP; lo standard vieta UDP.
- Client e interfaccia concordano una nuova chiave di sessione tramite uno scambio di chiavi ECDH (X25519), così ogni sessione è cifrata con una chiave diversa.
- Il client si autentica con ID utente e password di un tunnel. Ogni tunnel sull'interfaccia ha credenziali proprie, configurate in ETS e conservate nel portachiavi del progetto.
- Da quel momento ogni frame viene cifrato e autenticato con la chiave di sessione e numerato, così non può essere riprodotto.
Indirizzo mittente: Su un tunnel sicuro, l'interfaccia invia i telegrammi sul bus con il proprio indirizzo individuale del tunnel e ignora qualsiasi altro indirizzo mittente. Questo è importante per KNX Data Secure, i cui destinatari verificano chi ha inviato il telegramma. SharKNX ti avvisa quando un mittente Data Secure configurato viene sostituito in questo modo.
Routing sicuro
Il routing collega i router KNX IP e i client che vi partecipano tramite multicast IP (per impostazione predefinita 224.0.23.12 sulla porta UDP 3671). Con KNX IP Secure, tutti i router di questo backbone condividono una chiave simmetrica, la chiave backbone. Ogni frame multicast viene cifrato e autenticato con essa; un timer condiviso mantiene i frame aggiornati e fa scartare quelli vecchi. Tutti i dispositivi su un backbone sicuro devono usare la stessa chiave backbone.
KNX IP Secure e KNX Data Secure
I due meccanismi sono indipendenti e spesso confusi. Un impianto può usare uno, entrambi o nessuno.
| KNX IP Secure | KNX Data Secure | |
|---|---|---|
| Protezione | La connessione IP: tunnel o backbone di routing | Singoli telegrammi, da un'estremità all'altra, su qualsiasi mezzo |
| Ambito | Solo tra dispositivi IP | Dal dispositivo mittente ai dispositivi destinatari |
| Chiavi | Password utente del tunnel; chiave backbone | Una chiave per indirizzo di gruppo protetto; chiavi degli strumenti per dispositivo |
| Uso in SharKNX | Connettersi a un'interfaccia o backbone sicuro | Leggere e inviare telegrammi di gruppo protetti; gestire dispositivi protetti |
Vedi KNX Data Secure per sapere come SharKNX gestisce la cifratura dei telegrammi.
Le credenziali necessarie
Tutte le credenziali KNX Secure si creano in ETS e sono nel portachiavi del progetto. SharKNX le accetta in tre formati:
| Origine | Contenuto | Quando usarla |
|---|---|---|
File portachiavi (.knxkeys) |
ID utente e password dei tunnel, chiave backbone e, per KNX Data Secure, chiavi di gruppo e chiavi degli strumenti dei dispositivi | Se ti servono solo le credenziali, non l'intero progetto |
Progetto ETS (.knxproj) |
Il progetto completo, compresi i dati di sicurezza | Se stai già caricando il progetto |
| Chiave backbone (inserita manualmente) | Solo la chiave backbone a 128 bit, in 32 cifre esadecimali | Se ti serve il routing sicuro e hai solo la chiave |
Esportare un portachiavi da ETS
In ETS apri i dettagli del progetto dalla panoramica, vai alla sezione Sicurezza ed esporta il portachiavi. ETS chiede una password per proteggere il file; ti servirà la stessa password per caricarlo in SharKNX.
Password errata? Quando carichi il portachiavi, SharKNX ne verifica la firma ETS e rileva subito una password errata con "Incorrect password or corrupted keyring file", non solo quando provi a connetterti.
Usare KNX IP Secure in SharKNX
Caricare le credenziali
Le credenziali si possono caricare da tre punti della pagina Connetti:
- Dalla scheda Sicurezza, che mostra anche il contenuto del file caricato, per esempio il numero di interfacce e dispositivi KNX Data Secure.
- Dalla scheda dettagli di un gateway sicuro, tramite Carica credenziali.
- Dal menu ⋯ Azioni, che carica direttamente un portachiavi.
Le credenziali restano disponibili dopo il riavvio dell'app. Caricare un nuovo portachiavi sostituisce il precedente.
Connettersi
I gateway che annunciano KNX IP Secure sono contrassegnati come sicuri nella scheda Pronto. Se tocchi Nessuna backbone key senza aver caricato credenziali corrispondenti, SharKNX ti propone di aprire prima la scheda Sicurezza.
Nel routing sicuro, i router KNX IP compatibili offrono un'opzione multicast sicura. Lo stato mostra Pronto quando è disponibile una chiave backbone o Nessuna backbone key finché non ne carichi una.
Risoluzione dei problemi
Autenticazione non riuscita durante la connessione. La password del tunnel non corrisponde all'interfaccia. Verifica che il portachiavi provenga dallo stesso progetto ETS usato per l'ultima programmazione dell'interfaccia. Se l'interfaccia è stata riprogrammata, esporta un nuovo portachiavi.
«Nessuna backbone key» nel routing sicuro. Carica un portachiavi o un progetto che contenga la chiave backbone oppure inseriscila manualmente.
Connesso, ma i telegrammi di gruppo protetti risultano ancora cifrati. È KNX Data Secure, non IP Secure. Le chiavi di gruppo si trovano nello stesso portachiavi o progetto - vedi KNX Data Secure.
Il destinatario rifiuta i comandi per un indirizzo di gruppo Data Secure. Su un tunnel sicuro, l'indirizzo mittente è sempre quello del tunnel. I dispositivi destinatari devono accettare quell'indirizzo come mittente - vedi KNX Data Secure.
Approfondimenti
- Come Configurare KNX IP Secure - guida alla connessione passo passo
- KNX Data Secure - cifratura a livello di telegramma
- Come Connettersi a un Gateway KNX - connessioni tunneling e routing in generale