1. Introduction
Internet of Things (IoT) devices are known to contain more security risks than conventional computing devices [
1]. IoT devices can contain a multitude of vulnerabilities including insecure access interfaces, deployment locations that allow for easy unprotected physical access, and insufficient cryptographic mechanisms (including none at all in some cases) [
1,
2,
3]. This is especially concerning when coupled with that fact that there are currently (as of 2018) 7 billion actively connected IoT devices (
of all connected devices worldwide). These numbers are projected to grow to the point that in 2025 there will be 21.5 billion actively connected IoT devices worldwide. IoT devices would then represent
of all actively connected devices [
4].
Attackers have already shown that they are more than willing to make IoT devices the focus of their attacks. In the last few years for example, compromised IoT devices have been used to create botnets. Botnets are a network of compromised machines that an attack can be used for a variety of malicious purposes including distributed denial-of-service (DDoS) attacks, password cracking, and cryptocurrency mining. Once a machine is infected, it seeks to propagate the infection to other machines in its network by exploiting known vulnerabilities [
1]. IoT devices would appear to present an ideal target due to a combination of their lack of security features and the sheer number of these devices that are currently in existence. The Mirai botnet in late 2016 was the first major botnet to be primarily composed of embedded and IoT devices. At its peak the botnet had infected 600 thousand devices [
5]. One DDoS attack launched by the botnet was able to disrupt service to many prominent websites including Twitter, New York Times, Reddit, and Airbnb by targeting Domain Name Service (DNS) company Dyn [
6]. A separate DDoS attack against French webhost OVH set the record for largest recorded DDoS attack with a size of at least 1.1 terabits per second (tbps) [
7].
The threats faced by IoT devices are just one, albeit very notable, example of the security threats that are facing cyber-physical systems as a whole. Other cyber-physical systems such as industrial control systems (ICS), smart grid, medical devices, and smart cars have been shown to be similarly vulnerable to attackers [
8]. Some examples include denial-of-service (DoS) attacks against ICS [
9] and smart cars [
10] and exploiting the lack of encryption in medical devices [
11] and smart grids [
12].
As originally designed, the dominant methods of security in these systems were related to “security by obscurity”. Devices were assumed to operate in isolation, and it was therefore difficult for an attacker to access them. However, the push towards a connected world has resulted in many of these previously isolated devices now including support for external communication over a variety of networks. The increase in connectivity has also introduced several previously unconsidered possible attack vectors.
On the surface, just simply introducing more security features to these devices seems to be a reasonable approach to protect them from attackers. Unfortunately, these devices commonly have low power, small amounts of available memory, and limited processing capabilities. These factors can prove prohibitive to adding new security features; as a result, researchers have begun to explore nonstandard solutions. Physically Unclonable Functions (PUFs) are one such area that has drawn interest. PUFs are a class of device that are physical implementations of a function. PUF designs leverage their own intrinsic variations so that each copy of the PUF will have its own unique operation in the form of generating outputs that are unique to that copy. Previous works have shown how PUFs could be used to securely generate and store secret keys [
13,
14] while other works have proposed PUF-based security protocols for use in protecting sensor nodes [
15] or securing radio-frequency-identification (RFID) systems [
16].
While PUFs could prove to be a novel security solution, their integration would not be completely seamless as it could introduce additional costs such as the monetary cost for the actual hardware or the performance cost of having to operate and/or communicate with the PUF. Therefore, a PUF designed for use in cyber-physical systems should also give special consideration towards reducing these costs as much as possible.
A common functionality in many cyber-physical systems is the ability to monitor physical entities such as temperature, humidity, pressure, luminosity, etc. This can range from being a core function such as a sensor node in an IoT network [
17] to being tangential such as a Home Energy Management System (HEMS) that must monitor temperature in order to reduce energy consumption by efficiently controlling a home’s heating and cooling systems [
18]. The ability to monitor such a wide range of physical entities is thanks to a similarly wide range of sensors. Thermistor temperature sensors are one example of a popular sensor. In 2017, the thermistor market was valued at USD 74 million. That number is projected to increase to USD 95 million by 2023 [
19].
Intrinsic variations are known to exist across a wide range of devices and components and many types of PUFs have already been designed from these materials. The authors believe that creating a PUF from components that are already commonly found in cyber-physical systems could improve the viability of integrating PUFs with these devices. This type of PUF would present a way to add security features without also incurring substantial overhead costs in the form of new hardware. New copies could be created using entirely off the shelf components, circumventing the specialized manufacturing that is required for silicon-based PUF designs which rely on transistor-level variations.
In the existing literature, piezo sensors have been used to create a weak PUF design. However, the use of piezo sensors required including an AC voltage source in the design which further harms its utility. In this work we propose a new design using thermistor temperature sensors to address the shortcomings in the piezo sensor PUF design. We chose to use thermistor temperature sensors due to their widespread appeal as shown by the presence of temperature sensing capabilities in a wide range of fields including health care [
20], agriculture [
21], and smart home environments [
22]. We evaluated the viability of using thermistors as a basis for creating a PUF by testing copies of the proposed design in terms of reliability and uniformity and used Monte Carlo simulations to evaluate the uniqueness.
Contribution of Work
In this work we propose a methodology that allows for using thermistor temperature sensors to create a PUF that is specifically targeted for application in cyber-physical systems. Our proposed design uses a microcontroller and thermistors which are themselves commonly used by these types of devices. We provide the following:
Proposal of a PUF circuit design methodology based on intrinsic variations between thermistors.
Testing the proposed PUF’s reliability over a span of ten days.
Testing the proposed PUF’s uniformity over a span of ten days.
Testing the proposed PUF’s reliability over a temperature range of −20 °C to 80 °C.
Testing the proposed PUF’s reliability over a relative humidity range of to
Calculating the proposed PUF’s uniqueness through Monte Carlo simulations on 1000 simulated instances.
The rest of this paper is organized as follows:
Section 2 covers PUFs including security applications and design approaches that are relevant to our proposed design;
Section 3 describes the design methodology behind our proposed PUF;
Section 4 describes the tests used to evaluate our proposed PUF and presents the results of those tests;
Section 5 compares our proposed PUF to existing sensor-based PUF designs; and finally,
Section 6 concludes the paper by providing a summary of our results.
3. Proposed Design of a Thermistor Temperature Sensor-Based PUF
A thermistor is a temperature sensing device whose resistance changes with temperature. The design of our proposed PUF uses the on the fact that variations introduced during the manufacturing process will cause individual thermistors to have different resistances at a given temperature. These variations are what allow us to ultimately design a PUF capable of generating unique outputs.
In our proposed design we did not include the implementation of error correcting codes. Error correcting codes have already been proposed as a way to improve the reliability of responses by addressing faults such as bit-flip errors [
37,
38,
39]. However, we wish to evaluate the baseline reliability of our proposed design. Adding error correction codes would obscure these values since the actual results would have been influenced by the codes. The addition of error correcting codes are thus a more relevant consideration for future work that would involve creating a production quality PUF from the proof of concept represented in this work.
3.1. Basic Circuit Diagram
The EK-TM4C123GXL model Tiva LaunchPad microcontroller we are using does not have a direct way to measure resistance. Instead, the board has a 12-bit analog-to-digital converter (ADC) capable of detecting voltages between 0 V and 3.3 V. For that reason we needed to create a circuit that would allow the changes in a given thermistor temperature sensor’s resistance to manifest as voltage drops.
Our proposed solution is shown in
Figure 2. The thermistors used in our design were NXP KTY81/220. Their operating parameters are shown in
Table 1.
The entire circuit consists of 8 thermistor temperature sensors (here represented as resistors
R) placed in series with a 3.3 V input voltage supplied by the microcontroller. A point before each thermistor is attached to an ADC input pin (
). The microcontroller is then able to take a voltage reading at each point and determine the voltage
across each thermistor
R by finding the different between two surrounding points. For example, the voltage across thermistor
would be equal to the difference in readings between ADC inputs
and
. The following equations show all the calculations that are made to determine the voltage across each thermistor:
Additionally, singular values read by the ADC can be noisy and slightly vary between readings. As a countermeasure, the final value for each ADC reading is actually the result of taking 100,000 readings and averaging the results.
3.2. Complete Architecture
Our proposed design requires 8 thermistor temperature sensors. Each sensor is connected to a microcontroller in the configuration shown in
Figure 2. The onboard ADC is used to sample the voltage readings at each point and uses that data to ultimately derive a voltage drop across each thermistor. After this step is completed, an algorithm can be used to process the individual voltage data and construct a 128-bit response. One such example algorithm can be found in [
33]. That algorithm generates a response by making a series of comparisons between total output readings for predetermined groups of a given component. That algorithm assumes that each component should have the same reading, and any differences are solely due to their intrinsic variations. This means that actions such as applying heat to some of the thermistors will result in unreliable readings. The end result is a PUF design that is directly based on thermistor temperature sensors.
Figure 3 shows a picture of the fully constructed PUF.
5. Comparison to Existing Designs
It should be noted that other PUF designs which are effectively based on measuring differences in resistance values have been proposed. Those designs are based on materials such as magnetoresistive RAM (MRAM) [
42], memristors [
43,
44], and on-chip transistors [
45] and metal wires [
45,
46]. These designs share a common theme with our proposed thermistor PUF of using unique resistances to produce a response. However, we do not feel this is strong enough of a justification to include these designs in direct comparisons that we will do with other sensor PUF designs. The main reason is that one of the goals in creating sensor PUFs is that theoretically a device that already contains the requisite number of sensors could function as a PUF without needing to add any additional hardware. Much like Silicon PUFs, these resistance-measuring PUFs would have to be specifically added to the target device. Furthermore, the resistances of thermistors are designed to change with temperature and can therefore be more sensitive than the components in other designs. Variations in physical properties due to temperature are not intended to be the core operating mechanic of those designs (e.g., allowing thermistors to measure temperature). Sensors on the other hand are generally designed to change one of their physical properties in a significant and predictable way as a direct response to the environmental condition they are monitoring. That same physical property also serves as the basis for creating a sensor PUF from a given sensor. It is for these reasons the focus of our comparisons will be PUF designs that are based on sensors.
Certain difficulties were encountered when attempting to compare the results of our proposed thermistor PUF to existing sensor PUF designs. Unfortunately, sensor PUFs are less popular than Silicon-based PUFs and thus there is comparatively little directly applicable existing research for which we can compare our work. This is further exacerbated by the fact that works that have proposed sensor-based designs do not tend to include performance metrics that can be directly compared with our results. Among the existing sensor-based PUF designs, we are only able to make a direct comparison of performance metrics with the piezo sensor-based design [
33]. Comparisons to other designs will solely focus on the functional aspects of the PUF designs.
The devices that we will specifically highlight are microelectromechanical systems (MEMs)-based sensors [
27,
28,
29], device touchscreens [
30], photodiodes [
31], solar cells [
32], and piezo sensors [
33]. These designs have certain drawbacks that could hinder their adoption by cyber-physical systems. The piezo sensor PUF [
33] requires a sinusoidal input source which is not always readily available certain devices. Additionally, piezo sensors cannot be considered to be prevalent as thermistor temperature sensors since vibration sensing is less common when compared to temperature sensing. The MEMs gyroscope designs [
27,
28] generate responses based on the output of a MEMs gyroscope. The major concern would be how easily a given gyroscope orientation could be reproduced by a user. A different MEMs-based approach is a ring oscillator (RO) PUF design in which the ring oscillators are constructed from pressure sensing MEMs relays [
29]. This design is costly as it requires a separate RO for each bit in the response in addition to bias generation circuitry to control the relays. The touchscreen design [
30] is subject to the same type of concern. The design generates a response based on a user’s ability to trace a specified pattern on the screen. There should be a certain amount of variance in results every time a user attempts to replicate the same fine movements that would be used to trace a specified pattern. The photodiode-based design [
31] is subject to a sort of chicken and egg problem where its design actually requires a conventional PUF to operate. Lastly, the solar cell work [
32] shows that solar cells could potentially be used as a PUF, but stops short of proposing a complete design.
Table 6 contains a summary of the drawbacks of various sensor PUF designs.
Our proposed design does not suffer from any of the previously mentioned drawbacks that are present in existing designs. One potential concern is the number of thermistors required to implement our proposed design will not always be present in a given cyber-physical device or system. However, some areas such as certain industrial applications [
47,
48] which make use of redundant temperature sensors could be especially suitable thanks to the larger than normal number of temperature sensors.
In terms of actual performance metrics, we were only able to make direct comparisons with the reliability and uniformity results between our proposed design and those from the piezo sensor-based PUF [
33]. Uniqueness values were not reported.
Table 7 contains these values for both our proposed design and the previous piezo sensor work. The average reliability and uniformity across three copies of the piezo PUF was calculated to be
and
, respectively. Our proposed design had an average reliability of
and an average uniformity of
.
This improvement could be attributed to a couple of factors. The first possibility is the circuit used by our proposed PUF could be more conducive to producing consistent responses. The piezo design required using an ADC to sample AC waveforms which could introduce noise into the measurements. The fact that our proposed design samples what should be steady DC voltages means that the overall sampling process is more straightforward and thus more consistent. A second possible contributing factor is some unspecified aspect of the physical properties of thermistor temperature sensors could simply make them better suited than piezo sensors for constructing PUFs.
A direct comparison of reliability with respect to temperature is complicated by the testing method employed for the piezo PUF. Both our proposed PUF and the piezo PUF used 25 °C as a reference temperature. However, two different chambers were used to test ranges of −20 °C to 0 °C and 25 °C and 80 °C with the range of 0 °C to 25 °C being extrapolated. This prevents a direct comparison in terms of average reliability values. What can be noted is the reliability for the piezo PUF faces a much sharper drop in reliability (below roughly ) than any of the thermistor PUFs in which the lowest recorded reliability was at 80 °C for PUF1. Additionally, for the range of −20 °C to 0 °C the piezo PUF had its reliability generally drop as the temperature approached 0 °C. Its reliability at −20 °C was better than all the tested copies of our proposed thermistor temperature sensor PUF. However, its reliability at 0 °C was worse than any of the copies of our proposed thermistor temperature sensor PUF.
6. Discussion & Conclusions
In this work, we have proposed a novel PUF design for use in cyber-physical systems by using thermistors which are components commonly found within the field. The actual design uses a microcontroller to compare the summed voltage outputs across predetermined groups of thermistor temperature sensors to generate a weak response. Monte Carlo simulations produced a uniqueness value of
which is very close to the ideal value of
. Our proposed design was shown to have improved overall reliability and with regards to changes in temperature when compared to the existing design based on piezo sensors [
33]. Additional reliability testing with respect to relative humidity appeared to show that the proposed design is relatively unaffected by humidity values less than
. As a future work, the addition of error correcting codes could help improve the reliability values of the base design.
It is worth noting that this design should be treated as a proof of concept and not a fully realized security solution. The main goal in creating this device was to conduct a preliminary exploration to determine if thermistor temperature sensors are a viable option for PUF creation when compared to existing sensor-based PUF designs. The prototypes we created for testing purposes were meant to only address this question of viability. The prototypes are vulnerable to physical attacks such as an attacker manually measuring the voltage drops across each thermistor and then creating a model of the PUF. Other researchers have already explored mitigation methods such as implementing tamper-resistance [
49,
50] and providing protection from side channel attacks [
51,
52,
53]. Exploring the integration of existing solutions or devising new concepts are outside of the scope of this paper and should instead be considered to be avenues for future work when designing a full-scale production quality implementation.