In this section, the inherently-unclonable identification technologies and mechanisms will be investigated: first, devices using physical unclonable functions (PUF) as identity, and then devices using secret unknown cipher (SUC) as identity. Finally, a comparison between PUF and SUC will conclude this section.
5.1. Identification Based on Analog Physical Unclonable Functions
Physically unclonable functions or physical unclonable functions (PUFs) were built based on the physical characteristics (random manufacturing variations) of silicon devices. PUF can be perceived as a DNA-like identity for the device. The random, unpredictable, and uncontrollable nature of PUFs makes them physically very hard to clone, even for the manufacturer. Several PUFs were proposed two decades ago. In the following, three well-known technologies of PUFs are presented as a sample [
29]:
The arbiter PUF, shown in
Figure 11a, is composed of two parallel paths of consecutive multiplexers as symmetric paths and a flip-flop or a latch as arbiter circuit [
30]. The arbiter circuit includes
N input bits (0 and 1 every stage) and has one-bit output. The core idea of arbiter PUF is to extract the delay of tow paths. The path that reaches the arbiter circuit first decides the output of the arbiter circuit, i.e., either 0 or 1 [
29]. Arbiter PUF is classified as a strong PUF as for multiple inputs it responds with multiple corresponding outputs [
17].
The ring oscillator PUF (RO PUF) is also defined as a delay-based PUF. Several identical ring oscillators and two counters compare RO frequencies and generate one-bit output as shown in
Figure 11b [
31]. RO PUF is classified as a weak PUF since it generates a limited number of challenge–response pairs [
17].
A static random-access memory (SRAM) is composed of several cells that can store one bit, either 0 or 1. When the SRAM cell is powered on, the SRAM cell will have either 0 or 1 as an initial value. This random behavior of SRAM memory leads to the construction of SRAM PUF as illustrated in
Figure 11c [
32]. SRAM PUF is categorized as a memory-based PUF [
29]. SRAM PUF is classified as a weak PUF since it generates a limited number of challenge–response pairs [
17].
5.1.1. PUF-Based Identification Protocol: Challenges and Drawbacks
PUF can be perceived as unknown, highly non-linear physical mapping. For an input C, PUF responds with an output R. The input–output PUF-pairs or so-called challenge–response pairs (CRPs) are mainly utilized to identify and authenticate the device.
As silicon-based technologies, PUFs are very sensitive to temperature and voltage variants, aging, and circuit noise. Therefore, it is very difficult to ensure that whenever a PUF is fed by a challenge
, the PUF can respond with the same and stable
repetedly. This problem is well-known as a reproducibility problem in PUF-technologies [
17]. To ensure the reproducibility of the PUF-response, an additional circuit (a so-called fuzzy extractor) is attached to a PUF to stabilize its PUF-response [
34]. The fuzzy extractor can be perceived as an error correction code mechanism where it generates extra data (helper data) allowing correction of the PUF response R for any given challenge C. This solution requires extra hardware resources and decreases the PUF entropy, i.e., it reduces the number of usable CRPs.
Additionally, several side-channel attacks can threaten PUFs, such as invasive [
35], semi-invasive [
36], and non-invasive attacks [
37]. Such attacks aim to create a physical clone of a PUF in the best-case scenario [
38] and build a virtual PUF-model in the worst-case scenario.
5.1.2. Primitive PUF-Based Identification Protocol
As shown in
Figure 12, a basic PUF-based identification protocol can be carried out after the enrollment phase. In the enrollment phase, PUF is fed by a set of challenges
, and the helper data
are stored in a server database together with the corresponding responses
. In the identification phase, the server selects one
out of
stored CRPs and sends
to the device. The device responds by its PUF and fuzzy extractor with
. The server compares the received
with the stored
to verify the PUF.
5.1.3. Security Evaluation of PUF-Based Identification Protocol
Due to the limited number of CRPs in many weak PUF technologies, an adversary can feed a PUF with all possible challenges and store the corresponding responses in a PUF-codebook which can be perceived as a PUF-substitution. This PUF-codebook can carry out the mentioned basic PUF-based identification protocol similar to the original PUF. Therefore, this attack is equivalent to a/the PUF-cloning attack. On the other hand, if a PUF can generate an exponentially-large number of CRPs, the PUF is called a strong PUF [
17]. However, if the generated CRPs are highly correlated, then a set of PUF-CRPs can be fed to a machine learning (ML) algorithm which may build a PUF-predictive model [
39]. For a new challenge
, a/the PUF-predictive model responds with the same response
as the original PUF. Thus, an adversary (man in the middle attack) can successfully perform this attack scenario against the mentioned basic PUF-based identification protocol after collecting a large enough number of CRPs as a training set.
Table 3 summarizes several successful molding attacks against different types of PUFs along with their prediction rates. For instance, a successful molding attack on the Arbiter PUF with 64-bit size of the challenge requires approximately 20,000 CRPs to construct a predictive PUF-model within 0.60 s by using logistic regression. As a result, most of the proposed PUFs can be molded by using a few CRPs within a short time. More details about the molding attacks on PUFs can be found in [
39].
In order to provide a PUF with immunity against modeling attacks, additional algorithm on software level or a cryptographic function should be deployed [
17]. Such countermeasures increase both the execution time and the hardware complexity.
5.1.4. PUF for IoT Device Identification and Authentication
Every IoT system aims to achieve a balance between hardware cost, performance, and security. In [
40], PUFs were presented as a robust solution for securing IoT devices. The idea was to investigate how PUF-based protocols meet the requirements of secure communication with little resource overheads [
40]. As a result of their investigations, a secure PUF-based IoT system should be robust and resilient against side channel attacks and man in the middle attacks. In the following, new criteria for PUF-based IoT systems are addressed and discussed. Such criteria give good indications for the performance and hardware cost of PUF-based IoT systems.
5.1.5. PUF-Based IoT Identification Protocols: Communication Complexity
As mentioned above, a/the basic PUF-based identification protocol cannot be deployed for IoT systems due to the security concerns mentioned above. Therefore, several PUF-based identification protocols have been designed to overcome PUF vulnerabilities by communicating more with the server and/or using a proposed extra cryptographic function [
17]. The number of communications between the server and the PUF together with the additional cryptographic function affects and impacts the overall power consumption of the IoT system, not only for the IoT devices but also the required power consumption to perform the protocol. Furthermore, the communication channel size required to complete the protocol between the server and IoT device with PUF provides a precise indication of the bit volume of the exchanged data.
Table 4 shows a variety of communication complexities of several PUF-based identification protocols proposed for IoT system, where
is the bit length of PUF-CR. To simplify the calculation,
n is also used to indicate the size of any transmitted value via the protocol such as a nonce and digest.
According to
Table 4, a minimum number of communications between the server and the IoT device to perform the identification protocol is three, each with
n-bit as a communication channel size. As a result, a PUF-based identification and authentication protocol requires multiple communications between the server and IoT device via a channel of at least size
n bits.
5.1.6. PUF-Based IoT Identification Protocols: Hardware Complexity
Since a low area is desirable for IoT systems, the proposed PUFs should consume a small portion of hardware resources and have low implementation cost/complexity. Here, the hardware cost indicates the required area that the proposed PUF occupies. Apparently, a PUF requiring less complexity is more desirable for IoT systems.
Table 5 shows several PUF-proposals with implementation costs in Field Programmable Gate Array (FPGA). In [
51], compact FPGA-implementations of RO-PUF, Arbiter PUF, and RS Latch-PUF (RS-LPUF) were presented. The PUF-implementations were optimized to achieve very competitive area trade-offs. Note that the results presented in
Table 5 do not show the required extra-overhead for the fuzzy extractor and/or the error correction code technique.
According to
Table 5, a/the PUF circuit without any additional stabilizer circuit consumes an enormous amount of the hardware resources. For instance, an/the optimized Arbiter PUF itself requires almost 936 LUTs and 1872 DFFs [
51].
5.1.7. PUF-Based Identification Discussion
PUFs display inconsistent behavior because of their sensibility to environmental and operational conditions and variations such as temperature, voltage, radiation, and aging factors. Additionally, many attacks on PUFs have been recently proposed. These target both weak PUFs and strong PUFs [
59]; weak PUFs have fewer challenges, commonly only one challenge per PUF instance. Hence, it is assumed that access to the weak PUF response is restricted. In contrast, a strong PUF produces a high number of CRPs which are unpredictable. The process of cloning a PUF consists of two steps [
60]:
Characterization: a process in which the attacker gains knowledge of the challenge/response behavior of a PUF.
Emulation: the process of recreating or modelling the unique response of a PUF, i.e., creating a PUF with identical challenge/response pairs.
Two decades since their introduction, we summarize those PUFs that still have drawbacks and shortcomings: their inconsistency and vulnerability to diverse cloning attacks.
Table 6 shows the results for PUF-based identification mechanisms using selected comparison criteria.
5.2. Clone-Resistant IoT Identity Based on Digital Secret Unknown Cipher
Since PUFs have very concerning and severe drawbacks due to their sensitivity to operating conditions such as voltage, temperature, radiation, race (metastability), and other effects [
62]. PUFs have therefore become unattractive for many IoT applications. Indeed, most of the problems result from aging effects that cause the material properties to change over time, making reidentification unstable. To counteract all these effects, expensive fuzzy extractors or helper data algorithms [
63] have been proposed, resulting in highly complex systems that are also more susceptible to side-channel attacks, even on the fuzzy extractors [
64]. In [
5], Adi first proposed the SUC concept as a digital alternative to PUF; SUC is a self-created (digitally mutated) internal permanent digital structure that can encrypt and decrypt deploying functions that nobody knows. Since aging effects in digital structures are negligible, such ciphers remain consistent throughout the whole lifetime of digital products. To make the paper self-contained, the concept of creating secret unknown ciphers is reproduced with further details summarizing early publications [
65].
Definition 4. A physical secret unknown cipher (SUC) is a randomly and internally self-created unknown and unpredictable cipher module inside a chip, where both user and manufacturer have no influence on the created ciphering functions/modules. The resulting cipher is permanent, non-removable and tamper-proof. Even the device manufacturer should not be able to backtrace the creation process, nor predict or reveal the resulting cipher.
SUC as a designed pseudorandom (PR) bijective function exhibits higher entropy than a conventional PUF, which is equivalent to a collision-prone hash function. The SUC’s invertibility property as a cipher tends to be much more efficient in its generic identification and authentication protocols compared with PUFs [
65].
Figure 13 describes the concept of embedding SUC in system-on-chip (SoC) units within self-reconfiguring, non-volatile SoC FPGAs. The SoC FPGA should be a core part in the hardware unit of each IoT device. As the IoT device provisioning process is conducted in a post-fabrication process by the trusted authority (TA), the creation of the SUCs happens without involving the device manufacturers; this is the most important security measure that can be carried out by the trusted authority or even by the application users.
In the following, the steps needed to personalize each SoC FPGA by TA are described:
Step 1: TA uploads a cipher designer called “GENIE” into the SOC FPGA. The cipher designer contains an algorithm for creating internally unpredictable and unknown random secure ciphers. The cipher creation process runs just one time during the device lifecycle on the SoC FPGA.
Step 2: The cipher designer creates a permanent (non-volatile) and unpredictable random cipher by consulting and using an unknown random bit string from an internal and unpredictable true random number generator (TRNG).
Step 3: After the SUC creation is finished, the cipher designer is completely removed and the SoC FPGA gets its unique and unpredictable SUC.
Step 4: The TA challenges the SUCA using a set of random cleartext challenges and receives the corresponding ciphertext responses . The TA securely stores the challenge–response (CR) pairs in a secure “unit individual records” (UIR) database for later usage; each pair is associated with the serial number of the IoT device (SNA).
The IoT device with the embedded SUC is now ready to be commissioned in a network. The device can be securely identified and authenticated using the secret CR pairs. Note: the device manufacturer cannot influence the device personalization process and has no information about the cipher designer. This step can always be performed by a trusted network administrator of the IoT system. The devices can be irreversibly locked after Step 4. The cipher created in the device cannot be changed, reversed, or removed. Note that the trusted authority cannot create two SUCs with the same identity. In other words, the TA cannot clone devices without being traced.
5.2.1. SUC Identification Protocol
As shown in the personalization process, TA stores in the UIR all secure X/Y pairs identified by a/the serial number for each personalized IoT device. In
Figure 14, a generic protocol to identify an IoT device
, with
proceeds as follows:
Step 1: IoT with embedded sends to TA an identification request with its device serial number.
Step 2: TA selects randomly one of the pairs of the given serial number from the UIR and sends to . If the serial number does not exist in the UIR, TA aborts the communication.
Step 3: computes by using and sends to TA. If , then the device is deemed to be authentic and can be accepted. Otherwise, is not authentic and should be rejected. The pair is marked as consumed and for highest security performance should not be used later.
Compared to PUFs, SUC has the advantage of being capable of recovering X from Y by using the inverse function
. This property allows low-complexity and very efficient management of the consumed X/Y-pairs. The property was also used in [
66] to build a physical chain of trust for secured authentication in a medical device environment.
5.2.2. SUC Mutual Authentication Protocol
Figure 15 shows a possible protocol to let the IoT device
and another IoT device with
communicate securely with the help of TA, which acts as a one-time mediator to allow mutual authentication between the two devices. Both IoT devices are already identified by TA. For encryption, a standard cipher E such as AES is used, the protocol proceeds as follows:
with embedded sends TA a request for a ticket token asking to communicate with .
TA selects randomly one of the pairs of () and sends the pair encrypted by E keyed with and to .
computes using , then decrypts the incoming message to obtain the access token for .
sends an authentication request, encrypts using and sends a random and to .
with embedded sends TA a request for a ticket as access token to communicate with device .
TA selects randomly one of the pairs of and sends the pair encrypted by E and keyed with and to .
computes using , then decrypts the incoming message to obtain the access token for .
sends encrypted parameters using as key and random to build the session key.
computes using , then decrypts the incoming message to obtain the session key parameters.
Both devices share the same secret parameters and can communicate securely later, using as a session key, where H is a public hash function.
5.2.3. Security Analysis of SUCs
Various attack scenarios are possible, such as replay and impersonation attacks. However, in an open network an attacker can intercept the message between Device A and Device B, but the attacker cannot decrypt the encrypted messages without having SUC; therefore, the SUC cloning attack is discussed below.
Cloning Complexity of Embedded SUC in IoT Devices
To impersonate an IoT device, an adversary could try to reverse-engineer or clone the targeted IoT device; an intruder aiming to impersonate an IoT device should clone its SUC. SUC cloning attacks can be classified into two categories: mathematical/analytical cloning in the form of cryptographic analysis attacks on the designed SUC cipher classes, and physical cloning in the form of invasive side-channel attacks to extract the SoC bitstream.
Mathematical/analytical cloning: SUCs are designed as state-of-the-art ciphers to be resistant against known mathematical attacks. Such issues were studied in [
67,
68]. SUC is considered as practically unclonable by modeling if it is not feasible to store all the challenge–response space as the cipher codebook size (CCBS). For an 80-bits cipher
n = 80 results in CCBS = 2
80. Resistance to attacks with complexity in the order of 2
80 is considered the minimum adequate level for SUCs to meet today’s security requirements. For post-quantum security, complexity in the order of at least 2
160 is required.
Physical cloning: An adversary with physical access to IoT devices pins may try to reverse-engineer the embedded SUCs through “bitstream attacks”. In [
69], the authors show that a clone attack is highly infeasible as applying adequate side-channel attacks requires knowledge of the SUC location, design structure, and related mappings, which are mostly unknown and hard to predict.
We conclude that, practically, such attacks on SUC structures are highly infeasible without very expensive physical invasive attacks on the IoT device. Furthermore, break-one break-all does not work for SUCs as no unit is created with the same randomizing process.
5.2.4. SUC Hardware Complexity
Several SUC designs and architectures were investigated and implemented for the SmartFusion
®2SoC FPGA technology. SmartFusion
®2SoC FPGA is the only non-volatile FPGA technology with flash-based distributed switching fabrics and programmable cells. SmartFusion
®2SoC FPGA provides powerful arithmetic units, the so-called MACC, high-performance communication interfaces, and flash-based FPGA fabric incorporating an integrated ARM Cortex-M3 processor. SUC as a stream cipher was proposed in [
68]; it was optimized by deploying the arithmetic units MACC. In [
70], SUC as a Feistel-like cipher was proposed by replacing the XOR-operation in the Feistel network with a new involution operation based on multipliers MACC in modern FPGA devices. In [
71], a large class of generalized Feistel network was presented. The proposed cipher is implemented based on mini-blocks of 4-bit mappings and bundle permutations, using only 4-input LUT and DFF. The KSG requires 37 LUTs and 223 DFFs in [
69]; potentially, this can be considered as zero cost in many real-world use cases. Mars et al. show in [
67] that the I-SUC version is a more efficient design (as an involutive cipher), consuming much fewer resources for both encryption and decryption than the NI-SUC version.
Table 7 summarizes the hardware complexity of previous SUC proposals for SmartFusion
®2 SoC FPGAs.
5.2.5. SUC-Based IoT Device Identity Discussion
SUC is a clone-resistant digital PUF; in other words, it can be used as a digital replacement for traditional analog PUFs. As digital modules, SUCs have no disadvantages in terms of inconsistency in aging and sensitivity to operating conditions such as temperature and supply voltage. SUCs can be used in various IoT applications that require secure clone-resistant physical identity. In contrary to PUFs, SUCs cannot be seen as unclonable because if it were possible for the device to be invasively attacked and the bitstream obtained, then full consistent cloning would be possible for a single unit. In this sense, SUC has practical security in that the attacker needs to physically invade the device to clone it. However, emerging 3-D VLSI technology is expected to make such attacks infeasible as the bitstream (as the required secret) is destroyed when physically attacked.
Based on the protocol shown in
Figure 14,
Table 8 shows the result for SUC-based identification mechanisms using the comparison criteria.
5.3. PUF-Based Unclonability Versus Digital Clone-Resistant SUC Techniques
This section compares the advantages and disadvantages of analog-based PUFs as unclonable identity and digital-based SUC as clone-resistant physical IoT identities.
Table 9 summarizes the comparison criteria. The comparison covers the following criteria:
Function inconsistency
Resilience to physical attacks
Resilience to modeling attacks
Cryptographic primitive usage
Key space/entropy
CR pair management
- (A)
The Impact of the Reliability Problem on Entropy
PUFs exhibit unreliable behavior due to the analog nature of PUF-Modules. Any CMOS-based PUF is very sensitive to aging, temperature variation, etc. This means a failure in the PUF-response can occur within the whole lifetime of an IoT unit with high probability. For instance, the reliability of the RO PUF was investigated and analyzed in [
72]. The experimental results show that the long RO PUFs (7-bits challenge size) are unreliable compared to the short arbiter PUFs with a challenge of size three-bits. The unreliable behavior of the PUFs indicates that a PUF responds with the same response to two different challenges. Therefore, there is always a compromise between PUF reliability and PUF entropy. As a result, a PUF with high entropy does not exist due to the reliability problem and due to the fact, that, in the best case, a PUF is equivalent to a collision-prone weak hash function. Several approaches have been published to study and solve this problem [
73,
74]. It should be noted that the current efficient solutions require either extra hardware resources (as shown in
Section 5.1.6) or addition of some error correction algorithms at software level. Both solutions are unsuitable for an IoT environment. Consuming more hardware resources leads to high power consumption, whereas a software solution opens the door to more security threats and bugs. On the other hand, deploying pure digital hardware structures such as SUC is perfectly consistent in the whole lifetime of an IoT unit and the reliability of SUC is equivalent to the reliability of the digital IoT unit itself.
- (B)
The Impact of SUC Invertibility on Key Space
A pure PUF circuit without any additional circuit/component can be perceived as a many-to-one collision-prone function such as a random weak hash/compression function. Therefore, the PUF -response space cannot avoid the inherent collision of its outputs. Such a collision reduces the PUF-key space from 2n to 2n/2 on average in the best-case scenario, where n is the bit length of the PUF-response. On the other hand, SUC is a reversible designed one-way pseudorandom function (PRF) which exhibits the following advantages compared to a PUF mapping:
The whole input–output space of the cipher is usable as it is an on-to and a one-to-one function. As a result, it is a fully collision-free mapping. The size of SUC- input–output space is 2n, where n is the SUC-input–output bit length.
The entropy of identifiable objects includes the whole cipher space due to the collision-free operation.
- (C)
CRP Management
As SUC deploys a reversible function, the clear-text space is fully usable in a structured manner without loss of security. This results in a tremendous advantage in managing the used pairs for identification on the side of a low-complexity device. To clarify this point, assume that SUC and PUF have
n-bit as output length, so the average number of usable input–output pairs is 2
n in the case of SUC and 2
n/2 in the best-case scenario for the PUF. For
n = 128, an example for managing 1024 C-R pairs to check double-usage in a PUF requires storage of 128 × 1024 = 128 Kbits of memory with an average search mechanism of 1024/2 = 512 cycles [
65], whereas memory storage of only 1024 bits with a single search cycle is needed to check C-R double usage in the case of SUC [
75].