Protocolo de terminal ligero para IoT

1

Para dispositivos IoT con recursos limitados (por ejemplo, sistema integrado con 32 kB de RAM, 128 kB de memoria Flash, ejecutando un RTOS como FreeRTOS, pequeña pila de TCP / IP como lwIP):

Puede ser útil tener un protocolo de tipo terminal para la depuración o la prueba. Sin embargo, telnet no es seguro, mientras que SSH parece lo suficientemente complicado como para que sea difícil de implementar y encajar en un sistema tan pequeño.

¿Hay algún protocolo de terminal ligero pero seguro que sea adecuado para un sistema de IoT con recursos limitados?

Pragmáticamente, ¿es posible reducir SSH a una implementación lean, por ejemplo? con AES pero sin 3DES, aunque este último es técnicamente obligatorio para una implementación de SSH conforme.

    
pregunta Craig McQueen 06.09.2018 - 03:32
fuente

1 respuesta

2

Si solo necesita esto para probar y depurar, ¿por qué necesita que sea seguro? No debe depurar sistemas en vivo mientras se encuentren en un entorno potencialmente hostil donde se necesitaría un protocolo seguro. Teniendo en cuenta el hecho de que incluso el protocolo seguro más liviano consumiría una parte significativa de la memoria del sistema, sería una tontería asignar una cantidad tan alta de recursos solo para la depuración y la prueba. Lo que debe hacer en su lugar es solo probar sus dispositivos cuando tiene control físico sobre ellos, idealmente a través de un enlace de red física.

32 kB de RAM realmente lo está empujando. Incluso Dropbear no puede ejecutarse en un sistema tan limitado. Incluso hacer TLS será difícil, ya que WolfSSL puede encajar apenas. La biblioteca SSH de WolfSSL requiere un mínimo de 33 kB. Es probable que necesite desarrollar esto usted mismo, lo cual no debería ser demasiado difícil si está utilizando FreeRTOS. Es probable que no haya nada que pueda simplemente colocar en un sistema de 32 kB.

Si está utilizando Contiki como RTOS, puede utilizar esta implementación de TLS / DTLS . Requiere un poco más de memoria que 32 kB, pero debería poder reducirla lo suficiente si está familiarizado con la programación y optimización integradas y no necesita todas las funciones.

Cuando comience a usar sistemas con restricciones, cada sistema individual tendrá diferentes prioridades. Como resultado, nadie crea una biblioteca de talla única para algo tan complicado como un protocolo de acceso remoto seguro. En general, se espera que usted sea capaz de implementarlo usted mismo para satisfacer sus necesidades exactas, ya sea desde cero o mediante el uso de una biblioteca extremadamente liviana. Si no es probable que pueda hacer esto, es posible que deba repensar su hardware y cambiar a otro que no sea FreeRTOS, o su modelo de amenaza (y comunicarse con el sistema a través de un medio seguro).

    
respondido por el forest 06.09.2018 - 04:42
fuente

Lea otras preguntas en las etiquetas