［ Basic Technologies ］

Security Technologies for Control
Systems
Keywords

Satoshi Doki

IoT, Security, Tamper resistance

Abstract

With the rapid spread of the Internet of Things (IoT) in recent years, security
threats to control systems increase every year. Although security measures aretaken for the IT devices connected to the Internet, there are still many security
challenges to be resolved for closed networks.
Security measures in control systems, which operate on networks with ahigh level of security, have not been advanced. Cortex-M, a Central Processing
Unit (CPU) for IoT devices provided by ARM Ltd., has an optional security function called the TrustZone as a security technology that can be applied to theend devices of control systems where low cost and low power consumption are
more important than preferred over performance. TrustZone provides a function
to divide the system into a secure state※1 and a non-secure state※2 with asingle CPU at a low cost. Placing conﬁdential data and processing in the securestate makes it impossible to access the system from a common area, thus preventing security attacks on IoT devices from networks controlled in a normalstate. In addition, by using cryptographic accelerators, we can support cryptographic communication with a performance that can be applied to control
devices.

1 Preface
Stimulated by the recent advent of Internet ofThings (IoT), control equipment formerly used in aclosed network and ﬁeld network equipment can beconnected to a public network. At the same time,
however, the improvement of tamper resistance isrequired. Tamper resistance is a capability to prevent reading and rewriting of internal data by meansof an irregular method. Even though communication
data are encrypted, such data can be stolen ordamaged if the terminal equipment is attacked anda secret key or authentication data used for cryptographic communication are leaked. This paper
introduces the secure processing of an application
for cryptographic communication where security
technologies developed for IoT equipment areemployed.

2 Central Processing Unit (CPU) withTamper Resistance Function
2.1 Cortex-A Series
Like the CPU for mobile phones, the Cortex-A
designed by ARM Ltd. is widely adopted. Cortex-A
is provided with a security function called theTrustZone. For the TrustZone, the system is divided
into the secure state and the non-secure state andboth states can be separated by an exclusive
instruction. Since the secure and non-secure states
are not separated physically, the security function
can be realized with a low cost and any speciﬁcdevelopment environment is not required. The
TrustZone assures the tamper resistance property
by which access can be controlled from non-secure
to secure state. In the case of a mobile phone forexample, the secure state manages conﬁdential
data like electronic money, secrecy treatments likeauthentication and cryptographic processing, andhardware functions like ﬁngerprint sensing.

MEIDEN REVIEW Series No.181 2021 No.1

17Table 1 Comparison of TrustZone

Table 2 Development Environment of Cortex-M

Comparison of the TrustZone is shown between Cortex-A andCortex-M.

The developed board and development environment of Cortex-M
are shown.

Cortex-M

Function

Switchover processing Software control

Hardware control

Switchover level

OSFunction

Developedboard

Switchover time

Slow

Fast

Memory separation

Memory space
separated

Memory regions

Item

Cortex-A

2.2 Cortex-M23/M33
As a CPU for IoT equipment where low costand low power consumption are more valued thanperformance, ARM Ltd. offers the Cortex-M. The
Cortex-M23/M33 released in 2016 is provided with
the TrustZone, which has speciﬁcations that are different from the Cortex-A, so that even a low-power
Cortex-M can function effectively. Table 1 shows acomparison of the TrustZone.
In the Cortex-M TrustZone, security conditions
are switched over to hardware control. Such a feature simpliﬁes switchover processes and increases
the processing speed. Since the security condition
switchover is conducted at the function level and adistinction of memory is performed at the addresslevel according to the state of security, the programing volume necessary for security processing
is greatly saved.

3 Secure Processing Actions
3.1 Environment of Development
Secure processing with the use of the Cortex-M
TrustZone is applied to the communication application in order to conﬁrm the tamper resistance property and investigate the resultant inﬂuence uponsecure processing performance. Table 2 shows thedevelopment environment of Cortex-M.

3.2 Secure Processing
Essential points are described below when an
existing application is used for secure processing
with the TrustZone.
( 1) Separation of projectIn the integrated development environment,
applications are administered by projects. An existing project is used to deal with processing in thenon-secure state. The new project is used to manage processing in the secure state. The secure project includes cryptographic processing and processes to access crypto and authentic data.

18

MEIDEN REVIEW Series No.181 2021 No.1

Specifications
ARM Cortex-M Prototyping System (MPS2＋)
Cortex-M33 20 MHz

Integrated
ARM Keil MDK Professional
development
environment
Compiler

ARM Compiler v6 (Clang/LLVM)

Debugger

μVision v5.26.0

RTOS

CMSIS-RTOS2 RTX5Middleware

IPv4，mbedTLS，Paho MQTT

( 2 ) Initialization process for secure projectA process for initialization of the TrustZone
function is added. This refers to the process of segmentation where the memory regions are divided
into segments (address ranges).
( 3 ) Registration of a call enabling function
A function of the secure state is registered toenable calling from the non-secure state. Any callwith the use of a function not registered is regarded
as an unauthorized access.
( 4 ) Call of non-secure state function
Function pointers in a non-secure state areregistered to call up the secure state.
( 5 ) Thread attribute setup
Thread attribute setup is conducted by anon-secure project. When a thread (a unit of process in real-time OS) is established to call up a function in the secure state, the TrustZone attribute isset up.

