Saltar a contenido

ADR-002: ESP-NOW sin cifrado en v1.0

Estado

Aceptada (2026-05-23)

Contexto

El plan original asumia 20 peers cifrados con ESP-NOW. Sin embargo, el hardware ESP-NOW solo soporta 6 peers cifrados (con LMK/PMK). Con 20 peers no cifrados, se pueden tener hasta 20 nodos.

Una instalacion IIoT tipica necesita al menos 10-15 nodos para cubrir todas las zonas monitorizadas.

Decision

Usar ESP-NOW sin cifrado en v1.0, con validacion de protocolo como medida de seguridad basica. Planificar cifrado por software (AES-256 a nivel de payload) para v2.0.

Alternativas consideradas

  1. Cifrado ESP-NOW nativo (PMK/LMK)
  2. Pro: Cifrado AES-128 a nivel de hardware, transparente
  3. Contra CRITICO: Limite de 6 peers cifrados. Insuficiente para el proyecto
  4. Contra: No escala sin redesign

  5. Sin cifrado + validacion de protocolo (elegida)

  6. Pro: 20 peers disponibles (suficiente para v1.0)
  7. Pro: Simple de implementar
  8. Contra: Los datos viajan en texto plano por el aire
  9. Mitigacion: Rango limitado de ESP-NOW (~200m), validacion de version/tipo/MAC

  10. Cifrado por software (AES-256-GCM a nivel de payload)

  11. Pro: Sin limite de peers, seguridad robusta
  12. Pro: Independiente del hardware
  13. Contra: Overhead de 32 bytes por mensaje (IV + tag)
  14. Contra: Complejidad de implementacion, gestion de claves
  15. Decision: Diferir a v2.0 (Fase 6)

Consecuencias

  • peer_info.encrypt = false en todas las configuraciones de ESP-NOW
  • Gateway implementa whitelist de MACs aprobadas (modo OPEN/STRICT)
  • Validacion de protocolo: version, msg_type, payload_len
  • El riesgo de seguridad es aceptable para v1.0 (entorno controlado, rango limitado)
  • v2.0 agrega cifrado por software sin cambiar la arquitectura

Referencias