Ho realizzato un piccolo dispositivo di tracciamento. Sto cercando di ridurre il sovraccarico dei dati il più possibile per rendere il dispositivo molto economico da eseguire. Stiamo lavorando sulla base del fatto che 1 MB = £ 0,01 (il prezzo dei dati di Three UK).
Ho scritto un semplice server UDP in C ++. Il dispositivo di tracciamento apre una connessione socket al server UDP e quindi invia i dati GPS attraverso lo zoccolo ogni 5 secondi. Questo sembra funzionare molto bene. L'overhead è molto piccolo e in generale sembra affidabile.
Il dispositivo di tracciamento ha una stringa di 16 caratteri codificata nel codice del microprocessore. Al fine di ridurre il sovraccarico, passiamo valori al server come una stringa separata da virgole e in questa stringa includiamo l'ID del dispositivo hardcoded. Ogni volta che il server UDP riceve una richiesta, verifica l'ID su un database di ID validi. In caso di successo, la richiesta viene accettata e i dati GPS vengono salvati su quel dispositivo. Ho scritto funzioni di protezione brute force per garantire che gli estranei non possano provare a inviare dati GPS falsi per un dispositivo.
Non sono esperto in sicurezza di rete, ma conosco termini come "sniffing di pacchetti". I dati vengono inviati tramite una connessione non crittografata in formato testo, quindi devo assicurarmi che non sia possibile leggere questi dati. I dispositivi di localizzazione saranno installati sotto il cruscotto nei veicoli, quindi non c'è modo di trovare fisicamente un codice dispositivo senza leggere i dati seriali (cioè collegandolo).
La mia preoccupazione, e dove sono senza tracce, è se sia possibile che un hacker rilevi in qualche modo il traffico in arrivo sul mio server UDP e veda l'ID del dispositivo e quindi lo usi per inviare dati di spoofing? Mi preoccupo di qualcosa che non esiste o devo assicurarmi che la connessione sia crittografata (presumo la connessione TLS su TCP) a costo di costi aggiuntivi?