Sfondo
Sto costruendo un sistema di automazione domestica usando RF 315/433 Modulo trasmettitore-ricevitore MHz , uno schermo Ethernet e AT Mega AVR Micro controller (ATMega328 PPU) che funziona come segue.
Un set di API REST è integrato con un database back-end. Un'interfaccia dell'applicazione Web e mobile con questo DB per modificare le impostazioni. L'interfaccia AT Mega MC con lo schermo Ethernet si collega al router ADSL della mia casa.
AT Mega MC legge i valori dell'API (HTTPS) tramite scudo Ethernet e tenta di controllare i dispositivi (porta del mio rullo, interruttori della luce, riscaldamento ecc.) utilizzando un modulo trasmettitore-ricevitore RF 315/433 MHz. Il punto finale con ricevitore RF e AT Mega MC invia messaggi di controllo tramite il trasmettitore RF.
problema
Ho i seguenti problemi di sicurezza in questa configurazione.
-
Qual è il modo più efficiente in cui posso crittografare i miei messaggi dal trasmettitore RF al ricevitore? In questo momento faccio una semplice operazione XOR ai messaggi di controllo in entrambe le estremità. Quindi il valore di XOR è semplicemente una chiave condivisa. So che non è affatto sicuro! Non riesco ad implementare l'algoritmo che consuma risorse nel mio endpoint (fine ricevitore) perché sta usando l'ATtiny85 MC.
-
Anche se crittografo il messaggio da RF TX a RX, qualcuno può intercettare il messaggio in uscita (usando alcuni strumenti come HackRF) e riprodurre successivamente il messaggio. In questo modo possono eseguire facilmente un replay attack e aprire il mio gate in qualsiasi momento.
Domande
-
Quali sono le migliori precauzioni di sicurezza che posso utilizzare per proteggere la mia trasmissione RF? Per favore ricorda che sto lavorando con dispositivi IoT che non hanno una grande potenza di calcolo.
-
Come posso evitare questo attacco di riproduzione?