Innovando la seguridad del IoT con identidad autosoberana
Un nuevo diseño de apretón de manos para la gestión segura de identidades IoT.
― 7 minilectura
Tabla de contenidos
- Identidad Autosoberana
- Desafíos en la Implementación de SSI
- El Apretón de Manos de TLS
- Extendiendo el Apretón de Manos TLS para VCs
- Ventajas del Nuevo Diseño del Apretón de Manos
- Implementación del Nuevo Apretón de Manos en OpenSSL
- Análisis de Rendimiento
- Configuración Experimental
- Resultados de las Pruebas de Rendimiento
- Conclusión y Direcciones Futuras
- Fuente original
- Enlaces de referencia
El número de dispositivos conectados a Internet, conocido como Internet de las Cosas (IoT), está creciendo rápidamente. Para 2030, podría haber alrededor de 29 mil millones de dispositivos IoT. Sin embargo, muchos de estos dispositivos tienen una seguridad débil, lo que los convierte en blanco para atacantes. Para proteger estos dispositivos, es esencial darles identidades seguras. Esto puede ayudar a prevenir accesos no autorizados y ataques a sistemas críticos.
En grandes sistemas IoT, es clave gestionar las identidades de los dispositivos de manera eficiente. Los métodos actuales a menudo dependen de un sistema centralizado llamado Infraestructura de Clave Pública (PKI) usando certificados X.509. Este enfoque puede ser lento y costoso debido a la necesidad de intervención humana en la gestión de certificados. Cuando cambia la identidad de un dispositivo, su certificado debe ser revocado y se debe emitir uno nuevo, lo que puede llevar tiempo y recursos. Además, depender de una única autoridad para los certificados puede crear vulnerabilidades si esa autoridad es comprometida.
Identidad Autosoberana
Una alternativa prometedora es la Identidad Autosoberana (SSI). Este enfoque da a los dispositivos control sobre sus propios datos de identidad sin depender de una autoridad central. En un sistema SSI, cada dispositivo crea su propia identidad y puede almacenar su clave pública en un libro mayor distribuido. Este libro es un lugar seguro donde otros dispositivos pueden encontrar la clave pública del dispositivo.
En un modelo SSI, un dispositivo usa un Identificador Descentralizado (DID) para representar su identidad en el libro mayor. Cuando la información de un dispositivo se almacena en un libro mayor, puede generar un certificado digital llamado Credencial Verificable (VC). Esta credencial contiene información adicional sobre la identidad del dispositivo.
Los beneficios de SSI incluyen:
- Un dispositivo puede cambiar su identidad sin necesidad de actualizar sus credenciales de inmediato.
- Si las claves de un dispositivo se ven comprometidas, puede revocar su DID e invalidar su VC de inmediato.
- Los dispositivos pueden gestionar cambios de identidad sin intervención humana.
- El sistema puede soportar un gran número de dispositivos.
Desafíos en la Implementación de SSI
Si bien SSI tiene un gran potencial, usarlo en sistemas IoT presenta desafíos. Muchas discusiones sobre SSI se han centrado en su uso en la capa de aplicación de Internet, lo que puede ser problemático. El primer problema es la falta de protocolos establecidos que funcionen bien con IoT. El segundo problema es que usar dos tecnologías diferentes al mismo tiempo (certificados X.509 en el lado del servidor y VCs en el lado del cliente) puede complicar el proceso de autenticación mutua.
Para abordar estos problemas, el objetivo es implementar la autenticación directamente en el protocolo de Seguridad de la Capa de Transporte (TLS), que es responsable de crear canales de comunicación seguros a través de Internet. Al agregar soporte para VCs en el apretón de manos de TLS, podemos aprovechar SSI mientras evitamos las desventajas de PKI y certificados X.509.
El Apretón de Manos de TLS
El protocolo TLS funciona estableciendo un canal de comunicación seguro entre un cliente y un servidor. Durante el apretón de manos, que es la fase inicial de creación de esta conexión segura, el cliente y el servidor intercambian mensajes para acordar parámetros criptográficos y autenticar a ambos.
En los apretónes de manos TLS tradicionales, el servidor suele enviar su certificado, que confirma su identidad. El cliente verifica este certificado antes de establecer una conexión segura. Sin embargo, para incluir VCs en el apretón de manos, necesitamos extender el protocolo para admitir este nuevo tipo de certificado.
Extendiendo el Apretón de Manos TLS para VCs
El nuevo protocolo de apretón de manos tiene como objetivo lograr tres metas principales:
- Permitir a los servidores (y opcionalmente a los clientes) autenticarse usando VCs.
- Mantener la compatibilidad con los certificados X.509 existentes, habilitando apretónes de manos híbridos.
- Retener todas las características de seguridad del apretón de manos TLS 1.3 original.
Para ello, introducimos dos extensiones al protocolo: una para el tipo de certificado VC y otra para indicar qué métodos DID soporta un dispositivo. Los dispositivos incluirán estas extensiones durante el proceso de apretón de manos, permitiéndoles usar VCs para la autenticación mientras aún admiten certificados X.509 si es necesario.
Ventajas del Nuevo Diseño del Apretón de Manos
El apretón de manos TLS propuesto no añade nuevos mensajes ni elimina los existentes, sino que se enfoca en integrar VCs mientras mantiene intacto el apretón de manos básico. Al usar este enfoque, las empresas que implementan el nuevo apretón de manos lo encontrarán más fácil de adoptar. El diseño reduce la complejidad asociada con la gestión de certificados y permite una transición más fluida a SSI en IoT.
Implementación del Nuevo Apretón de Manos en OpenSSL
Para evaluar el nuevo apretón de manos, lo implementamos en OpenSSL, una biblioteca criptográfica de código abierto. El objetivo era minimizar los cambios en la base de código de OpenSSL y hacer que la integración fuera fluida. La mayor parte de la nueva funcionalidad se añadió a un proveedor externo, permitiendo que la biblioteca principal de OpenSSL permaneciera sin cambios.
La implementación implicó añadir soporte para el tipo de certificado VC y la extensión de métodos DID. De esta manera, el apretón de manos puede manejar VCs durante la autenticación, asegurando que los dispositivos puedan comunicarse de manera segura sin depender de métodos tradicionales de PKI.
Análisis de Rendimiento
Para probar el rendimiento del nuevo protocolo de apretón de manos, configuramos un entorno experimental usando dispositivos Raspberry Pi. Evaluamos varias configuraciones de conexión y medimos tamaños de apretón de manos y latencias.
Configuración Experimental
Conectamos dos dispositivos Raspberry Pi 4 en una configuración cliente-servidor. Estos dispositivos se comunicaron con un nodo de Tecnología de Libro Mayor Distribuido (DLT) para resolver DIDs. Probamos el nuevo apretón de manos bajo diferentes configuraciones:
- HTTP sobre TCP
- HTTP sobre TCP con IPSec
- HTTPS con un canal TLS establecido durante el apretón de manos
Resultados de las Pruebas de Rendimiento
Los resultados mostraron que el apretón de manos TLS original era generalmente más rápido que los apretónes de manos usando VCs, principalmente debido al tiempo necesario para resolver DIDs durante el proceso de verificación. Sin embargo, las diferencias no fueron lo suficientemente significativas como para descartar los beneficios potenciales de usar VCs.
Para apretónes de manos autenticados unilateralmente, el nuevo protocolo VC experimentó cierto sobrecarga debido a los pasos adicionales de resolución de DID. Sin embargo, usar IPSec ofreció un mejor rendimiento en términos de reducción de latencia, lo que lo convierte en una opción atractiva para asegurar las comunicaciones IoT.
En los apretónes de manos autenticados mutuamente, ambos dispositivos se autenticaron entre sí usando VCs, lo que aumentó ligeramente la latencia. Sin embargo, optimizaciones similares con almacenamiento local de DIDs pueden mejorar el rendimiento.
Conclusión y Direcciones Futuras
En conclusión, el nuevo diseño del apretón de manos TLS ofrece un método viable para incorporar la Identidad Autosoberana en sistemas IoT a gran escala. Al mantener el protocolo compatible con los estándares existentes y minimizar los cambios en la biblioteca OpenSSL, facilitamos la adopción para las empresas que buscan mejorar su seguridad IoT.
Los resultados experimentales demuestran que nuestro enfoque es factible y puede ofrecer un rendimiento comparable a los métodos tradicionales de PKI. De cara al futuro, será esencial optimizar aún más la implementación para mejorar el rendimiento, permitiendo un proceso de gestión de identidad robusto y eficiente en sistemas IoT.
Título: An Efficient TLS 1.3 Handshake Protocol with VC Certificate Type
Resumen: The paper presents a step forward in the design and implementation of a Transport Layer Security (TLS) handshake protocol that enables the use of Verifiable Credential (VC) while maintaining full compliance with RFC-8446 and preserving all the security features of TLS 1.3. The improvement over our previous work lies in the handshake design, which now only uses messages already defined for TLS 1.3. The design has an incredibly positive impact on the implementation, as we made minimal changes to the OpenSSL library and relied mostly on a novel external provider to handle VC and Decentralized IDentifier (DID) related operations. The experimental results prove the feasibility of the design and show comparable performance to the original solution based on Public Key Infrastructure (PKI) and X.509 certificates. These results pave the way for the adoption of Self-Sovereign Identity in large-scale Internet of Things (IoT) systems, with a clear benefit in terms of reducing the cost of identity management.
Autores: Leonardo Perugini, Andrea Vesco
Última actualización: 2024-10-08 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2407.12536
Fuente PDF: https://arxiv.org/pdf/2407.12536
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.