Abstract
Connected devices are deployed at a rapid rate and in broad domains like home automation or industry, forming the Internet of Things. Those devices need to be secure and trusted to prevent malicious use. However some connected devices are low-cost, memory constrained, power constrained, etc.. This greatly limits the deployment of usual security solutions. As the absence of security is not acceptable, it is necessary to search for lightweight security solutions adapted to such devices. Physical Unclonable Function (PUF) technology can support new lightweight security mechanisms and several lightweight security protocols using this technology have been proposed over the years. Those protocols look promising, however there are still some unaddressed challenges which have slowed down a large scale adoption. This article presents the design of a new authentication protocol for constrained devices which takes into account those challenges. This protocol is implemented on a hardware platform used for connected devices development, which is then used to evaluate the security level and performances of the protocol in a realistic scenario. This evaluation shows that the protocol is secure and can meet industrial time constraints.
Introduction
With the past and expected growth of the Internet of Things (IoT) and its applications [6], connected devices are largely available today. Those devices gather data from their surroundings and exchange them with remote platforms in the fog and/or in the cloud for further processing. Moreover, some devices are able to physically interact with their environment. Those devices capabilities can be used by pervasive applications to provide services to users while remaining invisible. In fact, those applications extend software systems into the physical world to offer smart environments (i.e., at the same time ubiquitous, ambient, seamless and transparent) [11].
Pervasive applications work in close proximity to the physical world and potentially to human users, with expected deployment of those applications in domains such as smart-home, e-Health or Industry 4.0. Consequently, it is vital to integrate security considerations into the development process to ensure trust in pervasive environments, as any malfunction or misbehavior would not only disappoint the final user [11] but could lead to hazardous or harmful situations. An important security aspect is to guarantee the authenticity of connected devices from their manufacturing to their deployment as part of a smart environment and to allow this authenticity to be checked by pervasive applications working with the devices. This would avoid the intrusion of counterfeit or rogue devices which could perturb the operation of pervasive applications.
To authenticate IoT devices, it is possible to use protocols and standards commonly deployed on the Internet like HTTP,1
To tackle this issue, Physical Unclonable Functions (PUF) are a promising technology. First introduced by Pappu [22], a PUF is a hardware system which generates a unique fingerprint when it is manufactured. Like a function, a PUF accepts an input and generates a corresponding output which is influenced by the PUF fingerprint. This allows the identification of a PUF instance. PUF are interesting because they act as a secure storage for their fingerprint while using more simple circuits than dedicated storage solutions. It is very hard to duplicate a given PUF because its fingerprint is generated by unpredictable manufacturing noise. For those reasons, researches are conducted on this technology. One research area is the use of PUF to develop lightweight security protocols compatible with constrained devices, identification and authentication protocols for instance. Yet the domain is vast and among the various propositions, some challenges are still rarely addressed yet they are crucial to ensure the deployment in commercial solutions.
This article examines those challenges and presents the design of a new refillable PUF-based authentication protocol for constrained devices. Refillable means that it is possible to securely generate new authentication data during the device lifetime. The protocol key features are the clear definition of involved actors, its integration into the device life-cycle from manufacturing to field deployment and its compatibility with industrial time constraints thanks to a new approach in the management of authentication data.
The main contributions of this article are as follows:
the design of a lightweight protocol allowing mutual authentication between a constrained device and a resourceful equipment, relying on PUF technology as an alternative to key provisioning.
the design of a refill procedure, part of the authentication protocol, allowing the secure generation of authentication data during the device field-use to reduce the initial registration time.
the implementation and validation of the protocol on a concrete hardware target, close to the constrained devices specifications.
the evaluation of the protocol performances against others PUF-based authentication protocols, as well as a classic authentication scheme based on a certificate and the TLS protocol.
This article is organized as it follows: Section 2 presents current authentication schemes and their limitations in the context of low-cost constrained devices, then introduces the base principle and open challenges in using PUF technology for lightweight authentication. Section 3 presents the global approach to address the identified challenges, approach which led to the design of a new protocol. Section 4 explains how the protocol has been implemented on a hardware target and the design choices. Before the conclusion, Section 5 presents the evaluation of the protocol security level and performance metrics.
Authentication in IoT context
Authentication of smart devices is a hot topic and a very active research field, particularly when the authentication takes place between a low-cost resource-constrained device and a resource-rich server, as highlighted by the plurality of proposed protocols [10]. The devices constraints make the implementation of cryptographic primitives and security functions a challenging task. However, those constraints are rarely quantified which makes it difficult to clearly grasp those limits. In an effort to clarify this situation, this article uses the terminology defined by the Internet Engineering Task Force (IETF) for constrained devices in the RFC 7228 [4]. This RFC introduces three classes of constrained devices based on their embedded storage for code and data:
A device embedding more storage capabilities than class 2 limits is not considered constrained in terms of storage, an example being the Raspberry Pi boards.5
The first method relies on asymmetric cryptography with the Public Key Infrastructure (PKI). Asymmetric cryptography works with key-pairs composed of a private key and a public key. The PKI is a set of norms, infrastructures and processes which aim at ensuring trust in public keys. To do so, additional data are associated to public keys thank to standards like X.509 certificates [7]. For each device to authenticate, a key-pair is generated. The private key is securely embedded in the device while the public key is inserted in a certificate describing the device identity. In this setup, authentication protocols have been normalized by the National Institute of Standards and Technology (NIST) [20]. A simplified version of a one-way authentication is illustrated by Fig. 1.

