WO2015156621A1 - Authentication apparatus and method - Google Patents
Authentication apparatus and method Download PDFInfo
- Publication number
- WO2015156621A1 WO2015156621A1 PCT/KR2015/003576 KR2015003576W WO2015156621A1 WO 2015156621 A1 WO2015156621 A1 WO 2015156621A1 KR 2015003576 W KR2015003576 W KR 2015003576W WO 2015156621 A1 WO2015156621 A1 WO 2015156621A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- public key
- instant
- instant public
- key
- algorithm
- 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.)
- Ceased
Links
Images
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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Definitions
- It relates to an authentication device and method, and more particularly to an improvement in the robustness against security attacks of a public key cryptographic algorithm based authentication device.
- Signature techniques using public key cryptographic algorithms are used for device authentication and message electronic signatures.
- the RSA (Rivest Shamir Adleman) algorithm is an Internet encryption and authentication method that encrypts and decrypts a public key and a private key as a set.
- the private key is stored on a device, and the public key is stored on an external device such as a certificate authority. Delivered and stored.
- the private key is a target of security attack, such as a side channel attack because the signature can be forged when the private key is exposed / leaked based on the public key algorithm, such as RSA.
- DPA Different Power Analysis
- DPA Different Power Analysis
- PUF Physical Unclonable Function
- PUF Physical One-Way Function practically impossible to be duplicated
- This non-replicable characteristic of the PUF may be used to generate an identifier of the device for security and / or authentication.
- PUF may be used to provide a unique key to distinguish devices from one another.
- Korean Patent Registration No. 10-1139630 (hereinafter '630 patent) has been presented a method for implementing the PUF.
- the '630 patent proposes a method in which a process variation of a semiconductor is used to probabilistically determine whether an inter-layer contact or a via is formed between conductive layers of the semiconductor. It became.
- an authentication apparatus and an authentication method that are robust against side channel attacks are presented.
- an authentication apparatus and method are disclosed that make a DPA attack impossible and meaningless while using a public key based algorithm.
- the public-private key pair is a fixed value and is not used repeatedly, but instead can be instantaneously generated and used when authentication is required.
- an authentication apparatus including at least one processor and performing an authentication procedure according to RSA, which is an encryption algorithm using a public key, such as an asymmetric key encryption algorithm.
- the device has a predetermined private key p, q.
- the apparatus may further include: a generator configured to generate a first instant public key in response to a digital signature corresponding to the algorithm; A calculator configured to calculate a first instant private key paired with the first instant public key in the algorithm by using the fixed private key and the first instant public key; And a processing unit for generating an electronic signature by the algorithm using the first instant private key.
- the generation unit, the calculation unit, and the processing unit may be implemented at least temporarily by the at least one processor.
- the apparatus may further include a communication unit configured to transmit a message to be transmitted to the counterpart device together with the electronic signature and the first instant public key.
- the device generates and holds the fixed private key through a public key key generation algorithm.
- the fixed private key is used to calculate the first instant private key using the first instant public key and to generate a fixed public key that is passed to another device in the issuing process prior to use and used together for later signature verification. do.
- the authentication device may further include a PUF that provides a hardware fingerprint using a randomly occurring process variation.
- the value of this PUF may be used directly or indirectly as the fixed private key value. In this case, there is no need to store the fixed private key directly in a memory, thereby protecting the fixed private key from physical attack.
- the value of the PUF may be used directly or indirectly to generate instant public keys. For example, it may be used as a seed value or a source value in the random number generation process. In this case, by using the PUF as a source value of the random number generation algorithm, the random number generation results generated for each device are independent of each other and have a different value. Additional effects can be expected to make them different.
- the created message can be retransmitted.
- the first instant public key is discarded, and a new second instant public key different from this is generated and the digital signature is generated and transmitted again.
- the generation unit may generate a second instant public that is different from the first instant public key. Create a key. The calculator then calculates a second instant private key paired with the second instant public key in the algorithm.
- the generation unit may determine and provide the number of the second instant public key by adding the integer 2 to the first instant public key.
- the integer "2" added to the first instant public key is exemplary and may be changed to another value.
- the encryption algorithm is a RSA-CRT (Chinese Remainder Theorem) algorithm
- the first instant private key calculated by the calculator includes a first dP value and a first dQ value.
- the generation unit if it is determined that none of the first dP value and the first dQ value according to the calculation result is present, the generation unit generates a second instant different from the first instant public key. Generate a public key.
- the calculator calculates a second dP value and a second dQ value paired with the second instant public key in the algorithm.
- an authentication device including at least one processor and verifying an electronic signature transmitted by an external device according to a public key based encryption algorithm
- a certification authority such as a certification authority (CA).
- the apparatus may include a processing unit for verifying the electronic signature using the fixed public key of the external device, and the first instant public key generated by the external device and transmitted together with the electronic signature.
- the apparatus may further include a determining unit that determines that the first instant public key is invalid if the first instant public key is not three or more odd numbers.
- the processor and the determiner may be implemented at least temporarily by the at least one processor.
- an authentication device including at least one processor, comprising: a determination unit for determining whether a first instant public key received from an external device is a valid value; And a processing unit that encodes data to be transmitted using the fixed public key of the external device and the first instant public key held when the first instant public key is a valid value.
- the determining unit and the processing unit may be implemented at least temporarily by the at least one processor.
- the first instant public key may be generated through a random number generation process in the counterpart device.
- an authentication apparatus including at least one processor and performing an authentication procedure according to a public key based encryption algorithm.
- the apparatus may include: a generation unit generating a first instant public key through a random number generation process in response to the authentication procedure being performed; A calculator configured to calculate a first instant private key paired with the first instant public key in the algorithm using the first instant public key; And receiving a message encoded using the fixed public key previously held in the counterpart device and the first instant public key from the counterpart device receiving the first instant public key, by using the first instant private key.
- It may include a processing unit for decoding the message.
- the generation unit, the calculation unit, and the processing unit may be implemented at least temporarily by the at least one processor.
- the authentication device may further include a PUF that provides a hardware fingerprint by using a randomly generated process variation.
- the random number generation process includes a random number generation algorithm using the hardware fingerprint value as a source value.
- the generation unit may generate a second instant different from the first instant public key. Generate a public key.
- the calculator may calculate a second instant private key paired with the second instant public key in the algorithm.
- a non-one embodiment computer program stored on a computer-readable recording medium.
- the program may include the following set of instructions that, when executed on a computing device including a processor, cause the processor to operate. Instruction sets include: an instruction set for causing the processor to generate a first instant public key through a random number generation process in response to a digital signature generation request corresponding to the message; An instruction set for causing the processor to calculate a first instant private key paired with the first instant public key using the first instant public key; And an instruction set for causing the processor to generate an electronic signature by a public key-algorithm using the first instant private key.
- a non-one embodiment computer program stored on a computer-readable recording medium.
- the program may include the following set of instructions that, when executed on a computing device including a processor, cause the processor to operate. Instruction sets include: an instruction set for causing the processor to determine whether a first instant public key received with a message and an electronic signature from a counterpart device is valid; And a set of instructions for causing the processor to verify the electronic signature using the fixed public key of the external device stored in the computing device and the received first instant public key when the first instant public key is valid. It may include.
- FIG. 1 is a block diagram illustrating an authentication device for providing an instant public key and an instant private key, according to an exemplary embodiment.
- FIG. 2 is a block diagram illustrating an authentication apparatus for receiving and using an instant public key generated by a counterpart according to an embodiment.
- FIG. 3 is a flowchart illustrating an electronic signature verification process according to an embodiment.
- FIG. 4 is a flowchart illustrating an encoding and decoding process according to an embodiment.
- FIG. 5 is a flowchart illustrating processing in the case where an instant private key does not exist, according to an embodiment.
- FIG. 6 is a flowchart illustrating a process in a case where a private key does not exist when an RSA-CRT algorithm is applied according to an embodiment.
- Device 100 may be at least a portion of a computing terminal that includes at least one processor.
- the computing terminal may be, but is not limited to, a smartphone, tablet, laptop, general purpose computer, server, dedicated terminal for encrypted communication, and the like.
- the device 100 performs an authentication procedure according to a public key based encryption algorithm, such as an asymmetric key encryption algorithm such as RSA.
- the generating unit 110 of the apparatus 100 generates a first instant public-key "E" in response to the case where an electronic signature corresponding to the RSA algorithm is required.
- the generation of the first instant public key E may be performed through a random number generating process.
- the generated E must be an odd number of three or more. This is because even if they are prime or very large, they must be pseudo-prime.
- the generation unit 110 may check whether the generated E is odd and whether the value is not 1.
- the device 100 may include a PUF (not shown) that provides a hardware finger-print using a randomly generated semiconductor process variation.
- a PUF may be implemented using a random formation-forming failure result of vias or inter-layer contacts disposed between conductive layers of a semiconductor.
- the specification of the '630 patent is incorporated herein by reference.
- the hardware fingerprint provided by the PUF may be used for the fixed private key generation algorithm.
- the device has a fixed private key (p, q) which is basically 301, and a hardware fingerprint may be used as a candidate value of the fixed private key (p, q) when generating it.
- p, q fixed private key
- the value recorded is 32-bit enough, so it is impossible to infer the original static private key (p, q) using this value alone. It is also possible to quickly reproduce the fixed private key value from the hardware fingerprint value when needed.
- the hardware fingerprint provided by the PUF may be used for the random number generation algorithm.
- a hardware fingerprint may be used as a seed value or seed key required by a random number algorithm operating in software and / or hardware.
- the calculation unit 120 uses the first instant public key E according to an algorithm according to the calculation method defined in the RSA method, which is an RSA pair of E again. In other words, the first instant private-key "D" paired with E is calculated.
- the instantaneous generation and calculation of the private key-public key which is the subject of the key issuance process, has the following advantages.
- the private key has ⁇ D, p, q ⁇ and the public key provided to the counterpart device has ⁇ E, N ⁇ .
- N is the product of p and q
- E or N which is passed to other devices or certification authorities
- private keys ⁇ D, p, q ⁇ that exist only in (and must exist) inside the authentication device are subject to a security attack.
- D is known by a third party, direct digital signature forgery is possible. And if the third party knows the value of p and / or q without knowing D, then this RSA encryption is no longer valuable because it can be used in conjunction with an externally disclosed E to calculate D.
- DPA differential power analysis
- SPA actual power analysis
- SPA attacks may be unsuccessful in noisy environments or in shielding power consumption, making them difficult to observe, but still DPA attacks threaten the algorithm's safety. This is because in the process of statistical analysis through multiple waveforms, other outliers such as noise may be canceled out and significant patterns may be found.
- the authentication device has a fixed private key ⁇ D, p, q ⁇ , and the authentication authority as the other party has a fixed public key ⁇ E, N ⁇ . Therefore, the risk was that an attacker could collect multiple waveforms required for DPA by repeatedly requesting the device for digital signatures.
- D and E of the private key and the public key are not fixed values but dynamically changing values.
- D and E are generated.
- the generated D and E are used only once (one time), so even if the digital signature is collected by the attacker, it is statistically insignificant.
- Embodiments generate and use E and D, which are not fixed and dynamically changed, to prevent side channel attacks such as DPA attacks.
- the first instant public key E is generated and the first instant private key D, which is a pair of Es, is calculated.
- the D that satisfies Equation 2 may not exist.
- the generation unit 110 If D does not exist, a valid "instant D-pair of instant E " cannot be made, so the generation unit 110 generates a second instant public key E 'different from the first instant public key E. Using the second instant public key E ', the calculator 120 calculates the second instant private key D' according to Equation 2. If D 'is present, E' and D 'are used; otherwise, this process can be repeated.
- the process of generating the second instant public key E 'by the generation unit 110 may be a process of generating a random number again, similarly to the process of creating the first instant public key E.
- FIG. the generation unit 110 subtracts the number of integers (that is, the odd numbers immediately above E) from the first instant public key E that was generated but the corresponding D did not exist. 2 may be determined and provided as an instant public key E '.
- the integer "2" added to E to generate E ' is exemplary, and may be changed to another value. Regenerating E depending on the presence of D will be described again with reference to FIG. 5.
- the encryption algorithm may be an algorithm using a Chinese Remainder Theorem (CRT).
- CRT Chinese Remainder Theorem
- the instant private key to be calculated with E is not D, but ⁇ dP calculated according to Equations 3 and 4 below. , dQ ⁇ .
- E may be generated again.
- the random number generation process may be performed again, but E 'may be simply determined by adding 2 to E, and the dP' and dQ 'values corresponding to E' may be calculated. Details will be described again with reference to FIG. 6.
- an RSA encryption algorithm may be performed. If the message M is signed to generate the electronic signature S, the processor 130 may perform the following process.
- GenSign is a digital signature generation function and is defined according to the RSA algorithm.
- the communication unit 140 transmits the generated digital signature S together with the message M to the counterpart device (such as a certification authority), but also transmits the instant public key E generated above as well.
- the counterpart device will then verify the digital signature S using this instant public key E together with the fixed public key N of the device 100 already having it. The above process will be described again with reference to FIG. 3.
- the device 100 may decode the message using the instant private key D (or dP, dQ) that it has together with p and q. Can be. This process is described below with reference to FIG.
- the device 200 may be, for example, a Certification Authority (CA).
- CA Certification Authority
- the apparatus 200 may be at least a portion of a computing terminal including at least one processor, and the determination unit 210 and the processing unit 220, which will be described later, may be implemented at least temporarily by the processor.
- the apparatus 200 may include a fixed public key N of the external device, and a first instant generated by the external device as described in FIG. 1 and transmitted together with the message M and the digital signature S.
- FIG. By using the public key E, it may include a processing unit 220 for verifying the digital signature S.
- the processor 220 encodes the data M to be transmitted using the fixed public key N of the counterpart device held therein and the first instant public key E previously received. If M 'is normally encoded and transmitted to the counterpart device, the counterpart device will decode M' into M using its fixed private keys p, q and instant private keys D (or dP and dQ).
- the apparatus 200 may further include a determination unit 210 that determines whether the instant public key E sent from the counterpart device is valid.
- a determination unit 210 that determines whether the instant public key E sent from the counterpart device is valid.
- An attacker can anticipate an attack that generates and delivers a digital signature with both E and D set to 1. In this case, the digital signature generation and verification operation is not actually performed. Because E and D are used as exponential values in RSA operations, a value of 1 means that "1" square of the message for encoding-decoding is the same as no operation. At this point, from the CA's point of view, the signature verification result may be valid. Therefore, in order to prevent such a situation, the determination unit 210 checks whether the instant public key E received from the counterpart device is an odd number of three or more. So if E is even or E is 1, it can be determined to be invalid E.
- the determination unit 210 may recognize this as an abnormal situation and treat the instant public key E as invalid.
- FIG. 3 is a flowchart illustrating an electronic signature verification process according to an embodiment.
- the difference from the conventional RSA is that the device does not have a fixed private key D, and the counterpart certification authority does not have a fixed public key E of this device. Therefore, according to the embodiment, when authentication is required as described above with reference to FIGS. 1 and 2, an instant public key E and an instant private key D calculated therefrom are generated and utilized.
- the device has only p and q in the reservoir 301. And the certification authority has only N of the device's static public keys. If authentication is required, step 310 is performed. Step 310 is a process of generating a random instant public key E through a random number generation process, the generated E is an odd number of three or more. Generation and validation of the instant E are as described with reference to FIG. 1.
- step 320 an RSA pair of instant public key E, is calculated.
- an electronic signature S for message M to be transmitted is generated.
- step 340 the instant public key E together with the message M and the digital signature S is transmitted to the certificate authority.
- the certification authority will use the previously received E together with N, which is previously performed, in step 350 of performing the digital signature verification algorithm.
- the certification authority may go through a process of verifying whether the received E is valid, which has been described in detail with reference to FIG.
- FIG. 4 is a flowchart illustrating an encoding and decoding process according to an embodiment.
- the process by which the certification authority encodes the message M and sends it to the device is shown.
- the certification authority encodes the data M to be transmitted using the fixed public key N of the counterpart device previously held in step 410 and the instant public key E previously received.
- the encoded message M ' is transmitted to the device in step 420, and the device uses M's M' with its fixed private keys p, q and instant private keys D (or dP and dQ) in step 430. Can be decoded.
- step 510 the generation unit of the device generates the instant publisher E through a random number generation process.
- step 520 the calculation unit of the device calculates an instant private key D which is an RSA pair of E according to Equation 2 using E.
- step 530 If the valid D exists in step 530, the authentication process using the instant D and the instant E is performed as described with reference to Figs.
- step 530 the generation unit of the device generates a second instant public key E 'different from the instant instant public key E.
- This process may be through a random number generation process again, but in the example shown in FIG.
- step 540 the integer 2 is added to the instant public key E, which was previously generated but cannot be used because D does not exist. This process is repeated until there is a valid E-D pair.
- FIG. 6 is a flowchart illustrating a process in a case where a private key does not exist when an RSA-CRT algorithm is applied according to an embodiment.
- M '' adds padding and the like to the hash value of message M according to the RSA signature format.
- Table 1 shows, using CRT complicates the expression, but the processing data length of "modular exponentiation", which takes up a large part of the calculation amount in RSA operation, is 1/2. Can be 4 to 8 times faster.
- step 610 After the random instant public key E is generated, if CRT is used (step 610), then dP is calculated in step 620 and it is determined whether this dP exists (630). E cannot be used if this dP does not exist regardless of the presence of dQ. Therefore, in step 631, the process of designating the number of E plus 2 again as E and calculating dP is repeated until this dP exists.
- the step 631 is an optional embodiment, it is also possible to regenerate a completely new E through a random number generation process.
- step 660 If dP is present, the same process is repeated for dQ.
- the calculation of dQ 640 and the determination of the presence 650 and the regeneration 651 of E according to the absence of dQ are the same as the description of steps 620, 630 and 631. And if there are both valid dP and dQ, an encryption algorithm using CRT will be performed in step 660.
- the performance degradation caused by the continuous regeneration of the E-D pair according to the embodiments is not significant.
- the time complexity of the operation generating the ED pair is proportional to the length n of the key (time complexity O (n)), and the signature generation operation is proportional to the square or cube of length n of the key, depending on the implementation (time complexity O ( n 2 ) or O (n 3 )).
- time complexity O (n) time complexity O (n 2 )
- O (n 3 ) the minimum key length of recently used RSA is 1024, 2048-bit or more
- the operation time for generating an ED pair is equivalent to one-thousandth of the signature generation time. Small enough to be. Therefore, according to the embodiments, subchannel attacks such as DPA are prevented at the source without detrimental hardware or performance degradation.
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
Description
인증 장치 및 방법에 연관되며, 보다 특정하게는 공개키 암호 알고리즘 기반 인증 장치의 보안 공격에 대한 강인함 향상에 연관된다.It relates to an authentication device and method, and more particularly to an improvement in the robustness against security attacks of a public key cryptographic algorithm based authentication device.
기기(device) 인증이나 메시지 전자 서명에서 공개키 암호 알고리즘을 이용한 서명 기법이 사용된다. 예를 들어, RSA (Rivest Shamir Adleman) 알고리즘은 공개키와 개인키를 세트로 만들어서 암호화와 복호화를 수행하는 인터넷 암호화 및 인증 방법으로, 개인키는 기기에, 공개키는 인증기관과 같은 상대 기기에 전달되어 보관된다.Signature techniques using public key cryptographic algorithms are used for device authentication and message electronic signatures. For example, the RSA (Rivest Shamir Adleman) algorithm is an Internet encryption and authentication method that encrypts and decrypts a public key and a private key as a set. The private key is stored on a device, and the public key is stored on an external device such as a certificate authority. Delivered and stored.
한편, RSA와 같은 공개키 알고리즘 기반에서 개인키가 노출/유출되는 경우 서명을 위조할 수 있으므로 개인키는 보안 공격, 이를테면 부채널 공격(side channel attack)의 목표가 되고 있다. 부채널 공격 방법 중, 대량의 데이터를 수집하여 통계적으로 분석하는 DPA(Differential Power Analysis) 공격은 매우 강력한 것으로 알려져 있다.On the other hand, the private key is a target of security attack, such as a side channel attack because the signature can be forged when the private key is exposed / leaked based on the public key algorithm, such as RSA. Among subchannel attack methods, DPA (Differential Power Analysis) attack, which collects and statistically analyzes a large amount of data, is known to be very powerful.
한편, PUF (Physically Unclonable Function)는 예측 불가능한 (unpredictable) 디지털 값을 제공할 수 있다. 개개의 PUF들은 정확한 제조 공정이 주어지고, 동일한 공정에서 제조되더라도, 상기 개개의 PUF들이 제공하는 디지털 값은 다르다. PUF는 복제가 불가능한 POWF (Physical One-Way Function practically impossible to be duplicated)로 지칭될 수도 있다.On the other hand, PUF (Physically Unclonable Function) may provide an unpredictable digital value. Individual PUFs are given the correct manufacturing process, and even if manufactured in the same process, the digital values provided by the individual PUFs are different. PUF may be referred to as Physical One-Way Function practically impossible to be duplicated (POWF).
이러한 PUF의 복제 불가능한 특성은 보안 및/또는 인증을 위한 기기의 식별자(identifier)를 생성하는 데에 이용될 수 있다. 이를테면, 디바이스를 다른 디바이스와 구별하기 위한 유니크 키(unique key to distinguish devices from one another)를 제공하기 위해 PUF가 이용될 수 있다.This non-replicable characteristic of the PUF may be used to generate an identifier of the device for security and / or authentication. For example, PUF may be used to provide a unique key to distinguish devices from one another.
한국 등록특허 10-1139630호(이하 '630 특허)에서 PUF를 구현하는 방법이 제시된 바 있다. '630 특허에서는 반도체의 공정 편차(process variation)를 이용하여 반도체의 전도성 레이어들 사이의 인터-레이어 콘택(inter-layer contact) 또는 비아(via)의 생성 여부가 확률적으로 결정되도록 한 방법이 제시되었다.Korean Patent Registration No. 10-1139630 (hereinafter '630 patent) has been presented a method for implementing the PUF. The '630 patent proposes a method in which a process variation of a semiconductor is used to probabilistically determine whether an inter-layer contact or a via is formed between conductive layers of the semiconductor. It became.
실시예들에 따르면, 부채널 공격에 강인한 인증 장치 및 인증 방법이 제시된다. 이를테면, 공개키 기반 알고리즘을 이용하면서도 DPA 공격을 불가능하고 또한 무의미하게 만드는 인증 장치 및 방법이 제시된다. 실시예들에 따르면 공개키-개인키 쌍이 고정된 값으로 되어 반복적으로 사용되지 않고, 대신 인증이 필요한 경우에 인스턴트하게(instantly) 생성되어 사용될 수 있다.According to embodiments, an authentication apparatus and an authentication method that are robust against side channel attacks are presented. For example, an authentication apparatus and method are disclosed that make a DPA attack impossible and meaningless while using a public key based algorithm. According to embodiments, the public-private key pair is a fixed value and is not used repeatedly, but instead can be instantaneously generated and used when authentication is required.
일측에 따르면, 적어도 하나의 프로세서를 포함하고 공개키 기반 암호화 알고리즘(encryption algorithm using public key), 이를테면 비대칭키 암호화 알고리즘(asymmetric keys encryption algorithm)인 RSA 에 따른 인증 절차를 수행하는 인증 장치가 제공된다. 장치에는 기 생성된 고정 개인키 p, q를 가지고 있다. 일실시예에 따르면 장치는: 상기 알고리즘에 대응하는 전자 서명이 필요한 경우에 응답하여, 제1 인스턴트 공개키를 생성하는 생성부; 상기 고정 개인키와 상기 제1 인스턴트 공개키를 이용해서, 상기 알고리즘에서 상기 제1 인스턴트 공개키와 쌍을 이루는 제1 인스턴트 개인키를 계산하는 계산부; 및 상기 제1 인스턴트 개인키를 이용하여 상기 알고리즘에 의한 전자서명을 생성하는 처리부를 포함할 수 있다. 상기 생성부, 상기 계산부 및 상기 처리부는 상기 적어도 하나의 프로세서에 의해 적어도 일시적으로 구현될 수 있다. 일실시예에 따르면 장치는 전송할 메시지를 상기 전자서명 및 상기 제1 인스턴트 공개키와 함께 상대 기기에 전송하는 통신부를 더 포함한다.According to one side, an authentication apparatus including at least one processor and performing an authentication procedure according to RSA, which is an encryption algorithm using a public key, such as an asymmetric key encryption algorithm, is provided. The device has a predetermined private key p, q. According to an embodiment, the apparatus may further include: a generator configured to generate a first instant public key in response to a digital signature corresponding to the algorithm; A calculator configured to calculate a first instant private key paired with the first instant public key in the algorithm by using the fixed private key and the first instant public key; And a processing unit for generating an electronic signature by the algorithm using the first instant private key. The generation unit, the calculation unit, and the processing unit may be implemented at least temporarily by the at least one processor. According to an embodiment, the apparatus may further include a communication unit configured to transmit a message to be transmitted to the counterpart device together with the electronic signature and the first instant public key.
일실시예에 따르면 장치는 공개키 키 생성 알고리즘을 통해 상기 고정 개인키를 생성하여 보유하고 있다. 상기 고정 개인키는 상기 제1 인스턴트 공개키를 이용해서 상기 제1 인스턴트 개인키를 계산할 때와 사용에 앞서 발급 과정에서 다른 기기로 전달되어 추후 서명 검증에 함께 사용되는 고정 공개키를 생성할 때 이용된다. 예시적으로, 그러나 한정되지 않게, 상기 인증 장치에는 무작위적으로 발생하는 공정 편차를 이용하여 하드웨어 핑거프린트를 제공하는 PUF가 더 포함될 수 있다. 일실시예에 따르면 이 PUF의 값이 상기 고정 개인키 값으로 직접 또는 간접적으로 사용할 수 있다. 이 경우에는 메모리에 상기 고정 개인키를 직접적으로 저장할 필요가 없어 물리적 공격으로부터 상기 고정 개인키를 보호할 수 있다. 이는 상기 고정 개인키가 해당 기기 내에만 존재한다는 점이 강하게 보장되기 때문에 다른 기기에서 인스턴트 공개키-개인키 쌍을 임의로 만들 수 없음 또한 보장된다. 또한 다른 실시예에서는, 상기 PUF의 값이 인스턴트 공개키들을 만드는 데에 직접 또는 간접적으로 이용될 수도 있다. 이를테면 랜덤 넘버 생성 과정에서의 시드 값 또는 근원 값으로 이용될 수 있다.. 이 경우, PUF를 랜덤 넘버 생성 알고리즘의 근원 값으로 사용함으로써, 기기 마다 생성되는 랜덤 넘버 생성 결과가 서로 독립적이고 또한 값이 상이해지도록 하는 효과를 추가적으로 기대할 수 있다.According to an embodiment, the device generates and holds the fixed private key through a public key key generation algorithm. The fixed private key is used to calculate the first instant private key using the first instant public key and to generate a fixed public key that is passed to another device in the issuing process prior to use and used together for later signature verification. do. By way of example, but not limitation, the authentication device may further include a PUF that provides a hardware fingerprint using a randomly occurring process variation. According to an embodiment, the value of this PUF may be used directly or indirectly as the fixed private key value. In this case, there is no need to store the fixed private key directly in a memory, thereby protecting the fixed private key from physical attack. This is also strongly guaranteed that the public key-private key pair cannot be arbitrarily created by another device since it is strongly guaranteed that the fixed private key exists only in the device. In another embodiment, the value of the PUF may be used directly or indirectly to generate instant public keys. For example, it may be used as a seed value or a source value in the random number generation process. In this case, by using the PUF as a source value of the random number generation algorithm, the random number generation results generated for each device are independent of each other and have a different value. Additional effects can be expected to make them different.
한편 상기 상대 기기로부터 재전송 요청이 수신되는 것에 응답하여 아래와 같이 대응할 수 있다. 단순 통신 오류로 인한 재전송 요청의 경우 생성했던 메시지를 재전송 할 수 있다. 그러나 그 외의 경우, 이를테면 잘못된 서명, 또는 공격이 있는 것으로 의심되는 경우, 제 1 인스턴트 공개키를 폐기하고, 이와 상이한 새로운 제2 인스턴트 공개키를 생성하여 다시 전자서명을 생성하여 전송한다.Meanwhile, in response to receiving the retransmission request from the counterpart device, it may correspond to the following. In case of retransmission request due to a simple communication error, the created message can be retransmitted. However, in other cases, for example, if there is a suspicious signature or attack, the first instant public key is discarded, and a new second instant public key different from this is generated and the digital signature is generated and transmitted again.
일실시예에 따르면 상기 계산 결과에서 상기 제1 인스턴트 공개키와 쌍을 이루는 상기 제1 인스턴트 개인키가 존재하지 않는 것으로 판단되는 경우에, 상기 생성부는 상기 제1 인스턴트 공개키와 상이한 제2 인스턴트 공개키를 생성한다. 그러면 상기 계산부는 상기 알고리즘에서 상기 제2 인스턴트 공개키와 쌍을 이루는 제2 인스턴트 개인키를 계산한다. 한편, 상기 생성부는 상기 제2 인스턴트 공개키를 생성하기 위해 상기 랜덤 넘버 생성 과정을 수행하는 대신 상기 제1 인스턴트 공개키에 정수 2를 더한 수를 상기 제2 인스턴트 공개키로 결정하여 제공할 수도 있다. 제1 인스턴트 공개키에 더해지는 "2"라는 정수는 예시적인 것이므로, 다른 값으로 변경될 수 있다. 만약 상기 암호화 알고리즘이 RSA-CRT (Chinese Remainder Theorem) 알고리즘인 경우, 상기 계산부가 계산하는 상기 제1 인스턴트 개인키는 제1 dP 값 및 제1 dQ 값을 포함하는 것이다. 이 RSA-CRT 실시예에서 상기 계산 결과에 따른 상기 제1 dP 값 및 상기 제1 dQ 값 중 어느 하나라도 존재하지 않는 것으로 판단되는 경우라면, 상기 생성부는 상기 제1 인스턴트 공개키와 상이한 제2 인스턴트 공개키를 생성한다. 그리고 상기 계산부는 상기 알고리즘에서 상기 제2 인스턴트 공개키와 쌍을 이루는 제2 dP 값 및 제2 dQ 값을 계산한다.According to an embodiment, when it is determined in the calculation result that the first instant private key paired with the first instant public key does not exist, the generation unit may generate a second instant public that is different from the first instant public key. Create a key. The calculator then calculates a second instant private key paired with the second instant public key in the algorithm. On the other hand, instead of performing the random number generation process to generate the second instant public key, the generation unit may determine and provide the number of the second instant public key by adding the
다른 일측에 따르면, 적어도 하나의 프로세서를 포함하고 공개키 기반 암호화 알고리즘에 따라 상대 기기가 전송한 전자서명을 검증하는 인증 장치, 이를테면 인증 기관(CA: Certification Authority)가 제공된다. 장치는, 보유하고 있던 상기 상대 기기의 고정 공개키, 및 상기 상대 기기가 인스턴트하게 생성하여 상기 전자서명과 함께 전송한 제1 인스턴트 공개키를 이용하여, 상기 전자서명을 검증하는 처리부를 포함할 수 있다.According to another aspect, an authentication device including at least one processor and verifying an electronic signature transmitted by an external device according to a public key based encryption algorithm is provided, such as a certification authority (CA). The apparatus may include a processing unit for verifying the electronic signature using the fixed public key of the external device, and the first instant public key generated by the external device and transmitted together with the electronic signature. have.
일실시예에 따르면 장치는, 상기 제1 인스턴트 공개키가 3 이상의 홀수가 아니라면, 상기 제1 인스턴트 공개키를 유효하지 않은 것으로 판단하는 판단부를 더 포함할 수 있다. 한편, 상기 처리부와 상기 판단부는 상기 적어도 하나의 프로세서에 의해 적어도 일시적으로 구현될 수 있다.According to an embodiment, the apparatus may further include a determining unit that determines that the first instant public key is invalid if the first instant public key is not three or more odd numbers. The processor and the determiner may be implemented at least temporarily by the at least one processor.
또 다른 일측에 따르면, 적어도 하나의 프로세서를 포함하는 인증 장치에 있어서, 상대 기기로부터 수신되는 제1 인스턴트 공개키가 유효한 값인지 판단하는 판단부; 및 상기 제1 인스턴트 공개키가 유효한 값인 경우, 보유하고 있던 상기 상대 기기의 고정 공개키와 상기 제1 인스턴트 공개키를 이용하여, 전송할 데이터를 인코딩하는 처리부를 포함하는 인증 장치가 제공된다. 상기 판단부와 상기 처리부는 상기 적어도 하나의 프로세서에 의해 적어도 일시적으로 구현될 수 있다. 예시적으로, 그러나 한정되지 않게, 상기 제1 인스턴트 공개키는 상기 상대 기기에서 랜덤 넘버 생성 과정을 통해 생성된 것일 수 있다.According to another aspect, an authentication device including at least one processor, comprising: a determination unit for determining whether a first instant public key received from an external device is a valid value; And a processing unit that encodes data to be transmitted using the fixed public key of the external device and the first instant public key held when the first instant public key is a valid value. The determining unit and the processing unit may be implemented at least temporarily by the at least one processor. For example, but not limited to, the first instant public key may be generated through a random number generation process in the counterpart device.
일실시예에 따르면 상기 제1 인스턴트 공개키가 3 이상의 홀수가 아니라면, 상기 판단부가 상기 제1 인스턴트 공개키를 유효하지 않은 것이라고 판단할 수 있다. 또 다른 일측에 따르면, 적어도 하나의 프로세서를 포함하고 공개키 기반 암호화 알고리즘에 따른 인증 절차를 수행하는 인증 장치가 제공된다. 장치는: 상기 인증 절차가 수행되어야 하는 것에 응답하여, 랜덤 넘버 생성 과정을 통해 제1 인스턴트 공개키를 생성하는 생성부; 상기 제1 인스턴트 공개키를 이용해서, 상기 알고리즘에서 상기 제1 인스턴트 공개키와 쌍을 이루는 제1 인스턴트 개인키를 계산하는 계산부; 및 상기 제1 인스턴트 공개키를 전송 받은 상대 기기로부터, 상기 상대 기기에 미리 보유되는 고정 공개키와 상기 제1 인스턴트 공개키를 이용하여 인코딩한 메시지가 수신되면, 상기 제1 인스턴트 개인키를 이용하여 상기 메시지를 디코딩하는 처리부를 포함할 수 있다. 상기 생성부, 상기 계산부, 상기 처리부는 상기 적어도 하나의 프로세서에 의해 적어도 일시적으로 구현될 수 있다.According to an embodiment, if the first instant public key is not an odd number of three or more, the determination unit may determine that the first instant public key is invalid. According to another aspect, an authentication apparatus including at least one processor and performing an authentication procedure according to a public key based encryption algorithm is provided. The apparatus may include: a generation unit generating a first instant public key through a random number generation process in response to the authentication procedure being performed; A calculator configured to calculate a first instant private key paired with the first instant public key in the algorithm using the first instant public key; And receiving a message encoded using the fixed public key previously held in the counterpart device and the first instant public key from the counterpart device receiving the first instant public key, by using the first instant private key. It may include a processing unit for decoding the message. The generation unit, the calculation unit, and the processing unit may be implemented at least temporarily by the at least one processor.
일실시예에 따르면 상기 인증 장치에는 무작위적으로 발생하는 공정 편차를 이용하여 하드웨어 핑거프린트를 제공하는 PUF가 더 포함될 수 있다. 이 경우, 상기 랜덤 넘버 생성 과정은, 상기 하드웨어 핑거프린트 값을 근원 값으로 이용하는 랜덤 넘버 생성 알고리즘을 포함한다.According to an embodiment, the authentication device may further include a PUF that provides a hardware fingerprint by using a randomly generated process variation. In this case, the random number generation process includes a random number generation algorithm using the hardware fingerprint value as a source value.
일실시예에 따르면, 상기 계산 결과에서 상기 제1 인스턴트 공개키와 쌍을 이루는 상기 제1 인스턴트 개인키가 존재하지 않는 것으로 판단되는 경우에, 상기 생성부는 상기 제1 인스턴트 공개키와 상이한 제2 인스턴트 공개키를 생성한다. 그리고 상기 계산부는 상기 알고리즘에서 상기 제2 인스턴트 공개키와 쌍을 이루는 제2 인스턴트 개인키를 계산할 수 있다.According to an embodiment, when it is determined in the calculation result that the first instant private key paired with the first instant public key does not exist, the generation unit may generate a second instant different from the first instant public key. Generate a public key. The calculator may calculate a second instant private key paired with the second instant public key in the algorithm.
또 다른 일측에 따르면, 컴퓨터-판독가능 기록매체에 저장되는 비-일실시적 컴퓨터 프로그램이 제공된다. 상기 프로그램은 프로세서를 포함하는 컴퓨팅 장치에서 실행되는 경우 상기 프로세서가 동작하도록 하는 이하의 명령어 세트들을 포함할 수 있다. 명령어 세트들은: 상기 프로세서가 메시지에 대응하는 전자 서명 생성 요청에 응답하여, 랜덤 넘버 생성 과정을 통해 제1 인스턴트 공개키를 생성하도록 하는 명령어 세트; 상기 프로세서가 상기 제1 인스턴트 공개키를 이용해서, 상기 제1 인스턴트 공개키와 쌍을 이루는 제1 인스턴트 개인키를 계산하도록 하는 명령어 세트; 및 상기 프로세서가 상기 제1 인스턴트 개인키를 이용하여 공개키-알고리즘에 의한 전자서명을 생성하도록 하는 명령어 세트를 포함할 수 있다.According to yet another aspect, there is provided a non-one embodiment computer program stored on a computer-readable recording medium. The program may include the following set of instructions that, when executed on a computing device including a processor, cause the processor to operate. Instruction sets include: an instruction set for causing the processor to generate a first instant public key through a random number generation process in response to a digital signature generation request corresponding to the message; An instruction set for causing the processor to calculate a first instant private key paired with the first instant public key using the first instant public key; And an instruction set for causing the processor to generate an electronic signature by a public key-algorithm using the first instant private key.
또 다른 일측에 따르면, 컴퓨터-판독가능 기록매체에 저장되는 비-일실시적 컴퓨터 프로그램이 제공된다. 상기 프로그램은 프로세서를 포함하는 컴퓨팅 장치에서 실행되는 경우 상기 프로세서가 동작하도록 하는 이하의 명령어 세트들을 포함할 수 있다. 명령어 세트들은: 상기 프로세서가 상대 기기로부터 메시지 및 전자서명과 함께 수신된 제1 인스턴트 공개키가 유효한 지 판단하도록 하는 명령어 세트; 및 상기 프로세서가 상기 제1 인스턴트 공개키가 유효한 경우, 상기 컴퓨팅 장치에 저장되어 있던 상기 상대 기기의 고정 공개키, 및 수신한 상기 제1 인스턴트 공개키를 이용하여 상기 전자서명을 검증하도록 하는 명령어 세트를 포함할 수 있다.According to yet another aspect, there is provided a non-one embodiment computer program stored on a computer-readable recording medium. The program may include the following set of instructions that, when executed on a computing device including a processor, cause the processor to operate. Instruction sets include: an instruction set for causing the processor to determine whether a first instant public key received with a message and an electronic signature from a counterpart device is valid; And a set of instructions for causing the processor to verify the electronic signature using the fixed public key of the external device stored in the computing device and the received first instant public key when the first instant public key is valid. It may include.
도 1은 일실시예에 따라 인스턴트 공개키와 인스턴트 개인키를 제공하는 인증 장치를 도시하는 블록도이다.1 is a block diagram illustrating an authentication device for providing an instant public key and an instant private key, according to an exemplary embodiment.
도 2는 일실시예에 따라 상대방이 생성한 인스턴트 공개키를 전달 받아 사용하는 인증 장치를 도시하는 블록도이다.2 is a block diagram illustrating an authentication apparatus for receiving and using an instant public key generated by a counterpart according to an embodiment.
도 3은 일실시예에 따른 전자 서명 검증 과정을 도시하는 흐름도이다.3 is a flowchart illustrating an electronic signature verification process according to an embodiment.
도 4는 일실시예에 따른 인코딩 및 디코딩 과정을 도시하는 흐름도이다.4 is a flowchart illustrating an encoding and decoding process according to an embodiment.
도 5는 일실시예에 따라 인스턴트 개인키가 존재하지 않는 경우의 처리를 도시하는 흐름도이다.5 is a flowchart illustrating processing in the case where an instant private key does not exist, according to an embodiment.
도 6은 일실시예에 따라 RSA-CRT 알고리즘 적용 시 개인키가 존재하지 않는 경우의 처리를 도시하는 흐름도이다.6 is a flowchart illustrating a process in a case where a private key does not exist when an RSA-CRT algorithm is applied according to an embodiment.
이하에서, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 권리범위는 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of rights is not limited or limited by these embodiments. Like reference numerals in the drawings denote like elements.
아래 설명에서 사용되는 용어는, 연관되는 기술 분야에서 일반적이고 보편적인 것으로 선택되었으나, 기술의 발달 및/또는 변화, 관례, 기술자의 선호 등에 따라 다른 용어가 있을 수 있다. 따라서, 아래 설명에서 사용되는 용어는 기술적 사상을 한정하는 것으로 이해되어서는 안 되며, 실시예들을 설명하기 위한 예시적 용어로 이해되어야 한다.The terminology used in the description below has been selected to be general and universal in the art to which it relates, although other terms may vary depending on the development and / or change in technology, conventions, and preferences of those skilled in the art. Therefore, the terms used in the following description should not be understood as limiting the technical spirit, and should be understood as exemplary terms for describing the embodiments.
또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세한 그 의미를 기재할 것이다. 따라서 아래 설명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 명세서 전반에 걸친 내용을 토대로 이해되어야 한다.In addition, in certain cases, there is a term arbitrarily selected by the applicant, and in this case, the meaning thereof will be described in detail in the corresponding description. Therefore, the terms used in the following description should be understood based on the meanings of the terms and the contents throughout the specification, rather than simply the names of the terms.
도 1은 일실시예에 따라 인스턴트 공개키와 인스턴트 개인키를 제공하는 인증 장치를 도시하는 블록도이다. 장치(100)는 적어도 하나의 프로세서를 포함하는 컴퓨팅 단말의 적어도 일부분일 수 있다. 이 컴퓨팅 단말은, 예시적으로 그러나 한정되지 않게, 스마트폰, 태블릿, 랩탑, 범용 컴퓨터, 서버, 또는 암호화 통신용 전용 단말기 등일 수 있다. 장치(100)는 공개키 기반 암호화 알고리즘, 이를테면 RSA와 같은 비대칭키 암호화 알고리즘에 따른 인증 절차를 수행한다.1 is a block diagram illustrating an authentication device for providing an instant public key and an instant private key, according to an exemplary embodiment.
일실시예에 따르면 장치(100)의 생성부(110)는 RSA 알고리즘에 대응하는 전자 서명이 필요한 경우에 응답하여, 제1 인스턴트 공개키(instant public-key) "E"를 생성한다. 이러한 제1 인스턴트 공개키 E의 생성은 랜덤 넘버 생성(random number generating) 과정을 통해 수행될 수 있다. 한편, 생성되는 E는 3이상의 홀수이어야 한다. 소수(prime) 또는 매우 큰 수인 경우에도 의사-소수(pseudo-prime)이어야 하기 때문이다. 생성부(110)는 생성된 E가 홀수인지와, 그 값이 1이 아닌지 확인할 수 있다.According to an embodiment, the generating
한편 일실시예에 따르면 장치(100)에는 무작위적으로 발생하는 반도체 공정 편차(process variation)를 이용하여 하드웨어 핑거프린트(hardware finger-print)를 제공하는 PUF (미도시)가 포함되어 있을 수 있다. 반도체 공정 편차를 이용하여 PUF를 구현하는 예에도 여러 가지가 있다. 예시적으로 반도체의 전도성 레이어들 사이에 배치되는 비아(via)들 또는 인터-레이어 컨택(inter-layer contact)들의 무작위적 형성-형성실패 결과를 이용하여 PUF가 구현될 수 있으며, 이를 자세히 공개한 '630 특허의 명세서가, 참고로서 이 명세서에 인용된다.Meanwhile, according to an exemplary embodiment, the
한편 이러한 예시적 상황에서, PUF가 제공하는 하드웨어 핑거프린트는 상기 고정 개인키 생성 알고리즘에 이용될 수 있다. 장치가 기본적으로 가지고 있는(301) 고정 개인키(p, q)는 소수로, 이를 생성할 때 고정 개인키(p, q)의 후보 값으로 하드웨어 핑거프린트가 이용될 수 있다. 이 경우 하드웨어 핑거프린트 값과 실제 생성된 고정 개인키(p, q) 값의 차이만 메모리에 기록하면 된다. 기록되는 값은 32-bit로 충분하므로 이 값만 가지고 원래 고정 개인키(p, q)을 추측하기는 불가능하다. 또한, 필요 시 하드웨어 핑거프린트 값으로부터 고정 개인키 값을 빠르게 재생산하는 것도 가능하다.Meanwhile, in this exemplary situation, the hardware fingerprint provided by the PUF may be used for the fixed private key generation algorithm. The device has a fixed private key (p, q) which is basically 301, and a hardware fingerprint may be used as a candidate value of the fixed private key (p, q) when generating it. In this case, only the difference between the hardware fingerprint value and the actually generated fixed private key (p, q) value needs to be recorded in the memory. The value recorded is 32-bit enough, so it is impossible to infer the original static private key (p, q) using this value alone. It is also possible to quickly reproduce the fixed private key value from the hardware fingerprint value when needed.
한편 이러한 예시적 상황에서, PUF가 제공하는 하드웨어 핑거프린트는 상기 랜덤 넘버 생성 알고리즘에 이용될 수도 있다. 이를테면 소프트웨어 및/또는 하드웨어 적으로 동작하는 랜덤 넘버 알고리즘에서 요구되는 근원 값, 또는 시드 키(seed key)로 하드웨어 핑거프린트가 이용될 수 있다. Meanwhile, in this exemplary situation, the hardware fingerprint provided by the PUF may be used for the random number generation algorithm. For example, a hardware fingerprint may be used as a seed value or seed key required by a random number algorithm operating in software and / or hardware.
위 수학식 1에 의해 제1 인스턴트 공개키 E가 생성되면, 계산부(120)는 RSA 방식에서 규정된 계산 방식에 따라 알고리즘에 따라 제1 인스턴트 공개키 E를 이용해서, E의 RSA 쌍인, 다시 말해 E와 쌍을 이루는 제1 인스턴트 개인키(instant private-key) "D"를 계산해 낸다.When the first instant public key E is generated by the
이렇게 RSA 알고리즘에서 키 발급 과정의 대상인, 개인키-공개키를 즉석에서 생성 및 계산하는 것은 아래와 같은 장점이 있다. RSA 방식에서 개인키는 {D, p, q}가 있으며, 상대방 기기에 제공되는 공개키는 {E, N}이 있다. 여기서 N은 p와 q의 곱이며, D와 E는 D × E = 1 mod (p-1)(q-1)인 관계가 성립한다. 다른 기기나 인증기관으로 전달되는 E나 N과 달리 인증 장치 내부에만 존재하게 되는(그리고 존재해야만 하는) 개인키 {D, p, q}는 보안 공격의 대상이 된다. D를 제3자가 알게 되면, 직접적인 전자서명 위조가 가능하다. 그리고 D를 모르더라도 p 및/또는 q 값을 제3자가 알면, 외부에 공개되어 있는 E와 함께 사용하여 D를 계산해낼 수도 있기 때문에, 이 RSA 암호화는 더 이상 가치가 없게 된다.In this way, the instantaneous generation and calculation of the private key-public key, which is the subject of the key issuance process, has the following advantages. In the RSA scheme, the private key has {D, p, q} and the public key provided to the counterpart device has {E, N}. Where N is the product of p and q, and D and E are D × E = 1 mod (p-1) (q-1). Unlike E or N, which is passed to other devices or certification authorities, private keys {D, p, q} that exist only in (and must exist) inside the authentication device are subject to a security attack. Once D is known by a third party, direct digital signature forgery is possible. And if the third party knows the value of p and / or q without knowing D, then this RSA encryption is no longer valuable because it can be used in conjunction with an externally disclosed E to calculate D.
앞서 언급한 바와 같이, 부채널 공격, 이를테면 DPA (Differential Power Analysis, 차분 전력 분석)은 기기의 소모 전력 파형을 분석하는데, 하나의 전류 소모 파형만 관찰하는 SPA (Simple Power Analysis) 공격과 달리, 실제 키가 사용된 파형을 다수 수집 후 통계적 분석 방법에 의해 이 D, p 또는 q를 획득하려 하게 된다. 노이즈가 심한 환경이나, 전력 소모를 쉴드하여 관찰이 어렵도록 한 경우에 SPA 공격은 성공적이지 못할 수 있지만, 여전히 DPA 공격은 알고리즘의 안전성에 위협적이다. 다수의 파형을 통한 통계적 분석 과정에서 노이즈 등 기타 아웃라이어는 상쇄될 수 있고, 유의미한 패턴이 발견될 수 있기 때문이다.As mentioned earlier, side-channel attacks, such as differential power analysis (DPA), analyze the power consumption waveforms of a device, unlike actual power analysis (SPA) attacks that only observe one current consumption waveform. After collecting a large number of keyed waveforms, we try to obtain this D, p or q by statistical analysis. SPA attacks may be unsuccessful in noisy environments or in shielding power consumption, making them difficult to observe, but still DPA attacks threaten the algorithm's safety. This is because in the process of statistical analysis through multiple waveforms, other outliers such as noise may be canceled out and significant patterns may be found.
종래의 RSA 암호 알고리즘에서는 인증 장치가 고정된 개인키인 {D, p, q}를 가지고 있고, 상대방인 인증기관이 이 인증 장치의 고정된 공개키인 {E, N}을 가지고 있었다. 따라서 공격자가 기기에게 전자서명을 반복적으로 재요청하는 식으로 DPA에 필요한 다수의 파형을 수집하는 것이 가능하기에 위험이 있었다.In the conventional RSA cryptographic algorithm, the authentication device has a fixed private key {D, p, q}, and the authentication authority as the other party has a fixed public key {E, N}. Therefore, the risk was that an attacker could collect multiple waveforms required for DPA by repeatedly requesting the device for digital signatures.
그러나 상기 실시예에 따르면, 이 개인키와 공개키 중 적어도 D와 E가 고정된 값이 아닌 동적으로 변하는 값이 된다. 다시 말해, 전자서명과 같은 암호화 알고리즘 수행이 필요한 경우에 즉석에서(instantly) 잠시 사용하는 D와 E를 생성하는 것이다. 생성된 D와 E는 한 번(one time)만 사용되기 때문에 공격자에게 전자서명이 수집된다 하더라도 통계적으로 무의미 한 것이 된다. 실시예들은 이렇게 고정되지 않고 동적으로 변경되는 E와 D를 생성하여 사용함으로써 DPA 공격 등 부채널 공격을 원천적으로 방지하게 된다.However, according to the above embodiment, at least D and E of the private key and the public key are not fixed values but dynamically changing values. In other words, when it is necessary to perform an encryption algorithm such as an electronic signature, instantaneously, D and E are generated. The generated D and E are used only once (one time), so even if the digital signature is collected by the attacker, it is statistically insignificant. Embodiments generate and use E and D, which are not fixed and dynamically changed, to prevent side channel attacks such as DPA attacks.
더욱이, 앞서 설명한 바와 같이, 랜덤하게 제1 인스턴트 공개 키 E를 생성하는 데에 이용되는 PUF의 하드웨어 핑거프린트는 동일하게 설계되더라도 그 값이 달라서 물리적으로 복제한다는 것이 불가능하다. 그리고 PUF 값이나 구조도 외부에서 관찰 및 분석이 거의 불가능하다. 따라서, 이러한 실시예에 따르면 PUF값을 시드로 하여 랜덤한 E를 생성하는 알고리즘 자체를 공격하는 것도 방지된다.Moreover, as described above, even though the hardware fingerprint of the PUF used to randomly generate the first instant public key E is identical in design, it is impossible to physically duplicate the value. In addition, it is almost impossible to observe and analyze PUF values or structures externally. Therefore, according to this embodiment, it is also possible to prevent attacking the algorithm itself which generates a random E by using the PUF value as a seed.
이렇게 제1 인스턴트 공개키 E가 생성되고, 이를 이용하여 E의 쌍인 제1 인스턴트 개인키 D가 계산되게 되는데, 경우에 따라서는 위 수학식 2를 만족하는 D가 존재하지 않을 수도 있다.As such, the first instant public key E is generated and the first instant private key D, which is a pair of Es, is calculated. In some cases, the D that satisfies
D가 존재하지 않는다면, 유효한 "인스턴트 D - 인스턴트 E의 쌍"이 만들어질 수 없으므로, 생성부(110)이 앞선 제1 인스턴트 공개키 E와 다른 제2 인스턴트 공개키 E'을 생성하게 된다. 이러한 제2 인스턴트 공개키 E'을 가지고 계산부(120)가 수학식 2에 따라 제2 인스턴트 개인키 D'을 계산해 본다. D'이 존재한다면 E'과 D'을 사용하고, 그렇지 않으면 이 과정을 반복할 수 있다.If D does not exist, a valid " instant D-pair of instant E " cannot be made, so the
여기서, 생성부(110)가 제2 인스턴트 공개키 E'을 만드는 과정은 제1 인스턴트 공개키 E를 만들었던 것과 유사하게 다시 랜덤 넘버 생성 과정을 거치는 것일 수도 있다. 그러나 이러한 과정보다 더 간단한 다른 실시예도 가능하다. 이를테면, 생성부(110)는 다시 랜덤 넘버 생성 과정을 수행하는 대신, 생성되었으나 대응하는 D가 존재하지 않았던 제1 인스턴트 공개키 E에 정수 2를 더한 수 (다시 말해 E 바로 위의 홀수)를 제2 인스턴트 공개키 E'이라고 결정하여 제공할 수도 있다. 여기서 E'을 생성하기 위해 E에 더해지는 "2"라는 정수는 예시적인 것이므로, 다른 값으로 변경될 수 있다. D의 존재 여부에 따라 E를 다시 생성하는 것은 도 5를 참조하여 다시 설명할 것이다.Here, the process of generating the second instant public key E 'by the
한편, 상기 암호화 알고리즘이 CRT (Chinese Remainder Theorem)를 이용하는 알고리즘일 수도 있는데, 이 경우에는 E를 가지고 계산되어야 하는 인스턴트 개인키는 D 하나가 아니라 아래 수학식 3과 수학식 4에 따라 계산되는 {dP, dQ}일 수 있다.Meanwhile, the encryption algorithm may be an algorithm using a Chinese Remainder Theorem (CRT). In this case, the instant private key to be calculated with E is not D, but {dP calculated according to Equations 3 and 4 below. , dQ}.
이 RSA-CRT 실시예에서, 계산부(120)의 계산에 따라 E에 대응하는 유효한 dP 값 및 유효한 dQ 값 중 어느 하나라도 존재하지 않는 것으로 판단되면 마찬가지로 E를 다시 생성해야 할 수 있다. 이 경우도 랜덤 넘버 생성 과정을 다시 거칠 수도 있으나, E에 2를 더해서 간단히 E'을 결정하고, 이 E'에 대응하는 dP' 값 및 dQ' 값을 계산할 수도 있다. 자세한 내용은 도 6을 참조하여 다시 설명할 것이다.In this RSA-CRT embodiment, if it is determined that none of the valid dP values and the valid dQ values corresponding to E is present according to the calculation of the
이상의 과정을 통해 유효한 인스턴트 공개키(E)와 인스턴트 개인키(D 또는 {dP, dQ})가 결정되면 이를 통하여 RSA 방식의 암호화 알고리즘이 수행될 수 있다. 메시지 M을 서명하여 전자서명 S를 생성한다면 처리부(130)가 아래와 같은 과정을 수행할 수 있다.If a valid instant public key (E) and instant private key (D or {dP, dQ}) are determined through the above process, an RSA encryption algorithm may be performed. If the message M is signed to generate the electronic signature S, the
GenSign()은 전자서명 생성 함수로서, RSA 알고리즘에 따라 규정되어 있다. 통신부(140)은 생성된 전자서명 S를 메시지 M과 함께 상대방 기기 (이를 테면 인증 기관)에 전송하되, 종래와는 다르게 위에서 생성한 인스턴트 공개키 E도 함께 전송한다. 그러면 상대방 기기는 이 인스턴트 공개키 E를 이미 보유하고 있던 장치(100)의 고정 공개키 N과 함께 사용하여 전자서명 S를 검증할 것이다. 이상의 과정은 도 3을 참조하여 다시 설명될 것이다.GenSign () is a digital signature generation function and is defined according to the RSA algorithm. The
한편, 이렇게 전송된 인스턴트 공개키 E를 이용하여 상대방 기기가 메시지를 인코딩해서 보내온다면 장치(100)은 가지고 있던 인스턴트 개인키 D (또는 dP, dQ)를 p, q와 함께 이용하여 메시지를 디코딩할 수 있다. 이러한 과정이 도 4를 참조하여 후술된다.On the other hand, when the other device encodes and sends a message using the instant public key E transmitted as described above, the
이처럼 실시예들에 따라 보안 공격의 위험을 상당히 낮추었으나, 예상할 수 있는 몇 가지의 또 다른 공격 시도들이 있을 수 있고, 이러한 다른 공격들은 아래와 같은 실시예들에 의해 구현될 수 있다. 만약 공격자가 매우 짧은 시간에 여러 번 키의 재전송을 요구할 수 있다. 일실시예에 따른 장치(100)는 통신오류의 경우 인스턴트 개인키를 재사용하여 서명을 재생성하지 않고 이미 생성된 생성을 재전송하기만 한다. 그리고 통신 오류가 아닌 경우 기 생성된 인스턴트 공개키를 폐기하고, 새로운 인스턴트 공개키를 생성할 수 있다. 통신 오류인지 여부는 전송 메시지에 대한 통신 Ack가 수신 여부로 확인할 수 있다. 상대방 기기 쪽에서 수행할 수 있는 공격 방지 대안들은 도 2를 참고하여 보다 상세히 설명할 것이다.Thus, although the risk of a security attack has been significantly lowered according to embodiments, there may be some other attack attempts that can be expected, and these other attacks may be implemented by the following embodiments. If an attacker can request a retransmission of a key several times in a very short time. In the case of a communication error, the
도 2는 일실시예에 따라 상대방이 생성한 인스턴트 공개키를 전달 받아 사용하는 인증 장치를 도시하는 블록도이다. 장치(200)은 이를 테면 인증 기관(CA: Certification Authority)일 수 있다. 그리고 장치(200)는 적어도 하나의 프로세서를 포함하는 컴퓨팅 단말의 적어도 일부분일 수 있고, 후술하는 판단부(210)와 처리부(220)는 상기 프로세서에 의해 적어도 일시적으로 구현될 수 있다.2 is a block diagram illustrating an authentication apparatus for receiving and using an instant public key generated by a counterpart according to an embodiment. The
일실시예에 따른 장치(200)는, 보유하고 있던 상기 상대 기기의 고정 공개키 N과, 도 1에서 설명한 것과 같이 상대 기기가 인스턴트하게 생성하여 메시지 M, 전자서명 S와 함께 전송한 제1 인스턴트 공개키 E를 이용하여, 전자서명 S를 검증하는 처리부(220)를 포함할 수 있다.The
메시지를 인코딩하여 상대 기기에게 보내야 하는 경우에, 처리부(220)는 보유하고 있던 그 상대 기기의 고정 공개키 N과, 앞서 전달 받은 제1 인스턴트 공개키 E를 이용하여, 전송할 데이터 M을 인코딩한다. M이 정상적으로 인코딩된 M'이 상대 기기로 전송된다면, 상대 기기는 자신의 고정 개인키 p, q와 인스턴트 개인키 D (또는 dP와 dQ)를 이용하여 M'을 M으로 디코딩 할 것이다.When the message needs to be encoded and sent to the counterpart device, the
한편, 일실시예에 따르면 장치(200)는, 상대 기기가 보내온 인스턴트 공개키 E가 유효한 것인지 판단하는 판단부(210)을 더 포함할 수도 있다. 공격자가 E와 D를 모두 1로 하여 전자서명을 생성하고 이를 전달하는 공격을 예상해 볼 수 있다. 이 경우 전자서명 생성 및 검증 연산은 실제로 이루어지지 않는다. E와 D는 RSA 연산에서 지수 값(exponential value)로서 사용되기 때문에 값이 1이라면 인코딩-디코딩을 위해 메시지의 "1"제곱을 하는 것은 연산을 하지 않는 것과 동일하기 때문이다. 이 때 인증기관 CA 입장에서 보면 서명 검증 결과가 유효하게 나올 수도 있게 된다. 따라서 이러한 상황을 방지하기 위해 판단부(210)는 상대 기기로부터 전달받은 인스턴트 공개키 E가 3이상의 홀수 인지 확인한다. 그래서 E가 짝수라거나, E가 1이라면 유효하지 않은 E라고 판단할 수 있다.Meanwhile, according to an exemplary embodiment, the
나아가, 다른 일실시예에 따른 판단부(210)는 E가 지정된 재사용 횟수 이상 반복하여 사용되고 있는 경우에, 이를 비정상적인 상황으로 인식하여 인스턴트 공개키 E를 유효하지 않은 것으로 취급할 수도 있다.Furthermore, when the E is repeatedly used more than a specified number of reuse times, the
도 3은 일실시예에 따른 전자 서명 검증 과정을 도시하는 흐름도이다. 상술한 바와 같이, 종래의 RSA와 차이점은 기기가 고정된 개인키 D를 가지고 있지 않고, 상대 인증기관도 이 기기의 고정된 공개키 E를 가지고 있지 않다는 점이다. 따라서, 실시예에 따르면 도 1 내지 도 2를 참조하여 상술한 대로 인증이 필요한 경우에 인스턴트 공개키 E와 이에 의해 계산되는 인스턴트 개인키 D가 생성되어 활용된다.3 is a flowchart illustrating an electronic signature verification process according to an embodiment. As described above, the difference from the conventional RSA is that the device does not have a fixed private key D, and the counterpart certification authority does not have a fixed public key E of this device. Therefore, according to the embodiment, when authentication is required as described above with reference to FIGS. 1 and 2, an instant public key E and an instant private key D calculated therefrom are generated and utilized.
도시된 실시예에서, 기기는 저장소(301)에 p와 q만을 가지고 있다. 그리고 인증기관은 이 기기의 고정 공개키 중 N만을 가지고 있다. 인증이 필요한 경우, 단계(310)이 수행된다. 단계(310)은 랜덤 넘버 생성 과정을 통해 랜덤한 인스턴트 공개키 E가 생성되는 과정으로, 생성되는 E는 3 이상의 홀수이다. 인스턴트 E의 생성 및 그 유효성 검증에 대해서는 도 1을 참조하여 설명한 바와 같다.In the illustrated embodiment, the device has only p and q in the
그러면 단계(320)에서 인스턴트 공개키 E의 RSA 쌍인 D가 계산된다. RSA에서 규정된 방식에 의하므로 이 분야의 통상의 기술자는 이러한 D의 계산을 쉽게 이해할 수 있다. 그러면 단계(330)에서 전송할 메시지 M에 대한 전자서명 S가 생성된다. 그리고, 단계(340)에서 메시지 M, 전자서명 S와 함께 상기 인스턴트 공개키 E가 인증기관으로 전송된다. 그러면 인증기관은 전자서명 검증 알고리즘을 수행하는 단계(350)에서, 앞서 전달 받은 E를 미리 가지고 있던 N과 함께 사용할 것이다. 단계(350)의 수행에 앞서서 인증기관은 전달 받은 E가 유효한 지를 검증하는 과정을 거칠 수도 있으며, 이는 도 2를 참조하여 상세히 설명한 바 있다.Then, in
도 4는 일실시예에 따른 인코딩 및 디코딩 과정을 도시하는 흐름도이다. 인증기관이 메시지 M을 인코딩하여 기기에게 보내는 과정이 도시되어 있다. 인증기관은 단계(410)에서 미리 보유하고 있던 그 상대 기기의 고정 공개키 N과, 앞서 전달 받은 인스턴트 공개키 E를 이용하여, 전송할 데이터 M을 인코딩한다. 그리고 단계(420)에서 인코딩된 메시지 M'이 기기로 전송되고, 기기는 단계(430)에서 자신의 고정 개인키 p, q와 인스턴트 개인키 D (또는 dP와 dQ)를 이용하여 M'을 M으로 디코딩 할 수 있다.4 is a flowchart illustrating an encoding and decoding process according to an embodiment. The process by which the certification authority encodes the message M and sends it to the device is shown. The certification authority encodes the data M to be transmitted using the fixed public key N of the counterpart device previously held in
도 5는 일실시예에 따라 인스턴트 개인키가 존재하지 않는 경우의 처리를 도시하는 흐름도이다. 단계(510)에서 기기의 생성부가 랜덤 넘버 생성 과정을 통해 인스턴트 공개기 E를 생성한다. 그리고 단계(520)에서 기기의 계산부가 E를 이용하여 수학식 2에 따라 E의 RSA 쌍인 인스턴트 개인키 D를 계산해 본다. 단계(530)에서 이 유효한 D가 존재하는 경우라면 도 1 내지 도 4를 참조하여 설명한 바와 같이 인스턴트 D와 인스턴트 E를 사용한 인증 과정이 수행된다.5 is a flowchart illustrating processing in the case where an instant private key does not exist, according to an embodiment. In
그러나 단계(530)의 판단에서 D가 존재하지 않는 경우라면 기기의 생성부는 앞선 인스턴트 공개키 E와 다른 제2 인스턴트 공개키 E'을 생성한다. 이러한 과정은 다시 랜덤 넘버 생성 과정을 거치는 것일 수도 있으나 도 5에서 도시된 예에서는 보다 간단한 실시예가 제시되었다. 단계(540)에서 앞서 생성되었으나 D가 존재하지 않아 사용될 수 없는 인스턴트 공개키 E에 정수 2를 더하는 것이다. 이러한 과정이 유효한 E-D 쌍이 있을 때까지 반복된다.However, if the D does not exist in the determination of
도 6은 일실시예에 따라 RSA-CRT 알고리즘 적용 시 개인키가 존재하지 않는 경우의 처리를 도시하는 흐름도이다. 먼저 CRT를 사용하지 않는 앞의 실시예의 경우 서명을 생성할 때와 CRT를 사용하는 경우 서명을 생성할 때를 비교하면 아래 표와 같다.6 is a flowchart illustrating a process in a case where a private key does not exist when an RSA-CRT algorithm is applied according to an embodiment. First, when the signature is generated in the previous embodiment without using the CRT and when the signature is generated when using the CRT, the following table is shown.
위 표 1에서 M''은 RSA 서명 포맷에 맞게 메시지 M의 해쉬값에 패딩 등을 추가한 값이다. 표 1에서 확인할 수 있듯이 CRT를 사용할 경우 식이 복잡해지나 RSA 연산에서 연산양의 상당 부분을 차지하는 "modular exponentiation"의 처리 데이터 길이가 1/2이 되기 때문에, CRT를 사용하지 않는 경우에 비해 오히려 연산 속도는 4배 내지 8배 가량 빨라질 수 있다.In Table 1, M '' adds padding and the like to the hash value of message M according to the RSA signature format. As Table 1 shows, using CRT complicates the expression, but the processing data length of "modular exponentiation", which takes up a large part of the calculation amount in RSA operation, is 1/2. Can be 4 to 8 times faster.
랜덤한 인스턴트 공개키 E가 생성된 후, CRT가 사용되는 경우이면(단계 610), 단계(620)에서 dP가 계산되고, 이 dP가 존재하는지 판단된다(630). dQ의 존재 여부와 관계 없이 이 dP가 존재하지 않는다면 E는 사용될 수 없다. 따라서 단계(631)에서 E에 2를 더한 수를 다시 E로 지정하고 dP를 계산하는 과정이 이 dP가 존재할 때까지 반복된다. 물론 앞서 설명한 것처럼 단계(631)은 선택적인 실시예이므로, 랜덤 넘버 생성 과정을 통해 완전히 새로운 E를 다시 생성하는 것도 가능하다.After the random instant public key E is generated, if CRT is used (step 610), then dP is calculated in
dP가 존재하는 경우, dQ에 대해서도 동일한 과정이 반복된다. dQ의 계산(640) 및 존재 여부 판단(650) 및 dQ 부존재에 따른 E의 재생성(651)은 단계(620, 630 및 631)의 설명과 같다. 그리고 유효한 dP와 dQ가 모두 존재하는 경우, 단계(660)에서 CRT를 사용하는 암호화 알고리즘이 수행될 것이다.If dP is present, the same process is repeated for dQ. The calculation of
상술한 실시예들에 따른 효과 및 성능 이슈를 잠시 설명하기로 한다. 실시예들 중 PUF 하드웨어 핑거프린트를 근원 값으로 하는 랜덤 넘버 생성의 경우 외부의 공격이 불가능하다. E와 D의 쌍(pair)을 항상 재생성하여 사용하더라도 E의 값이 너무 작다면(예를 들어 16-bit 미만) 동일한 E-D 쌍이 우연히 사용될 수도 있을 것이나, 이는 E를 조금 키움으로써 방지할 수 있다. E의 크기가 커지는 경우, 전자서명 검증에 필요한 연산양은 증가하지만, 이러한 연산을 하는 인증기관의 하드웨어 리소스를 고려하면 부담이 되지 않는 정도이다. 따라서, E 값의 크기는 성능을 저하하지 않는 선에서 충분히 큰 값, 이를테면 128-bit 이상으로 정해질 수 있다.Effects and performance issues according to the above embodiments will be briefly described. In the case of random number generation using the PUF hardware fingerprint as a source value, the external attack is impossible. Even if the pair of E and D is always regenerated, if the value of E is too small (e.g. less than 16-bit), the same pair of E-Ds may be used by chance, but this can be prevented by increasing E slightly. If the size of E increases, the amount of computation required for digital signature verification increases, but it is not a burden considering the hardware resources of the certification authority performing such computation. Thus, the magnitude of the E value can be set to a sufficiently large value, such as 128-bit or more, without sacrificing performance.
한편, 실시예들에 따라 E- D 쌍이 지속적으로 재생성 됨으로써 발생하는 성능 저하도 크지 않다. E-D 쌍을 생성하는 연산의 시간 복잡도는 키의 길이 n에 비례하고(시간 복잡도 O(n)), 서명 생성 연산은 구현 방식에 따라 키의 길이 n의 제곱 또는 세제곱에 비례한다(시간 복잡도 O(n2) 또는 O(n3)). 그런데 최근 사용되는 RSA의 최저 키 길이는 1024, 2048-bit 이상이기 때문에 E-D 쌍을 생성하는 연산 시간은 서명 생성 시간의 수천분의 1에 해당하며, 이 정도 소모 시간은 전체적으로 봤을 때 그 비중을 무시할 수 있을 정도로 작은 편이다. 따라서 실시예들에 따르면 하드웨어적인 무리나 성능 저하 없이 DPA와 같은 부채널 공격이 원천적으로 방지된다.On the other hand, the performance degradation caused by the continuous regeneration of the E-D pair according to the embodiments is not significant. The time complexity of the operation generating the ED pair is proportional to the length n of the key (time complexity O (n)), and the signature generation operation is proportional to the square or cube of length n of the key, depending on the implementation (time complexity O ( n 2 ) or O (n 3 )). However, since the minimum key length of recently used RSA is 1024, 2048-bit or more, the operation time for generating an ED pair is equivalent to one-thousandth of the signature generation time. Small enough to be. Therefore, according to the embodiments, subchannel attacks such as DPA are prevented at the source without detrimental hardware or performance degradation.
이상에서, 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.In the above, although the embodiments have been described by way of limitation, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.
Claims (20)
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017505025A JP2017511095A (en) | 2014-04-09 | 2015-04-09 | Authentication apparatus and method |
| CN201580030397.1A CN106464501B (en) | 2014-04-09 | 2015-04-09 | Authentication device and method |
| US15/302,947 US10659232B2 (en) | 2014-04-09 | 2015-04-09 | Message authentication apparatus and method based on public-key cryptosystems |
| EP15776257.6A EP3131231B1 (en) | 2014-04-09 | 2015-04-09 | Authentication apparatus and method |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2014-0042360 | 2014-04-09 | ||
| KR20140042360 | 2014-04-09 | ||
| KR10-2015-0050155 | 2015-04-09 | ||
| KR1020150050155A KR20150117225A (en) | 2014-04-09 | 2015-04-09 | Apparatus and method for authenticating |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015156621A1 true WO2015156621A1 (en) | 2015-10-15 |
Family
ID=54288122
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2015/003576 Ceased WO2015156621A1 (en) | 2014-04-09 | 2015-04-09 | Authentication apparatus and method |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2015156621A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11283632B2 (en) | 2017-12-28 | 2022-03-22 | Mitsubishi Heavy Industries, Ltd. | Integrated circuit, control device, information distribution method, and information distribution system |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050084114A1 (en) * | 2003-10-20 | 2005-04-21 | Jung Bae-Eun | Conference session key distribution method in an ID-based cryptographic system |
| US20080008316A1 (en) * | 2006-07-05 | 2008-01-10 | Bea Systems, Inc. | System and Method for Enterprise Security Including Symmetric Key Protection |
| KR20090017538A (en) * | 2006-05-21 | 2009-02-18 | 인터내셔널 비지네스 머신즈 코포레이션 | Assertion Message Signature |
| US20110103589A1 (en) * | 2008-05-29 | 2011-05-05 | China Iwncomm Co., Ltd. | Key distributing method, public key of key distribution centre online updating method and device |
| US20120321077A1 (en) * | 2011-06-20 | 2012-12-20 | Renesas Electronics Corporation | Cryptographic communication system and cryptographic communication method |
-
2015
- 2015-04-09 WO PCT/KR2015/003576 patent/WO2015156621A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050084114A1 (en) * | 2003-10-20 | 2005-04-21 | Jung Bae-Eun | Conference session key distribution method in an ID-based cryptographic system |
| KR20090017538A (en) * | 2006-05-21 | 2009-02-18 | 인터내셔널 비지네스 머신즈 코포레이션 | Assertion Message Signature |
| US20080008316A1 (en) * | 2006-07-05 | 2008-01-10 | Bea Systems, Inc. | System and Method for Enterprise Security Including Symmetric Key Protection |
| US20110103589A1 (en) * | 2008-05-29 | 2011-05-05 | China Iwncomm Co., Ltd. | Key distributing method, public key of key distribution centre online updating method and device |
| US20120321077A1 (en) * | 2011-06-20 | 2012-12-20 | Renesas Electronics Corporation | Cryptographic communication system and cryptographic communication method |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11283632B2 (en) | 2017-12-28 | 2022-03-22 | Mitsubishi Heavy Industries, Ltd. | Integrated circuit, control device, information distribution method, and information distribution system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102177956B1 (en) | Apparatus and method for authenticating | |
| JP2001326630A (en) | Key Agreement Method for Secure Communication System in Multiple Access Scheme | |
| CN101048970A (en) | Secure authenticated channel | |
| WO2007125877A1 (en) | Communication device and communication system | |
| CN118575443A (en) | Data encryption method and device based on symmetric key, data decryption method and device, storage medium and electronic equipment | |
| KR20100050846A (en) | System and method for interchanging key | |
| Yussoff et al. | Identity-based trusted authentication in wireless sensor network | |
| CN108064436A (en) | Biometric information transmission method for building up, device, system and storage medium | |
| CN107249002B (en) | Method, system and device for improving safety of intelligent electric energy meter | |
| Mehibel et al. | Authenticated secret session key using elliptic curve digital signature algorithm | |
| CN107483388A (en) | A kind of safety communicating method and its terminal and high in the clouds | |
| CN115499250B (en) | Data encryption method and device | |
| US8316236B2 (en) | Determining security states using binary output sequences | |
| CN108390866A (en) | Trusted remote method of proof based on the two-way anonymous authentication of dual-proxy | |
| EP1906587A2 (en) | Secure authenticated channel | |
| WO2015156621A1 (en) | Authentication apparatus and method | |
| Guo et al. | An efficient and secure certificateless authentication protocol for healthcare system on wireless medical sensor networks | |
| US12316774B2 (en) | Information leakage mitigation associated with elliptic curve operations | |
| CN109560926B (en) | Anti-quantum computing proxy digital signature method based on asymmetric key pool, signature system and computer equipment | |
| WO2024231306A1 (en) | Cryptographic system for securing connections between a server and a client and method thereof | |
| CN109102294A (en) | Information transferring method and device | |
| JP5101535B2 (en) | Authentication method, authentication system, program, and shared key generation method | |
| CN118199880B (en) | Communication protocol, system, equipment and medium based on ECDH algorithm | |
| JP6153454B2 (en) | Signature apparatus, method and program | |
| CN120281534A (en) | Bidirectional authentication method, device, equipment and medium based on certificate-free system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15776257 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2017505025 Country of ref document: JP Kind code of ref document: A |
|
| REEP | Request for entry into the european phase |
Ref document number: 2015776257 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2015776257 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15302947 Country of ref document: US |




