KR102019558B1 - Efficient signature verification method for digital signatures using implicit certificates - Google Patents

Efficient signature verification method for digital signatures using implicit certificates Download PDF

Info

Publication number
KR102019558B1
KR102019558B1 KR1020170132483A KR20170132483A KR102019558B1 KR 102019558 B1 KR102019558 B1 KR 102019558B1 KR 1020170132483 A KR1020170132483 A KR 1020170132483A KR 20170132483 A KR20170132483 A KR 20170132483A KR 102019558 B1 KR102019558 B1 KR 102019558B1
Authority
KR
South Korea
Prior art keywords
certificate
signature
public key
signature verification
electronic
Prior art date
Application number
KR1020170132483A
Other languages
Korean (ko)
Other versions
KR20190041203A (en
Inventor
이문규
권희용
Original Assignee
인하대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020170132483A priority Critical patent/KR102019558B1/en
Publication of KR20190041203A publication Critical patent/KR20190041203A/en
Application granted granted Critical
Publication of KR102019558B1 publication Critical patent/KR102019558B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • H04L9/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • H04L9/3247Cryptographic 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 involving digital signatures

Abstract

내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법이 개신된다. 일 실시예에 따른 서명 검증 방법은, 발신자로부터 전송되는 전자 서명이 부가된 메시지에 기반하여 전자 인증서를 수신하는 단계; 상기 전자 인증서로서 내재적 인증서를 사용함에 따라 상기 내재적 인증서로부터 종래에 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 단계; 및 상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계를 포함할 수 있다. Efficient signature verification methods for digital signatures using implicit certificates are improved. According to one or more exemplary embodiments, a signature verification method includes: receiving an electronic certificate based on a message to which an electronic signature transmitted from a sender is added; Extracting reconfiguration information conventionally used to reconstruct a public key from the implicit certificate in accordance with an implicit certificate as the electronic certificate; And performing signature verification on the electronic signature using the reconstruction information extracted from the implicit certificate.

Description

내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법 {EFFICIENT SIGNATURE VERIFICATION METHOD FOR DIGITAL SIGNATURES USING IMPLICIT CERTIFICATES}Effective signature verification method for digital signatures using implicit certificates {EFFICIENT SIGNATURE VERIFICATION METHOD FOR DIGITAL SIGNATURES USING IMPLICIT CERTIFICATES}

아래의 설명은 내재적 인증서를 사용하는 프로토콜에서 서명을 효율적으로 검증하는 방법 및 시스템에 관한 것이다.
The description below relates to a method and system for efficiently verifying a signature in a protocol that uses an implicit certificate.

네트워크 통신상에서 메시지는 악의적인 공격자에 의해 위조 또는 변조될 수 있기 때문에, 통신 프로토콜들에서 메시지의 무결성(Integrity)과 인증성(Authenticity)은 반드시 보장되어야 한다. 이를 해결하기 위해 메시지 발신자는 메시지와 전자 서명을 함께 전송하고, 수신자는 전자 서명이 유효한 것인지 검증할 수 있어야만 한다. Since messages can be forged or tampered with by malicious attackers on network communications, the integrity and authenticity of the messages in the communication protocols must be guaranteed. To solve this, the message sender must send the message and the digital signature together, and the receiver must be able to verify that the digital signature is valid.

도 1은 서명 검증 과정을 설명하기 위한 도면이다. 이러한 전자 서명은 공개키 암호 방식에 기반하는데, 공개키 암호방식은 매우 풀기 어려운 수학적 문제를 바탕으로 생성되며, 특정한 종류의 비밀 정보(비밀키)와 비밀 정보로부터 유도되는 공개 정보(공개키)의 키 쌍을 사용한다. 각각의 클라이언트들(발신자 및 수신자)(110, 120)은 각각 자신이 신뢰하는 인증 기관의 인증서를 가지고 있을 수 있다. 이때, 클라이언트들(110, 120)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 클라이언트들(110, 120)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털 방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 해당될 수 있다. 또한, 전자 서명이 부가된 메시지를 전송하는 서버일 수도 있다. 1 is a view for explaining a signature verification process. These digital signatures are based on public key cryptography, which is based on a very difficult mathematical problem to solve, and involves the use of certain kinds of secrets (public keys) and public information derived from secrets (public keys). Use key pairs. Each of the clients (sender and recipient) 110, 120 may each have a certificate from a certificate authority that they trust. In this case, the clients 110 and 120 may be fixed terminals or mobile terminals implemented as computer devices. Examples of the clients 110 and 120 include a smart phone, a mobile phone, a navigation device, a computer, a notebook computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a tablet PC, and the like. Can be. It may also be a server for transmitting a message to which an electronic signature has been added.

발신자(110)는 발신자의 비밀키를 사용하여 메시지에 대한 전자 서명을 생성한 후, 전자 서명이 부가된 메시지를 수신자(120)에게 전송할 수 있다. 수신자(120)는 발신자(110)로부터 전자 서명이 부가된 메시지를 수신하게 된다. 수신자(120)는 발신자의 공개키를 사용하여 상기 메시지의 전자 서명을 확인할 수 있다. 일반적으로 발신자(110)의 공개키는 공개키의 유효성을 증명하기 위한 전자 인증서와 함께 제공된다. 인증 기관(CA)(100)은 전자 인증서를 발급하는 신뢰할 수 있는 기관을 의미한다. 전자 인증서는 유효성 증명 대상인 발신자의 공개키 정보 및 관련 부가 정보를 메시지로 하고, 상기 메시지에 대해 인증 기관(100)이 전자 서명을 추가한 형태로 구성될 수 있다. The sender 110 may generate an electronic signature for the message using the sender's private key and then transmit the message to which the electronic signature is added to the receiver 120. The receiver 120 receives a message with an electronic signature from the sender 110. The recipient 120 can verify the electronic signature of the message using the sender's public key. In general, the public key of the sender 110 is provided with an electronic certificate for verifying the validity of the public key. Certificate Authority (CA) 100 means a trusted authority that issues digital certificates. The digital certificate may be configured in a form in which the sender's public key information and related additional information are validated and a digital signature is added by the certification authority 100 to the message.

이에 따라 발신자에게 전자 인증서를 발급한 인증 기관(100)의 신뢰성이 확인되지 않을 경우, 다시 말해서, 수신자(120)가 인증 기관(100)의 공개키를 모를 경우, 인증 기관(100)의 전자 서명을 확인하기 어렵기 때문에 더 상위의 인증 기관(CA')이 인증 기관(CA)의 공개키에 대한 전자 인증서를 발급해주는 식으로 연쇄적인 신뢰 체인의 구성이 필요하다. 이러한 체인의 중간 또는 끝에는 수신자가 공개키를 가지고 있는 인증 기관의 전자 서명이 있을 수 있으며, 이로부터 역방향으로 유효성 증명이 이루어져 결국 발신자의 공개키를 확인할 수 있게 된다. 예를 들면, 도 2를 참고하면, 발신자에게 전자 인증서를 발급한 CA1은 더 상위 인증 기관인 CA2로부터 인증서를 발급받고, CA2는 CA3으로부터 인증서를 발급받고, 이 방식이 루트 인증 기관까지 연결된다. 실제로, 전자 인증서는 여러 개의 인증서가 연결되어 있는 체인의 형태로 존재한다. Accordingly, when the authenticity of the certification authority 100 that issued the electronic certificate to the sender is not verified, that is, when the receiver 120 does not know the public key of the certification authority 100, the electronic signature of the certification authority 100 is determined. Because of the difficulty of verifying this, it is necessary to construct a chain of trust chain in which a higher certification authority (CA ') issues a digital certificate for the public key of the certification authority (CA). In the middle or at the end of the chain there may be an electronic signature of a certificate authority whose recipient has a public key, which is then validated in the reverse direction so that the sender's public key can be verified. For example, referring to FIG. 2, CA 1, which issued the digital certificate to the sender, is issued a certificate from CA 2 , which is a higher certification authority, CA 2 is issued a certificate from CA 3 , and this scheme is applied to the root certificate authority. Connected. Indeed, digital certificates exist in the form of chains in which several certificates are linked.

한편, 특수한 네트워크 통신 환경에서는 통신 대역폭이 극도로 제한되는 경우가 있는데, 이를 위해 해당 프로토콜들에서는 발신자의 공개키와 인증 기관의 서명을 포함하는 기존의 명시적 인증서를 대신하여 내재적 인증서를 사용할 수 있다. 이 경우 인증서는 공개키와 서명, 즉 두 가지 정보의 조합이 아니라, 인증서 자체 정보로 존재하며, 수신자는 이로부터 발신자의 공개키를 추출하여 사용하게 된다. 이렇게 함으로써 대역폭 사용을 절약할 수 있다. 일례로 IEEE 1609.2 자동차 통신 표준인 Wireless Access in Vehicular Environments(WAVE) 에서는 전자 서명 알고리즘으로 Elliptic Curve Digital Signature Algorithm(ECDSA), 인증서의 한 종류로 Elliptic Curve Qu-Vanstone (ECQV) 내재적 인증서를 사용한다.
On the other hand, in a special network communication environment, the communication bandwidth may be extremely limited. For this purpose, inherent certificates may be used in place of the existing explicit certificates including the sender's public key and the signature of the certificate authority. . In this case, the certificate is not a combination of the public key and the signature, that is, a combination of the two pieces of information, but the certificate itself. The recipient extracts the sender's public key from it. This saves bandwidth usage. For example, the IEEE 1609.2 automotive communication standard Wireless Access in Vehicular Environments (WAVE) uses the Elliptic Curve Digital Signature Algorithm (ECDSA) as an electronic signature algorithm and the Elliptic Curve Qu-Vanstone (ECQV) implicit certificate as a type of certificate.

본 발명은 내재적 인증서를 사용하는 통신 프로토콜에서 발신자의 서명을 효율적으로 검증하는 방법을 제공할 수 있다.
The present invention can provide a method for efficiently verifying a sender's signature in a communication protocol using an implicit certificate.

서명 검증 방법은, 발신자로부터 전송되는 전자 서명이 부가된 메시지에 기반하여 전자 인증서를 수신하는 단계; 상기 전자 인증서로서 내재적 인증서를 사용함에 따라 상기 내재적 인증서로부터 상기 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 단계; 및 상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계를 포함할 수 있다. The signature verification method includes receiving an electronic certificate based on a message with an electronic signature sent from a sender; Extracting reconfiguration information used to reconstruct the sender's public key from the implicit certificate as an implicit certificate is used as the electronic certificate; And performing signature verification on the electronic signature using the reconstruction information extracted from the implicit certificate.

상기 내재적 인증서로부터 상기 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 단계는, 상기 내재적 인증서의 해시값 및 상기 내재적 인증서에 인코딩되어 있는 공개키 재구성 정보와 상기 내재적 인증서를 발급한 인증 기관의 공개키를 추출하는 단계를 포함할 수 있다. Extracting reconstruction information used to reconstruct the sender's public key from the implicit certificate may include: a hash value of the implicit certificate and the public key reconstruction information encoded in the implicit certificate and the certificate authority that issued the implicit certificate. The method may include extracting a public key of.

상기 내재적 인증서로부터 상기 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 단계는, 상기 인증 기관의 공개키를 식별하지 못하는 경우, 상기 인증 기관보다 상위의 인증 기관으로부터 발급된 상기 인증 기관에 대한 내재적 인증서의 해시값 및 내재적 인증서에 인코딩되어 있는 공개키 재구성 정보와 상기 인증 기관의 인증서를 발급한 상위 인증 기관의 공개키를 추출하는 단계를 포함할 수 있다. Extracting reconfiguration information used to reconstruct the sender's public key from the implicit certificate may include: recognizing, if the public key of the certificate authority is not identified, the certificate authority issued from a certificate authority higher than the certificate authority. And extracting the hash value of the implicit certificate for the implicit certificate and the public key reconfiguration information encoded in the implicit certificate and the public key of the higher certification authority that issued the certificate of the certificate authority.

상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계는, 복수의 발신자에게서 전자 서명을 수신함에 따라 서명들을 검증하는 시간을 단축하기 위하여 일괄 서명 검증 방법을 적용하는 단계를 포함할 수 있다. The step of performing signature verification on the digital signature using the reconstruction information extracted from the implicit certificate may include applying a batch signature verification method to shorten the time for verifying signatures upon receiving the electronic signature from a plurality of senders. It may include a step.

상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계는, 복수의 발신자에게서 전자 서명을 수신함에 따라 각각의 전자 서명과 관련된 동일한 인증 기관들을 공유하는 경우, 상기 재구성 정보를 추출하는 과정에서 추출된 이전의 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보들 중 동일한 재구성 정보들을 가산하는 단계를 포함할 수 있다. Performing signature verification for the digital signature using the reconfiguration information extracted from the implicit certificate may include: resharing the same certificate authorities associated with each digital signature as receiving a digital signature from a plurality of senders; And extracting the same reconstruction information among reconstruction information used for reconstructing the public key of the previous caller extracted in the process of extracting the information.

상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계는, 상기 전자 서명을 생성함에 따라 획득된 임시점의

Figure 112017100254004-pat00001
-좌표, 상기 전자 서명이 부가될 메시지의 해시값 및 상기 발신자의 개인키를 이용하여 생성된 제1 서명쌍을 사용하여 상기 임시점을 재구성함에 따라 획득된 재구성점의
Figure 112017100254004-pat00002
-좌표를 비교하거나, 상기 제1 서명쌍 대신 상기 임시점이 포함된 제2 서명쌍을 사용하여 상기 재구성점과 상기 임시점을 비교하는 단계를 포함할 수 있다. Performing signature verification on the digital signature by using the reconstruction information extracted from the implicit certificate, the temporary point obtained by generating the digital signature.
Figure 112017100254004-pat00001
A reconstruction point obtained by reconstructing the temporary point using a coordinate, a hash value of the message to which the digital signature is to be attached, and a first signature pair generated using the sender's private key.
Figure 112017100254004-pat00002
Comparing coordinates or comparing the reconstruction point with the temporary point using a second signature pair including the temporary point instead of the first signature pair.

서명 검증 시스템은, 발신자로부터 전송되는 전자 서명이 부가된 메시지에 기반하여 전자 인증서를 수신하는 수신부; 상기 내재적 인증서로부터 상기 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 추출부; 및 상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 수행부를 포함할 수 있다.
The signature verification system includes: a receiving unit which receives an electronic certificate based on a message with an electronic signature transmitted from a sender; An extraction unit for extracting reconfiguration information used to reconstruct the sender's public key from the implicit certificate; And an execution unit that performs signature verification on the electronic signature by using reconstruction information extracted from the implicit certificate.

본 발명은 복수의 발신자로부터 전달받은 서명을 검증할 때, 복수의 발신자의 내재적 인증서로부터 공개키를 추출하는 과정을 서명 검증을 수행하는 과정에 포함시킴으로써 전체적인 연산량을 줄일 수 있다.In the present invention, when verifying signatures received from a plurality of senders, the overall computation amount can be reduced by including a process of extracting a public key from a plurality of senders' intrinsic certificates in the process of performing signature verification.

본 발명은 동일한 인증 기관으로부터 전달받은 내재적 인증서의 해시값 및 내재적 인증서에 인코딩되어 있는 공개키 재구성 정보가 같으므로 공개키 재구성 정보가 동일한 항들을 가산하여 서명을 검증함에 따라 연산량을 감소시킴으로써 서명 검증의 전체 과정에 소요되는 시간을 단축시킬 수 있다.
In the present invention, since the hash value of the implicit certificate received from the same certificate authority and the public key reconstruction information encoded in the implicit certificate are the same, the public key reconstruction information is added to the same terms to reduce the amount of computation as the signature is verified. This can reduce the time required for the whole process.

도 1은 서명 검증 과정을 설명하기 위한 도면이다.
도 2는 인증 기관의 연쇄적인 신뢰 체인의 구성을 설명하기 위한 도면이다.
도 3은 일 실시예에 있어서, 인증서 트리를 통하여 내재적 인증서를 공유함에 따라 서명 검증의 연산량을 줄이는 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 서명 검증 시스템의 구성을 설명하기 위한 블록도이다.
도 5는 일 실시예에 따른 서명 검증 시스템에서 서명 검증 과정을 설명하기 위한 흐름도이다.
1 is a view for explaining a signature verification process.
2 is a view for explaining the configuration of a chain of trust chain of the certification authority.
3 is a diagram for describing a method of reducing an operation amount of signature verification by sharing an implicit certificate through a certificate tree according to an embodiment.
4 is a block diagram illustrating a configuration of a signature verification system according to an exemplary embodiment.
5 is a flowchart illustrating a signature verification process in a signature verification system according to an exemplary embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

아래의 실시예에서는 내재적 인증서를 사용하는 프로토콜에서 다수의 서명을 효율적으로 검증하기 위한 과정을 설명하기로 한다. 종래의 기술은 전자 서명의 검증을 수행하기 위하여, 전자 서명 발신자의 공개키를 우선적으로 알아야 한다. 종래의 명시적 인증서를 사용하는 프로토콜에서는 인증서에 포함되어 있는 발신자의 공개키를 사용한 반면, 내재적 인증서를 사용하는 프로토콜에서는 인증서의 해시값, 인증서 내의 재구성 정보, 그리고 인증서를 발급한 인증 기관의 공개키를 이용하여 발신자의 공개키를 추출하여 사용할 수 있다. In the following embodiment, a process for efficiently verifying multiple signatures in a protocol using an implicit certificate will be described. The prior art must first know the public key of the digital signature sender in order to perform verification of the digital signature. In the conventional protocol using an explicit certificate, the public key of the sender included in the certificate is used, whereas in the protocol using the implicit certificate, the hash value of the certificate, reconfiguration information in the certificate, and the public key of the certificate authority that issued the certificate. Sender's public key can be extracted and used.

예를 들면, Certicom의 ECQV 내재적 인증서를 이용할 경우, 내재적 인증서로부터 전자 서명 발신자의 공개키를 추출할 수 있다. 발신자(

Figure 112017100254004-pat00003
)의 내재적 인증서로부터 인증서의 해시값(
Figure 112017100254004-pat00004
) 및 인증서에 인코딩되어 있는 공개키 재구성 정보(
Figure 112017100254004-pat00005
)를 추출하고, 인증 기관(CA)의 공개키(
Figure 112017100254004-pat00006
)를 사용하여 발신자의 공개키를 아래와 같은 식에 기초하여 추출할 수 있다.For example, using Certicom's ECQV implicit certificate, the public key of the digital signature sender can be extracted from the implicit certificate. Caller(
Figure 112017100254004-pat00003
Hash value of the certificate from the implicit certificate of
Figure 112017100254004-pat00004
) And public key reconfiguration information encoded in the certificate (
Figure 112017100254004-pat00005
), And the public key (
Figure 112017100254004-pat00006
), The sender's public key can be extracted based on the following equation.

