Sappiamo che i sistemi embedded non brillano per potere computazionale e memoria, al contrario sono molto limitati.
In certe situazioni tuttavia, non possiamo fare a meno di rendere sicure quanto più possibile le nostre comunicazioni.
Pur avendo questi limiti strutturali, esistono differenti tecniche per rendere sicure le comunicazioni all'interno dei sistemi embedded: dobbiamo fare uso di stratagemmi e tecniche dal "peso leggero", affinché non impattino troppo sulle prestazioni e i consumi della nostra piattaforma.
La crittografia "Lightweight" racchiude un insieme di tecniche atte a preservare le prestazioni dei sistemi embedded cercando di integrare al meglio un sistema di crittografia per rendere quanto più sicuro e lontano dai malintenzionati il nostro stesso sistema.
https://www.researchgate.net/publication/256476517_Lightweight_Cryptography_for_Embedded_Systems_-_A_Comparative_Analysis
La soluzione migliore sarà sempre quella di utilizzare il “cavo più grosso che riesci a saldare”, oppure in questo caso l’algoritmo più efficace che le risorse computazionali sono in grado di sostenere.
Però quando sento parlare di sistemi embedded mi viene sempre da pensare a sistemi chiusi, dove il man in the middle fisicamente non può agire. Ha senso parlare di crittografia a chiave simmetrica o asimmetrica (la seconda molto onerosa computazionalmente parlando) per sistemi che dialogano con le quattro piste elettriche di SPI con sensori ed attuatori? In questo caso mi verrebbe da pensare che il miglior modo per “rendere sicure le comunicazioni all’interno dei sistemi embedded” sia quello di immergere il sistema nella colla a caldo o qualcosa di più efficace.