Industrial Control Systems (ICS), and many simple Internet of Things (IoT) devices, commonly communicate using unencrypted or unauthenticated protocols. For ICS this is an historical carryover since the introduction of these systems predated practical lightweight cryptography. As the processing power of small devices has grown exponentially at the same time as new, more efficient encryption algorithms have become available, end device encryption of communication protocols is becoming much more practical, but is still not widely used with ICS protocols such as Modbus and IEC61850 (GOOSE) which have tight requirements for both latency and variance. Newer micro-processors can also present challenges both to measurement and use, since features such as dynamic frequency scaling can significantly impact performance measurements. In this paper, we measured the time cost of adding encryption into the communication cycle of low-cost edge devices using ChaCha20-Poly1305, and show that in the worst case the encryption cycle took less than 7.1 percent of the latency requirements of Goose, and less than 3% for IEC-60834-1 on Raspberry PI 4, and an Intel N95 Mini PC, which is well within the specified latency requirements for these protocols.
翻译:工业控制系统(ICS)及众多简易物联网(IoT)设备通常使用未加密或未经认证的协议进行通信。对ICS而言,这是由于这些系统引入时尚缺乏实用轻量级加密技术的历史遗留问题。随着小型设备处理能力的指数级增长,以及新型高效加密算法的普及,通信协议的终端设备加密已变得更加实用,但仍未广泛应用于对延迟和抖动要求严苛的Modbus和IEC61850(GOOSE)等ICS协议。新型微处理器在测量与使用层面也带来了挑战,因为动态频率缩放等特性会显著影响性能测量结果。本文中,我们测量了使用ChaCha20-Poly1305加密算法为低成本边缘设备通信周期添加加密所需的时间成本,结果表明:在最坏情况下,加密周期在树莓派4和英特尔N95迷你PC上分别仅占GOOSE延迟要求的不足7.1%和IEC-60834-1延迟标准的不足3%,完全符合这些协议规定的延迟要求。