Secure parameter generation system and method based on sram puf
By designing a SRAMPUF-based safety parameter generation system, the problems of unstable SRAMPUF response and lack of evaluation standards are solved, achieving stability and reliability in complex environments, and supporting diverse safety applications and the commercialization of power terminal products.
Patent Information
- Application Number
- CN202410843760.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-27
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2044-06-27
AI Technical Summary
The SRAM PUF's response is not stable enough, and there are differences in multiple reads, which affects its reliability. Furthermore, the lack of a unified testing and evaluation standard has resulted in its limited deployment and maturity in practical applications.
A security parameter generation system based on SRAMPUF was designed, including an entropy source acquisition layer, an algorithm implementation layer, a configuration management layer, and a functional service layer. Through algorithms such as stable feature search, state data preprocessing, and adaptive error correction coding, the stability and reliability of SRAMPUF in complex environments are improved, and a hierarchical and modular security parameter generation service is provided.
It achieves stable and reliable generation of security parameters in complex and ever-changing environments, improves the adaptability and repeatability of SRAM PUF, supports diverse security applications, meets the needs of power terminal productization and standardization, and enhances the collaborative application capabilities of key generation and updating.
Smart Images

Figure CN118784242B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of data security, and in particular to a secure parameter generation system and method based on SRAM PUF. BACKGROUND
[0002] Key, random number, trusted root and other parameter security are the core of ensuring terminal data security. The multi-element heterogeneity of power intelligent terminals leads to problems such as difficulty in unifying trust roots, weak trust transmission, and trust root solidification, which has long restricted the terminal cross-platform trust and the dynamic update capability of security parameters, and has also caused a lot of management overhead in the process of security parameter transmission and application. SRAM PUF uses the slight differences introduced in the manufacturing process to generate a unique "fingerprint". This physical characteristic makes it impossible to be copied or imitated, making it more secure and reliable than traditional security parameters such as keys and trusted roots. At the same time, due to its portability and economy, SRAM PUF has excellent portability and economy, and has great advantages in industrial application.
[0003] However, due to the influence of environmental factors such as temperature and voltage on the response of SRAM PUF, the extracted PUF response is not stable enough, and the difference in multiple readings will affect the reliability of SRAM PUF, so it is urgent to improve the stability and repeatability of SRAM PUF. In addition, although SRAM PUF can provide a variety of root security parameters, there is still a lack of complete and generalizable root security system in practice, and the deployment of SRAM PUF in actual products is still not widespread and mature, lacking a unified test evaluation standard, and different SRAM PUF implementation schemes are difficult to compare directly, making it difficult for application developers to judge the actual performance of PUF. SUMMARY
[0004] To solve the above problems, the purpose of the present application is to provide a secure parameter generation method based on SRAM PUF, which realizes the stable and reliable generation of SRAM PUF root security parameters in a large temperature / humidity span, high electromagnetic radiation, and extremely harsh environment through stable feature search and state data preprocessing, and improves the ability of SRAM-PUF SPG to adapt to complex and variable environments.
[0005] To achieve the above purpose, the present application adopts the following technical solutions:
[0006] A secure parameter generation system based on SRAM PUF, characterized by comprising an entropy source acquisition layer, an algorithm implementation layer, a configuration management layer, and a function service layer.
[0007] The entropy source acquisition layer is responsible for extracting randomness information from the SRAM as the entropy source of the PUF security parameter; in addition, considering factors such as storage overhead and time overhead, an exclusive SRAM PUF mode is adopted to generate high-security parameters including a root key, a key derivation seed, a trusted measurement key and authentication CRPs, a non-exclusive SRAM PUF is adopted to generate security parameters including a true random number and a terminal unique identifier, and SRAM is allocated according to the parameter usage frequency and parameter length requirement;
[0008] The algorithm implementation layer converts the extracted entropy source information into random data, key data and unique identifiers after preprocessing such as filtering, equalization and quantization, and verifies the randomness, uniqueness and stability of the data.
[0009] The configuration management layer is responsible for managing the configuration information of the PUF, including the generation of challenges, the storage of responses, and providing a mechanism for resetting the PUF function, controlling the access permission of the PUF configuration and interface, realizing the isolation and authorization mechanism.
[0010] The function service layer provides high-level encapsulation of security parameter functions and interfaces for external services, based on the lower-layer PUF hardware, algorithm and configuration management infrastructure, and is responsible for providing security parameters to the upper-layer security application for security services.
[0011] A security parameter generation method of a security parameter generation system based on an SRAM PUF is also provided, which specifically comprises the following steps: initial CRPs obtained from the physical characteristics of the SRAM are processed by a stable feature search algorithm, and stable output bits and unstable output bits are sorted out, wherein the unstable output bits are used as an entropy source to generate a random seed, and a random number is generated by a random number post-processing algorithm for calling by other algorithms; the stable output bits are divided into two parts, a small part of the output bits is selected to form stable CRPs for generating a chip ID and authentication CRPs, and the IDs of a plurality of SRAM chips are fused to generate a device fingerprint; another part of the stable output bits is processed by a state data preprocessing algorithm and an adaptive error correction coding algorithm to generate a root key, wherein auxiliary data is generated by the data after multiple starts of the SRAM, and the output of the adaptive error correction coding algorithm is subjected to a fuzzy extraction algorithm and a key derivation function to finally generate an asymmetric key, a session key and a symmetric key.
[0012] The present application has the following beneficial effects:
[0013] 1. The present application is designed for diversified and differentiated application scenarios of security parameters, and a four-layer security parameter system covering an entropy source acquisition layer, an algorithm implementation layer, a configuration management layer and a function service layer is designed, a hierarchical and modular SRAM-PUFSPG function architecture is established, and a reconfigurable bottom-layer security parameter generation service is provided for diversified security applications;
[0014] 2、The application designs a series of algorithms covering stable feature search algorithm, state data preprocessing algorithm, auxiliary data generation algorithm, fuzzy extraction algorithm, key derivation function, error correction coding algorithm, etc., and introduces relevant environmental parameters and adaptive threshold in each algorithm to improve the adaptability of the SRAM-PUF SPG to complex and variable environments.
[0015] 3、The application designs SRAM-PUF SPG related algorithm calling process and cooperative application mode in the four stages of initialization, registration authentication, key generation, and update recovery to meet the application requirements of power terminal productization and standardization, and the SRAM-PUF SPG system covering initialization, authentication, key management, and update recovery is constructed through mutual cooperation of the algorithms. BRIEF DESCRIPTION OF DRAWINGS
[0016] Figure 1 is the system architecture of the application;
[0017] Figure 2 is the SRAM PUF-based security parameter generation algorithm calling process in an embodiment of the application;
[0018] Figure 3 is the SRAM-PUF SPG stage division of the intelligent fusion terminal in an embodiment of the application. DETAILED DESCRIPTION
[0019] The application will be further described in detail below in combination with the drawings and specific embodiments:
[0020] REFERENCE Figure 1 In this embodiment, an SRAM PUF-based security parameter generation system is provided, characterized by comprising an entropy source acquisition layer, an algorithm implementation layer, a configuration management layer, and a function service layer.
[0021] The entropy source acquisition layer is responsible for extracting randomness information from SRAM as the entropy source of PUF security parameters; in addition, considering factors such as storage overhead and time overhead, exclusive SRAM PUF is used to generate high-security parameters including root keys, key derivation seeds, trusted measurement keys, and authentication CRPs, and non-exclusive SRAM PUF is used to generate security parameters including true random numbers and terminal unique identifiers, and SRAM is allocated according to parameter usage frequency and parameter length requirements.
[0022] The algorithm implementation layer filters, equalizes, quantizes, and pre-processes the extracted entropy source information, and then converts it into random data, key data, and unique identifiers using corresponding algorithms, and verifies the randomness, uniqueness, and stability of these data.
[0023] The configuration management layer is responsible for managing the configuration information of the PUF, including the generation of challenges, the storage of responses, and providing a mechanism for resetting the PUF function, controlling access rights to PUF configuration and interface, and implementing isolation and authorization mechanisms.
[0024] The functional service layer provides a high-level encapsulation of security parameter functions and an interface for external services, based on the lower-layer PUF hardware, algorithms, and configuration management infrastructure, and is responsible for providing security parameters to upper-layer security applications for security services.
[0025] To select feature positions with high stability and good randomness from SRAM PUF challenges and generate SRAM PUF responses, the power intelligent terminal needs to be restarted multiple times. In the registration phase of the SRAM PUF function, repeated measurement and statistical analysis of the SRAM PUF response are implemented to evaluate the stability and randomness indicators of each response position, such as flip probability, Hamming distance, and entropy. Then, according to the comprehensive indicators, all positions are sorted, and the positions with higher quality are selected as stable features. This algorithm mainly relies on data collection, statistical calculation, and feature selection.
[0026] In the data collection phase, the number of power-on times of the power intelligent terminal is set to m, and the PUF measurement configurable measurement matrix set Ω k ={R, T, V, …, I, E} is constructed, where R, T, V, I, and E are the response matrix, temperature matrix, voltage matrix, power matrix, and environmental condition matrix such as electromagnetic radiation for m power-on times. The matrix set can be expanded according to the expansion factor k.
[0027] In the index statistics phase, three types of indicators are solved for stability: flip probability, Hamming distance, and mutual information. For randomness, entropy, autocorrelation coefficient, and NIST test suite are solved. Finally, the comprehensive evaluation index is calculated. In the feature selection phase, the comprehensive vector S is sorted in descending order, and a threshold t is set. The bit positions greater than t are listed as candidate features. The specific algorithm is as follows:
[0028]
[0029]
[0030] The region index evaluation algorithm for SRAM is constructed. This algorithm can effectively identify bit positions with good stability and high randomness by comprehensively evaluating multiple characteristic indicators. Compared with traditional methods based on individual bit evaluation, this algorithm considers the correlation between SRAM cells, improving the accuracy and reliability of the screening. In addition, this algorithm introduces dynamic updating and adjustment parameters, which can adapt to long-term changes in SRAM characteristics and maintain the stability of PUF responses.
[0031] Based on the selected stable feature bits, the original response signal collected by SRAM after registration inevitably mixes various high-frequency noises such as thermal noise, radio frequency noise, power supply noise, etc. These noises will cause the security parameter generation to fluctuate in a short time and be unstable, so noise reduction processing is needed. First, the mean filtering method is used to remove high-frequency noise in the original response of the stable feature bit and extract low-frequency features. A sliding window is used to process the original response sequence with a length of l1:
[0032]
[0033] For the current position i, take all SRAM cells in the sliding window with a length of l1 centered on it, calculate their arithmetic mean as the filtered output Smooth the noise by sliding average filtering and extract the main features of the PUF response. It should be noted that when processing the beginning and end of the response sequence, the sliding window may exceed the boundary of the sequence. For these boundary conditions, zero padding, mirror padding, etc. can be used, or special processing can be used for the boundary part to ensure the integrity and consistency of the filtering.
[0034] Due to the differences in response distribution between different SRAM PUFs and the same SRAM PUF under different environmental conditions, in order to realize the adaptive response distribution of SRAM PUF, it is necessary to construct an adaptive quantization mechanism to dynamically adjust the quantization threshold and improve the robustness of quantization. Perform m power-on on SRAM and count the candidate feature bits Sample, set as set The sample mean μ is The standard deviation σ is And set the upper and lower thresholds to t up = μ + k1σ and t down = μ - k2σ, where k1 and k2 are adjustable parameters. For each value
[0035] 1) If Quantize to 1;
[0036] 2) If Quantize to 0;
[0037] 3) Otherwise, it is considered as an uncertain state, discarded or marked as a random bit.
[0038] Through the iterative algorithm, the adaptive quantized bit sequence is finally obtained
[0039] Ideally, the SRAM PUF response should have uniformly distributed 0 and 1 bits. This means that the randomness of the SRAM PUF response is maximized, there is no statistical bias, and it is difficult to be predicted and cloned. However, the actual response may have imbalance, which is manifested as unequal probability of 0 and 1 bits, which reduces the randomness of the PUF response and makes it more susceptible to statistical attacks and prediction. Therefore, it is necessary to adjust the proportion of 0 and 1 bits in the PUF response through balance correction to make it as close to uniform distribution as possible, so the number of 0 and 1 in the bit sequence is calculated If |z1-z2|>k3, where k3 is an adjustable threshold, the following balance processing is performed:
[0040] 1) If z1>z2, randomly select u (u<|z1-z2|) 0s to flip to 1s;
[0041] 2) If z1<z2, randomly select u (u<|p1-p2|) 1s to flip to 0s;
[0042] Through the iterative algorithm, the balanced and corrected bit sequence is finally obtained
[0043] Since the repeated patterns in the SRAM PUF response, such as consecutive 0 or 1 sequences, fixed bit combinations, etc., will reduce the randomness of the response and become potential security vulnerabilities, it is necessary to detect and eliminate repeated patterns by using a repeated pattern removal method to enhance the security of the SRAM PUF as a random number source and key source. For the balanced and corrected bit sequence The following algorithm is carried out:
[0044]
[0045]
[0046] In this embodiment, a "noise filtering-adaptive quantization-balance correction-repeated pattern removal" state data preprocessing algorithm is proposed, and the above four sub-algorithms can be organically combined, and various quality problems of PUF state data are considered comprehensively, such as noise interference, response imbalance, repeated patterns, etc. Compared with the traditional single preprocessing method, this algorithm can more comprehensively and systematically improve the quality of PUF state data, and provides a flexible, scalable, and hardware-friendly state data preprocessing scheme.
[0047] Auxiliary data generation algorithm: repeatedly calculate the above state data preprocessing algorithm to finally generate a response sequence And the median of the response is selected As a reference response, and the reference response will be used as a reference for subsequent error correction and auxiliary data generation.
[0048] In this embodiment, the ideas of polynomial error correction code and permutation mapping are combined to propose an adaptive error correction coding algorithm, as follows:
[0049]
[0050]
[0051]
[0052] Due to the simple algebraic structure of the polynomial code, it is easy to implement and optimize the hardware, which helps to reduce the hardware resource overhead. The permutation mapping mechanism is introduced, which can improve the efficiency of error correction coding and reduce the required redundancy by disrupting the position correlation of PUF response. The adaptive coding strategy can dynamically adjust the coding parameters according to the actual quality of the PUF response, avoiding overcoding or undercoding, and balancing the error correction capability and coding overhead. The iterative decoding algorithm can effectively utilize the soft information of the PUF response to improve the decoding success rate.
[0053] In this embodiment, the following fuzzy extractor construction algorithm is given to meet the needs of multi-dimensional and balanced optimization, with the following specific steps:
[0054]
[0055]
[0056]
[0057] The fuzzy extractor algorithm of the present application uses adaptive error correction coding to dynamically adjust the coding strategy according to the noise characteristics of the PUF response, improving the stability of the coded response. The permutation increases the randomness and unpredictability of the coded response, improving the security of the key. The random matrix M is introduced to generate the auxiliary data AD, which protects the confidentiality and integrity of AD through randomization and hashing. The matrix projection is used to extract the key from the permuted coded response, simplifying the key management. The adaptive threshold quantization method is used to dynamically adjust the quantization threshold according to the distribution characteristics of the projection result, improving the robustness of the key extraction. In the auxiliary data reconstruction stage, the integrity verification is used to ensure the consistency and reliability of the auxiliary data. The key verification is used to judge the success of the key reconstruction, enhancing the fault tolerance of the system.
[0058] Preferably, a key derivation function (KDF) is introduced after the fuzzy extractor to convert the initial key into a final key that meets the different application requirements. By introducing mechanisms such as multi-factor fusion, high security strength hash function, flexible parameter selection, and hardware optimization implementation, the key derivation algorithm is designed as follows:
[0059]
[0060]
[0061] The algorithm combines multiple factors such as Salt, APP label, etc., and uses multiple adjustable parameters such as iteration number, key length, Salt length, parallelism, etc., which can be appropriately balanced according to the security requirements of the business. The use of multiple rounds of hash iteration significantly improves the security strength of the derived key, increases parallel computing to fully utilize the multi-core MCU processing capability, and can significantly improve the execution efficiency and throughput of KDF.
[0062] Reference Figure 2 In the embodiment, a security parameter generation method of a security parameter generation system based on SRAM PUF is also provided, which is specifically as follows: the initial CRPs obtained from the physical characteristics of SRAM are processed by a stable feature search algorithm, and stable output bits and unstable output bits are sorted out, wherein the unstable output bits are used as an entropy source to generate a random seed, and a random number is generated by a random number post-processing algorithm for calling by other algorithms; the stable output bits are divided into two parts, a small part of the output bits is selected to form stable CRPs for generating a chip ID and authentication CRPs, and the IDs of a plurality of SRAM chips are fused to generate a device fingerprint; another part of the stable output bits is processed by a state data preprocessing algorithm and an adaptive error correction coding algorithm to generate a root key, wherein the data after multiple starts of SRAM generates auxiliary data, and the output of the adaptive error correction coding algorithm is finally generated into an asymmetric key, a session key, and a symmetric key by a fuzzy extraction algorithm and a key derivation function.
[0063] Preferably, reference Figure 3 The related algorithms in each SRAM PUF are divided into four stages of initialization, registration and authentication, key generation, and update and recovery according to the following framework, and each stage involves different algorithms and is closely linked with the functions of the configuration management layer.
[0064] In the initialization phase, the initial parameters are provided by the algorithm parameter configuration module, the parameter verification algorithm is called to verify the integrity and validity of the SRAMPUF initialization parameters; in the registration authentication phase, the algorithm parameter configuration, challenge-response management module provides related parameters, stores and manages different role CPRs, calls the parameter verification algorithm, stable feature search algorithm, state data preprocessing algorithm, auxiliary data generation algorithm as needed to generate high-quality CRPs and auxiliary data for error correction for different functions, and performs authentication operations on these key data; in the key generation phase, the algorithm parameter configuration, challenge-response management module provides various parameters and uses adaptive error correction coding algorithm to enhance the fault tolerance of the response, provides different types of keys through the fuzzy extraction algorithm, key derivation parameter; in the update and recovery phase, the algorithm parameter configuration, challenge-response management, PUF value recovery module are called, a series of parameter verification algorithms, state data preprocessing algorithms, fuzzy extraction algorithms are called to realize the recovery of key parameters according to the auxiliary data, and if it is necessary to update the related parameters, the parameter update algorithm parameter and the auxiliary data generation algorithm are called to update the related parameters.
[0065] The configuration management layer plays a key role in the entire life cycle of the SRAMPUF by managing and coordinating the algorithm parameters, data storage and interactive operations in each phase.
[0066] Those skilled in the art will understand that embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage, etc.) containing computer-usable program code.
[0067] The present application is described with reference to flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the computer or other programmable data processing apparatus produce a device that implements the functions specified in the flowcharts and / or block diagrams. Figure 1 The function specified in one flow or multiple flows and / or blocks Figure 1 The means for performing the function specified in one block or multiple blocks.
[0068] These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions which implement the flow Figure 1 The functions of the flow or flows and / or blocks Figure 1 The functions of the flow or flows and / or blocks
[0069] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flow Figure 1 The functions of the flow or flows and / or blocks Figure 1 The functions of the flow or flows and / or blocks
[0070] The above descriptions are only preferred embodiments of the present application and are not intended in any way to limit the present application and other forms. Any person skilled in the art can use the above disclosed technical content to make changes or modifications as equivalent embodiments. However, any simple modification, equivalent change and modification of the above embodiments without departing from the technical solution of the present application, according to the technical essence of the present application, still belongs to the protection scope of the technical solution of the present application.
Claims
1. A security parameter generation system based on SRAMPUF, characterized in that, It includes an entropy source acquisition layer, an algorithm implementation layer, a configuration management layer, and a functional service layer; The entropy source acquisition layer is responsible for extracting randomness information from SRAM as the entropy source for PUF security parameters. In addition, considering storage overhead and time overhead factors, a dedicated SRAM PUF method is used to generate high-security parameters including root key, key derivation seed, trusted measurement key, and authentication CRPs, while a non-dedicated SRAM PUF method is used to generate security parameters including true random numbers and terminal unique identifiers. At the same time, SRAM is allocated according to the parameter usage frequency and parameter length requirements. The algorithm implementation layer preprocesses the extracted entropy source information by filtering, equalizing, and quantizing, and then uses a corresponding algorithm to convert it into random data, key data, and unique identifiers, and verifies the randomness, uniqueness, and stability of these data. The configuration management layer is responsible for managing the configuration information of PUF, including challenge generation, response storage, and providing a mechanism to reset PUF functions, controlling access permissions to PUF configuration and interfaces, and implementing isolation and authorization mechanisms. The functional service layer provides interfaces for high-level encapsulation of security parameter functions and external services. Based on the lower-layer PUF hardware, algorithms, and configuration management infrastructure, it is responsible for providing security parameters to upper-layer security applications and applying them to security services. The algorithms in the algorithm implementation layer include a stable feature search algorithm, a state data preprocessing algorithm, an auxiliary data generation algorithm, a fuzzy extraction algorithm, a key derivation function, and an error correction coding algorithm.
2. The security parameter generation system based on SRAMPUF according to claim 1, characterized in that, The stable feature search algorithm is as follows: (1): Initial response matrix: R m×n , where m is the number of power-on cycles, n is the number of bits, P[j] is the flip probability, and μ[j] is the mean, where j is the SRAM cell; (2): Calculate the flip probability: Initialize the counter: count = 0; For 1≤i≤m-1; If R[i,j]! = R[i+1,j], then count+=1; Calculate P[j] = count / (m-1); (3): Calculate the average Hamming distance: Initialize the accumulator: dis = 0; For 1≤i≤m-1, for i+1≤s≤m; Calculate the Hamming distance between the i-th and l-th measurements. dis = dis + H[i,l]; Calculate the average Hamming distance D(j) = dis / C(m,2); (4): Calculate information entropy: For each bit j, count the number of 0s n0 and the number of 1s n1 in m measurements; Calculate p0 = n0 / m, p1 = n1 / m; Calculate the information entropy H(j) = -p0log2p0-p1log2p1; (5): Calculate mutual information: The temperature matrix T, voltage matrix V, current matrix I, and power matrix E are normalized, and the environmental factor vector is calculated according to the environmental parameter weights ω1, ω2, ω3, and ω4. For each Δ, count the number of times n2 occurs in m measurements, and calculate p2 = n2 / m; Calculate the information entropy H(Δ) = -sum(p²log₂p²); Under Δ, count the number of bits n that are 0. 0Δ The number of 1s n 1Δ Calculate p 0Δ =n 0Δ / m,p 1Δ =n 1Δ / m; Calculate the conditional entropy H Δ (j|Δ)=-p 0Δ log2p 0Δ -p 1Δ log2p 1Δ ; Calculate H(j|Δ)=sum(p) Δ H Δ (j|Δ)); Calculate I(j|Δ) = H(j) - H(j|Δ); (6): Calculate the autocorrelation coefficient: Initialize the accumulator: add = 0, add_num = 0, add_den = 0; For 1≤i≤m, add=add+R(i,j), μ[j]=add / m; For the lag time t time , 1≤i≤mt time ; add_num=add_num+(R(i,j)-μ(j))×(R(i+t time ,j)-μ(j)); add_den=add_den+(R(i,j)-μ(j)) 2 ; R(j,t time )=add_num / add_den; For R(j,t) time ) at different times t time The mean value is calculated to obtain R(j); (6): Calculate the average NIST test P-value; (7): Comprehensive evaluation calculation: For each bit j, the normalized stability index is S1(j), and the normalized randomness index is S2(j). The index weights ω5 and ω6 are selected, and S(j) = ω1S1(j) + ω2S2(j) is calculated.
3. The security parameter generation system based on SRAMPUF according to claim 1, characterized in that, The state data preprocessing algorithm includes four sub-algorithms: noise filtering, adaptive quantization, equalization correction, and repetition pattern removal.
4. The SRAMPUF-based security parameter generation system according to claim 3, characterized in that, The adaptive quantization is as follows: Perform m power-on cycles on the SRAM and count candidate feature bits. Let the sample be a set. Then its sample mean μ is The standard deviation σ is And set the upper and lower thresholds as t respectively. up =μ+k1σ and t down =μ-k2σ, where k1 and k2 are adjustable parameters; for Each value in 1) If Then it is quantized to 1; 2) If Then it is quantized to 0; 3) Otherwise, it is considered an uncertain state and discarded or marked as a random bit; Through iterative algorithms, the adaptively quantized bit sequence is finally obtained.
5. The security parameter generation system based on SRAMPUF according to claim 3, characterized in that, The equalization correction is specifically as follows: calculate Given the number of 0s and 1s z1 and z2, if |z1-z2|>k3, where k3 is an adjustable threshold, then the following equalization process is performed: 1) If z1 > z2, then randomly select u (u < |z1-z2|) zeros and invert them to 1; 2) If z1 < z2, then randomly select u (u < |p1-p2|) 1s and invert them to 0; Through iterative algorithms, the final equalized bit sequence is obtained.
6. The security parameter generation system based on SRAMPUF according to claim 3, characterized in that, The removal of the repeating pattern is as follows: A. Initialization: (1) Initialize to an empty sequence; (2) Let the minimum length and maximum length of the repeating pattern be l2 and l3; (3) Set the current position value: i = 0; (4) Set a sliding window: l4; B. Pattern matching: (1) Starting from i=0, use a sliding window in Search for duplicate patterns in the middle; (2) For each window size l4 (l2≤l4≤l3): extract the subsequence with length l4 starting at position i=0: exist Find the repeating pattern that is the same as P; If a repeating pattern P is found: Record the start position and length of the repeating pattern; Update i to the end of the repeating pattern; If no repeating pattern is found: let l4 = l4 + 1; Continue searching for L4 window size; C. Remove duplicate patterns: (1) For Each position i (0≤i≤n) in the array; If i does not belong to any repeating pattern: Will Add to middle; If i belongs to a certain repeating pattern: Skip this position and do not add it. middle; D. Output results: (1) Return As the response sequence after removing repeating patterns.
7. The security parameter generation system based on SRAMPUF according to claim 1, characterized in that, The error correction coding algorithm is as follows: A. Initialization: (1) Select appropriate parameters q to construct the finite field GF(2 q ); (2) Based on the length of the SRAM PUF response and the desired error correction capability, let the code length be n = 2. q -1, the information bit length is k4, the error correction capability is t1, and n-k4≥2t1 is satisfied; (3) Let the minimum code distance be d1, the maximum number of iterations be mi, and the iteration stopping threshold be eps; B. Polynomial error-correcting coding: (1) In the finite field GF(2 q In the given equation, if we choose primitive α, then ord(α) = 2. n -1; (2) For 1≤i≤2t1, calculate α i In the finite field GF(2) q The minimal polynomial g on ) i (x); (3) Generating polynomials (4) Calculate the generator matrix Based on the coefficient vector of the polynomial g(x) (5) Let 1≤i≤k4, 1≤j≤n-k4, (6) Calculate the parity matrix Let 1≤i≤n-k4, 1≤j≤n-k4, (7) Output the generator matrix Sum check matrix (18) Response sequence after removing repeating patterns Perform polynomial encoding to obtain the encoded response. C. Introduce permutation mapping: (1) Input a challenge c of length l5 and a key of length l6. Concatenate the key and the challenge c to form a binary vector kc of length l5+l6: (2) Calculate the hash value h = sm3(kc,n) of length n; (3) Calculate p = Fisher-Yates shuffle(h,n), where Fisher-Yates shuffle 1 It is a pseudo-random permutation algorithm; (4) For 1≤i≤n, let the Per[i]th element in the i-th row of Per be 1 and the rest be 0; (5) Output the permutation mapping matrix Per[i] and calculate the permuted response. D. Iterative decoding: (1) Receive the replaced response calculate (2) Initialize confidence level: Let v[i][0] represent the initial confidence level when the i-th bit is 0, and v[i][1] represent the initial confidence level when it is 1, for 0 ≤ i ≤ n-1: if Then v[i][0] = p0, v[i][1] = 1 - p0; otherwise v[i][0] = 1 - p1, v[i][1] = 1 - p1, where p0 and p1 represent the error probabilities of 0 and 1 respectively; Let ctv[i][0] represent the confidence level passed from the i-th verification node to the j-th variable node, initialized to 0; Let vtc[i][0] represent the confidence level passed from the i-th variable node to the j-th verification node, and initialize it to v[i]. (3) Iteratively update the confidence level for 0 ≤ iter ≤ mi-1: Validation node update: For 0≤j≤n-k4-1, 0≤i≤n-1, if H[j][i]=1, let vtc_temp equal the product of vtc[i'], where i'≠i and H[j][i']=1; if ctv[j][i] = (1 - 2 × parity(vtc_temp)) × min(vtc_temp), where parity(x) represents the parity of a number; Variable node update: For 0≤j≤n-k4-1, 0≤i≤n-1, if H[j][i]=1, let ctv_temp equal the product of ctv[j'][i], where j'≠j, let ctv[i][j]=normalize(v[i]×ctv_temp), where normalize(x) means normalizing x so that the sum is 1; Soft decision: For 0≤i≤n-1, let soft_decision[i]=v[i]×vtc_temp; Hard decision: For 0 ≤ i ≤ n-1, if soft_decision[i][0] > soft_decision[i][1], then hard_decision[i] = 0; otherwise, hard_decision[i] = 1. Verification: If hard_decision satisfies H, then decoding is successful, proceed to step (5); otherwise, continue iterating. Convergence check: If the L1 norm of the difference between soft_decision and the result of the previous iteration is less than the stopping threshold eps, then the decoding is successful and proceed to step (5); otherwise, continue the iteration. (4) Decoding failure: If the maximum number of iterations mi is reached without successful decoding, then decoding fails and None is returned; (5) Output decoding result: use hard_decision as the decoded response. Output.
8. The security parameter generation system based on SRAMPUF according to claim 1, characterized in that, The fuzzy extraction algorithm is as follows: A. Initialization (1) Obtain the response of length n based on the stable feature search algorithm and the state data preprocessing algorithm. Auxiliary parameters are obtained based on the auxiliary data generation algorithm. (2) Security parameter l7 indicates the length of the target extraction key; (3) Based on the noise model and security requirements, the adaptive error correction coding algorithm selects appropriate coding parameters, such as code length 2. q -1. Maximum number of iterations mi, iteration stopping threshold eps, fault tolerance threshold t2, etc. B. Gen Phase (1) Input Then, the adaptive error correction coding algorithm is invoked and the response after the permutation is calculated. (2) Generate an l7×n binary random matrix M based on the response length n and the security parameter l7; calculate auxiliary data. Calculate HASH_AD = SM3(AD); (3) Generate a random vector r1 and calculate random auxiliary data. Generate public auxiliary data (4) Based on the response length n and the security parameter l7, generate a binary projection matrix A of l7×n, Pr(A[i][j]=1)=Pr(A[i][j]=0)=0.5, where the elements of A follow an independent and identically distributed Bernoulli distribution, and generate the secret assistant s'=(M,r1,HASH_AD,A); (5) Calculation If key1[i]≥median(key1), then key[i]=1; if key1[i]<median(key1), then key[i]=0, where median(key1) is the median threshold of key1. (6) Output the key as the final key; C. Rep stage: (1) Input a new response The response of length n is obtained based on the stable feature search algorithm and the state data preprocessing algorithm. (2) Obtain publicly available auxiliary data enter Then, the adaptive error correction coding algorithm is invoked and the response after the permutation is calculated. (3) Calculation (4) Calculate the auxiliary data for reconstruction Compare HASH_AD' with SM3(AD') to see if AD' is equal. If they are equal, continue to compare HASH_AD' with HASH_AD in secret assistant s' = (M, r1, HASH_AD). If they are not equal, the auxiliary data reconstruction fails and the key reconstruction is aborted. (5) Otherwise calculate If key1'[i] ≥ median(key1'), then key'[i] = 1; if key1'[i] < median(key1'), then key'[i] = 0, where median(key1') is the median threshold of key1'; key' is the reconstructed key. Calculate the Hamming distance d2 between the reconstructed key key' and the key key. If d2 < t2, the key reconstruction is successful; otherwise, it fails.
9. A method for generating security parameters based on the SRAMPUF-based security parameter generation system according to any one of claims 1-8, characterized in that, Specifically, the initial CRPs obtained from the physical characteristics of SRAM are processed by a stable feature search algorithm to separate stable and unstable output bits. The unstable output bits are used as entropy sources to generate random seeds, and random numbers are generated by a random number post-processing algorithm for use by other algorithms. The stable output bits are divided into two parts. A small portion of the output bits are selected to form stable CRPs, which are used to generate chip IDs and authentication CRPs. The IDs of several SRAM chips are fused and calculated to generate a device fingerprint. The other portion of stable output bits are processed by a state data preprocessing algorithm and an adaptive error correction coding algorithm to generate a root key. The data generated after multiple SRAM startups are used to generate auxiliary data, which, together with the output of the adaptive error correction coding algorithm, is processed by a fuzzy extraction algorithm and a key derivation function to finally generate an asymmetric key, a session key, and a symmetric key.
Citation Information
Patent Citations
Entropy extraction method and circuit based on SRAM PUF (Static Random Access Memory Physical Unclonable Function)
CN106055491A
One-time pad encryption method based on PUF (Physical Unclonable Function) and fuzzy extraction algorithm
CN114205079A