Stiamo cercando di progettare una soluzione in cui abbiamo diversi dispositivi intelligenti e siamo in grado di controllare ogni dispositivo intelligente da più telefoni. Genereremo un certificato server SSL autofirmato e lo incorporeremo in tutti i dispositivi intelligenti. E includeremo il certificato Client SSL in tutti i telefoni. Ora per connettere un telefono al dispositivo intelligente il telefono deve ottenere un ID (che può essere ottenuto mediante la scansione di un codice QR sul dispositivo Smart - questo è solo per garantire che il telefono si trovi nelle vicinanze del dispositivo intelligente) .
Dispositivo intelligente:
- Incorpora un certificato server autofirmato. Motivo: nessuna dipendenza dal connettività internet
- Mantiene un hotspot WiFi (connettività Internet non è sempre garantito)
- Mantiene un elenco di telefoni collegati (ciascuno telefono identificato dall'ID univoco del codice QR scansionato dal telefono)
App telefono:
- Implementa il blocco dei certificati e codifica i certificati client
- Si collega all'hotspot Wi-Fi
- Stabilisce una connessione SSL con il dispositivo Smart.
- Per registrarsi per la prima volta esegue la scansione di un codice QR e per le connessioni successive invia l'ID del codice QR per fornire la sua identità.
Riesci a verificare l'architettura di cui sopra e identificare eventuali difetti con questo?
Poiché stiamo installando lo stesso certificato server in tutti i dispositivi intelligenti e lo stesso certificato client in tutti i telefoni c'è un modo per hackerare il dispositivo Smart in qualche modo?
Se è stata stabilita una connessione SSL tra un dispositivo smart e un telefono, un altro dispositivo (che si trova sulla stessa rete con lo stesso certificato) può essere in grado di dirottare i pacchetti inviati tra il dispositivo Smart e il primo telefono?
Una volta stabilito un collegamento sicuro, inviamo l'ID del codice QR in formato di testo normale tramite il socket SSL. Dobbiamo crittografarlo di nuovo o il collegamento SSL è abbastanza sicuro?