Autor: Héctor Tejero Arrow Electronics
Introducción
La autenticación es fundamental para las aplicaciones empresariales. Al verificar la identidad de los usuarios, dispositivos y entidades del sistema, las aplicaciones garantizan que sólo el personal, los dispositivos o los sistemas autorizados tengan acceso a información y recursos confidenciales, lo que reduce la posibilidad de que se produzcan filtraciones de datos.
En el contexto del IoT, merece la pena explorar varios métodos de autenticación, como la autenticación basada en certificados y la autenticación basada en tokens. El material de autenticación utilizado por los dispositivos IoT suele estar protegido en una Raíz de Confianza (RoT, por sus siglas en Ingles «Root of Trust») de hardware gestionada por un Entorno de Ejecución de Confianza. RoT es un componente o conjunto de componentes que proporcionan una base segura para los mecanismos de seguridad de un sistema. La RoT es esencial para establecer la confianza en un sistema y garantizar su funcionamiento seguro.
La RoT proporciona un conjunto de servicios criptográficos/de confianza y operaciones criptográficas implementadas como los bloques de construcción de un dispositivo de confianza. Es fundamental para garantizar que el código de arranque del dispositivo no autorizado y los componentes de software del dispositivo no puedan utilizarse para autenticarse en la red como dispositivos auténticos, sustraer o comprometer datos confidenciales y atacar la red.
Autenticación basada en certificados
La autenticación basada en certificados es un método de autenticación que utiliza certificados digitales para verificar la identidad de un usuario o dispositivo. Un certificado digital es un archivo digital que contiene información sobre el usuario o dispositivo y una clave pública que puede utilizarse para cifrar y la verificación de firmas digitales.
En la autenticación basada en certificados, un usuario o dispositivo presenta un certificado digital a un servidor para autenticar su identidad. El servidor verifica el certificado cotejando su firma digital con una autoridad de certificación de confianza que haya emitido el certificado. Si el certificado es válido, el servidor permite el acceso del usuario o dispositivo. La autenticación bidireccional también es habitual.
La autenticación basada en certificados se considera más segura que la autenticación tradicional basada en contraseñas porque es más difícil sustraer o adivinar una clave privada que una contraseña. Además, los certificados digitales se emiten normalmente por un periodo de validez determinado. Pueden revocarse si el certificado se ve comprometido o si el usuario o dispositivo ya no está autorizado a acceder al sistema.
La autenticación basada en certificados se utiliza habitualmente en aplicaciones web seguras, redes privadas virtuales y otros sistemas que requieren una autenticación robusta. También se utiliza de forma generalizada en el IoT para proteger las comunicaciones entre dispositivos y la red o la nube.
Para implementar la autenticación basada en certificados, un usuario o dispositivo debe obtener un certificado digital de una autoridad de certificación de confianza. El certificado suele instalarse en el dispositivo del usuario o almacenarse en una tarjeta inteligente u otro dispositivo de hardware seguro como la RoT. Cuando el usuario o dispositivo se conecta al servidor, presenta el certificado como prueba de su identidad. El servidor verifica el certificado y concede el acceso si es válido. La autenticación basada en certificados está integrada en muchos protocolos IoT, incluido el protocolo SSL/TLS, ampliamente utilizado.
Autenticación basada en tokens
Los tokens de autenticación, por su parte, se utilizan en aplicaciones en la nube para autenticar y autorizar dispositivos IoT. Cuando un dispositivo intenta establecer una conexión con un servicio en la nube, el servidor de autenticación genera un token y lo envía de vuelta al cliente para que este lo utilice para responder a la solicitud de conexión al servidor. El token suele ser una cadena de caracteres específica del dispositivo IoT y de la sesión actual.
El dispositivo almacena el token, normalmente en un almacenamiento protegido localmente y respaldado por aislamiento de hardware, y lo envía al servidor junto con las siguientes solicitudes de comunicación. A continuación, el servidor verifica el token para determinar si el usuario está autenticado y autorizado para acceder al recurso solicitado.
Los tokens de autenticación pueden implementarse utilizando varios protocolos, incluyendo OAuth 2.0 y JSON Web Tokens (JWT). La implementación específica dependerá de los requisitos de la aplicación y de las necesidades de seguridad del sistema.
Message Queuing Telemetry Transport (MQTT) es uno de los protocolos de red máquina a máquina más extendidos para la telemetría de datos. MQTT no tiene soporte integrado para la autenticación basada en token, pero proporciona un mecanismo para implementar métodos de autenticación personalizados.
Para implementar la autenticación basada en token en MQTT se utiliza un JWT. Cuando el cliente se conecta al servidor de autenticación, éste verifica la identidad del cliente y emite un token JWT de sesión para el cliente. El cliente utiliza este token JWT temporal para conectarse al bróker MQTT, que verifica si el token JWT es válido antes de conceder el acceso. Es importante mantener el token JWT en el almacenamiento protegido del dispositivo ya que, si es sustraído por un atacante potencial, podría ser utilizado para obtener acceso al bróker MQTT.
El uso de tokens de autenticación tiene sus ventajas. Los tokens de autenticación no tienen estado, lo que significa que el servidor no necesita mantener ningún estado de sesión en el lado del servidor. Los tokens pueden ser revocados o caducados, proporcionando seguridad adicional y control sobre el acceso a la aplicación.
Conclusión
Muchas organizaciones con visión de futuro se han estado transformando hacia modelos de negocio basados en servicios para tener mayor éxito en la economía digital. Y está claro que los métodos de autenticación fuertes y la seguridad robusta seguirán desempeñando un papel crucial en el soporte de la prestación y el consumo de servicios seguros, ahora y en el futuro.
Este es el tercero de una serie de artículos de Arrow Electronics que exploran las características deseables de los sistemas conectados seguros.