Traducido del English por IA ·
Hicimos nuestro proyecto de fin de carrera sobre algo casi idéntico (contadores inteligentes sobre 2G, interceptamos nuestro propio tráfico). Todo lo que dijo Laura es correcto. Esto es lo que haría yo en tu lugar, en este orden.Primero, separa el perfil. Crea un perfil nuevo para las 38 unidades TLS y déjalo en el valor predeterminado, solo TLS en 8883. Muévelas a ese perfil. Los dispositivos de ese perfil no pueden iniciar sesión en 1883 en absoluto, así que aunque alguien intente algo con ellos, nada viaja en claro.Segundo, las 12 unidades antiguas tienen su propio perfil con MQTT sin cifrar permitido, y lo bloqueas al máximo:
- Redes permitidas: introduce solo el rango de direcciones desde el que llega el tráfico de tu operador. Pide al operador un APN privado si puedes; así será su rango privado. Todo lo que venga de fuera se rechaza (CONNACK 5).
- Comandos permitidos sin TLS: déjalo vacío o, como máximo,
sys.info. Nuncasys.reboot. Los demás comandos simplemente esperan una sesión TLS, que estas unidades nunca tendrán, así que caducan. - Autenticación permitida: solo token de acceso, si es lo único que usan.
Tercero, rota el token del armario que capturó el tester, y, siendo honestos, los 12, porque llevan dos años cruzando internet en claro.Las actualizaciones de firmware y la configuración de los dispositivos tampoco se envían nunca en claro, así que no estás filtrando esos datos. Todo lo anterior está en esta página: Device transport security. Para TI, la respuesta honesta es: «38 están cifradas de extremo a extremo, 12 no lo están y quedan aisladas hasta que se reemplacen».
Did our final-year project on almost exactly this (smart meters over 2G, we sniffed our own). Everything Laura said. Here’s what I’d do in your position, in this order.
First, split the profile. Make a new profile for the 38 TLS units and leave it on the default, TLS only on 8883. Move them over. That profile’s devices can’t log in on 1883 at all, so even if somebody pokes at them nothing goes in clear.
Second, the 12 old ones get their own profile with plain MQTT allowed, and you lock it down hard:
- Allowed networks: put in only the address range your operator’s traffic comes from. Ask the operator for a private APN if you can, then it’s their private range. Anything outside gets refused (CONNACK 5).
- Commands allowed without TLS: leave it empty, or at most
sys.info. Neversys.reboot. Other commands just wait for a TLS session, which these units will never have, so they expire. - Allowed authentication: only access token if that’s all they use.
Third, rotate the token of the cabinet the tester captured, and honestly all 12, because they’ve been crossing the internet in clear for two years.
Firmware updates and device settings are never sent in clear anyway, so you’re not leaking those. Everything above is on this page: Device transport security. For IT, the honest answer is «38 are encrypted end to end, 12 are not and are fenced in until they’re replaced».

