CORRELATION-BASED ROBUST AUTHENTICATION TECHNIQUE USING HELPER DATA ONLY
20210135887 · 2021-05-06
Inventors
Cpc classification
G06F21/73
PHYSICS
International classification
H04L9/32
ELECTRICITY
Abstract
A privacy-preserving, mutual PUF-based authentication protocol that uses soft data to exchange and correlate Helper Data bitstrings instead of PUF response bitstrings as a means of authenticating chips to prevent attacks.
Claims
1. A message exchange protocol between a client and a server that leverages soft data from a physical unclonable function (PUF) to generate Helper Data and response bitstrings by both the server and the client.
2. The message exchange protocol according to claim 1, wherein the soft data is digitized measurements of a signal.
3. The message exchange protocol according to claim 2, wherein the digitized measurements are one selected from the group: a propagation delay, a voltage, a current.
4. The message exchange protocol according to claim 1, wherein the bitstrings generated by both the server and the client are correlated to determine a degree of matching that exists in a sequence of bits that define the bitstrings.
5. The message exchange protocol according to claim 1, wherein bits in the response bitstring derived from the soft data are classified as either strong or weak, and these bits are used to define a Helper Data bitstring.
6. The message exchange protocol according to claim 1, further comprising a correlation coefficient that is produced from a pair of Helper Data bitstrings.
7. The message exchange protocol according to claim 6, wherein the correlation coefficient is used to mutually authenticate the client and the server.
8. The message exchange protocol according to claim 1, wherein the client or the server is not revealed to third parties.
9. A method for enrolling and authenticating chips comprising the steps: generating by a server a set of challenges; transmitting by the server to a chip the set of challenges; applying by the chip one or more challenges to a PUF to generate a set of soft data; returning by the chip to the server the set of soft data; creating by the server an identifier; and storing by the server the set of soft data under the identifier in a secure database.
10. The method according to claim 9, further comprising the steps: requesting authentication by a fielded chip to the server without transmitting the identifier; selecting by the server a subset of challenges; transmitting from the server to the chip the subset of challenges; applying by the chip to its PUF the subset of challenges; generating by the chip a first Helper Data bitstring; and sending to the server the first Helper Data bitstring.
11. The method according to claim 10, further comprising the steps: processing by the server the stored set of soft data in the secure database for the fielded chip; generating by the server a second Helper Data bitstring using the stored set of soft data; producing a coefficient by correlating the first Helper Data bitstring and the second Helper Data bitstring; and comparing the coefficient to a threshold to determine a characterization of the fielded chip.
12. The method according to claim 11, wherein the correlating step further comprises the step of using one method selected from the group: a bitwise AND operation, a bitwise XNOR operation, a waveform operation.
13. The method according to claim 11, wherein the characterization is one selected from the group consisting of: an authentic-enrolled chip, a non-authentic-enrolled chip, a non-authentic-not-enrolled chip, and a non-authentic-counterfeit chip.
14. The method according to claim 10, wherein the Helper Data bitstring is generated using a thresholding technique applied to the soft data.
15. The method according to claim 10, wherein the soft data is digitized measurements of a signal including one or more selected from the group: a propagation delay, a voltage, a current.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The following drawings form part of the specification and are included to further demonstrate certain embodiments or various aspects of the invention. In some instances, embodiments of the invention can be best understood by referring to the accompanying drawings in combination with the presented detailed description. The description and accompanying drawings may highlight a certain specific example, or a certain aspect of the invention, However, one skilled in the art will understand that portions of the example or aspect may be used in combination with other examples or aspects of the invention.
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
DETAILED DESCRIPTION OF THE INVENTION
[0034] The invention relates to a privacy-preserving, mutual PUF-based authentication protocol exchanges and correlates Helper Data bitstrings instead of PUF response bitstrings as a means of authenticating chips to prevent attacks. A physical unclonable function (PUF) architecture produces soft data that captures the inherent, random variations that occur in signals from one chip to another, and represents the source of entropy for the PUF. The soft data is converted into bitstrings for use as input to a correlation-based robust authentication technique.
[0035] A wide range of PUF architectures are known. The source of entropy (randomness) for the PUF is chip-to-chip and within-die process variations that occur between and within chips from the population. The PUF architecture defines the mechanism that is used to measure small signal variations introduced by process variations effects. In some cases, the measurement process leverages the existing architectural features of the chip, e.g., the SRAM PUF measures its entropy source, i.e., the individual SRAM cells, by simply applying power to the SRAM array. For most PUFs, however, circuit components need to be added to the chip, e.g., the RO PUF requires a set of MUXs and counters to select and measure the frequencies associated with elements in the array of ROs.
[0036] In another example, the HELP PUF adds a launch-capture clocking mechanism to precisely time the delays of combinational logic paths. For PUF architectures that measure and digitize the signal behavior associated with the entropy source, the digitized values provide additional information that can be leveraged in strong challenge-response-pair (CRP) forms of authentication. The digitized values represent the magnitude of the signal behavior, e.g., RO frequency or path delay, and are often used as input to mathematical processes defined by the PUF architecture. The goal of the mathematical operations is to amplify the differences which occur among multiple copies of the individual circuit components that represent the source of entropy. The digitized values is referred to as soft data and are eventually converted to a bit and used in the response of the CRP.
[0037] Of the PUF architectures that create soft data (the RO and HELP PUFs are just two examples), the conversion to bits can be accomplished in a variety of ways. For example, the RO PUF typically selects a pair of ROs and then computes a difference by subtracting the soft data associated with the two ROs. The sign of the difference can then be used to generate a bit, with, e.g., negative differences producing a ‘0’ and positive differences producing a ‘1’. The HELP PUF also computes differences among pairings of path delays and uses a Modulus operation to assign a ‘0’ or ‘1’ to the difference.
[0038] Nearly all PUF architecture also need to deal with bit-flip errors, which are differences in the response bitstring that occur when the response is regenerated. Bit-flip errors are most probable when the magnitude of the difference, e.g., between two RO frequencies, is close to zero. In these cases, regeneration, which takes place later in the field and under potentially adverse environmental conditions, can result in the sign of the difference changing and the corresponding bit flipping from ‘0’ to ‘1’ or vice versa. Although authentication protocols can be designed to be tolerant to a small number of bit-flip errors, the number of bit-flip errors that can occur is too large in most PUF architectures to guarantee that authentication works correctly when regeneration is carried out in hash environments.
[0039] To deal with this issue, nearly all PUF architectures define an error correction or error avoidance method to improve reliability during regeneration. Error correction is the more popular of the two reliability-enhancing methods. Error correction typically processes the PUF response bits into a final response bitstring using algorithms based on linear block codes or Bose-Chaudhuri-Hochquenghen (BCH) codes. However, nearly all of the error correction schemes ignore the magnitude of the difference in the soft data and use all of the PUF response bits, including those that have a high probability of producing bit-flip errors, to construct a smaller but reproducible bitstring response.
[0040] Error avoidance schemes, on the other hand, integrate a thresholding method that skips bits that are deemed unreliable. The reliability of a bit is often directly related to the soft data associated with the bit, and in particular, the distance of the soft data value to the bit-flip line. The bit-flip line is defined by the PUF architecture as a soft threshold between ‘0’ or a ‘1’. Unlike error correction methods, error avoidance methods can only be used with PUF architectures that produce soft data values, e.g., the RO, metal resistance and the HELP PUFs are some examples.
[0041] In typical usage scenarios, an enrollment phase is carried out in which challenges are applied to the PUF in a secure facility and response bitstrings are generated for the first time. In addition to the response bitstring, PUF architectures that use either error correction or error avoidance methods also produce Helper Data bitstrings. Helper Data bitstrings are typically stored by the secure facility and transmitted to the fielded device later during regeneration to enable the PUF on the device to precisely reproduce the response bitstring. The form of the generated Helper Data bitstrings varies dramatically depending on the error correction or avoidance method employed. A key contribution of the invention relates to Helper Data bitstrings, and in particular to Helper Data bitstrings that is generated by error avoidance methods.
[0042] To exemplify the principles of the proposed technology, a HELP PUF architecture is used with data collected from a set of Zynq FPGAs. HELP uses a launch-capture technique to obtain accurate digital timing values of path delays through a combinational logic block.
[0043]
[0044] The digital clock manager (DCM) on the FPGA is used to create the clocks, with dynamic fine phase shift enabled for Clk.sub.2. Dynamic fine phase shift allows a state machine running in the programmable logic (PL) of the FPGA to increment the phase shift by increments of 18 ps as shown on the right side of
[0045] During enrollment, a set of timing values, called PUF Numbers (“PN”) for each chip are stored in the rows of a secure database 150 as shown in
[0046]
[0047]
[0048] The HELP PUF converts the PN into a bitstring by applying the following algorithm, First, a pseudo-random number generator selects pairs of PN and creates differences. A temperature-voltage compensation method (“TVComp”) is then applied to the differences to compensate the measured timing values for changes introduced by environmental conditions. Finally, a Modulus operation is applied to the compensated differences to remove path length bias effects.
[0049] The Modulus operation is defined in the standard way as returning the positive remainder after dividing by the Modulus. The value of the Modulus is one of several parameters to the HELP algorithm. The graphs shown in
[0050] As mentioned earlier, the error avoidance scheme implemented within HELP is called Margining. The Margining scheme skips soft data values—i.e., PN—in cases where the probability of a bit-flip error is large. These highly probable bit-flip regions are labeled “weak” in the center of graph 200 in
[0051]
[0052] The “C1 Mixed BS” in
[0053]
[0054]
[0055] One known HELP authentication protocol describes a DualHelperData scheme where both the Helper Data bitstrings and Strong bitstrings are exchanged between the server modeled in
[0056] As a mitigation strategy for attacks, an authentication protocol exchanges only the Helper Data bitstrings, Authentication is carried out by correlating the Helper Data bitstrings generated using the enrollment data on the server with the Helper Data bitstring generated on-the-fly by the token. The simplest correlation strategy is to compute a new bitstring by bitwise AND'ing the Helper Data bitstrings from the server and token and then counting the number of ‘1’s in the AND'ed version. The number of ‘1’s is the correlation coefficient (“CC”) because it reflects the level of similarity that exists between the two Helper Data bitstrings.
[0057]
[0058] For each Helper Data bitstring it constructs, the server bitwise AND's it with the received token's Helper Data bitstring. For example, the AND'ed versions are labeled “C1 AND C1 Helper Data” and “C1 AND C2 Helper Data” in
[0059] The results for both authentication attempts show higher correlation for cases where the server-generated Helper Data bitstring is derived from PN data that belongs to the token that is attempting to authenticate. In other words, the authenticating token is correctly identified to the server using only the information provided by the CC. This example uses only a small number of 18 PN from a larger set of 2048 PN that are produced by each iteration of the HELP algorithm.
[0060] Using 500 FPGAs, results shown in the graph 400
[0061] The diagram 450 given in
[0062] The CCs in
[0063] Although only AE and NE authentication attempts are considered, it is also contemplated to include non-authentic-not-enrolled (“NN”) and non-authentic-counterfeit (“NC”) authentication attempts.
[0064] Under the AND correlation scheme, it is possible for adversaries to construct Helper Data bitstrings with all ‘1s’, which guarantees a large number of matches. However, large CCs would occur for ALL data sets in the secure DB, which, in turn, would be flagged by the server and result in a failed authentication attempt. This is true because the server allows only one CC to be above the threshold in order for an authentication attempt to be classified as successful
[0065]
[0066] Enrollment is performed in a secure facility using a confidential FPGA programming bitstream that allows access to the PUF's soft data.
[0067]
[0068] The server then carries out an exhaustive search by processing soft data sets {PN.sub.j}.sub.i it stores in its database for each chip i as shown at step 541 of the flow chart 540 in
[0069] The last phase of the improved privacy-preserving, mutual PUF-based authentication protocol is for the chip to authenticate the server. This phase is not shown, but is identical except the message exchanges are reversed and the exhaustive search process is omitted. Server authentication is not performed unless chip authentication succeeds, in which case, the server has identified the chip's soft data set {PN.sub.j}.sub.i. The server uses this {PN.sub.j}.sub.i to generate another Helper Data bitstring, which is transmitted to the chip. Note that the Helper Data bitstrings generated during server authentication are distinct from those generated during chip authentication because the challenge subset {c.sub.m} and nonces n.sub.1 and n.sub.2 are selected differently in this phase. In addition to the Margin parameter that are selected by nonces, other parameters can be introduced to further expand the CRP space, as known in reference to the HELP algorithm. Authentication succeeds if both of the chip and server authentication phases succeed, and fails otherwise.
[0070] Following are experimental results that present a worst case scenario. A larger set of the HELP CRP space is used. The data analyzed was collected from a set of 500 chip-instances under enrollment and 9 temperature-voltage (TV) corners.
[0071] The full CRP space of the HELP algorithm is defined by (1) sets of challenges (2-vector sequences) and corresponding Path-Select-Masks where each challenge set produces 4096 PN and (2) a set of parameters, consisting of two LFSR seeds, two floating point parameters called the reference mean and range, and a Modulus and Margin. The challenges and Path-Select-Masks create a CRP space with size exponentially related to the size of the functional unit used as the entropy source. The parameters increase the CRP space by approx. 221, i.e., there are 221 2048-bit bitstrings that can be generated by varying these parameters for each set of challenges and Path-Select-Masks. Only one set of challenges and Path-Select-Masks are used for the analysis in order to focus on analyzing Helper Data bitstrings produced by varying the parameters. Although this represents only a small subset of the entire CRP space, results show that the correlation-based robust authentication technique works well across this statistically significant sample.
[0072] The two LFSR seed parameters allow up to 2048 distinct bitstrings to be generated, each of length 2048 bits. The reference mean and range increase the number of distinct bitstrings by a factor of approx. 100. The analysis performed here analyzes the Helper Data bitstrings generated using 10 distinct LFSR seeds, one combination of the reference mean and range and a set of 11 Moduli and 3 Margins.
[0073] The approach taken for the analysis of the worst case is illustrated using the graph 600 of
[0074] It should be noted that the curves shown in
[0075] As indicated, the key feature of
[0076] To deal with this issue, Equation (1) computes the percentage change CC, called PCH, as follows. First, a set of CCs are computed using the chip's Helper Data bitstring against each of the server computed Helper Data bitstrings. Then the two largest CCs are identified and plugged in Equation (1) to obtain the PCH value. The server successfully authenticates the chip if the PCH is larger than a hard threshold value, and fails otherwise. In cases where the authentication is successful, the soft data in the Enroll DB associated the largest CC, CC.sub.largest, identifies the authenticating chip,
[0077] The curves in
[0078] Here, CC.sub.AE is associated with an AE chip obtained from the curves 601 in
[0079] Now, validation using a larger CRP space is discussed. An analysis reporting PCH.sub.AE_WC is expanded to a set of 11 Moduli and 3 Margins. This analysis is repeated with and without Offsets. An Offset for the HELP algorithm can significantly improve the Entropy and uniqueness in the Strong bitstrings (labeled Strong BS in
[0080] The Offset has very little impact on the CCs. The weak and strong regions in the graph 200 of
[0081]
[0082] As shown in
[0083] Positive bars indicate server identifies AE chip correctly in all 22.5M authentications while negative bars indicate at least one false authentication with an NE chip occurred. Results for NO Offset are slightly better than results with Offsets applied.
[0084] More specifically, the two bar graphs in each of the three columns in
[0085] However, Moduli between 18 to 24 for Margin 3 and between 22 and 28 for Margin 4 produce bar heights greater than 15% in the top row of ‘NO Offset’ bar graphs. Similar results are obtained in the Offset row but the bars are slightly smaller and therefore the hard threshold can be to be reduced to approx. 12% to avoid false negative authentications.
[0086] The bar graphs in the left column for TV corner 25° C., 1.00V show the best results. Only small differences exist between the No Offset and Offset results. And unlike the results for the other TV corners, the bar heights for all Moduli and Margins are positive, indicating that the values for CCAS are the largest among the sets of 22.5M authentications carried out in each analysis.
[0087] The privacy-preserving, mutual PUF-based authentication protocol exchanges and correlates Helper Data bitstrings instead of PUF response bitstrings as a means of authenticating chips. Helper Data is derived from the PUF response bitstrings and therefore the Helper Data bitstrings inherit the randomness and uniqueness characteristics associated with the PUF's source of entropy. By eliminating PUF response bitstrings in the message exchanges between the chip and server, attacks such as model-building are much more difficult to carry out.
[0088] The correlation-based robust authentication technique is demonstrated on a statistically significant set of FPGAs using the HELP algorithm, and a simple method thresholding method is used by the server and chip to distinguish between authentic and non-authentic chips.
[0089] As mentioned above, although HELP is used in this work, it is for exemplary purposes only. It is contemplated that the invention is applicable to any PUF that produces soft data, i.e., digitized values that capture the magnitude of signal behavior such as delay or metal resistance, including the Ring Oscillator (“RO”) PUF and an enhanced version of arbiter PUF.
[0090] While the disclosure is susceptible to various modifications and alternative forms, specific exemplary embodiments of the invention have been shown by way of example in the drawings and have been described in detail. It should be understood, however, that there is no intent to limit the disclosure to the particular embodiments disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope of the disclosure as defined by the appended claims.