One way authentication with asymmetric keys.
In Fig. 1, the server generates a random number used once (nonce)
The second authentication method uses symmetric cryptography. The principle is similar to the previous method: for each device which needs authentication, a symmetric key is generated and embedded in the device in a secure manner. This key needs to be shared with servers willing to authenticate the smart device. A server can then send a challenge to the device which ciphers it with the shared key and sends it back for authentication. Symmetric cryptography operations are less costly in terms of computations than asymmetric operations, but the challenging part is sharing the secret key between the device and the server: it is possible to use a single key for several devices and servers but if only one device is compromised the whole network becomes vulnerable. A more secure way is to assign a unique key to every pair of device and server which need to communicate, but this requires additional management. In the end, the deployment costs are non negligible just like the asymmetric method.
Additionally, in both methods the smart device needs to securely store some data: either its private key or the shared secret key. Several solutions exist to ensure the secure storage of such sensitive data. They all come with different security levels and different costs. For instance, there are dedicated microprocessor chips called Secure Element (SE). A SE is specifically designed to store confidential data and to realize some cryptographic operations. It includes sensors to detect intrusion attempts and react accordingly, by erasing the internal storage for instance. It is designed to be tamper proof against hardware attacks such as power side channel [15] or fault injection attacks [18]. Those security properties are often qualified by a certification authority and must be compliant with security standards, such as the Common Criteria (CC) for instance. While with SE, one can reach a very high security level, it induces an extra costs to the system in terms of components and engineering [23].
Another solution for secure storage is to use a MicroController Unit (MCU) with embedded security features like a secure context, which splits the MCU in two distinct parts:
a normal context, also called Rich Execution Environment (REE), where the main applications can run and interact with the outside world; and a secure context, also called Trusted Execution Environment (TEE), where sensitive operations can be executed and secrets securely stored with very limited interactions with the outside world.
Context switches can only happen in well-defined entry/exit points to prevent illegal accesses. This solution can be easier to implement but it is less secure than a SE because it does not always include anti-tampering protections [23].
Finally, combining a classic authentication method with a secure storage solution is often not viable for low-cost constrained devices. To tackle this issue, new technologies are being considered like Physical Unclonable Functions (PUF) [28].
A Physical Unclonable Function (PUF) is a hardware circuit which reacts to an input stimulus named the challenge by emitting an output stimulus named the response. The originality of a PUF is that its output not only depends on the challenge but on some intrinsic properties of the hardware circuits as well, such as the geometry of its transistors or the size of the hardware structure. Because those properties mainly depend on manufacturing process variations, it is statistically highly unlikely or almost impossible to produce identical PUF, hence its unclonable property.
PUF have others characteristics. First, there is the challenge space accepted by the PUF. It classifies PUF in two categories: weak PUF and strong PUF. A PUF is classified as strong if it has a large Challenge-Response Pairs (CRP) space, qualified as non-enumerable, and this CRP space scales exponentially with the PUF design size. Otherwise it is a weak PUF which has a limited CRP space, sometimes made up of a unique CRP. Another metric of interest is the error rate, to quantify the stability of PUF responses. This metric must be as low as possible to minimize the correction operations needed to have a stable response to a given challenge. Inter-PUF distance is critical as well when using PUF for authentication purposes. It consists of measuring, for a given challenge, the distance between several PUF responses. This allows to check the absence of collision between PUF responses which could lead to authentication issues. This metric must be close to 50%, as it represents uniform use of the response space.
They are several ways and technologies to create a PUF, depending on the integration constraints and required properties. The first PUF design, presented by R. Pappu in 2001 [22], used a laser and a specially crafted diffracting material. It was a strong PUF but it was quite challenging to integrate in electronic systems. Then, B. Gassend et al. presented in 2002 a silicon PUF [13], which is created using integrated circuits, making them much easier to interface with existing hardware. Silicon PUF can be split in two main categories: delay-based PUF and memory-based PUF. Delay-based PUF are based on signal propagation through circuit. Arbiter PUF [13] is an example of this type of PUF. It is a strong PUF but it requires very precise circuit design methodology to ensure optimal operation of the PUF. Memory-based PUF rely on memory circuits, like the SRAM PUF [14]. The main advantage is the use of already existing and available hardware to implement those PUF, but unfortunately most memory-based PUF are weak PUF which are less practical than strong PUF regarding authentication.
PUF circuits have some intrinsic security properties: first, their unclonability which guarantees an almost-nil risk of duplication. Then, they are often resistant to direct tamper attacks which can perturb the PUF operation, thus modifying its responses and preventing any data leak. Finally, PUF are active circuits, so no information is available when the device or the PUF is powered down, as opposed to non-volatile memories storing sensitive data. All those properties make PUF circuits good candidates for a secure storage or a secure secret generator with a lower integration cost than the previously introduced solutions in Section 2.1. This secure function can be exploited in the design of low-cost authentication protocols offering a sufficient security level. A simple example of a PUF-based authentication procedure using Challenge-Response Pairs (CRP) is presented by G. E. Suh and S. Devadas in [30] and illustrated by Fig. 2.

Authentication procedure with previously initialized register.
The authentication register contains several CRP which were stored during a previous operation called the registration. To authenticate the device, the server selects a challenge in the authentication register and sends it to the device (a). The device presents the received challenge to its internal PUF (b) and sends the corresponding response back to the server (c). Finally, the server checks if the received response corresponds to the stored response in the register and validates or not the authenticity of the device (d).
Lightweight authentication using PUF technology is an active research field as shown by the plurality of proposed protocols [8,10,16]. However, some challenges remain mostly unaddressed and constitute an obstacle to large-scale deployment in commercial and industrial products. Those challenges include:
Global approach
Connected devices are becoming more common in several environments of human users: their home, their workplace, their city, etc.. Pervasive applications rely on those devices to collect data or even to act upon the physical world to provide services to those users. It is then crucial to ensure that those devices can be trusted. A first step toward this goal is the authentication of devices. This article focuses on connected devices which report to a dedicated equipment located in the fog [21]. Devices which communicate directly with equipment located in the cloud and inter-devices communications are outside the scope of this work. The fog equipment is named gateway in the rest of the article. It is assumed the gateway is a resourceful equipment, meaning that it does not present any major resource constraint. Moreover, the gateway acts as an intermediary between the devices and the pervasive applications. About the constrained devices, it is assumed they meet the Class 2 or Class 1 memory constraints presented in Section 2.1. ARM Cortex-M microcontrollers usually have such constraints and are a popular choice for building connected devices. It is also assumed that each device is equipped with a PUF and each device manufacturer manages an authentication register linked with those PUF. Finally, the devices communicate with the gateway using unauthenticated protocols like HTTP. Protocols featuring authentication like LoRaWAN6

Principles of the authentication protocol.
This protocol includes three elements as illustrated in Fig. 3: the constrained device embedding a PUF, the users’ environment gateway and the manufacturer’s authentication register. The protocol features three phases integrated into the device life-cycle:
During the registration phase, the authentication register has an open access to the embedded PUF of the device to challenge it and to generate CRP in a secure environment. A strong PUF is required to have a wide challenge-response space. Once generated, the CRP are stored by the register in a secure manner and can be securely shared with the appropriate gateway. At the end of the registration phase, direct access to the PUF must be restrained. The authentication register can be either managed by the device manufacturer or delegated to a trusted third-party.
The authentication phase takes place after the device has been commissioned and integrated in the users’ environment. The device reports to a gateway which checks its authenticity. To do that, the gateway queries the authentication register for the CRP of the device which are then used by the authentication protocol. This authentication data handover is done over a secure and authenticated link, using common methods like the TLS protocol with certificates for instance.
The secure refill phase takes place when the device authentication data are almost exhausted, after repeated use of the authentication phase. The gateway initiates an authentication and key derivation protocol which, when successfully completed, establishes a secure link between the device and the gateway. On the device side, the PUF can only be challenged through the secure link. At the end of the phase, the secure link is closed and the PUF access is restrained again.
To accurately describe the protocol, the following conventions are used:
The presentation of the process starts with the two phases used to authenticate a device with a PUF, which are detailed in the section below, and then the secure refill phase is explained.
Registration phase
The registration phase is the base of the trust in the device authenticity. Only the smart device and the authentication register are involved. This phase must be done in a secure environment as soon as possible after the device is manufactured. During this phase the authentication register creates and securely stores the device authentication table, a structure containing the generated authentication data. The authentication register starts by assigning a unique identifier

Registration phase.
The authentication register chooses a positive integer
The device, when receiving the message, uses the integer
Finally, the authentication register stores the generated CRP
To close the registration phase, the register sends a
Once the registration phase has been successfully carried out, the device can be sold and integrated in the users’ environment to be used by pervasive applications. This is the commissioning transition. Once deployed, the device reports to a gateway. The authentication phase takes place between the device and the gateway, with the support of the authentication register. The objective is to reach mutual authentication between the gateway and the device. It is assumed that the gateway knows the authentication register and is able to authenticate and securely communicate with it.
The gateway starts by sending to the device a
With the device

Mutual authentication between a gateway and a device.
The gateway selects in the authentication table a challenge
Moreover, the gateway starts a timer associated with the device
Because the challenges are based on a counter, the device can compute
When receiving the message, the gateway checks its integrity using
At the end of the authentication phase, if all the steps succeeded, mutual authentication is reached between the gateway and the device and four CRP are removed from the device authentication table.
To perform the authentication, CRP are used and then permanently deleted which leads to the exhaustion of the available authentication data for a given device. To prevent the total exhaustion of a device authentication data, as it would mean the impossibility to further authenticate the device, the protocol includes a third phase allowing the secure refill of authentication data without the need to take the device off the users’ environment. A minimum of one CRP is needed to carry out the secure refill phase.
First, the gateway selects in its table a challenge
When receiving the message, the device performs the preliminary checks like a classic authentication procedure. Only the control of the proof of authenticity differs, as the device needs to cipher
When receiving the message, the gateway performs the necessary checks to ensure that the message is valid and the device authenticity proof is correct. If every check completes with success, the gateway and the device are now mutually authenticated and they share the secret
Once mutual authentication is reached the gateway can use the
To summarize, the protocol is made up of the following three phases:
Prototyping
To validate the protocol, a demonstrator was developed with a single constrained device, a gateway and an authentication register. With those components, it is possible to register the device, to authenticate it and to securely generate new authentication data.
The demonstrator is composed of two elements: a LPC55S69-EVK development board from NXP playing the role of the device and a personal computer playing alternatively the role of the authentication register and the role of the gateway. Communication between those elements is assured by a serial link with the following properties: 115200 bauds, 8 data bits and no parity bit. The demonstrator architecture is illustrated in Fig. 6.

