Bootstrapping Seguro de Dispositivos IoT

 

¿Que es el Bootstrapping?

Según el Internet Engineering Task Force (IETF), el proceso de Bootstrapping se define como cualquier proceso que tiene lugar antes de que un dispositivo pueda volverse operativo.

 

Pero ¿cuales son los principales procesos implicados?

Pues básicamente estaríamos hablando de tres:

Captura desde 2024-08-26 17-15-48

 

¿Cuales son los aspectos mas importantes a tener en cuenta?

Como todo, si entramos en detalle podríamos enumerar gran cantidad, pero como antes nos centraremos en tres:

 

¿Que soluciones existen en el mercado?

Pues teniendo en cuenta solo las de acceso libre y mas utilizadas, vamos a ver de forma rápida alguna de ellas:

Lightweight Machine-to-Machine (LwM2M)

TFM_esquemas_varios-Transponder.drawio

Introduce un enfoque cliente-servidor para realizar el arranque. En el paso de aprovisionamiento, el servidor es responsable de proporcionar las credenciales esenciales al cliente. Luego, el dispositivo cliente realiza el paso de registro con uno o más servidores LwM2M. El estándar presenta cuatro enfoques de arranque:

 

Open Connectivity Foundation (OCF)

img

Define la fase de aprovisionamiento del dispositivo, denominada Owner Transfer Methods (OTM). En este paso, la herramienta de incorporación (dispositivo del usuario) y el objeto IoT comparten la información necesaria para establecer un canal de comunicación seguro. El OTM adoptado puede ser específico de cada fabricante o puede ser una implementación de una técnica existente.

El estándar especifica los siguientes OTM:

 

Wi-Fi Alliance Device Provisioning Protocol

img

 

El protocolo de aprovisionamiento de dispositivos (DPP) de Wi-Fi Alliance [14] se utiliza para el establecimiento de una conectividad segura y sencilla para los dispositivos asociados. El proceso de asociación en DPP se denomina Aprovisionamiento e introduce dos roles: Configurador y Afiliado. El primer rol representa el dispositivo confiable del usuario que realiza el aprovisionamiento con el objeto de IoT, denominado Enrollee. Este procedimiento consta de tres fases que deben ejecutarse de forma secuencial:

 

Fast IDentity Online Alliance (FIDO)

img

La Fast IDentity Online (FIDO) Alliance [15] describe un enfoque de arranque, conocido como Device Onboarding, que instala claves secretas y datos de configuración en el objeto de IoT. Este protocolo facilita la implementación segura y la interacción del dispositivo con una plataforma IoT. El protocolo de incorporación de FIDO introduce cuatro funciones:

 

Conclusiones

Como se puede ver cada una de estas soluciones aporta un método, proceso o tecnología que intenta cumplir con los factores comentados al principio del articulo. Ninguna es mejor que otra, solo ofrecen capacidades similares con medios distintos, por lo que el secreto del éxito de nuestro proyecto residirá en elegir la que se ajuste mejor a nuestras necesidades, aunque incluso la solución se encuentre en la combinación de mas de una de estas tecnologías.

Por supuesto siempre tenemos la posibilidad de basándonos en los principios básicos de la seguridad, en este caso de la seguridad IoT, de construir una solución que cumpla con nuestras necesidades y forma segura, en el siguiente enlace puede ver un vídeo demostrativo sobre una solución básica adhoc, que he construido como prueba de concepto.

 

Referencias

Dejo algunos enlaces para los que deseen investigar un poco sobre el tema: