Methods, apparatus, computer equipment, and storage media for detecting latent fault attacks in SILC-certified encryption algorithms.
By acquiring the authentication tag of the encrypted device and setting a candidate set of subkeys, the system detects whether the SILC authentication encryption algorithm in IoT devices is subject to hidden fault attacks, solving the problem of difficult detection in existing technologies and realizing early security threat identification and protection for encrypted devices.
Patent Information
- Application Number
- CN202411598894.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-08
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-11-08
AI Technical Summary
Existing technologies are insufficient to effectively detect whether the SILC authentication encryption algorithm in IoT devices has been subjected to hidden fault attacks, and traditional solutions struggle to identify such attack methods.
By acquiring multiple authentication tags output by the target encryption device, a tag set is formed, and multiple sets of subkey candidate sets are set. Each set corresponds to a specific fault import position. The subkey candidate values affected after the fault import are enumerated. It is determined whether the tag set and the subkey candidate set can recover the master key. If they can be recovered, it is determined that a hidden fault attack has been suffered.
It can detect and respond to latent fault attacks that may lead to master key leakage or encryption system failure as early as possible, ensuring the security of encryption devices and the confidentiality and integrity of information.
Smart Images

Figure CN119420558B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network security technology, and in particular to a method, apparatus, computer device, and storage medium for detecting latent fault attacks using the SILC authentication encryption algorithm. Background Technology
[0002] With the rapid development of the Internet of Things (IoT), various smart devices such as smart gateways, smart sensors, and RFID have been widely used in smart homes, smart cities, and telemedicine. In open network environments, information inevitably faces threats such as interception, tampering, and forgery during transmission, storage, and processing. However, due to the limited resources and capabilities of small and medium-sized IoT devices, traditional cryptography struggles to effectively guarantee the confidentiality, integrity, and authentication of information. Therefore, lightweight cryptography that balances high security and low power consumption has attracted widespread attention from researchers both domestically and internationally.
[0003] SILC (Simple Lightweight CFB) authentication encryption mode is based on the CFB working mode. Its underlying layer can use lightweight block cipher algorithms such as AES, SIMON, LED, and PRESENT as the encryption component. Its software implementation has low memory consumption and small code size, while its hardware implementation also has significant advantages in energy consumption and chip area. Therefore, SILC is considered a lightweight, associated data authentication encryption mode. Supported by the pseudo-randomness property of the underlying block cipher, it possesses provable security, making it suitable for security implementations on devices with limited hardware resources.
[0004] In cryptanalysis, a hidden fault attack is an attack method based on the ciphertext-only assumption. Under this assumption, the attacker possesses minimal information, calculating the cryptographic key solely based on the mathematical relationships between the ciphertexts. Since hidden fault attacks do not alter the intermediate states of the encryption process, traditional schemes struggle to detect this type of attack. Summary of the Invention
[0005] The purpose of this application is to at least address one of the aforementioned technical deficiencies, and specifically to provide an effective detection scheme for whether devices using the SILC authentication encryption algorithm are subject to hidden fault attacks.
[0006] Firstly, this application provides a method for detecting latent fault attacks in the SILC-certified encryption algorithm, including:
[0007] Obtain multiple authentication tags output by the target encryption device to obtain a tag set; the target encryption device encrypts based on the SILC authentication encryption mode, and generates a hash value based on the associated data and random number corresponding to the plaintext message, and obtains the ciphertext message based on the hash value and the plaintext message, and then obtains the authentication tag based on the hash value and the ciphertext message;
[0008] Multiple sets of subkey candidate sets are set up; each set of subkey candidate sets corresponds to a fault import position, and the subkey candidate set exhaustively lists all subkey candidate values affected by the fault after the fault is imported at the corresponding fault import position.
[0009] Determine whether the master key can be recovered based on the tag set and the candidate subkey sets of each group;
[0010] If so, it is determined that the target encryption device has suffered a hidden fault attack within a preset period.
[0011] In one embodiment, the process of generating an authentication tag by the target encryption device requires 32 rounds of computation. The first 31 rounds of computation will be based on the subkey value corresponding to the current round and the intermediate state value of the previous round. The 32nd round of computation will be based on the subkey value corresponding to the current round and the intermediate state value of the previous round to obtain the authentication tag. The implicit fault introduced in the intermediate state value of the 29th round is a valid introduction. The subkey candidate value includes the subkey value of the bits affected by the fault at the corresponding fault introduction position in the 31st and 32nd rounds.
[0012] In one embodiment, determining whether the master key can be recovered based on the tag set and each set of candidate subkeys includes:
[0013] Divide the tag set into multiple sub-tag sets;
[0014] For any set of sub-labels, match the sub-key candidate set with the set of sub-labels to determine the target sub-key candidate set corresponding to each set of sub-labels;
[0015] Determine the correct subkey from the subkey candidate values contained in each target subkey candidate set;
[0016] If the complete subkey values for rounds 31 and 32 can be obtained based on all the correct subkeys, then it is determined that the master key can be recovered; otherwise, it is determined that the master key cannot be recovered.
[0017] In one embodiment, matching the subkey candidate set with the subtag set to determine the target subkey candidate set corresponding to each subtag set includes:
[0018] Traverse the current set of subkey candidates and determine the traversed subkey candidate values as the target subkey candidate values;
[0019] Based on the target subkey candidate value and each authentication tag in the subtag set, determine the intermediate state value corresponding to the target subkey candidate value and each authentication tag in the 29th round, and obtain the intermediate state value set corresponding to the target subkey candidate value;
[0020] Based on the set of intermediate state values, determine the maximum likelihood estimate of how the intermediate state value in round 29 is affected by the fault introduction position corresponding to the target subkey candidate value when using the corresponding target subkey candidate value.
[0021] If the difference between the maximum likelihood estimates is less than the first threshold, then the current set of candidate subkeys is determined to be mismatched with the set of sublabels.
[0022] Otherwise, determine the current subkey candidate set as the target subkey candidate set corresponding to the subtag set.
[0023] In one embodiment, based on the target subkey candidate value and each authentication tag in the subtag set, the intermediate state values corresponding to the target subkey candidate value and each authentication tag in round 29 are determined, including:
[0024] Input the target subkey candidate value and the authentication tag into the following expression to obtain the intermediate state values of the target subkey candidate value and each authentication tag in round 29:
[0025]
[0026]
[0027] in, The target subkey candidate value and the intermediate state value of each authentication tag in round 29. This represents the inverse operation of nonlinear layer operations. This represents the inverse operation of a linear layer operation. For certification labels Simplified intermediate value, rk 31 and rk 32 These are the target subkey candidate values for rounds 31 and 32, respectively, where ck0 is rk. 32 The simplified intermediate value, ck1 is rk 31 The simplified intermediate value.
[0028] In one embodiment, determining the correct subkey from the subkey candidate values contained in each target subkey candidate set includes:
[0029] The target subkey candidate with the largest maximum likelihood estimate is selected as the correct subkey value corresponding to the target subkey candidate set.
[0030] In one embodiment, the fault import location is divided into four categories, the first category being:
[0031] The hidden fault imports the i-th half-byte of the intermediate state value in round 29 and At that time, a fault at the fault introduction position of the first type affects the value of the subkey in round 31 at bits i, i+16, i+32, and i+48, and affects the value of the subkey in round 32 at bits 4j-4. ;
[0032] The second category is: a hidden fault imports the i-th half-byte of the intermediate state value in round 29, and... At that time, a fault at the fault introduction position of the second type affects the value of the subkey in round 31 at bits i, i+16, i+32, and i+48, and affects the value of the subkey in round 32 at bit 4j-3. ;
[0033] The third category is: a hidden fault imports the i-th half-byte of the intermediate state value in round 29, and... At that time, a fault at the fault introduction position of the third type affects the value of the subkey in round 31 at bits i, i+16, i+32, and i+48, and affects the value of the subkey in round 32 at bit 4j-2. ;
[0034] The fourth category is: a latent fault imports the i-th half-byte of the intermediate state value in round 29, and... At that time, a fault at the fault introduction position of type 4 affects the value of the subkey in round 31 at bits i, i+16, i+32, and i+48, and affects the value of the subkey in round 32 at bit 4j-1. .
[0035] Secondly, this application provides a device for detecting latent fault attacks on the SILC authentication encryption algorithm, comprising:
[0036] The data acquisition module is used to acquire multiple authentication tags output by the target encryption device to obtain a tag set. The target encryption device encrypts based on the SILC authentication encryption mode. The target encryption device will generate a hash value based on the associated data and random number corresponding to the plaintext message, and obtain the ciphertext message based on the hash value and the plaintext message. Then, it will obtain the authentication tag based on the hash value and the ciphertext message.
[0037] The configuration module is used to configure multiple sets of subkey candidate sets. Each set of subkey candidate sets corresponds to a fault import position. The subkey candidate set exhaustively lists all subkey candidate values affected by the fault after the fault is imported at the corresponding fault import position.
[0038] The judgment module is used to determine whether the master key can be recovered based on the tag set and the candidate sets of each group of subkeys, and if the judgment result is yes, it determines that the target encryption device has suffered a hidden fault attack within a preset period.
[0039] Thirdly, this application provides a computer device including one or more processors and a memory storing computer-readable instructions. When the computer-readable instructions are executed by one or more processors, they perform the steps of the implicit fault attack detection method of the SILC authentication encryption algorithm in any of the above embodiments.
[0040] Fourthly, this application provides a computer-readable storage medium storing computer-readable instructions, which, when executed by one or more processors, cause the one or more processors to perform the steps of the implicit fault attack detection method of the SILC authentication encryption algorithm in any of the above embodiments.
[0041] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0042] This scheme requires obtaining a tag set consisting of multiple authentication tags output by the target encryption device. Then, multiple sets of subkey candidate sets are set, each corresponding to a specific fault import location. The scheme exhaustively lists all subkey candidate values affected by the fault import, thus comprehensively considering the abnormal conditions of subkeys under different fault scenarios. Next, it determines whether the master key can be recovered based on the tag set and each subkey candidate set. If it can be recovered, the target encryption device is determined to have suffered a hidden fault attack within a preset period. This scheme helps to detect and respond to hidden fault attacks that may lead to master key leakage or encryption system failure as early as possible, effectively ensuring the encryption security of the target encryption device and the confidentiality and integrity of related information. Attached Figure Description
[0043] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1 A flowchart illustrating a method for detecting latent fault attacks in a SILC-authenticated encryption algorithm provided in one embodiment of this application;
[0045] Figure 2 A flowchart illustrating the SILC authentication encryption algorithm;
[0046] Figure 3 A diagram illustrating the fault propagation process during the generation of authentication labels;
[0047] Figure 4 This is a flowchart illustrating the process of determining whether the master key can be recovered in one embodiment of this application;
[0048] Figure 5 This is an internal structural diagram of a computer device provided in one embodiment of this application. Detailed Implementation
[0049] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0050] This application provides a method for detecting latent fault attacks in the SILC-authenticated encryption algorithm. Please refer to [link / reference]. Figure 1 This includes steps S102 to S108.
[0051] S102, obtain multiple authentication tags output by the target encryption device to obtain a tag set.
[0052] It can be understood that the target encryption device is the device that needs to be detected for fault attacks. The target encryption device uses SILC authentication encryption mode. In SILC authentication encryption mode, the target encryption device generates a hash value based on the associated data and random number corresponding to the plaintext message, obtains the ciphertext message based on the hash value and the plaintext message, and then obtains the authentication tag based on the hash value and the ciphertext message. For details, please refer to [link to documentation]. Figure 2 The generation of hash values utilizes Figure 2 The ciphertext message is generated using a hash function. In the hash function, A represents the associated data corresponding to the plaintext message, and N represents a randomly generated number. The output of the hash function is the hash value V. Figure 2 The ENC function in the code uses V as its input, representing the hash value output by the HASH function, and M as the plaintext message to be encrypted. The output of the ENC function is the ciphertext message C. The generation of the authentication tag utilizes... Figure 2 The PRF function is implemented in [the code / framework]. In the PRF function input, V represents the hash value output by the HASH function, and C represents the encrypted message. The output of the PRF function is the authentication tag T. Figure 2 The DEC function in the code will be used to decrypt ciphertext messages. Its input C represents the ciphertext message C to be decrypted, and V represents the hash value V corresponding to the ciphertext message C.
[0053] In SILC-authenticated encryption mode, to ensure data security and integrity, the target encryption device performs a series of complex calculations on the plaintext messages to be processed. Each plaintext message has a corresponding ciphertext message and authentication tag. This step involves continuously collecting authentication tags generated during the actual operation of the target encryption device, obtaining multiple such authentication tags, and forming a set. This tag set will serve as the foundational data source for subsequent analysis of whether the target encryption device has suffered from hidden fault attacks.
[0054] S104, set up multiple sets of subkey candidate sets. Each set of subkey candidate sets corresponds to a fault import position, and the subkey candidate set exhaustively lists all subkey candidate values affected by the fault after the fault is imported at the corresponding fault import position.
[0055] It's understandable that a latent fault attack won't cause the encryption algorithm to output incorrect information. However, a latent fault introduced at a specific location will cause the distribution of certain bits in the intermediate state value of the authentication tag to cluster towards a specific value, and this clustering trend will ultimately be reflected in the authentication tag. Based on the authentication tag, it's possible to deduce which bits in the intermediate state value were affected. These bits are only affected by the subkey's value at certain locations. By exhaustively listing the subkey's value at these locations, we can obtain the subkey candidate values that affect the intermediate state value at a specific location under a fault introduction scenario, thus obtaining a subkey candidate set. Based on the specific clustering of the intermediate state values, we can deduce which of the subkey candidate values is the correct subkey value. Furthermore, since the bits affected by different fault introduction locations are different, there is a one-to-one correspondence between each subkey candidate set and the fault introduction location. The introduction of a latent fault can be achieved by changing the environment of the target encryption device, specifically by altering physical factors such as clock, voltage, humidity, radiation, pressure, light, and eddy currents.
[0056] S106, determine whether the master key can be recovered based on the tag set and the candidate sets of each group of subkeys.
[0057] It is understandable that the tag set reflects the authentication tags output by the target encryption device over a period of time. If an attacker implements a hidden fault attack, they need to deduce the aggregation trend of intermediate state values based on the authentication tags, and then deduce partial values of the subkeys. By repeatedly applying hidden faults to the target encryption device, they can obtain partial values of multiple sets of subkeys, thus having the opportunity to recover the complete subkey. The key expansion algorithm between the subkey and the master key is known; as long as the complete subkey is recovered, the master key can be successfully recovered, thereby cracking the ciphertext message. Therefore, assuming the master key of the target encryption device is in a secure state, the intermediate state values will not exhibit statistically significant aggregation problems, or the attacker can only recover a portion of the subkey, making it impossible to recover the master key based on the tag set and each set of candidate subkeys. However, if the master key can be successfully recovered based on the tag set and each set of candidate subkeys, it means that the target encryption device has necessarily undergone a hidden fault attack. Therefore, in this embodiment, the criterion for determining whether a hidden fault attack has occurred is whether the master key can be recovered.
[0058] S108, if so, then it is determined that the target encryption device has suffered a hidden fault attack within a preset period.
[0059] This scheme requires obtaining a tag set consisting of multiple authentication tags output by the target encryption device. Then, multiple sets of subkey candidate sets are set, each corresponding to a specific fault import location. The scheme exhaustively lists all subkey candidate values affected by the fault import, thus comprehensively considering the abnormal conditions of subkeys under different fault scenarios. Next, it determines whether the master key can be recovered based on the tag set and each subkey candidate set. If it can be recovered, the target encryption device is determined to have suffered a hidden fault attack within a preset period. This scheme helps to detect and respond to hidden fault attacks that may lead to master key leakage or encryption system failure as early as possible, effectively ensuring the encryption security of the target encryption device and the confidentiality and integrity of related information.
[0060] In one embodiment, please refer to Figure 3 The process of generating an authentication tag by the target encryption device requires 32 rounds of computation. The intermediate state value of the current round is obtained from the subkey value corresponding to the current round and the intermediate state value of the previous round in the first 31 rounds of computation. Figure 3 middle This is the intermediate state value of round 29, which is based on the subkey rk from round 30. 30 The intermediate state value of round 30 is obtained. In the calculation of round 32, it will be based on the subkey value rk of round 32. 32 The authentication tag T is obtained by combining the intermediate state value from the previous round. In this embodiment, the latent fault imported in the intermediate state value of round 29 is considered a valid import. Figure 3As can be seen, the random half-byte fault injected into the intermediate state value in round 29 will gradually be passed on to the subsequent intermediate state values and the final authentication tag as encryption progresses. The fault introduced in round 29 will cause some bits of the intermediate state value processed in rounds 31 and 32 to cluster (i.e., the blue area in the figure). Figure 3 The example shown illustrates how a fault is introduced in the 0th half-byte of the intermediate state value in round 29. The subkeys affected by the fault are bits 0, 16, 32, and 48 in round 31, and bit 4j-4 in round 32. The total number of bits is 20, and each bit can take the value of 0 or 1. The values of these affected bits are enumerated, while the values of the remaining bits can be the same fixed values. Finally, the subkey candidate set only needs to include 2... 20 This significantly reduces the search space compared to exhaustively searching for 64-bit candidate values.
[0061] In one specific embodiment, the fault ingress location can be divided into four categories according to different fault propagation paths, and each category contains multiple byte locations. The first category is:
[0062] The hidden fault imports the i-th half-byte of the intermediate state value in round 29 and At that time, a fault at the fault-introduction position of type I affects the value of the subkey at bits i, i+16, i+32, and i+48 in round 31, and affects the value of the subkey at bits 4j-4 in round 32. .
[0063] The second category is: a hidden fault imports the i-th half-byte of the intermediate state value in round 29, and... At that time, a fault at the fault-introduction position of the second type affects the value of the subkey at bits i, i+16, i+32, and i+48 in round 31, and affects the value of the subkey at bit 4j-3 in round 32. .
[0064] The third category is: a hidden fault imports the i-th half-byte of the intermediate state value in round 29, and... At that time, a fault at the fault-introduction position of the third type affects the value of the subkey at bits i, i+16, i+32, and i+48 in round 31, and affects the value of the subkey at bit 4j-2 in round 32. .
[0065] The fourth category is: a latent fault imports the i-th half-byte of the intermediate state value in round 29, and... At that time, a fault at the fault-introduction position of type 4 affects the value of the subkey at bits i, i+16, i+32, and i+48 in round 31, and affects the value of the subkey at bit 4j-1 in round 32. .
[0066] In one embodiment, to determine whether the master key can be recovered based on the tag set and each set of candidate subkeys, please refer to [link to relevant documentation]. Figure 4 This includes steps S402 to S408.
[0067] S402 divides the tag set into multiple sub-tag sets.
[0068] It can be understood that a sub-tag set is a smaller set obtained by dividing the complete tag set according to certain rules or requirements. Each sub-tag set contains a portion of the authentication tags from the original tag set. Considering that the complete tag set may lead to significant clustering of intermediate state values in multiple different locations, making targeted analysis difficult, dividing the tag set can eliminate this situation, allowing the sub-tag sets to distinguish which clustering is most significant.
[0069] S404, For any sub-label set, match the subkey candidate set with the sub-label set to determine the target subkey candidate set corresponding to each sub-label set.
[0070] It is understandable that different clustering patterns represent the effects of latent faults on different bits of the subkey, and only a specific set of subkey candidate sets will cause the intermediate state values corresponding to the subtag sets to cluster at their respective positions. Therefore, it is necessary to find the corresponding subkey candidate set for each subtag set.
[0071] Specifically, this step involves selecting each subkey candidate set to match the subtag set, with the selected subkey candidate set becoming the current subkey candidate set. The current subkey candidate set is then iterated through, and the iterated subkey candidate values are determined as the target subkey candidate values. Based on the target subkey candidate values and the authentication tags in the subtag set, the intermediate state values corresponding to the target subkey candidate values and each authentication tag in round 29 are determined, resulting in the set of intermediate state values corresponding to the target subkey candidate values. Specifically, to determine the intermediate state values in round 29, the target subkey candidate values and authentication tags can be input into the following expression to obtain the intermediate state values corresponding to the target subkey candidate values and each authentication tag in round 29:
[0072]
[0073]
[0074] in, The target subkey candidate value and the intermediate state value of each authentication tag in round 29. This represents the inverse operation of nonlinear layer operations. This represents the inverse operation of a linear layer operation. For certification labels Simplified intermediate value, rk 31 and rk 32 These are the target subkey candidate values for rounds 31 and 32, respectively, where ck0 is rk. 32 The simplified intermediate value, ck1 is rk 31 The simplified intermediate value. rk in this step 32 and rk 31 and Figure 3 The differences in Figure 3 The subkey can be any value; only candidate subkey values need to be entered here.
[0075] After obtaining the set of intermediate state values, the maximum likelihood estimate of how the intermediate state value in round 29 is affected by the fault ingress location corresponding to the target subkey candidate value can be determined. The maximum likelihood estimate reflects whether multiple intermediate state values corresponding to the sub-label set exhibit clustering under the influence of the subkey candidate values in the current subkey candidate set. If the difference between the maximum likelihood estimates is less than a first threshold, it indicates that no clustering has occurred, and the current subkey candidate set is determined to be mismatched with the sub-label set. Otherwise, the current subkey candidate set can be determined to be the target subkey candidate set corresponding to the sub-label set.
[0076] S406, determine the correct subkey from the subkey candidate values contained in each target subkey candidate set.
[0077] Specifically, the correct subkey value can be selected as the target subkey candidate value that has the largest maximum likelihood estimate. In the presence of latent faults, different subkey candidate values will lead to different clustering of intermediate state values due to the impact of the latent fault on different bits. The correct subkey should be the value among all possible subkey candidate values that best reflects the intermediate state value behavior that the encryption system should exhibit when operating normally under the influence of latent faults.
[0078] The candidate subkey with the largest maximum likelihood estimate indicates that, under this value, the aggregation of intermediate state values best matches the inherent pattern of the encryption system under the influence of latent faults. In other words, the candidate subkey corresponding to this value, when facing the impact of latent faults on each bit, enables the intermediate state values to exhibit the aggregation or distribution state that should be present in the normal encryption process, thus making it more likely to be the subkey actually used under normal operating conditions—that is, the correct subkey.
[0079] S408. If the complete subkey values for rounds 31 and 32 can be obtained based on all the correct subkeys, then it is determined that the master key can be recovered; otherwise, it is determined that the master key cannot be recovered.
[0080] It is understandable that the subkeys of rounds 31 and 32 can be used to reverse-engineer the master key using the following algorithm:
[0081]
[0082] in, This indicates a bitwise XOR operation. This indicates a join operation. This indicates that the string 'a' is logically shifted right by x bits. This represents a rightward shift of string 'a' by x bits. K is the master key. K is 80 bits in length. This represents the bits of K from high to low. Therefore, as long as the subkeys of rounds 31 and 32 are recovered, the master key can be recovered.
[0083] The expression used in the description of step S404 is derived based on the following simplification process. Specifically, the intermediate state value of round 30. Intermediate state value of round 29 The relationships between them are:
[0084] Where SL represents nonlinear layer operations, PL represents linear layer operations, and rk 30 This represents the subkey for round 30. The intermediate state value for round 31. Intermediate state value of round 30 The relationships between them are: . rk 31 This represents the subkey for round 31. The final authentication tag. Intermediate state value of round 31 The relationships between them are: Because of rk 30 Unaffected by half-byte faults, the above formulas can be simplified to the expression used in the description of step S404.
[0085] This application provides a device for detecting latent fault attacks on the SILC authentication encryption algorithm, including a data acquisition module, a setting module, and a judgment module.
[0086] The data acquisition module is used to acquire multiple authentication tags output by the target encryption device, obtaining a tag set. The target encryption device encrypts the data based on the SILC authentication encryption mode. The target encryption device generates a hash value based on the associated data and random number corresponding to the plaintext message, obtains the ciphertext message based on the hash value and the plaintext message, and then obtains the authentication tags based on the hash value and the ciphertext message.
[0087] The configuration module is used to set multiple sets of subkey candidate sets. Each set of subkey candidate sets corresponds to a valid import scenario, and each valid import scenario corresponds to a fault import location. The subkey candidate set exhaustively lists all subkey candidate values affected by the fault after importing a fault at the corresponding fault import location.
[0088] The judgment module is used to determine whether the master key can be recovered based on the tag set and the candidate sets of each group of subkeys, and if the judgment result is yes, it determines that the target encryption device has suffered a hidden fault attack within a preset period.
[0089] Specific limitations regarding the implicit fault attack detection device for the SILC authentication encryption algorithm can be found in the limitations of the implicit fault attack detection method for the SILC authentication encryption algorithm described above, and will not be repeated here. Each module in the aforementioned implicit fault attack detection device for the SILC authentication encryption algorithm can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module. It should be noted that the module division in this embodiment is illustrative and only represents a logical functional division; other division methods may be used in actual implementation.
[0090] This application provides a computer device, including one or more processors and a memory, in which computer-readable instructions are stored. When executed by one or more processors, the computer-readable instructions perform the steps of the implicit fault attack detection method of the SILC authentication encryption algorithm in any of the above embodiments.
[0091] Indicatively, such as Figure 5 As shown, Figure 5 This is a schematic diagram of the internal structure of a computer device provided in an embodiment of this application. (Refer to...) Figure 5 The computer device 500 includes a processing component 502, which further includes one or more processors, and memory resources represented by memory 501 for storing instructions, such as application programs, that can be executed by the processing component 502. The application programs stored in memory 501 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processing component 502 is configured to execute instructions to perform the steps of the implicit fault attack detection method for the SILC authentication encryption algorithm of any of the above embodiments.
[0092] This application provides a computer-readable storage medium storing computer-readable instructions. When executed by one or more processors, the computer-readable instructions cause the one or more processors to perform the steps of the implicit fault attack detection method of the SILC authentication encryption algorithm in any of the above embodiments.
[0093] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0094] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can be referred to each other.
[0095] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for detecting latent fault attacks in the SILC authentication encryption algorithm, characterized in that, include: Obtain multiple authentication tags output by the target encryption device to obtain a tag set; The target encryption device encrypts based on SILC authentication encryption mode. The target encryption device generates a hash value based on the associated data and random number corresponding to the plaintext message, obtains the ciphertext message based on the hash value and the plaintext message, and then obtains the authentication tag based on the hash value and the ciphertext message. Multiple sets of subkey candidate sets are set up; each set of subkey candidate sets corresponds to a fault import position, and the subkey candidate set exhaustively lists all subkey candidate values affected by the fault after the fault is imported at the corresponding fault import position. Determine whether the master key can be recovered based on the tag set and each group of subkey candidate sets; If so, it is determined that the target encryption device has suffered a hidden fault attack within a preset period.
2. The method for detecting latent fault attacks according to claim 1, characterized in that, The process of generating the authentication tag by the target encryption device requires 32 rounds of computation. The first 31 rounds of computation will obtain the intermediate state value of the current round based on the corresponding subkey value of the current round and the intermediate state value of the previous round. The 32nd round of computation will obtain the authentication tag based on the corresponding subkey value of the current round and the intermediate state value of the previous round. The implicit fault introduced in the intermediate state value of the 29th round is a valid introduction. The subkey candidate value includes the subkey value of a portion of the bits affected by the fault at the corresponding fault introduction position in the 31st and 32nd rounds.
3. The method for detecting latent fault attacks according to claim 2, characterized in that, The determination of whether the master key can be recovered based on the tag set and each group of subkey candidate sets includes: The tag set is divided into multiple sub-tag sets; For any set of sub-labels, the sub-key candidate set is matched with the set of sub-labels to determine the target sub-key candidate set corresponding to each set of sub-labels; Determine the correct subkey from the subkey candidate values contained in each of the target subkey candidate sets; If the complete subkey values for rounds 31 and 32 can be obtained based on all the correct subkeys, then it is determined that the master key can be recovered; otherwise, it is determined that the master key cannot be recovered.
4. The method for detecting latent fault attacks according to claim 3, characterized in that, The step of matching the subkey candidate set with the subtag set to determine the target subkey candidate set corresponding to each subtag set includes: Traverse the current set of subkey candidates and determine the traversed subkey candidate values as target subkey candidate values; Based on the target subkey candidate value and each authentication tag in the subtag set, determine the intermediate state value corresponding to the target subkey candidate value and each authentication tag in the 29th round, and obtain the intermediate state value set corresponding to the target subkey candidate value; Based on the set of intermediate state values, determine the maximum likelihood estimate of how the intermediate state value corresponding to the 29th round is affected by the fault introduction position corresponding to the target subkey candidate value when using the corresponding target subkey candidate value; If the difference between each of the maximum likelihood estimates is less than a first threshold, then it is determined that the current set of subkey candidates does not match the set of sublabels; Otherwise, the current set of subkey candidates is determined to be the target set of subkey candidates corresponding to the set of subtags.
5. The method for detecting latent fault attacks according to claim 4, characterized in that, The step of determining the intermediate state value corresponding to the target subkey candidate value and each authentication tag in the subtag set in round 29, based on the target subkey candidate value and each authentication tag in the subtag set, includes: By inputting the target subkey candidate value and the authentication tag into the following expression, the intermediate state values corresponding to the target subkey candidate value and each of the authentication tags in round 29 are obtained: in, The target subkey candidate value and the intermediate state value corresponding to each of the authentication tags in round 29. This represents the inverse operation of nonlinear layer operations. This represents the inverse operation of a linear layer operation. For the authentication label Simplified intermediate value, rk 31 and rk 32 These are the target subkey candidate values for rounds 31 and 32, respectively, where ck0 is rk. 32 The simplified intermediate value, ck1 is rk 31 The simplified intermediate value.
6. The method for detecting latent fault attacks according to claim 4, characterized in that, The step of determining the correct subkey from the subkey candidate values included in each of the target subkey candidate sets includes: The target subkey candidate value with the largest maximum likelihood estimate is selected as the correct subkey value corresponding to the target subkey candidate set.
7. The method for detecting latent fault attacks according to claim 2, characterized in that, The fault import locations are divided into four categories, the first category being: The latent fault imports the i-th half-byte of the intermediate state value in round 29 and At that time; the fault at the fault introduction position of the first type affects the value of the subkey in round 31 at bits i, i+16, i+32, and i+48, and affects the value of the subkey in round 32 at bits 4j-4. ; The second category is: a latent fault imports the i-th half-byte of the intermediate state value in round 29, and... At that time; the fault at the fault introduction position of the second type affects the value of the subkey in round 31 at bits i, i+16, i+32, and i+48, and affects the value of the subkey in round 32 at bits 4j-3. ; The third category is: a latent fault imports the i-th half-byte of the intermediate state value in round 29, and... At that time; the fault at the fault introduction position of the third type affects the value of the subkey in round 31 at bits i, i+16, i+32, and i+48, and affects the value of the subkey in round 32 at bit 4j-2. ; The fourth category is: a latent fault that imports the i-th half-byte of the intermediate state value in round 29, and... At that time; the fault at the fault introduction position in the fourth category affects the value of the subkey in round 31 at bits i, i+16, i+32, and i+48, and affects the value of the subkey in round 32 at bit 4j-1. .
8. A device for detecting latent fault attacks in the SILC authentication encryption algorithm, characterized in that, include: The data acquisition module is used to acquire multiple authentication tags output by the target encryption device to obtain a tag set; The target encryption device encrypts based on SILC authentication encryption mode. The target encryption device generates a hash value based on the associated data and random number corresponding to the plaintext message, obtains the ciphertext message based on the hash value and the plaintext message, and then obtains the authentication tag based on the hash value and the ciphertext message. The setting module is used to set multiple sets of subkey candidate sets; wherein each set of subkey candidate sets corresponds to a fault import position, and the subkey candidate set exhaustively lists all subkey candidate values affected by the fault after the fault is imported at the corresponding fault import position; The judgment module is used to determine whether the master key can be recovered based on the tag set and each group of subkey candidate sets, and if the judgment result is yes, it determines that the target encryption device has suffered a hidden fault attack within a preset period.
9. A computer device, characterized in that, The method includes one or more processors and a memory storing computer-readable instructions, which, when executed by the one or more processors, perform the steps of the method for detecting latent fault attacks using the SILC authentication encryption algorithm according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of the implicit fault attack detection method of the SILC authentication encryption algorithm as described in any one of claims 1-7.
Citation Information
Patent Citations
Method for detecting resistance of SILC authentication encryption algorithm to differential fault attacks
CN112532374A
Secret key leakage detection method of SILC (Subscriber Identity Link Control) algorithm
CN114124353A