10 IoT Cyber Security
491
Secure Firmware Processes Firmware should be encrypted before transmitting to
an IoT machine. Encryption provides confidentiality to protect Intellectual Property
(IP) within the firmware. Machines must authenticate firmware images prior to
updating the image. Firmware is signed using a privacy key and validated with the
associated public key. This requires a secure key management process to ensure that
the private keys are not compromised. Compromise of the private firmware signature
key would allow anyone to sign firmware which would then allow that firmware to
be uploaded and run on the IoT machines.
Cryptographic Co-processing Hardware-based cryptographic co-processors support higher-speed processing of cryptographic operations. This is useful when
encryption processes are used in near real-time messaging constructs. There are
also specialized security co-processors that can be integrated into devices. An
example is the microchip CEC 1302 model crypto processor. The CEC 1302 comes
with a random number generator (RNG) which is essential for the creation of
cryptographic key material. There is also a 32KB secure BOOT ROM and dedicated
crypto processors for SHA and AES. In addition, there is a public key accelerator.
Developers can use these crypto processors to offload cryptographic operations from
the core processor within the device and to enable secure storage of cryptographic
primitives.
Tamper-Based Zeroization Zeroization is the process of deleting critical data files
upon detection of a tamper event. Zeroization can erase key material within the
device that protects sensitive data (e.g., a Key Encryption Key – KEK). Selective
zeroization allows designers to choose the specific files to delete upon tamper.
Entropy Source A high value entropy source is required for random number
generation supporting cryptographic operations. This is required when generating
cryptographic keys to be used for protocols such as Transport Layer Security (TLS).
Secure Key Storage Cryptographic keys are the foundation for many of the other
security services used by IoT machines. Hardware security elements store keys in
hardware protections which limit the ability of attackers to extract those keys and
use them to impersonate machine identities or eavesdrop on communications.
10.4.2 Configure a Secure Real-Time Operating System
IoT machines often run a scaled down version of an operating system, known as a
real-time operating system (or RTOS). The RTOS is responsible for various lowlevel services such as task scheduling and hardware abstraction. The RTOS for an
IoT edge device can provide many of the same features as a secure MCU/SoC.
Some RTOS have minimal security features however and should be avoided, even
for low-risk commercial devices.
Developers can select a device RTOS that is certified for use in specific industries
(airborne, industrial control systems, medical devices, transportation systems).
491
Secure Firmware Processes Firmware should be encrypted before transmitting to
an IoT machine. Encryption provides confidentiality to protect Intellectual Property
(IP) within the firmware. Machines must authenticate firmware images prior to
updating the image. Firmware is signed using a privacy key and validated with the
associated public key. This requires a secure key management process to ensure that
the private keys are not compromised. Compromise of the private firmware signature
key would allow anyone to sign firmware which would then allow that firmware to
be uploaded and run on the IoT machines.
Cryptographic Co-processing Hardware-based cryptographic co-processors support higher-speed processing of cryptographic operations. This is useful when
encryption processes are used in near real-time messaging constructs. There are
also specialized security co-processors that can be integrated into devices. An
example is the microchip CEC 1302 model crypto processor. The CEC 1302 comes
with a random number generator (RNG) which is essential for the creation of
cryptographic key material. There is also a 32KB secure BOOT ROM and dedicated
crypto processors for SHA and AES. In addition, there is a public key accelerator.
Developers can use these crypto processors to offload cryptographic operations from
the core processor within the device and to enable secure storage of cryptographic
primitives.
Tamper-Based Zeroization Zeroization is the process of deleting critical data files
upon detection of a tamper event. Zeroization can erase key material within the
device that protects sensitive data (e.g., a Key Encryption Key – KEK). Selective
zeroization allows designers to choose the specific files to delete upon tamper.
Entropy Source A high value entropy source is required for random number
generation supporting cryptographic operations. This is required when generating
cryptographic keys to be used for protocols such as Transport Layer Security (TLS).
Secure Key Storage Cryptographic keys are the foundation for many of the other
security services used by IoT machines. Hardware security elements store keys in
hardware protections which limit the ability of attackers to extract those keys and
use them to impersonate machine identities or eavesdrop on communications.
10.4.2 Configure a Secure Real-Time Operating System
IoT machines often run a scaled down version of an operating system, known as a
real-time operating system (or RTOS). The RTOS is responsible for various lowlevel services such as task scheduling and hardware abstraction. The RTOS for an
IoT edge device can provide many of the same features as a secure MCU/SoC.
Some RTOS have minimal security features however and should be avoided, even
for low-risk commercial devices.
Developers can select a device RTOS that is certified for use in specific industries
(airborne, industrial control systems, medical devices, transportation systems).
