The present invention relates to security in association with semiconductors and, more specifically, to using physical noisy pseudo-random sources, for example, arising from manufacturing variations, to code information bits, using a constellation-based symbol-oriented (vs. a bit-oriented) technique to enable a higher level of noise tolerance associated with factors such as environmental stresses or noisy manufacturing processes.
This invention relates to the use of physical noisy pseudo-random sources, for example, arising from manufacturing variations, to code information bits, using a constellation-based symbol-oriented (vs. a bit-oriented) technique which has uses when Physical Uncolnable Functions (PUFs) are used to generate keys and for authentication. The following references are cited and incorporated herein:
A method and system are provided for a symbol-oriented approach that addresses information recovery using manufacturing variations (MVs) in a high noise environment. The multi-bits-per-symbol approach, which is in accordance with the various aspects of the present invention, is in contrast with how manufacturing-variation-derived bits are normally treated in the context of PUF Key Generation's error correction process, where each PUF bit is treated effectively as a single-bit symbol (vs. a multi-bit symbol) to form an error correction codeword. The multi-bit-per-symbol approach also offers a natural distance metric (distance to the most-likely symbol, distance to the next-most-likely symbol, etc.) which can aid soft-decision decoding or list-decoding, and can be used to improve the provisioning of a more reliably encoded secret and its associated helper data value.
When the various aspects of the present invention are applied to silicon Physical Unclonable Function (PUF), this turns into a method of PUF key generation where keying bits can be embedded inside manufacturing variations in environments or manufacturing processes that has a high level of noise, and in some cases exceeding noise level that can be error corrected using conventional single-stage error correction techniques with a bit-oriented codeword using the popular code-offset method. Therefore, what is needed is a symbol-oriented approach that addresses key recovery from manufacturing variations in a high noise environment.
Information bits are divided into multi-bit symbols (with single bit symbol being a degenerate case). Each symbol is mapped onto manufacturing variation readings and later recovered from another reading of the manufacturing variations. In regular communication systems, symbols are modulated onto “I” and “Q” signals in the form of sine and cosine waves, e.g., 1 bit encoded in a BPSK constellation, 2 bits encoded in a QPSK constellation, 8 bits in a QAM-256 constellation. In our case, each symbol is mapped onto manufacturing variations readings, where two possible selections of manufacturing-variation-derived readings are available for a 1-bit symbol, four possible selections of manufacturing-variation-derived readings are available for a 2-bit symbol, 256 possible selections of manufacturing-variation-derived readings are available for an 8-bit symbol, etc. The selection can be based on aspects such has PUF challenge selection, PUF response selection, or PUF circuit selection, or combinations of these or other manipulatable attributes. More generally, the challenge is a function (with “selection” of a starting challenge being a simple function) of a symbol to be mapped, the response is a function of a symbol to be mapped (with “selection” of a response scrambling code being a simple function), or the PUF circuit choice is a function of a symbol to be mapped (with “selection” of a PUF circuit being a simple function).
Traditional PUF Key Generation methods perform reliability so long as a noisy regenerated response decodes to the legitimate single error correction codeword that was provisioned. Specifically, the environmental and physical noise of the physical noisy pseudo-random source cannot deviate beyond the hamming sphere of the legitimate code-word. Using a traditional single-stage error correction code such as a BCH code, this correspond an asymptotic limit of 25% of the response size. For a 256-bit response, this means that no more than 64 bits of noise can be present (i.e., no more than 64 bits can be flipped due to environmental variations such as voltage, temperature, or aging, or due to physical noise factors). Otherwise, the noisy response may get decoded into an adjacent code-word that is incorrect.
In accordance with various aspects of the present invention, a maximum likelihood and optionally a list-decoding approach of secret keying bits mapped to a constellation is disclosed. In accordance with various aspects, the system allows for reliable decoding and keying bits recovery beyond the 25% limit of traditional single stage error correction approaches. In fact, under certain configurations based on the aspects of the present invention, the error correction can approach a 50% limit. For example and in accordance with an aspect of the present invention, two responses each of 256-bits are derived from two different physical noisy pseudo-random sources on the same device. On the average, these two response bits would have 128-bits that are different. So long as the regenerated response doesn't deviate so much as to cross the mid-point boundary (50% limit) between the two, the secret bit can be reliably decoded. In a configuration based on one aspect, where there are multiple responses, a list decoding approach can be used so that decoding to adjacent constellation points can be detected and thus still allow for reliable secret keying bits recovery using an additional error detection or error control mechanism.
The scope of the present invention is not limited by the application to a specific field. For example, the present invention and its various aspects can be used to secure booting of a computer that uses an ARM processor, to generate secure keys for smart cards, or to generate keys for secure tokens.
Referring now to
In
Referring now to
Referring now to
As can be inferred from
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
To elaborate further, in accordance with one aspect of the present invention, the CRECOVERY unit 514 can use a maximum likelihood decoder, an example one such aspect being shown in
In accordance with another aspect of the present invention, the constellation demodulation can use a list decoder, wherein not only the most likely points, but next most likely point or the next-next most likely point, etc. can be selected, to improve noise tolerance due to environmental changes (temperature, voltage, aging) or small manufacturing process geometries, with the aid of additional error detection or error control circuitry.
In accordance with various aspects of the present invention, list decoding can follow the maximum likelihood logic, although list decoding using non-maximum likelihood is also possible in accordance with various aspects of the present invention. Furthermore and in accordance with one aspect of the present invention, the error detection can be added to any of the aspects of the present invention, including constellation demodulation using any of the aspects of the present invention. In accordance with one aspect of the present invention, the error correction can be added any of the aspects of the present invention, including constellation demodulation using any of the aspects of the present invention.
Referring again to
The different constellation points can be formed by a combination of different PUFs on the same device, from different challenge selections, from using different combination or mixing or scrambling or modulation functions, etc. The list decoding stage can decode so that the maximum likely, second most likely, third most likely etc., response are recovered, and the correct one can be selected depending on error detection flags such as parity error detection. In accordance with the various aspects of the present invention, constellation modulation modes/modalities deriving multiple-bit symbols can be based on one or combinations of:
1. PUF selection (Multiple Arbiter PUFs, Multiple Ring Oscillator PUFs, Multiple Memory PUFs, or combinations of these. More generally physical pseudo-random functions with manufacturing variations, including biometrics, paper or paint surfaces, passport photos, etc.).
2. Code selection (e.g., Walsh Code, Gold Code, m-sequence)
3. Challenge selection (including challenge inversion, challenge mixed with code, challenge derived from different polynomials, challenge with error correction encoding). Challenge can use hash function, LFSR, combinations of these.
4. Choice of mixing functions, including XOR, majority function, addition, modulo addition.
In accordance with the various aspects of the present invention, a traditional error correction approach can be cascaded, using the maximum-likelihood and optionally list-decoding stage as a “first” stage noise reduction.
In the realm of silicon PUFs, based on the various aspects of the present invention, the method can be applied to many popular silicon PUF types, including Arbiter PUF, Ring Oscillator PUF, and memory PUFs.
Where a range of values is provided, it is understood that each intervening value, to the tenth of the unit of the lower limit unless the context clearly dictates otherwise, between the upper and lower limit of that range and any other stated or intervening value in that stated range, is encompassed within the invention. The upper and lower limits of these smaller ranges may independently be included in the smaller ranges and are also encompassed within the invention, subject to any specifically excluded limit in the stated range. Where the stated range includes one or both of the limits, ranges excluding either or both of those included limits are also included in the invention.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Although any methods and materials similar or equivalent to those described herein can also be used in the practice or testing of the present invention, representative illustrative methods and materials are now described.
All publications and patents cited in this specification are herein incorporated by reference as if each individual publication or patent were specifically and individually indicated to be incorporated by reference and are incorporated herein by reference to disclose and describe the methods and/or materials in connection with which the publications are cited. The citation of any publication is for its disclosure prior to the filing date and should not be construed as an admission that the present invention is not entitled to antedate such publication by virtue of prior invention. Further, the dates of publication provided may be different from the actual publication dates which may need to be independently confirmed.
It is noted that, as used herein and in the appended claims, the singular forms “a”, “an”, and “the” include plural referents unless the context clearly dictates otherwise. It is further noted that the claims may be drafted to exclude any optional element. As such, this statement is intended to serve as antecedent basis for use of such exclusive terminology as “solely,” “only” and the like in connection with the recitation of claim elements, or use of a “negative” limitation.
As will be apparent to those of skill in the art upon reading this disclosure, each of the individual embodiments described and illustrated herein has discrete components and features which may be readily separated from or combined with the features of any of the other several embodiments without departing from the scope or spirit of the present invention. Any recited method can be carried out in the order of events recited or in any other order which is logically possible.
Although the foregoing invention has been described in some detail by way of illustration and example for purposes of clarity of understanding, it is readily apparent to those of ordinary skill in the art in light of the teachings of this invention that certain changes and modifications may be made thereto without departing from the spirit or scope of the appended claims.
Accordingly, the preceding merely illustrates the principles of the invention. It will be appreciated that those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the invention and the concepts contributed by the inventors to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof.
Additionally, it is intended that such equivalents include both currently known equivalents and equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure. The scope of the present invention, therefore, is not intended to be limited to the exemplary embodiments shown and described herein. Rather, the scope and spirit of present invention is embodied by the appended claims.
In accordance with the teaching of the present invention and certain embodiments, a computer device is an article of manufacture. Examples of an article of manufacture include: an electronic component residing on a mother board, a server, a mainframe computer, a mobile telephone, a multimedia-enabled smartphone, a tablet computer, a personal digital assistant, a personal computer, a laptop, a set-top box, an MP3 player, an email enabled device, a web enabled device, or other special purpose computer each having one or more processors (e.g., a Central Processing Unit, a Graphical Processing Unit, or a microprocessor) that is configured to execute a computer readable program code (e.g., an algorithm, hardware, firmware, and/or software) to receive data, transmit data, store data, or perform methods.
The article of manufacture (e.g., computing device) includes a non-transitory computer readable medium having a series of instructions, such as computer readable program steps encoded therein. In certain embodiments, the non-transitory computer readable medium includes one or more data repositories.
In certain embodiments and in accordance with any aspect of the present invention, computer readable program code is encoded in a non-transitory computer readable medium of the computing device. The processor, in turn, executes the computer readable program code to create or amend an existing computer-aided design using a tool. In other embodiments, the creation or amendment of the computer-aided design is implemented as a web-based software application in which portions of the data related to the computer-aided design or the tool or the computer readable program code are received or transmitted to a computing device of a host. A controller is meant to represent a control element for the invention, which manages local processes within the battery and communicates these or the results of these to an external control system. The controller can be implemented in a variety of ways:
In certain embodiments based on the various aspects of the present invention, reference is made to communication between two electronic components. In certain embodiments, the communication fabric contains either or both wired or wireless connections for the transmission of signals including electrical connections, magnetic connections, or a combination thereof.
In certain embodiments, the system includes a hardware-based module (e.g., a digital signal processor (DSP), a field programmable gate array (FPGA)) and/or a software-based module (e.g., a module of computer code, a set of processor-readable instructions that are executed at a processor). In some embodiments, one or more of the functions associated with the system is performed, for example, by different modules and/or combined into one or more modules locally executable on one or more computing devices.
Accordingly, the preceding merely illustrates the various aspects and principles of the present invention. It will be appreciated that those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the invention and the concepts contributed by the inventors to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents and equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure. The scope of the present invention, therefore, is not intended to be limited to the exemplary embodiments shown and described herein. Rather, the scope and spirit of present invention is embodied by the appended claims.
This application claims priority, under 35 USC 119, from U.S. Provisional Application No. 61/847,836 filed on Jul. 18, 2013 and titled SYSTEM AND METHOD FOR GENERATING CONSTELLATION-BASED INFORMATION CODING USING PHYSICAL NOISY PSEUDO-RANDOM SOURCES, the entire disclosure of which is incorporated herein by reference. This application is related to and, hence, incorporates by reference the disclosure of U.S. Provisional Application No. 61/767,105 filed on Feb. 20, 2013 and titled USING ENTITY AUTHENTICATION PROPERTIES OF NOISY PHYSICAL FUNCTIONS FOR DATA INTEGRITY PROTECTION AND DATA CONFIDENTIALITY.
| Number | Date | Country | |
|---|---|---|---|
| 61847836 | Jul 2013 | US |