He hecho un pequeño dispositivo de rastreo. Estoy tratando de reducir la sobrecarga de datos tanto como sea posible para que el dispositivo sea muy barato de ejecutar. Estamos trabajando sobre la base de que 1MB = £ 0.01 (el precio de los datos en Three UK).
Escribí un servidor UDP simple en C ++. El dispositivo de rastreo abre una conexión de socket al servidor UDP y luego envía datos de GPS a través del socket cada 5 segundos. Esto parece funcionar muy bien. La sobrecarga es muy pequeña y en general parece confiable.
El dispositivo de seguimiento tiene una cadena de 16 caracteres codificada en el código del microprocesador. Para reducir la sobrecarga, pasamos valores al servidor como una cadena separada por comas y en esta cadena incluimos el ID del dispositivo codificado. Cada vez que el servidor UDP recibe una solicitud, compara la ID con una base de datos de ID válidas. Si tiene éxito, la solicitud se acepta y los datos del GPS se guardan en ese dispositivo. He escrito funciones de protección de fuerza bruta para garantizar que los forasteros no puedan probar y enviar datos de GPS falsos para un dispositivo.
No soy un experto en seguridad de redes, pero conozco términos como "detección de paquetes". Los datos se envían a través de una conexión no cifrada en texto sin formato, por lo que necesito asegurarme de que no se pueden leer estos datos. Los dispositivos de rastreo se instalarán debajo del tablero de instrumentos en los vehículos, por lo que no hay forma de averiguar un código de dispositivo físicamente sin leer datos en serie (es decir, enchufarlo).
Mi preocupación, y donde no tengo ni idea, es si es posible que un pirata informático detecte de alguna manera el tráfico entrante a mi servidor UDP y vea el ID del dispositivo y luego lo use para enviar datos falsificados. ¿Me preocupo por algo que no existe o debo asegurarme de que la conexión esté encriptada (supongo que TLS a través de la conexión TCP) a un costo adicional?