Attualmente sto progettando il modello di sicurezza per un prodotto IoT che la mia azienda sta sviluppando.
Il dispositivo sarà connesso a Internet tramite WiFi e dovrà comunicare solo con il server della nostra azienda.
- La comunicazione verrà effettuata tramite HTTPS
- Durante l'assemblaggio del prodotto fisico, l'impronta digitale SSL del server verrà memorizzata sul dispositivo. Il dispositivo utilizza questa impronta digitale per assicurarsi che in realtà comunichi con il proprio server "di casa" ogni volta che stabilisce una connessione
Un problema con questo approccio sorge non appena il certificato SSL del server cambia. A causa di un controllo impreciso delle impronte digitali, tutti i dispositivi sul campo non saranno più in grado di connettersi al server.
Una soluzione parziale sarebbe quella di creare un periodo di tempo in cui il server distribuisse la sua nuova impronta digitale a tutti i dispositivi connessi, insieme al tempo esatto in cui diventa valido. I dispositivi potrebbero memorizzare la nuova chiave e usarla a partire dalla data pubblicizzata. Ma questo non risolve il problema per i dispositivi che non sono online durante il periodo di distribuzione delle impronte digitali.
C'è qualche potenziale soluzione a questo problema che potrei aver trascurato? Qual è la "via giusta" per fare una cosa del genere? (Non posso essere il primo a farlo, posso?)