KR100431286B1 - Method for preventing the CRT-based fault attack and apparatus thereof - Google Patents
Method for preventing the CRT-based fault attack and apparatus thereof Download PDFInfo
- Publication number
- KR100431286B1 KR100431286B1 KR10-2002-0002017A KR20020002017A KR100431286B1 KR 100431286 B1 KR100431286 B1 KR 100431286B1 KR 20020002017 A KR20020002017 A KR 20020002017A KR 100431286 B1 KR100431286 B1 KR 100431286B1
- Authority
- KR
- South Korea
- Prior art keywords
- error
- calculating
- crt
- chinese
- attack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 중국인 나머지 정리(CRT) 기반의 오류 공격에 대응하는 방법 및 그 장치를 개시한다.The present invention discloses a method and apparatus for responding to a Chinese remainder theorem (CRT) based error attack.
본 발명은 소수에 대해 공개모듈러스과(이때) 를 만족하는 공개키와 비밀키를 사용하는 RSA 공개키암호의 복호화 또는 전자서명 생성을 위한 비밀연산의 연산방법을의 하나의 소인수와 관련된 연산단계에서 오류가 생기면 그 오류가의 다른 소인수와 관련된 연산단계의 오류로 확산될 수 있도록 하여, 효율성을 개선하기 위해 널리 사용되는 CRT(중국인 나머지 정리)를 이용한의 계산에서 생길 수 있는 CRT 오류공격을 견디는 효과가 있다. 본 발명에 따른 연산 방법은 기존의 RSA 시스템에 사용되는 핵심인 모듈라 연산 엔진의 구조를 변경하지 않으므로 기존 시스템과 완전한 호환성을 갖는다. 안전성을 결정짓는 비교 연산이 없으므로 안전성에 대한 신뢰를 높여 주며, 하나의 인수에 대한 오류가 있으면 다른 인수에까지 그 오류가 파급되어 원래의 오류로 인한의 인수분해를 불가능하게 함으로써 안전하게 CRT 오류에 대한 방어를 할 수 있다.The present invention is a minority About Modulus and (At this time Public key satisfying And secret key Secret operation for decryption or digital signature generation of RSA public key password Operation method If an error occurs in the operation stage associated with one prime factor in, the error By using the widely used CRT (Chinese Restoration Theorem) to improve efficiency, it can spread to errors in the computational stages associated with other prime factors. It is effective to withstand CRT error attacks that can occur in the calculation of. Since the calculation method according to the present invention does not change the structure of the modular calculation engine, which is the core used in the existing RSA system, it is fully compatible with the existing system. There is no comparison operation that determines safety, which increases confidence in safety, and if there is an error for one argument, the error is propagated to the other arguments. You can safely defend against CRT errors by disabling the factorization of.
Description
본 발명은 보안 분야에 관한 것으로서, CRT 기반의 오류 공격에 대응하며, 특히 RSA 암호 시스템에 대한 CRT 기반의 오류 공격에 대응하는 방법과 그 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the field of security, and more particularly, to a method and an apparatus corresponding to a CRT-based error attack, and in particular to a CRT-based error attack on an RSA cryptosystem.
지금까지 암호학자들은 수학적 암호공격에 대해서만 안전한 암호 알고리듬을 개발해 왔다. 한편 최근에 데이터의 암복호 모델에서 전력소비, 수행시간, 오동작 및 전자기파 방사 등과 같은 사이드 채널(side-channel)의 정보로 물리적인 방법의 공격이 가능하게 되었다.To date, cryptographers have developed secure cryptographic algorithms only for mathematical cryptographic attacks. Recently, in the encryption / decryption model of data, a physical method of attack is possible with side-channel information such as power consumption, execution time, malfunction, and electromagnetic radiation.
공개 채널상의 정보와 사이드 채널로 유출되는 정보를 이용하여 암호적인 공격이 가능한데, 이러한 공격을 일컬어 사이드 채널 공격 혹은 부채널 공격이라 한다. 사이드 채널 공격으로 1996년 Paul Kocher에 의해 제안된 시차공격이 최초이며, 이 공격 방법은 사이드 채널 상의 암호 연산의 수행시간 정보를 분석하여 비밀키를 알아내는 것이다.A cryptographic attack is possible using information on the public channel and information leaked to the side channel. Such an attack is called a side channel attack or a side channel attack. This is the first parallax attack proposed by Paul Kocher in 1996 as a side channel attack, and this attack method is to find out the secret key by analyzing the execution time information of the cryptographic operation on the side channel.
시차공격이외에도 암호연산 시에 오류를 주입하여 공격하는 오류공격, 암호 연산이 수행되는 시간동안 하드웨어를 통해 발산되는 전력의 소비량을 정보로 공격하는 전력분석공격 등이 제안되었다. 이와 같은 사이드 채널 공격들이 제안되기 전까지는 암호 알고리듬과 프로토콜은 수학적인 바탕에서만 안전하면 되는 것으로 인식되었으나 실제적으로 사이드 채널 공격들이 성공적인 공격 방법과 실험 결과들을 제시함으로 인해 이제는 암호 알고리듬과 프로토콜을 구현할 시에는 사이드 채널 공격에 대해 안전한지를 반드시 고려하여야 한다.In addition to parallax attacks, error attacks that inject errors into cryptographic operations and attack them, and power analysis attacks that attack information consumption on power dissipated through hardware during the time of cryptographic operations are proposed. Until these side channel attacks were proposed, cryptographic algorithms and protocols were recognized to be safe only on the mathematical basis. However, in practice, since side channel attacks presented successful attack methods and experimental results, it is no longer possible to implement cryptographic algorithms and protocols. You must consider whether you are safe from side channel attacks.
본 발명에서는 중국인 나머지 정리(Chinese Remainder Theorem, 이하 'CRT' 라 함) 기반 RSA 암호 시스템에 대한 오류 공격에 대해서 다룬다. 특히 최근 Shamir가 특허로 제안한 대응방법을 분석하고 이를 개선한 본 발명에 따른 대응방법에 대해 자세하게 설명한다.The present invention deals with error attacks on the Chinese Remainder Theorem (CRT) based RSA cryptosystem. In particular, the countermeasure according to the present invention, which analyzes the countermeasure recently proposed by Shamir and improves it, will be described in detail.
RSA 공개키(서명 검증키) 암호기법에서 비밀키 연산(RSA를 사용한 암호화 기법이라면 복호화에 비밀키 연산이 들어가는 것이고, RSA를 이용한 전자서명기법이라면 서명 생성시에 비밀키 연산이 필요하게 됨)에 요구되는 연산량을 줄이기 위해 CRT를 비밀키 연산에 적용시키는 방법이 많이 사용되고 있다.In RSA public key (signature verification key) cryptography, a secret key operation (in case of RSA encryption, a secret key operation is involved in decryption, and in RSA digital signature technique, a secret key operation is required for signature generation). In order to reduce the amount of computation required, there are many methods to apply CRT to secret key operation.
이하에서는 대표적인 공개키 암호 시스템인 RSA 공개키 암호 시스템에 대해서 사이드 채널 공격으로 알려진 오류 공격 방법에 대해 기술한다.Hereinafter, an error attack method known as a side channel attack for an RSA public key cryptosystem, which is a representative public key cryptosystem, will be described.
- 오류 공격 방법(fault cryptanalysis)Fault cryptanalysis
1996년 Bellcore사의 D. Boneh et al.은 "New threat model breaks crypto codes: a new 'Potential serious problem' was reported"라는 논문에서 RSA 공개키 암호 방식에서의 새로운 공격방법인 하드웨어 오류 공격(hardware fault cryptanalysis, 이하 fault analysis 혹은 fault attack)을 처음으로 소개하였다. 오류 공격 방법은 공격 대상에 대해 능동적인 조작을 가하지 않고 단지 암호 알고리듬의 수행 시간, 소비 전력 등의 정보만을 취하는 시차 공격 방법과 전력 공격 방법과는 달리 능동적인 사이드 채널 공격 방법으로 분류된다. 왜냐하면 공격자가 능동적으로 공격대상인 암호 장치에 의도적인 오류를 주입할 수 있는 상황을 전제로 하기 때문이다.In 1996, Bellcore's D. Boneh et al. Reported in the paper "New threat model breaks crypto codes: a new 'Potential serious problem' was reported," hardware fault cryptanalysis, a new attack on RSA public key cryptography. For the first time, a fault analysis or fault attack was introduced. The error attack method is classified into an active side channel attack method, unlike a parallax attack method and a power attack method that take only information such as execution time and power consumption of a cryptographic algorithm without active manipulation of an attack target. This is because it presupposes a situation in which an attacker can intentionally inject an error into the cryptographic device that is being attacked.
이하에서는 현재까지 알려진 공개키 암호에 대한 오류 공격 방법 중 RSA 공개키 암호 시스템에 대한 오류 공격 방법을 CRT 방식의 유무에 따라 두 가지 경우로 분류하여 그 공격방법들을 설명한다.Hereinafter, the error attack methods for the RSA public key cryptosystem are classified into two cases according to the presence or absence of the CRT method.
- RSA 암호 시스템에 대한 오류 공격 방법-How to attack errors on RSA cryptosystems
CRT를 사용하지 않는 RSA 암호 시스템에 대한 오류 공격은 Boneh와 DeMillo, Lipton에 의해 처음으로 제안되었다. 이 오류 공격 방법을 레지스터 오류 공격이라고 한다.Error attacks against RSA cryptosystems that do not use CRT were first proposed by Boneh, DeMillo, and Lipton. This error attack method is called a register error attack.
Bao et al.과 Joye et al.은 각각 RSA 암호 시스템에 transient 오류를 이용한 공격을 제안하였다. 이외에도 Yen et al.에 의해 safe-error를 이용한 오류 공격 등도 제안되었다.Bao et al. And Joye et al., Respectively, proposed transient attacks using RSA cryptosystems. In addition, Yen et al. Proposed an error attack using safe-error.
이하 CRT 기반의 RSA 암호 시스템에 대한 오류 공격 방법에 대해 설명한다.Hereinafter, an error attack method for the CRT-based RSA cryptosystem will be described.
- CRT를 이용한 RSA 서명 생성 방법-Method of Generating RSA Signature Using CRT
소수에 대해 공개모듈러스과(이때)를 만족하는 공개키와 비밀키를 사용하는 RSA 공개키암호의 복호화 또는 전자서명 생성을 위한 비밀연산을 CRT를 이용하여 계산하는 방법을 간략히 설명하면 아래와 같다. 편의상를 메시지 m에 대해 서명이라고 부른다. CRT 기반의을 계산하는 방법은 다음의 순서를 거친다.decimal About Modulus and (At this time Public key satisfying And secret key Secret operation for decryption or digital signature generation of RSA public key password Briefly explaining the method using the CRT as follows. For convenience Is called the signature for message m. CRT based How to calculate the following steps.
서명자는 p와 q를 이용하여 다음의 식을 생성한다.The signer uses p and q to generate the following equation:
, 여기서 , here
, 여기서이고., here ego .
여기서는 사전에 계산될 수 있다.here Can be calculated in advance.
상기의 경우 CRT를 사용하였을 경우의 연산 속도의 향상을 검증하면 아래와 같다.In the above case, the improvement of the calculation speed when the CRT is used is as follows.
만약이 k 비트의 크기를 가지는 정수라 하면,를 square-and-multiply 알고리듬을 사용하여 구현하면 총 수행 시간은에 비례한다. 그에 비해 CRT를 사용한 경우에 square-and-multiply 알고리듬으로 모듈라 멱승을 구현하면, 각각의 모듈러스에 대하여 멱승의 수행 시간은에 비례하며, 총 서명 생성에는 두 번의 모듈라 멱승이 필요하므로 총 수행시간은에 비례한다. 그러므로, CRT를 사용하는 RSA의 서명생성은 CRT를 사용하지 않은 RSA의 서명 생성보다 이론적으로는 4배 정도로 빠르게 수행되어 진다.if If this is an integer with a size of k bits, Is implemented using the square-and-multiply algorithm, the total execution time is Proportional to On the other hand, if you use the CRT and implement the modular power with the square-and-multiply algorithm, each modulus The execution time of the power against Is proportional to the total signature generation and requires two modular powers. Proportional to Therefore, signature generation of RSA using CRT is theoretically performed four times faster than signature generation of RSA without CRT.
- CRT 기반의 RSA 암호 시스템에 대한 오류 공격-Error attack on CRT based RSA cryptosystem
Boneh 등은 상기 [수학식 1]의 서명생성과정에서둘 중 어느 하나만 정확한 값이 아니면 동일한 하나의 메시지에 대해 두 개의 서명(하나의 정확한 서명과 하나의 틀린 서명)을 가진 공격자가을 소인수 분해하는 공격이 가능하다고 제안하였다. 이때에 상기의 CRT 기반 RSA 암호 시스템의 오류 공격은 하나의 평문 메시지에 대하여 오류가 발생한 서명과 발생하지 않은 서명, 두 개의 서명을 필요로 한다.Boneh et al. In the signature generation process of Equation 1 If either is not the correct value, an attacker with two signatures (one exact signature and one wrong signature) for the same message It is proposed that the attack to decompose In this case, the error attack of the CRT-based RSA cryptosystem requires two signatures, one for the plain text message and one for the plain text message.
이후에 Lenstra 등은 하나의 오류가 발생한 서명만 가지고 있는 공격자가 오류 공격을 할 수 있는 방법을 제안하였다. 이 방법에서는 이는 하나의 오류 서명을 가지고 있는 공격자라도 오류 공격이 가능하다는 것을 보여준다. 이는 Boneh 등이 제안한 최초의 오류 공격보다 제약조건이 줄어든 것이므로 보다 실제적이고 강력한공격이라 말할 수 있다.Later, Lenstra et al. Proposed a method in which an attacker who had only one error signature could launch an error attack. In this way, this shows that even an attacker with a single error signature can do so. This is a more realistic and powerful attack because it has fewer constraints than the first error attack proposed by Boneh et al.
Boneh 등과 Lenstra 등이 제안한 CRT 기반의 RSA 공개키 암호 시스템에 대한 오류 공격은 오류의 발생원인에 대해서 제약을 받지 않는다. 즉,의 계산과정에서의 오류가 하나의 하드웨어상의 오류이든지, 여러 개의 원인에 의한 오류든지, 혹은 소프트웨어 상의 버그에 의한 것일지라도 그 원인과는 상관없이인 오류만 발생하는 것을 가정으로 하였기 때문에, 이러한 CRT 기반의 RSA 공개키암호방식에 대한 오류 공격은 여러 가지의 오류 공격 중 가장 강력하고 일반적인 공격으로 분류된다.The error attack on CRT-based RSA public key cryptosystem proposed by Boneh et al. And Lenstra et al. Is not limited to the cause of error. In other words, The error in the calculation of the error may be due to one hardware error, one due to multiple causes, or one due to a bug in the software. Since it is assumed that only error is generated, the error attack on CRT-based RSA public key cryptography is classified as the most powerful and common attack among various error attacks.
상기와 같은 공격 방법에 대해 방어를 하는 종래의 방법들은 많은 연산량을 요구하며, 영구적인 결함을 가지고 있는 시스템의 경우에 오류가 생성되었는지를 검증할 방법이 없다.Conventional methods for defending against such an attack method require a large amount of computation, and there is no way to verify whether an error is generated in the case of a system having a permanent defect.
또한 오류에 대응하는 방안은 모듈라 연산에 필요한 연산량이 많아 연산의 효율성이 떨어지는 것을 피하는 경우에는 감지할 수 없는 오류가 존재할 경우가 확률적으로 높아지므로 안전성이 위협받을 수 있다. 또한 종래의 방법들은 하드웨어 오류 공격에 약하며, 대응하기 위한 구현에 있어 유연한 확장이 어렵다는 문제가 있다.In addition, in the case of avoiding errors, the method of dealing with errors is likely to increase the probability that there is an undetectable error. In addition, the conventional methods are vulnerable to a hardware error attack, and there is a problem that it is difficult to flexibly expand in an implementation to cope.
또한 종래의 기술들은 하나 혹은 그 이상의 비교 연산(혹은 그와 유사한 연산)을 사용해야 한다. 그런데 비교 연산 자체에 오류가 있을 수 있고 그러면 그 오류의 결과는 공격자에게 흘러갈 수 있으며, 인증에 필요한 서명이 누설될 가능성이 커지는 문제가 있다.The prior art also requires the use of one or more comparison operations (or similar operations). However, there may be an error in the comparison operation itself, and the result of the error may be passed to the attacker, and there is a possibility that the signature required for authentication is leaked.
본원 발명에 관련된 기술에 대한 참고문서는 다음과 같다. 다음의 참고문서에 기재된 기술들의 상세한 내용에 대해서는 별도로 설명하지 않는다.Reference documents for techniques related to the present invention are as follows. The details of the techniques described in the following references are not described separately.
- F. Bao, R.H. Deng, Y. Han, A. Jeng, A.D. Narasimbalu, and T. Ngair, "Breaking public key cryptosystems on tamper resistant devices in the presence of transient faults," In Pre-proceedings of the 1997 Security Protocols Workshop, Paris, France, 1997.F. Bao, R. H. Deng, Y. Han, A. Jeng, A.D. Narasimbalu, and T. Ngair, "Breaking public key cryptosystems on tamper resistant devices in the presence of transient faults," In Pre-proceedings of the 1997 Security Protocols Workshop, Paris, France, 1997.
- Bellcore Press Release, "New threat model breaks crypto codes," Sept. 1996 or D. Boneh, R.A. DeMillo, and R.J. Lipton, "On the importance of checking cryptographic protocols for faults," In Advances in Cryptology - EUROCRYPT '97, LNCS 1233, PP. 37-51, Springer-Verlag, 1997.Bellcore Press Release, "New threat model breaks crypto codes," Sept. 1996 or D. Boneh, R. A. DeMillo, and R.J. Lipton, "On the importance of checking cryptographic protocols for faults," In Advances in Cryptology-EUROCRYPT '97, LNCS 1233, PP. 37-51, Springer-Verlag, 1997.
- E.Biham and A. Shamir, "Differential Fault Analysis of Secret Key Cryptosystems," in Proceedings of Advances in Cryptology - CRYPTO '97, pp. 513-525, Springer-Verlag, 1997.-E. Biham and A. Shamir, "Differential Fault Analysis of Secret Key Cryptosystems," in Proceedings of Advances in Cryptology-CRYPTO '97, pp. 513-525, Springer-Verlag, 1997.
- M. Joye, J.-J.Quisquater, F. Bao, and R.H. Deng, "RSA-type signatures in the presence of transient faults," In Cryptography and Coding, LNCS 1355, pp. 109-121, Springer-Verlag, Berlin, 1997.-M. Joye, J.-J. Quisquater, F. Bao, and R.H. Deng, "RSA-type signatures in the presence of transient faults," In Cryptography and Coding, LNCS 1355, pp. 109-121, Springer-Verlag, Berlin, 1997.
- J. Keley, B. Schneier, D. Wagner, and C. Hall, "Side Channel Cryptanalysis of Product Cipher," in Proceedings of ESORICS '98, pp. 97-110, Springer- Verlag, Septemper 1998.-J. Keley, B. Schneier, D. Wagner, and C. Hall, "Side Channel Cryptanalysis of Product Cipher," in Proceedings of ESORICS '98, pp. 97-110, Springer- Verlag, Septemper 1998.
- P. Kocher, "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems," in Proceedings of Advances in Cryptology-CRYPTO '96, pp. 104-113, Springer-Verlag, 1996.P. Kocher, "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems," in Proceedings of Advances in Cryptology-CRYPTO '96, pp. 104-113, Springer-Verlag, 1996.
- P. Kocher, J. Jaffe, and B. Jun, "Introduction to Differential Power Analysis and Related Attacks," http://www.cryptography.com/dpa/technical, 1998.-P. Kocher, J. Jaffe, and B. Jun, "Introduction to Differential Power Analysis and Related Attacks," http://www.cryptography.com/dpa/technical, 1998.
- W. Schindler. "A Timing Attack against RSA with the Chinese Remainder Theorem," in Cryptographic Hardware and Embedded Systems - CHES2000, vol. 1965 of LNCS, pages 109-124. Springer-Verlag, August 2000.-W. Schindler. "A Timing Attack against RSA with the Chinese Remainder Theorem," in Cryptographic Hardware and Embedded Systems-CHES2000, vol. 1965 of LNCS, pages 109-124. Springer-Verlag, August 2000.
- A. Shamir, "How to check modular exponentiation," presented at the rump session of EUROCRYPT '97, Konstanz, Germany, 11-15th May 1997.A. Shamir, "How to check modular exponentiation," presented at the rump session of EUROCRYPT '97, Konstanz, Germany, 11-15th May 1997.
- A. Shamir, "Method and apparatus for protecting public key schemes from timing and fault attacks," United States Patent 5991415, Novemeber 23, 1999.A. Shamir, "Method and apparatus for protecting public key schemes from timing and fault attacks," United States Patent 5991415, Novemeber 23, 1999.
- S.M. Yen and M. Joye, "Checking before output may not be enough against faults-based cryptanalysis," IEEE Trans. on Computers, vol. 49, no. 9, pp. 967-970, Sept. 2000.-S.M. Yen and M. Joye, "Checking before output may not be enough against faults-based cryptanalysis," IEEE Trans. on Computers, vol. 49, no. 9, pp. 967-970, Sept. 2000.
본 발명이 이루고자 하는 기술적인 과제는, 상기의 문제점들을 해결하기 위해, 비교 연산과 같은 연산을 하지 않으며, 하나의 인수와 관련된 연산에 오류가발생하는 경우에 다른 인수와 관련된 연산에까지 영향을 미쳐 이전의 오류가의 소인수를 주는 것을 막기 때문에 CRT 기반의 암호 시스템의 CRT 오류에 안전하게 대응하는 방법과 장치를 제공하는 데 있다.Technical problem to be solved by the present invention, in order to solve the above problems, do not perform a calculation, such as a comparison operation, if an error occurs in the operation associated with one argument affects the operation associated with the other argument Error in It is to provide a method and device for safely responding to CRT errors in CRT-based cryptographic systems because it prevents the prime factor of.
도 1은 본 발명에 따라 RSA 암호 시스템에 대한 순차적 CRT 기반의 오류 공격에 대응하는 방법의 흐름을 도시한 것이다.1 illustrates a flow of a method corresponding to a sequential CRT based error attack on an RSA cryptosystem according to the present invention.
도 2는 본 발명에 따라 RSA 암호 시스템에 대한 병렬 CRT 기반의 오류 공격에 대응하는 방법의 흐름을 도시한 것이다.Figure 2 illustrates the flow of a method for responding to a parallel CRT based error attack on the RSA cryptosystem in accordance with the present invention.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 소수에 대해 공개모듈러스과(이때)를 만족하는 공개키와 비밀키를 사용하는 알에스에이(RSA) 공개키 암호의 복호화 또는 전자서명 생성을 위한 비밀연산이 순차적으로 계산되는 중국인 나머지 정리(CRT) 기반의 알에스에이 암호 시스템에 대한 오류 공격에 대응하는 방법은,Minority by this invention for solving the said technical problem About Modulus and (At this time Public key satisfying And secret key Secret operation for decryption of RSA public key cryptography or digital signature generation To counter this sequentially computed error attack against the Chinese Remnant Theorem (CRT) -based cipher system,
(a) 중간매개변수,(여기서은을 만족하는 작은 정수),을 계산하고, 주어진 메세지 m에 대해,를 각각 계산하는 단계;(a) intermediate parameters , (here silver Small integer to satisfy), , And for a given message m, Calculating each;
(b),,(b) , ,
을 순차적으로 계산하는 단계; 및 Sequentially calculating; And
(c) 중국인 나머지 정리를 사용한와(c) using the Chinese remainder theorem Wow
을 각각 계산한 후에, After calculating each of
서명값 s를으로 계산하여 서명값을 구하는 단계를 포함하는 것을 특징으로 한다.The signature value s Comprising the step of calculating the signature value characterized in that it comprises.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 소수에 대해 공개모듈러스과(이때)를 만족하는 공개키와 비밀키를 사용하는 알에스에이(RSA) 공개키암호의 복호화 또는 전자서명 생성을 위한 비밀연산이 병렬로 계산되는 중국인 나머지 정리(CRT) 기반의 알에스에이 암호 시스템에 대한 오류 공격에 대응하는 방법은,Minority by this invention for solving the said technical problem About Modulus and (At this time Public key satisfying And secret key Secret operation for decryption of RSA public key cryptography or digital signature generation This parallel countermeasure is a way to counter error attacks against the CRT-based RSC system.
(a) 중간 매개변수 ,(여기서은을 만족하는 작은 정수),을 계산하고, 주어진 메시지 m에 대해,를 각각 계산하는 단계;(a) intermediate parameters, (here silver Small integer to satisfy), , And for a given message m, Calculating each;
(b),를 각각 계산하는 단계; 및(b) , Calculating each; And
(c) 중국인 나머지 정리를 사용한와(c) using the Chinese remainder theorem Wow
을 계산한 후에, 서명값를으로 계산하여 서명값을 구하는 단계를 포함하는 것을 특징으로 한다. After calculating, the signature value To Comprising the step of calculating the signature value characterized in that it comprises.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 소수에 대해 공개모듈러스과(이때)를 만족하는 공개키와 비밀키를 사용하는 알에스에이(RSA) 공개키 암호의 복호화 또는 전자서명 생성을 위한 비밀연산이 순차적으로 계산되는 중국인 나머지 정리(CRT) 기반의 알에스에이 암호 시스템에 대한 오류 공격에 대응하는 장치는,Minority by this invention for solving the said another technical problem About Modulus and (At this time Public key satisfying And secret key Secret operation for decryption of RSA public key cryptography or digital signature generation The devices that respond to this sequentially computed error attack against the Chinese Remnant Theorem (CRT) -based encryption system,
중간매개변수,(여기서은을 만족하는 작은 정수),을 계산하고, 주어진 메세지 m에 대해,를 각각 계산하는 수단;Intermediate parameter , (here silver Small integer to satisfy), , And for a given message m, Means for calculating each;
,, , ,
을 순차적으로 계산하는 수단; 및 Means for sequentially calculating; And
중국인 나머지 정리를 사용한와을 각각 계산한 후에,Chinese rest using theorem Wow After calculating each of
서명값 s를으로 계산하여 서명값을 구하는 수단을 포함하는 것을 특징으로 한다.The signature value s It characterized in that it comprises a means for calculating the signature value by calculating.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 소수에 대해 공개모듈러스과(이때)를 만족하는 공개키와 비밀키를 사용하는 알에스에이(RSA) 공개키암호의 복호화 또는 전자서명 생성을 위한 비밀연산이 병렬로 계산되는 중국인 나머지 정리(CRT) 기반의 알에스에이 암호 시스템에 대한 오류 공격에 대응하는 장치에 있어서,Minority by this invention for solving the said another technical problem About Modulus and (At this time Public key satisfying And secret key Secret operation for decryption of RSA public key cryptography or digital signature generation In a device that responds to an error attack on the Chinese Remnant Theorem (CRT) -based Cryptographic System computed in parallel,
중간 매개변수 ,(여기서 r은을 만족하는 작은 정수),을 계산하고, 주어진 메시지 m에 대해,를 각각 계산하는 수단;Intermediate parameters, Where r is Small integer to satisfy), , And for a given message m, Means for calculating each;
를 각각 계산하는 수단; 및 Means for calculating each; And
중국인 나머지 정리를 사용한와Chinese rest using theorem Wow
을 계산한 후에, 서명값를으로 계산하여 서명값을 구하는 수단을 포함하는 것을 특징으로 한다. After calculating, the signature value To It characterized in that it comprises a means for calculating the signature value by calculating.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
CRT 기반 RSA 암호시스템에 대한 오류 공격 방법에 대한 종래의 대응 방안에 대해 설명한다. 특히 US Patent #5991415인 Shamir의 오류 공격 대응 방안을 간단하게 설명하고, 그 약점을 해결할 수 있는 본 발명에 따른 오류 공격 대응 방안에 대해 설명한다.The conventional countermeasures for the error attack method for the CRT-based RSA cryptosystem will be described. In particular, Shamir's error attack countermeasure of US Patent # 5991415 will be briefly described, and the error attack countermeasure according to the present invention will be described.
먼저 기존의 CRT 기반 RSA 오류 공격 대응 방안들에 대해 간단히 설명한다.First, the existing CRT-based RSA error attack countermeasures are briefly described.
지금까지 알려진 오류 공격 대응방법들 중 CRT 기반 RSA 암호시스템에 대한오류 공격에 대한 대응방법들은 대략 아래와 같이 분류된다.Among the known error attack countermeasures, the countermeasures against the error attack on the CRT-based RSA cryptosystem are roughly classified as follows.
1. CRT 오류 공격이과중 하나에 대해서만 오류가 생성되었다고 가정하므로, 가장 단순한 공격 방지법은 서명생성 시 두 개의 값과가 정당한지를 검사하는 방법이다. 이러한 방법들은과를 두 번 연산하거나 검증함수를 통해서 오류가 발생하였지를 검사하는 방법들인데 암호연산 자체가 많은 연산량을 요구하므로 매우 비효율적이다. 또한 영구적인 결함을 가지고 있는 시스템의 경우에 오류가 생성되었는지를 검증할 방법이 없으므로 이러한 대응방법들은 적절하지 못하다.1. CRT Error Attack and Since the error is generated only for one of the two methods, the simplest attack prevention method uses two values for signature generation. and It is a way to check if it is right. These methods and These two methods are used to check whether an error has occurred through a double operation or a verification function, which is very inefficient because the encryption operation itself requires a large amount of computation. Also, for systems with permanent defects, there is no way to verify that an error has been generated, so these countermeasures are not appropriate.
2. 두 번째 대응방법은 서명값에 대해 서명검증을 통해 다시 원래의 메시지로 복원하여 오류의 유무를 판별하는 방법인데, 이것 역시 추가적인 멱승 연산을 하고, 큰를 사용하는 경우 많은 연산이 소요되어서 부적절하다.2. The second countermeasure is back to the original message through signature verification on the signature value. It is a method of determining whether there is an error by restoring to If you use, it takes a lot of operation and is inappropriate.
앞에서 언급하였듯이 CRT 기반의 RSA 서명 오류 공격의 경우 여러 가지 오류 공격들 중에서 CRT 기반 오류 공격의 제약 조건이 적은 오류 발생을 전제로 하고 있어서 일반적이면서 강한 공격으로 알려져 있다. 상기 1, 2의 공격 대응 방안은 모두 검사 과정(checking procedure)를 통한 오류 발생을 확인하는 방식인데, 연산량이 많아서 효율성이 떨어지고, 검사과정 자체가 다른 오류공격의 대상이 될 수도 있고, 하드웨어의 영구적인 결함에 의한 것이라면 대응방안이 불가능하다는 단점이 있다.As mentioned above, the CRT-based RSA signature error attack is known to be a general and strong attack because it is based on the premise that fewer constraints of the CRT-based error attack occur. The attack countermeasures of 1 and 2 are methods for checking the occurrence of an error through a checking procedure, which are less efficient due to a large amount of calculation, and the inspection process itself may be the target of another error attack, and the hardware may be permanent. If it is caused by a defect, there is a disadvantage that countermeasures are impossible.
Shamir는 상기의 CRT 오류 공격에 대처할 수 있는 대응방안을 Eurocrypt'97Rump Session에서 제안하였고, 이 방안은 특허로 등록되어 있다(US Patent #5991415). Shamir의 대응방법이 가지는 장점은 CRT 기반의 시차 공격에 대해서도 견딜 수 있다는 점이다.Shamir proposed a countermeasure to cope with the above CRT error attack at Eurocrypt'97Rump Session, which is registered as a patent (US Patent # 5991415). The advantage of Shamir's response is that it can withstand CRT-based parallax attacks.
이러한 장점에도 불구하고 Shamir가 제안한 오류 대응 방안이 가지는 문제점은 다음과 같다. 이 방법은 임의의 수 r을 생성하여 이를 이용하는 데, 이때에 이론적으로 감지할 수 없는 오류의 확률이만큼 존재한다. 즉, r은 랜덤 수이므로 그 길이를 가변 시킬 수 있지만, 큰 r을 선택하게 되면 감지할 수 없는 오류가 존재할 확률이 줄어들지만 보다 큰 수에 대해서 모듈라 연산을 취해야 하므로 그만큼 연산의 효율성이 떨어지게 된다. 반대로 작은 r을 선택하면 연산의 효율성이 상대적으로 증가 하지만, 감지할 수 없는 오류가 존재할 경우가 확률적으로 높아지므로 안전성이 위협받을 수 있다. 충분한 안전성을 제공하기 위해서는 r의 비트수가 적어도 32비트가 되어야 한다고 한다.Despite these advantages, the problems with the error countermeasures proposed by Shamir are as follows. This method generates a random number r and uses it, where the probability of an error that is theoretically undetectable is As many exist. That is, since r is a random number, the length can be varied. However, if a large r is selected, the probability of an undetectable error is reduced. However, since the modular operation must be performed on a larger number, the operation efficiency is reduced. On the contrary, selecting a small r increases the efficiency of the operation relatively, but safety may be threatened because there is a probability that there is an undetectable error. In order to provide sufficient safety, the number of bits of r must be at least 32 bits.
그리고 검사 과정(Checking procedure)을 가지는 대응 장치는 하드웨어 오류 공격에 약하다. Shamir의 대응방안과 같은 검사과정(checking procedure)을 통한 대응 방안은 본질적으로 하드웨어 오류 공격에 약하고 새로운 오류 공격이 제안되었을 때 유연한 확장이 어렵다. (여기서 말하는 checking procedure는 상기의 1.에서과를 두 번 연산하는 과정, 2.에서의 서명을 검증하여 평문 메시지가 원래의 메시지인지 비교하는 과정, 혹은 Shamir의 대응방안에서을 확인하는 과정을 말한다.)And countermeasures with a checking procedure are vulnerable to hardware failure attacks. Countermeasures through checking procedures, such as Shamir's countermeasures, are inherently weak against hardware error attacks and are difficult to scale up when new error attacks are proposed. (The checking procedure here is from 1. and Is computed twice, the signature is verified in 2, the plain text message is compared to the original message, or in Shamir's countermeasures. Refers to the process of checking.)
이런 Shamir의 오류 대응 방안의 문제점을 극복하기 위해 본 발명은 검사과정(checking procedure)에 의존하지 않는 새로운 오류 대응 방법을 사용한다. 본 발명은 오류 공격에 대해 안전한 CRT기반의 연산 방법들에 대한 것이다. 이러한 CRT기반의 오류 공격에 견디는 본 발명에 따른 보안 방법을 설계할 때 가장 핵심적인 것은 다음과 같다.To overcome this problem of Shamir's error countermeasures, the present invention uses a new error response method that does not rely on a checking procedure. The present invention is directed to CRT-based computational methods that are safe against error attacks. When designing a security method according to the present invention to withstand such a CRT-based error attack is the most important is as follows.
1. 오류 대응을 위한 검사 과정이 없어야 한다.1. There should be no inspection process for error response.
2. 서명를 생성 시에에 오류가 발생하면 전체 서명뿐만 아니라에 영향을 미치도록 설계를 하자는 것이다. 물론에 오류가 발생하였을 경우도 마찬가지이다. 이는 검사(checking) 과정을 거치는 것이 아니라 오류(fault)가 주입되면 공격이 가능한 요인(즉, 인수분해를 가능하게 하는 요인)에 오류가 발생하여 사실상의 공격이 불가능하도록 한다는 개념(fault infective)이다.2. Signature At creation time If an error occurs in the It's designed to affect. sure The same is true when an error occurs. This is not a checking process, but a fault infective if a fault is injected and an attackable factor (i.e., a factor that enables factoring) will fail, making the actual attack impossible. .
이때에 상기의 2.와 같은 특성을 오류 전염적인 CRT 연산 (fault infective CRT computation)이라 정의할 수 있다.At this time, the characteristics as described above can be defined as fault infective CRT computation.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 중국인 나머지 정리(CRT) 기반의 알에스에이(RSA) 암호 시스템의 오류 공격에 대응하는 방법은, 중국인 나머지 정리를 이용하여 평문에 대한 서명에 대한 검증값을 구하는 소정의 인수들간에 하나의 인수와 관련된 연산에서의 소인수분해를 가능하게 하게 할 수 있는 오류가 생겨서 암호시스템에 대한 공격의 위험이 있는 경우에 상기 인수와 관련된 오류가 다른 인수에 대한 오류를 초래하게 하여 상기 검증값을 구하는 것을 방지하는 것을 특징으로 한다.According to the present invention for solving the above technical problem, a method for responding to an error attack of the Chinese CRT based RSA encryption system, the verification of the signature on the plain text using the Chinese residual theorem In operations involving a single argument between given arguments that return a value In the event that there is a risk of attack on the cryptographic system due to an error that can enable the prime factorization of, the error associated with the argument causes an error for another argument, thereby preventing the verification value from being obtained. do.
이에 대한 구체화된 본 발명에 따른 방안을 이하에서 설명한다.The method according to the invention embodied therein is described below.
도 1은 본 발명에 따른 순차적 CRT 기반의 RSA 암호 시스템의 오류 공격에 대응하는 방법의 흐름을 도시한 것이다.1 illustrates a flow of a method corresponding to an error attack of a sequential CRT based RSA cryptosystem according to the present invention.
RSA 알고리듬에 사용하는 파라메터이외에 추가적인 파라메터들을 사용한다.Use additional parameters in addition to those used in the RSA algorithm.
소수에 대해 공개모듈러스과(이때)를 만족하는 공개키와 비밀키를 사용하는 RSA 공개키암호의 복호화 또는 전자서명 생성을 위한 비밀연산을 계산한다.decimal About Modulus and (At this time Public key satisfying And secret key Secret operation for decryption or digital signature generation of RSA public key password Calculate
그 후에 본 발명에 따라 순차적인 중국인 나머지 정리(CRT) 기반의 알에스에이(RSA) 암호 시스템의 오류 공격에 대응하는 방법은 다음과 같다.After that, according to the present invention, a method for responding to an error attack of a sequential Chinese Restoration Theorem (RST) based RSA encryption system is as follows.
중간 매개변수 ,(여기서은을 만족하는 작은 정수),을 계산해서 주어진 m에 대해,를 각각 계산한다(100단계).Intermediate parameters, (here silver Small integer to satisfy), Calculate and for a given m, Calculate each (step 100).
이때에 gcd(a,b) 함수는 a, b의 최대 공약수를 나타내며,함수는 n에 대한 Euler totient 함수를 나타낸다.Where gcd (a, b) represents the greatest common divisor of a, b, Function represents the Euler totient function for n.
그리고,,을 순차적으로 계산한다(110단계).And , , Calculate sequentially (step 110).
그 후에,을 각각 계산하여After that , By calculating each
을 계산하여 서명 s를 구한다(120단계).To obtain the signature s (step 120).
상기의 방법에서 여러 가지 추가적인 파라메터를 서명에 이용할 수 있으며, 제대로 서명이 이뤄지는 지를 검증할 경우 다음과 같이 검증이 이뤄진다.In the above method, several additional parameters can be used for signing. When verifying that the signing is performed properly, verification is performed as follows.
도 1의 100 단계에서,In step 100 of FIG.
이 관계에서In this relationship
이므로Because of
따라서therefore
이고,ego,
이다. to be.
상기의 경우에 보면, 오류 대응을 위한 검사 과정이 없다. 또한 서명를 생성 시에에 오류가 발생하면에 오류가 발생하게 된다. 하나의 인수에 대한 정보가 유출되어 공격자가 공격할 수 있는 여지가 발생하는 경우라도 다른 인수에대한 오류가 발생하게 하여 공격자가 공격할 수 있는 계산식을 유도하지 못하게 된다.In this case, there is no check procedure for error response. Also signed At creation time If an error occurs in Will cause an error. Even if information about one argument is leaked and there is room for an attacker to attack, an error for the other argument will occur, preventing the attacker from attacking the formula.
도 2는 본 발명에 따른 병렬 CRT 기반의 RSA 암호 시스템의 오류 공격에 대응하는 방법의 흐름을 도시한 것이다.2 illustrates a flow of a method corresponding to an error attack of a parallel CRT based RSA cryptosystem according to the present invention.
도 1의 경우와 마찬가지로 도 2의 방법의 경우에도 RSA 알고리듬에 사용하는 파라메터이외에 추가적인 파라메터들을 사용한다.As in the case of FIG. 1, the method of FIG. 2 uses additional parameters in addition to those used in the RSA algorithm.
소수에 대해 공개모듈러스 n=pㆍq과(이때)를 만족하는 공개키 e와 비밀키 d를 사용하는 RSA 공개키암호의 복호화 또는 전자서명 생성을 위한 비밀연산을 미리 계산한다. 그리고 중간 매개변수 ,(여기서 r은을 만족하는 작은 정수),을 계산해서 주어진 m에 대해,를 각각 계산한다(200단계).decimal For open modulus n = p · q and (At this time Secret operation for decryption or digital signature generation of RSA public key password using public key e and secret key d satisfying Precalculate And the intermediate parameter, Where r is Small integer to satisfy), Calculate and for a given m, Calculate each (step 200).
를 각각 계산하고(210단계),,을 각각 계산하여 서명값 s를 계산한다(220단계). 즉, 서명값 s는 Are calculated respectively (step 210), , To calculate the signature value s by calculating each (step 220). That is, the signature value s
로 계산하여 서명값을 구한다.Calculate the signature value.
상기의 경우와 마찬가지로 오류 대응을 위한 검사 과정이 없다. 또한 하나의 인수에 대한 정보가 유출되어 공격자가 공격할 수 있는 여지가 발생하는 경우라도 다른 인수에 관련된 오류가 발생하게 하여 공격자가 공격할 수 있는 계산식을 유도하지 못하게 된다.As in the above case, there is no check process for error response. In addition, even if information about one argument is leaked and there is room for attackers to attack, errors related to other arguments may occur, preventing the attacker from attacking the formula.
본 발명에 따른 방법들은 종래의 기술에 비해 키에 의존적인 검사나 비교 연산을 사용하지 않는다. 종래의 기술들은 하나 혹은 그 이상의 비교 연산(혹은 그와 유사한 연산)을 사용해야 한다. 그런데 비교 연산 자체에 오류가 있을 수 있고 그러면 그 오류의 결과는 공격자에게 흘러갈 수도 있을 것이다.The methods according to the invention do not use key dependent checking or comparison operations compared to the prior art. Conventional techniques must use one or more comparison operations (or similar operations). However, there may be an error in the comparison operation itself, and the result of that error may be passed to the attacker.
다음은, 예를 들어 하드웨어 오류 때문에 부적절한 CRT 재조합(recombination)으로 비밀 프라임 팩터(secret prime factor)가 누설되는 경우를 위한 설명이다.The following is a description for the case where the secret prime factor is leaked due to improper CRT recombination due to a hardware error, for example.
다음의 경우는와모두 에러가 없는 것으로 가정한다.If Wow All assume that there are no errors.
가능한 CRT 재조합의 하나는 다음과 같이 계산된다.One possible CRT recombination is calculated as follows.
이때에는 미리 계산되어 저장된다. 상기의 방법은 Gauss 알고리즘이라고 불린다. 이때에를 위해 각각 소정 비트의 길이를 가지는 2개의 미리 계산된 값을 저장하는 것이 필요하다.At this time Is calculated in advance and stored. The above method is called Gauss algorithm. At this time It is necessary to store two precomputed values each having a length of a predetermined bit.
본 발명에 따른 도 1의 첫 번째 방법에서 참조번호 120 단계에서의 값 중의 하나가 (공격자나 EEPROM 에러 때문에 발생되는) 하드웨어 오류 때문에 정확하지 않은 값이라고 할 때에도 다음의 관계가 성립한다.In step 1 120 of the first method of the present invention, Even if one of the values of is incorrect due to a hardware error (caused by an attacker or EEPROM error), the following relationship holds:
그러므로는 미리 계산되어 저장된다면, 공격자나 EEPROM 에러 때문에 발생될 수 있는 오류가 있다하더라도은 p도 q도 제시하지 않는다.therefore Is calculated and stored in advance, even if there is an error that could be caused by an attacker or an EEPROM error. Neither p nor q.
잘 알려진 효율성이 개선된 CRT 재조합 방법인 Garner의 알고리즘이 있으며, 이의 계산은 다음과 같다.Garner's algorithm, a well-known and improved CRT recombination method, is calculated as follows.
불행히도,의 값에 오류가 있다면 본 발명에 따라 제안된 도 1의 첫 번째 방법의 120 단계에서 다음의 결과가 나온다.Unfortunately, If there is an error in, the following result is obtained in step 120 of the first method of FIG. 1 proposed according to the present invention.
합성수인 n은 다음과 같이 계산되어 인수분해 될 수 있다.The synthetic number n can be calculated and factored as
사실상 CRT 재조합에 대한 상기의 하드웨어 오류 공격은 일반적인 것이며 원래의 CRT 가속인 Shamir의 제안에 적용될 수 있으며, 본 발명에 따른 도 2의 두 번째 방법에도 적용될 수 있다. 그러나 원래의 Garner의 알고리즘은 상기에 언급된 하드웨어 오류 암호 해독을 피하기 위해 다음 식과 같이 변경되는 것이 바람직하다.In fact, the above hardware error attack on CRT recombination is general and can be applied to Shamir's proposal of the original CRT acceleration and also to the second method of FIG. 2 according to the present invention. However, the original Garner's algorithm is preferably modified as follows to avoid the hardware error decryption mentioned above.
이때에는 먼저 계산되어 미리 저장되는 것이 바람직하다. 이때에 [수학식 4]의 경우에는 미리 계산된 2개의 값을 저장할 것이 필요했지만 [수학식 9]의 경우에는 미리 계산된 1개의 값만을 저장하면 된다. 따라서 저장 용량을 줄이면서, 미리 계산되어야 할 값의 개수가 작으므로 계산 시간 면에서도 유리하다.At this time Is preferably calculated first and stored in advance. At this time, in the case of [Equation 4], it is necessary to store two values calculated in advance, but in the case of [Equation 9], only one value calculated in advance may be stored. Therefore, while reducing the storage capacity, the number of values to be calculated in advance is advantageous in terms of calculation time.
상기에 제안된 변형은 [수학식 1] 혹은 [수학식 4]의 원래의 것보다 약간 더 많은 계산을 필요로 한다. 그러나 X`의 값이 하드웨어 오류 때문에 바르지 않은 경우에도 CRT 재조합은 상기에 언급된 공격을 받더라도 여전히 안전하다는 것을 쉽게 확인할 수 있다.The modification proposed above requires slightly more calculations than the original one of Equation 1 or Equation 4. However, even if the value of X` is not correct due to a hardware error, it can be easily confirmed that CRT recombination is still safe even under the above-mentioned attack.
와의 오류에 전염된 계산으로 Gauss의 알고리즘과 변형된 Garner의 알고리즘 또한 오류 전염적인 속성은,나의 값이 바르지 않고, X의 값도 바르지 않다면, 다음 식과 같이 표시된다. Wow Gauss's algorithm and the modified Garner's algorithm are also error-converting properties. I If the value of is not correct and the value of X is not correct, it is expressed as follows.
그러므로와에 오류가 없다면 (또는 두 값 모두 바르지 않다면), n은를 계산해서는 인수분해 되지 않는다. CRT 재조합의 과정을 주의깊게 선택하면 CRT 기반의 하드웨어 오류 공격을 막는데 도움이 될 것이다.therefore Wow If there is no error (or if both values are incorrect), then n Is not factored. Careful selection of the process of CRT recombination will help prevent CRT-based hardware error attacks.
다음은 시차 공격 저항에 대한 개선된 본 발명에 따른 방법을 설명한다.The following describes an improved method according to the present invention for parallax attack resistance.
Shamir의 방법은 이진 탐색 접근에 의한 시차 암호 해독을 방어할 수 있다.Shamir's method can defend against parallax decryption by a binary search approach.
본 발명에 따른 도 1과 도 2의 방법에서연산에 대해서 이진 탐색 시차 암호해독이 가능하다.In the method of FIGS. 1 and 2 according to the invention Binary search parallax decryption is possible for operations.
a<q 인 경우에에 대한 연산에 아주 작은 시간이 걸린다고 가정한다. 시차 통계치를 관측하여 p의 값을 근사화 하기 위해 공격자가 고의적으로 비교적 큰 수과 비교적 작은 수를 반복하여 공급할 수 있다.if a <q Assume that the operation on takes very little time. To observe the parallax statistic and approximate the value of p, the attacker deliberately uses a relatively large number And a relatively small number Can be supplied repeatedly.
상기의 두 가지 시차 암호 해독에 대항하기 위해 본 발명에 따른 두 가지 보안 방법을 개선하기 위한 방법을 설명한다.A method for improving the two security methods according to the present invention to counter the two parallax decryption will be described.
모듈로 p(혹은 모듈로 q)에 대한 이진탐색 공격에 대항하기 위해 R >>p인 임의의 정수 R = kㆍp(k는 임의의 정수)를 선택한다. 그러면 CRT 계산을 위한(혹은) 파라메타를 얻기 위한 원래의 프로세스는 다음의 식과 같이 변형되는것이 바람직하다.To combat binary search attacks against modulo p (or modulo q), select any integer R = k · p where k is any integer. Then for the CRT calculation (or The original process for obtaining the parameters is preferably modified as follows.
이때에 R은 미리 마스킹(pre-masking)되어 사용되었으며,이기 때문에 나중에 마스킹(post-masking)하는 것은 필요하지 않다.를 계산하기 위해서는 임의의 정수 R이 kㆍq가 되기 위해 선택된다.At this time R was pre-masked and used. Because of this, it is not necessary to post-mask later. In order to calculate, an arbitrary integer R is chosen to be k · q.
(혹은) 연산에 대한 이진 탐색 공격에 대항하기 위해 임의의 정수 R = k ㆍp(k는 임의의 정수)를 선택한다. 그러면 kp(혹은 kq)를 계산하기 위한 원래의 과정은 다음의 식과 같이 변형되는 것이 바람직하다. (or Select an arbitrary integer R = k 占 p (k is any integer) to counter binary search attacks against the. Then, the original procedure for calculating k p (or k q ) is preferably modified as follows.
이때에 R은 미리 마스킹되어 사용되었으며,이므로 k는 나중에 마스킹되어 사용된 것이다.를 계산하기 위해서는 임의의 정수 R이 kㆍq가 되기 위해 선택된다.R was masked beforehand, Since k is later masked and used. In order to calculate, an arbitrary integer R is chosen to be k · q.
임의의 정수 R(>>p, q)가 모듈로 p나연산에 앞서서 메시지 m에 덧붙여지면, (공격자가 고의적으로 비교적 큰 수과 비교적 작은 수를 공급함으로 해서) 모듈로 p나가 실행되었는지에 대한 타이밍 특성이 공격자에 의해 접근될 수 없다.Any integer R (>> p, q) is modulo p or If appended to message m prior to the operation, (the attacker intentionally And a relatively small number By supplying modulo p or The timing characteristic for whether or not was run is not accessible by the attacker.
p(혹은 q)를 발견하기 위한 이전 탐색 시차 암호 해독을 격퇴하는 같은 속성을 가지면서, 상기에 제안된 기술은 구현의 관점에서 볼 때에 Shamir의 방법보다 작은 오버헤드를 갖는다. Shamir의 방법에서는 구현에 있어 불편함을 주거나 현존하는 대부분의 프로세서들에게는 복잡함을 가져오는 확장된 모듈러스를 필요로 한다. 그러나 상기 제안에는 확장 모듈러스는 전혀 필요하지 않다.With the same property to repel the previous search parallax cryptography for finding p (or q), the technique proposed above has less overhead than Shamir's method in terms of implementation. Shamir's method requires extended modulus, which is inconvenient to implement or complicated for most existing processors. However, the proposal does not require any expansion modulus at all.
CRT와 같이 사용되는 RSA에 대한 하드웨어 오류 공격은 공격자에 의해 오직 하나의 오류 결과가 이용 가능해도 적용될 수 있다. 다른 물리적인 공격과는 매우 다른 것이며, 잘 개발된 대응 방법이 필요하다. 이는 CRT와 같이 사용되는 RSA가 작은 장치(예를 들면 스마트 카드)에서부터 큰 서버들에 기반한 수많은 응용 분야까지 전 세계적으로 채택되어 있기 때문에 매우 중요하다. 그러나 본 발명에 따른 방법들은 만족한 결과를 제공한다.Hardware error attacks against RSA used with CRT can be applied even if only one error result is available to the attacker. It is very different from other physical attacks and requires a well-developed response. This is important because the RSA used with the CRT is adopted globally, from small devices (eg smart cards) to numerous applications based on large servers. However, the methods according to the invention give satisfactory results.
이전의 모든 암호 솔루션들은 (공격자들에 의해 접근되는 것을 막기 위해) 오류 결과를 제거하거나 이 오류 결과를 출력할 수 없게 하는 것을 필요로 하고 있다. 어떤 경우에는 아주 높은 신뢰성을 가지면서 이러한 필요 사항이 구현되는 것이 어렵다. 그러나 본 발명에 따른 두 가지의 보안 방법은 만족한 결과를 제공한다.All previous crypto solutions require removing the error result (to prevent it being accessed by attackers) or disabling this error result. In some cases, these requirements are difficult to implement with very high reliability. However, two security methods according to the present invention provide satisfactory results.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 본 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 상기의 설명에 포함된 예들은 본 발명에 대한 이해를 위해 도입된 것이며, 이 예들은 본 발명의 사상과 범위를 한정하지 않는다.Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. Examples included in the above description are introduced for the understanding of the present invention, and these examples do not limit the spirit and scope of the present invention.
또한 상기의 예들 외에도 본 발명에 따른 다양한 실시 태양이 가능하다는 것은, 본 발명이 속한 기술 분야에 통상의 지식을 가진 사람에게는 자명할 것이다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.In addition to the above examples, it will be apparent to those skilled in the art that various embodiments of the present invention are possible. The scope of the present invention is shown not in the above description but in the claims, and all differences within the scope will be construed as being included in the present invention.
또한 본 발명에 따른 상기의 각 단계는 일반적인 프로그래밍 기법을 이용하여 소프트웨어적으로 또는 PLD와 같은 프로그래밍 소자를 포함하여 하드웨어적으로 다양하게 구현할 수 있다는 것은 이 분야에 통상의 기술을 가진 자라면 용이하게 알 수 있는 것이다.In addition, it can be easily understood by those skilled in the art that each of the above steps according to the present invention can be variously implemented in software using a general programming technique or in hardware including a programming element such as a PLD. It can be.
그리고 본 발명의 모든 단계들은, 또한, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.And all the steps of the present invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, CD-RW, magnetic tape, floppy disks, HDDs, optical disks, magneto-optical storage devices, and carrier wave (eg, Internet It also includes the implementation in the form of). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
본 발명은 소수에 대해 공개모듈러스과(이때) 를 만족하는 공개키와 비밀키를 사용하는 RSA 공개키암호의 복호화 또는 전자서명 생성을 위한 비밀연산의 연산방법을의 하나의 소인수와 관련된 연산단계에서 오류가 생기면 그 오류가의 다른 소인수와 관련된 연산단계의 오류로 확산될 수 있도록 하여, 효율성을 개선하기 위해 널리 사용되는 CRT(중국인 나머지 정리)를 이용한의 계산에서 생길 수 있는 CRT 오류공격을 견디는 효과가 있다. 본 발명에 따른 연산 방법은 기존의 RSA 시스템에 사용되는 핵심인 모듈라 연산 엔진의 구조를 변경하지 않으므로 기존 시스템과 완전한 호환성을 갖는다. 안전성을 결정짓는 비교 연산이 없으므로 안전성에 대한 신뢰를 높여 주며, 하나의 인수에 대한 오류가 있으면 다른 인수에까지 그 오류가 파급되어 원래의 오류로 인한의 인수분해를 불가능하게 함으로써 안전하게 CRT 오류에 대한 방어를 할 수 있다.The present invention is a minority About Modulus and (At this time Public key satisfying And secret key Secret operation for decryption or digital signature generation of RSA public key password Operation method If an error occurs in the operation stage associated with one prime factor in, the error By using the widely used CRT (Chinese Restoration Theorem) to improve efficiency, it can spread to errors in the computational stages associated with other prime factors. It is effective to withstand CRT error attacks that can occur in the calculation of. Since the calculation method according to the present invention does not change the structure of the modular calculation engine, which is the core used in the existing RSA system, it is fully compatible with the existing system. There is no comparison operation that determines safety, which increases confidence in safety, and if there is an error for one argument, the error is propagated to the other arguments. You can safely defend against CRT errors by disabling the factorization of.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0002017A KR100431286B1 (en) | 2002-01-14 | 2002-01-14 | Method for preventing the CRT-based fault attack and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0002017A KR100431286B1 (en) | 2002-01-14 | 2002-01-14 | Method for preventing the CRT-based fault attack and apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030061497A KR20030061497A (en) | 2003-07-22 |
KR100431286B1 true KR100431286B1 (en) | 2004-05-12 |
Family
ID=32217939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0002017A Expired - Fee Related KR100431286B1 (en) | 2002-01-14 | 2002-01-14 | Method for preventing the CRT-based fault attack and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100431286B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100954844B1 (en) | 2008-10-07 | 2010-04-28 | 고려대학교 산학협력단 | Digital Signature Method Using the Crt-Rss Modular Exponential Algorithm Secure Against Error Injection Attacks, Apparatus and Recording Media Recording the Same |
US9571281B2 (en) | 2014-02-03 | 2017-02-14 | Samsung Electronics Co., Ltd. | CRT-RSA encryption method and apparatus |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100431047B1 (en) * | 2002-02-26 | 2004-05-12 | 주홍정보통신주식회사 | Digital signature method using RSA public-key cryptographic based on CRT and apparatus therefor |
KR100619025B1 (en) * | 2004-06-03 | 2006-08-31 | 삼성전자주식회사 | Method of assigning member secret information, key agreement method using assigned secret information, and member authentication method using assigned secret information |
KR100953715B1 (en) * | 2008-01-22 | 2010-04-19 | 고려대학교 산학협력단 | Digital Signature Method using Crt-Rssa Modular Exponential Algorithm, Apparatus and Its Computer-readable Storage Media Recording the Same |
KR100953716B1 (en) * | 2008-02-28 | 2010-04-19 | 고려대학교 산학협력단 | Digital signature method using crt-rsa based bit operation, apparatus and recording medium recording the same |
KR101112570B1 (en) * | 2010-04-12 | 2012-03-13 | 고려대학교 산학협력단 | Apparatus and Method for digital signature immune to power analysis and fault attacks, and Recording medium thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1152853A (en) * | 1997-07-30 | 1999-02-26 | Fujitsu Ltd | Prime number generation device, B-smoothness determination device, and recording medium |
US5991415A (en) * | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
US6144740A (en) * | 1998-05-20 | 2000-11-07 | Network Security Technology Co. | Method for designing public key cryptosystems against fault-based attacks with an implementation |
US6304658B1 (en) * | 1998-01-02 | 2001-10-16 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
-
2002
- 2002-01-14 KR KR10-2002-0002017A patent/KR100431286B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991415A (en) * | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
JPH1152853A (en) * | 1997-07-30 | 1999-02-26 | Fujitsu Ltd | Prime number generation device, B-smoothness determination device, and recording medium |
US6304658B1 (en) * | 1998-01-02 | 2001-10-16 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
US6144740A (en) * | 1998-05-20 | 2000-11-07 | Network Security Technology Co. | Method for designing public key cryptosystems against fault-based attacks with an implementation |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100954844B1 (en) | 2008-10-07 | 2010-04-28 | 고려대학교 산학협력단 | Digital Signature Method Using the Crt-Rss Modular Exponential Algorithm Secure Against Error Injection Attacks, Apparatus and Recording Media Recording the Same |
US9571281B2 (en) | 2014-02-03 | 2017-02-14 | Samsung Electronics Co., Ltd. | CRT-RSA encryption method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR20030061497A (en) | 2003-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Prouff et al. | Masking against side-channel attacks: A formal security proof | |
Blömer et al. | A new CRT-RSA algorithm secure against bellcore attacks | |
EP0986873B1 (en) | Improved method and apparatus for protecting public key schemes from timing and fault attacks | |
Sung-Ming et al. | A countermeasure against one physical cryptanalysis may benefit another attack | |
Boneh et al. | On the importance of checking cryptographic protocols for faults | |
Boscher et al. | CRT RSA algorithm protected against fault attacks | |
Vigilant | RSA with CRT: A new cost-effective solution to thwart fault attacks | |
Ambrose et al. | Differential attacks on deterministic signatures | |
Fumaroli et al. | Blinded fault resistant exponentiation | |
JP2011530093A (en) | Solutions to protect power-based encryption | |
KR100652377B1 (en) | Modular Exponential Algorithms, Record Media and Systems | |
EP3503459B1 (en) | Device and method for protecting execution of a cryptographic operation | |
Armour et al. | Algorithm substitution attacks against receivers | |
KR100431286B1 (en) | Method for preventing the CRT-based fault attack and apparatus thereof | |
Barthe et al. | Making RSA–PSS provably secure against non-random faults | |
Kim et al. | A secure and practical CRT-based RSA to resist side channel attacks | |
EP1347596B1 (en) | Digital signature methods and apparatus | |
Seuschek et al. | A cautionary note: Side-channel leakage implications of deterministic signature schemes | |
Chiu et al. | SoK: Fault injection attacks on cryptosystems | |
Muller et al. | High-order attacks against the exponent splitting protection | |
Kaliski Jr et al. | Comments on some new attacks on cryptographic devices | |
KR100699836B1 (en) | Apparatus and Method for Countermeasures of DBAs in Scalar Products | |
KR101891898B1 (en) | Secure rsa crypto method against horizontal correlation power analysis attack | |
Berzati et al. | A survey of differential fault analysis against classical RSA implementations | |
KR100953716B1 (en) | Digital signature method using crt-rsa based bit operation, apparatus and recording medium recording the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
R15-X000 | Change to inventor requested |
St.27 status event code: A-3-3-R10-R15-oth-X000 |
|
R16-X000 | Change to inventor recorded |
St.27 status event code: A-3-3-R10-R16-oth-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
FPAY | Annual fee payment |
Payment date: 20130329 Year of fee payment: 10 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
FPAY | Annual fee payment |
Payment date: 20140220 Year of fee payment: 11 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20150501 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20150501 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |