Archivo de la categoría: Comunicación

Conceptos Básicos de Comunicaciones Seguras

Puesto que la base de IoT es la comunicación, debemos establecer conexiones seguras, para ello es básico la autenticación y que la comunicación sea cifrada.

Que es TLS

Transport Layer Security (TLS) y Secure Sockets Layer (SSL) proporcionan un canal de comunicación seguro entre un cliente y un servidor. En el núcleo, TLS y SSL son protocolos criptográficos que utilizan un mecanismo de handshake para negociar varios parámetros para crear una conexión segura entre el cliente y el servidor. Una vez completado el handshake, se establece una comunicación cifrada entre el cliente y el servidor y ningún atacante puede escuchar cualquier parte de la comunicación. Los servidores proporcionan un certificado X509 (normalmente emitido por una autoridad de confianza) que los clientes utilizan para verificar la identidad del servidor.

Wikipedia: https://es.wikipedia.org/wiki/Seguridad_de_la_capa_de_transporte 

Porque es TLS Importante

Imagine que está enviando una postal. Está claro quién es el destinatario de la tarjeta y el cartero se asegurará de que llegue la tarjeta. Pero, nada impide que el cartero lea el contenido de la tarjeta. De hecho, todas las personas que participan en la entrega de la postal pueden leer el contenido de la misma. Un trabajador postal malintencionado podría incluso alterar el contenido de su tarjeta!

La esencia de este escenario también se aplica a las redes informáticas en general y a Internet en particular. El uso de TCP/IP simple es como enviar una postal. El paquete TCP pasa a través de muchos componentes de la infraestructura (routers, cortafuegos, puntos de intercambio de Internet) antes de llegar al objetivo. Cada participante en el camino puede leer el contenido del paquete en texto claro (e incluso modificarlo). Este no es un escenario ficticio, la historia reciente muestra que el tráfico de Internet es frecuentemente intervenido por agencias de inteligencia. Aunque la mayoría de los atacantes no tienen muchos recursos para escuchar a escondidas su conexión, no es difícil para los atacantes sofisticados realizar ataques Man-In-The-Middle.

TLS es todo acerca de proporcionar un canal de comunicación seguro. TLS garantiza que el contenido de su comunicación no puede ser leído o alterado por terceros, asumiendo que se utilicen suites de cifrado seguras y que no haya ataques no descubiertos en la versión de TLS utilizada.

TLS es en realidad sólo una versión más reciente de SSL. Corrige algunas vulnerabilidades de seguridad en los protocolos SSL anteriores.

Aquí está el historial completo de las versiones de SSL y TLS:

  • SSL 1.0 – nunca se ha publicado debido a problemas de seguridad.
  • SSL 2.0 – lanzado en 1995. Desaparecido en 2011. Ha tenido problemas de seguridad.
  • SSL 3.0 – lanzado en 1996. Se depreció en el 2015. Ha tenido problemas de seguridad.
  • TLS 1.0 – lanzado en 1999 como una actualización a SSL 3.0. La depreciación prevista para el año 2020.
  • TLS 1.1 – publicado en 2006. La depreciación prevista para el año 2020.
  • TLS 1.2 – publicado en 2008.
  • TLS 1.3 – lanzado en 2018.

No sólo es TLS más seguro y eficiente, sino que la mayoría de los navegadores web modernos ya no soportan SSL 2.0 y SSL 3.0. Por ejemplo, Google Chrome dejó de ser compatible con SSL 3.0 en 2014 y la mayoría de los principales navegadores tienen previsto dejar de ser compatibles con TLS 1.0 y TLS 1.1. Google empezó a mostrar notificaciones de advertencia ERR_SSL_OBSOLETE_VERSION en Chrome.

Navegadores que usan TLS 1.3: https://caniuse.com/tls1-3 

Para comprobar la versión SSL que usa el navegador, ver: https://www.howsmyssl.com/ 

Información del INCIBE: https://www.incibe.es/protege-tu-empresa/blog/si-tu-web-cuenta-certificado-seguridad-comprueba-utilizas-version-segura-del 

Más información:

Certificados SSL

¿Qué es un certificado SSL? Básicamente podemos decir que es un estándar de seguridad global que permite que los datos transferidos al navegar vayan cifrados correctamente. Evita que la información enviada entre un navegador y un servidor pueda ser filtrada. 

Para establecer esta conexión segura, se instala en un servidor web un certificado SSL (también llamado “certificado digital”) que cumple dos funciones:

  • Autenticar la identidad del sitio web, garantizando a los visitantes que no están en un sitio falso.
  • Cifrar la información transmitida.

Los certificados SSL son emitidos por Autoridades de Certificación (CA), que son organizaciones de confianza a cargo de verificar la identidad y legitimidad de la entidad que solicita un certificado.

La autoridad de certificación (CA), también a veces referido como autoridad de certificación, es una empresa u organización que actúa para validar las identidades de las entidades (como sitios web, direcciones de correo electrónico, empresas o personas individuales) y vincularlas a claves criptográficas mediante la emisión de documentos electrónicos conocidos como Certificados digitales. Un certificado digital proporciona:

  • Autenticación, al servir como credencial para validar la identidad de la entidad a la que se expide.
  • Cifrado, para una comunicación segura a través de redes inseguras como Internet.
  • Integridad de documentos firmados con el certificado para que no puedan ser alterados por un tercero en tránsito.

El rol de la CA es recibir solicitudes de certificados, autenticar las solicitudes, emitir certificados y mantener información sobre el estado de los certificados emitidos.

Hay varios tipos de certificados SSL según la cantidad de nombres de dominio o subdominios que se tengan, como por ejemplo:

  • Único: asegura un nombre de dominio o subdominio completo (FQDN).
  • Comodín: cubre un nombre de dominio y un número ilimitado de sus subdominios.
  • Multidominio: asegura varios nombres de dominio.

Otros tipos de certificados dependen del nivel de validación requerido, como por ejemplo:

  • Validación de dominios: este nivel de validación es el más económico y brinda un cifrado básico y la verificación del titular del registro del nombre de dominio. Este tipo de certificado se entrega en unos minutos o unas pocas horas.
  • Validación de organización: además del cifrado básico y la verificación del titular del registro del nombre de dominio, autentica algunos detalles del propietario, como el nombre y su dirección. Este tipo de certificado se entrega en unas pocas horas o algunos días.
  • Validación extendida (EV): proporciona el mayor nivel de seguridad debido a la investigación exhaustiva que se lleva a cabo antes de emitir este certificado según lo estipulado en las pautas establecidas por el consorcio de la industria de certificados SSL. Además de la autenticación de la entidad y la titularidad del registro del nombre de dominio, se verifica la existencia legal, física y operativa de la entidad. Este tipo de certificado se entrega en unos días o semanas.

Coste de certificados: https://www.ssl.com/es/certificados/ 

Certificado Raíz: En criptografía y seguridad informática, un certificado raíz es un certificado de clave pública sin firma o autofirmado que identifica la autoridad de certificación raíz (CA). Un certificado raíz forma parte de un esquema de infraestructura de clave pública. La variedad comercial más común está basada en el estándar ITU-T X.509, el cual normalmente incluye una firma digital de una autoridad de certificación.

En SSL/TLS, S/MIME y otras aplicaciones de Certificados X.509, se utiliza una jerarquía de certificados para verificar la validez del emisor de un certificado. Esta jerarquía se conoce como cadena de confianza. En una cadena de confianza, los certificados son emitidos y firmados por certificados que viven más arriba en la jerarquía.

Es fácil ver una cadena de confianza por sí mismo al inspeccionar un HTTPS certificado del sitio web. Al comprobar certificado SSL /TLS en un navegador web, encontrará un desglose de la cadena de confianza de ese certificado digital, incluido el ancla de confianza, los certificados intermedios y el certificado de entidad final. Estos diversos puntos de verificación están respaldados por la validez de la capa anterior o “enlace”, que se remonta al ancla de confianza.

Firma digital: https://firmaelectronica.gob.es/Home/Ciudadanos/Firma-Electronica.html 

Comprobar seguridad de un certificado SSL:

Más información:

Noticias sobre certificados SSL:

Cómo Funciona la Comunicación Segura

Pasos:

  1. La CA genera el certificado del servidor (srv.crt) con la clave pública (paso previo ya hecho).
  2. El cliente se conecta al servidor y recibe el certificado del servidor.
  3. El cliente verifica que el certificado del servidor ha sido firmado por una autoridad de certificación (CA) válida.
  4. El cliente cifra la comunicación con la clave pública del certificado ya validado.
  5. La comunicación cifrada sólo puede ser descifrada con la clave privada del servidor que en ningún momento ha salido del servidor.

Más información:

Certificados Gratuitos con Let’s Encrypt

Let’s Encrypt​ es una autoridad de certificación que se puso en marcha el 12 de abril de 2016 y que proporciona certificados X.509 gratuitos para el cifrado de Seguridad de nivel de transporte (TLS) a través de un proceso automatizado diseñado para eliminar el complejo proceso actual de creación manual, la validación, firma, instalación y renovación de los certificados de sitios web seguros.

Su objetivo es cifrar toda la web y hacerla un lugar que respete más la privacidad. Google ha estado fuertemente empujando a HTTPS en todas partes durante los últimos años. Y Let’s Encrypt realmente ha comenzado a tener un gran impacto en la industria, especialmente en lo que se refiere a hospedaje SSL de forma gratuita.

