[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20100066286A - Method and apparatus for verifying a number of public key - Google Patents

Method and apparatus for verifying a number of public key Download PDF

Info

Publication number
KR20100066286A
KR20100066286A KR1020090028569A KR20090028569A KR20100066286A KR 20100066286 A KR20100066286 A KR 20100066286A KR 1020090028569 A KR1020090028569 A KR 1020090028569A KR 20090028569 A KR20090028569 A KR 20090028569A KR 20100066286 A KR20100066286 A KR 20100066286A
Authority
KR
South Korea
Prior art keywords
public key
public
keys
public keys
point
Prior art date
Application number
KR1020090028569A
Other languages
Korean (ko)
Other versions
KR101086043B1 (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 한국전자통신연구원
Publication of KR20100066286A publication Critical patent/KR20100066286A/en
Application granted granted Critical
Publication of KR101086043B1 publication Critical patent/KR101086043B1/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Lock And Its Accessories (AREA)

Abstract

PURPOSE: A system and a method thereof are provided to rapidly verify a plurality of public keys by verifying the validity of a public key by executing only summation calculation of points without scalar product calculation. CONSTITUTION: A public key verification part(120) receives a plurality of public keys transferred from a plurality of authorized devices(200,300,400). The public key verification part generates public key points about the public keys by applying an elliptic curve cryptography algorithm technique to the public keys. The public key verification part determines the validity of the public keys according to the accordance status between the public authentication values which have the number of the public keys and the public key point. A public key authentication value generating part(130) generates the public key authentication values by using the public keys.

Description

복수의 공개키를 검증하기 위한 시스템 및 방법{METHOD AND APPARATUS FOR VERIFYING A NUMBER OF PUBLIC KEY}System and method for verifying multiple public keys {METHOD AND APPARATUS FOR VERIFYING A NUMBER OF PUBLIC KEY}

본 발명은 복수의 공개키를 검증하기 위한 시스템 및 방법에 관한 것으로, 보다 상세하게는 타원곡선 암호 알고리즘 기법을 이용하여 복수의 공개키를 검증하기 위한 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for verifying a plurality of public keys, and more particularly, to a system and method for verifying a plurality of public keys using an elliptic curve cryptographic algorithm technique.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-088-04, 과제명:안전한 RFID/USN을 위한 정보보호 기술 개발].The present invention is derived from research conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Communication Research and Development. [Task management number: 2005-S-088-04, Task name: Information for secure RFID / USN] Protection technology development].

네트워크 환경에서 장치 사이의 통신을 통하여 장치를 인증하는 방법으로 대칭키 인증방법과 공개키 인증방법이 사용되고 있다. Symmetric key authentication and public key authentication methods are used to authenticate devices through communication between devices in a network environment.

대칭키 인증방법은 대칭키를 안전하게 전달할 수 있는 별도의 구성이 필요한 반면, 공개키 인증방법은 인증서를 사용하므로 인증하고자 하는 장치의 공개키를 별도의 구성을 통하여 제공받지 않아도 된다. 이러한 공개키 인증방법은 인증 받을 장치들에 대한 공개키를 획득하고, 획득한 공개키를 사용하여 보안 통신에 필요한 정보를 생성하여 공개키를 검증한다. 여기서, 공개키의 유효성을 검증하기 위 해서는 일반적으로 공개키에 대한 인증서를 사용한다. 인증서는 믿을 수 있는 공인기관에서 발행되며, 공개키와 장치 식별자 등의 장치정보를 포함한 내용을 전자서명 한 것이다.The symmetric key authentication method requires a separate configuration that can safely transmit the symmetric key, while the public key authentication method uses a certificate, so it is not necessary to provide the public key of the device to be authenticated through a separate configuration. This public key authentication method verifies the public key by obtaining the public keys for the devices to be authenticated and generating information necessary for secure communication using the obtained public key. Here, to verify the validity of the public key, a certificate for the public key is generally used. A certificate is issued by a trusted public authority and is a digital signature that includes device information such as a public key and a device identifier.

특히, 공개키 인증방법으로 타원곡선 암호 알고리즘 기법을 이용하는 경우, 개인키인 스칼라값(p)과 공개된 베이스 포인트(G)와의 스칼라 곱(Q=p*G)으로 결정된 공개키(Q)를 알 수는 있으나 개인키(p)를 알아낼 수 없는 특성을 이용한다. 그런데, 스칼라값과 포인트 합 등의 연산을 수행하는데는 많은 연산 비용이 소요되는 단점이 있다.In particular, when the elliptic curve cryptographic algorithm is used as the public key authentication method, the public key Q determined by the scalar product (Q = p * G) of the scalar value p, which is a private key, and the published base point G, is determined. It uses a feature that it can know but cannot find the private key (p). However, there is a disadvantage in that a large amount of computational cost is required to perform operations such as scalar values and point sums.

이러한 공개키 인증방법은 대칭키 연산방법에 비하여 복잡하고 시간이 많이 소요되지만, PC와 같은 컴퓨팅 환경에서는 이러한 공개키 연상의 비용이 상대적으로 적은 값이므로 큰 문제없이 사용되고 있다. The public key authentication method is more complicated and time consuming than the symmetric key operation method. However, in a computing environment such as a PC, the cost of the association of the public key is relatively low, so it is used without any problem.

하지만, 네트워크 환경에서는 CPU의 속도가 느리고 사용하는 메모리의 크기의 제한 등과 같이 장치들의 자원제약이 있는 경우, 타원곡선 암호 알고리즘 기법을 수행하여 복수의 공개키를 검증하는데 상대적으로 많은 시간과 에너지가 소요되는 문제점이 있다. However, in a network environment, when the resources of the devices are limited such as the CPU speed is limited and the size of the memory used, it is relatively time consuming and energy to verify the multiple public keys by performing the elliptic curve cryptographic algorithm. There is a problem.

따라서, 각 공개키에 대한 인증서를 검증하지 않고 복수의 공개키를 한꺼번에 검증할 수 있는 기술이 요구된다.Therefore, a technique for verifying a plurality of public keys at once without verifying a certificate for each public key is required.

본 발명이 이루고자 하는 기술적 과제는 타원곡선 암호 알고리즘 기법을 이 용하여 복수의 공개키를 한꺼번에 검증할 수 있는 복수의 공개키를 검증하기 위한 시스템 및 방법을 제공하는 것이다.An object of the present invention is to provide a system and method for verifying a plurality of public keys that can verify a plurality of public keys at once using an elliptic curve cryptographic algorithm.

상기한 목적을 달성하기 위한 본 발명의 특징에 따른 복수의 피인증 장치로부터 각각 공개키를 전달받아 복수의 공개키를 검증하기 위한 시스템에 있어서, In the system for verifying a plurality of public keys by receiving a public key from each of a plurality of devices to be authenticated in accordance with a feature of the present invention for achieving the above object,

상기 복수의 피인증 장치로부터 전달되는 상기 복수의 공개키를 수신하며, 상기 복수의 공개키에 타원곡선 암호 알고리즘 기법을 적용하여 상기 복수의 공개키에 대한 공개키 포인트를 생성하며, 상기 복수의 공개키의 개수와 상기 공개키 포인트가 미리 저장된 공개키 인증값과 일치하는 지의 여부에 따라 상기 복수의 공개키의 유효성을 판단하는 공개키 검증부, 그리고 상기 복수의 공개키를 이용하여 상기 공개키 인증값을 생성하여 미리 저장하는 공개키 인증값 생성부를 포함한다.Receive the plurality of public keys delivered from the plurality of authenticated devices, apply an elliptic curve cryptographic algorithm to the plurality of public keys to generate public key points for the plurality of public keys, and the plurality of public keys. A public key verification unit that determines the validity of the plurality of public keys according to the number of keys and whether the public key point matches a pre-stored public key authentication value, and the public key authentication using the plurality of public keys It includes a public key authentication value generation unit for generating a value and store in advance.

또한, 본 발명의 다른 특징에 따른 복수의 피인증 장치로부터 각각 공개키를 전달아 복수의 공개키를 검증하기 위한 방법에 있어서,In addition, in a method for verifying a plurality of public keys by passing a public key from each of a plurality of authenticated devices according to another aspect of the present invention,

상기 복수의 피인증 장치와 통신을 수행하여 상기 복수의 공개키를 수신하는 단계, 상기 복수의 공개키에 타원곡선 암호 알고리즘 기법을 적용하여 상기 복수의 공개키에 대한 공개키 포인트를 생성하는 단계, 그리고 상기 복수의 공개키의 개수와 상기 공개키 포인트가 미리 저장된 공개키 인증값과 일치하는 지의 여부를 판단하여 상기 복수의 공개키에 대한 유효성을 판단하는 단계를 포함한다.Communicating with the plurality of authenticated devices to receive the plurality of public keys, applying an elliptic curve cryptographic algorithm to the plurality of public keys, and generating public key points for the plurality of public keys; And determining the validity of the plurality of public keys by determining whether the number of the plurality of public keys and the public key points match a pre-stored public key authentication value.

본 발명의 실시예에 따르면, 타원곡선 암호 알고리즘 기법을 이용하여 복수 의 공개키를 검증함에 있어 연산 시간이 많이 소요되는 스칼라곱의 연산 없이 포인트의 합 연산만으로 공개키의 유효성을 검증함에 따라 복수의 공개키를 신속하게 검증할 수 있다. According to an exemplary embodiment of the present invention, the validity of the public key is verified by only sum operation of a point without a scalar operation, which requires a long time in verifying a plurality of public keys using an elliptic curve cryptographic algorithm. You can quickly verify your public key.

그리고, 본 발명의 실시예에 따르면, 복수의 공개키를 신속하게 검증함에 따라 장치 사이에서 공개키를 검증하기 위한 보안 통신의 초기 수행시간을 감소시킬 수 있다.In addition, according to an exemplary embodiment of the present invention, an initial execution time of a secure communication for verifying a public key between devices may be reduced by quickly verifying a plurality of public keys.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.

도 1은 본 발명의 실시예에 따른 복수의 공개키를 검증하기 위한 공개키 검증 시스템을 개략적으로 나타내는 도면이며, 도 2는 도 1에 도시한 공개키 검증 시스템의 공개키 인증 장치 및 피인증 장치의 구성을 개략적으로 나타내는 도면이다. 1 is a diagram schematically illustrating a public key verification system for verifying a plurality of public keys according to an embodiment of the present invention, and FIG. 2 is a public key authentication device and an authentication device of the public key verification system shown in FIG. 1. It is a figure which shows schematically the structure of this.

도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 공개키 검증 시스템(1) 은 공개키 인증 장치(100) 및 피인증 장치(200, 300, 400)를 포함한다. As shown in FIG. 1, the public key verification system 1 according to an embodiment of the present invention includes a public key authentication device 100 and an authentication device 200, 300, and 400.

본 발명의 실시예에서는 피인증 장치(200, 300, 400)를 세 개로 도시하여 세 개에 대한 공개키(Q1, Q2, Q3)를 검증하였으나, 본 발명은 이에 한정되지 않으며, 적어도 두 개 이상의 피인증 장치에 대한 공개키를 한꺼번에 검증할 수도 있다. 여기서, 본 발명의 실시예에 따른 공개키(Q1, Q2, Q3)는 각각 개인키인 스칼라값(P1, P2, P3)과 베이스 포인트(G)를 이용하여 생성되며, 공개키마다 고유의 포인트값을 갖는다. 공개키(Q1, Q2, Q3) 생성의 구체적인 생성 방법은 후술한다.In the exemplary embodiment of the present invention, three public keys Q1, Q2, and Q3 are verified by showing three authenticated devices 200, 300, and 400, but the present invention is not limited thereto. The public key for the authenticated device can also be verified at once. Herein, the public keys Q1, Q2, and Q3 according to the embodiment of the present invention are generated using the scalar values P1, P2, and P3 and the base point G, which are private keys, respectively. Has a value. A specific generation method for generating public keys Q1, Q2, and Q3 will be described later.

공개키 인증 장치(100)는 각 피인증 장치(200, 300, 400)로부터 공개키(Q1, Q2, Q3)를 전달받으며, 전달된 공개키 공개키(Q1, Q2, Q3)의 유효성을 검증한다. The public key authentication device 100 receives the public keys Q1, Q2, and Q3 from each of the devices 200, 300, and 400, and verifies the validity of the transmitted public key public keys Q1, Q2, and Q3. do.

도 2를 참조하면, 공개키 인증 장치(100)는 공개키 인증 통신부(110), 공개키 검증부(120) 및 공개키 인증값 생성부(130)를 포함한다.Referring to FIG. 2, the public key authentication apparatus 100 includes a public key authentication communication unit 110, a public key verification unit 120, and a public key authentication value generation unit 130.

공개키 인증 통신부(110)는 각 피인증 장치(200, 300, 400)와 통신을 수행하여 피인증 장치(200)로부터 공개키(Q1)를 전달받고, 피인증 장치(300)로부터 공개키(Q2)를 전달받으며, 피인증 장치(400)로부터 공개키(Q3)를 전달받는다. 그리고, 공개키 인증 통신부(110)는 전달된 공개키(Q1, Q2, Q3)를 공개키 검증부(120)로 전달한다.The public key authentication communication unit 110 receives the public key Q1 from the device 200 by performing communication with each of the devices 200, 300, and 400, and receives the public key from the device 300. Q2) is received, and the public key Q3 is received from the device 400 to be authenticated. The public key authentication communication unit 110 transmits the transmitted public keys Q1, Q2, and Q3 to the public key verification unit 120.

공개키 검증부(120)는 공개키 인증방법으로 타원곡선 암호 알고리즘 기법을 이용하여 각 피인증 장치(200, 300, 400)로부터 전달된 공개키(Q1, Q2, Q3)의 유효성을 검증한다. The public key verification unit 120 verifies the validity of the public keys Q1, Q2, and Q3 transmitted from each of the authenticated devices 200, 300, and 400 using an elliptic curve cryptographic algorithm as a public key authentication method.

