2021-1563
2021-1563
2021-1563
Additional Key Words and Phrases: cyber-physical systems, post-quantum cryptography, formal security
models, OPC UA, ProVerif.
1 INTRODUCTION
Google’s recent shot at quantum supremacy attracted much public attention, but the road to a stable
and large-scale quantum computer is still long and uncertain [7]. Once one is built, however, it will
be able to solve mathematical problems previously thought to be intractable. As a consequence,
public key primitives that have become the “security backbone” of our digital society will be broken.
This threat can be mitigated by deploying new cryptographic primitives that withstand attacks
from both quantum and traditional computers, i.e. post-quantum cryptography. NIST addressed
this issue by starting a PQC standardization process in 2016, which is currently in its second round.
∗ Thisis an extended version of “Towards Post-Quantum Security for Cyber-Physical Systems” that originally appeared in
Computer Security – ESORICS 2020, Springer, pp. 295–316, DOI: 10.1007/978-3-030-59013-0_15.
† Corresponding author.
© Paul, Scheible, and Wiemer, 2021. The definitive, peer reviewed and edited version of this article is published in Journal of
Computer Security, pp. 1-31, 2021, DOI: 10.3233/JCS-210037.
Authors’ addresses: Sebastian Paul, sebastian.paul2@de.bosch.com, Corporate Sector Research and Advance Engineering,
Robert Bosch GmbH, Renningen, Germany; Patrik Scheible, patrik.scheible@escrypt.de, Consulting Cyber Security Solutions,
ESCRYPT GmbH, Stuttgart, Germany; Friedrich Wiemer, friedrich.wiemer@de.bosch.com, Cross-Domain Computing
Solutions, Robert Bosch GmbH, Stuttgart, Germany.
2 Sebastian Paul, Patrik Scheible, and Friedrich Wiemer
Eventually, NIST will standardize quantum-resistant key encapsulation mechanisms (KEMs) and
digital signature algorithms (DSAs).1
A migration to new primitives requires various forms of cryptographic agility, which typically
is not present in existing systems [52, 63]. Therefore, research how to securely and effectively
integrate PQC into protocols and applications is required. Furthermore, it is essential to plan for the
cryptographic transition, especially for devices with long life spans and high-security requirements.
Several governmental institutes have proposed to use hybrid modes for this cryptographic transition
[12, 28]. In such a hybrid mode at least two cryptographic primitives are applied simultaneously.
On the one hand, a hybrid approach implies various advantages: 1) As long as one of the involved
schemes remains unbroken, the “entire” security property holds. Therefore, early adopters can
benefit from additional security against quantum adversaries but don’t have to fully rely on relatively
new primitives; 2) Being compliant to industrial or governmental standards that have not been
updated yet to include PQC; 3) Provide backward compatibility to legacy devices. On the other hand,
hybrid modes negatively affect performance and increase the required communication bandwidth
as well as memory footprint.
One domain where components have long life spans and many industrial (or even governmental)
regulations are in place are industrial control systems (ICS). In recent years, ICS have shifted
away from isolated networks and serial communication towards highly connected networks and
IP-based communication, ultimately, providing access to the Internet. In fact, modern industrial
communication has shifted away from proprietary protocols towards standardized machine-to-
machine (M2M) protocols such as OPC UA [57, 66, 77]. Taking into consideration that CPS deployed
today could still be in use when a cryptographically relevant quantum computer is available, a
migration plan towards PQC is highly recommended. Such a migration plan is even more critical
regarding confidentiality because any communication passively recorded today can be retroactively
decrypted once sufficiently powerful quantum computers become available. The fact that attacks
related to industrial espionage play a major role in ICS further emphasizes the need for long-term
confidentiality of transmitted data [75]. Although authentication can not be broken retroactively,
we consider a preliminary investigation beneficial. As components of ICS are seldom updated
during their long lifetime, they should support PQ DSAs rather sooner than later. As a consequence,
we address the integration of PQC (KEM and DSA) into the widespread industrial communication
protocol OPC UA in this work. Previous research efforts largely focused on the integration of PQC
into common Internet protocols, mainly, concentrating on PQ key exchange. To the best of our
knowledge, this is the first work that evaluates the integration of PQC into an industrial protocol.
1.1 Contribution
In this work, we integrate post-quantum means of key establishment and authentication into
OPC UA’s security handshake, demonstrating that industrial CPS are capable of handling the
increased cost of PQC. Furthermore, we formally analyze the security of our proposed quantum-
resistant variants in the symbolic model. The main contributions of our work are summarized as
follows:
→ We investigate all lattice-based schemes of NIST’s second round standardization process
with regards to a security-size trade-off and conduct a standalone performance analysis of
selected candidates on our evaluation platform.
1 Our initial performance analysis conducted in [64] was based on algorithm specifications from the second round of NIST’s
standardization process. In February 2021, NIST released the third round candidates. Nevertheless, all selected algorithms
(Kyber, Dilithium, and Falcon) are among the finalists. As submission teams were only allowed to slightly alter existing
specifications, the performance results presented hereafter remain valid.
Towards Post-Quantum Security for Cyber-Physical Systems 3
→ We propose two novel integrations of PQC into OPC UA’s security handshake: Hybrid
OPC UA and PQ OPC UA. The first makes use of hybrid constructions for key exchange,
digital signatures, and X.509 certificates. The latter is solely based on post-quantum schemes
including PQ X.509 certificates. Both solutions do not alter the existing structure of the
security handshake, and our hybrid approach provides backward compatibility to legacy
devices. Besides that, we present a novel way for verifying hybrid X.509 certificates using
the cryptographic library mbedTLS.
→ We implement and evaluate the two solutions on our ARM-based evaluation platform and
provide detailed performance measurements for three NIST security levels. By combining
post-quantum key exchange and post-quantum digital signatures we evaluate the total
impact of PQC on OPC UA.
→ We analyze the security of our quantum-resistant variants in the symbolic model via the
state-of-the-art cryptographic verifier ProVerif. As our integrations target post-quantum
confidentiality as well as authentication, we proof both properties in our symbolic models.
We construct the formal models of our OPC UA variants in ProVerif’s dialect of the applied
pi calculus. All formal models presented in this work are available at https://github.com/
boschresearch/pq_opc-ua_formal_analysis.
→ Finally, we show that our PQ solution outperforms conventional OPC UA in terms of hand-
shake duration at all evaluated security levels. In addition, in four of our six instantiations,
we make use of Falcon’s highly efficient floating-point implementation, which – to the best
of our knowledge – has not been examined in previous performance studies.
1.2 Outline
In Section 2, we introduce the reader to OPC UA and its security mechanisms and, in addition, we
provide preliminaries on PQC and formal, computer-aided security analysis. Section 3 highlights
related work. In Section 4, we describe our two integrations of PQC into OPC UA. Section 5 presents
the symbolic models of our PQ-enabled OPC UA variants. Furthermore, we discuss the results of
our formal security analysis. The performance measurements of our two proposed solutions are
presented in Section 6. Section 7 concludes our paper.
2 PRELIMINARY BACKGROUND
2.1 OPC UA in Industrial Communication
OPC UA has been specified by the International Electrotechnical Commission (IEC) in the standard
series 62541. Furthermore, OPC UA is widely considered a de facto standard for future industrial
applications. Because of its service-oriented architecture, OPC UA offers a standardized interface
to exchange data between industrial applications independent from manufacturer of automation
technology. Recently, it has also been adopted by popular cloud services demonstrating its increasing
popularity [9, 54]. OPC UA offers two modes for the transfer of information: a client-server mode
and a relatively new publish-subscribe mode [57]. In this work, we focus on the client-server mode
since it is widely deployed in current automation systems and fully supported by open-source
implementations.
OPC UA provides mutual authentication based on X.509 certificates and it ensures integrity and
confidentiality of communication. The bottom layer of OPC UA’s security architecture handles the
transmission and reception of information. A secure channel is created within the communication
layer and is crucial for meeting the aforementioned security objectives. The exchange of information
is realized within sessions, which are logical connections between clients and servers.
4 Sebastian Paul, Patrik Scheible, and Friedrich Wiemer
GetEndpoint Request
GetEndpoint Response
OpenSecureChannel
Verify server certificate
Generate client nonce
OpenSecureChannel Request
Message header
Security header Client certificate
Verify client certificate
Sequence header
Requested lifetime Decrypt request message
Message body
Client nonce Verify signature
Padding
Generate server nonce
Signature Derive keys
Signed with skclient Encrypted with pkserver
OpenSecureChannel Response
Message header
Security header
Decrypt response message
Sequence header
Verify signature Security token
Message body
Derive keys Server nonce
Padding
Signature
Encrypted with pkclient Signed with skserver
Figure 1 shows OPC UA’s certificate-based authenticated key exchange. The following description
of this security handshake is based on the relevant parts of the official specification [58, 59]. Before
client and server establish a transport connection, the client issues a GetEndpoint Request (GetEP
Req.) to the DiscoveryEndpoint. In turn, the DiscoveryEndpoint sends a GetEndpoint Response (GetEP
Res.) containing EndpointDescriptions, which later allow the client to access services or information
offered by the server. In addition, the response contains information required for the security
handshake: server certificate, message security mode, and security policy. The server certificate
contains the authenticated public key of the server, which the client verifies before initiating the
security handshake. OPC UA offers different message security modes for established sessions: None,
SignOnly, and SignAndEncrypt. As the name suggests, SignAndEncrypt offers confidentiality of
communication as well as authenticity, hence, we only consider this security mode in the remainder
of this work.
The set of cryptographic mechanisms used during the handshake phase and in subsequent
sessions are specified using SecurityPolicy Profiles. For example, the security policy Basic256Sha256
uses RSA2048 to encrypt/decrypt (RSA-OAEP) and sign/verify messages (RSA-PKCS1.5) during the
security handshake; symmetric keying material is derived using the hash function SHA256 in a
pseudorandom function (PRF); within sessions, AES256 in Cipher Block Chaining mode is used
for encryption, and a keyed-hash message authentication code (HMAC) based on SHA256 is used
for signatures. In contrast to TLS, OPC UA so far only offers a security handshake that relies on
RSA.2 In essence, it is based on encrypting random client and server nonces that are used to derive
session keys.
The following characteristics of the security handshake are specified in the SecureChannel Service
Set. First, the client sends an OpenSecureChannel Request (OSC Req.) to the server. This request
2 It
should be noted that the OPC Foundation plans to standardize a security policy that supports Diffie–Hellman (DH) key
exchange based on elliptic curve cryptography (ECC) in the near future [60].
Towards Post-Quantum Security for Cyber-Physical Systems 5
contains a cryptographically secure random number (client nonce), a client certificate (including
a certificate chain), and a requested lifetime (RT ) for the secure channel. The request message is
encrypted using the authenticated public key of the server and signed using the secret key of the
client. In case the verification of the client certificate succeeds, decryption and signature verification
take place. Afterwards, the server generates a cryptographic random number (server nonce). In order
to derive the required session keys, both nonces serve as inputs to a PRF. Two sets of symmetric
keys are derived this way: one is associated with the server and the other is associated with the
client. The message body of the OpenSecureChannel Response (OSC Rsp.) contains a server nonce
and a security token (ST ), the server certificate is placed in the security header of the response
message. Secure channels are identified by security tokens, which expire after a specified lifetime.
Therefore, the revised lifetime, which is part of the security token, tells the client when to renew
the secure channel. The response message itself is encrypted using the client’s authenticated public
key and signed using the server’s private key. After decryption and signature verification, the client
derives the keying material from its own nonce and the received server nonce by applying the
same PRF as the server. Finally, client and server end up with an identical set of cryptographic
keys completing OPC UA’s security handshake. The security properties of this handshake have
been formally analyzed and the entire security architecture has been investigated in previous
works [27, 68].
decapsulation. Key generation is a probabilistic algorithm that generates a public and private
key pair. The probabilistic encapsulation requires a public key as input and generates a shared
secret and the corresponding ciphertext. Input to the decapsulation algorithm is a ciphertext and a
private key, it either returns a shared secret or an error. Many lattice-based schemes show a small
(cryptographically negligible) failure probability during the decapsulation step, in such cases a
shared secret cannot be derived. Typically, KEMs offer either indistinguishability under chosen
plaintext attack (IND-CPA) or indistinguishability under chosen ciphertext attack (IND-CCA).
IND-CPA offers security against passive adversaries, i.e. no information is learned by observing
ciphertexts being transmitted. IND-CCA offers a stronger notion of security and provides security
in presence of active adversaries. For the integration into OPC UA we rely on an ephemeral key
exchange scheme. Any KEM can be easily transformed into an ephemeral key exchange as follows.
An initiator generates a public and private key pair and sends its ephemeral public key to a receiving
entity. The receiving entity generates a random secret, encrypts it using the received ephemeral
public key (encapsulation), and sends the resulting ciphertext back to the initiator. Ultimately, the
initiator decrypts the received ciphertext using its ephemeral private key (decapsulation) giving
both parties a shared random secret.
Similar to KEMs, signature schemes consist of a triple of algorithms: key generation, signature
generation, and signature verification. Key generation returns a public and private key pair. Signa-
ture generation takes a private key and a given message to produce a signature. The deterministic
signature verification algorithm takes a public key, a message, and a signature and either rejects or
accepts the signature. The standard security notion for DSAs is existential unforgeability under
chosen message attack (EUF-CMA). NIST required all submitted signature schemes to reach this
notion. For specific details of the schemes, we refer the reader to the corresponding specifications.
2.3.1 Computational Model. In the computational model, adversaries are represented as prob-
abilistic Turing machines, messages are modeled as bit strings and cryptographic primitives as
Towards Post-Quantum Security for Cyber-Physical Systems 7
probabilistic functions from bit strings to bit strings [22]. Computer-aided proofs in the compu-
tational model are typically game-based.3 In fact, a proof methodology called game-hopping is
applied: the goal is to demonstrate that breaking a specific security property is possible only with
negligible probability. Starting at the original game with unknown success probability, sequential
transformations allow to reach games that enable the computation of the adversary’s success
probability. Via reductions to known complexity assumptions, e.g. discrete logarithm problem, it is
possible to infer the adversary’s success probability for the original game.
Compared to symbolic models, proofs based on computational models yield stronger guarantees.
However, formal analyses in the computational model are very difficult to mechanize; so far, only
semi-automated tools exist.
CryptoVerif. The first tool to tackle mechanized verification of computational models was Crypto-
Verif [24]. During the formal analysis, it generates intermediate games automatically with little
to no user interaction – depending on protocol complexity. CryptoVerif is capable of proving
confidentiality and authentication properties. As its input language is based on applied pi calculus,
it is especially well suited for protocol analysis.
2.3.2 Symbolic Model. The symbolic model is a simpler, abstract model and is due to Dolev and
Yao [36] as well as Needham and Schroeder [56]. Messages are modeled as terms that cannot be
split into compound bit strings. Cryptographic primitives are represented by black-box functions
that operate on these terms. Furthermore, perfect cryptography is assumed. This implies the
following [41]:
• Encrypted messages reveal nothing about the plaintext.
• Signatures are unforgeable.
• Hash functions are, in essence, random oracles with no collisions.
• Random numbers are truly random with no repetitions.
For instance, to break confidentiality properties the adversary needs to be in possession of the
secret decryption key. Furthermore, it is possible to add cryptographic primitives by defining them
as new rewrite rules or equations. For example, we formally model KEMs in our PQC-enabled
OPC UA variants using function symbols and rewrite rules (see Section 5). Note that for all added
(post-quantum) cryptographic constructions the perfect cryptography assumption applies as well.
The attack model considers the classical Dolev–Yao model [36]. Consequently, the adversary has
complete control over the network, eliminating the need to model dishonest parties [22, 25]. In
essence, the Dolev–Yao model enables an adversary to read, remove, replay, and modify messages
at will. However, the computational capabilities of this powerful adversary are restricted to the
defined primitives.
Two classes of symbolic security properties exist: trace properties and equivalence properties. On
the one hand, trace properties state that a specific property holds on every protocol run. Confiden-
tiality may be defined based on trace properties, meaning an adversary does not obtain knowledge
of certain data, such as secret keys. Authentication is typically expressed using correspondence
assertions, which is a subclass of trace properties. Equivalence properties, on the other hand, express
that an adversary is not capable of differentiating between two protocols. One intuitive example of
an equivalence property is that an adversary cannot distinguish between a protocol containing the
real secret or a random value [11].
While it is easier to automate formal protocol verification in the symbolic model than in the
computational model, certain challenges remain – mainly because of the infinite state space to
3 Anysecurity game consists of an adversary and a challenger. In case the adversary achieves a goal condition, it wins the
game, i.e. breaks the scheme.
8 Sebastian Paul, Patrik Scheible, and Friedrich Wiemer
explore [22]. Furthermore, the absence of attacks in the symbolic model does not generally prove it
secure in the computational model. However, security analyses of protocols in the symbolic model
have been highly appreciated, especially in the standardization of new protocols (see Section 3.2).
Due to this mechanized approach protocol changes are also easier to regulate than in the pen-and-
paper approach. This makes tool-based verification in the symbolic model a valuable approach for
detecting logical flaws in protocols.
Over the past years several symbolic verification tools have been introduced: CPSA, F7, Maude-
NPA, ProVerif, Scyther, Tamarin, and Verifpal [11, 48]. In the domain of automated symbolic verifi-
cation tools, Tamarin and ProVerif stand out and are considered state-of-the-art tools. In fact, they
both have been used to evaluate large-scale, real-world protocols like TLS 1.3 and Noise. As we
build on the already existing symbolic proof for OPC UA in [68], which is based on ProVerif, we
use ProVerif for our proofs of the PQC-enabled OPC UA variants.
ProVerif. As mentioned above, ProVerif stands out in the realm of symbolic verification tools [21–
23, 25]. In fact, many real-world protocols have been verified using ProVerif: Signal [47], Noise [45],
TLS 1.3 [16], and others [14, 50, 79]. As is common for symbolic models, ProVerif allows to verify
various trace and equivalence properties. In addition, it analyzes protocols with respect to an
unbounded message space and an unbounded number of sessions.
Protocols are modeled using a variant of the applied pi calculus language [1]. ProVerif then
translates the modeled protocol into a set of Horn clauses, which it automatically verifies. For the
verification process, the security properties also need to be translated into derivable queries on the
resulting Horn clause representation. In case ProVerif does not find an attack, the desired property
is proven secure. Moreover, ProVerif has also been proven to not miss any attacks [48]. Note that
false attacks may be found, especially when modeling protocols with global states [22, 50]. And
since ProVerif does not bound the number of executed protocol sessions and message space, it does
not always terminate. Apart from these two minor drawbacks, it has proven to be of great value in
the verification of cryptographic protocols.
3 RELATED WORK
3.1 Integration of PQC into Protocols
There have been a lot of research efforts integrating PQC into widespread Internet protocols such
as TLS, SSH (Secure Shell), and IKEv2 (Internet Key Exchange version 2). Since OPC UA’s security
handshake is loosely inspired by TLS’s handshake protocol, we focus on previous works in this
area. In general, existing integration studies can be grouped into the following three categories:
standardization efforts, implementation works, and experimental studies. Two active Internet
Engineering Task Force (IETF) Internet-Drafts exist that describe the integration of hybrid key
exchange into TLS 1.2 [30] and TLS 1.3 [72]. Many experimental studies have been conducted under
real network conditions [26, 49, 71] or under lab conditions [33, 62]. In aforementioned studies, the
authors typically make use of already existing open source implementations of PQC. For example,
Open Quantum Safe provides prototypical integrations of PQ schemes into the popular library
OpenSSL [73]. Other works exist where PQC has been either integrated into embedded libraries [29]
or has been optimized for specific platforms [44]. Our implementations of PQ schemes are mainly
based on PQClean,4 which provides portable implementations for an easy integration into other
codebases. When investigating authentication, another difficulty must be dealt with: a long-term
public key is involved, which is typically stored and distributed via certificates. Previous works
proposed hybrid certificates for the post-quantum transition where extension fields are used to bind
4 https://github.com/PQClean/PQClean.
Towards Post-Quantum Security for Cyber-Physical Systems 9
an additional public key to an entity using an additional PQ signature scheme [18, 20]. In addition,
the impact of hybrid and PQ certificates on various Internet protocols has been investigated [43, 71].
Since it enables confidentiality against future quantum adversaries, hybrid key exchange has so
far attracted the most attention. If authentication and key exchange are considered, they are typically
evaluated separately, hence not showing the entire impact of PQC. Hybrid authentication has been
addressed, but it was evaluated separately from key exchange and no performance measurements
were conducted [33]. The authors of [29] investigated the combined impact of PQ key exchange
and authentication on TLS for embedded devices, but only considered one set of PQ primitives at
one security level.
GetEndpoint Request
GetEndpoint Response
OpenSecureChannel
Verify hybrid server certificate
Generate PQ KEM key pair
Generate client nonce
OpenSecureChannel Request
Message header
Hybrid client certificate
Security header Verify hybrid client certificate
PQ KEM public key
Sequence header Decrypt request message
Message body Requested lifetime
Client nonce Verify hybrid signature
Padding
Generate server nonce
Signature
PQ KEM encapsulation
PQ Signature
Expand PQ shared secret
Signed with skclient,RSA Encrypted with pkserver,RSA
Derive classical keys
Signed with skclient,PQ
Derive PQ keys
Combine keys: XOR-then-MAC
OpenSecureChannel Response
Message header
PQ KEM ciphertext
Security header
Decrypt request message MAC
Sequence header
Verify hybrid signature Security token
Message body
PQ KEM decapsulation Server nonce
Padding
Expand PQ shared secret
Signature
Derive PQ keys
PQ Signature
Derive classical keys
Encrypted with pkclient,RSA Signed with skserver,RSA
Combine keys: XOR-then-MAC
Signed with skserver,PQ
Verify MAC
Fig. 2. High-level overview of Hybrid OPC UA (yellow: operations/data related to PQC; gray: operations/data
related to XOR-then-MAC combiner).
with applications, which have not been upgraded yet. Therefore, we also consider hybrid signatures
and authentication in this work to fully understand its impact on OPC UA.
The integration of hybrid modes into the security handshake of OPC UA requires modifications
to the SecureChannel Service Set. Figure 2 gives an overview of our hybrid integration of PQC into
OPC UA’s security handshake; modifications related to PQC are marked in yellow, while changes
related to the XOR-then-MAC construction are marked in gray. At first, we define a new security
policy Hybrid{1,3,5}_Basic256 that the server suggests to the client within the GetEndpoints Response.
In our approach, this response contains the hybrid X.509 certificate (including the certificate chain).
First, the client verifies the entire certificate chain assuming a hybrid root certificate has been
preinstalled. In addition to a random client nonce, the ephemeral key generation function of a
PQ KEM needs to be called (pkPQ , skPQ ). The hybrid OSC Req. is initialized using the client nonce,
pkPQ , and the security settings obtained from the GetEndpoints Response. The additional public
key is positioned within the security header, which also includes the hybrid client certificate.
Before the request is sent to the server in form of an OPC UA message, it is signed using the
aforementioned hybrid signature scheme: A hash is computed over the entire message that is then
signed conventionally and by a PQ signature scheme. According to the specification of OPC UA, the
sequence header, the message body containing the client nonce, and the message footer containing
RSA-padding fields and signatures are encrypted. We avoid expensive RSA encryption/decryption
by placing the additional values of our hybrid solution (pkPQ and PQ signature) outside the encrypted
message parts.
Once the server receives the request, it verifies the hybrid client certificate (including the
certificate chain). After the certificate verification, the conventionally encrypted message parts are
Towards Post-Quantum Security for Cyber-Physical Systems 11
GetEndpoint Request
GetEndpoint Response
OpenSecureChannel
Verify PQ server certificate
Generate PQ KEM key pair
Generate client nonce
OpenSecureChannel Request
Message header
PQ client certificate
Security header Verify PQ client certificate
PQ KEM public key
Sequence header Verify PQ signature
Requested lifetime
Message body
Client nonce Generate server nonce
PQ Signature
PQ KEM encapsulation
Signed with skclient,PQ
Expand PQ shared secret
Derive keys
OpenSecureChannel Response
Message header
PQ KEM ciphertext Security header
Verify PQ signature
Sequence header
PQ KEM decapsulation Security token
Message body
Expand PQ shared secret Server nonce
PQ Signature
Derive keys
Signed with skserver,PQ
decrypted and the two signatures are verified. As in conventional OPC UA, the server then creates
his server nonce. For our proposed hybrid mode, the encapsulation function of the respective PQ
KEM is called using the received public key pkPQ as input. This generates a ciphertext ctPQ and a
shared secret ssPQ . In order to maintain the original structure of OPC UA’s security handshake,
we expand the shared secret using a PRF to obtain additional nonce values. Further calls to PRFs
generate two types of keying material: a conventional set and a post-quantum set. In a subsequent
step, the two sets are combined using XOR. To complete the XOR-then-MAC combiner, we compute
a MAC over the ciphertext ctPQ and the original server and client nonce using the generated server’s
symmetric signing key. The ciphertext and MAC are placed in the security header. We keep the
server nonce inside the body of the response message alongside the revised lifetime of the secure
channel. The response message is signed using the aforementioned concatenation combiner. After
signing the message, the sequence header, the message body, and message footer are encrypted.
Again, this avoids expensive encryption of the additional, potentially large cryptographic material:
post-quantum ciphertext ctPQ and signature.
The client receives the response, conventionally decrypts it, and verifies the included hybrid
signature. Utilizing the received PQ ciphertext ctPQ and the client’s own PQ KEM secret key skPQ ,
the corresponding decapsulation function of the respective KEM is called, which outputs the shared
secret ssPQ . As in processing the OSC Req., this shared secret is expanded to create additional
nonce values. Having obtained all required nonces, we generate two types of keying material
(conventional and PQ) and combine them using XOR. We verify the received MAC by using the
computed symmetric signing key completing our hybrid security handshake.
solution, we keep the structure of the original security handshake but replace conventional asym-
metric primitives with PQ key encapsulation and digital signature schemes. Figure 3 provides an
overview of the modified security handshake only based on PQC primitives; modifications are
marked in yellow.
We introduce a new security policy PQ{1,3,5} that is sent to the client in GetEndpoints Response.
The conveyed server certificate contains a single PQ public key and is signed with a PQ signature
scheme. The client verifies the server certificate including the certificate chain. Again, we assume
the PQ root certificate has been preinstalled on both client and server. The generation of the
OSC Req. is the same as in our hybrid mode. First, a random client nonce is created and then
the ephemeral key pair of a PQ KEM (pkPQ , skPQ ). Since we base the key exchange of our PQ
solution solely on a PQ KEM, we do not require secrecy of the random client and server nonce. As
a consequence, sequence header, message body, and message footer of the OSC Req. and OSC Rsp.
are sent unencrypted. The resulting OSC Req. is signed using the client’s private PQ signing key,
the certificate containing the corresponding PQ public key is part of the request message sent to
the server.
The server verifies the PQ client certificate (including the certificate chain) and the signature of
the OSC Req. using the client’s authenticated public key. After the verification step, the encapsulation
function of the KEM is invoked resulting in a ciphertext (ctPQ ) and shared secret (ssPQ ). Besides that,
we generate a random server nonce. The shared secret and both random nonces serve as input to a
PRF. We consider the output of the PRF our master secret. Subsequently, we use the master secret as
input to another PRF to obtain symmetric keying material. By keeping the random nonces from the
conventional security handshake and by using them as input to the first PRF we ensure that both
parties contribute to the master secret. The OSC Rsp. contains the generated ciphertext, the server
certificate, the server nonce, and the revised lifetime of the secure channel. The response is signed
using the server’s private PQ signing key, and the signature is appended to the response message.
Once the client receives the OSC Rsp., the signature is verified using the server’s authenticated
public key. Then, the client calls the decapsulation function of the PQ KEM resulting in the shared
secret (ssPQ ). Again, this shared secret serves as input to a PRF alongside the client and server nonce.
The output is fed to another PRF to compute the final keying material. Server and client derive
the same keying material, which is used in subsequent communication sessions. This completes
OPC UA’s handshake solely based on PQ schemes: Client and server are mutually authenticated
via PQ certificates and signatures; Keying material is derived using a key exchange scheme based
on a PQ KEM.
4.3.1 Security-Size Trade-Off. First, we study the trade-off in terms of security and size of all
remaining lattice-based Round 2 submissions. The size metric is important to allow for an easy
integration into existing protocols. In our case, the size metric for KEMs consists of the public
Towards Post-Quantum Security for Cyber-Physical Systems 13
Saber
192
128 128
Dilithium
128 Falcon
10 K 30 K 50 K
qTESLA
64 64
key and ciphertext size since both need to be transmitted in our proposed solutions. Regarding
DSAs, we use public key and signature size as metric. Both are transmitted via certificates to other
nodes during the handshake. Considering the security metric, we use security strength estimations
provided in the specification of each submission. These figures are based on the estimated cost
of the best known attacks against the underlying lattice-problem, typically core-SVP hardness is
evaluated.
Figure 4 shows the trade-off for estimated security and size for lattice-based schemes remaining in
NIST’s PQC process. Note that for submissions containing multiple schemes or multiple parameter
sets, we only consider one scheme or one set of parameters. In case of NTRU, we consider the
recommended KEM parameter set NTRU-HRSS; for NTRU Prime, we only consider the parameter
sets of Streamlined NTRU Prime. For Round5, which specifies a total of 21 parameter sets, we only
consider their specified IND-CCA secure KEM with ring parameter set and no error correction, i.e.
R5ND_CCA_0d_KEM.
Our evaluation shows that parameter sets for Kyber (Kyber512, Kyber768, and Kyber1024),
Round5 (R5ND_1CCA_0d, R5ND_3CCA_0d, and R5ND_5CCA_0d), and Saber (LightSaber, Saber,
and FireSaber) offer a very good trade-off in terms of public key + ciphertext size and estimated
security strength. Consequently, we select these three schemes for a further performance evaluation.
From the trade-off in Fig. 4(a), LAC seems like another promising candidate. However, attacks on
LAC that allow to fully recover the secret key have been discovered decreasing our trust in this
scheme [35, 39]. We do not select other schemes for further evaluation because (a) their parameter
sets imply an imbalanced security-size trade-off (NTRU-HRSS, NewHope, and Frodo), (b) they have
not attracted much attention in previous experimental studies (Three Bears and NTRU Prime), or
(c) known attacks significantly reduce their security estimations (LAC).
The security-size trade-off for digital signature schemes is shown in Fig. 4(b). After an update
to its Round 2 specification, qTESLA only provides provably-secure parameter sets that come
with very large sizes for signatures and public keys. Ultimately, we select the remaining two
signature algorithms – Falcon and Dilithium – for a further performance evaluation. Both seem to
be promising signature algorithms since public key and signature are reasonably sized and they
provide parameter sets for different security strengths (level 1: Falcon512 and Dilithium2, level 3:
Dilithium4, level 5: Falcon1024).
14 Sebastian Paul, Patrik Scheible, and Friedrich Wiemer
Million Cycles
Million Cycles
1.70 Decapsulation 3.25 Decapsulation 4.25 Decapsulation
(a) Level 1 parameter sets. (b) Level 3 parameter sets. (c) Level 5 parameter sets.
4.3.2 Preliminary performance evaluation. We continue with an evaluation of the standalone perfor-
mance of the selected algorithms on our target platform – Raspberry Pi 3 Model B (see Section 6.2).
In order to obtain cycle-accurate measurements, we added a kernel extension that enables access to
the CPU cycle count register [5]. Our goal is to select parameter sets for three security levels with
a balanced trade-off in terms of security, size, and performance. Our implementations of Kyber
and Saber are based on code from PQClean. Round5 has not been integrated there; consequently,
we work with code from the official Round5 submission package.5 Figure 5 shows the average
cycle counts of 100 executions of the selected KEMs. Across all security levels Kyber shows the
best performance. Considering all processing steps of KEMs, Kyber is significantly faster than
Round5 (in average 3.6 × 106 cycles at each security level) and also faster than Saber (in average
1.5 × 106 cycles at each security level). In comparison, the standalone performance of an ECDHE
key exchange based on SECP256R1, which corresponds to security level 1, takes 2.1 × 107 cycles on
our evaluation platform, whereas Kyber512 only takes 2.9 × 106 cycles. Kyber has also been part of
several previous studies resulting in a similar assessment of its performance [29, 62]. Consequently,
we select the three parameter sets of Kyber for instantiating our solutions.
Having analyzed KEMs, we turn to the two selected signature schemes. Exploiting Falcon’s
floating-point arithmetic requires an underlying hardware floating-point unit (FPU) to support
double-precision floating-point as defined by the IEEE 754 standard [65]. For devices without
hardware FPU, an implementation exists that emulates floating-point precision (Falcon-EMU). The
ARMv8 instruction set of the Raspberry Pi 3 fulfills the aforementioned requirement, which allows
us to evaluate both implementations, i.e. Falcon-FPU and Falcon-EMU [6]. Our implementation
of Dilithium is based on code from PQClean. For the implementation of Falcon, we make use of
reference code from the official website.6 Figure 6 shows the average cycle counts of signature
generation and verification of the selected DSAs in comparison with ECDSA and RSA over 100
executions. Please note, we do not report performance measurements of key generation since
generation of new signing keys is typically required only rarely. Enabling floating-point operations
by using Falcon-FPU increases signature generation in average 11.4 times compared to Falcon-EMU.
Furthermore, Falcon’s highest security parameter set is even 1.9 × 106 cycles faster than Dilithium’s
level 1 configuration in case floating-point operations are enabled. All parameter sets of Dilithium
and Falcon-FPU outperform the conventional signature scheme ECDSA based on the elliptic-curve
SECP256R1, which corresponds to security level 1. The total runtime (signature generation plus
verification) of SECP256R1 corresponds to 3.2×107 cycles on our evaluation platform. In comparison,
Falcon512-FPU only takes 4.7 × 106 cycles and Dilithium2 1.1 × 107 cycles. Since Falcon provides
very efficient sizes for signatures and public key and since our evaluation platform is able to use
5 https://github.com/round5/code/tree/master/configurable.
6 https://falcon-sign.info.
Towards Post-Quantum Security for Cyber-Physical Systems 15
100
12
Sign Verify
9
Million Cycles
75
6
50 3
0
25 Falcon512 Falcon1024 Dilithium2 Dilithium4
(FPU) (FPU)
0
RSA2048 ECDSA Falcon512 Falcon1024 Falcon512 Falcon1024 Dilithium2 Dilithium4
(PKCS1.5) (SECP256R1) (EMU) (EMU) (FPU) (FPU)
Falcon’s floating-point arithmetic, we select it for instantiating our proposed solutions. However,
Falcon does not offer a parameter set covering security level 3. Therefore, we use Dilithium4 within
the instantiation targeting that security strength. Besides that, we are not aware of any works that
have shown fundamental weaknesses in either Falcon or Dilithium, and both have been part of
previous experimental studies [62, 71].
In accordance with our initial requirements, we instantiate our two proposed solutions with
the following algorithms: We use Kyber512 and Falcon512-FPU regarding NIST security level 1,
for security level 3 we use Kyber768 and Dilithium4, and for level 5 we work with Kyber1024 and
Falcon1024-FPU.
7 We used ProVerif version 2.02pl1 for our proofs presented in this work.
16 Sebastian Paul, Patrik Scheible, and Friedrich Wiemer
(* Start protocol *)
(
! process_client ( skC , skEP , skS ) |
! process_server ( skC , skEP , skS ) |
! process_endpoint ( skC , skEP , skS )
)
(* Correspondence Assertions *)
query X: host , Y : host , N : nonce ; event ( terminateOSC_Server (X , Y , N ) ) == >
event ( initiateOSC_Client (X , Y , N)).
query X: host , Y : host , N : nonce ; event ( terminateOSC_Client (X , Y , N ) ) == >
event ( initiateOSC_Server (X , Y , N)).
– PRF(x, s): The pseudorandom function PRF takes as input the variable x and a secret seed
value s.
– MAC(m; k) and verify_MAC(mac, m; k): As our hybrid variant relies on the XOR-then-MAC
combiner, we use a MAC function, which takes as input a message m and a MAC key k, to
generate a MAC-tag. To verify the MAC-tag we use the function verify_MAC, which takes
as input the received tag, a message m, and the corresponding MAC key k.
As the symbolic proofs of our proposed OPC UA variants build on the existing proof in [68], we
rely on their assumptions in our ProVerif models. Besides that, we limit our analysis to the security
mode SignAndEncrypt and modify their original model to reflect OPC UA’s most current specification.
As a result, we assume that clients always accept the proposed security mode SignAndEncrypt,
which is part of the GetEndpoint Response sent by the DiscoveryEndpoint. In industrial networks, this
can be achieved via administrative policies and by restricting clients and servers to only support the
security mode SignAndEncrypt, which offers the most security guarantees, i.e. confidentiality and
authentication. As in [68], we model certificates as public keys and, thus, consider the complexities
of an underlying public key infrastructure (PKI) and its respective operations out of scope, e.g.
certificate verification, renewal, and revocation. We expect this assumption not to exclude attacks on
the desired authentication properties since in highly regulated industrial control systems certificate
management is typically achieved via out-of-band mechanisms. In our models, we place the public
keys of the three involved parties (OPC UA Client, DiscoveryEndpoint, OPC UA Server) on the
communication channel in the main process of our models, which are then implicitly trusted by the
different entities. For instance, this is highlighted in Listing 1, which shows the main process of the
conventional OPC UA model written in ProVerif’s variant of the applied pi calculus language: the
public keys are placed on the communication channel first and then OPC UA’s security handshake
is initiated.
Towards Post-Quantum Security for Cyber-Physical Systems 17
Has identity skC, pkC Knows identity pkS Has identity skS, pkS
GetEP Req.
OSC Rsp. = [pkS, pkC, RESenc = asym_enc(NS, ST, RSPsig = sign(h(pkS, pkC, NS, ST); skS); pkC)]
not encrypted: message and security header, which include the message type, the certificate of the
sending entity, and a hash over the certificate of the receiving entity. To demonstrate this behavior
we depict the part of our modeled client process in Listing 3, where the client sends its request
message to the server. Note that OpenSecureChannelRequest, as part of the message header, as
well as pkClient and Server, as part of the security header, are sent unencrypted.
In order to ensure conformance with the official specification of the OpenSecureChannel Ser-
vice [59], we apply these modifications to our model. Figure 7 shows the resulting ProVerif model
of the conventional OPC UA handshake.
As a result, ProVerif does not find any attacks on OPC UA’s conventional handshake. In fact, it
proves all of the confidentiality and authentication queries; Table 1 summarizes the verification
results of our analysis. Considering verification runtime, our conventional OPC UA model finishes
in less than one second wall time (0.527 s) on a notebook running Ubuntu 20.04.02 LTS with an
Intel Core i7-8650 CPU clocked at 2.11 GHz and 16 GB RAM.
Has identity skC,RSA, pkC,RSA, skC,PQ, pkC,PQ Knows identity pkS,RSA, pkS,PQ Has identity skS,RSA, pkS,RSA, skS,PQ, pkS,PQ
GetEP Req.
GetEP Rsp. =
[pkS,RSA, pkS,PQ, SM:=SignEncrypt, SP]
OSC Req. = [pkC,RSA, pkC,PQ, pkS,RSA, pkS,PQ, pkPQ, REQenc = asym_enc(NC, RL,
REQsig,RSA = sign(h(pkC,RSA, pkC,PQ, pkS,RSA, pkS,PQ, pkPQ, NC, RL); skC,RSA)),
REQsig,PQ = sign(h(pkC,RSA, pkC,PQ, pkS,RSA, pkS,PQ, pkPQ, NC, RL); skC,PQ)]
OSC Rsp.= [pkS,RSA, pkS,PQ, pkC,RSA, pkC,PQ, ctPQ, MAC, RSPenc = asym_enc(NS, ST,
RSPsig,RSA = sign(h(pkS,RSA, pkS,PQ, pkC,RSA, pkC,PQ, ctPQ, MAC, NS, ST); skS,RSA)),
RSPsig,PQ = sign(h(pkS,RSA, pkS,PQ, pkC,RSA, pkC,PQ, ctPQ, MAC, NS, ST); skS,PQ)]
Fig. 8. Formal model of Hybrid OPC UA in security mode SignAndEncrypt (yellow: operations/data related
to PQC; gray: operations/data related to XOR-then-MAC combiner).
model to receive a standard KEM construction in ProVerif. For all other cryptographic primitives,
we are able to rely on definitions from ProVerif’s official manual [25] and existing, open-source
models [16, 68].
In ProVerif, cryptographic primitives are always modeled as deterministic functions. Therefore,
we need to transform the probabilistic nature of KEMs into an intrinsically deterministic behavior.
For this, we declare two new types: kem_keypairseed and kem_seed. The former explicitly models
the required randomness within key generation kem_keygen() and the latter models a random seed
within the encapsulation step kem_encap, where it serves as additional input to the generation of a
20 Sebastian Paul, Patrik Scheible, and Friedrich Wiemer
(* Encapsulation ( pk ) -> ( ss , ct ) *)
fun kem_encap_r_secret ( kem_seed , kem_pubkey ): kem_secret .
fun kem_encap_r_enc ( kem_seed , kem_pubkey ): kem_ciphertext .
(* Decapsulation ( ct , sk ) -> ( ss ) *)
fun kem_decap ( kem_ciphertext , kem_privkey ): kem_secret .
equation forall k : kem_seed , ks : kem_keypairseed ;
kem_decap (
kem_encap_r_enc (k , kem_pk ( ks )) ,
kem_sk ( ks )
) = kem_encap_r_secret (k , kem_pk ( ks )).
Has identity skC,PQ, pkC,PQ Knows identity pkS,PQ Has identity skS,PQ, pkS,PQ
GetEP Req.
OSC Req. = [pkC,PQ, pkS,PQ, pkPQ, NC, RL, REQsig = sign(h(pkC,PQ, pkS,PQ, pkPQ, NC, RL); skC,PQ)]
OSC Rsp. = [pkS,PQ, pkC,PQ, ctPQ, NS, ST, RSPsig = sign(h(pkS,PQ, pkC,PQ, ctPQ, NS, ST); skS,PQ)]
Fig. 9. Formal model of PQ OPC UA in security mode SignAndEncrypt (yellow: operations/data related to
PQC).
no attacks on the confidentiality properties. Only when both sets of keying material are accessible
to the adversary the confidentiality property is broken.
tool Verifpal [46], on the other hand, aims to simplify protocol verification for practitioners [48].
Its modeling language tries to balance between intuitive protocol descriptions and still precise-
enough formal models. For instance, in order to avoid user error, it does not allow to model own
cryptographic primitives. In addition, it generates analysis output that is easy to interpret. At the
time of writing, Verifpal is still considered beta stage software but already produced promising
results by verifying complex protocols: the contact tracing protocol DP3T [48] and the secure
messaging protocol Signal [46].
As a consequence, we also verified our proposed OPC UA variants using Verifpal to evaluate its
accessibility promise. Compared to our initial analysis with ProVerif, Verifpal did not provide any
further insights, i.e. find any attacks. While it was straightforward to write the Verifpal models8
for conventional, hybrid, and post-quantum OPC UA, verification takes significantly longer. For
example, verifying the conventional OPC UA model took several days on a powerful remote server,
which is equipped with two AMD EPYC 7742 CPUs, each offering 64 cores, running at 2.5 GHz and
has 2 TB RAM available.
When comparing the usability of Verifpal to ProVerif, its accessibility to inexperienced users
in the domain of protocol analysis is impressive. But, we expect that it will be hard for Verifpal
to achieve similar verification speeds as ProVerif while maintaining its low entry barriers (not
mentioning the 15+ years of development ProVerif has in advance). Nevertheless, addressing this
performance gap seems to be an important target for the first full release.
Table 2. Message and certificate sizes for both solutions (in bytes).
We are able to use this function without modifications since our generated hybrid certificates are
fully compliant to the X.509 standard. The verification function of mbedTLS allows to provide
an optional callback function as parameter that is called after each certificate in the chain was
verified. We use this callback mechanism to verify the additional PQ signature inside the custom
extension of our hybrid certificates. It should be noted that verification of PQ certificates takes
place outside mbedTLS since we did not integrate our selected PQ schemes into the embedded
TLS library. Instead, we rely on its mechanism to parse encoded certificates, which required minor
changes to mbedTLS because of unique algorithm identifiers used in our PQ X.509 certificates.
400 400
Single Cert. Attch. CA Cert. Single Cert. Attch. CA Cert.
50
380 300
40
Time [ms]
Time [ms]
30
360 200 20
10
340 100 0
PQ-1 PQ-3 PQ-5
320 0
Conventional Hybrid-1 Hybrid-3 Hybrid-5 Conventional PQ-1 PQ-3 PQ-5
verification of signatures in PQ-1. Similar to our hybrid approach, message sizes have only little
impact on the overall handshake duration.
Both our solutions demonstrate that Falcon is preferable over Dilithium in case both communi-
cating nodes are capable of using its efficient floating-point arithmetic. Our Hybrid-5 and PQ-5
solutions even lead to significantly less overhead – in terms of handshake duration and size – than
Hybrid-3 and PQ-3. Since message sizes do not negatively impact the performance of the security
handshake as much as slower algorithms do, we recommend to use Dilithium2 in case security
level 1 is required and floating-point support cannot be assumed.
7 CONCLUSION
In this work, we proposed two novel solutions for the integration of post-quantum primitives,
i.e. key establishment and digital signatures, into the security handshake of the industrial M2M
protocol OPC UA. Our first solution considers hybrid key exchange, hybrid authentication, and
hybrid signatures, while the second is solely based on quantum-resistant primitives. Compared
to other previous works, this approach allows to investigate the total impact of post-quantum
cryptography. Furthermore, we formally verified confidentiality and authentication properties of
the proposed integrations in the symbolic model. These symbolic proofs are realized using the
state-of-the-art verification tool ProVerif.
Alongside the description and formal analysis of our two solutions, we selected three algorithms
based on an investigation of all lattice-based schemes submitted to NIST’s PQC standardization
process. Subsequently, we instantiated our two solutions at three different NIST security levels using
the respective parameter sets of Kyber{512,768,1024} for key establishment and Falcon{512,1024}-
FPU or Dilithium4 for digital signatures. In our performance measurements, we compared the
handshake duration of both solutions to that of conventional OPC UA for different security levels
and certificate scenarios. Our hybrid integration leads to acceptable overhead in terms of latency
and message sizes, while our PQ solution significantly outperforms conventional OPC UA at all
security levels in terms of handshake duration. OPC UA provides mutual authentication based on
X.509 certificates. Our hybrid solution works with hybrid certificates using non-critical extension
fields to achieve backward compatibility with non-hybrid aware clients and servers. Furthermore,
our described verification of hybrid certificates using mbedTLS applies to use cases outside the
industrial domain. Ultimately, our two solutions provide comprehensive insights into the feasibility
of integrating PQC into OPC UA and demonstrate that PQC is practical for ICS. Falcon and Dilithium
are efficient options for PQ signature schemes; in case floating-point support is available, Falcon
provides faster performance at smaller public key and signature sizes. In our two solutions, Kyber
showed very efficient performance throughout all evaluated security levels.
As future work, we will continue to investigate our two solutions, particularly with regard to
potential optimizations for time-sensitive industrial applications. In addition, we plan to evaluate
our proposed solutions in industrial networks under more realistic conditions. In order to provide
additional security guarantees, we will analyze our proposed variants in the computational model
with less idealized assumptions using a semi-automatic prover such as CryptoVerif.
ACKNOWLEDGMENTS
The authors would like to thank Benjamin Lipp and Nadim Kobeissi for their helpful discussions
and support in detecting and fixing a bug in the Verifpal model. Furthermore, we appreciate the
allocated runtime for our Verifpal verifications on the computing server of the chair of cryptography
and IT-security, Ruhr University Bochum.
The work presented in this paper has been partly funded by the German Federal Ministry of
Education and Research (BMBF) under the project “FLOQI” (ID 16KIS1074).
26 Sebastian Paul, Patrik Scheible, and Friedrich Wiemer
REFERENCES
[1] Martín Abadi, Bruno Blanchet, and Cédric Fournet. 2017. The Applied Pi Calculus: Mobile Values, New Names, and
Secure Communication. J. ACM 65 (2017), 41 pages. Issue 1. https://doi.org/10.1145/3127586
[2] Erdem Alkim, Roberto Avanzi, Joppe W. Bos, Léo Ducas, Antonio De La Piedra, Thomas Pöppelmann, Peter Schwabe,
Douglas Stebila, Martin R. Albrecht, Emmanuela Orsini, Valery Osheter, Kenneth G. Paterson, Guy Peer, and Nigel P.
Smart. 2019. NewHope. NIST PQC Standardization: Round 2.
[3] Erdem Alkim, Joppe W. Bos, Léo Ducas, Patrick Longa, Ilya Mironov, Michael Naehrig, Valeria Nikolaenko, Chris
Peikert, Ananth Raghunathan, and Douglas Stebila. 2020. FrodoKEM: Learning With Errors Key Encapsulation. NIST
PQC Standardization: Round 2.
[4] Joël Alwen, Bruno Blanchet, Eduard Hauck, Eike Kiltz, Benjamin Lipp, and Doreen Riepel. 2021. Analysing the HPKE
Standard. In Advances in Cryptology – EUROCRYPT 2021, Anne Canteaut and François-Xavier Standaert (Eds.). Springer,
87–116. https://doi.org/10.1007/978-3-030-77870-5_4
[5] Matthew Arcus. 2018. Using the Cycle Counter Registers on the Raspberry Pi 3. https://matthewarcus.wordpress.com/
2018/01/27/using-the-cycle-counter-registers-on-the-raspberry-pi-3
[6] Arm Limited. 2020. Arm Architecture Reference Manual: Armv8. https://developer.arm.com/documentation/ddi0487/
latest/
[7] Frank Arute, Kunal Arya, Ryan Babbush, et al. 2019. Quantum supremacy using a programmable superconducting
processor. Nature 574 (2019), 505–510. https://doi.org/10.1038/s41586-019-1666-5
[8] Roberto Avanzi, Joppe W. Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, John M. Schank, Peter
Schwabe, Gregor Seiler, and Damien Stehlé. 2019. CRYSTALS-Kyber. NIST PQC Standardization: Round 2.
[9] AWS Blog. 2019. Converting industrial protocols with AWS IoT Greengrass. https://aws.amazon.com/de/blogs/iot/
converting-industrial-protocols-with-aws-iot-greengrass/
[10] Hayo Baan, Sauvik Bhattacharya, Scott Fluhrer, Oscar Garcia-Morchon, Thijs Laarhoven, Rachel Player, Ronald
Rietmann, Markku-Juhani O. Saarinen, Ludo Tolhuizen, José Luis Torre-Arce, and Zhenfei Zhang. 2019. Round5. KEM
and PKE based on (Ring) Learning with Rounding. NIST PQC Standardization: Round 2.
[11] Manuel Barbosa, Gilles Barthe, Karthik Bhargavan, Bruno Blanchet, Cas Cremers, Kevin Liao, and Bryan Parno.
2021. SoK: Computer-Aided Cryptography. In 2021 IEEE Symposium on Security and Privacy (SP). IEEE, 777–795.
https://doi.org/10.1109/SP40001.2021.00008
[12] Elaine Barker, Lily Chen, and Richard Davis. 2020. Recommendation for Key-Derivation Methods in Key-Establishment
Schemes. NIST. https://doi.org/10.6028/NIST.SP.800-56Cr2
[13] David Basin, Cas Cremers, Jannik Dreier, Simon Meier, Ralf Sasse, and Benedikt Schmidt. 2021. Tamarin-Prover
Manual. https://tamarin-prover.github.io/manual/book/001_introduction.html
[14] David Basin, Jannik Dreier, Lucca Hirschi, Saša Radomirovic, Ralf Sasse, and Vincent Stettler. 2018. A Formal Analysis
of 5G Authentication. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security
(CCS ’18). ACM, 1383–1396. https://doi.org/10.1145/3243734.3243846
[15] Daniel J. Bernstein, Chitchanok Chuengsatiansup, Tanja Lange, and Christine Van Vredendaal. 2019. NTRU Prime.
Round 2. NIST PQC Standardization: Round 2.
[16] Karthikeyan Bhargavan, Bruno Blanchet, and Nadim Kobeissi. 2017. Verified Models and Reference Implementations
for the TLS 1.3 Standard Candidate. In 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 483–502. https:
//doi.org/10.1109/SP.2017.26
[17] Nina Bindel, Sedat Akleylek, Erdem Alkim, Paulo S. L. M. Bareto, Johannes Buchmann, Edward Eaton, Gutoski Gus,
Juliane Krämer, Patrick Longa, Harun Polat, Jefferson E. Ricardini, and Gustavo Zanon. 2019. qTESLA. NIST PQC
Standardization: Round 2.
[18] Nina Bindel, Johannes Braun, Luca Gladiator, Tobias Stöckert, and Johannes Wirth. 2019. X.509-Compliant Hybrid
Certificates for the Post-Quantum Transition. Journal of Open Source Software 4 (2019). Issue 40. https://doi.org/10.
21105/joss.01606
[19] Nina Bindel, Jacqueline Brendel, Marc Fischlin, Brian Concalves, and Douglas Stebila. 2019. Hybrid Key Encapsulation
Mechanisms and Authenticated Key Exchange. In Post-Quantum Cryptography. PQCrypto 2019 (Cham) (Lecture notes
in computer science, 11505), Jintai Ding and Rainer Steinwandt (Eds.). Springer International Publishing, 206–226.
https://doi.org/10.1007/978-3-030-25510-7_12
[20] Nina Bindel, Udyani Herath, Matthew McKague, and Douglas Stebila. 2017. Transitioning to a Quantum-Resistant
Public Key Infrastructure. In Post-Quantum Cryptography. PQCrypto 2017 (Cham) (Lecture notes in computer science,
10346), Tanja Lange and Tsuyoshi Takagi (Eds.). Springer International Publishing, 384–405. https://doi.org/10.1007/978-
3-319-59879-6_22
[21] Bruno Blanchet. 2001. An efficient cryptographic protocol verifier based on prolog rules. In 14th IEEE Computer
Security Foundations Workshop (CSFW-14). IEEE, 82–96. https://doi.org/10.1109/CSFW.2001.930138
Towards Post-Quantum Security for Cyber-Physical Systems 27
[22] Bruno Blanchet. 2012. Security Protocol Verification: Symbolic and Computational Models. In Principles of Security
and Trust (POST 2012), Pierpaolo Degano and Joshua D. Guttman (Eds.). Springer, 3–29. https://doi.org/10.1007/978-3-
642-28641-4_2
[23] Bruno Blanchet. 2016. Modeling and Verifying Security Protocols with the Applied Pi Calculus and ProVerif. Foundations
and Trends in Privacy and Security 1 (2016), 1–135. Issue 1–2. https://doi.org/10.1561/3300000004
[24] Bruno Blanchet. 2017. CryptoVerif. A Computationally-Sound Security Protocol Verifier.
[25] Bruno Blanchet, Ben Smyth, Vincent Cheval, and Marc Sylvestre. [n. d.]. ProVerif 2.02pl1: Automatic Cryptographic
Protocol Verifier, User Manual and Tutorial.
[26] Matt Braithwaite. 2016. Experimenting with Post-Quantum Cryptography. Google. https://security.googleblog.com/
2016/07/experimenting-with-post-quantum.html
[27] BSI. 2017. OPC UA Security Analysis.
[28] BSI. 2020. Migration zu Post-Quanten-Kryptografie. [Migration to Post-Quantum Cryptography]. (available only in
German).
[29] Kevin Bürstinghaus-Steinbach, Christoph Krauß, Ruben Niederhagen, and Michael Schneider. 2020. Post-Quantum
TLS on Embedded Systems. In Proceedings of the 15th ACM Asia Conference on Computer and Communications Security
(ASIA CCS ’20). ACM, 841–852. https://doi.org/10.1145/3320269.3384725
[30] Matt Campagna and Eric Crockett. 2019. Hybrid Post-Quantum Key Encapsulation Methods (PQ KEM) for Transport
Layer Security 1.2 (TLS). Internet-Draft draft-campagna-tls-bike-sike-hybrid-01. IETF. https://datatracker.ietf.org/doc/
html/draft-campagna-tls-bike-sike-hybrid-01 (Work in progress).
[31] Cong Chen, Oussama Danba, Jeffrey Hoffstein, Andreas Hülsing, Joost Rijneveld, John M. Schank, Peter Schwabe,
William Whyte, and Zhenfei Zhang. 2019. NTRU. NIST PQC Standardization: Round 2.
[32] Vincent Cheval and Bruno Blanchet. 2013. Proving More Observational Equivalences with ProVerif. In Principles of
Security and Trust (POST 2013), David Basin and John C. Mitchell (Eds.). Springer, 226–246. https://doi.org/10.1007/978-
3-642-36830-1_12
[33] Eric Crockett, Christian Paquin, and Douglas Stebila. 2019. Prototyping post-quantum and hybrid key exchange and
authentication in TLS and SSH. Cryptology ePrint Archive, Report 2019/858 (2019). https://ia.cr/2019/858
[34] Jan-Pieter D’Anvers, Angshuman Karmakar, Sujoy Sinha Roy, and Frederik Vercauteren. 2019. SABER: Mod-LWR
based KEM. NIST PQC Standardization: Round 2.
[35] Jan-Pieter D’Anvers, Marcel Tiepelt, Frederik Vercauteren, and Ingrid Verbauwhede. 2019. Timing Attacks on Error
Correcting Codes in Post-Quantum Schemes. In Proceedings of ACM Workshop on Theory of Implementation Security
Workshop (TIS ’19). ACM, 2–9. https://doi.org/10.1145/3338467.3358948
[36] D. Dolev and A. Yao. 1983. On the security of public key protocols. IEEE Transactions on Information Theory 29 (1983),
198–208. Issue 2. https://doi.org/10.1109/TIT.1983.1056650
[37] Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, Peter Schwabe, Gregor Seiler, and Damien Stehlé. 2019.
CRYSTALS-Dilithium. Algorithm Specifications and Supporting Documentation. NIST PQC Standardization: Round 2.
[38] Pierre-Alain Fouque, Jeffrey Hoffstein, Paul Kirchner, Vadim Lyubashevsky, Thomas Pornin, Thomas Prest, Thomas
Ricosset, Gregor Seiler, Wiliam Whyte, and Zhenfei Zhang. 2019. Falcon: Fast-Fourier Lattice-based Compact Signatures
over NTRU. NIST PQC Standardization: Round 2.
[39] Qian Guo, Thomas Johansson, and Jing Yang. 2019. A Novel CCA Attack Using Decryption Errors Against LAC. In
Advances in Cryptology – ASIACRYPT 2019, Steven D. Galbraith and Shiho Moriai (Eds.). Springer, 82–111. https:
//doi.org/10.1007/978-3-030-34578-5_4
[40] Mike Hamburg. 2019. ThreeBears. Post-quantum cryptography proposal. NIST PQC Standardization: Round 2.
[41] Andreas Hülsing, Kai-Chun Ning, Peter Schwabe, Florian Weber, and Philip R. Zimmermann. 2021. Post-quantum
WireGuard. In 2021 IEEE Symposium on Security and Privacy (SP). IEEE, 304–321. https://doi.org/10.1109/SP40001.
2021.00030
[42] Tibor Jager, Jörg Schwenk, and Juraj Somorovsky. 2015. On the Security of TLS 1.3 and QUIC Against Weaknesses
in PKCS#1 v1.5 Encryption. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications
Security (CCS ’15). ACM, 1185–1196. https://doi.org/10.1145/2810103.2813657
[43] Panos Kampanakis, Peter Panburana, Ellie Daw, and Daniel Van Geest. 2018. The Viability of Post-Quantum X.509
Certificates. Cryptology ePrint Archive, Report 2018/063 (2018). https://ia.cr/2018/063
[44] Matthias J. Kannwischer, Joost Rijneveld, Peter Schwabe, and Ko Stoffelen. 2019. pqm4: Testing and Benchmarking
NIST PQC on ARM Cortex-M4. Cryptology ePrint Archive, Report 2019/844 (2019). https://ia.cr/2019/844
[45] Nadim Kobeissi. 2018. Formal Verification for Real-World Cryptographic Protocols and Implementations. PhD thesis.
Ecole Normale Supérieure de Paris.
[46] Nadim Kobeissi. 2020. Verifpal: User Manual.
[47] Nadim Kobeissi, Karthikeyan Bhargavan, and Bruno Blanchet. 2017. Automated Verification for Secure Messaging
Protocols and Their Implementations: A Symbolic and Computational Approach. In 2017 IEEE European Symposium on
28 Sebastian Paul, Patrik Scheible, and Friedrich Wiemer
[73] Douglas Stebila and Michele Mosca. 2017. Post-quantum Key Exchange for the Internet and the Open Quantum
Safe Project. In Selected Areas in Cryptography – SAC 2016, Roberto Avanzi and Howard Heys (Eds.). Springer, 14–37.
https://doi.org/10.1007/978-3-319-69453-5_2
[74] Mathy Vanhoef and Frank Piessens. 2017. Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2. In Proceedings
of the 2017 ACM SIGSAC Conference on Computer and Communications Security (CCS ’17). ACM, 1313–1328. https:
//doi.org/10.1145/3133956.3134027
[75] Verizon. 2020. DBIR - Data Breach Investigations Report.
[76] Christoph Weidenbach. 1999. Towards an Automatic Analysis of Security Protocols in First-Order Logic. In Automated
Deduction – CADE-16, H. Ganzinger (Ed.). Springer, 314–328. https://doi.org/10.1007/3-540-48660-7_29
[77] Martin Wollschlaeger, Thilo Sauter, and Juergen Jasperneite. 2017. The Future of Industrial Communication. IEEE
Industrial Electronics Magazine 11 (2017), 17–27. Issue 1. https://doi.org/10.1109/MIE.2017.2649104
[78] Lu Xianhui, Liu Yamin, Jia Dingding, Xue Haiyang, He Jingnan, Zhang Zhenfei, Liu Zhe, Yang Hao, Li Bao, and Wang
Kunpeng. 2019. LAC. Lattice-based Cryptosystems. NIST PQC Standardization: Round 2.
[79] Jingjing Zhang, Lin Yang, Xianming Gao, and Qiang Wang. 2020. Formal analysis of QUIC handshake protocol using
ProVerif. In 2020 7th IEEE International Conference on Cyber Security and Cloud Computing (CSCloud)/2020 6th IEEE
International Conference on Edge Computing and Scalable Cloud (EdgeCom). IEEE, 132–138. https://doi.org/10.1109/
CSCloud-EdgeCom49738.2020.00030
ALGORITHM OVERVIEW
Table 4. Conventional and PQC key establishment schemes evaluated in this work.