Sto costruendo un dispositivo di localizzazione e sto cercando un metodo di autenticazione sicuro da utilizzare quando il dispositivo vuole stabilire una connessione al server.
Il server è un server TCP che apriamo una connessione con oltre TLS. Utilizziamo TLS per crittografare il traffico tra il dispositivo e il server per escludere la possibilità che i dati vengano rilevati da un hacker. Il dispositivo stabilisce una connessione con il server utilizzando i dati della rete mobile dalla SIM integrata.
Se il dispositivo è fisicamente compromesso, questo non è un problema (non ci preoccupiamo di impedirlo, come se avessero perso il dispositivo, ma non è la loro posizione). Inoltre, poiché utilizziamo TLS, non dobbiamo preoccuparci di qualcuno che esegue la scansione delle comunicazioni tra il dispositivo e la rete mobile. La preoccupazione principale è impedire a qualcuno di spoofing / emulare uno dei dispositivi di tracciamento. Non vogliamo che gli hacker impostino la posizione del dispositivo di localizzazione di un altro utente.
Sarebbe sufficiente fornire un ID dispositivo e una password hash sicura che inviamo al server TCP per l'autenticazione (ovviamente unica per ogni dispositivo) quando viene stabilita una connessione? Non sono sicuro dei metodi di autenticazione qui e apprezzerei qualsiasi orientamento.
BOUNTY EDIT: alcuni commenti indicano che il modo migliore per farlo è attraverso i certificati client. Non ho alcuna conoscenza in questo settore e se questa è l'opzione migliore, sarebbe interessato a vedere una risposta spiegando questo in modo più dettagliato. Inoltre, su un sidenote completo, sarebbe una cattiva idea smettere di usare TLS nei nostri dispositivi e utilizzare un altro metodo che non include la crittografia? Siamo consapevoli del sovraccarico aggiuntivo che dovremmo sostenere quando utilizziamo TLS, quindi se esiste un altro metodo per proteggere l'autenticazione che non utilizza la crittografia, mi piacerebbe sentirlo. Dopotutto, quali sono le possibilità che qualcuno possa effettivamente annusare il traffico tra uno dei nostri dispositivi e una rete mobile e quindi utilizzare l'identità del dispositivo per inviare coordinate dannose / false?