수학식 1: Equation 1:

Figure 112017100254004-pat00007
Figure 112017100254004-pat00007

이때, 인증 기관의 공개키(

Figure 112017100254004-pat00008
)를 알고 있지 않을 경우, 상기 인증 기관보다 상위의 인증 기관이 발급한 인증 기관의 내재적 인증서로부터 인증 기관의 공개키를 추출하는 과정이 추가로 필요하며, 이를 재귀적으로 적용할 수 있다. At this time, the public key of the certification authority (
Figure 112017100254004-pat00008
If you do not know), the process of extracting the public key of the certification authority from the intrinsic certificate of the certification authority issued by the certification authority higher than the certification authority is further required, and this can be applied recursively.

예를 들면, 발신자의 내재적 인증서에 연결된 인증 기관의 내재적 인증서가 L-1개 이고, 수신자가 마지막으로 최상위 인증 기관(CAL)의 공개키(

Figure 112017100254004-pat00009
)를 알고 있다면, 발신자의 공개키는 아래와 같은 식으로 추출할 수 있다.For example, the certificate authority's implicit certificate associated with the sender's implicit certificate is L -1, and the recipient has the last public key (CA L )
Figure 112017100254004-pat00009
If you know), you can extract the sender's public key like this:

수학식 2:Equation 2:

Figure 112017100254004-pat00010
Figure 112017100254004-pat00010

전자 서명 검증을 수행함에 있어서, 발신자로부터 입력받은 복수의 서명들을 검증하는 시간을 단축하기 위해 일반적으로 일괄 서명 검증 방법이 적용된다. 일괄 서명 검증을 위해서는 변형된 ECDSA가 일반적으로 사용될 수 있다. 기본 ECDSA는 서명 생성 과정에서 생성되는 임시점(R)의

Figure 112017100254004-pat00011
-좌표인 r및 메시지의 해시값인H(m)에 서명자의 개인키를 사용하여 생성하는 서명쌍 (r, s)를 사용할 수 있고, 서명 검증 과정에서는 임시점(R)을 재구성함에 따라 재구성점(R')를 획득하고, 재구성점(R')의
Figure 112017100254004-pat00012
-좌표와 r을 비교하여 서명의 유효성을 검증할 수 있다. In performing the digital signature verification, a batch signature verification method is generally applied to shorten the time for verifying a plurality of signatures received from the sender. For batch signature verification, a modified ECDSA can generally be used. The default ECDSA is a set of temporary points (R) created during signature generation.
Figure 112017100254004-pat00011
You can use signature pairs (r, s) that are generated by using the signer's private key for the coordinate r and the hash value H (m) of the message, and reconstruct the temporary point R during the signature verification process. point (R ') obtaining and reconstruction point (R' a)
Figure 112017100254004-pat00012
The signature can be validated by comparing the coordinates with r.

변형된 ECDSA에서는 서명쌍 (r, s)대신, (R, s)의 서명쌍을 사용하여 재구성점(R')과 임시점(R)을 직접 비교할 수 있다. 더욱 상세하게는, 발신자로부터 수신한 메시지의 해시값H(m), 타원 곡선의 기본 점을 G, 메시지에 대한 전자 서명을 (R, s), 임시점(R)의

Figure 112017100254004-pat00013
-좌표를 r, 발신자의 공개키를
Figure 112017100254004-pat00014
라고 할 때, 메시지의 전자 서명은 임시점(R)과
Figure 112017100254004-pat00015
를 비교함으로써 검증될 수 있다.In the modified ECDSA, instead of the signature pair (r, s), the signature pair of (R, s) can be used to directly compare the reconstruction point ( R ' ) and the temporary point (R). More specifically, the hash value H (m) of the message received from the sender, the base point of the elliptic curve, the digital signature of the message (R, s), the temporary point (R) of
Figure 112017100254004-pat00013
-The coordinate r, the sender's public key
Figure 112017100254004-pat00014
, The digital signature of the message is a temporary point (R)
Figure 112017100254004-pat00015
Can be verified by comparing

본 서명 검증 시스템에서는 상기 서명 검증식에 사용되는 발신자의 공개키

Figure 112017100254004-pat00016
에 공개키 추출식인 수학식 2를 대입하여 서명을 검증한다. 이러한 서명 검증 식은 수학식 3과 같이 나타낼 수 있다. In this signature verification system, the sender's public key used for the signature verification expression.
Figure 112017100254004-pat00016
The signature is verified by substituting Equation 2, which is a public key extraction formula into. This signature verification expression may be represented as in Equation 3.

수학식 3:Equation 3:

Figure 112017100254004-pat00017
Figure 112017100254004-pat00017

상기와 같은 방법을 사용할 경우, 점의 덧셈 연산 횟수는 동일하지만 종래의 공개키 추출 과정에서 사용되는 점의 두 배 연산을 서명 검증 과정과 공유함으로써 절약할 수 있다.When using the above method, the number of addition operations of the points is the same but can be saved by sharing the double operation of the points used in the conventional public key extraction process with the signature verification process.

일괄 서명 검증에서는 복수의 전자 서명에 대하여

Figure 112017100254004-pat00018
(
Figure 112017100254004-pat00019
는 난수(randomizer))와
Figure 112017100254004-pat00020
, 다시 말해서, In batch signature verification, multiple digital signatures
Figure 112017100254004-pat00018
(
Figure 112017100254004-pat00019
Is a randomizer
Figure 112017100254004-pat00020
, In other words,

Figure 112017100254004-pat00021
를 비교함으로써 보다 빠른 서명 검증이 가능하게 된다.
Figure 112017100254004-pat00021
Fast signature verification is possible by comparing

본 발명을 상기 일괄 서명 검증 방법에 적용하면

Figure 112017100254004-pat00022
Figure 112017100254004-pat00023
, 다시 말해서,
Figure 112017100254004-pat00024
Applying the present invention to the batch signature verification method
Figure 112017100254004-pat00022
Wow
Figure 112017100254004-pat00023
, In other words,
Figure 112017100254004-pat00024

Figure 112017100254004-pat00025
를 비교하여 다수의 서명을 검증할 수 있다.
Figure 112017100254004-pat00025
You can compare and verify multiple signatures.

일괄 서명 검증을 수행함에 있어서 도 3과 같이 동일한 인증 기관의 인증서를 공유하는 경우 공유하는 내재적 인증서로부터 추출되는 재구성 정보

Figure 112017100254004-pat00026
또는 인증 기관의 공개키에 해당하는 점의 상수배 연산들을 하나로 병합하여 연산량을 줄일 수 있다.Reconstruction information extracted from the shared implicit certificate when sharing the certificate of the same certificate authority as shown in FIG. 3 in performing the batch signature verification
Figure 112017100254004-pat00026
Alternatively, the amount of computation can be reduced by merging the constant multiple operations of points corresponding to the public key of the certification authority into one.

예를 들면, 두 명의 발신자 U 1, U 2가 있다고 가정하자. 발신자 U 1, U 2가 도 3과 같이 자신의 인증서에 연결된 L-1개의 인증 기관의 내재적 인증서와 1개의 인증기관의 명시적 인증서를 공유할 때, U 1U 2의 서명은

Figure 112017100254004-pat00027
Figure 112017100254004-pat00028
, 다시 말해서,For example, suppose there are two senders U 1 and U 2 . Caller U 1, when the share certificates and the implicit one explicit certificate of the certification authority of the L-1 of the certificate authority attached to their certificate as shown in FIG. 3 U 2 a, U 1 and U 2 is the signature of
Figure 112017100254004-pat00027
Wow
Figure 112017100254004-pat00028
, In other words,

Figure 112017100254004-pat00029
Figure 112017100254004-pat00029

Figure 112017100254004-pat00030
Figure 112017100254004-pat00030

Figure 112017100254004-pat00031
를 비교하여 검증할 수 있다.
Figure 112017100254004-pat00031
Can be verified by comparing

이때, 인증 기관

Figure 112017100254004-pat00032
부터
Figure 112017100254004-pat00033
까지의 내재적 인증서들로부터 추출되는 재구성 정보인
Figure 112017100254004-pat00034
그리고
Figure 112017100254004-pat00035
의 공개키인
Figure 112017100254004-pat00036
에 대한 점의 상수배 연산이 두 개씩 존재하기 때문에 하나의 점의 상수배 연산으로 병합할 수 있다. 이에 따라 상기 식을 At this time, the certification authority
Figure 112017100254004-pat00032
from
Figure 112017100254004-pat00033
Reconstruction information extracted from implicit certificates up to
Figure 112017100254004-pat00034
And
Figure 112017100254004-pat00035
Public key of
Figure 112017100254004-pat00036
Since there are two constant multiple operations of points on, we can merge them into a constant multiple operation of a single point. Accordingly

Figure 112017100254004-pat00037
Figure 112017100254004-pat00037

Figure 112017100254004-pat00038
Figure 112017100254004-pat00038

Figure 112017100254004-pat00039
으로 나타낼 수 있다.
Figure 112017100254004-pat00039
It can be represented as

상기의 방법을 사용하여 동일한 점에 대한 상수배 연산을 병합하는 경우, 의 서명을 일괄 검증하는 계산 비용은

Figure 112017100254004-pat00040
개의 점의 상수배 연산에서
Figure 112017100254004-pat00041
개의 점의 상수배 연산으로 줄어들게 된다.Using the above method to merge constant multiple operations on the same point, the computation cost of verifying the signature of
Figure 112017100254004-pat00040
In a constant multiple of two points
Figure 112017100254004-pat00041
This is reduced by a constant multiplication of the two points.

일 실시예에 따르면, 서명 검증 시스템은 정상적인 발신자의 서명을 검증하는 것이 가능하게 된다. 기존의 서명 검증 과정과 동일한 내재적 인증서의 재구성 정보를 사용하기 때문에 기존의 발신자의 서명 검증 결과와 동일한 결과를 획득할 수 있다.According to one embodiment, the signature verification system makes it possible to verify the signature of a normal sender. Since the same reconstruction information of the inherent certificate as in the existing signature verification process is used, the same result as the signature verification result of the existing sender can be obtained.

일 실시예에 따르면, 서명 검증 시스템은 기존의 내재적 인증서를 사용하는 프로토콜에서의 기본 전자 서명 검증과 일괄 서명 검증 방법을 적용한 전자 서명 검증 방법에 모두 적용함으로써 전자 서명 검증 시간을 단축시킬 수 있다.According to an embodiment, the signature verification system may shorten the digital signature verification time by applying both the basic digital signature verification and the batch signature verification method in the protocol using the existing implicit certificate.

또한 서명 검증 시스템은 서명 검증을 위한 계산 과정에서 타원곡선 상에서 다수의 점의 상수배를 효율적으로 도출하기 위해 Sliding window와 Straus 알고리즘이 적용될 수 있다.In addition, the signature verification system can be applied with the sliding window and Straus algorithm to efficiently derive the constant multiple of multiple points on the elliptic curve in the calculation process for signature verification.

도 4는 일 실시예에 따른 서명 검증 시스템의 구성을 설명하기 위한 블록도이고, 도 5는 일 실시예에 따른 서명 검증 시스템에서 서명 검증 과정을 설명하기 위한 흐름도이다.4 is a block diagram illustrating a configuration of a signature verification system according to an embodiment, and FIG. 5 is a flowchart illustrating a signature verification process in a signature verification system according to an embodiment.

서명 검증 시스템(400)은 수신부(410), 추출부(420) 및 수행부(430)를 포함할 수 있다. 이러한 서명 검증 시스템(400) 및 서명 검증 시스템(400)의 구성요소들은 도 5의 서명 검증의 전체 과정이 포함하는 단계들(510 내지 530)을 수행하도록 서명 검증 시스템을 제어할 수 있다. 이때, 서명 검증 시스템(400) 및 서명 검증 시스템(400)의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 서명 검증 시스템(400)의 구성요소들은 서명 검증 시스템(400)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 서명 검증 시스템(400)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. The signature verification system 400 may include a receiver 410, an extractor 420, and a performer 430. The signature verification system 400 and the components of the signature verification system 400 may control the signature verification system to perform the steps 510 to 530 included in the entire process of signature verification of FIG. 5. In this case, the signature verification system 400 and the components of the signature verification system 400 may be implemented to execute instructions according to code of an operating system included in a memory and code of at least one program. Here, the components of the signature verification system 400 may be representations of different functions performed by the signature verification system 400 in accordance with control instructions provided by the program code stored in the signature verification system 400. Can be.

단계(510)에서 수신부(410)는 발신자로부터 전송되는 전자 서명이 부가된 메시지에 기반하여 전자 인증서를 수신할 수 있다. In operation 510, the receiver 410 may receive an electronic certificate based on a message with an electronic signature transmitted from the sender.

단계(520)에서 추출부(420)는 전자 인증서로서 내재적 인증서를 사용함에 따라 내재적 인증서로부터 발신자의 공개키를 추출하기 위한 재구성 정보들을 추출할 수 있다. 추출부(420)는 내재적 인증서의 해시값 및 내재적 인증서에 인코딩되어 있는 공개키 재구성 정보를 추출하고, 해시값 및 재구성 정보와 내재적 인증서를 발급한 인증 기관의 공개키를 서명 검증에 이용할 수 있다. 추출부(420)는 인증 기관의 공개키를 식별하지 못하는 경우, 인증 기관보다 상위의 인증 기관으로부터 발급된 인증 기관에 대한 내재적 인증서로부터 인증 기관의 내재적 인증서의 해시값 및 내재적 인증서에 인코딩되어 있는 공개키 재구성 정보를 추출할 수 있다. In operation 520, the extractor 420 may extract reconfiguration information for extracting the sender's public key from the intrinsic certificate as the intrinsic certificate is used as the electronic certificate. The extractor 420 may extract the hash value of the implicit certificate and the public key reconstruction information encoded in the implicit certificate, and use the hash value and the reconstruction information and the public key of the certificate authority that issued the implicit certificate for signature verification. If the extractor 420 fails to identify the public key of the certificate authority, the extracting unit 420 encodes a hash value of the certificate authority's implicit certificate and the public certificate encoded from the implicit certificate of the certificate authority. Key reconstruction information can be extracted.

단계(530)에서 수행부(430)는 내재적 인증서로부터 추출부(420)에 의해 추출된 재구성 정보와 내재적 인증서의 해시값을 이용하여 전자 서명에 대한 서명 검증을 수행할 수 있다. 수행부(430)는 전자 서명에 대한 서명 검증에 있어서, 다수의 서명을 입력받은 경우 서명들을 검증하는 시간을 단축하기 위하여 일괄 서명 검증 방법이 적용될 수 있다. 일괄 서명 검증을 위한 서명 알고리즘으로 변형된 ECDSA가 적용될 수 있다. In operation 530, the execution unit 430 may perform signature verification on the electronic signature using the reconstruction information extracted by the extraction unit 420 from the implicit certificate and the hash value of the implicit certificate. In the signature verification for the electronic signature, the execution unit 430 may apply a batch signature verification method to shorten the time for verifying signatures when a plurality of signatures are input. The modified ECDSA can be applied as a signature algorithm for batch signature verification.

수행부(430)는 전자 서명을 생성함에 따라 획득된 임시점의

Figure 112017100254004-pat00042
-좌표, 전자 서명이 부가될 메시지의 해시값 및 발신자의 개인키를 이용하여 생성된 제1 서명쌍(r, s)을 사용하여 임시점을 재구성함에 따라 획득된 재구성점의
Figure 112017100254004-pat00043
-좌표를 비교할 수 있다. 또는 수행부(430)는 제1 서명쌍 대신 상기 임시점이 포함된 제2 서명쌍(R, s)을 사용하여 재구성점과 임시점을 비교할 수 있다.Execution unit 430 of the temporary point obtained by generating the electronic signature
Figure 112017100254004-pat00042
The reconstruction point obtained by reconstructing the temporary point using the first signature pair (r, s) generated using the coordinates, the hash value of the message to which the digital signature is attached, and the sender's private key.
Figure 112017100254004-pat00043
Coordinates can be compared. Alternatively, the execution unit 430 may compare the reconstruction point and the temporary point by using the second signature pair R and s including the temporary point instead of the first signature pair.

또한 수행부(430)는 복수의 발신자로부터 전자 인증서를 수신함에 따라 각각의 전자 서명과 관련된 동일한 인증 기관들을 공유할 경우, 일괄 서명 검증을 수행함에 있어서 공유하는 내재적 인증서로부터 추출되는 재구성 정보

Figure 112017100254004-pat00044
또는 인증 기관의 공개키에 해당하는 점의 상수배 연산들을 하나로 병합하여 계산할 수 있다. 다시 말해서, 수행부(430)는 복수의 발신자에게서 전자 인증서를 수신함에 따라 각각의 전자 인증서와 연결된 동일한 인증 기관들을 공유하는 경우, 재구성 정보를 추출하는 과정에서 추출된 이전의 발신자의 공개키를 재구성하기 위해 사용된 재구성 정보들 중 동일한 재구성 정보들을 가산할 수 있다. In addition, when the performing unit 430 receives the electronic certificates from a plurality of senders and shares the same certificate authorities associated with each electronic signature, reconstruction information extracted from the shared intrinsic certificate in performing the batch signature verification is performed.
Figure 112017100254004-pat00044
Alternatively, the constant multiple operations of points corresponding to the public key of the certification authority may be merged into one. In other words, the execution unit 430 reconstructs the public key of the previous sender extracted in the process of extracting the reconfiguration information when sharing the same certificate authority associated with each electronic certificate as the electronic certificate is received from a plurality of senders. The same reconstruction information may be added among the reconstruction information used for the purpose.

이때, 서명을 검증하는 계산 과정에서 타원곡선 상에서 다수의 점의 상수배를 효율적으로 도출하기 위해 Sliding window와 Straus 알고리즘이 적용될 수 있다.In this case, a sliding window and a Straus algorithm may be applied to efficiently derive a constant multiple of a plurality of points on an elliptic curve in the process of verifying a signature.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). Can be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. It can be embodied in. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, 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 (7)

서명 검증 방법에 있어서,
발신자로부터 전송되는 전자 서명이 부가된 메시지에 기반하여 전자 인증서를 수신하는 단계;
상기 전자 인증서로서 내재적 인증서를 사용함에 따라 상기 내재적 인증서로부터 상기 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 단계; 및
상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계
를 포함하고,
상기 내재적 인증서로부터 상기 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 단계는,
상기 내재적 인증서의 해시값 및 상기 내재적 인증서에 인코딩되어 있는 공개키 재구성 정보를 추출하고, 상기 해시값 및 상기 재구성 정보와 내재적 인증서를 발급한 인증 기관의 공개키를 추출하고, 상기 인증 기관의 공개키를 식별하지 못하는 경우, 상기 인증 기관보다 상위의 인증 기관으로부터 발급된 상기 인증 기관에 대한 내재적 인증서의 해시값 및 공개키 재구성 정보와 상기 인증 기관의 인증서를 발급한 상위 인증 기관의 공개키를 추출하는 단계
를 포함하는 서명 검증 방법.
In the signature verification method,
Receiving an electronic certificate based on a message with an electronic signature sent from the sender;
Extracting reconfiguration information used to reconstruct the sender's public key from the implicit certificate as an implicit certificate is used as the electronic certificate; And
Performing signature verification on the electronic signature using the reconstruction information extracted from the implicit certificate
Including,
Extracting reconfiguration information used to reconstruct the sender's public key from the implicit certificate,
Extract the hash value of the implicit certificate and the public key reconstruction information encoded in the implicit certificate, extract the hash value and the public key of the certificate authority that issued the implicit certificate, and extract the public key of the certificate authority. If not identified, extracting the hash value and public key reconstruction information of the intrinsic certificate for the certification authority issued from the certification authority higher than the certification authority and the public key of the higher certification authority that issued the certification authority's certificate. step
Signature verification method comprising a.
삭제delete 삭제delete 제1항에 있어서,
상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계는,
복수의 발신자에게서 전자 서명을 수신함에 따라 서명들을 검증하는 시간을 단축하기 위하여 일괄 서명 검증 방법을 적용하는 단계
를 포함하는 서명 검증 방법.
The method of claim 1,
The step of performing signature verification on the electronic signature using the reconstruction information extracted from the implicit certificate,
Applying a batch signature verification method to reduce the time to verify signatures upon receipt of electronic signatures from a plurality of senders
Signature verification method comprising a.
제1항에 있어서,
상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계는,
복수의 발신자에게서 전자 서명을 수신함에 따라 각각의 전자 서명과 관련된 동일한 인증 기관들을 공유하는 경우, 상기 재구성 정보를 추출하는 과정에서 추출된 이전의 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보들 중 동일한 재구성 정보들을 가산하는 단계
를 포함하는 서명 검증 방법.
The method of claim 1,
The step of performing signature verification on the electronic signature using the reconstruction information extracted from the implicit certificate,
Among the reconfiguration information used for reconstructing the public key of the previous sender extracted in the process of extracting the reconfiguration information when sharing the same certificate authorities associated with each digital signature as the electronic signature is received from a plurality of senders. Adding the same reconstruction information
Signature verification method comprising a.
서명 검증 방법에 있어서,
발신자로부터 전송되는 전자 서명이 부가된 메시지에 기반하여 전자 인증서를 수신하는 단계;
상기 전자 인증서로서 내재적 인증서를 사용함에 따라 상기 내재적 인증서로부터 상기 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 단계; 및
상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계
를 포함하고,
상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 단계는,
상기 전자 서명을 생성함에 따라 획득된 임시점의
Figure 112019033737232-pat00045
-좌표, 상기 전자 서명이 부가될 메시지의 해시값 및 상기 발신자의 개인키를 이용하여 생성된 제1 서명쌍을 사용하여 상기 임시점을 재구성함에 따라 획득된 재구성점의
Figure 112019033737232-pat00046
-좌표를 비교하거나, 상기 제1 서명쌍 대신 상기 임시점이 포함된 제2 서명쌍을 사용하여 상기 재구성점과 상기 임시점을 비교하는 단계
를 포함하는 서명 검증 방법.
In the signature verification method,
Receiving an electronic certificate based on a message with an electronic signature sent from the sender;
Extracting reconfiguration information used to reconstruct the sender's public key from the implicit certificate as an implicit certificate is used as the electronic certificate; And
Performing signature verification on the electronic signature using the reconstruction information extracted from the implicit certificate
Including,
The step of performing signature verification on the electronic signature using the reconstruction information extracted from the implicit certificate,
Of the temporary point obtained by generating the electronic signature
Figure 112019033737232-pat00045
A reconstruction point obtained by reconstructing the temporary point using a coordinate, a hash value of the message to which the digital signature is to be attached, and a first signature pair generated using the sender's private key.
Figure 112019033737232-pat00046
Comparing coordinates or comparing the reconstruction point and the temporary point using a second signature pair that includes the temporary point instead of the first signature pair.
Signature verification method comprising a.
서명 검증 시스템에 있어서,
발신자로부터 전송되는 전자 서명이 부가된 메시지에 기반하여 전자 인증서를 수신하는 수신부;
상기 전자 인증서로서 내재적 인증서를 사용함에 따라 상기 내재적 인증서로부터 상기 발신자의 공개키를 재구성하기 위해 사용되는 재구성 정보를 추출하는 추출부; 및
상기 내재적 인증서로부터 추출된 재구성 정보를 이용하여 상기 전자 서명에 대한 서명 검증을 수행하는 수행부
를 포함하고,
상기 추출부는,
상기 내재적 인증서의 해시값 및 상기 내재적 인증서에 인코딩되어 있는 공개키 재구성 정보를 추출하고, 상기 해시값 및 상기 재구성 정보와 내재적 인증서를 발급한 인증 기관의 공개키를 추출하고, 상기 인증 기관의 공개키를 식별하지 못하는 경우, 상기 인증 기관보다 상위의 인증 기관으로부터 발급된 상기 인증 기관에 대한 내재적 인증서의 해시값 및 공개키 재구성 정보와 상기 인증 기관의 인증서를 발급한 상위 인증 기관의 공개키를 추출하는
서명 검증 시스템.
In the signature verification system,
A receiving unit which receives the electronic certificate based on the message with the electronic signature transmitted from the sender;
An extraction unit for extracting reconfiguration information used for reconstructing the sender's public key from the intrinsic certificate as the intrinsic certificate is used as the electronic certificate; And
An execution unit that performs signature verification on the electronic signature using the reconstruction information extracted from the implicit certificate.
Including,
The extraction unit,
Extract the hash value of the implicit certificate and the public key reconstruction information encoded in the implicit certificate, extract the hash value and the public key of the certificate authority that issued the implicit certificate, and extract the public key of the certificate authority. If not identified, extracting the hash value and public key reconstruction information of the intrinsic certificate for the certification authority issued from the certification authority higher than the certification authority and the public key of the higher certification authority that issued the certification authority's certificate.
Signature Verification System.
KR1020170132483A 2017-10-12 2017-10-12 Efficient signature verification method for digital signatures using implicit certificates KR102019558B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170132483A KR102019558B1 (en) 2017-10-12 2017-10-12 Efficient signature verification method for digital signatures using implicit certificates

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170132483A KR102019558B1 (en) 2017-10-12 2017-10-12 Efficient signature verification method for digital signatures using implicit certificates

Publications (2)

Publication Number Publication Date
KR20190041203A KR20190041203A (en) 2019-04-22
KR102019558B1 true KR102019558B1 (en) 2019-09-06

Family

ID=66283133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170132483A KR102019558B1 (en) 2017-10-12 2017-10-12 Efficient signature verification method for digital signatures using implicit certificates

Country Status (1)

Country Link
KR (1) KR102019558B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636915B (en) * 2020-11-27 2024-03-22 杭州趣链科技有限公司 Batch signature verification method, device, equipment and medium based on SM2 cryptographic algorithm

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042787A (en) 1997-06-20 2009-02-26 Certicom Corp Method for accelerating finite field operation on elliptic curve

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100658301B1 (en) * 1999-11-22 2006-12-14 주식회사 케이티 Public key based mutual authentication method in wireless communication system
KR20010008042A (en) * 2000-11-04 2001-02-05 이계철 Certification auditing agency service and system
KR20040040271A (en) * 2002-11-05 2004-05-12 (주)제이랜드소프트 Method for proving contents of printout and apparatus thereof
KR100930923B1 (en) * 2007-11-06 2009-12-10 고려대학교 산학협력단 Method and System for Generating a Bundled Signature

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042787A (en) 1997-06-20 2009-02-26 Certicom Corp Method for accelerating finite field operation on elliptic curve

Also Published As

Publication number Publication date
KR20190041203A (en) 2019-04-22

Similar Documents

Publication Publication Date Title
US11853437B2 (en) Method for storing data on a storage entity
CN110612700B (en) Authentication based on recovered public key
WO2021012574A1 (en) Multisignature method, signature center, medium and electronic device
CN108476136B (en) Ciphertext conversion apparatus, computer-readable recording medium, and ciphertext conversion method
CN111066285A (en) Method for recovering public key based on SM2 signature
CN110177124B (en) Identity authentication method based on block chain and related equipment
US11184168B2 (en) Method for storing data on a storage entity
EP2947840A1 (en) Certificateless multi-agent signature method and apparatus
CN112560091B (en) Digital signature method, signature information verification method, related device and electronic equipment
CN112219371A (en) Bidirectional block chain
CN113098691B (en) Digital signature method, signature information verification method, related device and electronic equipment
US20230006811A1 (en) Lightweight distributed signature protocol for mobile computing and iot devices
US10158490B2 (en) Double authentication system for electronically signed documents
KR102019558B1 (en) Efficient signature verification method for digital signatures using implicit certificates
CN112184441A (en) Data processing method, data processing device, node equipment and storage medium
CN109697603A (en) Guard method, device, equipment and the medium of E-seal
CN111355576B (en) Data processing method and computer system
KR101870042B1 (en) Efficient public key extraction method from implicit certificates
CN111355584B (en) Method and apparatus for generating blockchain multi-signatures
US11095429B2 (en) Circuit concealing apparatus, calculation apparatus, and program
CN112887097A (en) Signature method based on SM2 elliptic curve, related device and storage medium
CN111949996A (en) Generation method, encryption method, system, device and medium of security private key
CN116049837B (en) Trusted computing system and method, electronic equipment and storage medium
KR102620056B1 (en) Trusted Storage Apparatus of Supporting Digital Signature-based Data Storage Authentication Technology and Driving Method Thereof, and System for Delegated Storage Authentication
CN117040750A (en) Certificate request file generation method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant