Internet de las cosas: Internet de las cosas

(Para giorgio tosi)
30/08/21

El término Internet de las Cosas o IoT, a menudo mal traducido con Internet de las cosas cuando la traducción "Internet de los objetos" sería más apropiada, ahora se ha convertido en parte del léxico común de aquellos involucrados en las tecnologías de las TIC (Tecnología de la Comunicación de la Información, ed).

Durante estas notas, me propuse aclarar las tecnologías adoptadas, los componentes y los posibles problemas de seguridad de las soluciones de IoT.

Empiezo diciendo que las soluciones de IoT tienen características particulares que las hacen únicas. El elevado número de dispositivos, que suelen formar parte de una solución IoT, impone características de escalabilidad basadas no tanto en el rendimiento como en la necesidad de gestionar y mantener una flota instalada caracterizada por una cardinalidad extremadamente significativa (números extremadamente altos). Todo esto se refleja en la cantidad de datos a almacenar y analizar.

El objetivo final de las soluciones de IoT en los diversos campos de aplicación es siempre proporcionar herramientas que, ante un fenómeno físico natural o artificial, nos permitan comprender qué está sucediendo, por qué está sucediendo y potencialmente qué podría suceder. Los sensores y actuadores son, por tanto, los medios que le permiten interactuar con el entorno y con el fenómeno físico que quiere controlar. Se trata, por tanto, de gestionar y analizar un gran número de datos de distinta naturaleza agregándolos y procesándolos para derivar de ellos información a partir de la cual se puedan realizar acciones concretas (en inglés Información procesable).

Continúo con la afirmación de que durante los últimos 2-3 años se ha contado con la disponibilidad de un conjunto de catalizadores que han favorecido el desarrollo de las tecnologías necesarias para la realización de soluciones IoT y en consecuencia la atención de la industria hacia este tipo de tecnologías. .ha crecido en proporción. A estas alturas, hablar de soluciones de IoT representa no tanto una experimentación de frontera, sino la necesidad de abordar problemas específicos de implementación.

Entre los catalizadores que contribuyen a la adopción de soluciones de IoT podemos mencionar:

  • la disponibilidad de sensores y actuadores de diferentes y variados tipos;
  • la oferta por parte de los principales proveedores de soluciones Cloud de plataformas dedicadas a este entorno y equipadas con primitivas diseñadas para abordar algunas de las características específicas de este tipo de aplicaciones;
  • la disponibilidad de protocolos de comunicación especializados capaces de soportar las peculiaridades (cardinalidad, resiliencia, confiabilidad) necesarias en el campo de IoT.

Antes de entrar en el análisis de una solución de IoT y los componentes tecnológicos relacionados, vale la pena dedicar algunas palabras al concepto de sensores y actuadores que representan los elementos fundamentales de dicha solución.

Los sensores

Los sensores son componentes hardware especializados en leer un parámetro físico (temperatura, presión, humedad, intensidad de luz, ...) y en transmitir los datos detectados en forma digital o analógica a través de un conjunto de reglas (protocolo) que permiten al receptor interpretarlo. correctamente. Un ejemplo muy simple puede ser un termómetro de temperatura: genera un valor expresado en grados Celsius o Fahrenheit que generalmente se detecta leyendo una escala graduada especial o una pequeña pantalla.

Si el termómetro está equipado con un mínimo de lógica para la transmisión de este valor a otro componente, utilizando un protocolo adecuado, habremos creado un sensor de temperatura. Naturalmente, los sensores pueden ser de diferentes tipos y muy complejos capaces de detectar varias cantidades físicas al mismo tiempo.

Hoy en día existen sensores capaces de detectar el tránsito de una persona a través de una puerta (puerta lógica) e identificar su dirección (entrada o salida), sensores capaces de reconocer códigos de barras o huellas dactilares, sensores capaces de medir la distancia relativa entre dos objetos, etc. . Todos los datos recopilados por los sensores deben codificarse adecuadamente para su posterior procesamiento.

Volviendo al ejemplo del sensor de temperatura, también será necesario prever el envío o señalización de la unidad de medida asociada: Celsius o Fahrenheit. Por lo tanto, los datos generados por el sensor deben formatearse adecuadamente para su envío y posterior procesamiento.

Los actuadores

Si bien los sensores se encargan de capturar un dato y enviarlo para su posterior procesamiento, también es necesario tener la posibilidad de realizar acciones siguiendo el procesamiento realizado a partir de los datos proporcionados por los sensores o por un sistema de control. Ésta es la tarea de los actuadores. Como antes, un ejemplo simple puede ser el cierre o la apertura de un circuito al recibir un comando específico (ejemplo muy trivial: el abridor de la puerta de la casa).

De manera similar a lo que se ha dicho para los sensores, los actuadores también pueden ser complejos y multifuncionales: pensemos, por ejemplo, en la necesidad de hacer girar un motor a una velocidad específica o el posicionamiento de un brazo mecánico para liberar un contenido (apertura de circuito). También en este caso, los actuadores deben estar equipados con funciones de comunicación primitivas que permitan la recepción de comandos y la interpretación de su significado.

Los protocolos de comunicación

Por lo tanto, los sensores y actuadores deben, por lo dicho, poder transmitir y recibir información a un sistema de nivel superior para su posterior procesamiento. Tenga en cuenta que tanto para los sensores como para los actuadores, la comunicación generalmente debe ser bidireccional y, por lo tanto, tanto la transmisión como la recepción de datos y comandos deben gestionarse hacia ambos. Por ejemplo, en un sensor puede ser posible definir una cadena única que identifique su posicionamiento, mientras que un actuador debe poder proporcionar una indicación de error si la función solicitada (posición, velocidad, apertura / cierre de un contacto ...) no es factible.

El conjunto de reglas y formatos con los que los sensores y actuadores se comunican con un sistema de procesamiento (PLC, Gateway, Edge Computer, ...) constituye el protocolo de comunicación utilizado entre estas entidades. El protocolo de comunicación debe abordar una serie de situaciones para ser eficaz y apoyar la implementación de la solución prevista.

Algunas de las cuestiones que debe solucionar el protocolo son:

  • Cómo abordar de forma única el sensor / actuador específico en una instalación
  • Cómo priorizar el acceso al medio de transmisión (quién habla primero)
  • Qué hacer si el medio de transmisión está ocupado (quién está hablando)
  • Cómo informar cualquier error
  • Cómo formatear los datos transmitidos o recibidos (por ejemplo, cuántos bits asignar a una cantidad específica)
  • Cómo asegurarse de que los datos transmitidos no se corrompan durante la transmisión
  • Etc.

Los requisitos que deben cumplir estos protocolos incluyen tanto la simplicidad de implementación dada la limitada capacidad de procesamiento como la necesidad de reducir el consumo de las baterías de los sensores y actuadores. Luego, los protocolos están disponibles en diferentes medios de transmisión: desde el clásico par de cobre hasta conexiones inalámbricas en bandas sin licencia (bandas ISM). Una característica común de estos protocolos es el ancho de banda limitado requerido para la transmisión de datos como consecuencia de la simplicidad de los datos transmitidos.

En el campo de IoT existen varios protocolos de comunicación patentados y estandarizados, entre estos podemos recordar IO-Link, ModBus, LoraWAN, En-Ocean, los dos últimos en medio de transmisión por radio.

La arquitectura de una solución de IoT

Obviamente, una solución de IoT no termina con la disponibilidad exclusiva de sensores y actuadores sino que requiere la presencia y coordinación de una serie de componentes que permitan extraer información para la toma de decisiones (Información Accionable) de los datos.

La figura esquematiza los diversos componentes de una implementación de IoT.

De izquierda a derecha se pueden ver los sensores y actuadores responsables de la captura de datos y de cualquier modificación del entorno controlado. Los protocolos de transmisión permiten consolidar estos datos en dispositivos inteligentes que difieren sustancialmente en la capacidad de procesamiento requerida según las características del sistema a crear.

Digamos de inmediato que si no se requiere una respuesta del sistema general en un tiempo muy corto (casi en tiempo real), los datos se consolidarán mediante una puerta de enlace Edge.1 de capacidad más limitada que una computadora Edge capaz de proporcionar un procesamiento local sofisticado.

Los datos así consolidados, normalizados y convenientemente formateados se transmiten luego a una aplicación en la nube que extraerá la información de interés. También en este paso de transmisión adicional, las características del protocolo de comunicación utilizado para enviar los datos al área de aplicación en la nube son fundamentales. En comparación con el caso de la transmisión desde el sensor / actuador hacia / desde el dispositivo Edge, sin embargo, en este caso hay una diferencia significativa e importante: todos los protocolos utilizados (MQTT, AMPQ, OPC UA, ...) se basan en un solo denominador común representado por el protocolo IP en el que los protocolos previamente identificados se admiten a un nivel superior.

En el campo de la aplicación, los servidores o los correspondientes servicios en la Nube proporcionarán las funciones primitivas necesarias para almacenar, procesar y presentar la información extraída de los datos capturados.

También se debe considerar que los principales proveedores de servicios Cloud en la actualidad ofrecen plataformas especializadas para el campo de IoT que ofrecen una serie de características primitivas destinadas a simplificar el proceso de implementación y abordar las necesidades de instalación, configuración y gestión de los dispositivos Edge y Gateway.

Se debe hacer una aclaración necesaria en cuanto a las funcionalidades de Edge Computing necesarias, como hemos dicho, para la realización de implementaciones caracterizadas por requisitos de tiempo muy estrictos. Este es el caso de las soluciones de control para sistemas críticos para los que el retraso (y posiblemente la indisponibilidad de las aplicaciones en la nube) no es tolerable y, por tanto, es necesario dar una respuesta (una acción) en muy poco tiempo. Por lo tanto, el procesamiento local reemplaza al procesamiento en la nube, que es capaz de explotar algoritmos y datos históricos.

Resumiendo, por lo tanto, la cadena tecnológica de una implementación de IoT se compone de un número ciertamente elevado de componentes que, sin embargo, pueden agruparse en tres categorías principales:

  1. Los sensores / actuadores responsables de la interacción con el entorno a crear o controlar.
  2. Dispositivos de borde que concentran, normalizan y transmiten datos a los sistemas de procesamiento de aplicaciones
  3. Aplicaciones que extraen información utilizable de los datos y la ponen a disposición presentándolas de forma adecuada.

A pesar de la aparente sencillez de las soluciones, los aspectos críticos que deben analizarse en detalle son numerosos: en particular, los aspectos de seguridad merecen una atención especial.

Seguridad en las creaciones de IoT

Como cualquier sistema. La seguridad de las TIC juega un papel fundamental también en las creaciones de IoT. Por lo tanto, se trata de identificar los problemas críticos y los componentes específicos que deben tenerse en cuenta al planificar una estrategia de seguridad en el campo de IoT.

Siguiendo la cadena tecnológica previamente identificada, se pueden hipotetizar algunas consideraciones a partir de sensores y actuadores.

Por lo general, estos son componentes relativamente simples caracterizados por una capacidad de procesamiento limitada para reducir el consumo de cualquier batería de suministro de energía. Las magnitudes sobre las que deben intervenir sensores / actuadores están representadas por un valor numérico (temperatura, presión, rotación de un motor paso a paso ...) o digital (encendido / apagado, abierto / cerrado, ...) que adquiere un significado específico. en el contexto global de la solución considerada.

Podemos afirmar que el valor de los datos ÚNICOS es, por tanto, limitado y de poco interés: la perspectiva es completamente diferente cuando se trata del CONJUNTO de datos que luego pueden correlacionarse. En cualquier caso, los sensores / actuadores están equipados con un firmware relativamente simple y muy a menudo no actualizable.

Por lo tanto, debe realizarse una primera evaluación de seguridad en el firmware del dispositivo y luego en el protocolo de comunicación que permite el reenvío de datos al dispositivo de borde. Nótese que en este caso se trata de protocolos especializados, en cierto modo propietarios, para los que la disponibilidad de herramientas de interceptación o compromiso es en cualquier caso limitada. Esto no significa que deba evaluarse cualquier riesgo de compromiso de estos protocolos / medios de transmisión.

El escenario relacionado con los dispositivos de borde es diferente: en este caso, los posibles compromisos de seguridad pueden ser muchos. los firmware del dispositivo en este caso a menudo se basa o en cualquier caso incluye componentes Open Source que pueden presentar vulnerabilidades: por lo tanto, es necesario evaluar tanto el aspecto de comportamiento del dispositivo como la posible presencia de "puertas traseras" inactivas que pueden estar presentes en algún módulo de software.

El uso de protocolos de comunicación basados ​​en IP abre la posibilidad de vulnerabilidades típicas de los entornos basados ​​en IP. Afortunadamente, estos se entienden y documentan bien en el ámbito de la tecnología, y existen herramientas sofisticadas para minimizar el riesgo de compromiso en este nivel.

Las principales soluciones Cloud en IoT visten hoy día ofrecen toda una serie de herramientas para abordar los problemas de una conexión segura entre un dispositivo de borde y la aplicación Cloud relacionada: estas herramientas proporcionan, entre otras cosas, el cifrado de los datos transmitidos, la autenticación mutua entre aplicaciones y dispositivo de borde, la verificación de la integridad de los datos y la no replicabilidad de los mismos. Para completar las posibles vulnerabilidades de una solución de IoT, se deben mencionar las relacionadas con el entorno Cloud y las aplicaciones y datos instalados allí, de los que existe información detallada en la literatura.

Para concluir, las soluciones IoT ante una simplicidad conceptual debido al carácter esquemático de la arquitectura de la red, por otro lado, presentan una serie de complejidades derivadas del elevado número de dispositivos involucrados, de la consecuente necesidad de contar con herramientas de gestión efectivas. y problemas de seguridad que pueden realizarse, de diferentes formas, en varios puntos de la realización requiriendo la aplicación, coordinación y gestión de instrumentos de defensa de diferente naturaleza. Se trata de un conocimiento multidisciplinario de tecnologías y productos que se puede tomar prestado en parte de experiencias previas en el campo de las TIC cuando se asocia con el dominio necesario del entorno físico (de los Objetos) que se desea controlar y / o crear.

1 Edge Gateway: este término identifica un dispositivo de comunicación que puede extraer la información recibida a través de un protocolo de comunicación específico y formatearla adecuadamente para su transmisión y reenvío a través de un protocolo diferente. Por ejemplo, una puerta de enlace Edge puede detectar el estado de un contacto digital (ENCENDIDO / APAGADO) y formatear esta información de manera adecuada para que pueda transmitirse a una aplicación que reside en un servidor mediante el protocolo TCP / IP.