Method for signature verification of Diithium signatures
By introducing random vector cancellation difference calculation into Dilithium signature verification, the vulnerability of Dilithium signature verification to fault injection attacks is solved, improving the security and robustness of signature verification and preventing malicious code injection and impersonation of legitimate communication.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SIEMENS AG
- Filing Date
- 2024-08-28
- Publication Date
- 2026-04-21
AI Technical Summary
Existing Dilithium signature verification methods are vulnerable to fault injection attacks, which can lead to malicious code injection into devices or impersonation of legitimate communication parties, resulting in data vulnerabilities and financial losses. Furthermore, post-quantum signature schemes lack sufficient security checks.
By introducing random vectors into Dilithium signature verification to replace the product difference evaluation of the matrix public key component and the vector signature component, robustness against fault injection attacks is increased. Specific methods include using pseudo-random vectors or noise-based random vectors to cancel the difference calculation.
This improves the robustness of signature verification, reduces the impact of fault injection attacks, and ensures the security and reliability of signature verification.
Smart Images

Figure CN121909620A_ABST
Abstract
Description
[0001] The present invention relates to a method for signature verification for Dilithium signatures, and to a computer program product and apparatus configured to perform the method.
[0002] Embedded devices rely heavily on digital signature verification to ensure the authenticity and integrity of data. During the boot process, the device verifies the digital signature of the firmware to ensure it has not been tampered with or modified. Similarly, software updates also use digital signatures for verification to ensure that only authorized and unaltered software is installed.
[0003] In addition, digital signatures are also used to verify the authenticity of communicating parties. When two devices communicate with each other, they exchange digital certificates that include digital signatures. These signatures are then verified to confirm that both parties are genuine and have not been impersonated.
[0004] However, if attackers manage to bypass or compromise the signature verification process, they can inject malicious code into the device or impersonate legitimate communication parties. This can lead to serious consequences, including data breaches, financial losses, and reputational damage. Therefore, ensuring secure and robust signature verification in embedded devices is crucial.
[0005] In July 2022, the National Institute of Standards and Technology (NIST) of the U.S. Department of Commerce selected three algorithms for digital signatures. [2]、 [3] and [4], as an alternative to digital signatures based on RSA and elliptic curves [5]. In particular, It is a good candidate for general-purpose applications because it offers more than Smaller signature.
[0006] However, for Verification routines may contain non-obvious attacks that developers might overlook. Therefore, in practice, these vulnerabilities may not be adequately protected against by appropriate countermeasures. This is particularly important for post-quantum signature schemes, as they are relatively new and may not have undergone the same level of scrutiny as established schemes. By identifying and testing these attack vectors, we can help improve the security of these schemes and prevent potential attacks in the future.
[0007] Therefore, in this context, the problem of the present invention is to provide an improved method for signature verification of Dilithium signatures. In particular, it is desirable that this method be less susceptible to malicious attacks. Furthermore, the problem of the present invention is to provide an apparatus configured to perform this method.
[0008] This problem of the present invention is solved by a method having the features claimed in claim 1 and by a device claimed in claim 5.
[0009] Preferred aspects of the invention are contained in the corresponding dependent claims, the following description, and the accompanying drawings.
[0010] The signature verification method for Dilithium signatures according to the present invention includes the following steps. - Consider a message with a Dilithium signature, which has a scalar signature component and two vector signature components. - Consider the public Dilithium key corresponding to the Dilithium signature, which has a matrix public key component and a vector public key component. - in Evaluation of the difference between the product of the matrix public key component and the vector public key component, which are based on the scalar signature component and the vector public key component, and the product of the scalar component. Replace with the following: The evaluation of the sum of the product of one of the matrix public key components and the vector signature components, and the sum of the other addends in the form of a random vector, the product of the scalar, and the difference between the vector public key components and the sum of the other addends in the form of a random vector.
[0011] Advantageously, compared with previously known methods, the previously described signature verification method for Dilithium signatures according to the invention is less susceptible to fault injection attacks.
[0012] The evaluation of the difference between the product of one of the matrix public key component and the vector public key component and the product of the scalar component, based on the scalar signature component and the vector public key component, can be susceptible to fault injection attacks, causing the evaluation of this difference to stop and the product of the scalar signature component and the vector public key component minus the scalar component to be omitted. Using such an attack, the verification of malicious Dilithium signatures can be performed incorrectly. However, in the present invention, if the evaluation of this difference is stopped and the subtrahend does not reduce the minuend, adding a random vector will distort the calculation. Since the same random vector is added to both the minuend and subtrahend in the aforementioned difference in the method according to the invention, the calculated random vector cancels out if the difference is evaluated without an injection attack. In the case of an injection attack that prohibits subtraction of the subtrahend, the random vector does not cancel out. This makes it impossible to verify malicious Dilithium signatures using such an attack. Therefore, according to the present invention, the method for signature verification is more robust to fault injection attacks and is thus improved.
[0013] Preferably, in the method according to the invention, the random vector is a pseudo-random vector.
[0014] Alternatively, and preferably, in the method according to the invention, the random vector is physically derived, preferably based on noise or a random vector derived from noise.
[0015] The computer program product according to the invention includes program commands that, when run on a computer, are configured to perform the method according to the invention as previously described.
[0016] The device according to the invention includes a processor, preferably a microprocessor, and the processor is configured to perform the method according to the invention as described above.
[0017] In a preferred and optional aspect of the invention, the device is an embedded device.
[0018] In an advantageous and optional aspect of the invention, the device is a manufacturing device and / or a logistics device and / or an Internet of Things (IoT) device, preferably an industrial IoT device.
[0019] The following describes specific embodiments for carrying out the invention.
[0020] Figure 1 The relevant parameters, as typically selected in the prior art and as described in Table I in the text, are shown.
[0021] As an example, this application demonstrates numerous non-trivial but practically simple and realistic fault injection attacks against verification routines of post-quantum signature schemes.
[0022] Even experienced developers may not consider the target portion of their code to defend against attacks, making it difficult to defend against such attacks. Therefore, attackers can trick devices into processing arbitrary, unauthenticated data and potentially even install software supplied by the attacker. If signature verification during the establishment of a secure communication session is compromised, an attacker can force the device to communicate with an unauthenticated party.
[0023] The following content provides information on... A more detailed description of the signature scheme. Subsequently, examples for... Attacks on signature verification are described. A practical assessment of the proposed attack is then provided. Possible countermeasures to defend against the proposed fault attack using the method according to the invention are subsequently described.
[0024] DILITHIUM signature verification.
[0025] We have given A brief description of the signature verification procedure. For For complete details of the signature scheme, we refer to the reader's reference. Standard[2].
[0026] Thoroughly inspect the ring (in This specification will The element of the hash function is represented as a byte string. Therefore, for example, we will apply the hash function to... The elements implicitly assume an encoding defined in the specification. The exact definition of such encoding is irrelevant to the purpose of this application and can be found in [2].
[0027] The specification [2] defines three variants targeting NIST security levels 2, 3, and 5 respectively (see
[16] , section 4.A.5, for the definitions of these security levels). Therefore, signature verification is parameterized. Figure 1 As depicted, we have given parameter values for three security levels in Table I. The specification lists more parameters, but we have only listed those related to signature verification.
[0028] A public key is a pair .
[0029] Existence function This function is used to convert bit strings. Expand into a matrix .so yes The compressed representation of . The signature is a triple. .
[0030] Please note that within the framework of this application, a vector can be represented as a character with an arrow above it, or equivalently as a character printed in bold. Therefore, as an example, and These will represent the same entity, and these symbols can be interchanged.
[0031] The signature verification procedure also calls the subroutine SampleInBall, which generates a pseudo-random 256-bit string based on the input seed, where exactly... The bit is equal to 1. Furthermore, a function is needed. The function Take a 256-character string ("hint") The vector and integer ("low-order rounding range") are used as inputs.
[0032] .
[0033] Fault attack targeting DILITHIUM signature verification.
[0034] We use the same notation as described above, and assume that the attacker has access to valid [access / resources]. Public Key and having the ability to utilize public keys To verify the validity sign A certain message .
[0035] We further assume that the attacker has physical access to the device, which only accepts users with public keys. The message whose signature is being verified.
[0036] The attacker wants to force the device to accept a message that the attacker does not have a valid signature for. .
[0037] Our attack consists of two steps: First, the attacker... Construct an invalid signature And then, using fault injection, force the device to accept it as... A valid signature. The key point is that it needs to be crafted with particular finesse. This makes such fault injection attacks practical.
[0038] To achieve this, the attackers proceeded as follows: 1) Calculation: (1) When verification When signing, the steps are the same as in Verification Procedure 2.
[0039] 2) Calculation: (2) This is the same step as in verification algorithm 1 in line 4, but in which... .
[0040] 3) Calculation: (3).
[0041] 4) Let And will have the claimed signature. News Send to the device for verification. Note that the component... and Taken from the real signature .
[0042] 5) During the signature verification process on the device, the attacker injects a fault to suppress the subtraction in Algorithm 1, line 4. .
[0043] If the fault injection is successful, the device will calculate the same value as the attacker did in step 2 of the attack. Therefore, the second part of the test in line 4 of Algorithm 1 becomes... The test was successful. This is certainly correct. The other two parts of the test also passed because they are components of the actual signature. and This is executed on the device. Therefore, the device will accept... As A valid signature.
[0044] Of course, the crucial step is the fault injection in step 5.
[0045] Countermeasures.
[0046] Clearly, common countermeasures against control flow manipulation (such as hardware instruction skipping) make most of the attacks presented in this application more difficult to implement in practice.
[0047] However, there are also more specific countermeasures that can be implemented to thwart our attacks.
[0048] For example, in response to the attack described above, the following can be performed: This implementation generates random... And then calculate and Then, the attacked step in Algorithm 1, line 4 becomes... (7).
[0049] If the attacker skips this subtraction, then the value calculated in line 4 of Algorithm 1 will have an overwhelming probability. Value not calculated by the attacker Therefore, signature verification is most likely to fail.
[0050] Existing technology reference.
[0051] [1] J. A. Muir, "Seifert's RSA fault attack: Simplified analysis andgeneralizations," in ICICS 06, ser. LNCS, P. Ning, S. Qing, and N. Li, Eds.,vol. 4307. Springer, Heidelberg, Dec. 2006, pp. 420-434。
[0052] [2] V. Lyubashevsky, L. Ducas, E. Kiltz, T. Lepoint, P. Schwabe, G.Seiler, D. Stehle, and S. Bai, "CRYSTALS-DILITHIUM," Na-' tional Institute ofStandards and Technology, Tech. Rep., 2022, available at https: / / csrc.nist.gov / Projects / post-quantum-cryptography / selected-algorithms-2022。
[0053] [3] T. Prest, P.-A. Fouque, J. Hoffstein, P. Kirchner, V.Lyubashevsky, T. Pornin, T. Ricosset, G. Seiler, W. Whyte, and Z. Zhang, "FALCON," National Institute of Standards and Technology, Tech. Rep., 2022,available at https: / / csrc.nist.gov / Projects / post-quantum-cryptography / selected-algorithms-2022。
[0054] [4] A. Hulsing, D. J. Bernstein, C. Dobraunig, M. Eichlseder, S. S.-L. Gazdag, P. Kampanakis, S. Kolbl, T. Lange, M. M. ridsen, F. Mendel, R. Niederhagen, C. Rechberger, J. Rijneveld, P. Schwabe,J.-P. Aumasson, B. Westerbaan, and W. Beullens, " ,'' NationalInstitute of Standards and Technology, Tech. Rep., 2022, available athttps: / / csrc.nist.gov / Projects / postquantumcryptography / selected-algorithms-2022。
[0055] [5] NIST, "NIST announces first four quantum-resistant cryptographicalgorithms,"https: / / www.nist.gov / news-events / news / 2022 / 07 / nistannounces-first-four-quantumresistant-cryptographic-algorithms, 2022, accessed 2022-12-21。
[0056] [6] N. Moro, K. Heydemann, E. Encrenaz, and B. Robisson, "Formalverification of a software countermeasure against instruction skip attacks,"Cryptology ePrint Archive, Report 2013 / 679, 2013, https: / / eprint.iacr.org / 2013 / 679。
[0057] [7] J.-M. Dutertre, T. Riom, O. Potin, and J.-B. Rigaud, "Experimental analysis of the laser-induced instruction skip fault model,"accessed 202305-03. [Online]. Available: https: / / hal.science / hal-02379754 / document。
[0058] [8] A. Menu, J.-M. Dutertre, O. Potin, J.-B. Rigaud, and J.-L.Danger, "Experimental analysis of the electromagnetic instruction skip faultmodel," accessed 2023-05-03. [Online]. Available: https: / / hal.science / hal-02572398 / document。
[0059] [9] J.-P. Seifert, "On authenticated computing and rsa-basedauthentication," in Proceedings of the 12th ACM Conference on Computer and Communications Security , ser. CCS '05. New York, NY, USA: Association forComputing Machinery, 2005, p. 122-127. [Online]. Available: https: / / doi.org / 10.1145 / 1102120.1102138。
[0060]
[10] L. G. Bruinderink and P. Pessl, "Differential fault attacks ondeterministic lattice signatures, " IACR ICHES , vol. 2018, no. 3, pp. 21-43,2018, https: / / tches.iacr.org / index.php / TCHES / article / view / 7267。
[0061]
[11] S. McCarthy, J. Howe, N. Smyth, S. Brannigan, and M. O'Neill, "BEARZ attack FALCON: Implementation attacks with countermeasures on theFALCON signature scheme," Cryptology ePrint Archive, Report 2019 / 478, 2019,https: / / eprint.iacr.org / 2019 / 478。
[0062]
[12] S. Bauer and F. D. Santis, "A differential fault attack againstdeterministic falcon signatures," Cryptology ePrint Archive, Paper 2023 / 422,2023, https: / / eprint.iacr.org / 2023 / 422. [Online]. Available: https: / / eprint.iacr.org / 2023 / 422。
[0063]
[13] N. Bindel, J. Buchmann, and J. Kramer, "Lattice-based schemes and their sensitivity to fault attacks," CryptologyePrint Archive, Report 2016 / 415, 2016, https: / / eprint.iacr.org / 2016 / 415。
[0064]
[14] P. Ravi, A. Chattopadhyay, and A. Baksi, "Side-channel andfaultinjection attacks over lattice-based post-quantum schemes (kyber,dilithium): Survey and new results," Cryptology ePrint Archive, Report 2022 / 737, 2022, https: / / eprint.iacr.org / 2022 / 737。
[0065]
[15] P. Ravi, B. Yang, S. Bhasin, F. Zhang, and A. Chattopadhyay, "Fiddling the twiddle constants - fault injection analysis of the numbertheoretic transform," IACR TCHES , vol. 2023, no. 2, pp. 447-481, 2023。
[0066]
[16] NIST, "Submission Requirements and Evaluation Criteria for thePost-Quantum Cryptography Standardization Process," 2016, accessed 2023-05-09.[Online]. Available:https: / / csrc.nist.gov / CSRC / media / Projects / Post-Quantum-Cryptography / documents / call-for-proposals-final-dec-2016.pdf。
[0067]
[17] M. J. Kannwischer, J. Rijneveld, P. Schwabe, and K. Stoffelen, "pqm4: Testing and benchmarking NIST PQC on ARM cortex-M4," Cryptology ePrintArchive, Report 2019 / 844, 2019, https: / / eprint.iacr.org / 2019 / 844。
[0068]
[18] G. Seiler, T. Lepoint, B. Hess, M. Baentsch, P. Schwabe, B.Westerbaan, V. Hanquez, M. J. Kannwischer, oittaa, J. Schanck, and zanxu-blackhorse, "Dilithium reference implementation v3.1 on github," accessed2023-04-28. [Online]. Available: https: / / github.com / pq-crystals / dilithium / tree / v3.1。
[0069]
[19] T. Pornin, "Falcon source files (reference implementation)vrfy.c," accessed 2023-05-03. [Online]. Available: https: / / falcon-sign.info / impl / vrfy.c.html。
[0070]
[20] D. Lazar, C. Peikert, and algoidan, "Deterministic falconimplementation," https: / / github.com / algorand / falcon, Accessed 2022-11-17。
[0071]
[21] O. M. Guillen, M. Gruber, and F. De Santis, "Low-cost setup forlocalized semi-invasive optical fault injection attacks - how low can we go "in COSADE 2017, ser. LNCS, S. Guilley, Ed., vol. 10348. Springer, Heidelberg,Apr. 2017,pp. 207-222。
[0072]
[22] T. Espitau, P.-A. Fouque, F. Gerard, M. Rossi, A. Takahashi, M.Ti-' bouchi, A. Wallet, and Y. Yu, "Mitaka: a simpler, parallelizable,maskable variant of falcon, " Cryptology ePrint Archive, Report 2021 / 1486,2021, https: / / eprint.iacr.org / 2021 / 1486。
[0073]
[23] C. Chuengsatiansup, T. Prest, D. Stehle, A. Wallet, and K.Xagawa,' "ModFalcon: Compact signatures based on module-NTRU lattices,"in ASIACCS 20, H.-M. Sun, S.-P. Shieh, G. Gu, and G. Ateniese, Eds. ACM Press,Oct. 2020, pp. 853-866。
Claims
1. A method for signature verification using Dilithium signatures, comprising the following steps: - Consider a message with a Dilithium signature, which has a scalar signature component and two vector signature components. - Consider the public Dilithium key corresponding to the Dilithium signature, which has a matrix public key component and a vector public key component. - in Evaluation of the difference between the product of the matrix public key component and the vector public key component, and the product of the scalar component, based on the scalar signature component and the vector public key component. Replaced by the following: The evaluation of the difference between the product of the matrix public key component and one of the vector signature components and the sum of the other addends in the form of a random vector, and the product of the scalar and the sum of the vector public key component and the other addends.
2. The method according to claim 1, wherein the random vector is a pseudo-random vector.
3. The method according to claim 1, wherein the random vector is physically derived, preferably a random vector based on noise or derived from noise.
4. A computer program product, comprising program commands that, when run on a computer, are configured to perform the method according to any one of the preceding claims.
5. An apparatus, comprising a processor, preferably a microprocessor, said processor being configured to perform the method according to any one of the preceding claims.
6. The device according to any one of the preceding claims has a computer program product according to claim 4, the computer program product being configured to run on a processor.
7. The device according to claim 5 or 6, wherein the device is an embedded device.
8. The device according to claim 5, 6 or 7, wherein the device is a manufacturing device.
9. The device according to any one of claims 5 to 8, wherein the device is a logistics device.
10. The device according to any one of claims 5 to 9, wherein the device is an Internet of Things (IoT) device, preferably an industrial IoT device.