Sólo se emiten certificados de dominio validado, no se ofrecerá la validación de organizaciones certificados de validación extendida, esto significa que los certificados no tienen una garantía, que asegura al usuario final contra pérdida de dinero al enviar un pago a un sitio web asegurado por SSL.

No cualquiera puede de repente convertirse en una autoridad de certificación, porque se necesita la confianza de diferentes plataformas. Exploradores y dispositivos confían en una entidad emisora de certificados (CA) aceptando el certificado raíz en su almacén raíz, que básicamente es una base de datos aprobado por CA que viene preinstalada con el explorador o el dispositivo.

Microsoft, Mozilla, Apple, todos tienen sus propios almacenes de raíz. Así que para convertirse en una entidad emisora de certificados, necesita tener la confianza de algunos de los grandes nombres de la industria. Cuando Let’s Encrypt se lanzó por primera ocasión recibieron firmas cruzadas de IdenTrust, que les dio la confianza de todos los principales navegadores.

Estadísticas Let’s Encrypt: https://letsencrypt.org/stats/ 

Transparencia de certificados: https://certificate.transparency.dev/. Todos los certificados emitidos o revocados son públicamente registrados y disponibles para cualquier persona a inspeccionar.

Herramienta de búsqueda de certificados: https://crt.sh/ 

Para que funcionen los certificados de Let’s Encrypt es necesario:

  • Tener el certificado IdenTrust DST X3 raíz en su almacén de confianza.
  • La plataforma debe soportar modernos certificados de SHA-2. Los certificados de Let’s Encrypt son compatibles con los navegadores modernos.

Al tener acceso a Let’s Encrypt, no es necesario entrar en el confuso proceso de obtención de las claves de su certificado, claves privadas, depurar el certificado intermedio, o generar una CSR. Básicamente es una integración con un solo clic. Let’s Encrypt también es completamente segura. Es respaldada por las corporaciones y empresas como Automattic, Mozilla, Cisco, Google Chrome, Facebook, Sucuri – sólo para nombrar unas cuantas.

Los certificados SSL de Let’s Encrypt por diseño, caducan cada 90 días y hay que programar la renovación automática o hacerlo manualmente.

Más información:

Instalar Certificado

Instalar certificado TLS/SSL confiado de Lets Encrypt:

Certbot simplifica todo el proceso: https://certbot.eff.org/ 

Instrucciones certbot: https://certbot.eff.org/instructions 

Certbot en CentOS 8: https://certbot.eff.org/lets-encrypt/centosrhel8-other 

Más información:

Instalar: 

  • sudo yum install epel-release
  • yum install certbot

Solo certificado: certbot certonly –standalone

Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/midominio.com/fullchain.pem

   Your key file has been saved at:
   /etc/letsencrypt/live/midominio.com/privkey.pem

   Your cert will expire on 2021-02-04. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"

Solo con certbot certonly –standalone ya me genera el certificado.

Para renovar hacer: certbot renew

Interesante nodo de lets encrypt para solicitar y renovar certificados: https://github.com/bartbutenaers/node-red-contrib-letsencrypt 

Mejores prácticas

Utilice siempre TLS si puede

Utilice siempre TLS si puede permitirse el ancho de banda adicional y sus clientes tienen suficiente potencia de cálculo y memoria para TLS. Como regla general, utilice siempre canales de comunicación encriptados, también para otros protocolos como HTTP, MQTT, etc…

Utilizar la versión TLS más alta posible

Aunque TLS 1.0, TLS 1.1 y TLS 1.2 no están rotos en la práctica (al menos hasta ahora), siempre debe utilizar la versión más alta de TLS que sea factible para sus clientes. Existen ataques conocidos contra TLS 1.0 y 1.1, que pueden ser mitigados. Algunos ataques están diseñados para explotar HTTP.

En mosquitto, apachem etc.., se puede elegir la versión de TLS a usar en la configuración.

No utilice SSLv3

No utilice SSLv3 ni ninguna versión anterior. El ataque a POODLE demostró que SSLv3 debe ser considerado roto. Todas las demás versiones de SSL también se consideran rotas y no deben utilizarse.

Siempre validar la cadena de certificados X509

Para evitar ataques Man-In-The-Middle, haga que sus clientes (MQTT, HTTP, etc…) validen el certificado X509 del servidor. Algunas implementaciones de clientes descuidadas utilizan un enfoque “allow-all” (a menudo en combinación con certificados de servidor autofirmados). Siempre vale la pena hacer un esfuerzo adicional para validar los certificados.

Utilizar certificados de las autoridades de certificación de confianza

Los certificados de las autoridades de certificación de confianza valen el dinero extra que cuestan. Los certificados autofirmados no se adaptan bien a muchas implementaciones de TLS y a menudo conducen a un código erróneo. Por ejemplo, código que no valida los certificados y abre la puerta a los ataques Man-In-The-Middle.

Si su broker de MQTT es público, un certificado de confianza es imprescindible. Si utiliza MQTT sobre sockets web, los certificados autofirmados no son óptimos. La mayoría de los navegadores web modernos no permiten conexiones de sockets web a recursos con certificados no confiables.

Utilizar otros mecanismos de seguridad

Además de TLS, siempre es una buena idea utilizar otros mecanismos de seguridad como el cifrado de la carga útil, las verificaciones de la firma de la carga útil y los mecanismos de autorización. En general, más seguridad nunca hace daño.

Utilice sólo suites de cifrado seguro

Hay muchas suites de cifrado inseguras disponibles para TLS. Asegúrese de permitir únicamente suites de cifrado seguras para su comunicación. Se sabe que muchas suites de cifrado están rotas y no tienen una falsa sensación de seguridad.

Cipher Suite:

Más información: https://www.hivemq.com/blog/mqtt-security-fundamentals-tls-ssl

Gateways IoT

Un Gateway IoT es un dispositivo físico o un programa de software que sirve como punto de conexión entre la nube y los controladores, sensores y dispositivos inteligentes. Todos los datos que se mueven a la nube, o viceversa, pasan por el gateway, que puede ser un dispositivo de hardware dedicado o un programa de software. Un gateway IoT también puede denominarse pasarela inteligente o nivel de control.

Algunos sensores generan decenas de miles de puntos de datos por segundo. Una pasarela proporciona un lugar para preprocesar esos datos localmente en el borde antes de enviarlos a la nube. Cuando los datos se agregan, se resumen y se analizan tácticamente en el borde, se minimiza el volumen de datos que deben ser enviados a la nube, lo que puede tener un gran impacto en los tiempos de respuesta y en los costes de transmisión de la red.

Otra ventaja de una pasarela de IoT es que puede proporcionar seguridad adicional para la red de IoT y los datos que transporta. Dado que el gateway gestiona información que se mueve en ambas direcciones, puede proteger los datos que se mueven hacia la nube de fugas y dispositivos de IoT de ser comprometidos por ataques externos maliciosos con características tales como detección de manipulaciones, cifrado, generadores de números aleatorios de hardware y motores de cifrado.

La pasarela IoT desempeña un papel importante en la gestión de los dispositivos. Cada dispositivo (sensor/actuador) tiene un caso de uso diferente y emite mensajes a través de diferentes canales como Wifi, BLE, Zigbee, Ethernet, RF, LPWAN, LTE, etc. y el gateway realiza varias funciones como conectividad de dispositivos, traducción de protocolos, agregación, filtrado, correlación, seguridad, actualizaciones, administración y más. Se sitúa entre los dispositivos y la plataforma de nube.

Además un Gateway puede hacer conexión VPN segura entre localizaciones diferentes, permitiendo unir de forma segura diferentes puntos a través de Internet.

Routers y Gateways industriales inteligentes https://ewon.biz/es  

Hace no tantos años la conexión remota era por módem o por GSM con conexiones pto a pto. En la actualidad usamos internet para el telecontrol, pero es un problema el tema de la seguridad. Ya existen dispositivos como el router industrial eWON Flexy https://ewon.biz/es/productos/flexy modular que es servidor OPC UA y cliente openvpn, es muy potente para conectar y dar funcionalidades adicionales a unos autómatas.

eWON monta la VPN y al ser servidor modbus TCP y OPC UA, es posible acceder remotamente y de forma segura a los datos del autómata e integrarlo con datos de otras localizaciones.

Ejemplo Gateway LoRa:

Y el código: https://github.com/jecrespo/aprendiendoarduino-lora/blob/master/Demo_LoRa/rf95_server/rf95_server.ino

Programación de los Gateways IoT:

Comunicaciones Arduino

Una de las principales ventajas de Arduino es que podemos dotarlo de comunicación de una forma sencilla añadiendo un shield o una breakout board y dispondremos de casi cualquier tipo de comunicación tanto de acceso a Internet como de para comunicar arduinos entre sí o con otros dispositivos de una red privada.

Ethernet: la forma más clásica de comunicar arduino mediante el shield de ethernet. https://www.arduino.cc/en/Main/ArduinoEthernetShield

Wifi: Hay múltiples formas de conectar Arduino a internet mediante wifi:

Bluetooth: https://aprendiendoarduino.wordpress.com/2016/11/13/bluetooth-en-arduino/

Conectividad Arduino

Arduino puede comunicarse con cualquier medio usando el HW adecuado. Comunicaciones para Arduino:

Conectividad IoT

Una de las principales ventajas de Arduino es que podemos dotarlo de comunicación de una forma sencilla añadiendo un shield o una breakout board y dispondremos de casi cualquier tipo de comunicación tanto de acceso a Internet como de para comunicar arduinos entre sí o con otros dispositivos de una red privada.

Articulo interesante redes: https://www.artik.io/blog/2015/iot-101-networks

Articulo interesante conectividad: https://www.artik.io/blog/2015/iot-101-connectivity

Leer este white paper: http://www.ti.com/lit/wp/swry017/swry017.pdf

Guía de conectividad de IoT:  https://www.ibm.com/developerworks/library/iot-lp101-connectivity-network-protocols/index.html

Interesante artículo sobre redes para IoT: https://www.redeweb.com/articulos/software/11-redes-inalambricas-fundamentales-para-internet-de-las-cosas/

IOT primeras redes IoT en Holanda y Corea: http://blogthinkbig.com/nace-la-primera-y-la-segunda-red-para-internet-de-las-cosas/

Muy buena explicación de comunicaciones: https://learn.adafruit.com/alltheiot-transports/introduction

Redes Inalámbricas IoT

ZigBee

ZigBee es una tecnología inalámbrica más centrada en aplicaciones domóticas e industriales. Los perfiles ZigBee PRO y ZigBee Remote Control (RF4CE) se basan en el protocolo IEEE 802.15.4, una tecnología de red inalámbrica que opera a 2,4GHz en aplicaciones que requieren comunicaciones con baja tasa de envío de datos dentro de áreas delimitadas con un alcance de 100 metros, como viviendas o edificios.

IEEE 802.15.4 es un estándar que define el nivel físico y el control de acceso al medio de redes inalámbricas de área personal con tasas bajas de transmisión de datos (low-rate wireless personal area network, LR-WPAN). El grupo de trabajo IEEE 802.15 es el responsable de su desarrollo. También es la base sobre la que se define la especificación de ZigBee, cuyo propósito es ofrecer una solución completa para este tipo de redes construyendo los niveles superiores de la pila de protocolos que el estándar no cubre.

ZigBee/RF4CE tiene algunas ventajas significativas como el bajo consumo en sistemas complejos, seguridad superior, robustez, alta escalabilidad y capacidad para soportar un gran número de nodos. Así, es una tecnología bien posicionada para marcar el camino del control wireless y las redes de sensores en aplicaciones IoT y M2M.

  • Estándar: ZigBee 3.0 basado en IEEE 802.15.4
  • Frecuencia: 2.4GHz
  • Alcance: 10-100m
  • Velocidad de transferencia: 250kbps

XBee

es el nombre comercial del Digi de una familia de módulos de comunicación por radio y están basados en el estándar zigbee, pero digi tiene muchos Xbee y algunos son zigbee estándar y otros son propietarios o modificaciones del estándar. Existen muchos módulos Xbee basados en el estándar IEEE 802.15.4

Más información: https://aprendiendoarduino.wordpress.com/2016/11/16/zigbeexbee/

WiFi

Normalmente la conectividad WiFi es la opción obvia elegida por los desarrolladores dada la omnipresencia de WiFi en entornos domésticos y comerciales: existe en la actualidad una extensa infraestructura ya instalada que transfiere datos con rapidez y permite manejar grandes cantidades de datos. Actualmente, el standard WiFi más habitual utilizado en los hogares y en muchas empresas es el 802.11n, ofreciendo un rendimiento significativo en un rango de cientos de megabits por segundo, muy adecuado para la transferencia de archivos, pero que consume demasiada potencia para desarrollar aplicaciones IoT.

  • Estándar: Basado en 802.11n
  • Frecuencia: 2,4GHz y 5GHz
  • Alcance: Aproximadamente 50m
  • Velocidad de transferencia: hasta 600 Mbps, pero lo habitual es 150-200Mbps, en función del canal de frecuencia utilizado y del número de antenas (el standard 802.11-ac ofrece desde 500Mbps hasta 1Gbps)

Bluetooth

Bluetooth es una de las tecnologías de transmisión de datos de corto alcance más establecidas, muy importante en el ámbito de la electrónica de consumo. Las expectativas apuntan a que será clave para desarrollar dispositivos wearable, ya que permitirá el establecimiento de conexiones IoT, probablemente a través de un smartphone.

El nuevo Bluetooth de baja energía, también conocido como Bluetooth LE o Bluetooth Smart, es otro protocolo importante para desarrollar aplicaciones IoT. Se caracteriza por ofrecer un alcance similar al de la tecnología Bluetooth normal pero con un consumo de energía significativamente reducido.

Es importante destacar que la versión 4.2, gracias a la incorporación del Internet Protocol Support Profile, permite conectarse directamente a internet mediante IPv6/6LoWPAN. Esto facilita el utilizar la infraestructura IP existente para gestionar dispositivos Bluetooth Smart basado en “edge computing”.

  • Estándar: Bluetooth 4.2
  • Frecuencia: 2,4GHz (ISM)
  • Alcance: 50-150m (Smart/LE)
  • Velocidad de transferencia: 1Mbps (Smart/LE)

Thread

En la actualidad, el protocolo de red más innovador basado en IPv6 es Thread. Diseñado para domótica, está basado en 6LowPAN, y del mismo modo que aquel, no es un protocolo de aplicaciones IoT como Bluetooth o ZigBee. Se diseñó como un complemento WiFi, puesto que aunque la tecnología Wi-Fi funciona muy bien en dispositivos de consumo, tiene limitaciones al utilizar en configuraciones de domótica.

Lanzado a mediados del 2014 por Thread Group, este protocolo sin canon de uso se basa en varios protocolos como IEEE 802.15.4, IPv6 y 6LoWPAN.

Es una solución resistente basada en IP para aplicaciones IoT.

Diseñado para trabajar sobre chips IEEE 802.15.4 ya existentes de fabricantes como Freescale y Silicon Labs, Thread es compatible con redes de topología de malla al utilizar radio transceptores IEEE802.15.4, siendo capaz de manejar hasta 250 nodos con altos niveles de autenticación y cifrado.

Una actualización de software relativamente sencilla permite a los usuarios utilizar thread en dispositivos ya compatibles con IEEE 802.15.4.

  • Estándar: Thread, basado en IEEE802.15.4 y 6LowPAN
  • Frecuencia: 2,4GHz (ISM)
  • Alcance: N/A
  • Velocidad de transferencia: N/A

Red de telefonía móvil

Cualquier aplicación IoT que necesite funcionar en grandes áreas puede beneficiarse de las ventajas de la comunicación móvil GSM/3G/4G.

La red de telefonía móvil es capaz de enviar grandes cantidades de datos, especialmente a través de 4G, aunque el consumo de energía y el coste económico de la conexión podrían ser demasiado altos para muchas aplicaciones.

Sin embargo, puede ser ideal para proyectos que integren sensores y que no requieran un ancho de banda muy grande para enviar datos por Internet.

  • Estándares: GSM/GPRS/EDGE (2G), UMTS/HSPA (3G), LTE (4G)
  • Frecuencias: 900 / 1800 / 1900 / 2100
  • Alcance: hasta 35km para GSM; hasta 200km para HSPA
  • Velocidad de transferencia (descarga habitual): 35-170kps (GPRS), 120-384kbps (EDGE), 384Kbps-2Mbps (UMTS), 600kbps-10Mbps (HSPA), 3-10Mbps (LTE)

Neul

El concepto de este sistema es similar al de Sigfox y funciona en la banda sub-1GHz. Neul aprovecha pequeños fragmentos de la “banda blanca” de las estaciones de TV para ofrecer alta escabilidad, amplia cobertura y bajo costes.

Este sistema se basa en el chip Iceni, que se comunica utilizando los “banda blanca” de la radio para acceder al espectro UHF de alta calidad. Ya está disponible debido a la transición analógica a la televisión digital.

La tecnología de comunicaciones que utiliza se llama Weightless, que es una nueva tecnología de red inalámbrica ampliada diseñada para aplicaciones IoT que compite contra las soluciones GPRS, 3G, CDMA y LTE WAN.

La velocidad de transferencia de datos puede ir de unos bits por segundo hasta 100 Mbps en el mismo enlace. Desde el punto de vista del consumo, los dispositivos consumen tan solo de 20 a 30 mA, es decir, de 10 a 15 años de autonomía con 2 pilas AA.

Para poder emplear esta tecnología hay que tener en cuenta la decisión que se haya tomado acerca del uso de las frecuencias de la banda blanda.

  • Estándar: Neul
  • Frecuencia: 900MHz (ISM), 458MHz (UK), 470-790MHz (espacios en blanco)
  • Alcance: 10km
  • Velocidad de transferencia: Desde unos pocos bps hasta 100kbps

6LoWPAN

6LowPAN (IPv6 Low-power wireless Personal Area Network) es una tecnología inalámbrica basada en IP muy importante. En vez de tratarse de una tecnología de protocolos de aplicaciones IoT, como Bluetooth o ZigBee, 6LowPAN es un protocolo de red que permite mecanismos de encapsulado y compresión de cabeceras. Esta tecnología ofrece libertad de banda de frecuencia y capa física, por lo que se puede utilizar a través de múltiples plataformas de comunicaciones, como Ethernet, Wi-Fi, 802.15.4 y sub-1GHz ISM.

Una característica clave es la introducción de la pila IPv6 (protocolo de internet versión 6), una innovación clave en el avance de IoT en los últimos años, ya que con IPv6 se ofrecen aproximadamente 5 x 10E28 direcciones IP a nivel global, permitiendo que cualquier objeto o dispositivo embebido tenga su propia dirección IP única para conectarse a Internet.

Ha sido diseñada especialmente para el hogar y la automatización de edificios proporcionando un mecanismo de transporte básico para producir sistemas de control complejos e interconexión de dispositivos de un modo económico a través de una red inalámbrica de bajo consumo.

Diseñada para enviar paquetes IPv6 sobre redes IEEE 802.15.4, para luego implementar protocolos superiores como TCP, UDP, HTTP, COAP, MQTT y websockets, 6LowPAN es una red de topología en malla robusta, escalable y auto-regenerativa. Los routers pueden encaminar datos enviados a otros dispositivos, mientras que los hosts permanecen inactivos mucho tiempo.

  • Estándar: RFC6282
  • Frecuencia: adaptable a múltiples capas físicas como Bluetooth Smart (2.4GHz), ZigBee o comunicación RF de bajo consumo (sub-1GHz)
  • Alcance: N/A
  • Velocidad de transferencia: N/A

LoRaWAN

Es una especificación de una red LPWAN (Low Power Wide Area Network) propuesta por la LoRa Alliance y pensada para comunicar dispositivos de bajo coste y bajo consumo alimentados por baterías. La especificación cubre las capas PHY y MAC de la red, dejando a las aplicaciones el resto de capas. En la banda ISM de 868MHz (915 MHz en otras regiones), con un bitrate de hasta decenas de kbps (de 0.3 kbps hasta  50 kbps).

Enlaces:

Esta tecnología se parece en algunos aspectos a Sigfox y a Neul. LoRaWAN está diseñada para implementar redes de área amplia (WAN) con características específicas para soportar comunicaciones móviles, bidireccionales, económicas y seguras para aplicaciones de IoT, M2M, ciudades inteligentes y aplicaciones industriales.

Optimizada para bajo consumo de energía y para ofrecer amplias redes con millones y millones de dispositivos, sus velocidades de transferencia de datos van desde 0,3 kbps hasta 50 kbps.

  • Estándar: LoRaWAN
  • Frecuencia: Varias
  • Alcance: 2-5km (entorno urbano), 15km (entorno rural)
  • Velocidad de transferencia: 0,3-50 kbps.

Z-Wave

Z-Wave es una tecnología RF de bajo consumo diseñada inicialmente para productos de domótica como controladores de iluminación y sensores. Optimizado para la comunicación fiable de baja latencia de pequeños paquetes de datos, alcanza velocidades de datos de hasta 100kbit/s, opera en la banda de sub-1 GHz y es robusta frente a interferencias de Wi-Fi y otras tecnologías inalámbricas en el rango 2,4 GHz como Bluetooth o ZigBee. Es totalmente compatible con redes de topología de malla, no necesita un nodo coordinador y es muy escalable, permitiendo controlar hasta 232 dispositivos.

Z-Wave utiliza un protocolo más simple que otras tecnologías lo que permite una mayor rapidez en el desarrollo, pero el único fabricante de chips compatibles es la empresa Sigma Design, en comparación con la multitud de empresas que ofrecen productos de otras tecnologías inalámbricas como ZigBee o Bluetooth.

  • Estándar: Z-Wave Alliance ZAD12837 / ITU-T G.9959
  • Frecuencia: 900MHz (Banda ISM)
  • Alcance: 30m
  • Velocidad de transferencia: 9,6/40/100kbit/s

NFC

NFC (Near Field Communication) es una tecnología que permite dos vías simultáneas de interacción segura entre dispositivos electrónicos, siendo especialmente adecuada para smartphones, permitiendo a los consumidores realizar transacciones de pago, acceder al contenido digital y conectar dispositivos electrónicos, todo ellos sin contacto. Esencialmente, amplía la capacidad de la tecnología contacless de las tarjetas inteligentes permitiendo conexiones punto a punto y modos de funcionamiento activos y pasivos.

  • Estándar: ISO/IEC 18000-3
  • Frecuencia: 13.56MHz (ISM)
  • Alcance: 10cm
  • Velocidad de transf.: 100–420kbps

nRF24

Este dispositivo NRF2401, integra en un único chip, toda la electrónica y bloques funcionales precisos, para establecer comunicaciones RF (Radio Frecuencia) entre dos o más puntos a diferentes velocidades, (Hasta 2  Mb/seg) con corrección de errores y protocolo de reenvío cuando es necesario, sin intervención del control externo, lo que nos permite aislarnos de todo el trabajo sucio y complicado relacionado con la transmisión física.