구체적으로, 공개키 검증부(120)는 공개키(Q1, Q2, Q3)에 타원곡선 암호 알 고리즘 기법을 적용하여 공개키(Q1, Q2, Q3) 각각에 대한 포인트값을 검출한다. 그리고, 공개키 검증부(120)는 검출된 공개키(Q1, Q2, Q3) 각각에 대한 포인트값을 더하여 공개키 포인트(PT)를 생성한다. 그리고, 공개키 검증부(120)는 공개키 인증값 생성부(130)로부터 미리 저장된 각 피인증 장치(200, 300, 400)에 대한 공개키 인증값을 전달받는다. 본 발명의 실시예에 따른 공개키 인증값은 각 피인증 장치(200, 300, 400)의 공개키(Q1, Q2, Q3)의 개수 및 공개키(Q1, Q2, Q3)의 각 포인트값을 더하여 생성된 포인트(PT)에 대한 해쉬값을 포함한다. 공개키 검증부(120)는 생성된 공개키 포인트(PT)와 공개키(Q1, Q2, Q3)의 개수가 미리 저장된 공개키 인증값과 일치하는 지의 여부를 판단한다. In detail, the public key verification unit 120 detects a point value for each of the public keys Q1, Q2, and Q3 by applying an elliptic curve cryptographic algorithm to the public keys Q1, Q2, and Q3. The public key verification unit 120 generates a public key point PT by adding point values for each of the detected public keys Q1, Q2, and Q3. The public key verification unit 120 receives a public key authentication value for each of the authenticated devices 200, 300, and 400 stored in advance from the public key authentication value generation unit 130. Public key authentication value according to an embodiment of the present invention is the number of public keys (Q1, Q2, Q3) and each point value of the public keys (Q1, Q2, Q3) of each device 200, 300, 400 In addition, it includes a hash value for the generated point PT. The public key verification unit 120 determines whether the number of the generated public key point PT and the public keys Q1, Q2, and Q3 matches a pre-stored public key authentication value.

공개키 포인트(PT)와 공개키 공개키(Q1, Q2, Q3)의 개수가 미리 저장된 공개키 인증값과 일치하는 경우, 공개키 검증부(120)는 피인증 장치(200, 300, 400)의 모든 공개키(Q1, Q2, Q3)가 유효한 것으로 판단한다. 한편, 공개키 포인트(PT)와 공개키 공개키(Q1, Q2, Q3)의 개수가 미리 저장된 공개키 인증값과 일치하지 않은 경우, 공개키 검증부(120)는 피인증 장치(200, 300, 400) 중 일부 피인증 장치의 공개키가 누락되거나 유효하지 않은 것으로 판단한다.If the number of the public key point PT and the public key public keys Q1, Q2, and Q3 matches a pre-stored public key authentication value, the public key verification unit 120 performs authentication of the device 200, 300, or 400. It is determined that all public keys Q1, Q2, and Q3 are valid. On the other hand, when the number of the public key point PT and the public key public keys Q1, Q2, and Q3 does not match the pre-stored public key authentication value, the public key verifying unit 120 performs the authentication device 200 or 300. The public key of some of the authenticated devices is determined to be missing or invalid.

공개키 인증값 생성부(130)는 공개키(Q1, Q2, Q3)를 이용하여 공개키(Q1, Q2, Q3)의 각 포인트값을 더한 공개키 포인트(PT) 및 공개키(Q1, Q2, Q3)의 개수의 해쉬값을 갖는 공개키 인증값을 생성하여 미리 저장한다. 그리고, 공개키 인증값 생성부(130)는 공개키 검증부(120)의 요청 시 생성된 공개키 인증값을 공개키 검증부(120)로 전달한다.The public key authentication value generation unit 130 uses the public keys Q1, Q2, and Q3 to add the public key points PT and the public keys Q1, Q2 to each point value of the public keys Q1, Q2, and Q3. , Public key authentication value having a hash value of the number of Q3) is generated and stored in advance. In addition, the public key authentication value generation unit 130 transmits the public key authentication value generated at the request of the public key verification unit 120 to the public key verification unit 120.

도 1 및 도 2를 참조하면, 피인증 장치(200, 300, 400)는 각각 공개키(Q1, Q2, Q3)를 생성하여 저장하며, 생성된 공개키(Q1, Q2, Q3)를 통신을 수행하여 공개키 인증 장치(100)로 전송한다. 1 and 2, the apparatus 200, 300, and 400 generate and store public keys Q1, Q2, and Q3, respectively, and communicate the generated public keys Q1, Q2, and Q3. It performs and transmits to the public key authentication apparatus 100.

피인증 장치(200)는 피인증 통신부(210) 및 공개키 생성부(220)를 포함한다. The device 200 to be authenticated includes an authenticated communication unit 210 and a public key generator 220.

피인증 통신부(210)는 공개키 생성부(220)로부터 공개키(Q1)를 전달받으며, 통신을 수행하여 공개키(Q1)를 공개키 인증 장치(100)로 전달한다.The authenticated communication unit 210 receives the public key Q1 from the public key generation unit 220 and performs communication to transfer the public key Q1 to the public key authentication device 100.

공개키 생성부(220)는 해당 피인증 장치(200)의 개인키인 스칼라값(P1)과 공개된 베이스 포인트(G)를 곱하여 공개키(Q1=P1*G)를 생성하여 저장한다. 그리고, 공개키 생성부(220)는 피인증 통신부(210)의 요청이 있는 경우, 생성된 공개키(Q1)를 피인증 통신부(210)로 전달한다.The public key generation unit 220 generates and stores a public key Q1 = P1 * G by multiplying a scalar value P1, which is a private key of the apparatus 200 to be authenticated, with a published base point G. When the public key generation unit 220 requests the authenticated communication unit 210, the public key generator 220 transmits the generated public key Q1 to the authenticated communication unit 210.

피인증 장치(300)는 피인증 통신부(310) 및 공개키 생성부(320)를 포함한다.The device 300 to be authenticated includes an authenticated communication unit 310 and a public key generation unit 320.

피인증 통신부(310)는 공개키 생성부(320)로부터 공개키(Q2)를 전달받으며, 통신을 수행하여 공개키(Q2)를 공개키 인증 장치(100)로 전달한다.The authenticated communication unit 310 receives the public key Q2 from the public key generator 320, and communicates the public key Q2 to the public key authentication device 100.

공개키 생성부(320)는 해당 피인증 장치(300)의 개인키인 스칼라값(P2)과 공개된 베이스 포인트(G)를 곱하여 공개키(Q2=P2*G)를 생성하여 저장한다. 그리고, 공개키 생성부(320)는 피인증 통신부(310)의 요청이 있는 경우, 생성된 공개키(Q2)를 피인증 통신부(310)로 전달한다.The public key generation unit 320 generates and stores a public key (Q2 = P2 * G) by multiplying a scalar value (P2), which is a private key of the device to be authenticated, with the published base point (G). When the public key generation unit 320 requests the authenticated communication unit 310, the public key generator 320 transmits the generated public key Q2 to the authenticated communication unit 310.

피인증 장치(400)는 피인증 통신부(410) 및 공개키 생성부(420)를 포함한다.The device 400 to be authenticated includes an authenticated communication unit 410 and a public key generator 420.

피인증 통신부(410)는 공개키 생성부(420)로부터 공개키(Q3)를 전달받으며, 통신을 수행하여 공개키(Q3)를 공개키 인증 장치(100)로 전달한다.The authenticated communication unit 410 receives the public key Q3 from the public key generation unit 420, and communicates the public key Q3 to the public key authentication device 100.

공개키 생성부(420)는 해당 피인증 장치(400)의 개인키인 스칼라값(P3)과 공개된 베이스 포인트(G)를 곱하여 공개키(Q3=P3*G)를 생성하여 저장한다. 그리고, 공개키 생성부(420)는 피인증 통신부(410)의 요청이 있는 경우, 생성된 공개키(Q3)를 피인증 통신부(410)로 전달한다.The public key generation unit 420 multiplies the scalar value P3, which is the private key of the device 400 to the public base point G, and generates and stores the public key Q3 = P3 * G. If there is a request from the authenticated communication unit 410, the public key generator 420 transmits the generated public key Q3 to the authenticated communication unit 410.

도 3은 도 1에 도시한 공개키 검증 시스템에서 복수의 공개키를 검증하는 순서를 나타내는 도면이다. 3 is a diagram illustrating a procedure of verifying a plurality of public keys in the public key verification system shown in FIG. 1.

도 3에 도시한 바와 같이, 본 발명의 실시예에 따른 공개키 인증 장치(100)의 공개키 인증 통신부(110)는 각 피인증 장치(200, 300, 400)와 통신을 수행하여 공개키(Q1, Q2, Q3)를 전달받는다(S300). 그리고, 공개키 인증 통신부(110)는 전달된 공개키(Q1, Q2, Q3)를 공개키 검증부(120)로 전달한다.As shown in FIG. 3, the public key authentication communication unit 110 of the public key authentication device 100 according to an embodiment of the present invention communicates with each of the devices 200, 300, and 400 to public key ( Q1, Q2, and Q3) are received (S300). The public key authentication communication unit 110 transmits the transmitted public keys Q1, Q2, and Q3 to the public key verification unit 120.

공개키 검증부(120)는 공개키(Q1, Q2, Q3)의 각 포인트값을 더하여 공개키 포인트(PT)를 생성한다(S310). 그리고, 공개키 검증부(120)는 공개키 인증값 생성부(130)로부터 미리 저장된 각 피인증 장치(200, 300, 400)에 대한 공개키 인증값을 전달받는다(S320). 공개키 검증부(120)는 생성된 공개키 포인트(PT)와 공개키(Q1, Q2, Q3)의 개수가 미리 저장된 공개키 인증값과 일치하는지의 여부를 판단한다(S330).The public key verification unit 120 generates a public key point PT by adding each point value of the public keys Q1, Q2, and Q3 (S310). The public key verification unit 120 receives a public key authentication value for each of the authenticated devices 200, 300, and 400 stored in advance from the public key authentication value generation unit 130 (S320). The public key verification unit 120 determines whether the number of the generated public key point PT and the public keys Q1, Q2, and Q3 matches a pre-stored public key authentication value (S330).

