Secure device comprising a physically unclonable function unit and method of operation thereof
By generating a mapping table in the security device to discard unstable data and extract stable data to generate a security key, the problem of high key error rate caused by PVT changes in PUF devices is solved, and the reliability of the security device is improved.
Patent Information
- Application Number
- CN202010196600.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-08-06
- Filing Date
- 2020-03-19
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2040-03-19
AI Technical Summary
Existing hardware-based Physically Unclonable Function (PUF) devices suffer from high key error rates due to PVT variations, which affects the reliability of security devices.
By introducing a controller into the security device, a mapping table is generated to discard unstable data, extract stable data, and generate a security key based on the stable data. The security key is generated using a PUF cell array, reducing errors caused by environmental factors.
It improves the reliability of security keys, reduces bit determination errors caused by environmental factors, and enhances the stability of security devices.
Smart Images

Figure CN111914266B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application is based on and claims priority to Korean Patent Application No. 10-2019-0053945 filed on May 8, 2019, and Korean Patent Application No. 10-2019-0095660 filed on August 6, 2019, the disclosures of which are incorporated herein by reference in their entirety. Technical Field
[0003] The apparatus and methods consistent with the embodiments relate to safety devices, and more specifically, to safety devices including physically unclonable function (PUF) units and methods of operating thereof. Background Technology
[0004] Security and encryption technologies are used in communications and mobile devices. Because software-generated keys can be leaked by hackers, a hardware-based security approach is currently being developed.
[0005] For example, semiconductor devices with physically unclonable functions (PUFs) are being developed. A PUF is a function or device that randomly generates a unique key based on variations in process, voltage, and temperature (PVT) within the semiconductor device. Because the PUF generates a random key based on PVT variations, the key can become incorrect due to various environmental factors. This error leads to a decrease in the reliability of semiconductor devices or security devices with PUFs. Summary of the Invention
[0006] According to an embodiment, the security device includes: a Physically Unclonable Function (PUF) cell array, the PUF cell array including a plurality of PUF cells; and a controller configured to control the PUF cell array to generate a security key. The controller includes: a receiver configured to receive raw data from the plurality of PUF cells; a mapping table generator configured to extract stable data from the received raw data by discarding unstable data in the received raw data, and to generate a mapping table based on stable PUF cells among the plurality of PUF cells corresponding to the extracted stable data; a PUF cell controller configured to read sensed data from the stable PUF cells based on the generated mapping table; and a bit determiner configured to generate the security key based on the read sensed data.
[0007] According to an embodiment, an operation method of a security device including multiple Physically Unclonable Function (PUF) units includes: reading raw data from the multiple PUF units; extracting stable data from the read raw data by discarding unstable data in the raw data; and generating a mapping table by mapping stable PUF units corresponding to the extracted stable data. The operation method further includes: selecting a target PUF unit from the multiple PUF units; selecting an auxiliary PUF unit corresponding to the selected target PUF unit from the stable PUF units based on the mapping table; reading target sensing data from the selected target PUF unit; reading auxiliary sensing data from the selected auxiliary PUF unit; and determining a target bit value of the target PUF unit based on the read target sensing data and the read auxiliary sensing data.
[0008] According to an embodiment, an operation method including multiple Physically Unclonable Function (PUF) units includes: reading raw data from the multiple PUF units; extracting stable data from the read raw data by discarding unstable data in the read raw data; and generating a mapping table based on the extracted stable data. The operation method further includes: reading sensing data from a stable PUF unit corresponding to the extracted stable data from the multiple PUF units based on the generated mapping table; generating determination data based on the read sensing data; and generating a security key based on the generated determination data. The raw data has a first distribution, the stable data has a second distribution different from the first distribution, and the determination data has a third distribution different from both the first and second distributions. Attached Figure Description
[0009] Figure 1 This is a block diagram illustrating a safety device according to an embodiment.
[0010] Figure 2 It shows Figure 1 Block diagram of the controller.
[0011] Figure 3 It shows Figure 1 The flowchart for the operation of the safety device.
[0012] Figure 4 It shows Figure 3 The flowchart of operation S110 is shown.
[0013] Figure 5A , Figure 5B and Figure 5C It is used to describe according to Figure 4 The flowchart illustrates the operation.
[0014] Figure 6A It shows the relationship with the source Figure 1 A graph showing the distribution of the raw data of multiple PUF cells in a PUF cell array.
[0015] Figure 6B It shows including data from Figure 6A The distribution of the data processed is illustrated in the following example: a graph showing the distribution of the data.
[0016] Figure 7 It shows Figure 1 The flowchart for the operation of the safety device.
[0017] Figure 8 It is used to describe Figure 1 The graph shows the operation curves of the safety device.
[0018] Figure 9 A description is shown Figure 1 The graph shows the operation curves of the safety device.
[0019] Figure 10 It shows Figure 1 The flowchart for the operation of the safety device.
[0020] Figure 11 This is a block diagram illustrating an electronic system that applies a safety device according to an embodiment. Detailed Implementation
[0021] The embodiments of the present invention will now be described in detail and clearly, enabling those skilled in the art to readily implement the present invention.
[0022] The components described in the detailed descriptions using the terms "part," "unit," "module," "layer," etc., and the functional blocks shown in the accompanying drawings, can be implemented in software, hardware, or a combination thereof. In embodiments, software can be machine code, firmware, embedded code, and application software. For example, hardware can include circuits, electronic circuits, processors, computers, integrated circuits, integrated circuit cores, pressure sensors, inertial sensors, microelectromechanical systems (MEMS), passive components, or combinations thereof.
[0023] Furthermore, unless otherwise defined, all terms used herein (including technical or scientific terms) shall have the same meaning as understood by one of ordinary skill in the art to which the inventive concept pertains. Terms defined in a general dictionary shall be interpreted as having the same meaning as in the context of the relevant technical field, and shall not be interpreted as having an ideal or overly formal meaning unless expressly defined in the specification.
[0024] Figure 1This is a block diagram illustrating a safety device according to an embodiment. (Refer to...) Figure 1 The safety device 100 may include a Physically Unclonable Function (PUF) cell array 110 and a controller 120.
[0025] PUF cell array 110 may include multiple PUF cells. In an example embodiment, each PUF cell can be implemented using any one or any combination of various types of PUF cells, such as transistor-based threshold voltage PUF cells, arbitrator-based PUF cells (e.g., feedforward PUF cells, XOR PUF cells arranged in parallel with arbitrator PUF cells, or lightweight PUF cells), ring oscillator-based PUF cells, memory-based PUF cells (e.g., static random access memory (SRAM) PUF cells, latched PUF cells, flash memory PUF cells, or memistor PUF cells), and PUF cells reconfigurable according to laser beam or thermal changes. Hereinafter, for ease of description of the technical concept of the invention, it is assumed that each of the multiple PUF cells is a transistor-based threshold voltage PUF cell. However, the invention is not limited thereto. For example, each of the multiple PUF cells can be implemented using various types of PUF cells.
[0026] In the example embodiment, the PUF cell array 110 can be implemented using a semiconductor chip, a semiconductor die, or a semiconductor device.
[0027] Multiple PUF cells have different PVT variations. Each PUF cell can be configured to output data based on its corresponding PVT variation. For example, even if multiple PUF cells are fabricated using the same semiconductor process or on the same wafer, they can still have different PVT variations. The data read from the PUF cells can correspond to mismatch information (e.g., Vgs mismatch) for each PUF cell, where the mismatch information is generated by various factors such as doping concentration, gate oxide layer thickness, and PUF cell geometry. That is, even if the first PUF cell and the second PUF cell are fabricated using the same semiconductor process or on the same wafer, the data of the first PUF cell can be positive while the data of the second PUF cell can be negative; or, the absolute value of the data of the first PUF cell can be relatively larger than the absolute value of the data of the second PUF cell.
[0028] In an example embodiment, data from each of the plurality of PUF units can be measured or detected using a separate sensing device or a separate testing device. For ease of description, the following will describe when data (e.g., raw data or sensed data, described below) is read from each of the plurality of PUF units. That is, reading data (e.g., raw data or sensed data) from a PUF unit can mean obtaining mismatch information from the PUF unit via a separate sensing device or a separate testing device, or obtaining mismatch information directly from the PUF unit. However, the inventive concept is not limited thereto.
[0029] The controller 120 can read data from the PUF unit array 110. For example, the controller 120 can provide the PUF unit array 110 with a control signal CTRL for reading data DATA from each of the plurality of PUF units included in the PUF unit array 110. The PUF unit array 110 can output the data DATA associated with the corresponding PUF unit in response to the control signal CTRL.
[0030] The controller 120 can be configured to generate a security key PUF_KEY based on data read from the corresponding PUF cell. For example, the controller 120 can determine the polarity of the data read from the PUF cell and generate the security key PUF_KEY based on the determined polarity. In an example embodiment, the security key PUF_KEY may include multiple bits, and the multiple bits may each correspond to a multiple PUF cell in the PUF cell array 110. In an example embodiment, the number of bits included in the security key PUF_KEY may be different from the number of PUF cells included in the PUF cell array 110.
[0031] In the example embodiment, because multiple PUF units have different PVT variations, the polarity of the data from the PUF units may change due to various environmental factors (e.g., operating temperature, operating time, operating voltage). In this case, the bits determined about the PUF units may change, resulting in a decrease in the reliability of the security key PUF_KEY. To eliminate bit determination errors caused by various environmental factors, the controller 120 according to an embodiment of the present invention can remove unstable data from the obtained data to extract stable data, can generate a mapping table MT based on the extracted stable data, and can perform a bit determination operation based on the generated mapping table MT. Therefore, errors in the security key PUF_KEY can be reduced. How the controller 120 generates the mapping table MT and how it generates the security key PUF_KEY will be described more fully with reference to the following figures.
[0032] Figure 2 It shows Figure 1A block diagram of the controller 120 is provided below. For ease of description, data read from each of the plurality of PUF units is referred to as "raw data" or "sensor data." Raw data may indicate data read from each of the plurality of PUF units to generate a mapping table MT during the manufacturing process of the security device 100, and sensor data may indicate data read from the plurality of PUF units to generate a security key PUF_KEY after the manufacturing of the security device 100. However, these terms are used for ease of description of the technical concept of the invention, and the invention is not limited thereto. For ease of description, the terms "raw data" and "sensor data" may be used interchangeably.
[0033] Reference Figure 1 and Figure 2 The controller 120 may include a receiver 121, a mapping table generator 122, a PUF unit controller 123, a bit determiner 124, and a mapping table MT. For example, the receiver 121 may receive raw data RD from each of a plurality of PUF units. In an example embodiment, the raw data RD received from each of the plurality of PUF units may be a value in analog form (e.g., a mismatch value associated with a factor of each PUF unit). The receiver 121 may be an analog-to-digital converter (ADC) configured to convert the raw data RD from analog to digital form.
[0034] Receiver 121 can provide the converted raw data RD to map table generator 122 or bit determiner 124 according to the operating mode. For example, when security device 100 or controller 120 operates in a first operating mode, receiver 121 can provide the converted raw data RD to map table generator 122. Alternatively, when security device 100 or controller 120 operates in a second operating mode, receiver 121 can provide the converted raw data RD to bit determiner 124. In an example embodiment, the first operating mode may indicate an initialization mode or an operating mode for generating or updating map table MT, or it may indicate an operating mode performed during the manufacturing process of security device 100. The second operating mode may indicate an operating mode for generating security key PUF_KEY.
[0035] In the example embodiments, the operating modes of the security device 100 or controller 120 are examples used to clearly describe embodiments of the inventive concept, and the inventive concept is not limited thereto. For example, receiver 121 can provide the converted raw data RD to both bit determiner 124 and mapping table generator 122.
[0036] Mapping table generator 122 can receive raw data RD from receiver 121. Mapping table generator 122 can generate mapping table MT based on raw data RD.
[0037] For example, the mapping table generator 122 may include an extraction unit 122a and a mapping unit 122b. The extraction unit 122a may extract stable data from the raw data RD received from the receiver 121. Specifically, the extraction unit 122a may receive the raw data RD associated with each of the plurality of PUF units included in the PUF unit array 110. The extraction unit 122a may classify the plurality of PUF units into multiple groups based on the raw data RD. The extraction unit 122a may discard the PUF unit (or information about the PUF unit) corresponding to one of the multiple groups.
[0038] In the example embodiment, the PUF unit corresponding to a group to be discarded can be an unstable PUF unit. That is, information about the PUF unit corresponding to a group can indicate unstable data, while the remaining data can indicate stable data. Unstable data can indicate original data with a relatively high probability of polarity change due to various environmental factors, and stable data can indicate original data with a relatively low probability of polarity change due to various environmental factors. In other words, extraction unit 122a can extract stable data by discarding the unstable data of the obtained original data RD.
[0039] Mapping unit 122b can generate a mapping table MT based on the extracted stable data (i.e., the original data corresponding to PUF units not included in a group). In an example embodiment, the mapping table MT may include mapping information for two PUF units mapped according to a given rule. In an example embodiment, the given rule will be described more fully with reference to the following figures.
[0040] In an example embodiment, after the mapping table MT is stored in a separate storage circuit, the mapping table generator 122 may discard multiple original data.
[0041] In an example embodiment, a mapping table MT can be generated based on a plurality of PUF cells included in a PUF cell array 110, which is implemented by a semiconductor chip, a semiconductor die, or a semiconductor device.
[0042] The PUF unit controller 123 can output a control signal CTRL based on a mapping table MT to control each of the plurality of PUF units in the PUF unit array 110. For example, suppose the mapping table MT includes mapping information between a first PUF unit and a second PUF unit, and the first PUF unit is the target PUF unit. In this case, the PUF unit controller 123 can output the control signal CTRL such that two sensing data are obtained from the first PUF unit, which is the target PUF unit, and the second PUF unit corresponding to the target PUF unit, among the plurality of PUF units in the PUF unit array 110.
[0043] Two sensing data points corresponding to the first PUF unit and the second PUF unit can be received by the receiver 121, and the receiver 121 can provide these two sensing data points to the bit determiner 124. In an example embodiment, the receiver 121 can convert each of the two sensing data points into a digital signal, and can provide the digital signal to the bit determiner 124.
[0044] Bit determiner 124 can determine the target bit associated with the first PUF unit based on these two sensing data. For example, when the size (or value) of the sensing data corresponding to the first PUF unit, which is the target PUF unit, is greater than the size (or value) of the other sensing data, the value of the target bit associated with the first PUF unit can be determined as "bit 1"; when the size (or value) of the sensing data corresponding to the first PUF unit, which is the target PUF unit, is less than or equal to the size (or value) of the other sensing data, the value of the target bit associated with the first PUF unit can be determined as "bit 0".
[0045] Alternatively, the bit determiner 124 can generate determining data based on these two sensing data sets. For example, the bit determiner 124 can generate determining data by subtracting the sensing data corresponding to the second PUF unit from the sensing data corresponding to the first PUF unit. The bit determiner 124 can determine the value of the target bit associated with the first PUF unit based on the polarity of the determining data. However, the inventive concept is not limited thereto. For example, the bit determination method can be modified in various ways.
[0046] As described above, the security device 100 according to an embodiment of the present invention can generate a mapping table MT based on the original data associated with each of a plurality of PUF units. In this case, the security device 100 can extract stable data by discarding the original data (i.e., unstable data) corresponding to the PUF units included in the group from the original data RD. The security device 100 can generate a mapping table for the remaining PUF units not included in the group based on the extracted stable data, determine the target bit corresponding to each PUF unit by using the generated mapping table, and generate a security key PUF_KEY based on the determined target bit. Therefore, the reliability of the security key PUF_KEY generated by the security device 100 can be improved.
[0047] Figure 3 It shows Figure 1 The flowchart for the operation of safety device 100 is shown below. Figures 1 to 3 In operation S110, the safety device 100 can generate a mapping table MT based on the raw data RD of multiple PUF units. For example, the mapping table generator 122 can generate the mapping table MT based on the raw data obtained from multiple PUF units. (Refer to...) Figure 4 , Figure 5A , Figure 5B and Figure 5C A more comprehensive description of operation S110.
[0048] In operation S120, the security device 100 can use a mapping table MT to generate a PUF key. For example, the controller 120 can select a target PUF unit (e.g., a first PUF unit) from a plurality of PUF units. The controller 120 can control the PUF unit array 110 based on the mapping table MT, such that sensed data is read from the first PUF unit (which is the target PUF unit) and the second PUF unit mapped to the first PUF unit, respectively. The bit determiner 124 can determine the target bit corresponding to the first PUF unit (which is the target PUF unit) based on the two sensed data read from the first PUF unit and the second PUF unit. The controller 120 can determine a plurality of target bits by performing the above target bit determination operation on each of the plurality of PUF units, and can generate a security key PUF_KEY by combining the plurality of target bits determined thereby.
[0049] Figure 4 It shows Figure 3 The flowchart of operation S110 is shown. Figure 5A , Figure 5B and Figure 5C It is used to describe according to Figure 4The flowchart illustrates the operation of the process. For ease of description, it is assumed below that the PUF cell array 110 may include first PUF cells PUF001 to 256 PUF cells PUF256 (i.e., 256 PUF cells). Furthermore, the reference label for each PUF cell in the first PUF cells PUF001 to 256 PUF cells PUF256 may indicate the PUF cell, or may represent the PUF address PUF_ADDR indicating the physical location of the PUF cell. It is assumed that the first PUF cells PUF001 to 256 PUF cells PUF256 output different raw data RD according to their respective PVT changes.
[0050] For ease of description, reference will be made. Figure 1 The safety device 100 is described according to Figure 4 The flowchart describes the operation of the process. However, the inventive concept is not limited thereto. The operation of embodiments of the inventive concept can be performed by the safety device 100, the controller 120, or any other component.
[0051] Reference Figures 1 to 4 The safety device 100 can perform operations S111 to S115 to generate a mapping table MT. In operation S111, the safety device 100 can obtain raw data RD for each of the plurality of PUF units. For example, as described above, the receiver 121 of the controller 120 can receive raw data RD001 to RD256 respectively associated with the plurality of PUF units PUF001 to PUF256.
[0052] In detail, such as Figure 5A As shown, receiver 121 can receive raw data RD192 (192nd), raw data RD065 (65th), and raw data RD001 (65th) from first PUF unit PUF001, second PUF unit PUF002, and third PUF unit PUF003, respectively; it can receive raw data RD064 (64th), raw data RD129 (129th), and raw data RD256 (256th) from PUF unit PUF124 (124th), PUF unit PUF125 (125th), and PUF unit PUF126 (126th); and it can receive raw data RD128 (128th) and raw data RD193 (193rd) from PUF unit PUF256 (255th) and PUF unit PUF256, respectively. For simplicity, although... Figure 5A Only some PUF units are shown, but the inventive concept is not limited thereto. For example, receiver 121 can receive raw data RD about the remaining PUF units. In an example embodiment, the received raw data may be analog values, and receiver 121 may be configured to convert the analog values of the received raw data into digital values.
[0053] In an example embodiment, the mapping table generator 122 of the controller 120 can generate a mapping table based on the received raw data. Figure 5A The list LT shown may include the PUF cell addresses PUF_ADDR of multiple PUF cells and the original data values corresponding to the PUF cell addresses PUF_ADDR. In the example embodiment, for ease of description, the reference numerals of the original data may be listed in order of their size, but the inventive concept is not limited thereto. In the example embodiment, at least two original data values of at least two PUF cells may have the same value.
[0054] Refer again Figure 4 In operation S112, the safety device 100 can classify multiple PUF units into multiple groups based on raw data. For example, as Figure 5A As shown, the mapping table generator 122 of the controller 120 can sort the generated list LT according to the size order of the original data RD, and can generate a sorted list LT_s. The mapping table generator 122 can classify multiple PUF units PUF001 to PUF256 into multiple groups based on the sorted list LT_s and reference values.
[0055] In detail, such as Figure 5A As shown, multiple PUF units PUF001 to PUF256 can be classified into group 0 (GR0), group 1 (GR1), and group 2 (GR2) based on reference values “+a1” and “-a1”. For example, PUF units corresponding to raw data greater than or equal to the first positive reference value +a1 (e.g., RD001 to RD064) can be classified into group 1 (GR1). PUF units corresponding to raw data less than or equal to the first negative reference value -a1 (e.g., RD193 to RD256) can be classified into group 2 (GR2). PUF units corresponding to raw data less than the first positive reference value +a1 and greater than the first negative reference value -a1 (e.g., RD065 to RD192) can be classified into group 0 (GR0).
[0056] In this scenario, the PUF unit corresponding to group 0 (GR0) can be an unstable PUF unit, the PUF unit corresponding to group 1 (GR1) can be a first stable PUF unit, and the PUF unit corresponding to group 2 (GR2) can be a second stable PUF unit. In other words, the absolute value of each raw data read from the unstable PUF unit corresponding to group 0 (GR0) can be less than a reference value. In this case, an unstable PUF unit can indicate a PUF unit with a high probability that the sensed data can change due to various external or internal factors (e.g., temperature, operating time, operating voltage). That is, the sensed data read from an unstable PUF unit may have a high probability of including errors.
[0057] In example embodiments, the reference values +a1 and -a1 can be determined in various ways. For example, the reference values +a1 and -a1 can be determined based on the number of PUF units. That is, the first positive reference value +a1 can be determined such that the number of PUF units included in the first group GR1 is 25% of the total number of PUF units, and the first negative reference value -a1 can be determined such that the number of PUF units included in the second group GR2 is 25% of the total number of PUF units. In this case, the number of PUF units included in the 0th group GR0 can be 50% of the total number of PUF units. The above values are examples for the purpose of easily describing the technical concept of the inventive design, and the inventive design is not limited thereto.
[0058] In the example embodiment, reference values +a1 and -a1 can be determined based on the distance between the original data of the PUF units included in the first group GR1 and the original data of the PUF units included in the second group GR2. In the example embodiment, the reliability of the security key PUF_KEY generated from the security device 100 can be changed based on the reference values +a1 and -a1.
[0059] Refer again Figure 4 In operation S113, the safety device 100 can discard the PUF unit (or the original data of the PUF unit) corresponding to a specific group. For example, as Figure 5BAs shown, the mapping table generator 122 can generate a list LT_d (hereinafter referred to as the "discard list") by discarding information about a group (i.e., unstable data) from the sorted list LT_s. That is, the discard list LT_d can be generated by discarding information about the PUF units included in group 0 GR0 (i.e., unstable data) from the sorted list LT_s. In this case, the discard list LT_d can retain only information about the PUF units included in the first group GR1 and the second group GR2 (i.e., PUF addresses and original data). In other words, the discard list LT_d can include only the addresses and original data of the PUF units associated with stable data.
[0060] Refer again Figure 4 In the example embodiment, operations S112 and S113 can be performed by the extraction unit 122a of the mapping table generator 122 in the controller 120. That is, stable data can be extracted from the original data RD through operations S112 and S113.
[0061] In operation S114, the safety device 100 can perform mapping on the PUF unit based on the remaining original data (i.e., stable data). For example, as Figure 5B As shown, the discard list LT_d may include only information (e.g., stable data) about the PUF units (i.e., the first stable PUF unit and the second stable PUF unit) included in the first group GR1 and the second group GR2. The mapping table generator 122 may map the PUF units of the first group GR1 to the PUF units of the second group GR2 based on the discard list LT_d.
[0062] In detail, such as Figure 5B and Figure 5C As shown, the PUF cell with the largest original data (e.g., RD001) in the first group GR1 (e.g., PUF003) can be mapped to the PUF cell with the largest original data (e.g., RD193) in the second group GR2 (e.g., PUF256). Similarly, the PUF cell with the smallest original data (e.g., RD064) in the first group GR1 (e.g., PUF124) can be mapped to the PUF cell with the smallest original data (e.g., RD256) in the second group GR2 (e.g., PUF126). In other words, the PUF cells in the first group GR1 and the second group GR2 can be mapped in a 1:1 correspondence based on the size of the original data.
[0063] Refer again Figure 4In operation S115, the security device 100 can store a mapping table MT based on the mapping result. For example, the mapping table generator 122 can generate the mapping table MT through the above mapping operation. The mapping table MT may include mapping information of the PUF units included in the first group GR1 and the PUF units included in the second group GR2. Figure 5C As shown, the first index ID01 may include mapping information between the third PUF unit PUF003 of the first group GR1 and the 256th PUF unit PUF256 of the second group GR2, and the 64th index ID64 may include mapping information between the 124th PUF unit PUF124 of the first group GR1 and the 126th PUF unit PUF126 of the second group GR2. The generated mapping table MT can be stored in a separate storage circuit or non-volatile memory. In an example embodiment, the mapping table MT may not include information about the original data associated with the multiple PUF units respectively. For example, as Figure 5C As shown, the mapping table MT may include only physical address information about the PUF cells mapped in a 1:1 correspondence. In the example embodiment, the raw data RD read from multiple PUF cells can be discarded after the mapping table MT is generated.
[0064] Refer again Figure 4 In the example embodiment, it can be provided by Figure 2 The mapping unit 122b of the mapping table generator 122 in the controller 120 performs operations S114 and S115.
[0065] In an example embodiment, the PUF unit controller 123 can control the PUF unit array 110 based on a mapping table MT. For example, when it is necessary to determine the bit corresponding to the third PUF unit PUF003, the PUF unit controller 123 can select the third PUF unit PUF003 as the target PUF unit and control the PUF unit array 110 to read sensing data from the third PUF unit PUF003. Simultaneously, the PUF unit controller 123 can control the PUF unit array 110 based on the mapping table MT to read sensing data from the 256th PUF unit PUF256 mapped to the third PUF unit PUF003.
[0066] Two sets of sensing data read from the third PUF unit PUF003, which is the target PUF unit, and the second PUF unit PUF256, which is mapped to the target PUF unit, can be provided to the bit determiner 124. The bit determiner 124 can determine the determination data associated with the third PUF unit PUF003, which is the target PUF unit, based on the two sets of sensing data. For example, the determination data associated with the third PUF unit PUF003 can be obtained by subtracting the sensing data of the second PUF unit PUF256 from the sensing data of the third PUF unit PUF003. The bit determiner 124 can determine the value of the target bit of the third PUF unit PUF003 based on the determination data associated with the third PUF unit PUF003.
[0067] In the example embodiment, due to various environmental factors, the values of the two sensing data read from the third PUF unit PUF003 and the 256th PUF unit PUF256 may differ from the original data RD001 and original data RD193 mentioned to describe the mapping process. However, since the determined data is generated based on the sensing data from the two PUF units according to the conditional mapping, and the target bit associated with the PUF unit is determined by using the generated determined data, changes in the target bit value due to various environmental factors (i.e., errors) can be reduced.
[0068] In example embodiments, the number of indices in the mapping table MT can be varied or modified according to the manner in which embodiments of the inventive concept are implemented. For example, when the total number of PUF cells included in the PUF cell array 110 is “n” (n is a positive integer) and the number of discarded PUF cells is “k” (k is a positive integer less than “n”), the number of indices in the mapping table MT can be “(nk) / 2”. That is, the number of errors in the security device 100 can be reduced by using a low-capacity mapping table MT.
[0069] Reference Figures 5A to 5C The method or process for generating the described mapping table may be an example of an embodiment that is easy to describe the inventive concept, and the inventive concept is not limited thereto.
[0070] Figure 6A It shows the relationship with the source Figure 1 A graph showing the distribution of the raw data of multiple PUF cells in the PUF cell array 110. Figure 6B It shows including data from Figure 6A The distribution of the data processed is shown in a graph in an example embodiment. Figure 6A and Figure 6B In the diagram, the horizontal axis represents the size of the original data, and the vertical axis represents the number of PUF cells.
[0071] In an example embodiment, the raw data (or sensed data) obtained from multiple PUF units may have a distribution. For example, the raw data (or sensed data) obtained from multiple PUF units may have a normally distributed or Gaussian distribution that is relatively symmetrical about both sides with respect to a reference point (e.g., "0"). However, the inventive concept is not limited to this. That is, the raw data (or sensed data) of the right PUF unit relative to the reference point "0" may have a positive value or positive polarity, and the raw data (or sensed data) of the left PUF unit relative to the reference point "0" may have a negative value or negative polarity.
[0072] The value of the target bit in the PUF unit can be determined based on the polarity of the sensed data from the PUF unit. However, the value of the sensed data may vary depending on various environmental factors (e.g., temperature, operating time, operating voltage). In this case, the polarity of the sensed data adjacent to the reference point "0" may change depending on various environmental factors. In this situation, unintended bits may appear due to changes in the values of the sensed data, leading to an increase in the number of errors occurring in the safety device.
[0073] The safety device 100, according to an embodiment of the present invention, can classify multiple PUF units into multiple groups based on reference values. For example, the safety device 100 can obtain raw data RD from multiple PUF units. The raw data RD may have... Figure 6A The first distribution DB1 is shown in the example embodiment. Ideally, the first distribution DB1 could be a normal distribution or a Gaussian distribution, but the inventive concept is not limited thereto.
[0074] In the first distribution DB1, the safety device 100 can classify PUF units corresponding to original data that are greater than or equal to the first positive reference value +a1 into the first group GR1, classify PUF units corresponding to original data that are less than or equal to the first negative reference value -a1 into the second group GR2, and classify PUF units corresponding to original data that are less than the first positive reference value +a1 and greater than the first negative reference value -a1 into the 0th group GR0.
[0075] As described above, the sensing data read from the PUF units included in the first group GR1 can have a positive polarity. In this case, because the sensing data corresponding to the PUF units included in the first group GR1 is relatively far from the reference point "0", the possibility of the polarity changing due to various environmental factors is likely low. Similarly, because the sensing data corresponding to the PUF units included in the second group GR2 has a negative polarity and is relatively far from the reference point "0", the possibility of the polarity changing due to various environmental factors is likely low. In other words, the PUF units included in the first group GR1 and the second group GR2 can be stable PUF units.
[0076] In contrast, the sensing data read from the PUF units included in group 0 of GR0 can have either positive or negative polarity. In this case, because the sensing data read from the PUF units included in group 0 of GR0 is relatively close to the reference point "0" (in other words, because the absolute value of the sensing data is relatively small), the polarity may be more likely to change due to various environmental factors. That is, the PUF units included in group 0 of GR0 can be unstable PUF units.
[0077] According to an embodiment of the present invention, the security device 100 can be configured to generate a mapping table by discarding the original data corresponding to the PUF units (i.e., unstable PUF units) included in the 0th group GRO of the first distribution DB1 and mapping the remaining original data. In other words, the security device 100 can generate the mapping table based on the original data (i.e., stable data) corresponding to the stable PUF units. By generating the PUF key (or security key PUF_KEY) using the mapping table generated based on the stable PUF units, the effective margin between polarities can be increased, thereby improving the reliability of the security device 100.
[0078] For example, such as Figure 6B As shown, when the original data corresponding to the PUF units (i.e., unstable PUF units) included in group 0 GR0 are discarded from the first distribution DB1, the remaining original data (i.e., stable data) may have a second distribution DB2. In the example embodiment, the second distribution DB2 may be a bimodal distribution. In this case, the effective margin between the original data existing on opposite sides of the reference point "0" may be 2a1 (=+a1-(-a1)).
[0079] In contrast, the deterministic data generated using a mapping table MT produced according to an embodiment of the present invention can have a third distribution DB3. For example, the deterministic data generated using the mapping table MT can be data generated based on sensing data of the target PUF unit and sensing data of another PUF unit mapped to the target PUF unit. This has already been described above, and therefore additional descriptions will be omitted to avoid redundancy. In an example embodiment, the third distribution DB3 can be a bimodal distribution. In the third distribution DB3, the effective margin between the data corresponding to each polarity can be 2a2 (=+a2-(-a2)). In this case, the absolute value of “a2” can be greater than the absolute value of “a1”.
[0080] In other words, the security device 100 according to an embodiment of the present invention can classify multiple PUF units into multiple groups based on the original data and reference values of multiple PUF units, and can discard PUF units (or the original data corresponding to the PUF units) included in a group of multiple groups. Additionally, the security device 100 can extract stable data based on the original data and reference values of multiple PUF units. The security device 100 can generate a mapping table MT by mapping the remaining PUF units (i.e., stable PUF units) based on the original data that was not discarded or the extracted stable data. The security device 100 can determine the target bits of the multiple PUF units (i.e., stable PUF units) using the generated mapping table MT, and can generate a security key PUF_KEY by combining the determined target bits. In this case, as described above, the effective margin between polarities can be increased, and therefore the error rate of the target bits can be reduced. Therefore, the reliability of the security device 100 can be improved. Furthermore, since the security device 100 maintains a low-capacity mapping table, increased costs due to separate circuitry for storing the mapping table can be prevented.
[0081] Figure 7 It shows Figure 1 A flowchart of the operation of the safety device 100 is provided. In the example embodiment, the safety device 100 will be described with reference to the flowchart. Figure 7 The flowchart is shown, but the inventive concept is not limited thereto. For example, Figure 7 The flowchart can be executed by various other components.
[0082] Reference Figure 1 , Figure 2 and Figure 7 In operation S211, the security device 100 can read raw data from each of the plurality of PUF units. In an example embodiment, the raw data read from the plurality of PUF units in operation S211 may have a first distribution DB1 (refer to...). Figure 6AIn the example embodiment, ideally, the first distribution DB1 can be a normal distribution or a Gaussian distribution, but the inventive concept is not limited thereto.
[0083] In operation S212, the safety device 100 can extract stable data by discarding unstable data from the read raw data. For example, the safety device 100 can classify multiple PUF units into multiple groups GR0, GR1, and GR2, such as... Figure 6A As shown. The safety device 100 can discard the original data corresponding to PUF units (or unstable PUF units) included in one of the multiple groups GR0, GR1, and GR2 (e.g., group 0 GR0) from the first distribution DB1. In this case, only the original data corresponding to the PUF units (i.e., stable PUF units) included in the first group GR1 and the second group GR2 can be retained, and the distribution of the remaining original data can be... Figure 6B The second distribution DB2 is the same.
[0084] In operation S213, the safety device 100 can generate a mapping table MT based on stable data. For example, the safety device 100 can map the PUF cells of the first group GR1 and the second group GR2 in the second distribution DB2, such as... Figure 6B As shown above, additional descriptions will be omitted to avoid redundancy. The security device 100 can store the mapping results as a mapping table MT.
[0085] In an example embodiment, the security device 100 can determine the target bits of multiple PUF units by using the generated mapping table MT, and can generate a security key PUF_KEY based on the determined target bits. The configuration for determining the target bits and generating the security key PUF_KEY using the mapping table MT has been described above; therefore, additional descriptions will be omitted to avoid redundancy.
[0086] Figure 8 It is used to describe Figure 1 A graph showing the operation of safety device 100. Figure 8 In the diagram, the horizontal axis represents the size of the raw data in each of the multiple PUF units, and the vertical axis represents the number of PUF units.
[0087] Reference Figure 1 , Figure 2 and Figure 8 The safety device 100 can read multiple raw data from multiple PUF units. The distribution of the raw data can be consistent with... Figure 8 The first distribution DB1 is the same. Ideally, the first distribution DB1 can be a normal distribution or a Gaussian distribution, but the present invention is not limited to this.
[0088] In reference Figures 1 to 7 In the described embodiment, the multiple PUF units are classified into three groups: GR0, GR1, and GR2. However, the inventive concept is not limited thereto.
[0089] Safety device 100 can classify multiple PUF units into multiple groups based on multiple reference values. Specifically, as... Figure 8 As shown, multiple PUF units can be classified into five groups, GR0, GR11, GR12, GR21, and GR22, based on four reference values: -a2, -a1, +a1, and +a2. PUF units whose original data is greater than the second positive reference value +a2 can be included in group G12; PUF units whose original data is less than the second positive reference value +a2 but greater than the first positive reference value +a1 can be included in group G11; PUF units whose original data is less than the second negative reference value -a2 can be included in group G22; and PUF units whose original data is greater than the second negative reference value -a2 but less than the first negative reference value -a1 can be included in group G21. PUF units whose original data is greater than the first negative reference value -a1 but less than the first positive reference value +a1 can be included in group GR0.
[0090] As described above, the PUF units included in group GR0 may be unstable PUF units, and the original data corresponding to the unstable PUF units may be discarded. Then, the security device 100 may generate a mapping table MT based on the remaining original data. In this case, PUF units in group GR12 may be mapped to PUF units in group GR21, and PUF units in group GR11 may be mapped to PUF units in group GR22.
[0091] For example, the raw data of the PUF cells in group GR12 can be further away from the reference point "0" than the raw data of the PUF cells in group GR11. That is, the probability of errors occurring in the PUF cells of group GR12 due to various factors is lower than the probability of errors occurring in the PUF cells of group GR11 due to various factors. In other words, although all PUF cells in groups GR12 and GR11 can be positive, the PUF cells of group GR12 can be more stable than those of group GR11.
[0092] Similarly, the raw data of the PUF cells in group GR22 is further away from the reference point "0" than the raw data of the PUF cells in group GR21. That is to say, although all PUF cells in groups GR22 and GR21 can have negative polarity, the PUF cells in group GR22 can be more stable than the PUF cells in group GR21.
[0093] In this scenario, the PUF cells of the relatively more stable and positive-polarity group GR12 can be mapped to the PUF cells of the relatively less stable and negative-polarity group GR21; similarly, the PUF cells of the relatively more stable and negative-polarity group GR22 can be mapped to the PUF cells of the relatively less stable and positive-polarity group GR11. Therefore, the overall reliability of the security key PUF_KEY generated by the security device 100 can be improved.
[0094] Figure 9 A description is shown Figure 1 A graph illustrating the operation of safety device 100. For ease of description, additional descriptions associated with the aforementioned components will be omitted to avoid redundancy.
[0095] Reference Figure 1 , Figure 2 and Figure 9 The security device 100 can read the raw data having a first distribution DB1. Then, the security device 100 can extract stable data having a second distribution DB2 by discarding unstable data from the first distribution DB1. For example, unstable data can be data in the raw data that has a value greater than a first negative reference value -a1 and less than a first positive reference value +a1. Alternatively, unstable data can be data corresponding to a PUF unit included in one of a group (e.g., GRO) of multiple groups classified by the security device 100. This has already been described above; therefore, additional descriptions will be omitted to avoid redundancy.
[0096] Stable data, excluding unstable data, can have Figure 9 The second distribution DB2 is shown in the figure. (See reference...) Figure 6B In the given description, the second distribution DB2 can be classified into a first group GR1 and a second group GR2. As described above, the security device 100 can generate a first mapping table MT1 by mapping the PUF units of the first group GR1 to the PUF units of the second group GR2.
[0097] The security device 100 can generate deterministic data using a first mapping table MT1 generated based on a second distribution DB2. In an example embodiment, the deterministic data can indicate the difference between two raw data read from two PUF units according to mapping information based on the first mapping table MT1.
[0098] The data determined based on the first mapping table MT1 can have Figure 9The diagram shows the third distribution DB3. The third distribution DB3 can be classified into groups MP11 and MP12. Data corresponding to group MP11 can have positive polarity, and data corresponding to group MP12 can have negative polarity. The interval between groups MP11 and MP12 can reach 2a2 (=+a2-(-a2)) (where the absolute value of "a2" is greater than the absolute value of "a1"). That is, the effective margin of definite data with the third distribution DB3 can reach "2a2".
[0099] Then, security device 100 can generate a second mapping table MT2 by mapping the deterministic data of groups MP11 and MP12 in the third distribution DB3. Security device 100 can generate deterministic data using the second mapping table MT2 generated based on the third distribution DB3. The deterministic data based on the second mapping table MT2 can have… Figure 9 The fourth distribution DB4 is shown. The fourth distribution DB4 can be classified into groups MP21 and MP22, and the interval between groups MP21 and MP22 can reach 2a3 (=+a3-(-a3)) (where the absolute value of "a3" is greater than the absolute value of "a2"). That is, the effective margin of definite data with the fourth distribution DB4 can reach "2a3".
[0100] refer to Figure 9 An embodiment of performing two mapping operations has been described, but the inventive concept is not limited thereto. For example, a security device 100 according to an embodiment of the inventive concept can repeatedly perform the mapping operation "i" times (i is a positive integer) to obtain the desired effective margin.
[0101] As described above, the security device 100 according to an embodiment of the present invention can obtain multiple raw data from a PUF cell array 110 and can discard unstable data in the obtained raw data. The validity margin of the determination data can then be expanded by repeatedly performing mapping operations on the remaining raw data.
[0102] Figure 10 It shows Figure 1 The flowchart for the operation of safety device 100 will be provided. (Refer to...) Figure 10 Description based on reference Figures 1 to 9 The described mapping table determines the operation of the target bit. For ease of description, it is assumed that during the execution based on... Figure 10 Before the operation of the flowchart, the safety device 100 includes a reference-based... Figures 1 to 9 The mapping table MT is generated by the method described.
[0103] Reference Figure 1 and Figure 10In operation S310, the safety device 100 can select a target PUF unit from a plurality of PUF units. For example, the controller 120 of the safety device 100 can select a target PUF unit from a plurality of PUF units to perform a bit determination operation for each of the plurality of PUF units. In an example embodiment, the target PUF unit may be a stable PUF unit as described above (e.g., Figure 6A The PUF units included in the first group GR1 or the second group GR2). In the example embodiment, the unstable PUF units of multiple PUF units (e.g., Figure 6A The PUF units included in group 0 of GR0 may not be selected as target PUF units. In the example embodiment, the operation of selecting a target PUF unit can be performed by the PUF unit controller 123 of controller 120 (see reference 123). Figure 2 ) to execute.
[0104] In operation S320, the safety device 100 can select an auxiliary PUF unit corresponding to the target PUF unit based on a mapping table MT. For example, as described above, the controller 120 of the safety device 100 may include a mapping table MT, which includes mapping information between stable PUF units. The controller 120 can select a PUF unit mapped to the target PUF unit as an auxiliary PUF unit based on the mapping table MT. In an example embodiment, the operation of selecting an auxiliary PUF unit can be performed through the PUF unit controller 123 of the controller 120 (see reference 123). Figure 2 ) to execute.
[0105] In operation S330, the safety device 100 can read sensing data from the target PUF unit (referred to as "target sensing data SDt" for ease of description) and can read sensing data from the auxiliary PUF unit (referred to as "auxiliary sensing data SDa" for ease of description). For example, the controller 120 of the safety device 100 can send a control signal CTRL to the PUF unit array 110, and the PUF unit array 110 can provide the controller 120 with the target sensing data SDt of the target PUF unit and the auxiliary sensing data SDa of the auxiliary PUF unit in response to the control signal CTRL.
[0106] In operation S340, the safety device 100 can compare the magnitude of the target sensing data SDt with the magnitude of the auxiliary sensing data SDa. When the magnitude of the target sensing data SDt is greater than the magnitude of the auxiliary sensing data SDa, in operation S350, the safety device 100 can determine the target bit of the target PUF unit as the first value (e.g., "bit 1"). When the magnitude of the target sensing data SDt is not greater than the magnitude of the auxiliary sensing data SDa, in operation S360, the safety device 100 can determine the target bit of the target PUF unit as the second value (e.g., "bit 0").
[0107] For example, in Figure 6A In the distribution shown, if the target PUF unit is included in the first group GR1, the auxiliary PUF unit can be included in the second group GR2. That is, the size of the target sensing data SDt read from the target PUF unit in the first group GR1 can be greater than the size of the auxiliary sensing data SDa read from the auxiliary PUF unit in the second group GR2. In this case, it can be determined that the target PUF unit has a positive polarity; therefore, the target bit of the target PUF unit can be determined as the first value.
[0108] In contrast, Figure 6A In the distribution shown, when the target PUF unit is included in the second group GR2, the auxiliary PUF unit can be included in the first group GR1, and the size of the target sensing data SDt can be no greater than the size of the auxiliary sensing data SDa. In this case, it can be determined that the target PUF unit has a negative polarity; therefore, the target bit of the target PUF unit can be determined as the second bit value.
[0109] In other words, as mentioned above, since the target bit of the target PUF unit is determined based on auxiliary sensing data read from an auxiliary PUF unit that is logically spaced from the target PUF unit, the error of the target bit can be reduced.
[0110] In an example embodiment, the security device 100 can determine the target bit associated with each of the plurality of PUF units by repeatedly performing the above operations. The security device 100 can generate a security key PUF_KEY based on the determined target bit. In an example embodiment, the target PUF unit selected in the security device 100 can be a stable PUF unit among the plurality of PUF units, and the number of target PUF units can be less than the number of the plurality of PUF units.
[0111] As described above, the security device 100 according to an embodiment of the present invention can discard unstable data from raw data read from multiple PUF cells and can generate a mapping table MT based on the remaining raw data. The security device 100 can determine the target bit of the target PUF cell based on the thus generated mapping table MT. Therefore, a security device with improved reliability is provided.
[0112] Figure 11 This is a block diagram illustrating an electronic system 1000 applying a safety device according to an embodiment. (Refer to...) Figure 11 The electronic system 1000 may include a host 1100 and a security device 1200. The electronic system 1000 may be an electronic device such as a portable communication terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a smartphone, a digital camera, or a wearable device.
[0113] The host 1100 can be configured to control the security device 1200. The security device 1200 may include a PUF unit array 1210 and can be configured to operate under the control of the host 1100. In an example embodiment, the security device 1200 may be a smart card such as an IC card or a chip card, or may be a separately provided hardware component for generating a security key.
[0114] For example, host 1100 can receive a device identifier ID from security device 1200. Host 1100 can send a challenge to security device 1200 based on the received device identifier ID. Security device 1200 can send a response to host 1100 in response to the challenge from host 1100. In an example embodiment, the response may be a reference... Figures 1 to 10 The security key PUF_KEY is described. That is, the security device 1200 can obtain data based on an inquiry from the host 1100 from multiple PUF units included in the PUF unit array 1210, can generate a response (i.e., the PUF key) based on the obtained data, and can send the response to the host 1100. In the example embodiment, the security device 1200 can be based on a reference... Figures 1 to 9 The described method generates a mapping table MT, and a PUF key can be generated using the generated mapping table MT.
[0115] The host 1100 can perform authentication operations on the security device 1200 or any other device based on the received response.
[0116] According to an embodiment of the present invention, the security device includes a plurality of Physically Unclonable Function (PUF) units, a receiver that receives a plurality of raw data from the plurality of PUF units, a mapping table generator that discards unstable data from the plurality of raw data to extract stable data and maps it to a stable PUF unit among the plurality of PUF units corresponding to the extracted stable data to generate a mapping table, a storage circuit that stores the mapping table, a PUF unit controller that controls the stable PUF units based on the mapping table, and a bit determiner that outputs a security key corresponding to the stable PUF unit based on the mapping table.
[0117] In an example embodiment, the multiple raw data include mismatch information determined based on at least one physical characteristic of each of the multiple PUF cells.
[0118] In the example embodiment, unstable data is the original data among a plurality of original data that is greater than a first negative reference value and less than a first positive reference value.
[0119] In the example embodiment, the first stable PUF unit of the stable PUF unit corresponds to the original data that is greater than or equal to the first positive reference value, and the second stable PUF unit of the stable PUF unit corresponds to the original data that is less than or equal to the first negative reference value.
[0120] In an example embodiment, the mapping table generator generates a mapping table by mapping the first stable PUF unit and the second stable PUF unit in a 1:1 correspondence.
[0121] In an example embodiment, the mapping table includes mapping information between a first stable PUF unit in the first stable PUF unit and a second stable PUF unit in the second stable PUF unit, and the bit determiner generates first determined data based on first raw data from the first stable PUF unit and second raw data from the second stable PUF unit, and determines the bit value of the first stable PUF unit based on the polarity of the first determined data.
[0122] According to an embodiment of the present invention, a method for operating a security device comprising a plurality of physically unclonable function (PUF) units includes: obtaining a plurality of raw data from the plurality of PUF units; extracting stable data by discarding unstable data from the plurality of raw data; generating a mapping table based on the extracted stable data; generating deterministic data associated with a stable PUF unit among the plurality of PUF units corresponding to the stable data based on the mapping table; and generating a security key corresponding to the stable PUF unit based on the deterministic data.
[0123] In the example embodiment, multiple original data have a first distribution, extracted stable data have a second distribution, and determined data have a third distribution.
[0124] In the example embodiment, the first distribution is a normal distribution, the second and third distributions are both bimodal distributions, and the effective margin of the third distribution is greater than that of the second distribution.
[0125] In the example embodiment, unstable data is the original data among multiple original data that is greater than the first negative reference value and less than the first positive reference value, and the effective margin of the second distribution is twice that of the first positive reference value, and the effective margin of the third distribution is greater than that of the second distribution.
[0126] According to embodiments of the present invention, a security device can discard raw data (e.g., raw data corresponding to unstable PUF units or unstable data) from raw data obtained from multiple PUF units, and can generate a mapping table for PUF units based on the remaining raw data. The security device can extend the effective margin for determining PUF keys by generating PUF keys using the generated mapping table. Therefore, a security device including PUF units with improved reliability and a method of operation thereof are provided.
[0127] As is customary in the field of this invention, embodiments are described and illustrated in the accompanying drawings according to functional blocks, units, and / or modules. Those skilled in the art will understand that these blocks, units, and / or modules are physically implemented by electronic (or optical) circuitry (such as logic circuits, discrete components, microprocessors, hardwired circuits, storage elements, wiring connections, etc.), which can be formed using semiconductor-based manufacturing techniques or other manufacturing techniques. In the case of blocks, units, and / or modules implemented by microprocessors or similar devices, they can be programmed using software (e.g., microcode) to perform the various functions discussed herein, and can optionally be driven by firmware and / or software. Alternatively, each block, unit, and / or module can be implemented by dedicated hardware, or can be implemented as a combination of dedicated hardware for performing certain functions and processors (e.g., one or more programmable microprocessors and associated circuitry) for performing other functions. Furthermore, without departing from the scope of this invention, each block, unit, and / or module of the embodiments can be physically divided into two or more interacting and discrete blocks, units, and / or modules. Furthermore, without departing from the scope of the inventive concept, the blocks, units, and / or modules of the embodiments can be physically combined into more complex blocks, units, and / or modules.
[0128] Although the inventive concept has been described with reference to exemplary embodiments thereof, it will be apparent to those skilled in the art that various changes and modifications may be made thereto without departing from the spirit and scope of the inventive concept as set forth in the appended claims.
Claims
1. A safety device, comprising: A physically unclonable function cell array, wherein the physically unclonable function cell array comprises multiple physically unclonable function cells; as well as A controller configured to control the physically non-clonable function cell array to generate a secure key, and comprising: A receiver configured to receive raw data from the plurality of physically non-clonable function units; A mapping table generator is configured to: extract stable data from the received raw data by discarding unstable data in the received raw data; and generate a mapping table based on the stable physical non-cloning function units among the plurality of physical non-cloning function units that correspond to the extracted stable data. A storage circuit configured to store the mapping table; A physically non-cloning function unit controller, configured to read sensed data from the stable physically non-cloning function unit based on the generated mapping table; and A bit determiner, configured to generate the security key based on the read sensed data. The sensing data includes target sensing data and auxiliary sensing data, and The physically non-clonable function unit controller is further configured as follows: Select a target physical non-cloning function unit from the stable physical non-cloning function units; Based on the mapping table, an auxiliary physical non-cloning function unit corresponding to the selected target physical non-cloning function unit is selected from the stable physical non-cloning function unit; and The array of physically unclonable function cells is controlled such that target sensing data is read from the selected target physically unclonable function cell, and auxiliary sensing data is read from the selected auxiliary physically unclonable function cell.
2. The safety device according to claim 1, wherein, The raw data includes mismatch information determined based on the physical characteristics of each of the plurality of physically non-clonable function units.
3. The safety device according to claim 1, wherein, The stable data includes first stable data and second stable data. Wherein, the first value of the first stable data is greater than or equal to the first positive reference value. Wherein, the second value of the second stable data is less than or equal to the first negative reference value. Wherein, the third value of the unstable data is less than the first positive reference value and greater than the first negative reference value, and The mapping table generator is further configured to generate the mapping table by mapping the first stable physical non-cloning function unit corresponding to the first stable data in the stable physical non-cloning function unit to the second stable physical non-cloning function unit corresponding to the second stable data in the stable physical non-cloning function unit in a 1:1 correspondence.
4. The safety device according to claim 3, wherein, The mapping table includes the physical address information of each of the first stable physical no-cloning function unit and the second stable physical no-cloning function unit mapped in the 1:1 correspondence, and does not include the received raw data. The mapping table generator is further configured to discard the received raw data after the generated mapping table is stored in the storage circuit.
5. The safety device according to claim 1, wherein, The bit determiner is further configured to: The target sensing data read is compared with the auxiliary sensing data read; and Based on the results of the comparison, the target bit value of the target physical non-clonable function unit is determined.
6. The safety device according to claim 5, wherein, The bit determiner is further configured to: Based on the fact that the first value of the target sensing data read is greater than the second value of the auxiliary sensing data read, the target bit value is determined as the first bit value; as well as Based on the fact that the first value of the target sensing data read is less than or equal to the second value of the auxiliary sensing data read, the target bit value is determined to be a second bit value that is different from the first bit value.
7. A method of operating a security device comprising a plurality of physically unclonable function units, the method comprising: Read raw data from the plurality of physically unclonable function units; Stable data is extracted from the read raw data by discarding unstable data in the raw data. A mapping table is generated by mapping the stable physical non-cloning function units corresponding to the extracted stable data; Select a target physically unclonable function unit from the plurality of physically unclonable function units; Based on the mapping table, an auxiliary physical non-cloning function unit corresponding to the selected target physical non-cloning function unit is selected from the stable physical non-cloning function unit; Read target sensing data from the selected target physically unclonable function unit; Read auxiliary sensing data from the selected auxiliary physical non-cloning function unit; as well as The target bit value of the target physical non-cloning function unit is determined based on the read target sensing data and the read auxiliary sensing data.
8. The operating method according to claim 7, wherein, The raw data includes mismatch information determined based on the physical characteristics of each of the plurality of physically non-clonable function units.
9. The operating method according to claim 7, wherein, The value of the stable data is less than the first negative reference value or greater than the first positive reference value.
10. The operating method according to claim 7, wherein, The value of the unstable data is less than the first positive reference value and greater than the first negative reference value.
11. The operating method according to claim 7, wherein, Determining the target bit value includes: Determine whether the first value of the target sensing data read is greater than the second value of the auxiliary sensing data read; Based on the fact that the first value of the read target sensing data is determined to be greater than the second value of the read auxiliary sensing data, the target bit value is determined as the first bit value; and The first value of the target sensing data read is determined to be less than or equal to the second value of the auxiliary sensing data read, and the target bit value is determined to be a second bit value different from the first bit value.
12. The operating method according to claim 7, wherein, The target physical non-cloning function unit is selected from the stable physical non-cloning function unit.
13. The operating method according to claim 7, wherein, Generating the mapping table includes: The stable physical non-cloning function units are classified into a first group and a second group; and Generate the mapping table to include information from the first group that is mapped to the second group in a 1:1 correspondence.
14. The operating method according to claim 13, wherein, The mapping table does not include the received raw data.
15. A method of operating a security device comprising a plurality of physically unclonable function units, the method comprising: Read raw data from the plurality of physically unclonable function units; Stable data is extracted from the read raw data by discarding unstable data in the raw data. A mapping table is generated based on the extracted stable data; Based on the generated mapping table, sensed data is read from the stable physical non-cloning function unit corresponding to the extracted stable data among the plurality of physical non-cloning function units; Deterministic data is generated based on the read sensing data; as well as A security key is generated based on the determined data. Wherein, the original data has a first distribution, the stable data has a second distribution different from the first distribution, and the determined data has a third distribution different from both the first and second distributions. The sensing data includes target sensing data and auxiliary sensing data, and The target sensing data is read from the target's physically non-cloning function unit. The auxiliary sensing data is read from the auxiliary physical non-cloning function unit corresponding to the target physical non-cloning function unit. Wherein, the target physically non-cloning function unit is selected from the stable physically non-cloning function unit, and The auxiliary physical non-cloning function unit is selected from the stable physical non-cloning function unit based on the generated mapping table.
16. The operating method according to claim 15, wherein, The first distribution of the original data is a normal distribution, and The second distribution and the third distribution are bimodal distributions with different effective margins.
17. The operating method according to claim 16, wherein, The first effective margin of the third distribution is greater than the second effective margin of the second distribution.
18. The operating method according to claim 15, wherein, Generating the security key includes: From the determined data, determine the first value corresponding to the first data with positive polarity, so that it has the first value; From the determined data, determine a second bit value corresponding to the second data with negative polarity, so as to have a second value; and The determined first bit value and the determined second bit value are combined to generate the security key.
19. The operating method according to claim 15, further comprising: After storing the mapping table, the original data that has been read is discarded.
Citation Information
Patent Citations
Liquid crystal panel, and image display device
KR1020190053945A
Cleaning device for drain
KR1020190095660A
SRAM-based authentication circuit
US20180102907A1
Physically unclonable function and helper data indicating unstable bits
US9584329B1