Información de producto: http://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRF24L01

Sigfox

Es una solución de conectividad celular mundial para el Internet of Things pensada para comunicaciones de baja velocidad que permite reducir los precios y el consumo de energía para los dispositivos conectados. La solución de conectividad SIGFOX se basa en una infraestructura de antenas y de estaciones de base totalmente independientes de las redes existentes.

En la red SIGFOX se transmiten mensajes de 12 bytes, pudiendo enviar 140 mensajes al día.

Sigfox trabaja con fabricantes como Texas Instruments, Atmel, Silicon Labs y otros para poder ofrecer distintos tipos de SOC, transceptores y componentes de conexión a su red. En el caso de smartphones y tablets, actualmente no son compatibles con esta red, pero, al no tener licencia de uso, su inclusión sería realmente económica y sencilla.

Es una alternativa de amplio alcance es Sigfox, que en términos de alcance está entre Wi-Fi y la comunicación móvil. Utiliza bandas ISM, que se pueden utilizar sin necesidad de adquirir licencias.

Sigfox responde a las necesidades de muchas aplicaciones M2M que funcionan con una batería pequeña y solo requieren niveles menores de transferencia de datos, allí donde WiFi se queda demasiado corto y la comunicación móvil es muy cara y consume demasiada energía.

Sigfox utiliza una tecnología llamada Ultra Narrow Band (UNB) diseñada para funcionar con bajas velocidades de transferencias de 10 a 1.000 bits por segundo.

Solo consume 50 microvatios (la comunicación móvil consume 5.000 microvatios) además de poder mantenerse en stand-by 20 años con una batería 2.5Ah (0,2 años para comunicaciones móviles).

Esta tecnología es robusta, energéticamente eficiente y funciona como una red escalable que puede comunicarse con millones de dispositivos móviles a lo largo de muchos kilómetros cuadrados. Así pues, es adecuada para aplicaciones M2M como: contadores inteligentes, monitores médicos, dispositivos de seguridad, alumbrado público y sensores ambientales.

El sistema Sigfox utiliza los transceptores inalámbricos que funcionan en la banda sub-1GHz ofreciendo un rendimiento excepcional, mayor alcance y un consumo mínimo.

  • Estándar: Sigfox
  • Frecuencia: 900MHz
  • Alcance: 30-50km (ambientes rurales), 3-10km (ambientes urbanos)
  • Velocidad de transferencia: 10-1000bps

Más información: https://www.rs-online.com/designspark/eleven-internet-of-things-iot-protocols-you-need-to-know-about

Retos de IoT

Algunos de los retos de IoT:

  • Bajo consumo
  • Diseño de HW eficiente
  • Compatibilidad electromagnética
  • Seguridad
  • Conectividad y redes adecuadas
  • Escalabilidad
  • Sistemas robustos

Actualmente el reto de IoT es marcar un estándar de comunicación entre el HW y las plataformas que generalmente se encuentran en la nube de forma que todos los dispositivos se puedan comunicar con todas las plataformas de IoT. Otro reto es la integración de todos los sistemas/elementos de los que disponemos.

A nivel de hardware el reto es el uso eficiente de energía para tener dispositivos remotos que puedan funcionar con baterías por años. En esta web tienen productos para recoger energía del entorno y pulsadores sin baterías: https://www.enocean.com/en/

El tener dispositivos con una autonomía de uso de varios años también dependerá de la tecnología usada y del desarrollo de las baterías. Un buen artículo sobre baterías:

Además el propio dispositivo IoT tiene que tener una gestión de energía eficiente. En estos artículos da unos consejos:

También es muy importante un buen diseño de la placa para IoT. En este documento da información de ellos: https://www.artik.io/blog/2016/11/printed-circuit-boards-for-iot/

Si desarrollamos nuestro propio hardware IoT, hay que tener en cuenta la compatibilidad electromagnética (EMC): https://www.artik.io/blog/2016/11/iot-201-emc-compliance/

Otro reto de IoT  es la seguridad:

Encontrar una conectividad y redes adecuada es un reto al que cualquiera que quiera hacer un proyecto IoT se va a enfrentar:

También es importante crear sistema escalables que puedan crecer fácilmente y que sean sistemas robustos y resistentes, esto se pondrá a prueba por el enorme volumen de datos que se generará. Problemas de tráfico de red, almacenamiento, procesamiento, aprendizaje y explotación serán algunos puntos a tener muy en cuenta al diseñar una solución IoT.

Por último IoT debe ser fácil de adoptar por personas/empresas sin experiencia previa si queremos que se adopte la digitalización de las empresas.

Barreras de IoT

  • ciberseguridad
  • retorno de la inversión
  • integrar máquinas antiguas
  • precio

Más información: