Sto progettando un dispositivo di raccolta dati molto semplice per un progetto di ricerca. Poiché stiamo registrando, tra le altre cose, la posizione GPS dei veicoli reali, dobbiamo proteggere i dati. Poiché distribuiamo manualmente ogni dispositivo di registrazione, non sono necessarie registrazioni o accessi.
Ho creato un server web (Node.js), un database (MongoDB), un'app (iOS nativa) e un formato dati (JSON). Il client invia regolarmente JSON al server web con il seguente comando:
PUT/store/[deviceId]/?hash=[hash]
(con i dati effettivi come variabile POST)
Dove deviceId
è un identificatore semplice, per ora solo un numero (0, 1 o 2), per farmi scegliere quale raccolta MongoDB memorizzare i dati.
Il hash
è un hash del verbo HTTP, l'url e il segreto del dispositivo (solo una stringa casuale codificata in ogni dispositivo), ispirato a questa risposta .
La mia preoccupazione qui è quanto sia sicuro un tale sistema. Sto utilizzando HTTPS per proteggere il trasferimento dei dati e il segreto del dispositivo per assicurarmi che sia effettivamente uno dei nostri dispositivi, e non il figlio del vicino che tenta di hackerarci.
Basta così?