3.3 Communication Application
As an applicable object for secure processing,a communication application conforming to theMessage Queuing Telemetry Transport (MQTT)
protocol is adopted. It supports the Secure Socket
Layer (SSL), a quasi-standard crypto communication protocol. Table 3 shows the cipher suite that isused for crypto communication.
In addition, treatments for secure processing
have been carried out with the use of the TrustZone.
Table 4 shows distribution of processes and data ina secure and non-secure state. Revisions needed,other than user applications, are the points where
cryptographic processes are called inside theMQTT library.

3.4 Evaluation
From the serial port of the non-secure state,Payload 16 bytes

Table 3 Cipher Suite
Combination of cyphers used for crypto communication isshown. The adopted cipher suite has sufﬁcient cryptographicstrength.
FunctionSpecifications

ProtocolTransport Layer Security ( TLS) v1.2

Key exchange

ECDHE

Public key cryptography

RSA 2048 bitTransmission time (ms)8068.960Public key certificate

X.509 certificate

SecurestateNon-securestate

RTOS

○

Network processing○

Cryptographic processing○

Secret key of cipher○

Cipher certificate○

Transmission data before encryption○

Reception data after decryption○

Encrypted transmission/reception data○

Connection time (s)MQTT Transmission Time

Table 5 Development Environment of Cortex-A
The developed board and development environment of Cortex-A
are shown.
Function

Specifications

Developedboard

Xilinx Zynq UltraScale＋MPSoC (ZCU102)
Cortex-A53 1.5 GHz

Cryptoaccelerator

Xilinx Configuration Security Unit (CSU)
AES-GCM256, RSA 2048/4096 bit, SHA3-384

Integrated
Xilinx SDK 2018.1
development
environment○14.00
11.90

10.00
8.00
6.00
3.10

Compiler

GCC 7.2.0

Library

Xilinx XilSecure (H/W ), ARM mbedTLS (S/W )tographic communication (SSL made effective),
connection time can be extended considerably. At
the same time, it is apparent that the effect of secure
processing by the TrustZone is minimal in terms ofprocessing time.

4 Cryptographic Accelerator

2.00
0.00

Fig. 1

With SLL,
secureTransmission time for each payload (transmission size) is shown.
As a result of encryption (SSL made effective), transmission timeis increased by about 50%. Inﬂuence by secure processing isminimal.

Processes and data in the secure state cannot be accessed fromthe non-secure state.

Without SLLWith SLL,
non-secure

20Fig. 2

Table 4 Distribution of Processes and Data

4.00

52.9

35.2

40

Without SLL

SHA2-384

11.90

52.8

0Hash function

12.00

68.9

44.2

Common key cryptography AES256-GCM

Process/data

Payload 1000 bytes

With SLL,
non-secureWith SLL,secure

MQTT Connection Time

Consumed time is shown to complete a connection with theserver. As a result of encryption (SSL made effective), connection
time is extended considerably. Inﬂuence by secure processing is
kept minimal.

we tried to gain access to the crypto data in thesecure state but failed in reading out any data. At
that time, we conﬁrmed a sign of detection of anunauthorized access.
Fig. 1 shows MQTT connection time and Fig. 2
shows MQTT transmission time. By making cryp-

There is a cryptographic accelerator (“cryptoaccelerator” hereafter) that performs encryption inhardware. We examined the effect of the crypto
accelerator with the aid of a developed board forCortex-A. Table 5 shows the development environment of Cortex-A.
Fig. 3 shows the processing time of a common
key number and Fig. 4 shows the processing timeof the Hash function. In any case, performance isenhanced by tens of times that of software processing when a crypto accelerator is employed.
Any CPU adopting the Cortex-M23/M33 isequipped with a crypto accelerator so that highspeed cryptographic processing and reduction ofpower consumption can be realized.
MEIDEN REVIEW Series No.181 2021 No.1

19350300346

Speed ratio(axis on the right)
116

2000mbedTLS

60
40

CSU
0.011 0.343
1Fig. 3

80

31100
50

1210.185

202.83

21.6

5 Postscript

120
100

250150140

Speed ratio

Processing time (ms)4000641024
Confidential data size (Kbyte)

Processing Time of Common Key Number

Comparison of processing time is shown between the crypto
accelerator (hardware processing) and common key cryptography by software processing (AES-GCM256). The effect of thecrypto accelerator is prominent.

10080464840mbedTLS SHA-2

16200.007 0.115
10.1396.52

2.15※1 . Memory state where security is assured※2. Memory state where security is not assured

40100641024
Confidential data size (Kbyte)

Processing Time of Hash Function

MEIDEN REVIEW Series No.181 2021 No.1

the trademarks and/or service marks of their respective owners.

50

Comparison of processing time is shown between crypto accelerator (hardware processing) and Hash function by software processing (AES-GCM256). Although the opposing algorithms aredifferent, the security strength is equivalent to each other.

20

United States of America and other nations.
・All product and company names mentioned in this paper are(Notes)

20

CSU SHA-3・Cortex and TrustZone are the trademarks of ARM Ltd. in the60

30

60

0Fig. 4104

Speed ratio(axis on the right)

Speed ratio

Processing time (ms)120This paper introduced security-related technologies applied to terminal equipment of control systems. For the Cortex-M23/M33 based on theTrustZone, we conﬁrmed that crypto communication and tamper resistance performance applicable
to control equipment can be secured by using CPUs
equipped with crypto accelerators.