Demonstrator architecture.
The device is implemented with a LPC55S69 microcontroller. This microcontroller is based on the ARM Cortex-M33 processor which is designed for IoT and embedded applications. Moreover, it is featuring a PUF subsystem based on SRAM PUF technology with built-in error correction mechanisms. The SRAM PUF being a weak PUF, the work presented in [3] is used to design the equivalent of a strong PUF by combining a weak PUF and a symmetric cipher. For the cipher, the Advanced Encryption Standard (AES) in Electronic Code Book (ECB) mode with an input/output block size of 128 bits and a key size of 128 bits is used. The LPC55S69 features a cryptographic accelerator, called Hashcrypt, supporting this algorithm with these parameters. This choice is not mandatory and any symmetric cipher can be used, with respect to its security and performance attributes. The result of this combination is an emulated strong PUF accepting 128 bits challenges and computing 128 bits responses. The architecture of the emulated strong PUF is presented in Fig. 7.

Emulated strong PUF using a weak PUF and symmetric encryption.
In this architecture, the SRAM PUF acts as a secure storage for the key used by the AES-ECB cipher. The challenges are sent to the AES subsystem which enciphers them to produce the responses. Using the emulated strong PUF, the protocol operations are implemented following the specifications described in Section 3.2. The device software is written in C, using the interfaces provided by the NXP Software Development Kit.
The authentication register enrolls the device, then the gateway checks the authenticity of the device. The PC software is written in Python 3, using the pySerial module to enable serial communication with the device. The authentication table built by the authentication register is shared with the gateway. This authentication table is a very sensitive structure. The global security (storage, remote access and administration) of this register is outside the scope of this article but it is essential to take it into account when planning an on-field deployment of the protocol.
Security
Before presenting the security features of the protocol, the perimeter and attack model are defined. The security evaluation is focused on the device field use which covers the authentication and secure refill phases as illustrated by Fig. 3. It is supposed that the registration phase is performed in a secure environment. During field use it is supposed that the device and the gateway communicate over an insecure channel. Finally, it is supposed that the authentication register can be trusted, it holds an initial set of the device authentication data and it can securely communicate with the gateway. Concerning the attacker, his/her main goals are to successfully perform an authentication with a rogue equipment which can impersonate either a device or a gateway and to disturb the smooth operation of the protocol. To do so, it is supposed that the attacker follows the Dolev-Yao model [9] which means he/she can eavesdrop on the channel, intercept messages exchanged on the channel, replay them and create new messages.
Considering those hypothesis, the protocol has the following security features:
Memory footprint
To assess if the protocol met its lightweight expectations, the protocol memory footprint was gathered and compared to others PUF-based authentication protocol [1,12,16] implemented on a microcontroller. One PUF-based protocol [2] could not be included as it was not implemented on a microcontroller. Memory footprints of a Transport Layer Security (TLS) library for embedded systems [27] were included as well to act as a reference of commercial authentication solutions. The memory footprints comparison is presented in Table 1.
Comparison of authentication protocols memory footprints
Comparison of authentication protocols memory footprints
Considering a class 1 constrained device with around 100 kB of memory dedicated to code, deploying a PUF protocol would leave between 80% and 90% of memory space for application code. Comparing those results with the TLS libraries, TLS with symmetric authentication is almost twice the footprint of most of the PUF protocols, except Louis and Zulkernine’s protocol which has a similar footprint. Concerning TLS with asymmetric authentication, it is almost five times the footprint of the protocol presented in this article, taking more than 50% of the available space. Those results illustrate the lightweight nature of PUF-based authentication protocols relative to the common solutions.
The communication costs of the protocol were evaluated and compared to similar PUF-based protocols [1,2,12,16], as well as the TLS library still acting as a reference. The communication cost is defined as the length of emitted messages. Depending on the communication media, emitting messages can be more energy-consuming than receiving them [19]. As a consequence communication costs should be as low as possible, particularly on the device side. The number of emitted bytes by the device and by the authenticator is given when available. Here, the authenticator refers to the equipment which authenticates the device. The comparison of communication costs is presented in Table 2.
Comparison of authentication protocols communication costs during the authentication phase
Comparison of authentication protocols communication costs during the authentication phase
Those results illustrate that PUF-based protocols have a lower communication cost than the TLS protocol. However this is not an absolute proof of the superiority of PUF protocols, as most of these protocols are still under development. Nevertheless, this provides promising outlooks for constrained devices and lightweight authentication.
Finally, time performances of the protocol were evaluated. The execution time was measured for each exchange of the protocol, an exchange consisting of a request message and its associated response message: for instance a
Authentication protocol’s time metrics
Authentication protocol’s time metrics
During the evaluation, it was noticed that the first exchange of the registration phase took a significant amount of time compared to subsequent exchanges. This is explained by the initialization of the registration phase with the initial
Regarding the measures of the authentication phase, the
Regarding the secure refill phase, the mutual authentication takes the same amount of time to complete than the classic authentication phase. The generation of new CRP however is slower than the registration phase, which is explained by the use of encryption to ensure the confidentiality of the exchanges.
Time metrics were helpful to estimate the time needed to fully register a device. In that instance fully register means generating enough authentication data to cover the whole device lifespan. With an hypothetical frequency of one mutual authentication every minute between the device and the gateway, three device lifespans were evaluated. First, the required amounts of CRP were calculated and then, using the registration phase time metrics, the registration times were evaluated. Those results are presented in Table 4.
Total registration time depending on the device lifespan
Those results highlight the challenge represented by the registration phase which needs to generate in one time the necessary authentication data for the whole device lifespan. Even for a one year lifespan, nearly 2 hours of registration time are needed. This takes a long time, not compatible with smart device manufacturing process. This implies as well an authentication register size of billions of records (millions of CRP for millions of devices), which needs to be managed by a manufacturer or a trusted third-party. Even at the scale of a gateway with tens to hundreds pervasive devices, this authentication data size could be an issue. It does not appear to be a realistic solution for massive production.
With this proposal of a refill phase, it is not necessary to generate all the CRP during the initial registration phase. Only a subset has to be generated, which is then handed over to the appropriate gateway to perform the authentications and secure refills over time when it is needed. As a consequence, the initial registration phase can be shortened to meet the industrial world constraints. To highlight this benefit, shorter device lifespans were considered with the possibility to renew those lifespans using the secure refill phase. Keeping an authentication frequency of one per minute, time evaluations of the initial registration and secure refill were computed with those shorter lifespans. The results are presented in Table 5.
Initial registration time and secure refill time depending on the device lifespan
With this new approach, the device manufacturing extra-time for registration is below the minute for a lifespan of up to a week. This looks acceptable for an industrial process. In addition, the device will be unavailable recurrently for a short period of time during its field operation, in order to complete the secure refill phase. Around 10 seconds per day or less than 5 minutes per month, which seems reasonable for non-critical pervasive applications deployed in smart homes or smart cities environments. Those unavailability periods can even be synchronized with inactivity periods of the corresponding environment, like sleeping hours in the case of smart homes, to limit their impact.
Another advantage of the refill phase is that it allows the user system to run in an autonomous way once the initial handover is done. Indeed, after the gateway has recovered the first set of authentication data from the authentication register, no further contact is needed between the register and the gateway. This can be really interesting for airtight networks which are not connected to the Internet for instance. In such networks, the initial handover could be done with a physical access to the gateway.
Research is active in the field of lightweight authentication for IoT using PUF technology, with various protocols propositions.
Lounis and Zulkernine present T2T-MAP in [16], a PUF-based protocol allowing mutual authentication between edge devices with the help of a gateway. Both the edge devices and the gateway embark a PUF system. The protocol is based on the concept of extended CRP in which two devices generates together PUF responses using each device PUF. Each end device needs a dedicated extended CRP to authenticate another end device. The registration phase consists of establishing a secure link between two ends devices to generate an extended CRP which is stored on each device. The registration phase must be performed with every couple of devices requiring mutual authentication. The registration presumably takes place right before the device field deployment, which does not cover the early stages of the device life-cycle. Moreover, the addition of a new device in an already set up network seems difficult as it implies the establishment of a secure communication link with already deployed devices to perform the registration. The authentication phase does not remove any extended CRP from the devices, which means the protocol is not concerned by authentication data depletion. The authors implemented their protocol using Arduino Mega 2560 and Arduino DUE boards, and they emulated the embedded PUF using the BLAKE hash function. They performed a security and performance analysis of the protocol.
Farha et al. present in [12] a lightweight authentication protocol for edge devices using the SRAM PUF technology. The protocol setup is similar to this article, with a fog gateway managing edge devices and authenticating them. The protocol is based specifically on SRAM PUF, as it exploits the SRAM memory cells of an edge device. During the registration, a device generates a fingerprint using its SRAM PUF and transmits this fingerprint to the gateway in a secure fashion. This registration is not precisely situated in the device life-cycle. Moreover, expanding an already running network with new devices implies doing the registration phase with a deployed and active gateway, a task which requires extra care to ensure the security of the generated authentication data. The authentication phase allows the gateway to authenticate a device using its PUF fingerprint, but the device can not authenticate the gateway. As a consequence, the gateway authentication queries are unauthenticated and can possibly be exploited by a malicious actor to perform denial of service (DoS) attacks on the devices. Regarding the management of authentication data, the fingerprint is not deleted after an authentication as it is not transmitted directly. The protocol is then not affected by authentication data depletion. The authors implemented the protocol on several Arduino boards, using the base SRAM memory to build the SRAM PUF. They evaluated the stability of the SRAM PUF fingerprints in various environmental conditions, and they assessed the security of the authentication protocol.
Barbareschi et al. present in [2] a mutual authentication protocol using a graph-based representation of PUF systems. In their model, they consider the device and an additional equipment which is in charge of both the device registration in a secure environment and the device authentication once deployed. They do not explicitly mention when the registration and authentication should happen in the device life-cycle. Like this article protocol, their protocol requires the removal of used PUF responses to prevent replay attacks. However, the exhaustion of authentication data is only partially mentioned in their article. Their protocol does not feature a refill phase, they use only the registration phase to generate the devices authentication data with potential storage constraints depending on the number of managed devices. During the authentication phase, responses are exchanged in clear-text which can allow modeling attacks against the PUF of the device. They implemented their protocol using a Field-Programmable Gate Array (FPGA) as the device, a type of integrated circuit which can be configured using specific languages. As a result, they present a hardware-based implementation which is faster but more difficult to update than this article software-based implementation of the device side. Moreover, they used a 10 Gb data link to connect the FPGA with the computer in charge of the authentication, which seems unrealistic in a constrained setup.
Aysu et al. present a privacy-preserving mutual authentication protocol in [1]. To do so, they do not rely on device identifiers but they use an exhaustive search in the authentication data of the devices. Their trust model considers a set of devices and a trusted server. The server is in charge of enrolling the devices in a secure environment before they are deployed, and then it is in charge of authenticating the devices over an insecure channel. No further details are given on the life-cycle of the devices. Their protocol does not require the storage of large quantities of authentication data and their removal, so they are not concerned by exhaustion issues. In their protocol the server message to initiate the authentication is not authenticated itself, which can expose the devices to a DoS attack where an attacker impersonating the server sends several authentication messages to a device. This will trigger on the device the associated computations and the emission of response messages, increasing the energy consumption of the device. They present three implementations of their protocol: two fully software-based using a 16-bit MSP430 microcontroller and one software-based with a hardware co-processor. Similarly to this article, they connected the device to a computer with a serial link.
Van Herrewege et al. present in [31] a lightweight protocol for RFID readers and tags. They introduce the concept of reverse fuzzy extractor to reduce the calculations on the device side. Their protocol is based on the exchange of helper data, which are data used to ensure the reliability of PUF responses. As PUF responses are not transmitted in clear-text, their protocol does not remove used responses. As a consequence, their protocol is not concerned by the exhaustion of authentication data. Like this article, they consider three elements in their model: a RFID tag embedding a PUF, an authentication register managed by a trusted party and a field equipment authenticating the tag. They present the device implementation on a FPGA target but they do not mention the server side. Their protocol is not integrated in the life-cycle of the tag as no detail is given about the timing of the registration or the authentication. Like previous protocols, the message to initiate a device authentication is not authenticated itself. An attacker can then send several messages to a device to have it generate and send back several helper data associated with a PUF response. This weakness is corrected in a novel version of the protocol presented by Mael in [17], but the life-cycle of the device is still not taken into account.
Conclusion and perspectives
For constrained devices to be successfully integrated in future smart and pervasive environments, they need protocols which offer a decent security level with a moderate footprint on embedded resources. Focusing on the authentication field, constrained devices which can not deploy classic authentication solutions like digital certificates need complementary solutions to remain secure and trust-worthy at an acceptable cost. This article presented one such complementary solution with a PUF-based authentication protocol. The protocol allows mutual authentication between a constrained device and a less constrained equipment managing the device. The PUF technology is used to propose a lightweight alternative to classic key-provisioning schemes and the protocol is designed to use fewer resources than common authenticiation protocols like TLS, particularely on the device side. Moreover, the article examined some challenges related to PUF-based authentication which are rarely addressed despite their criticity. This study guided the protocol design and led to the clear definition of the actors involved in the protocol, the integration of the protocol into the life-cycle of the devices to ensure trust from manufacturing to deployement, and to a new approach on authentication data management to provide a suitable registration phase. The protocol was implemented and validated using a hardware setup.
Using the hardware setup, the memory footprint and the communication costs of the protocol were evaluated and compared to similar PUF-based protocols as well as an embedded TLS library. The results highlights the lightweight nature of the examined PUF-based authentication protocols compared to the TLS library. The security of the protocol was assessed using a common attack model which showed that the protocol is secure against common attacks like replay attacks or PUF modeling attacks. Those evaluations confirm the positioning of the protocol as a lightweight mutual authentication protocol with a decent security level. Finally, the time necessary to complete the registration phase was evaluated with several amounts of CRP to assess the compatibility of this phase with industrial time constraints during production. The results show that it is not feasible to generate in one session the amount of CRP required to authenticate a device during several years. This emphasizes the benefits of the refill procedure presented in this article, which allows the secure generation of additional CRP during the device lifespan. It effectively reduces the initial CRP amount to a decent level, making the registration phase compatible with industrial constraints.
Future work will focus on improving the protocol and make it available on different hardware platforms for constrained devices. In addition, further work need to be done on the end-of-life management of the device to be able, for instance, to give the device a second life in another pervasive environment. Some work is needed to properly reset the device and to ensure the authentication data previously gathered cannot be used to compute new valid authentication data. Finally, a future goal is to make the protocol available in a pervasive environment to secure communications between pervasive applications and constrained devices which are part of this environment.
Footnotes
Acknowledgements
This project has received funding from the Trust Chair of the Grenoble INP Foundation.
Conflict of interest
The authors have no conflict of interest to report.