공개키 포인트(PT)와 공개키 공개키(Q1, Q2, Q3)의 개수가 미리 저장된 공개키 인증값과 일치하는 경우, 공개키 검증부(120)는 피인증 장치(200, 300, 400)의 모든 공개키(Q1, Q2, Q3)가 유효한 것으로 판단한다(S340). 한편, 공개키 포인트(PT)와 공개키 공개키(Q1, Q2, Q3)의 개수가 미리 저장된 공개키 인증값과 일치 하지 않은 경우, 공개키 검증부(120)는 피인증 장치(200, 300, 400) 중 일부 피인증 장치의 공개키가 누락되거나 유효하지 못한 것으로 판단한다(S350).If the number of the public key point PT and the public key public keys Q1, Q2, and Q3 matches a pre-stored public key authentication value, the public key verification unit 120 performs authentication of the device 200, 300, or 400. It is determined that all public keys Q1, Q2, and Q3 are valid (S340). On the other hand, when the number of the public key point PT and the public key public keys Q1, Q2, and Q3 does not match the pre-stored public key authentication value, the public key verifying unit 120 is the device 200, 300 to be authenticated. In step S350, it is determined that the public key of some of the authenticated devices is missing or invalid.

이와 같이, 본 발명의 실시예에 따른 공개키 검증 시스템(1)의 공개키 인증 장치(100)는 피인증 장치(200, 300, 400)의 각 공개키(Q1, Q2, Q3)에 대한 인증서를 검증하지 않고 타원곡선 암호 알고리즘 기법을 이용하여 공개키(Q1, Q2, Q3)의 각 포인트값을 더하여 생성된 공개키 포인트(PT)와 공개키(Q1, Q2, Q3)의 개수를 이용하여 복수의 공개키를 검증함에 따라 종래 타원곡선 암호 알고리즘 기법에서 스칼라 연산에 의해 공개키를 인증하여 많은 시간과 비용이 소요되던 것과 달리 복수의 공개키를 한꺼번에 신속하게 검증할 수 있다.As such, the public key authentication device 100 of the public key verification system 1 according to the embodiment of the present invention has a certificate for each public key Q1, Q2, Q3 of the device 200, 300, 400 to be authenticated. Using the number of public key points (PT) and public keys (Q1, Q2, Q3) generated by adding each point value of public keys (Q1, Q2, Q3) using the elliptic curve cryptographic algorithm, As a plurality of public keys are verified, a plurality of public keys can be quickly verified at a time, unlike the conventional elliptic curve encryption algorithm, which requires a large amount of time and cost by authenticating a public key by scalar operation.

이상에서 설명한 본 발명의 실시예서는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention described above are not implemented only through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded. Implementation may be easily implemented by those skilled in the art from the description of the above-described embodiments.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

도 1은 본 발명의 실시예에 따른 복수의 공개키를 검증하기 위한 공개키 검증 시스템을 개략적으로 나타내는 도면이다.1 is a diagram schematically illustrating a public key verification system for verifying a plurality of public keys according to an embodiment of the present invention.

도 2는 도 1에 도시한 공개키 검증 시스템의 공개키 인증 장치 및 피인증 장치의 구성을 개략적으로 나타내는 도면이다.FIG. 2 is a diagram schematically showing the configuration of a public key authentication device and a device under authentication of the public key verification system shown in FIG. 1.

도 3은 도 1에 도시한 공개키 검증 시스템에서 복수의 공개키를 검증하는 순서를 나타내는 도면이다.3 is a diagram illustrating a procedure of verifying a plurality of public keys in the public key verification system shown in FIG. 1.

Claims (11)

복수의 피인증 장치로부터 각각 공개키를 전달받아 복수의 공개키를 검증하기 위한 시스템에 있어서, A system for verifying a plurality of public keys by receiving public keys from a plurality of authenticated devices, respectively, 상기 복수의 피인증 장치로부터 전달되는 상기 복수의 공개키를 수신하며, 상기 복수의 공개키에 타원곡선 암호 알고리즘 기법을 적용하여 상기 복수의 공개키에 대한 공개키 포인트를 생성하며, 상기 복수의 공개키의 개수와 상기 공개키 포인트가 미리 저장된 공개키 인증값과 일치하는 지의 여부에 따라 상기 복수의 공개키의 유효성을 판단하는 공개키 검증부, 그리고Receive the plurality of public keys delivered from the plurality of authenticated devices, apply an elliptic curve cryptographic algorithm to the plurality of public keys to generate public key points for the plurality of public keys, and the plurality of public keys. A public key verification unit that determines the validity of the plurality of public keys according to the number of keys and whether or not the public key point matches a pre-stored public key authentication value, and 상기 복수의 공개키를 이용하여 상기 공개키 인증값을 생성하여 미리 저장하는 공개키 인증값 생성부A public key authentication value generation unit that generates and stores the public key authentication value in advance using the plurality of public keys. 를 포함하는 공개키 검증 시스템.Public key verification system comprising a. 제1항에 있어서,The method of claim 1, 상기 공개키 검증부는,The public key verification unit, 상기 복수의 공개키의 개수와 상기 공개키 포인트가 상기 공개키 인증값과 일치하는 경우, 상기 복수의 공개키가 유효한 것으로 판단하며,If the number of the plurality of public keys and the public key point match the public key authentication value, it is determined that the plurality of public keys is valid, 상기 복수의 공개키의 개수와 상기 공개키 포인트가 상기 공개키 인증값과 일치하지 않는 경우, 상기 피인증 장치 중 일부의 공개키가 누락되거나 유효하지 않은 것으로 판단하는 공개키 검증 시스템.And when the number of the plurality of public keys and the public key point do not coincide with the public key authentication value, determining that some public keys of the authenticated device are missing or invalid. 제2항에 있어서,The method of claim 2, 상기 공개키 검증부는,The public key verification unit, 상기 복수의 공개키에 상기 타원곡선 암호 알고리즘 기법을 적용하여 상기 복수의 공개키 각각에 대한 포인트값을 검출하며, 상기 복수의 공개키 각각에 대한 포인트값을 더하여 상기 공개키 포인트를 생성하는 것을 특징으로 하는 공개키 검증 시스템.The elliptic curve cryptographic algorithm is applied to the plurality of public keys to detect point values for each of the plurality of public keys, and the point values for each of the plurality of public keys are added to generate the public key points. Public key verification system. 제2항에 있어서,The method of claim 2, 상기 공개키 인증값 생성부는,The public key authentication value generation unit, 상기 복수의 공개키를 이용하여 상기 공개키 포인트 및 상기 복수의 공개키의 개수의 해쉬값을 갖는 상기 공개키 인증값을 생성하여 미리 저장하는 것을 특징으로 하는 공개키 검증 시스템.And generating and storing the public key authentication value having a hash value of the public key point and the number of the plurality of public keys in advance using the plurality of public keys. 제1항에 있어서,The method of claim 1, 상기 복수의 피인증 장치와 통신을 수행하여 상기 복수의 공개키를 수신하는 공개키 인증 통신부를 포함하는 공개키 검증 시스템.And a public key authentication communication unit configured to communicate with the plurality of authenticated devices to receive the plurality of public keys. 제1항 내지 제5항 중 어느 한 항에 있어서,6. The method according to any one of claims 1 to 5, 상기 복수의 공개키는 해당 피인증 장치 각각의 개인키인 스칼라값과 베이스 포인트를 이용하여 생성되는 것을 특징으로 하는 공개키 검증 시스템.And the plurality of public keys are generated using a scalar value and a base point, which are private keys of the corresponding authentication device. 복수의 피인증 장치로부터 각각 공개키를 전달아 복수의 공개키를 검증하기 위한 방법에 있어서,A method for verifying a plurality of public keys by passing public keys from a plurality of authenticated devices, respectively, 상기 복수의 피인증 장치와 통신을 수행하여 상기 복수의 공개키를 수신하는 단계,Communicating with the plurality of authenticated devices to receive the plurality of public keys; 상기 복수의 공개키에 타원곡선 암호 알고리즘 기법을 적용하여 상기 복수의 공개키에 대한 공개키 포인트를 생성하는 단계, 그리고Generating an public key point for the plurality of public keys by applying an elliptic curve cryptographic algorithm to the plurality of public keys; and 상기 복수의 공개키의 개수와 상기 공개키 포인트가 미리 저장된 공개키 인증값과 일치하는 지의 여부를 판단하여 상기 복수의 공개키에 대한 유효성을 판단하는 단계Determining the validity of the plurality of public keys by determining whether the number of the plurality of public keys and the number of the public key points match a pre-stored public key authentication value. 를 포함하는 공개키 검증 방법.Public key verification method comprising a. 제7항에 있어서,The method of claim 7, wherein 상기 유효성을 검증하는 단계는,Validating the step, 상기 복수의 공개키의 개수와 상기 공개키 포인트가 상기 공개키 인증값과 일치하는 경우, 상기 복수의 공개키가 유효한 것으로 판단하는 단계, 그리고Determining that the plurality of public keys is valid when the number of the plurality of public keys and the public key point match the public key authentication value, and 상기 복수의 공개키의 개수와 상기 공개키 포인트가 상기 공개키 인증값과 일치하지 않는 경우, 상기 피인증 장치 중 일부의 공개키가 누락되거나 유효하지 않은 것으로 판단하는 단계를 포함하는 공개키 검증 방법.If the number of the plurality of public keys and the public key point do not match the public key authentication value, determining that some public keys of the authenticated device are missing or invalid; . 제8항에 있어서,The method of claim 8, 상기 공개키 포인트를 생성하는 단계는,Generating the public key point, 상기 복수의 공개키에 상기 타원곡선 암호 알고리즘 기법을 적용하여 상기 복수의 공개키 각각에 대한 포인트값을 검출하는 단계, 그리고Detecting a point value for each of the plurality of public keys by applying the elliptic curve cryptographic algorithm to the plurality of public keys; and 상기 복수의 공개키 각각에 대한 포인트값을 더하여 상기 공개키 포인트를 생성하는 단계를 포함하는 공개키 검증 방법.And generating the public key point by adding point values for each of the plurality of public keys. 제9항에 있어서,10. The method of claim 9, 상기 공개키 포인트를 생성하는 단계는,Generating the public key point, 상기 복수의 공개키를 이용하여 상기 공개키 포인트 및 상기 복수의 공개키의 개수의 해쉬값을 갖는 상기 공개키 인증값을 생성하여 미리 저장하는 단계를 더 포함하는 공개키 검증 방법.Generating the public key authentication value having a hash value of the number of the public key points and the plurality of public keys by using the plurality of public keys and storing the public key authentication value in advance. 제7항 내지 제10항 중 어느 한 항에 있어서,The method according to any one of claims 7 to 10, 상기 복수의 공개키는 해당 피인증 장치 각각의 개인키인 스칼라값과 베이스 포인트를 이용하여 생성되는 것을 특징으로 하는 공개키 검증 방법.And the plurality of public keys are generated by using a scalar value and a base point, which are private keys of the respective authenticated devices.
KR1020090028569A 2008-12-08 2009-04-02 Method and apparatus for verifying a number of public key KR101086043B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080124213 2008-12-08
KR20080124213 2008-12-08

Publications (2)

Publication Number Publication Date
KR20100066286A true KR20100066286A (en) 2010-06-17
KR101086043B1 KR101086043B1 (en) 2011-11-22

Family

ID=42365401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090028569A KR101086043B1 (en) 2008-12-08 2009-04-02 Method and apparatus for verifying a number of public key

Country Status (1)

Country Link
KR (1) KR101086043B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2622357A (en) * 2022-09-08 2024-03-20 Nchain Licensing Ag Determining shared secrets using a blockchain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100727281B1 (en) 2001-03-24 2007-06-13 데이트그리티 코포레이션 Verifiable secret shuffles and their application to electronic voting

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2622357A (en) * 2022-09-08 2024-03-20 Nchain Licensing Ag Determining shared secrets using a blockchain

Also Published As

Publication number Publication date
KR101086043B1 (en) 2011-11-22

Similar Documents

Publication Publication Date Title
US8171306B2 (en) Universal secure token for obfuscation and tamper resistance
US7516321B2 (en) Method, system and device for enabling delegation of authority and access control methods based on delegated authority
CN110401615B (en) Identity authentication method, device, equipment, system and readable storage medium
EP2979221B1 (en) Systems, methods and apparatuses for secure storage of data using a security-enhancing chip
US20090271618A1 (en) Attestation of computing platforms
KR20100021446A (en) Method and system for electronically securing an electronic device using physically unclonable functions
JP2007511810A (en) Proof of execution using random number functions
US20160182230A1 (en) Secure token-based signature schemes using look-up tables
TW201426383A (en) System and method for identifying users
CN107294710B (en) Key migration method and device for vTPM2.0
US20200344075A1 (en) Secure provisioning of keys
CN109951276B (en) Embedded equipment remote identity authentication method based on TPM
KR20180084053A (en) How to verify the execution integrity of an application on a target device
CN102270285B (en) Key authorization information management method and device
JP2017011491A (en) Authentication system
CN103812648A (en) PSA key generating method and device
US8954728B1 (en) Generation of exfiltration-resilient cryptographic keys
CN115664655A (en) TEE credibility authentication method, device, equipment and medium
Yang et al. A lightweight anonymous mobile shopping scheme based on DAA for trusted mobile platform
KR101086043B1 (en) Method and apparatus for verifying a number of public key
Accorsi et al. Delegating secure logging in pervasive computing systems
JP7054796B2 (en) Certificate generation method, certificate generator and computer program
CN114329522A (en) Private key protection method, device, system and storage medium
Saboor et al. Root-Of-Trust for Continuous Integration and Continuous Deployment Pipeline in Cloud Computing
Sadqi et al. A cryptographic mutual authentication scheme for web applications

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
LAPS Lapse due to unpaid annual fee