From Statistics to Circuits: Foundations for Future Physical Unclonable Functions Inyoung Kim, Abhranil Maiti, Leyla Nazhandali, Patrick Schaumont, Vignesh Vivekraja, and Huaiye Zhang 1 Introduction Identity is an essential ingredient in secure protocols. Indeed, if we can no longer distinguish Alice from Bob, there is no point in doing a key exchange or in verifying their signatures. A human Alice and a human Bob identify one another based on looks, voice, or gestures. In today’s networked world, Alice and Bob are computer programs. Their identity relies on the computer hardware they execute on and this requires the use of a trusted element in hardware, such as a Trusted Platform Module (TPM) [1]. In the future, Alice and Bob will include tiny embedded computers that can sit anywhere – in a wireless key, in a cell phone, in a radio-frequency identifier (RFID) [2]. Such tiny electronics cannot afford a full-fledged TPM for identification and authentication. There is thus a great need to develop cost-efficient, reliable, stable, and trustworthy circuit identifiers that can fit in a single chip combined with the rest of the system. Traditional approaches to hardware identity, such as non-volatile memories, increase system cost, may be tamperable, and at times are not trustworthy. We are therefore investigating electronic fingerprints that are based on the existing, small and random manufacturing variations of electronic chips. Physical unclonable functions (PUFs) are a known solution to create an onchip fingerprint. However, the issues of scalability, cost, reliability, and the threats of reverse engineering have not been fully investigated. We advocate a crossdisciplinary approach to combine recent advances in the field of statistics with those in circuits design. Our main concerns in PUF design are to come up with designs that (a) are cheap to build and integrate, (b) show a high reliability toward environmental changes and aging, and (c) are able to prevent some common attacks. In this chapter, we will report several steps toward achieving these objectives. I. Kim (B) Statistics Department, Virginia Tech, Blacksburg, VA 24061, USA e-mail: inyoungk@vt.edu A.-R. Sadeghi, D. Naccache (eds.), Towards Hardware-Intrinsic Security, Information Security and Cryptography, DOI 10.1007/978-3-642-14452-3_3, C Springer-Verlag Berlin Heidelberg 2010 55 56 I. Kim et al. Non-Parametric Statistics chip 1 chip 2 ... prop1 prop2 ... 13 28 ... 14 22 ... ... ... ... Prototype Data for chip pair m,n: H0 : chipn = chipm Ha : chipn chipm ( 2k ) Q = Wi12(fi1 – fi2)q t=1 Test Statistic V Modeling and Prototyping Q t threat analysis Fig. 1 Combining statistics, architecture, and circuit in the PUF design process Figure 1 illustrates the two layers in our cross-disciplinary approach: statistics and modeling and prototyping. Novel data-processing ideas are created in the statistics layer and passed down to the architecture layer. The architecture layer, in turn, implements prototypes and specific optimizations and returns prototype test data to the statistics layer. • Statistics: Based on data obtained from prototype architectures, we are developing a novel test statistic that can be used as a unique on-chip fingerprint. A test statistic (TS) is an expression that transforms the measurement data into a single number. Besides a TS, we are also working on adequate hypothesis testing techniques to distinguish chips. Based on non-parametric statistics, the measurement data can be directly used, and assumptions on the underlying statistical distributions are avoided [3]. • Modeling and Prototyping: We are also working on prototype architectures in CMOS technology. The target architectures include field-programable gate arrays and standard cells. The designs are driven by the TS requirements, but they extend it with architecture-level optimizations and circuit-level optimizations. The modeling layer supports threat analysis by investigation of the response of the resulting PUF designs to specific active and passive attacks. This chapter is structured as follows. In the next section, we describe a generic model for a PUF architecture. We identify the major phases of PUF operation (sample measurement, identity mapping, and quantization), and we demonstrate how each phase can be handled using different techniques. Next, we discuss related work, with specific attention to the research that has been done to improve reliability, cost, and threat sensitivity. We then cover our research efforts in PUF design. This includes a discussion on circuit-level optimization techniques based on subthreshold voltage operation (Sect. 3), a discussion on architecture-level optimization techniques to efficiently implement redundancy (Sect. 4), and a discussion on statistical techniques for identity mapping an testing (Sect. 5). We provide outlook and conclusions in Sect. 6. From Statistics to Circuits: Foundations for Future Physical Unclonable Functions 57 2 Components and Quality Factors of a PUF Design This section describes a generic template for CMOS-based PUF designs. We provide numerical expressions for the various PUF quality factors. We also discuss sources of wanted and unwanted variability in CMOS technologies. For a review of existing PUF technologies, we refer to the chapter by Maes and Verbauwhede. 2.1 Components of a PUF Figure 2a illustrates the three components of a PUF. They include sample measurement, identity mapping, and quantization. Figure 2b shows the example of a Ring Oscillator PUF (RO PUF), which takes a 2-bit challenge C and which produces a single-bit response R. • A Sample Measurement converts a digital challenge C into a vector of physical measurements that reflects the identity of the device. In the example of the RO PUF in Fig. 2b, the challenge selects two out of four oscillators. To complete the measurement, the frequency of both selected ROs is measured. The frequencies are determined by the round-trip delay of each RO, which in turn depends on the process manufacturing variations of the digital components for the RO. Hence the pattern of frequencies is unique for each chip. • In Identity Mapping, a vector of measurements is converted into a single, real valued, decision variable. In the example of the RO PUF, the test statistic Digital (n bit) Challenge C Real Value Physical Quantity Sample Measurement Identity Mapping Q Digital (m bit) Quantization R Response Helper Data (a) ring-oscillators f1 – Challenge > 0 < Response f2 2 of 4 2 of 4 Sample Measurement Identity Mapping Quantization (b) Fig. 2 (a) Generic PUF structure (b) A sample implementation: the ring oscillator PUF 58 I. Kim et al. (TS) is the frequency difference of the two selected RO. Because physical measurements can be noisy, the TS will be influenced by noise as well. • The Quantization step maps the real-valued TS into a digital response R. In the example of Fig. 2b, the quantization function is a simple check on the sign of the TS value: negative yields a 0 response and, positive or zero yields a 1 response. Several researchers have generalized the quantization step as a fuzzy-extraction process that generates, besides the response R, additional helper-data bits [4, 5]. The role of these helper-data bits is to correct for the effects of noise in the TS. Indeed, using channel-coding techniques, the helper-data bits can be used to correct for bit errors in future noisy responses [6, 7]. This guarantees that a given challenge will always map to the same response. Figure 2a can be used as a template for different types of PUF technologies. In recent years, proposals have been made that exploit the startup state of SRAM and flip-flops [8–10], on-chip logic delay [11–13], and the resistance of the on-chip power grid [14, 15]. Hence, there is general agreement that modern silicon technology contains ample amounts of process variation to implement Identity Mapping. The typical use of a PUF is as follows. The C/R pairs available from a PUF are used for authentication of the PUF. A verifier that wants to use a PUF obtains a table with known C/R pairs. This table is provided by a trusted source that can enroll PUF devices before they are deployed. To authenticate the PUF, the verifier then selects a challenge from the table, sends it to the PUF, and compares the response with the enrolled response in the table. In order to prevent playback attacks, each C/R pair in the table may be used only once. Hence, the trustworthy lifetime of a PUF is determined by the number of C/R pairs in the table. In addition, in order to prevent aliasing between PUFs, each C/R pair must be unique over the PUF population. Therefore, the total number of unique C/R pairs determines the number of PUF circuits that can be fielded. 2.2 PUF Quality Factors In their chapter, Handschuh and Tuyls already defined reliability and security as two PUF quality factors. We can add a third metric, namely design cost. A good PUF design will seek a trade-off between these three factors. • Cost: A low-cost on-chip fingerprint means that the smallest possible circuit area is used to identify a given population of chips or that a given PUF design can distinguish the largest possible population of chips. • Reliability: A stable on-chip fingerprint requires that a given PUF characteristic is insensitive to environmental variations (temperature, voltage, noise) and to temporal variations (aging). • Security: A high-quality PUF should provide a high entropy (a large amount of secret bits), should be resistant against tampering, and should provide unclonabil- From Statistics to Circuits: Foundations for Future Physical Unclonable Functions 59 ity. Majzoobi describes unclonability as being resistant to reverse engineering, as well as being resistant to emulation [16]. We need to be able to quantify these factors. This is not an easy task. The most straightforward factor is design cost, which is directly proportional to the silicon area of a PUF design. A smaller design is cheaper to manufacture. Maes and Verbauwhede described two metrics in their chapter that can be used to estimate the PUF reliability and entropy. They introduce intra-distance as the Hamming distance between two evaluations in a single PUF under the same challenge. They also define inter-distance as the Hamming distance between the responses of two different PUFs under the same challenge. We can use these metrics as an estimate of reliability and security. Assuming we have a set of PUF, then the reliability can be defined as the average number of bits from a response that will stay unchanged under the same challenge. Increased reliability simplifies the quantization step in Fig. 2. Numerically, reliability is estimated as follows. S|C1 = 100% − max i, j {HD(Ri , R j )} × 100% m (1) with HD equal to the Hamming distance between any two responses Ri and R j from the same PUF to the same challenge C1 , and m the number of response bits. The optimal reliability is 100%. Measuring reliability implies that one is able to control the environmental factors that can affect a PUF’s responses. A similar metric is created from the inter-distance metric, which is called uniqueness by Maes and Verbauwhede in their chapter. Uniqueness is an estimate for the entropy available from a PUF. Over a similar population of PUF, uniqueness can be calculated as follows: U |C1 = j=k i=k−1 HD(Ri , R j ) 2 × 100% k(k − 1) m i=1 (2) j=i+1 with HD equal to the Hamming distance between any two responses Ri and R j from different PUFs to the same challenge C1 , k the number of PUFs in the population under test, and m the number of response bits. The optimal uniqueness is 50%. We refer to the earlier chapters by Maes and Verbauwhede and by Handschuh and Tuyls, for further discussion on PUF quality factors. 2.3 Sources of CMOS Variability and Compensation of Unwanted Variability In order to design new CMOS PUF architectures or to improve upon existing ones, we need to understand the sources of variability in digital circuits. We distinguish several different sources in Fig. 3. 60 I. Kim et al. Non-uniform conditions during fabrication Variations in Process Parameters (eg. oxide thickness) Limited Resolution of the Lithographic Process Variations in the dimensions of the devices Aging Effects Changes in Transistor Parameters (eg. ID & VT) Variations in Circuit Characteristics (eg. Delay, Bias) Temporary Effects (eg. Temperature) Fig. 3 Causes of variability in circuit characteristics • Process Manufacturing Variations: The random and permanent deviation from the designed, nominal value of a circuit structure, caused by random effects during manufacturing [25]. Process manufacturing variations (PMV) can be separated into two categories. The first category covers variations in process parameters, such as impurity concentration densities, oxide thicknesses, diffusion depths. These result from non-uniform conditions during the deposition and/or the diffusion of the dopants. The second category covers variations in the dimensions of the devices. These result from limited resolution of the photo-lithographic process which in turn causes width and length variations in transistors. • Environmental Variations: These are temporary variations caused by changes in the environmental parameters, including temperature, operating voltage, and external noise coupling. Because the PUF environment cannot always be controlled, the effect of these variations should be minimized. A increase in temperature, and a decrease in power supply, will slow down a circuit. Moreover, the performance loss is not linear, and it may affect different parts of a circuit differently. This will affect the reliability of the PUF. • Aging: Ultra-slow, but eventually permanent, variations that generally deteriorate circuit performance. Aging results in slower operation of circuits, irregular timing characteristics, increase in power consumption, and sometimes even in functional failures [26–28]. Circuit aging is accelerated by use of increased voltages. Aging is largely dependent on how often the circuit is used. Therefore, blocks of a design that are used more often suffer a larger deviation of characteristics with time. As shown in Fig. 3, each of these variabilities eventually has a similar impact on the observable circuit characteristics. In order to create a stable PUF behavior, we From Statistics to Circuits: Foundations for Future Physical Unclonable Functions Digital (n bit) Challenge C Physical Quantity Sample Measurement Real Value Identity Mapping Q 61 Digital (m bit) Quantization R Response Helper Data Use Circuit-level and Architecture-level Optimizations Use Compensated Test Statistic Use Coding Techniques Fig. 4 Compensation of unwanted variability in a PUF need to detect the process manufacturing variations while tolerating or compensating as much as possible for environmental variations and aging. Figure 4 demonstrates three different strategies to remove the effect of these unwanted variations. Each of these three techniques is implemented on different parts of a PUF design. We briefly describe the general concepts in this section, and we will address their detailed implementation in later sections. The first approach is to use circuit-level and architecture-level optimizations to provide sample measurement with improved reliability. This will not entirely remove the effect of environmental variations, but it will reduce their effect on the response bits R. The second approach is to improve the identity mapping step, by selecting a test statistic that takes environmental parameters into account. Such a test statistic will estimate the process manufacturing parameters, while ignoring others. The third approach is to use coding techniques that generate helper data in addition to the response. The helper data can be used to reconstruct the correct response at a later time [6, 7]. Each of these three approaches thus work at a different level of abstraction, and therefore they can be combined. 3 Circuit-Level Optimization of PUF In a CMOS-based PUF, a design built as a CMOS circuit is used to produce random responses, which constitute the basis of the PUF. It is, therefore, very important that the circuit is optimized to improve the quality of the PUF. Conventional circuit design strives to achieve quality factors such as low power and high speed for circuits. Another goal of conventional circuit design is to build the circuit such that a large population of chips have a similar set of characteristics so that they can be conveniently used in their targeted application. In PUF circuit design, although power consumption and overall speed of the PUF have some importance, they are second-hand citizens to quality factors discussed in Sect. 2.2. Therefore, circuitlevel decisions have to be made in a completely different fashion. These decisions include circuit operating voltage, body bias voltage, technology node (transistor length), gate size (transistor width), gate family (high-speed low- 62 I. Kim et al. VT versus low-speed high-VT gates), and layout decisions (placement of the gates). These decisions vary in terms of their effectiveness in optimizing the PUF quality. In this chapter, we study the effect of the first two in this list, namely, circuit operating (supply) voltage and body bias voltage. 3.1 Methodology The graphs and numbers presented in this chapter were collected using SPICE simulations. The simulations were performed on a 90 nm technology node, using transistors models and process variation models from UMC [29]. The test circuit is an RO PUF (see Sect. 2.1) with 32 ring oscillators of 11 NAND stages each. The characteristics of 20 different PUF ICs were obtained by applying Monte Carlo simulation on the SPICE model, while enabling both the intra-die and inter-die process variation flags. We ensured that our results are as close as possible to the actual implementation by using the simulation libraries from a commercial foundry and by running the simulation at the highest possible accuracy setting. 3.2 Background: Operating Voltage and Body Bias It is well known that the power consumption and the frequency of a CMOS circuit are critically controlled by the supply voltage and to some extent by the body bias. The purpose of this section is to explain the impact of these two parameters, not on power and performance, but on the sensitivity of the circuit to process variation, which is key to quality of a PUF. In this regard, we use a key metric: Coefficient Variation (CV). CV is defined as the ratio of standard deviation of a population to its average. For example, the CV of a group of ‘n’ ring oscillators is the ratio of the standard deviation of its characteristic frequency ‘f ’ to the average characteristic frequency of all ring oscillators, as shown in formula-(3). In statistics, CV is used to compare two different populations with two different averages, in order to see which one has a population whose members are more spread apart. Consequently, in our example, if we build our PUF with two different circuit configurations and the first configuration has a higher value of CV, it indicates that the frequency of the ring oscillators in different chips for this configuration is more spread apart. In other words, the design is more susceptible and less tolerant toward process variation. The motivation behind studying CV is that we believe higher variability can result in higher uniqueness. We investigate this claim in the rest of this section. CV = σ ( f 1 , f 2 , . . . f n ) (n) . Σ( f 1 , f 2 , . . . f n ) (3) 3.2.1 Operating Voltage Traditionally, the reduction of supply voltage, also known as voltage scaling, has been successfully employed to reduce the power consumption of a circuit. How- From Statistics to Circuits: Foundations for Future Physical Unclonable Functions Variablility 25 Reverse Body Bias Forward Body bias No Biasing 20 Variability(%) 63 15 10 5 0 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 Supply Voltage (V) Fig. 5 Scaling of coefficient variation with supply voltage and body bias ever, lowering the supply voltage increases the sensitivity of the circuit to process variation. This has been shown in Fig. 5 (the middle line with body bias of 0 V), which shows the CV of a ring oscillator with respect to operating voltage. The graph was obtained through Monte Carlo SPICE simulation of a ring oscillator using the setup explained previously in this chapter. In recent years, it has been shown that the supply voltage of a CMOS circuit can be scaled even further, to voltages below the threshold voltage, which is called subthreshold operation. Various subthreshold circuits have been successfully designed, fabricated, and tested to prove the effectiveness and viability of subthreshold operation [30–32]. However, the sensitivity of the circuit to process variation increases drastically in this region. As can be seen in Fig. 5, the CV increases at a slow but steady pace as we reduce the voltage from nominal voltage to the threshold voltage, around 500 mV. However, around this point the circuit starts to show significant increase in susceptiblity toward process variation. The reason behind this is that below the threshold voltage, transistors are not switching as usual and rely heavily on leakage current for charging and discharging the load capacitance. Leakage current is more affected by process variation, which results in overall higher CV in subthreshold region. This effect is considered a drawback of subthreshold operation in general designs. However, we believe this effect can be employed to our advantage when designing a PUF circuit. 3.2.2 Body Bias Voltage Figure 6 identifies the source, drain, gate, and bulk contacts of the PMOS and NMOS transistors in a CMOS circuit. Reverse body biasing (RBB) is the process of raising the voltage of the PMOS N-wells with respect to supply voltage or lowering the voltage of the substrate relative to ground. In a forward body bias (FBB) config- 64 I. Kim et al. VDD Fig. 6 A CMOS inverter with substrate nodes identified uration, the PMOS is biased with a voltage lower than supply voltage or the voltage of the NMOS substrate is made negative relative to ground. Traditionally, RBB [33] is employed to reduce the leakage current of the circuit, thereby reducing its leakage power. But this configuration makes the design more susceptible to inherent process variations and decreases its performance. Forward body biasing on the other hand has been used for increasing the frequency of operation and making the design more tolerant toward process variation. Figure 5 shows the effect of body bias on a ring oscillator’s CV. 3.3 Effect of Operating Voltage and Body Bias on PUF Figure 7 presents the scaling of uniqueness with a varying supply voltage for a circuit with three different levels of body bias: zero, forward, and backward. It can be seen that reverse body biasing results in higher uniqueness in a PUF design. However, the effect of reducing operating voltage is much more pronounced and return of using reverse body bias is almost insignificant in subthreshold voltages. It can be concluded from this graph that operating the PUF in subthreshold voltages, which is a relatively cheap technique and requires a very small amount of hardware overhead, is a very effective approach in improving uniqueness of a PUF. This can be explained by the fact that population of frequencies of ROs in subthreshold have a much higher CV compared to a population in nominal voltage. In fact, in the subthreshold region, the circuit’s sensitivity toward process variation is so high that the value of uniqueness tends to reach the theoretical maximum of 50%. Of course, increasing a circuit’s sensitivity towards process variation may also increase its sensitivity toward other sources such as variations of temperature and operating voltage. This may reduce the stability of the PUF design. Figure 8 shows the stability of the design as the temperature is varied between −15 and +85◦ C. Initially, decreasing the operating voltage of the circuit decreases the Stability under temperature variations. This is caused by RO frequencies “crossing” each other, which affects the C/R characteristic of the PUF [34]. However, below 500 mV the stability recovers. This is explained as follows. By reducing the voltage, the cir- From Statistics to Circuits: Foundations for Future Physical Unclonable Functions Scaling of Uniqueness 50 Forward Body bias No Biasing Reverse Body Bias 45 Uniqueness(%) 65 40 35 30 25 0.2 0.3 0.4 0.5 0.6 Supply Voltage (V) 0.7 0.8 Fig. 7 Scaling of uniqueness with supply voltage for three different body bias levels Scaling of Reproducibility 100 Reproducibility(%) 99 98 97 96 95 No Biasing Reverse Body Bias Forward Body bias 94 93 0.2 0.3 0.4 0.5 0.6 0.7 Supply Voltage (V) 0.8 0.9 1 Fig. 8 A CMOS inverter with substrate nodes identified cuit is exponentially more sensitive toward process variations (Fig. 7) exceeding its sensitivity toward temperature. Therefore, the “crossing” of RO frequencies can be suppressed, and the effects of temperature can be avoided. 4 Architecture-Level Optimization of PUF Architecture-level optimizations on a PUF aim to optimize PUF quality factors, such as uniqueness and reliability, while at the same time minimizing the circuit cost. An architecture-level optimization distinguishes itself from a circuit-level optimiza- 66 I. Kim et al. tion in that it considers the architecture of the entire PUF. Therefore, it is sensitive to the spatial organization of the PUF. Architecture-level optimizations can be used to address two quality issues in PUF design: compensation of environmental effects and compensation of correlated process manufacturing variations (PMV). We describe each of these two aspects. 4.1 Compensation of Environmental Effects The impact of environmental effects can be addressed at architectural level through redundancy. First, we should observe that the effect of a temperature change or a voltage change on a PUF is only problematic when the quantization of the response bits has a low signal-to-noise ratio. In this case, the relative magnitude of the effect of PMV is similar or smaller than the effect of environmental variations. As a result, changes in environmental conditions have a dominant effect on the PUF output. Lim describes a redundant ring oscillator PUF as follows [13]. Each ringoscillator is replicated four or eight times, thereby creating several redundant oscillators. Each set of redundant oscillators is one group. Next, instead of comparing individual ring oscillator frequencies, one will compare groups of ring oscillators. For each comparison, one ring oscillator is chosen from each group such that their frequency difference is maximal. This will ensure that the contribution of PMV is maximized, and hence will create a stable response. The disadvantage of redundancy is increased architecture cost. We developed a simple, economical implementation of the redundancy technique for ring oscillators [35]. Figure 9a illustrates a configurable ring oscillator. In this design, each stage of the ring oscillator is configurable and can select one of two inverters. The design in the figure has three stages and therefore can implement eight different ring oscillators. Of particular interest for -ield-programable gate array designs is that this structure can be efficiently implemented. Figure 9a illustrates the mapping of this configurable ring oscillator in a single configurable logic block (CLB) of a Xilinx FPGA. The configurable ring oscillator occupies the same configurable area as a non-configurable ring oscillator, which means that this redundancy technique comes for free in an FPGA. The configurable ring oscillator is used as follows. When, in a given PUF design, two oscillators A and B need to be compared, we will select A’s and B’s configuration such that their difference is maximal. Figure 9b illustrates the effect of this simple strategy on the PUF reliability as a function of circuit voltage and temperature, obtained over a population of five different XC3S500E FPGA’s. By adaptively choosing a configuration that maximizes the frequency different, the reliability remains almost perfect. In contrast, when having a non-adaptive strategy that fixes a single, fixed configuration, the reliability is as below 70% for voltage variations and below 90% for temperature variations. Note that the overall reliability of the fixed configuration can be worse than the reliability of a single case because different environmental conditions can affect different PUF response bits. From Statistics to Circuits: Foundations for Future Physical Unclonable Functions enable 1 1 1 0 0 0 fRO configuration 67 X0Y1 X1Y1 X0Y0 X1Y0 CLB 100% 100% 90% 95% 80% 70% Configurable Fixed Stability Stability (a) 90% 85% Configurable Fixed 80% 60% 25C 35C 45C 55C 65C Overall 0.96 1.08 1.2 1.32 1.44 Overall Temperature Voltage (b) Fig. 9 (a) Configurable ring oscillator that maps in a single CLB; (b) impact of temperature and voltage on the reliability of the resulting PUF. These results were obtained over a population of 5 Spartan XC3S500E FPGA’s Another recently proposed scheme to compensate of environmental effects is the use of so-called cooperative ring oscillators [34]. In this case, a ring oscillator group is adaptively constructed, depending on the response of ring oscillators. This approach also provides significant area savings. However, since the group-forming data depends on the environmental parameter (such as temperature), it may reveal details about the internal PUF structure and therefore this data must be adequately protected. 4.2 Compensation of Correlated Process Variations Architectural techniques are also useful to address correlated process variations. In this case, we will make use of our knowledge on the spatial organization of the PUF. First, we briefly clarify correlated PMV. Figure 10a shows 256 ring oscillators arranged as a 16-by-16 matrix in an FPGA fabric. These 256 oscillators form a ring oscillator-based PUF, and the comparison of their frequencies will lead to the response bits R. If one would observe the oscillator frequencies of a chip with ideal PMV, the oscillator frequencies would look like Fig. 10b. In this case, the challenge/response scheme can select any two oscillators for comparison, and the comparison outcome would depend on the PMV only. In a real FPGA, however, one can observe a spatial dependency of the average ring oscillator frequency, as illustrated in Fig. 10c. This is caused by various effects, including the detailed structure of the power grid, the irregularities of the reconfigurable fabric due to hard macro’s, and the systematic intra-die variations in the FPGA chip. 68 I. Kim et al. (b) (a) (c) Fig. 10 (a) 256 ring oscillators arranged as a 16-by-16 matrix in a Spartan 3ES500 FPGA (b) Oscillator frequencies of an FPGA with ideal PMV (c) Spaital dependency of the average ring oscillator frequency of a real FPGA Correlated PMV degrade the entropy that can be extracted from the FPGA. Considering Fig. 10c, it is clear that the comparison of ring oscillators, located far apart from each other, is likely to be biased due to systematic variations. If we need to minimize the effect of correlated variations, we should only compare frequencies of ring oscillators that are close together. Note that this simple strategy will reduce the amount of entropy as well [35]. An alternate strategy to cancel correlated variations is to make use of a common centroid technique [36]. In this case, redundant ring oscillators are used to establish a common average, and then the differential on this average is analyzed. For example, for a group of four ring oscillators with frequency A, B, C, D, the differential (A + D) − (C + B) will be evaluated. To summarize, architecture-level optimization is complementary to circuit-level optimization, and it can be used to remove environmental effects as well as correlated process variations. In the next section, we focus on the design and implementation of the identity mapping step using a test statistic and non-parametric statistics. 5 Identity Mapping and Testing Recall that the design of a PUF scheme includes three steps: sample measurement, identity mapping, and quantization. The previous sections described strategies for sample measurement using circuit-level and architecture-level techniques. In this section, we describe a new approach to identity mapping, based on a new test statistic (TS). We will demonstrate that this TS improves over known schemes in terms of extracted entropy. Further, we will also show that the nonlinear nature of the TS provides protection against reverse engineering. Complementary to the TS, we also propose a non-parametric hypothesis test to evaluate it, and we demonstrate experimental results obtained from five different From Statistics to Circuits: Foundations for Future Physical Unclonable Functions 69 FPGA. We wrap up the chapter with an overview of pending challenges in Identity Mapping and Testing. 5.1 Statistical Preliminaries We first define some notations and introduce a statistical model to explain our approach in detail. Let f i jl be the frequency value for the lth measurement of the jth RO in chip i, where i = 1, . . . , n, j = 1, . . . , m, and l = 1, . . . , r . Using these frequency data, we consider the following statistical model which is expressed as a function of unknown parameters and an additive error term, f i jl = f i j + εi jl , where f i j is the fixed unknown mean frequency for the ith chip and the jth RO and εi jl is a random measurement error following unknown distribution. 5.1.1 Bootstrapping the RO frequency Since f i j is unknown parameter, we need to estimate f i j without assuming any distribution of εi jl . For this kind of situation, the bootstrapping approach [37] can be applicable. The bootstrapping approach is a resampling-based approach; we start from one sample which represents the unknown population from which it was drawn and then create many re-samples by repeatedly sampling with replacement. Each re-sample is the same size m as the original random sample. Using each re-sample, we estimate f i j which minimizes the least square estimation criterion argmin fi j i jl εi2jl = argmin fi j ( f i jl − f i j )2 . i jl The bootstrap distribution of a f i j collects its values from many re-samples. The bootstrap distribution gives information about the sampling distribution. The procedure of bootstrapping approach is summarized in Fig. 11. Using the bootstrap distribution, we can estimate f i j and also obtain a confidence interval of f i j which indicates the precision with which the parameter is estimated. Because bootstrap approach can be used without assuming distribution of εi jl , it is called a non-parametric approach. This approach is especially useful in situation where less is known with small sample size. 5.1.2 Hypothesis Testing Statistical test plays a key role in experimental research and aids in problemsolving and decision-making processes. Statistical test enables us to draw inferences about a phenomenon or process of interest. These inferences are obtained by using TS to draw conclusions about postulated models of the underlying data generat- 70 I. Kim et al. Random Samples of size m with replacement m Random Sample of size m Frequency m Frequency m m m Weigth m m Unknown Populaon m Bootstrap Distribuon Fig. 11 The procedure of bootstrap approach ing mechanism. To do this, we need to specify statistical hypotheses which are statements about theoretical models or about probability or sampling distributions. There are two hypotheses that must be specified in any statistical testing procedure: the null hypothesis and alternative hypothesis. In the context of a statistically designed experiment, the null hypothesis, denoted H0 , defines hypothesis of no change or experimental effect and alternative hypothesis, denoted Ha , indicates change or experimental effect. One hypothesis of interest in our study is whether chips are different from each other. Thus one set of hypotheses of interest in comparison of all chips is H0 : the distribution of all chips are the same vs Ha : the distribution of all chips are different. This set of hypotheses is equivalent to that H0 : the distribution of any two chips are the same vs Ha : the distribution of some two chips are different. To decide whether or not we reject H0 , we need to make a decision rule which is constructed by TS. Hence, for our testing, we develop a new TS and propose to use its distribution as a unique on-chip fingerprint in this chapter. For testing our hypothesis, H0 : the distribution of any two chips are the same vs Ha : the distribution of some two chips are different, we use two statistical methods. One is bootstrap-based confidence interval and the other is Kolmogorov–Smirnov non-parametric test [38]. The first method which we implemented is the bootstrap-based confidence interval. For each chip, we calculate Q values (The Q value is the result of our proposed identity mapping step and will be explained in Sect. 5.2). Next, we obtain the difference between two Q values of two chips which we want to test whether they are different. Using bootstrapping approach, we obtain the distribution of the difference between two chips and calculate a bootstrap-based confidence interval which is 95% percentile-based confidence interval [2.5%, 97.5%] for the mean of difference between two Q values. We then obtain these confidence intervals for all possible pairs of chips. If the confidence interval does not include 0, we make a decision of rejecting H0 which means that there are statistical evidence that any two chips are different. From Statistics to Circuits: Foundations for Future Physical Unclonable Functions 71 The second method which we used is Kolmogorov–Smirnov test. It is used whether two underlying distributions differ. Since this test does not specify what that common distribution is, it is a non-parametric test. It is a form of minimum distance estimation used as a non-parametric test of equality of two distributions. The Kolmogorov–Smirnov statistic quantifies the distance between two distribution of Q values obtained from two chips. If the distance is larger than a critical values of the Kolmogorov distribution, we make a decision of rejecting H0 which supports that there are statistical evidence that two chips are different. 5.2 A New Test Statistic: Q 5.2.1 Motivation The need for a new TS can be motivated by means of an example. Let us say that we are evaluating a ring oscillator PUF design. For a given challenge, we select four ring oscillators. The response R needs to be derived from the resulting frequencies. Assume that two different chips return the following four frequencies: chip1 = (5, 2, 1, 3), chip2 = (9, 3, 2, 5). These chips are clearly different. We will show, however, that these chips are indistinguishable using the conventional approach. Indeed, the conventional approach compares the magnitude of the ring oscillator frequencies with one another, and thus builds the response R based on the rank of each ring oscillator frequency. The rank is the relative order of a number in a list. The frequency ranks of both chips are given as follows: chip1 = (4, 2, 1, 3), chip2 = (4, 2, 1, 3). In this case, the rank list of both chips is the same. The conventional identity mapping approach will therefore treat these two chips as identical, while they are clearly not the same! We will therefore develop a TS which can look across the frequency rank, and which directly considers the frequency values in terms of their distance. Each distance is then evaluated using a nonlinear power function, and the distribution of the resulting distance is used as the chip response R. Before giving a formal derivation, we illustrate this approach with an example. First, we derive all frequency distances in each list. These are defined based on the creation of frequency subsets. The two chips have the following subsets: chip1 = {(5, 2), (5, 1), (5, 3), (2, 1), (2, 3), (1, 3), (5, 2, 1), (5, 2, 3), (5, 1, 3), (2, 1, 3), (5, 2, 1, 3)}, 72 I. Kim et al. chip2 = {(9, 3), (9, 2), (9, 5), (3, 2), (3, 5), (2, 5), (9, 3, 2), (9, 3, 5), (9, 2, 5), (3, 2, 5), (9, 3, 2, 5)}. Next, we evaluate the set of distances between the frequency subsets. For example, an Euclidean metric for tuples and triples of frequencies would be as follows: d( f 1 , f 2 ) = ( f 1 − f 2 )2 , d( f 1 , f 2 , f 3 ) = ( f 1 − f 2 )2 + ( f 2 − f 3 )2 + ( f 1 − f 3 )2 . This way, the set of distances for each chip leads to a distribution defined as the Q value: Q chip1 = (9, 16, 4, 1, 1, 4, 26, 14, 24, 6, 36), Q chip2 = (36, 49, 16, 1, 4, 9, 86, 56, 74, 14, 119). 0.035 A kernel density plot of these two distributions is shown in Fig. 12. This plot shows that one distribution is sharper than the other, which suggests that the two distributions are different. Note that the Q value is not the actual bitpattern that defines the response R. The bitpattern is only obtained after the quantization step. In the following sections, we provide a formal derivation of the Q-value definition and explain the ideas that define it. 0.020 0.015 0.000 0.005 0.010 Density 0.025 0.030 chip1 chip2 Pvalue=0.02 –50 0 50 Fig. 12 Distribution of two chips in motivating example 100 150 From Statistics to Circuits: Foundations for Future Physical Unclonable Functions 73 5.2.2 Proposed Q Test Statistic We define the sample spaces S2 , . . . , Sk which are the sets of possible outcomes of a particular experiment and random variables Q 2 , . . . , Q k which are functions mapping from the sample space to a real number (R), where k ≤ m. Let S2 be the sample space which contains all possible frequency pairs. The S3 is the sample space for all possible frequency triples. Then finally we have Sk = {( f i1 , f i2 , . . . , f ik )} for all possible k frequency values. Denoting || · || as the distance, let Q k be a random variable which is a nonlinear function mapping from Sk to R, (k2) wi12 · || f i1 − f i2 ||q . Q k : Sk → R such that Q k ( f i1 , f i2 , f i3 , . . . , f ik ) = t=1 The weight factor wi12 can include additional information on the design, such as the Euclidian distance between the two ROs under consideration. q may be any real number, e.g., q = 1/2, 2 for Euclidian distance. The choice of k depends on m, the number of RO’s in the chip. While the ideal value of k is m, the construction of Q k can be computationally expensive when m is large. In that case, we can reduce k while ensuring that the entropy of the resulting Q k still remains large. Once q and k are chosen, our Q value is defined as Q = (Q 2 , . . . , Q k ). Q can be quantized as needed to create a suitable response space. For example, we can use (1% percentile, 3% percentile, 5% percentile,. . . ,99% percentile) of Q as the identifier of each chip, or we can use five summary values (minimum, 25% percentile, 50% percentile, 75% percentile, maximum) as the identifier. This Q value is a natural extension of the traditional method based on ordering RO frequencies. Hence, we propose this Q value for TS. The distribution of Q values can be obtained using bootstrapping approach. We create many re-samples by repeatedly sampling with replacement. Using each resample, we calculate Q values. The bootstrap distribution of a Q collects its values from many re-samples. The distribution of TS can be used as a unique on-chip fingerprint. 5.2.3 Entropy of the Q Test Statistic We now show that our approach based on the Q value has a larger entropy compared to the traditional approach based on rank. The most obvious effect of increased entropy is that the wordlength of the response R can grow. Thus, for a given PUF architecture, the probability of aliasing reduces, which means that the C/R space is more efficiently used. The entropy of the proposed approach, H (Q), is obtained from H (Q 2 ),. . .,H (Q k ) as follows. Since all possible subsets are m C2 = m2 in Q 2 , the probability of choosing one set with equal probability is 1/m Ck . Hence, the entropy is H (Q 2 ) = m C2 e=1 1 − log n C2 1 m C2 = log m C2 . 74 I. Kim et al. Similarly, we can calculate H (Q 3 ) = log m C3 , . . ., H (Q k ) = log m Ck . Then the entropy H (Q) is m C 2 m C 3 ...m C k H (Q) = − e=1 1 m C 2 m C 3 . . .m C k 1 log m C 2 mC 3 . . .m C k = log m C2 + · · · + log m Ck = H (Q 2 ) + · · · + H (Q k ) = log2 ( m C2 ·m C3 · · ·m Ck ) On the other hand, the entropy of a traditional RO-based PUF is log m C2 . The entropy for an arbited-based PUF is given by its challenge space 2m . Hence, the probability choosing one of them with equal probability is 1/2m . The entropy H (Td ) of an arbiter-based approach is therefore 2 m H (Td ) = − e=1 1 2m log2 1 2m = log2 2m = m. The comparison between traditional approach and our proposed approach is summarized in Table 1. This result clearly shows that our proposed approach yields a larger entropy for the PUF. 5.3 Experimental Results We have implemented five instances of an FPGA-based PUFs which contain 128 ROs. We obtained 25 frequency measurements for each RO. For given q = 1 and k = 2, we obtained Q values and used them as a TS value. We then test the hypothesis whether the distributions of Q values are the same among chips. Using Kolmogorov–Smirnove test, all chips are distinguished well. The KS result is summarized in the Table 2 which suggests that there is strong statistical evidence that all chips are quite different because all p values for all possible comparison between any two chips are very small. A p value is the probability of obtaining a value for a test statistic that is as extreme as or more extreme than the observed value, assuming the null hypothesis is true. In order to confirm this result, we compared bootstrap-based 95% confidence intervals of the mean of the difference between Q values of two chips, which is Traditional approach Table 1 Summary of entropy comparison Entropy Comparison Our proposed approach Ring oscillation Delay-based approach log2 (m C2 ) log2 (2m ) < < Example, m = 4, log2 (24 ) < log2 (m C2 m C3 · · ·m Ck ) log2 (m C2 m C3 · · ·m Ck ) 3 4 log2 2 · 2 = log2 ( 4 C2 ·4 C3 ) From Statistics to Circuits: Foundations for Future Physical Unclonable Functions Chip # Chip # 1 2 3 4 5 3 4 5 4 5 5 2 3 4 75 Table 2 The result of Kolmogorov–Smirnov test p Value of KS test Are two chips significantly different? 1.11e-07 3.75e-09 1.45e-06 4.35e-34 2.30e-19 3.97e-13 1.24e-38 3.55e-02 1.95e-16 9.94e-15 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes p Value is the probability of obtaining a value for a test statistic that is as extreme as or more extreme than the observed value, assuming the null hypothesis is true. The confidence interval of the difference between Q values of two chips does not contain zero, meaning the two chips are significantly different. –2e+07 Lower bound –1e+07 Upper bound 0e+00 1e+07 Fig. 13 95% bootstrap-based confidence interval for the mean of the difference between Q values of two chips shown in Fig. 13. In this figure, each band represents the confidence interval. All intervals are far from 0, which strongly suggests that all chips are significantly different from each other. 5.4 Compensation of Environmental Effects The proposed approach has three advantages compared to traditional methods. First, it is a nonlinear mapping, and it is therefore more effective against reverse engineering. Second, it is able to increase the entropy of the PUF which makes the PUF lifetime longer. Third, it is very flexible to be extended easily to control several source of variations such as temperature, voltage, and aging. For example, let us assume that f i jl is measured at temperature Ti jl , voltage Vi jl , and aging Ai jl . Then we can model as f i jl = f i j + β1 Ti jl + β2 Vi jl + β3 Ai jl + εi jl , l = 1, . . . , r. Using bootstrapping approach we can estimate f i j , β1 , β2 , β3 . We then adjust frequency, f i∗jl = f i jl − β̂1 − β̂2 Vi j − β̂3 Ai j . Using this adjusted frequency value we can construct Q value with weight. This way, we can control the effect of several sources of variation. The resulting identifier will have a higher accuracy, and the testing can be done with higher confidence. 76 I. Kim et al. 5.5 Open Challenges Our present efforts address the following open challenges. 1. For a desired level of entropy, we need to select the optimal number of RO that minimizes the overall cost. 2. Q can be constructed in many ways, based on selection of measurements, the choice of q and k, and the conversion into an identifier. We need to find what exact format is the best feasible one as well as the optimal one. 3. We need to develop a testing technique to evaluate the distribution of the difference of Q values among chips. Since Q is a multidimensional quantity, not a scalar number, we also need to find the optimal testing approach. Although our experiment result shows that the distribution of the difference of Q values distinguishes all chips very well using both Kolmogorov–Smirnove statistic and bootstrap-based confidence interval, we need to investigate what testing approaches will be optimal. 4. To implement the identity mapping step, the Q test statistic formula needs to be implemented in hardware. We will develop efficient architectures to do this, based on efficient signal processing architectures. We will also evaluate the possibility of using on-chip embedded software post-processing. 6 Conclusions The design and implementation of reliable and efficient PUF covers many different aspects, including circuit-level optimization, architecture-level optimization, and statistical analysis. Through our research, we find that a cross-disciplinary approach is important to cover this very large design space. For example, by employing subthreshold circuits, we can increase the sensitivity of the design to process manufacturing variations. By using clever redundancy at architecture level, we can then compensate any non-desirable sensitivities to environment variables (such as to temperature and operating voltage). Finally, using an appropriate test statistic, we can harvest the entropy in a statistically optimal way. Clearly, this type of design relies on a range of skills rather than a point specialty. We are currently developing prototypes of the ideas described in this chapter, using FPGA as well as ASIC technology. Acknowledgments This work was supported in part by the Institute for Critical Technology and Applied Science (ICTAS) and the National Science Foundation with grant no. CNS-0964680. References 1. Trusted Computing Group, TCG Trusted Network Connect - Federated TNC, 2009. http://www.trustedcomputinggroup.org/resources/federated_tnc_version_10_ revision_26 2. D.D. Hwang, P. Schaumont, K. Tiri, I. Verbauwhede, Securing embedded systems. IEEE Security and Privacy, 4(2), 40–49 (2006) From Statistics to Circuits: Foundations for Future Physical Unclonable Functions 77 3. P.H. Kvam, B. Vidakovic, Nonparametric Statistics with Applications to Science and Engineering (Wiley-Interscience, Hoboken, NJ, 2007) 4. Y. Dodis, L. Reyzin, A. Smith, in Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data. Proceedings of EUROCRYPT’04 on Advances in Cryptology, Lecture Notes in Computer Science, vol. 3027 (Springer, Berlin, Heidelberg, 2004), pp. 523–540 5. P. Tuyls, B. Skoric, T. Kevenaar, Security with Noisy Data: Private Biometrics, Secure Key Storage and Anti-Counterfeiting (Springer-Verlag New York, Inc., Secaucus, NJ, 2007) 6. R. Maes, P. Tuyls, I. Verbauwhede, in Low-Overhead Implementation of a Soft Decision Helper Data Algorithm for SRAM PUFs. Cryptographic Hardware and Embedded Systems CHES 2009, Lausanne, Switzerland, 6–9 Sept 2009 (Springer Verlag, Berlin, Heidelberg, New York) 7. C. Bösch, J. Guajardo, A.-R. Sadeghi, J. Shokrollahi, P. Tuyls, in Efficient Helper Data Key Extractor on FPGAs. Cryptographic Hardware and Embedded Systems - CHES 2008, Washington, DC, USA, 10–13 Aug 2008 (Springer Verlag, Berlin, Heidelberg, New York) pp. 181–197 8. Y. Su, J. Holleman, B. Otis, in A 1.6pj/bit 96% Stable Chip-ID Generating Circuit Using Process Variations. Solid-State Circuits Conference, 2007. ISSCC 2007. Digest of Technical Papers. IEEE International, Feb 2007, pp. 406–611 9. S. Kumar, J. Guajardo, R. Maes, G.-J. Schrijen, P. Tuyls, in Extended Abstract: The Butterfly PUF Protecting IP on Every FPGA. IEEE International Workshop on Hardware-Oriented Security and Trust, 2008. HOST 2008, Anaheim, CA, USA, 9 June, 2008, pp. 67–70 10. D.E. Holcomb, W.P. Burleson, K. Fu, Power-up SRAM state as an identifying fingerprint and source of true random numbers. IEEE Trans. Comput. 58(9), 1198–1210 (Sept 2009) 11. G.E. Suh S. Devadas, in Physical Unclonable Functions for Device Authentication and Secret Key Generation. DAC ’07: Proceedings of the 44th Annual Design Automation Conference (ACM, New York, NY, 2007), pp. 9–14 12. E. Ozturk, G. Hammouri, B. Sunar, in Physical Unclonable Function with Tristate Buffers. IEEE International Symposium on Circuits and Systems, 2008 (ISCAS 2008), Seattle, WA, 18–21 May 2008 (IEEE, Piscataway, NJ, 2008), pp. 3194–3197 13. D. Lim, J. Lee, B. Gassend, G. Suh, M. van Dijk, S. Devadas, Extracting secret keys from integrated circuits. IEEE Trans. VLSI Syst. 13(10), 1200–1205 (Oct 2005) 14. R. Helinski, J. Plusquellic, Measuring power distribution system resistance variations. IEEE Trans. Semicond. Manuf. 21(3), 444–453 (Aug 2008) 15. R. Helsinki, D. Acharyya, J. Plusquellic, in A Physical Unclonable Function Defined Using Power Distribution System Equivalent Resistance Variations. Proceedings of the 46th Design Automation Conference (DAC ’09), San Francisco, CA, USA (ACM, New York, NY, 2009), pp. 676–681 16. M. Majzoobi, F. Koushanfar, M. Potkonjak, Techniques for design and implementation of secure reconfigurable PUFs. ACM Trans. Reconfigurable Technol. Syst. 2(1), 1–33 (2009) 17. R. Pappu, B. Recht, J. Taylor, N. Gershenfeld, Physical one-way functions. Science 297(5589), 2026–2030 (2002) 18. J.D.R. Buchanan, R.P. Cowburn, A.V. Jausovec, D. Petit, P. Seem, G. Xiong, D. Atkinson, K. Fenton, D.A. Allwood, M.T. Bryan, Forgery: ‘fingerprinting’ documents and packaging. Nature 436(7050), 475–475 (2005) 19. G. Hammouri, A. Dana, B. Sunar, in CDs Have Fingerprints Too. Cryptographic Hardware and Embedded Systems - CHES 2009 (Springer, Heidelberg, 2009), pp. 348–362 20. G. DeJean, D. Krovski, in RF-DNA: Radio-Frequency Certificates of Authenticity. Cryptographic Hardware and Embedded Systems - CHES 2007 (Springer, Heidelberg, 2007), pp. 346–363 21. F. Kousanfar, A. Candore, O. Kocabas, in Robust Stable Radiometric Fingerprinting for Wireless Devices. IEEE International Workshop on Hardware Oriented Security and Trust 2009 (HOST 2009), San Francisco, CA, USA, July 2009, pp. 43–49 78 I. Kim et al. 22. S. Jana, S.P. Nandha, M. Clark, S.K. Kasera, N. Patwari, S. Krishnamurty, in On the Effectiveness of Secret Key Extraction Using Wireless Signal Strength in Real Environments.. Proceedings of the ACM Sigmobile International Conference on Mobile Computing and Networking (MOBICOM), Beijing, 20–25 September 2009 23. B. Skoric, S. Maubach, T. Kevenaar, P. Tuyls, Information-theoretic analysis of capacitive physical unclonable functions. J. Appl. Phys. 100(2), 024902 (2006). 24. B. Skoric, G.-J. Schrijen, W. Ophey, R. Wolters, N. Verhaegh, J. van Geloven, Experimental hardware for coating PUFs and optical PUFs. in Security with Noise Data, ed. by P. Tuyls, B. Skoric, T. Kevenaar (Springer, New York, NY, 2008) 25. P. Gupta, A.B. Kahng, in Manufacturing-Aware Physical Design. ICCAD ’03: Proceedings of the 2003 IEEE/ACM International Conference on Computer-Aided Design (IEEE Computer Society, Washington, DC, 2003), p. 681 26. N. Shah, R. Samanta, M. Zhang, J. Hu, D. Walker, in Built-In Proactive Tuning System for Circuit Aging Resilience. IEEE International Symposium on Defect and Fault-Tolerance in VLSI Systems, Cambridge, MA, USA, 1–3 October 2008, pp. 96–104 27. P. Lee, M. Kuo, P. Ko, C. Hu, BERT - Circuit Aging Simulator (CAS). Technical Report UCB/ERL M90/2, EECS Department, University of California, Berkeley, 1990 28. W. Wang, V. Reddy, B. Yang, V. Balakrishnan, S. Krishnan, Y. Cao, in Statistical Prediction of Circuit Aging Under Process Variations. Custom Integrated Circuits Conference, 2008. CICC 2008. (IEEE, Piscataway, NJ, Sept 2008), pp. 13–16 29. UMC Foundry, http://www.umc.com. Accessed 11/2009 30. A. Wang, A. Chandrakasan, A 180-mv subthreshold FFT processor using a minimum energy design methodology. IEEE J. Solid-State Circuits 40(1), 310–319 (Jan 2005) 31. V. Sze, R. Blazquez, M. Bhardwaj, A. Chandrakasan, in An Energy Efficient Sub-Threshold Baseband Processor Architecture for Pulsed Ultra-Wideband Communications. Acoustics, Speech and Signal Processing, 2006. ICASSP 2006 Proceedings. 2006 IEEE International Conference on, vol. 3, Toulouse, 2006 32. C.H.I. Kim, H. Soeleman, K. Roy, Ultra-low-power DLMS adaptive filter for hearing aid applications. IEEE Trans.VLSI Syst. 11(6), 1058–1067 (Dec 2003) 33. J. Tschanz, J. Kao, S. Narendra, R. Nair, D. Antoniadis, A. Chandrakasan, V. De, in Adaptive Body Bias for Reducing Impacts of Die-to-Die and Within-Die Parameter Variations on Microprocessor Frequency and Leakage. Solid-State Circuits Conference, 2002. Digest of Technical Papers. ISSCC. 2002 IEEE International, vol. 1, San Francisco, CA, USA, 2002, pp. 422–478 34. C.E. Yin, G. Qu, in Temperature-Aware Cooperative Ring Oscillator PUF. IEEE International Workshop on Hardware-Oriented Security and Trust, 2009. HOST ’09, San Francisco, CA, USA, July 2009, pp. 36–42 35. A. Maiti, P. Schaumont, in Improving the Quality of a Physical Unclonable Function Using Configurable Ring Oscillators. 19th International Conference on Field Programmable Logic and Applications (FPL 2009), 2009 36. H. Yu, P.H.W. Leong, M. Glesner, H. Hinkelmann, L. Moller, P. Zipf, in Towards a Unique FPGA-Based Identification Circuit Using Process Variations. Proceedings of the 19th International Conference on Field Programmable Logic and Applications 2009 (FPL09), September 2009 37. B. Efron, R.J. Tibshirani, An Introduction to the Bootstrap (Chapman & Hall, London, England,1993) 38. I.M. Chakravarti, R.G. Laha, J. Roy. Handbook of Methods of Applied Statistics, vol. I (Wiley, New York, NY, 1967), pp. 392–394

Download PDF

- Similar pages
- NOUVEAUTES GENERALITES 2E SEMESTRE 2009 ISBN
- Moving PUFs out of the lab Patrick Schaumont 2/3/2012
- Dust Detective Handbook
- A NOVEL MICROPROCESSOR-INTRINSIC PHYSICAL UNCLONABLE FUNCTION Abhranil Maiti Patrick Schaumont
- IMPROVING THE QUALITY OF A PHYSICAL UNCLONABLE FUNCTION USING
- “DUST DETECTIVE” Static Air Sampling
- “DUST DETECTIVE” Static Air Sampling Enclosure For Microdust pro
- SERVICE MANUAL
- Improved Ring Oscillator PUF: An FPGA-friendly Secure Primitive
- PG 3000
- Appendix P_Soil Gas_SubSlab And Indoor Air Sampling SOP
- datasheet for ECS-VXO-143X, VXO