Protocollo terminale leggero per IoT

1

Per dispositivi IoT con risorse limitate (ad es. sistema embedded con 32 kB di RAM, memoria Flash da 128 kB, esecuzione di un RTOS come FreeRTOS, piccolo stack TCP / IP come lwIP):

Potrebbe essere utile avere un protocollo di tipo terminale per il debug o il test. Tuttavia, telnet non è sicuro, mentre SSH sembra sufficientemente complicato da rendere difficile l'implementazione e l'adattamento in un sistema così piccolo.

Esistono protocolli terminali leggeri ma sicuri che sono adatti per un sistema IoT con risorse limitate?

Pragmaticamente, è possibile ridurre SSH a un'implementazione snella, ad es. con AES ma senza 3DES, anche se quest'ultimo è tecnicamente obbligatorio per un'implementazione SSH conforme?

    
posta Craig McQueen 06.09.2018 - 03:32
fonte

1 risposta

2

Se ti serve solo questo per test e debug, perché hai bisogno che sia sicuro? Non si dovrebbe eseguire il debug dei sistemi live mentre si trovano in un ambiente potenzialmente ostile in cui sarebbe necessario un protocollo sicuro. Considerando il fatto che anche il protocollo di sicurezza molto leggero consumerebbe una parte significativa della memoria di sistema, sarebbe sciocco allocare una quantità così alta di risorse solo per il debug e il test. Quello che dovresti fare invece è testare i tuoi dispositivi solo quando hai il controllo fisico su di essi, idealmente su un collegamento di rete fisico.

32 kB di RAM lo stanno davvero spingendo. Anche Dropbear non può funzionare su un sistema limitato. Anche fare TLS sarà difficile, poiché WolfSSL potrebbe difficilmente adattarsi. La libreria WolfSSL SSH richiede un minimo di 33 kB. È probabile che dovrai svilupparlo da solo, il che non dovrebbe essere troppo difficile se usi FreeRTOS. Probabilmente non c'è nulla che tu possa semplicemente inserire in un sistema da 32 kB.

Se utilizzi Contiki come RTOS, potresti essere in grado di utilizzare Questa implementazione TLS / DTLS . Richiede un po 'più di memoria di 32 kB, ma dovresti essere in grado di comprimerlo sufficientemente se hai familiarità con la programmazione e l'ottimizzazione integrate e non hai bisogno di tutte le funzionalità.

Quando inizi a utilizzare i sistemi così limitati, ogni singolo sistema avrà priorità diverse. Di conseguenza, nessuno crea una libreria valida per tutti per qualcosa di complicato come un protocollo di accesso remoto sicuro. In generale, ci si aspetta che sia in grado di implementarlo autonomamente per soddisfare le proprie esigenze, sia da zero sia mediante la biforcazione di una libreria estremamente leggera. Se non si è in grado di farlo, potrebbe essere necessario rivedere il proprio hardware e passare a qualcosa di diverso da FreeRTOS o al proprio modello di minaccia (e comunicare con il sistema su un supporto sicuro).

    
risposta data 06.09.2018 - 04:42
fonte

Leggi altre domande sui tag